aws_lc_sys/
i686_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.46.0\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.46.0)\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 = 32;
380pub const BN_DEC_FMT1: &[u8; 3] = b"%u\0";
381pub const BN_HEX_FMT1: &[u8; 3] = b"%x\0";
382pub const BN_HEX_FMT2: &[u8; 5] = b"%08x\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 __int64_t = ::std::os::raw::c_longlong;
3977pub type __off_t = ::std::os::raw::c_long;
3978pub type __off64_t = __int64_t;
3979pub type __time_t = ::std::os::raw::c_long;
3980pub type time_t = __time_t;
3981pub type ossl_ssize_t = isize;
3982pub type CBS_ASN1_TAG = u32;
3983pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3984#[repr(C)]
3985#[derive(Debug, Copy, Clone)]
3986pub struct asn1_null_st {
3987    _unused: [u8; 0],
3988}
3989pub type ASN1_NULL = asn1_null_st;
3990pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3991pub type ASN1_ITEM = ASN1_ITEM_st;
3992#[repr(C)]
3993#[derive(Debug, Copy, Clone)]
3994pub struct asn1_object_st {
3995    _unused: [u8; 0],
3996}
3997pub type ASN1_OBJECT = asn1_object_st;
3998#[repr(C)]
3999#[derive(Debug, Copy, Clone)]
4000pub struct asn1_pctx_st {
4001    _unused: [u8; 0],
4002}
4003pub type ASN1_PCTX = asn1_pctx_st;
4004pub type ASN1_BIT_STRING = asn1_string_st;
4005pub type ASN1_BMPSTRING = asn1_string_st;
4006pub type ASN1_ENUMERATED = asn1_string_st;
4007pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4008pub type ASN1_GENERALSTRING = asn1_string_st;
4009pub type ASN1_IA5STRING = asn1_string_st;
4010pub type ASN1_INTEGER = asn1_string_st;
4011pub type ASN1_OCTET_STRING = asn1_string_st;
4012pub type ASN1_PRINTABLESTRING = asn1_string_st;
4013pub type ASN1_STRING = asn1_string_st;
4014pub type ASN1_T61STRING = asn1_string_st;
4015pub type ASN1_TIME = asn1_string_st;
4016pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4017pub type ASN1_UTCTIME = asn1_string_st;
4018pub type ASN1_UTF8STRING = asn1_string_st;
4019pub type ASN1_VISIBLESTRING = asn1_string_st;
4020pub type ASN1_TYPE = asn1_type_st;
4021pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4022pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4023pub type DIST_POINT = DIST_POINT_st;
4024pub type DSA_SIG = DSA_SIG_st;
4025pub type GENERAL_NAME = GENERAL_NAME_st;
4026pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4027pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4028pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4029pub type NETSCAPE_SPKI = Netscape_spki_st;
4030pub type RIPEMD160_CTX = RIPEMD160state_st;
4031#[repr(C)]
4032#[derive(Debug, Copy, Clone)]
4033pub struct X509_VERIFY_PARAM_st {
4034    _unused: [u8; 0],
4035}
4036pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4037pub type X509_ALGOR = X509_algor_st;
4038#[repr(C)]
4039#[derive(Debug, Copy, Clone)]
4040pub struct X509_crl_st {
4041    _unused: [u8; 0],
4042}
4043pub type X509_CRL = X509_crl_st;
4044#[repr(C)]
4045#[derive(Debug, Copy, Clone)]
4046pub struct X509_extension_st {
4047    _unused: [u8; 0],
4048}
4049pub type X509_EXTENSION = X509_extension_st;
4050pub type X509_INFO = X509_info_st;
4051#[repr(C)]
4052#[derive(Debug, Copy, Clone)]
4053pub struct X509_name_entry_st {
4054    _unused: [u8; 0],
4055}
4056pub type X509_NAME_ENTRY = X509_name_entry_st;
4057#[repr(C)]
4058#[derive(Debug, Copy, Clone)]
4059pub struct X509_name_st {
4060    _unused: [u8; 0],
4061}
4062pub type X509_NAME = X509_name_st;
4063#[repr(C)]
4064#[derive(Debug, Copy, Clone)]
4065pub struct X509_pubkey_st {
4066    _unused: [u8; 0],
4067}
4068pub type X509_PUBKEY = X509_pubkey_st;
4069#[repr(C)]
4070#[derive(Debug, Copy, Clone)]
4071pub struct X509_req_st {
4072    _unused: [u8; 0],
4073}
4074pub type X509_REQ = X509_req_st;
4075#[repr(C)]
4076#[derive(Debug, Copy, Clone)]
4077pub struct x509_sig_info_st {
4078    _unused: [u8; 0],
4079}
4080pub type X509_SIG_INFO = x509_sig_info_st;
4081#[repr(C)]
4082#[derive(Debug, Copy, Clone)]
4083pub struct X509_sig_st {
4084    _unused: [u8; 0],
4085}
4086pub type X509_SIG = X509_sig_st;
4087#[repr(C)]
4088#[derive(Debug, Copy, Clone)]
4089pub struct bignum_ctx {
4090    _unused: [u8; 0],
4091}
4092pub type BN_CTX = bignum_ctx;
4093pub type BIGNUM = bignum_st;
4094pub type BIO_METHOD = bio_method_st;
4095pub type BIO = bio_st;
4096pub type BLAKE2B_CTX = blake2b_state_st;
4097pub type BN_GENCB = bn_gencb_st;
4098pub type BN_MONT_CTX = bn_mont_ctx_st;
4099pub type BUF_MEM = buf_mem_st;
4100#[repr(C)]
4101#[derive(Debug, Copy, Clone)]
4102pub struct cast_key_st {
4103    _unused: [u8; 0],
4104}
4105pub type CAST_KEY = cast_key_st;
4106pub type CBB = cbb_st;
4107pub type CBS = cbs_st;
4108#[repr(C)]
4109#[derive(Debug, Copy, Clone)]
4110pub struct cmac_ctx_st {
4111    _unused: [u8; 0],
4112}
4113pub type CMAC_CTX = cmac_ctx_st;
4114pub type CONF = conf_st;
4115pub type CONF_VALUE = conf_value_st;
4116#[repr(C)]
4117#[derive(Debug, Copy, Clone)]
4118pub struct crypto_buffer_pool_st {
4119    _unused: [u8; 0],
4120}
4121pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4122#[repr(C)]
4123#[derive(Debug, Copy, Clone)]
4124pub struct crypto_buffer_st {
4125    _unused: [u8; 0],
4126}
4127pub type CRYPTO_BUFFER = crypto_buffer_st;
4128#[repr(C)]
4129#[derive(Debug, Copy, Clone)]
4130pub struct ctr_drbg_state_st {
4131    _unused: [u8; 0],
4132}
4133pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4134#[repr(C)]
4135#[derive(Debug, Copy, Clone)]
4136pub struct dh_st {
4137    _unused: [u8; 0],
4138}
4139pub type DH = dh_st;
4140#[repr(C)]
4141#[derive(Debug, Copy, Clone)]
4142pub struct dsa_st {
4143    _unused: [u8; 0],
4144}
4145pub type DSA = dsa_st;
4146#[repr(C)]
4147#[derive(Debug, Copy, Clone)]
4148pub struct ec_group_st {
4149    _unused: [u8; 0],
4150}
4151pub type EC_GROUP = ec_group_st;
4152#[repr(C)]
4153#[derive(Debug, Copy, Clone)]
4154pub struct ec_key_st {
4155    _unused: [u8; 0],
4156}
4157pub type EC_KEY = ec_key_st;
4158#[repr(C)]
4159#[derive(Debug, Copy, Clone)]
4160pub struct ec_point_st {
4161    _unused: [u8; 0],
4162}
4163pub type EC_POINT = ec_point_st;
4164#[repr(C)]
4165#[derive(Debug, Copy, Clone)]
4166pub struct ec_key_method_st {
4167    _unused: [u8; 0],
4168}
4169pub type EC_KEY_METHOD = ec_key_method_st;
4170pub type ECDSA_SIG = ecdsa_sig_st;
4171#[repr(C)]
4172#[derive(Debug, Copy, Clone)]
4173pub struct engine_st {
4174    _unused: [u8; 0],
4175}
4176pub type ENGINE = engine_st;
4177pub type EVP_MD_CTX = env_md_ctx_st;
4178#[repr(C)]
4179#[derive(Debug, Copy, Clone)]
4180pub struct env_md_st {
4181    _unused: [u8; 0],
4182}
4183pub type EVP_MD = env_md_st;
4184#[repr(C)]
4185#[derive(Debug, Copy, Clone)]
4186pub struct evp_aead_st {
4187    _unused: [u8; 0],
4188}
4189pub type EVP_AEAD = evp_aead_st;
4190pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4191pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4192#[repr(C)]
4193#[derive(Debug, Copy, Clone)]
4194pub struct evp_cipher_st {
4195    _unused: [u8; 0],
4196}
4197pub type EVP_CIPHER = evp_cipher_st;
4198pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4199#[repr(C)]
4200#[derive(Debug, Copy, Clone)]
4201pub struct evp_hpke_aead_st {
4202    _unused: [u8; 0],
4203}
4204pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4205pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4206#[repr(C)]
4207#[derive(Debug, Copy, Clone)]
4208pub struct evp_hpke_kdf_st {
4209    _unused: [u8; 0],
4210}
4211pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4212#[repr(C)]
4213#[derive(Debug, Copy, Clone)]
4214pub struct evp_hpke_kem_st {
4215    _unused: [u8; 0],
4216}
4217pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4218pub type EVP_HPKE_KEY = evp_hpke_key_st;
4219#[repr(C)]
4220#[derive(Debug, Copy, Clone)]
4221pub struct evp_kem_st {
4222    _unused: [u8; 0],
4223}
4224pub type EVP_KEM = evp_kem_st;
4225#[repr(C)]
4226#[derive(Debug, Copy, Clone)]
4227pub struct kem_key_st {
4228    _unused: [u8; 0],
4229}
4230pub type KEM_KEY = kem_key_st;
4231#[repr(C)]
4232#[derive(Debug, Copy, Clone)]
4233pub struct evp_pkey_ctx_st {
4234    _unused: [u8; 0],
4235}
4236pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4237#[repr(C)]
4238#[derive(Debug, Copy, Clone)]
4239pub struct evp_pkey_asn1_method_st {
4240    _unused: [u8; 0],
4241}
4242pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4243#[repr(C)]
4244#[derive(Debug, Copy, Clone)]
4245pub struct evp_pkey_st {
4246    _unused: [u8; 0],
4247}
4248pub type EVP_PKEY = evp_pkey_st;
4249#[repr(C)]
4250#[derive(Debug, Copy, Clone)]
4251pub struct evp_pkey_ctx_signature_context_params_st {
4252    _unused: [u8; 0],
4253}
4254pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4255pub type HMAC_CTX = hmac_ctx_st;
4256pub type MD4_CTX = md4_state_st;
4257pub type MD5_CTX = md5_state_st;
4258#[repr(C)]
4259#[derive(Debug, Copy, Clone)]
4260pub struct pqdsa_key_st {
4261    _unused: [u8; 0],
4262}
4263pub type PQDSA_KEY = pqdsa_key_st;
4264#[repr(C)]
4265#[derive(Debug, Copy, Clone)]
4266pub struct ocsp_req_ctx_st {
4267    _unused: [u8; 0],
4268}
4269pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4270#[repr(C)]
4271#[derive(Debug, Copy, Clone)]
4272pub struct ossl_init_settings_st {
4273    _unused: [u8; 0],
4274}
4275pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4276#[repr(C)]
4277#[derive(Debug, Copy, Clone)]
4278pub struct pkcs7_digest_st {
4279    _unused: [u8; 0],
4280}
4281pub type PKCS7_DIGEST = pkcs7_digest_st;
4282#[repr(C)]
4283#[derive(Debug, Copy, Clone)]
4284pub struct pkcs7_enc_content_st {
4285    _unused: [u8; 0],
4286}
4287pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4288#[repr(C)]
4289#[derive(Debug, Copy, Clone)]
4290pub struct pkcs7_encrypt_st {
4291    _unused: [u8; 0],
4292}
4293pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4294pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4295pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4296pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4297pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4298pub type PKCS7_SIGNED = pkcs7_signed_st;
4299pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4300pub type PKCS7 = pkcs7_st;
4301#[repr(C)]
4302#[derive(Debug, Copy, Clone)]
4303pub struct pkcs12_st {
4304    _unused: [u8; 0],
4305}
4306pub type PKCS12 = pkcs12_st;
4307#[repr(C)]
4308#[derive(Debug, Copy, Clone)]
4309pub struct pkcs8_priv_key_info_st {
4310    _unused: [u8; 0],
4311}
4312pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4313pub type X509_PKEY = private_key_st;
4314pub type RAND_METHOD = rand_meth_st;
4315pub type RC4_KEY = rc4_key_st;
4316#[repr(C)]
4317#[derive(Debug, Copy, Clone)]
4318pub struct rsa_meth_st {
4319    _unused: [u8; 0],
4320}
4321pub type RSA_METHOD = rsa_meth_st;
4322#[repr(C)]
4323#[derive(Debug, Copy, Clone)]
4324pub struct rsassa_pss_params_st {
4325    _unused: [u8; 0],
4326}
4327pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4328pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4329#[repr(C)]
4330#[derive(Debug, Copy, Clone)]
4331pub struct rsa_st {
4332    _unused: [u8; 0],
4333}
4334pub type RSA = rsa_st;
4335pub type SHA256_CTX = sha256_state_st;
4336pub type SHA512_CTX = sha512_state_st;
4337pub type SHA_CTX = sha_state_st;
4338#[repr(C)]
4339#[derive(Debug, Copy, Clone)]
4340pub struct spake2_ctx_st {
4341    _unused: [u8; 0],
4342}
4343pub type SPAKE2_CTX = spake2_ctx_st;
4344#[repr(C)]
4345#[derive(Debug, Copy, Clone)]
4346pub struct srtp_protection_profile_st {
4347    _unused: [u8; 0],
4348}
4349pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4350#[repr(C)]
4351#[derive(Debug, Copy, Clone)]
4352pub struct ssl_cipher_st {
4353    _unused: [u8; 0],
4354}
4355pub type SSL_CIPHER = ssl_cipher_st;
4356#[repr(C)]
4357#[derive(Debug, Copy, Clone)]
4358pub struct ssl_ctx_st {
4359    _unused: [u8; 0],
4360}
4361pub type SSL_CTX = ssl_ctx_st;
4362#[repr(C)]
4363#[derive(Debug, Copy, Clone)]
4364pub struct ssl_early_callback_ctx {
4365    _unused: [u8; 0],
4366}
4367pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4368#[repr(C)]
4369#[derive(Debug, Copy, Clone)]
4370pub struct ssl_ech_keys_st {
4371    _unused: [u8; 0],
4372}
4373pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4374#[repr(C)]
4375#[derive(Debug, Copy, Clone)]
4376pub struct ssl_method_st {
4377    _unused: [u8; 0],
4378}
4379pub type SSL_METHOD = ssl_method_st;
4380#[repr(C)]
4381#[derive(Debug, Copy, Clone)]
4382pub struct ssl_private_key_method_st {
4383    _unused: [u8; 0],
4384}
4385pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4386#[repr(C)]
4387#[derive(Debug, Copy, Clone)]
4388pub struct ssl_quic_method_st {
4389    _unused: [u8; 0],
4390}
4391pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4392#[repr(C)]
4393#[derive(Debug, Copy, Clone)]
4394pub struct ssl_session_st {
4395    _unused: [u8; 0],
4396}
4397pub type SSL_SESSION = ssl_session_st;
4398#[repr(C)]
4399#[derive(Debug, Copy, Clone)]
4400pub struct ssl_st {
4401    _unused: [u8; 0],
4402}
4403pub type SSL = ssl_st;
4404#[repr(C)]
4405#[derive(Debug, Copy, Clone)]
4406pub struct ssl_ticket_aead_method_st {
4407    _unused: [u8; 0],
4408}
4409pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4410#[repr(C)]
4411#[derive(Debug, Copy, Clone)]
4412pub struct st_ERR_FNS {
4413    _unused: [u8; 0],
4414}
4415pub type ERR_FNS = st_ERR_FNS;
4416pub type TRUST_TOKEN = trust_token_st;
4417#[repr(C)]
4418#[derive(Debug, Copy, Clone)]
4419pub struct trust_token_client_st {
4420    _unused: [u8; 0],
4421}
4422pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4423#[repr(C)]
4424#[derive(Debug, Copy, Clone)]
4425pub struct trust_token_issuer_st {
4426    _unused: [u8; 0],
4427}
4428pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4429#[repr(C)]
4430#[derive(Debug, Copy, Clone)]
4431pub struct trust_token_method_st {
4432    _unused: [u8; 0],
4433}
4434pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4435pub type X509V3_CTX = v3_ext_ctx;
4436pub type X509V3_EXT_METHOD = v3_ext_method;
4437#[repr(C)]
4438#[derive(Debug, Copy, Clone)]
4439pub struct x509_attributes_st {
4440    _unused: [u8; 0],
4441}
4442pub type X509_ATTRIBUTE = x509_attributes_st;
4443#[repr(C)]
4444#[derive(Debug, Copy, Clone)]
4445pub struct x509_lookup_st {
4446    _unused: [u8; 0],
4447}
4448pub type X509_LOOKUP = x509_lookup_st;
4449#[repr(C)]
4450#[derive(Debug, Copy, Clone)]
4451pub struct x509_lookup_method_st {
4452    _unused: [u8; 0],
4453}
4454pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4455#[repr(C)]
4456#[derive(Debug, Copy, Clone)]
4457pub struct x509_object_st {
4458    _unused: [u8; 0],
4459}
4460pub type X509_OBJECT = x509_object_st;
4461#[repr(C)]
4462#[derive(Debug, Copy, Clone)]
4463pub struct x509_revoked_st {
4464    _unused: [u8; 0],
4465}
4466pub type X509_REVOKED = x509_revoked_st;
4467#[repr(C)]
4468#[derive(Debug, Copy, Clone)]
4469pub struct x509_st {
4470    _unused: [u8; 0],
4471}
4472pub type X509 = x509_st;
4473#[repr(C)]
4474#[derive(Debug, Copy, Clone)]
4475pub struct x509_store_ctx_st {
4476    _unused: [u8; 0],
4477}
4478pub type X509_STORE_CTX = x509_store_ctx_st;
4479#[repr(C)]
4480#[derive(Debug, Copy, Clone)]
4481pub struct x509_store_st {
4482    _unused: [u8; 0],
4483}
4484pub type X509_STORE = x509_store_st;
4485pub type X509_TRUST = x509_trust_st;
4486pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4487#[repr(C)]
4488#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4489pub struct aes_key_st {
4490    pub rd_key: [u32; 60usize],
4491    pub rounds: ::std::os::raw::c_uint,
4492}
4493#[test]
4494fn bindgen_test_layout_aes_key_st() {
4495    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4496    let ptr = UNINIT.as_ptr();
4497    assert_eq!(
4498        ::std::mem::size_of::<aes_key_st>(),
4499        244usize,
4500        concat!("Size of: ", stringify!(aes_key_st))
4501    );
4502    assert_eq!(
4503        ::std::mem::align_of::<aes_key_st>(),
4504        4usize,
4505        concat!("Alignment of ", stringify!(aes_key_st))
4506    );
4507    assert_eq!(
4508        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4509        0usize,
4510        concat!(
4511            "Offset of field: ",
4512            stringify!(aes_key_st),
4513            "::",
4514            stringify!(rd_key)
4515        )
4516    );
4517    assert_eq!(
4518        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4519        240usize,
4520        concat!(
4521            "Offset of field: ",
4522            stringify!(aes_key_st),
4523            "::",
4524            stringify!(rounds)
4525        )
4526    );
4527}
4528impl Default for aes_key_st {
4529    fn default() -> Self {
4530        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4531        unsafe {
4532            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4533            s.assume_init()
4534        }
4535    }
4536}
4537pub type AES_KEY = aes_key_st;
4538extern "C" {
4539    #[link_name = "\u{1}aws_lc_0_26_0_AES_set_encrypt_key"]
4540    pub fn AES_set_encrypt_key(
4541        key: *const u8,
4542        bits: ::std::os::raw::c_uint,
4543        aeskey: *mut AES_KEY,
4544    ) -> ::std::os::raw::c_int;
4545}
4546extern "C" {
4547    #[link_name = "\u{1}aws_lc_0_26_0_AES_set_decrypt_key"]
4548    pub fn AES_set_decrypt_key(
4549        key: *const u8,
4550        bits: ::std::os::raw::c_uint,
4551        aeskey: *mut AES_KEY,
4552    ) -> ::std::os::raw::c_int;
4553}
4554extern "C" {
4555    #[link_name = "\u{1}aws_lc_0_26_0_AES_encrypt"]
4556    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4557}
4558extern "C" {
4559    #[link_name = "\u{1}aws_lc_0_26_0_AES_decrypt"]
4560    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4561}
4562extern "C" {
4563    #[link_name = "\u{1}aws_lc_0_26_0_AES_ctr128_encrypt"]
4564    pub fn AES_ctr128_encrypt(
4565        in_: *const u8,
4566        out: *mut u8,
4567        len: usize,
4568        key: *const AES_KEY,
4569        ivec: *mut u8,
4570        ecount_buf: *mut u8,
4571        num: *mut ::std::os::raw::c_uint,
4572    );
4573}
4574extern "C" {
4575    #[link_name = "\u{1}aws_lc_0_26_0_AES_ecb_encrypt"]
4576    pub fn AES_ecb_encrypt(
4577        in_: *const u8,
4578        out: *mut u8,
4579        key: *const AES_KEY,
4580        enc: ::std::os::raw::c_int,
4581    );
4582}
4583extern "C" {
4584    #[link_name = "\u{1}aws_lc_0_26_0_AES_cbc_encrypt"]
4585    pub fn AES_cbc_encrypt(
4586        in_: *const u8,
4587        out: *mut u8,
4588        len: usize,
4589        key: *const AES_KEY,
4590        ivec: *mut u8,
4591        enc: ::std::os::raw::c_int,
4592    );
4593}
4594extern "C" {
4595    #[link_name = "\u{1}aws_lc_0_26_0_AES_ofb128_encrypt"]
4596    pub fn AES_ofb128_encrypt(
4597        in_: *const u8,
4598        out: *mut u8,
4599        len: usize,
4600        key: *const AES_KEY,
4601        ivec: *mut u8,
4602        num: *mut ::std::os::raw::c_int,
4603    );
4604}
4605extern "C" {
4606    #[link_name = "\u{1}aws_lc_0_26_0_AES_cfb1_encrypt"]
4607    pub fn AES_cfb1_encrypt(
4608        in_: *const u8,
4609        out: *mut u8,
4610        bits: usize,
4611        key: *const AES_KEY,
4612        ivec: *mut u8,
4613        num: *mut ::std::os::raw::c_int,
4614        enc: ::std::os::raw::c_int,
4615    );
4616}
4617extern "C" {
4618    #[link_name = "\u{1}aws_lc_0_26_0_AES_cfb8_encrypt"]
4619    pub fn AES_cfb8_encrypt(
4620        in_: *const u8,
4621        out: *mut u8,
4622        len: usize,
4623        key: *const AES_KEY,
4624        ivec: *mut u8,
4625        num: *mut ::std::os::raw::c_int,
4626        enc: ::std::os::raw::c_int,
4627    );
4628}
4629extern "C" {
4630    #[link_name = "\u{1}aws_lc_0_26_0_AES_cfb128_encrypt"]
4631    pub fn AES_cfb128_encrypt(
4632        in_: *const u8,
4633        out: *mut u8,
4634        len: usize,
4635        key: *const AES_KEY,
4636        ivec: *mut u8,
4637        num: *mut ::std::os::raw::c_int,
4638        enc: ::std::os::raw::c_int,
4639    );
4640}
4641extern "C" {
4642    #[link_name = "\u{1}aws_lc_0_26_0_AES_wrap_key"]
4643    pub fn AES_wrap_key(
4644        key: *const AES_KEY,
4645        iv: *const u8,
4646        out: *mut u8,
4647        in_: *const u8,
4648        in_len: usize,
4649    ) -> ::std::os::raw::c_int;
4650}
4651extern "C" {
4652    #[link_name = "\u{1}aws_lc_0_26_0_AES_unwrap_key"]
4653    pub fn AES_unwrap_key(
4654        key: *const AES_KEY,
4655        iv: *const u8,
4656        out: *mut u8,
4657        in_: *const u8,
4658        in_len: usize,
4659    ) -> ::std::os::raw::c_int;
4660}
4661extern "C" {
4662    #[link_name = "\u{1}aws_lc_0_26_0_AES_wrap_key_padded"]
4663    pub fn AES_wrap_key_padded(
4664        key: *const AES_KEY,
4665        out: *mut u8,
4666        out_len: *mut usize,
4667        max_out: usize,
4668        in_: *const u8,
4669        in_len: usize,
4670    ) -> ::std::os::raw::c_int;
4671}
4672extern "C" {
4673    #[link_name = "\u{1}aws_lc_0_26_0_AES_unwrap_key_padded"]
4674    pub fn AES_unwrap_key_padded(
4675        key: *const AES_KEY,
4676        out: *mut u8,
4677        out_len: *mut usize,
4678        max_out: usize,
4679        in_: *const u8,
4680        in_len: usize,
4681    ) -> ::std::os::raw::c_int;
4682}
4683#[repr(C)]
4684#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4685pub struct tm {
4686    pub tm_sec: ::std::os::raw::c_int,
4687    pub tm_min: ::std::os::raw::c_int,
4688    pub tm_hour: ::std::os::raw::c_int,
4689    pub tm_mday: ::std::os::raw::c_int,
4690    pub tm_mon: ::std::os::raw::c_int,
4691    pub tm_year: ::std::os::raw::c_int,
4692    pub tm_wday: ::std::os::raw::c_int,
4693    pub tm_yday: ::std::os::raw::c_int,
4694    pub tm_isdst: ::std::os::raw::c_int,
4695    pub tm_gmtoff: ::std::os::raw::c_long,
4696    pub tm_zone: *const ::std::os::raw::c_char,
4697}
4698#[test]
4699fn bindgen_test_layout_tm() {
4700    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4701    let ptr = UNINIT.as_ptr();
4702    assert_eq!(
4703        ::std::mem::size_of::<tm>(),
4704        44usize,
4705        concat!("Size of: ", stringify!(tm))
4706    );
4707    assert_eq!(
4708        ::std::mem::align_of::<tm>(),
4709        4usize,
4710        concat!("Alignment of ", stringify!(tm))
4711    );
4712    assert_eq!(
4713        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4714        0usize,
4715        concat!(
4716            "Offset of field: ",
4717            stringify!(tm),
4718            "::",
4719            stringify!(tm_sec)
4720        )
4721    );
4722    assert_eq!(
4723        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4724        4usize,
4725        concat!(
4726            "Offset of field: ",
4727            stringify!(tm),
4728            "::",
4729            stringify!(tm_min)
4730        )
4731    );
4732    assert_eq!(
4733        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4734        8usize,
4735        concat!(
4736            "Offset of field: ",
4737            stringify!(tm),
4738            "::",
4739            stringify!(tm_hour)
4740        )
4741    );
4742    assert_eq!(
4743        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4744        12usize,
4745        concat!(
4746            "Offset of field: ",
4747            stringify!(tm),
4748            "::",
4749            stringify!(tm_mday)
4750        )
4751    );
4752    assert_eq!(
4753        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4754        16usize,
4755        concat!(
4756            "Offset of field: ",
4757            stringify!(tm),
4758            "::",
4759            stringify!(tm_mon)
4760        )
4761    );
4762    assert_eq!(
4763        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4764        20usize,
4765        concat!(
4766            "Offset of field: ",
4767            stringify!(tm),
4768            "::",
4769            stringify!(tm_year)
4770        )
4771    );
4772    assert_eq!(
4773        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4774        24usize,
4775        concat!(
4776            "Offset of field: ",
4777            stringify!(tm),
4778            "::",
4779            stringify!(tm_wday)
4780        )
4781    );
4782    assert_eq!(
4783        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4784        28usize,
4785        concat!(
4786            "Offset of field: ",
4787            stringify!(tm),
4788            "::",
4789            stringify!(tm_yday)
4790        )
4791    );
4792    assert_eq!(
4793        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4794        32usize,
4795        concat!(
4796            "Offset of field: ",
4797            stringify!(tm),
4798            "::",
4799            stringify!(tm_isdst)
4800        )
4801    );
4802    assert_eq!(
4803        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4804        36usize,
4805        concat!(
4806            "Offset of field: ",
4807            stringify!(tm),
4808            "::",
4809            stringify!(tm_gmtoff)
4810        )
4811    );
4812    assert_eq!(
4813        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4814        40usize,
4815        concat!(
4816            "Offset of field: ",
4817            stringify!(tm),
4818            "::",
4819            stringify!(tm_zone)
4820        )
4821    );
4822}
4823impl Default for tm {
4824    fn default() -> Self {
4825        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4826        unsafe {
4827            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4828            s.assume_init()
4829        }
4830    }
4831}
4832pub type va_list = __builtin_va_list;
4833pub type FILE = _IO_FILE;
4834#[repr(C)]
4835#[derive(Debug, Copy, Clone)]
4836pub struct _IO_marker {
4837    _unused: [u8; 0],
4838}
4839#[repr(C)]
4840#[derive(Debug, Copy, Clone)]
4841pub struct _IO_codecvt {
4842    _unused: [u8; 0],
4843}
4844#[repr(C)]
4845#[derive(Debug, Copy, Clone)]
4846pub struct _IO_wide_data {
4847    _unused: [u8; 0],
4848}
4849pub type _IO_lock_t = ::std::os::raw::c_void;
4850#[repr(C)]
4851#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4852pub struct _IO_FILE {
4853    pub _flags: ::std::os::raw::c_int,
4854    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4855    pub _IO_read_end: *mut ::std::os::raw::c_char,
4856    pub _IO_read_base: *mut ::std::os::raw::c_char,
4857    pub _IO_write_base: *mut ::std::os::raw::c_char,
4858    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4859    pub _IO_write_end: *mut ::std::os::raw::c_char,
4860    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4861    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4862    pub _IO_save_base: *mut ::std::os::raw::c_char,
4863    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4864    pub _IO_save_end: *mut ::std::os::raw::c_char,
4865    pub _markers: *mut _IO_marker,
4866    pub _chain: *mut _IO_FILE,
4867    pub _fileno: ::std::os::raw::c_int,
4868    pub _flags2: ::std::os::raw::c_int,
4869    pub _old_offset: __off_t,
4870    pub _cur_column: ::std::os::raw::c_ushort,
4871    pub _vtable_offset: ::std::os::raw::c_schar,
4872    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4873    pub _lock: *mut _IO_lock_t,
4874    pub _offset: __off64_t,
4875    pub _codecvt: *mut _IO_codecvt,
4876    pub _wide_data: *mut _IO_wide_data,
4877    pub _freeres_list: *mut _IO_FILE,
4878    pub _freeres_buf: *mut ::std::os::raw::c_void,
4879    pub __pad5: usize,
4880    pub _mode: ::std::os::raw::c_int,
4881    pub _unused2: [::std::os::raw::c_char; 40usize],
4882}
4883#[test]
4884fn bindgen_test_layout__IO_FILE() {
4885    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4886    let ptr = UNINIT.as_ptr();
4887    assert_eq!(
4888        ::std::mem::size_of::<_IO_FILE>(),
4889        148usize,
4890        concat!("Size of: ", stringify!(_IO_FILE))
4891    );
4892    assert_eq!(
4893        ::std::mem::align_of::<_IO_FILE>(),
4894        4usize,
4895        concat!("Alignment of ", stringify!(_IO_FILE))
4896    );
4897    assert_eq!(
4898        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4899        0usize,
4900        concat!(
4901            "Offset of field: ",
4902            stringify!(_IO_FILE),
4903            "::",
4904            stringify!(_flags)
4905        )
4906    );
4907    assert_eq!(
4908        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4909        4usize,
4910        concat!(
4911            "Offset of field: ",
4912            stringify!(_IO_FILE),
4913            "::",
4914            stringify!(_IO_read_ptr)
4915        )
4916    );
4917    assert_eq!(
4918        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4919        8usize,
4920        concat!(
4921            "Offset of field: ",
4922            stringify!(_IO_FILE),
4923            "::",
4924            stringify!(_IO_read_end)
4925        )
4926    );
4927    assert_eq!(
4928        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4929        12usize,
4930        concat!(
4931            "Offset of field: ",
4932            stringify!(_IO_FILE),
4933            "::",
4934            stringify!(_IO_read_base)
4935        )
4936    );
4937    assert_eq!(
4938        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4939        16usize,
4940        concat!(
4941            "Offset of field: ",
4942            stringify!(_IO_FILE),
4943            "::",
4944            stringify!(_IO_write_base)
4945        )
4946    );
4947    assert_eq!(
4948        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4949        20usize,
4950        concat!(
4951            "Offset of field: ",
4952            stringify!(_IO_FILE),
4953            "::",
4954            stringify!(_IO_write_ptr)
4955        )
4956    );
4957    assert_eq!(
4958        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4959        24usize,
4960        concat!(
4961            "Offset of field: ",
4962            stringify!(_IO_FILE),
4963            "::",
4964            stringify!(_IO_write_end)
4965        )
4966    );
4967    assert_eq!(
4968        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4969        28usize,
4970        concat!(
4971            "Offset of field: ",
4972            stringify!(_IO_FILE),
4973            "::",
4974            stringify!(_IO_buf_base)
4975        )
4976    );
4977    assert_eq!(
4978        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4979        32usize,
4980        concat!(
4981            "Offset of field: ",
4982            stringify!(_IO_FILE),
4983            "::",
4984            stringify!(_IO_buf_end)
4985        )
4986    );
4987    assert_eq!(
4988        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
4989        36usize,
4990        concat!(
4991            "Offset of field: ",
4992            stringify!(_IO_FILE),
4993            "::",
4994            stringify!(_IO_save_base)
4995        )
4996    );
4997    assert_eq!(
4998        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
4999        40usize,
5000        concat!(
5001            "Offset of field: ",
5002            stringify!(_IO_FILE),
5003            "::",
5004            stringify!(_IO_backup_base)
5005        )
5006    );
5007    assert_eq!(
5008        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
5009        44usize,
5010        concat!(
5011            "Offset of field: ",
5012            stringify!(_IO_FILE),
5013            "::",
5014            stringify!(_IO_save_end)
5015        )
5016    );
5017    assert_eq!(
5018        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
5019        48usize,
5020        concat!(
5021            "Offset of field: ",
5022            stringify!(_IO_FILE),
5023            "::",
5024            stringify!(_markers)
5025        )
5026    );
5027    assert_eq!(
5028        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
5029        52usize,
5030        concat!(
5031            "Offset of field: ",
5032            stringify!(_IO_FILE),
5033            "::",
5034            stringify!(_chain)
5035        )
5036    );
5037    assert_eq!(
5038        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
5039        56usize,
5040        concat!(
5041            "Offset of field: ",
5042            stringify!(_IO_FILE),
5043            "::",
5044            stringify!(_fileno)
5045        )
5046    );
5047    assert_eq!(
5048        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
5049        60usize,
5050        concat!(
5051            "Offset of field: ",
5052            stringify!(_IO_FILE),
5053            "::",
5054            stringify!(_flags2)
5055        )
5056    );
5057    assert_eq!(
5058        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
5059        64usize,
5060        concat!(
5061            "Offset of field: ",
5062            stringify!(_IO_FILE),
5063            "::",
5064            stringify!(_old_offset)
5065        )
5066    );
5067    assert_eq!(
5068        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
5069        68usize,
5070        concat!(
5071            "Offset of field: ",
5072            stringify!(_IO_FILE),
5073            "::",
5074            stringify!(_cur_column)
5075        )
5076    );
5077    assert_eq!(
5078        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5079        70usize,
5080        concat!(
5081            "Offset of field: ",
5082            stringify!(_IO_FILE),
5083            "::",
5084            stringify!(_vtable_offset)
5085        )
5086    );
5087    assert_eq!(
5088        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5089        71usize,
5090        concat!(
5091            "Offset of field: ",
5092            stringify!(_IO_FILE),
5093            "::",
5094            stringify!(_shortbuf)
5095        )
5096    );
5097    assert_eq!(
5098        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5099        72usize,
5100        concat!(
5101            "Offset of field: ",
5102            stringify!(_IO_FILE),
5103            "::",
5104            stringify!(_lock)
5105        )
5106    );
5107    assert_eq!(
5108        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5109        76usize,
5110        concat!(
5111            "Offset of field: ",
5112            stringify!(_IO_FILE),
5113            "::",
5114            stringify!(_offset)
5115        )
5116    );
5117    assert_eq!(
5118        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5119        84usize,
5120        concat!(
5121            "Offset of field: ",
5122            stringify!(_IO_FILE),
5123            "::",
5124            stringify!(_codecvt)
5125        )
5126    );
5127    assert_eq!(
5128        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5129        88usize,
5130        concat!(
5131            "Offset of field: ",
5132            stringify!(_IO_FILE),
5133            "::",
5134            stringify!(_wide_data)
5135        )
5136    );
5137    assert_eq!(
5138        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5139        92usize,
5140        concat!(
5141            "Offset of field: ",
5142            stringify!(_IO_FILE),
5143            "::",
5144            stringify!(_freeres_list)
5145        )
5146    );
5147    assert_eq!(
5148        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5149        96usize,
5150        concat!(
5151            "Offset of field: ",
5152            stringify!(_IO_FILE),
5153            "::",
5154            stringify!(_freeres_buf)
5155        )
5156    );
5157    assert_eq!(
5158        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5159        100usize,
5160        concat!(
5161            "Offset of field: ",
5162            stringify!(_IO_FILE),
5163            "::",
5164            stringify!(__pad5)
5165        )
5166    );
5167    assert_eq!(
5168        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5169        104usize,
5170        concat!(
5171            "Offset of field: ",
5172            stringify!(_IO_FILE),
5173            "::",
5174            stringify!(_mode)
5175        )
5176    );
5177    assert_eq!(
5178        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5179        108usize,
5180        concat!(
5181            "Offset of field: ",
5182            stringify!(_IO_FILE),
5183            "::",
5184            stringify!(_unused2)
5185        )
5186    );
5187}
5188impl Default for _IO_FILE {
5189    fn default() -> Self {
5190        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5191        unsafe {
5192            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5193            s.assume_init()
5194        }
5195    }
5196}
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        12usize,
5211        concat!("Size of: ", stringify!(buf_mem_st))
5212    );
5213    assert_eq!(
5214        ::std::mem::align_of::<buf_mem_st>(),
5215        4usize,
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        4usize,
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        8usize,
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_26_0_BUF_MEM_new"]
5260    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5261}
5262extern "C" {
5263    #[link_name = "\u{1}aws_lc_0_26_0_BUF_MEM_free"]
5264    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5265}
5266extern "C" {
5267    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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        4usize,
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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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: va_list,
5865    ) -> ::std::os::raw::c_int;
5866}
5867extern "C" {
5868    #[link_name = "\u{1}aws_lc_0_26_0_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: va_list,
5873    ) -> ::std::os::raw::c_int;
5874}
5875extern "C" {
5876    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_CRYPTO_secure_used"]
5979    pub fn CRYPTO_secure_used() -> usize;
5980}
5981extern "C" {
5982    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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        4usize,
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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_CRYPTO_THREADID_current"]
6115    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
6116}
6117extern "C" {
6118    #[link_name = "\u{1}aws_lc_0_26_0_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        8usize,
6136        concat!("Size of: ", stringify!(CRYPTO_dynlock))
6137    );
6138    assert_eq!(
6139        ::std::mem::align_of::<CRYPTO_dynlock>(),
6140        4usize,
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        4usize,
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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_CRYPTO_library_init"]
6241    pub fn CRYPTO_library_init();
6242}
6243extern "C" {
6244    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_CRYPTO_pre_sandbox_init"]
6260    pub fn CRYPTO_pre_sandbox_init();
6261}
6262extern "C" {
6263    #[link_name = "\u{1}aws_lc_0_26_0_FIPS_mode"]
6264    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6265}
6266extern "C" {
6267    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_SSLeay"]
6290    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6291}
6292extern "C" {
6293    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_ENGINE_load_builtin_engines"]
6310    pub fn ENGINE_load_builtin_engines();
6311}
6312extern "C" {
6313    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_OPENSSL_load_builtin_modules"]
6318    pub fn OPENSSL_load_builtin_modules();
6319}
6320extern "C" {
6321    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_OPENSSL_init"]
6329    pub fn OPENSSL_init();
6330}
6331extern "C" {
6332    #[link_name = "\u{1}aws_lc_0_26_0_OPENSSL_cleanup"]
6333    pub fn OPENSSL_cleanup();
6334}
6335extern "C" {
6336    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_ERR_load_BIO_strings"]
6341    pub fn ERR_load_BIO_strings();
6342}
6343extern "C" {
6344    #[link_name = "\u{1}aws_lc_0_26_0_ERR_load_ERR_strings"]
6345    pub fn ERR_load_ERR_strings();
6346}
6347extern "C" {
6348    #[link_name = "\u{1}aws_lc_0_26_0_ERR_load_CRYPTO_strings"]
6349    pub fn ERR_load_CRYPTO_strings();
6350}
6351extern "C" {
6352    #[link_name = "\u{1}aws_lc_0_26_0_ERR_load_crypto_strings"]
6353    pub fn ERR_load_crypto_strings();
6354}
6355extern "C" {
6356    #[link_name = "\u{1}aws_lc_0_26_0_ERR_load_RAND_strings"]
6357    pub fn ERR_load_RAND_strings();
6358}
6359extern "C" {
6360    #[link_name = "\u{1}aws_lc_0_26_0_ERR_free_strings"]
6361    pub fn ERR_free_strings();
6362}
6363extern "C" {
6364    #[link_name = "\u{1}aws_lc_0_26_0_ERR_get_error"]
6365    pub fn ERR_get_error() -> u32;
6366}
6367extern "C" {
6368    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_ERR_peek_error"]
6385    pub fn ERR_peek_error() -> u32;
6386}
6387extern "C" {
6388    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_ERR_peek_last_error"]
6405    pub fn ERR_peek_last_error() -> u32;
6406}
6407extern "C" {
6408    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_ERR_clear_error"]
6459    pub fn ERR_clear_error();
6460}
6461extern "C" {
6462    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_ERR_clear_system_error"]
6494    pub fn ERR_clear_system_error();
6495}
6496extern "C" {
6497    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_OPENSSL_sk_zero"]
6578    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6579}
6580extern "C" {
6581    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_OPENSSL_sk_free"]
6594    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6595}
6596extern "C" {
6597    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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        4usize,
6777        concat!("Size of: ", stringify!(crypto_ex_data_st))
6778    );
6779    assert_eq!(
6780        ::std::mem::align_of::<crypto_ex_data_st>(),
6781        4usize,
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_26_0_BIO_new"]
6823    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_BIO_vfree"]
6831    pub fn BIO_vfree(bio: *mut BIO);
6832}
6833extern "C" {
6834    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_pending"]
7018    pub fn BIO_pending(bio: *const BIO) -> usize;
7019}
7020extern "C" {
7021    #[link_name = "\u{1}aws_lc_0_26_0_BIO_ctrl_pending"]
7022    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
7023}
7024extern "C" {
7025    #[link_name = "\u{1}aws_lc_0_26_0_BIO_wpending"]
7026    pub fn BIO_wpending(bio: *const BIO) -> usize;
7027}
7028extern "C" {
7029    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_BIO_number_read"]
7035    pub fn BIO_number_read(bio: *const BIO) -> u64;
7036}
7037extern "C" {
7038    #[link_name = "\u{1}aws_lc_0_26_0_BIO_number_written"]
7039    pub fn BIO_number_written(bio: *const BIO) -> u64;
7040}
7041extern "C" {
7042    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_pop"]
7059    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
7060}
7061extern "C" {
7062    #[link_name = "\u{1}aws_lc_0_26_0_BIO_next"]
7063    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
7064}
7065extern "C" {
7066    #[link_name = "\u{1}aws_lc_0_26_0_BIO_free_all"]
7067    pub fn BIO_free_all(bio: *mut BIO);
7068}
7069extern "C" {
7070    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_ERR_print_errors"]
7104    pub fn ERR_print_errors(bio: *mut BIO);
7105}
7106extern "C" {
7107    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_BIO_s_mem"]
7117    pub fn BIO_s_mem() -> *const BIO_METHOD;
7118}
7119extern "C" {
7120    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_s_fd"]
7152    pub fn BIO_s_fd() -> *const BIO_METHOD;
7153}
7154extern "C" {
7155    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_BIO_s_file"]
7172    pub fn BIO_s_file() -> *const BIO_METHOD;
7173}
7174extern "C" {
7175    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_s_socket"]
7235    pub fn BIO_s_socket() -> *const BIO_METHOD;
7236}
7237extern "C" {
7238    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_BIO_s_connect"]
7244    pub fn BIO_s_connect() -> *const BIO_METHOD;
7245}
7246extern "C" {
7247    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_meth_free"]
7317    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7318}
7319extern "C" {
7320    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_f_base64"]
7495    pub fn BIO_f_base64() -> *const BIO_METHOD;
7496}
7497extern "C" {
7498    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_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_26_0_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_26_0_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_26_0_BIO_s_secmem"]
7534    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_26_0_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        40usize,
7602        concat!("Size of: ", stringify!(bio_method_st))
7603    );
7604    assert_eq!(
7605        ::std::mem::align_of::<bio_method_st>(),
7606        4usize,
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        4usize,
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        8usize,
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        12usize,
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        16usize,
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        20usize,
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        24usize,
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        28usize,
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        32usize,
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        36usize,
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        64usize,
7744        concat!("Size of: ", stringify!(bio_st))
7745    );
7746    assert_eq!(
7747        ::std::mem::align_of::<bio_st>(),
7748        4usize,
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        4usize,
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        8usize,
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        12usize,
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        16usize,
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        20usize,
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        24usize,
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        28usize,
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        32usize,
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        36usize,
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        40usize,
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        44usize,
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        48usize,
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        56usize,
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 = u32;
7902extern "C" {
7903    #[link_name = "\u{1}aws_lc_0_26_0_BN_new"]
7904    pub fn BN_new() -> *mut BIGNUM;
7905}
7906extern "C" {
7907    #[link_name = "\u{1}aws_lc_0_26_0_BN_init"]
7908    pub fn BN_init(bn: *mut BIGNUM);
7909}
7910extern "C" {
7911    #[link_name = "\u{1}aws_lc_0_26_0_BN_free"]
7912    pub fn BN_free(bn: *mut BIGNUM);
7913}
7914extern "C" {
7915    #[link_name = "\u{1}aws_lc_0_26_0_BN_clear_free"]
7916    pub fn BN_clear_free(bn: *mut BIGNUM);
7917}
7918extern "C" {
7919    #[link_name = "\u{1}aws_lc_0_26_0_BN_dup"]
7920    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7921}
7922extern "C" {
7923    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_BN_clear"]
7928    pub fn BN_clear(bn: *mut BIGNUM);
7929}
7930extern "C" {
7931    #[link_name = "\u{1}aws_lc_0_26_0_BN_value_one"]
7932    pub fn BN_value_one() -> *const BIGNUM;
7933}
7934extern "C" {
7935    #[link_name = "\u{1}aws_lc_0_26_0_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_26_0_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_26_0_BN_zero"]
7944    pub fn BN_zero(bn: *mut BIGNUM);
7945}
7946extern "C" {
7947    #[link_name = "\u{1}aws_lc_0_26_0_BN_one"]
7948    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
7949}
7950extern "C" {
7951    #[link_name = "\u{1}aws_lc_0_26_0_BN_set_word"]
7952    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
7953}
7954extern "C" {
7955    #[link_name = "\u{1}aws_lc_0_26_0_BN_set_u64"]
7956    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
7957}
7958extern "C" {
7959    #[link_name = "\u{1}aws_lc_0_26_0_BN_set_negative"]
7960    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
7961}
7962extern "C" {
7963    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_negative"]
7964    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7965}
7966extern "C" {
7967    #[link_name = "\u{1}aws_lc_0_26_0_BN_bin2bn"]
7968    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7969}
7970extern "C" {
7971    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2bin"]
7972    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7973}
7974extern "C" {
7975    #[link_name = "\u{1}aws_lc_0_26_0_BN_le2bn"]
7976    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7977}
7978extern "C" {
7979    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2le_padded"]
7980    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7981}
7982extern "C" {
7983    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2bin_padded"]
7984    pub fn BN_bn2bin_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_26_0_BN_bn2cbb_padded"]
7988    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
7989        -> ::std::os::raw::c_int;
7990}
7991extern "C" {
7992    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2hex"]
7993    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7994}
7995extern "C" {
7996    #[link_name = "\u{1}aws_lc_0_26_0_BN_hex2bn"]
7997    pub fn BN_hex2bn(
7998        outp: *mut *mut BIGNUM,
7999        in_: *const ::std::os::raw::c_char,
8000    ) -> ::std::os::raw::c_int;
8001}
8002extern "C" {
8003    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2dec"]
8004    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8005}
8006extern "C" {
8007    #[link_name = "\u{1}aws_lc_0_26_0_BN_dec2bn"]
8008    pub fn BN_dec2bn(
8009        outp: *mut *mut BIGNUM,
8010        in_: *const ::std::os::raw::c_char,
8011    ) -> ::std::os::raw::c_int;
8012}
8013extern "C" {
8014    #[link_name = "\u{1}aws_lc_0_26_0_BN_asc2bn"]
8015    pub fn BN_asc2bn(
8016        outp: *mut *mut BIGNUM,
8017        in_: *const ::std::os::raw::c_char,
8018    ) -> ::std::os::raw::c_int;
8019}
8020extern "C" {
8021    #[link_name = "\u{1}aws_lc_0_26_0_BN_print"]
8022    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
8023}
8024extern "C" {
8025    #[link_name = "\u{1}aws_lc_0_26_0_BN_print_fp"]
8026    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
8027}
8028extern "C" {
8029    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_word"]
8030    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
8031}
8032extern "C" {
8033    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_u64"]
8034    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
8035}
8036extern "C" {
8037    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_flags"]
8038    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8039}
8040extern "C" {
8041    #[link_name = "\u{1}aws_lc_0_26_0_BN_parse_asn1_unsigned"]
8042    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
8043}
8044extern "C" {
8045    #[link_name = "\u{1}aws_lc_0_26_0_BN_marshal_asn1"]
8046    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
8047}
8048extern "C" {
8049    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_new"]
8050    pub fn BN_CTX_new() -> *mut BN_CTX;
8051}
8052extern "C" {
8053    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_free"]
8054    pub fn BN_CTX_free(ctx: *mut BN_CTX);
8055}
8056extern "C" {
8057    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_start"]
8058    pub fn BN_CTX_start(ctx: *mut BN_CTX);
8059}
8060extern "C" {
8061    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_get"]
8062    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
8063}
8064extern "C" {
8065    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_end"]
8066    pub fn BN_CTX_end(ctx: *mut BN_CTX);
8067}
8068extern "C" {
8069    #[link_name = "\u{1}aws_lc_0_26_0_BN_add"]
8070    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8071}
8072extern "C" {
8073    #[link_name = "\u{1}aws_lc_0_26_0_BN_uadd"]
8074    pub fn BN_uadd(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_26_0_BN_add_word"]
8078    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8079}
8080extern "C" {
8081    #[link_name = "\u{1}aws_lc_0_26_0_BN_sub"]
8082    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8083}
8084extern "C" {
8085    #[link_name = "\u{1}aws_lc_0_26_0_BN_usub"]
8086    pub fn BN_usub(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_26_0_BN_sub_word"]
8090    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8091}
8092extern "C" {
8093    #[link_name = "\u{1}aws_lc_0_26_0_BN_mul"]
8094    pub fn BN_mul(
8095        r: *mut BIGNUM,
8096        a: *const BIGNUM,
8097        b: *const BIGNUM,
8098        ctx: *mut BN_CTX,
8099    ) -> ::std::os::raw::c_int;
8100}
8101extern "C" {
8102    #[link_name = "\u{1}aws_lc_0_26_0_BN_mul_word"]
8103    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8104}
8105extern "C" {
8106    #[link_name = "\u{1}aws_lc_0_26_0_BN_sqr"]
8107    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
8108}
8109extern "C" {
8110    #[link_name = "\u{1}aws_lc_0_26_0_BN_div"]
8111    pub fn BN_div(
8112        quotient: *mut BIGNUM,
8113        rem: *mut BIGNUM,
8114        numerator: *const BIGNUM,
8115        divisor: *const BIGNUM,
8116        ctx: *mut BN_CTX,
8117    ) -> ::std::os::raw::c_int;
8118}
8119extern "C" {
8120    #[link_name = "\u{1}aws_lc_0_26_0_BN_div_word"]
8121    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
8122}
8123extern "C" {
8124    #[link_name = "\u{1}aws_lc_0_26_0_BN_sqrt"]
8125    pub fn BN_sqrt(
8126        out_sqrt: *mut BIGNUM,
8127        in_: *const BIGNUM,
8128        ctx: *mut BN_CTX,
8129    ) -> ::std::os::raw::c_int;
8130}
8131extern "C" {
8132    #[link_name = "\u{1}aws_lc_0_26_0_BN_cmp"]
8133    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8134}
8135extern "C" {
8136    #[link_name = "\u{1}aws_lc_0_26_0_BN_cmp_word"]
8137    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
8138}
8139extern "C" {
8140    #[link_name = "\u{1}aws_lc_0_26_0_BN_ucmp"]
8141    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8142}
8143extern "C" {
8144    #[link_name = "\u{1}aws_lc_0_26_0_BN_equal_consttime"]
8145    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8146}
8147extern "C" {
8148    #[link_name = "\u{1}aws_lc_0_26_0_BN_abs_is_word"]
8149    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8150}
8151extern "C" {
8152    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_zero"]
8153    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8154}
8155extern "C" {
8156    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_one"]
8157    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8158}
8159extern "C" {
8160    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_word"]
8161    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8162}
8163extern "C" {
8164    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_odd"]
8165    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8166}
8167extern "C" {
8168    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_pow2"]
8169    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
8170}
8171extern "C" {
8172    #[link_name = "\u{1}aws_lc_0_26_0_BN_lshift"]
8173    pub fn BN_lshift(
8174        r: *mut BIGNUM,
8175        a: *const BIGNUM,
8176        n: ::std::os::raw::c_int,
8177    ) -> ::std::os::raw::c_int;
8178}
8179extern "C" {
8180    #[link_name = "\u{1}aws_lc_0_26_0_BN_lshift1"]
8181    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8182}
8183extern "C" {
8184    #[link_name = "\u{1}aws_lc_0_26_0_BN_rshift"]
8185    pub fn BN_rshift(
8186        r: *mut BIGNUM,
8187        a: *const BIGNUM,
8188        n: ::std::os::raw::c_int,
8189    ) -> ::std::os::raw::c_int;
8190}
8191extern "C" {
8192    #[link_name = "\u{1}aws_lc_0_26_0_BN_rshift1"]
8193    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8194}
8195extern "C" {
8196    #[link_name = "\u{1}aws_lc_0_26_0_BN_set_bit"]
8197    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8198}
8199extern "C" {
8200    #[link_name = "\u{1}aws_lc_0_26_0_BN_clear_bit"]
8201    pub fn BN_clear_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_26_0_BN_is_bit_set"]
8205    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8206}
8207extern "C" {
8208    #[link_name = "\u{1}aws_lc_0_26_0_BN_mask_bits"]
8209    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8210}
8211extern "C" {
8212    #[link_name = "\u{1}aws_lc_0_26_0_BN_count_low_zero_bits"]
8213    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8214}
8215extern "C" {
8216    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_word"]
8217    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
8218}
8219extern "C" {
8220    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_pow2"]
8221    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8222}
8223extern "C" {
8224    #[link_name = "\u{1}aws_lc_0_26_0_BN_nnmod_pow2"]
8225    pub fn BN_nnmod_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_26_0_BN_nnmod"]
8229    pub fn BN_nnmod(
8230        rem: *mut BIGNUM,
8231        numerator: *const BIGNUM,
8232        divisor: *const BIGNUM,
8233        ctx: *mut BN_CTX,
8234    ) -> ::std::os::raw::c_int;
8235}
8236extern "C" {
8237    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_add"]
8238    pub fn BN_mod_add(
8239        r: *mut BIGNUM,
8240        a: *const BIGNUM,
8241        b: *const BIGNUM,
8242        m: *const BIGNUM,
8243        ctx: *mut BN_CTX,
8244    ) -> ::std::os::raw::c_int;
8245}
8246extern "C" {
8247    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_add_quick"]
8248    pub fn BN_mod_add_quick(
8249        r: *mut BIGNUM,
8250        a: *const BIGNUM,
8251        b: *const BIGNUM,
8252        m: *const BIGNUM,
8253    ) -> ::std::os::raw::c_int;
8254}
8255extern "C" {
8256    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_sub"]
8257    pub fn BN_mod_sub(
8258        r: *mut BIGNUM,
8259        a: *const BIGNUM,
8260        b: *const BIGNUM,
8261        m: *const BIGNUM,
8262        ctx: *mut BN_CTX,
8263    ) -> ::std::os::raw::c_int;
8264}
8265extern "C" {
8266    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_sub_quick"]
8267    pub fn BN_mod_sub_quick(
8268        r: *mut BIGNUM,
8269        a: *const BIGNUM,
8270        b: *const BIGNUM,
8271        m: *const BIGNUM,
8272    ) -> ::std::os::raw::c_int;
8273}
8274extern "C" {
8275    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_mul"]
8276    pub fn BN_mod_mul(
8277        r: *mut BIGNUM,
8278        a: *const BIGNUM,
8279        b: *const BIGNUM,
8280        m: *const BIGNUM,
8281        ctx: *mut BN_CTX,
8282    ) -> ::std::os::raw::c_int;
8283}
8284extern "C" {
8285    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_sqr"]
8286    pub fn BN_mod_sqr(
8287        r: *mut BIGNUM,
8288        a: *const BIGNUM,
8289        m: *const BIGNUM,
8290        ctx: *mut BN_CTX,
8291    ) -> ::std::os::raw::c_int;
8292}
8293extern "C" {
8294    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_lshift"]
8295    pub fn BN_mod_lshift(
8296        r: *mut BIGNUM,
8297        a: *const BIGNUM,
8298        n: ::std::os::raw::c_int,
8299        m: *const BIGNUM,
8300        ctx: *mut BN_CTX,
8301    ) -> ::std::os::raw::c_int;
8302}
8303extern "C" {
8304    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_lshift_quick"]
8305    pub fn BN_mod_lshift_quick(
8306        r: *mut BIGNUM,
8307        a: *const BIGNUM,
8308        n: ::std::os::raw::c_int,
8309        m: *const BIGNUM,
8310    ) -> ::std::os::raw::c_int;
8311}
8312extern "C" {
8313    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_lshift1"]
8314    pub fn BN_mod_lshift1(
8315        r: *mut BIGNUM,
8316        a: *const BIGNUM,
8317        m: *const BIGNUM,
8318        ctx: *mut BN_CTX,
8319    ) -> ::std::os::raw::c_int;
8320}
8321extern "C" {
8322    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_lshift1_quick"]
8323    pub fn BN_mod_lshift1_quick(
8324        r: *mut BIGNUM,
8325        a: *const BIGNUM,
8326        m: *const BIGNUM,
8327    ) -> ::std::os::raw::c_int;
8328}
8329extern "C" {
8330    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_sqrt"]
8331    pub fn BN_mod_sqrt(
8332        in_: *mut BIGNUM,
8333        a: *const BIGNUM,
8334        p: *const BIGNUM,
8335        ctx: *mut BN_CTX,
8336    ) -> *mut BIGNUM;
8337}
8338extern "C" {
8339    #[link_name = "\u{1}aws_lc_0_26_0_BN_rand"]
8340    pub fn BN_rand(
8341        rnd: *mut BIGNUM,
8342        bits: ::std::os::raw::c_int,
8343        top: ::std::os::raw::c_int,
8344        bottom: ::std::os::raw::c_int,
8345    ) -> ::std::os::raw::c_int;
8346}
8347extern "C" {
8348    #[link_name = "\u{1}aws_lc_0_26_0_BN_pseudo_rand"]
8349    pub fn BN_pseudo_rand(
8350        rnd: *mut BIGNUM,
8351        bits: ::std::os::raw::c_int,
8352        top: ::std::os::raw::c_int,
8353        bottom: ::std::os::raw::c_int,
8354    ) -> ::std::os::raw::c_int;
8355}
8356extern "C" {
8357    #[link_name = "\u{1}aws_lc_0_26_0_BN_rand_range"]
8358    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8359}
8360extern "C" {
8361    #[link_name = "\u{1}aws_lc_0_26_0_BN_rand_range_ex"]
8362    pub fn BN_rand_range_ex(
8363        r: *mut BIGNUM,
8364        min_inclusive: BN_ULONG,
8365        max_exclusive: *const BIGNUM,
8366    ) -> ::std::os::raw::c_int;
8367}
8368extern "C" {
8369    #[link_name = "\u{1}aws_lc_0_26_0_BN_pseudo_rand_range"]
8370    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8371}
8372#[repr(C)]
8373#[derive(Copy, Clone)]
8374pub struct bn_gencb_st {
8375    pub type_: u8,
8376    pub arg: *mut ::std::os::raw::c_void,
8377    pub callback: bn_gencb_st__bindgen_ty_1,
8378}
8379#[repr(C)]
8380#[derive(Copy, Clone)]
8381pub union bn_gencb_st__bindgen_ty_1 {
8382    pub new_style: ::std::option::Option<
8383        unsafe extern "C" fn(
8384            event: ::std::os::raw::c_int,
8385            n: ::std::os::raw::c_int,
8386            arg1: *mut bn_gencb_st,
8387        ) -> ::std::os::raw::c_int,
8388    >,
8389    pub old_style: ::std::option::Option<
8390        unsafe extern "C" fn(
8391            arg1: ::std::os::raw::c_int,
8392            arg2: ::std::os::raw::c_int,
8393            arg3: *mut ::std::os::raw::c_void,
8394        ),
8395    >,
8396}
8397#[test]
8398fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8399    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8400        ::std::mem::MaybeUninit::uninit();
8401    let ptr = UNINIT.as_ptr();
8402    assert_eq!(
8403        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8404        4usize,
8405        concat!("Size of: ", stringify!(bn_gencb_st__bindgen_ty_1))
8406    );
8407    assert_eq!(
8408        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8409        4usize,
8410        concat!("Alignment of ", stringify!(bn_gencb_st__bindgen_ty_1))
8411    );
8412    assert_eq!(
8413        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8414        0usize,
8415        concat!(
8416            "Offset of field: ",
8417            stringify!(bn_gencb_st__bindgen_ty_1),
8418            "::",
8419            stringify!(new_style)
8420        )
8421    );
8422    assert_eq!(
8423        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8424        0usize,
8425        concat!(
8426            "Offset of field: ",
8427            stringify!(bn_gencb_st__bindgen_ty_1),
8428            "::",
8429            stringify!(old_style)
8430        )
8431    );
8432}
8433impl Default for bn_gencb_st__bindgen_ty_1 {
8434    fn default() -> Self {
8435        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8436        unsafe {
8437            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8438            s.assume_init()
8439        }
8440    }
8441}
8442#[test]
8443fn bindgen_test_layout_bn_gencb_st() {
8444    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8445    let ptr = UNINIT.as_ptr();
8446    assert_eq!(
8447        ::std::mem::size_of::<bn_gencb_st>(),
8448        12usize,
8449        concat!("Size of: ", stringify!(bn_gencb_st))
8450    );
8451    assert_eq!(
8452        ::std::mem::align_of::<bn_gencb_st>(),
8453        4usize,
8454        concat!("Alignment of ", stringify!(bn_gencb_st))
8455    );
8456    assert_eq!(
8457        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8458        0usize,
8459        concat!(
8460            "Offset of field: ",
8461            stringify!(bn_gencb_st),
8462            "::",
8463            stringify!(type_)
8464        )
8465    );
8466    assert_eq!(
8467        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8468        4usize,
8469        concat!(
8470            "Offset of field: ",
8471            stringify!(bn_gencb_st),
8472            "::",
8473            stringify!(arg)
8474        )
8475    );
8476    assert_eq!(
8477        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8478        8usize,
8479        concat!(
8480            "Offset of field: ",
8481            stringify!(bn_gencb_st),
8482            "::",
8483            stringify!(callback)
8484        )
8485    );
8486}
8487impl Default for bn_gencb_st {
8488    fn default() -> Self {
8489        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8490        unsafe {
8491            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8492            s.assume_init()
8493        }
8494    }
8495}
8496extern "C" {
8497    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_new"]
8498    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_free"]
8502    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_set"]
8506    pub fn BN_GENCB_set(
8507        callback: *mut BN_GENCB,
8508        f: ::std::option::Option<
8509            unsafe extern "C" fn(
8510                event: ::std::os::raw::c_int,
8511                n: ::std::os::raw::c_int,
8512                arg1: *mut BN_GENCB,
8513            ) -> ::std::os::raw::c_int,
8514        >,
8515        arg: *mut ::std::os::raw::c_void,
8516    );
8517}
8518extern "C" {
8519    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_call"]
8520    pub fn BN_GENCB_call(
8521        callback: *mut BN_GENCB,
8522        event: ::std::os::raw::c_int,
8523        n: ::std::os::raw::c_int,
8524    ) -> ::std::os::raw::c_int;
8525}
8526extern "C" {
8527    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_get_arg"]
8528    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8529}
8530extern "C" {
8531    #[link_name = "\u{1}aws_lc_0_26_0_BN_generate_prime_ex"]
8532    pub fn BN_generate_prime_ex(
8533        ret: *mut BIGNUM,
8534        bits: ::std::os::raw::c_int,
8535        safe: ::std::os::raw::c_int,
8536        add: *const BIGNUM,
8537        rem: *const BIGNUM,
8538        cb: *mut BN_GENCB,
8539    ) -> ::std::os::raw::c_int;
8540}
8541pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8542pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8543pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8544pub type bn_primality_result_t = ::std::os::raw::c_uint;
8545extern "C" {
8546    #[link_name = "\u{1}aws_lc_0_26_0_BN_enhanced_miller_rabin_primality_test"]
8547    pub fn BN_enhanced_miller_rabin_primality_test(
8548        out_result: *mut bn_primality_result_t,
8549        w: *const BIGNUM,
8550        checks: ::std::os::raw::c_int,
8551        ctx: *mut BN_CTX,
8552        cb: *mut BN_GENCB,
8553    ) -> ::std::os::raw::c_int;
8554}
8555extern "C" {
8556    #[link_name = "\u{1}aws_lc_0_26_0_BN_primality_test"]
8557    pub fn BN_primality_test(
8558        is_probably_prime: *mut ::std::os::raw::c_int,
8559        candidate: *const BIGNUM,
8560        checks: ::std::os::raw::c_int,
8561        ctx: *mut BN_CTX,
8562        do_trial_division: ::std::os::raw::c_int,
8563        cb: *mut BN_GENCB,
8564    ) -> ::std::os::raw::c_int;
8565}
8566extern "C" {
8567    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_prime_fasttest_ex"]
8568    pub fn BN_is_prime_fasttest_ex(
8569        candidate: *const BIGNUM,
8570        checks: ::std::os::raw::c_int,
8571        ctx: *mut BN_CTX,
8572        do_trial_division: ::std::os::raw::c_int,
8573        cb: *mut BN_GENCB,
8574    ) -> ::std::os::raw::c_int;
8575}
8576extern "C" {
8577    #[link_name = "\u{1}aws_lc_0_26_0_BN_is_prime_ex"]
8578    pub fn BN_is_prime_ex(
8579        candidate: *const BIGNUM,
8580        checks: ::std::os::raw::c_int,
8581        ctx: *mut BN_CTX,
8582        cb: *mut BN_GENCB,
8583    ) -> ::std::os::raw::c_int;
8584}
8585extern "C" {
8586    #[link_name = "\u{1}aws_lc_0_26_0_BN_gcd"]
8587    pub fn BN_gcd(
8588        r: *mut BIGNUM,
8589        a: *const BIGNUM,
8590        b: *const BIGNUM,
8591        ctx: *mut BN_CTX,
8592    ) -> ::std::os::raw::c_int;
8593}
8594extern "C" {
8595    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_inverse"]
8596    pub fn BN_mod_inverse(
8597        out: *mut BIGNUM,
8598        a: *const BIGNUM,
8599        n: *const BIGNUM,
8600        ctx: *mut BN_CTX,
8601    ) -> *mut BIGNUM;
8602}
8603extern "C" {
8604    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_inverse_blinded"]
8605    pub fn BN_mod_inverse_blinded(
8606        out: *mut BIGNUM,
8607        out_no_inverse: *mut ::std::os::raw::c_int,
8608        a: *const BIGNUM,
8609        mont: *const BN_MONT_CTX,
8610        ctx: *mut BN_CTX,
8611    ) -> ::std::os::raw::c_int;
8612}
8613extern "C" {
8614    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_inverse_odd"]
8615    pub fn BN_mod_inverse_odd(
8616        out: *mut BIGNUM,
8617        out_no_inverse: *mut ::std::os::raw::c_int,
8618        a: *const BIGNUM,
8619        n: *const BIGNUM,
8620        ctx: *mut BN_CTX,
8621    ) -> ::std::os::raw::c_int;
8622}
8623extern "C" {
8624    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_new_for_modulus"]
8625    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8626}
8627extern "C" {
8628    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_new_consttime"]
8629    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8630}
8631extern "C" {
8632    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_free"]
8633    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8634}
8635extern "C" {
8636    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_copy"]
8637    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8638}
8639extern "C" {
8640    #[link_name = "\u{1}aws_lc_0_26_0_BN_to_montgomery"]
8641    pub fn BN_to_montgomery(
8642        ret: *mut BIGNUM,
8643        a: *const BIGNUM,
8644        mont: *const BN_MONT_CTX,
8645        ctx: *mut BN_CTX,
8646    ) -> ::std::os::raw::c_int;
8647}
8648extern "C" {
8649    #[link_name = "\u{1}aws_lc_0_26_0_BN_from_montgomery"]
8650    pub fn BN_from_montgomery(
8651        ret: *mut BIGNUM,
8652        a: *const BIGNUM,
8653        mont: *const BN_MONT_CTX,
8654        ctx: *mut BN_CTX,
8655    ) -> ::std::os::raw::c_int;
8656}
8657extern "C" {
8658    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_mul_montgomery"]
8659    pub fn BN_mod_mul_montgomery(
8660        r: *mut BIGNUM,
8661        a: *const BIGNUM,
8662        b: *const BIGNUM,
8663        mont: *const BN_MONT_CTX,
8664        ctx: *mut BN_CTX,
8665    ) -> ::std::os::raw::c_int;
8666}
8667extern "C" {
8668    #[link_name = "\u{1}aws_lc_0_26_0_BN_exp"]
8669    pub fn BN_exp(
8670        r: *mut BIGNUM,
8671        a: *const BIGNUM,
8672        p: *const BIGNUM,
8673        ctx: *mut BN_CTX,
8674    ) -> ::std::os::raw::c_int;
8675}
8676extern "C" {
8677    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp"]
8678    pub fn BN_mod_exp(
8679        r: *mut BIGNUM,
8680        a: *const BIGNUM,
8681        p: *const BIGNUM,
8682        m: *const BIGNUM,
8683        ctx: *mut BN_CTX,
8684    ) -> ::std::os::raw::c_int;
8685}
8686extern "C" {
8687    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp_mont"]
8688    pub fn BN_mod_exp_mont(
8689        r: *mut BIGNUM,
8690        a: *const BIGNUM,
8691        p: *const BIGNUM,
8692        m: *const BIGNUM,
8693        ctx: *mut BN_CTX,
8694        mont: *const BN_MONT_CTX,
8695    ) -> ::std::os::raw::c_int;
8696}
8697extern "C" {
8698    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp_mont_consttime"]
8699    pub fn BN_mod_exp_mont_consttime(
8700        rr: *mut BIGNUM,
8701        a: *const BIGNUM,
8702        p: *const BIGNUM,
8703        m: *const BIGNUM,
8704        ctx: *mut BN_CTX,
8705        mont: *const BN_MONT_CTX,
8706    ) -> ::std::os::raw::c_int;
8707}
8708extern "C" {
8709    #[link_name = "\u{1}aws_lc_0_26_0_BN_GENCB_set_old"]
8710    pub fn BN_GENCB_set_old(
8711        callback: *mut BN_GENCB,
8712        f: ::std::option::Option<
8713            unsafe extern "C" fn(
8714                arg1: ::std::os::raw::c_int,
8715                arg2: ::std::os::raw::c_int,
8716                arg3: *mut ::std::os::raw::c_void,
8717            ),
8718        >,
8719        cb_arg: *mut ::std::os::raw::c_void,
8720    );
8721}
8722extern "C" {
8723    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2mpi"]
8724    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8725}
8726extern "C" {
8727    #[link_name = "\u{1}aws_lc_0_26_0_BN_mpi2bn"]
8728    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8729}
8730extern "C" {
8731    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp_mont_word"]
8732    pub fn BN_mod_exp_mont_word(
8733        r: *mut BIGNUM,
8734        a: BN_ULONG,
8735        p: *const BIGNUM,
8736        m: *const BIGNUM,
8737        ctx: *mut BN_CTX,
8738        mont: *const BN_MONT_CTX,
8739    ) -> ::std::os::raw::c_int;
8740}
8741extern "C" {
8742    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp2_mont"]
8743    pub fn BN_mod_exp2_mont(
8744        r: *mut BIGNUM,
8745        a1: *const BIGNUM,
8746        p1: *const BIGNUM,
8747        a2: *const BIGNUM,
8748        p2: *const BIGNUM,
8749        m: *const BIGNUM,
8750        ctx: *mut BN_CTX,
8751        mont: *const BN_MONT_CTX,
8752    ) -> ::std::os::raw::c_int;
8753}
8754extern "C" {
8755    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_new"]
8756    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8757}
8758extern "C" {
8759    #[link_name = "\u{1}aws_lc_0_26_0_BN_MONT_CTX_set"]
8760    pub fn BN_MONT_CTX_set(
8761        mont: *mut BN_MONT_CTX,
8762        mod_: *const BIGNUM,
8763        ctx: *mut BN_CTX,
8764    ) -> ::std::os::raw::c_int;
8765}
8766extern "C" {
8767    #[link_name = "\u{1}aws_lc_0_26_0_BN_bn2binpad"]
8768    pub fn BN_bn2binpad(
8769        in_: *const BIGNUM,
8770        out: *mut u8,
8771        len: ::std::os::raw::c_int,
8772    ) -> ::std::os::raw::c_int;
8773}
8774extern "C" {
8775    #[link_name = "\u{1}aws_lc_0_26_0_BN_secure_new"]
8776    pub fn BN_secure_new() -> *mut BIGNUM;
8777}
8778extern "C" {
8779    #[link_name = "\u{1}aws_lc_0_26_0_BN_CTX_secure_new"]
8780    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8781}
8782extern "C" {
8783    #[link_name = "\u{1}aws_lc_0_26_0_BN_mod_exp_mont_consttime_x2"]
8784    pub fn BN_mod_exp_mont_consttime_x2(
8785        rr1: *mut BIGNUM,
8786        a1: *const BIGNUM,
8787        p1: *const BIGNUM,
8788        m1: *const BIGNUM,
8789        in_mont1: *const BN_MONT_CTX,
8790        rr2: *mut BIGNUM,
8791        a2: *const BIGNUM,
8792        p2: *const BIGNUM,
8793        m2: *const BIGNUM,
8794        in_mont2: *const BN_MONT_CTX,
8795        ctx: *mut BN_CTX,
8796    ) -> ::std::os::raw::c_int;
8797}
8798extern "C" {
8799    #[link_name = "\u{1}aws_lc_0_26_0_BN_set_flags"]
8800    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8801}
8802#[repr(C)]
8803#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8804pub struct bignum_st {
8805    pub d: *mut BN_ULONG,
8806    pub width: ::std::os::raw::c_int,
8807    pub dmax: ::std::os::raw::c_int,
8808    pub neg: ::std::os::raw::c_int,
8809    pub flags: ::std::os::raw::c_int,
8810}
8811#[test]
8812fn bindgen_test_layout_bignum_st() {
8813    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8814    let ptr = UNINIT.as_ptr();
8815    assert_eq!(
8816        ::std::mem::size_of::<bignum_st>(),
8817        20usize,
8818        concat!("Size of: ", stringify!(bignum_st))
8819    );
8820    assert_eq!(
8821        ::std::mem::align_of::<bignum_st>(),
8822        4usize,
8823        concat!("Alignment of ", stringify!(bignum_st))
8824    );
8825    assert_eq!(
8826        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8827        0usize,
8828        concat!(
8829            "Offset of field: ",
8830            stringify!(bignum_st),
8831            "::",
8832            stringify!(d)
8833        )
8834    );
8835    assert_eq!(
8836        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8837        4usize,
8838        concat!(
8839            "Offset of field: ",
8840            stringify!(bignum_st),
8841            "::",
8842            stringify!(width)
8843        )
8844    );
8845    assert_eq!(
8846        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8847        8usize,
8848        concat!(
8849            "Offset of field: ",
8850            stringify!(bignum_st),
8851            "::",
8852            stringify!(dmax)
8853        )
8854    );
8855    assert_eq!(
8856        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
8857        12usize,
8858        concat!(
8859            "Offset of field: ",
8860            stringify!(bignum_st),
8861            "::",
8862            stringify!(neg)
8863        )
8864    );
8865    assert_eq!(
8866        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8867        16usize,
8868        concat!(
8869            "Offset of field: ",
8870            stringify!(bignum_st),
8871            "::",
8872            stringify!(flags)
8873        )
8874    );
8875}
8876impl Default for bignum_st {
8877    fn default() -> Self {
8878        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8879        unsafe {
8880            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8881            s.assume_init()
8882        }
8883    }
8884}
8885#[repr(C)]
8886#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8887pub struct bn_mont_ctx_st {
8888    pub RR: BIGNUM,
8889    pub N: BIGNUM,
8890    pub n0: [BN_ULONG; 2usize],
8891}
8892#[test]
8893fn bindgen_test_layout_bn_mont_ctx_st() {
8894    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
8895    let ptr = UNINIT.as_ptr();
8896    assert_eq!(
8897        ::std::mem::size_of::<bn_mont_ctx_st>(),
8898        48usize,
8899        concat!("Size of: ", stringify!(bn_mont_ctx_st))
8900    );
8901    assert_eq!(
8902        ::std::mem::align_of::<bn_mont_ctx_st>(),
8903        4usize,
8904        concat!("Alignment of ", stringify!(bn_mont_ctx_st))
8905    );
8906    assert_eq!(
8907        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
8908        0usize,
8909        concat!(
8910            "Offset of field: ",
8911            stringify!(bn_mont_ctx_st),
8912            "::",
8913            stringify!(RR)
8914        )
8915    );
8916    assert_eq!(
8917        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
8918        20usize,
8919        concat!(
8920            "Offset of field: ",
8921            stringify!(bn_mont_ctx_st),
8922            "::",
8923            stringify!(N)
8924        )
8925    );
8926    assert_eq!(
8927        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
8928        40usize,
8929        concat!(
8930            "Offset of field: ",
8931            stringify!(bn_mont_ctx_st),
8932            "::",
8933            stringify!(n0)
8934        )
8935    );
8936}
8937impl Default for bn_mont_ctx_st {
8938    fn default() -> Self {
8939        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8940        unsafe {
8941            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8942            s.assume_init()
8943        }
8944    }
8945}
8946extern "C" {
8947    #[link_name = "\u{1}aws_lc_0_26_0_BN_num_bits_word"]
8948    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
8949}
8950extern "C" {
8951    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_tag2bit"]
8952    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
8953}
8954extern "C" {
8955    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_tag2str"]
8956    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8957}
8958pub type d2i_of_void = ::std::option::Option<
8959    unsafe extern "C" fn(
8960        arg1: *mut *mut ::std::os::raw::c_void,
8961        arg2: *mut *const ::std::os::raw::c_uchar,
8962        arg3: ::std::os::raw::c_long,
8963    ) -> *mut ::std::os::raw::c_void,
8964>;
8965pub type i2d_of_void = ::std::option::Option<
8966    unsafe extern "C" fn(
8967        arg1: *const ::std::os::raw::c_void,
8968        arg2: *mut *mut ::std::os::raw::c_uchar,
8969    ) -> ::std::os::raw::c_int,
8970>;
8971pub type ASN1_ITEM_EXP = ASN1_ITEM;
8972#[repr(C)]
8973#[derive(Debug, Copy, Clone)]
8974pub struct ASN1_VALUE_st {
8975    _unused: [u8; 0],
8976}
8977pub type ASN1_VALUE = ASN1_VALUE_st;
8978extern "C" {
8979    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_new"]
8980    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
8981}
8982extern "C" {
8983    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_free"]
8984    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
8985}
8986extern "C" {
8987    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_d2i"]
8988    pub fn ASN1_item_d2i(
8989        out: *mut *mut ASN1_VALUE,
8990        inp: *mut *const ::std::os::raw::c_uchar,
8991        len: ::std::os::raw::c_long,
8992        it: *const ASN1_ITEM,
8993    ) -> *mut ASN1_VALUE;
8994}
8995extern "C" {
8996    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_i2d"]
8997    pub fn ASN1_item_i2d(
8998        val: *mut ASN1_VALUE,
8999        outp: *mut *mut ::std::os::raw::c_uchar,
9000        it: *const ASN1_ITEM,
9001    ) -> ::std::os::raw::c_int;
9002}
9003extern "C" {
9004    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_dup"]
9005    pub fn ASN1_dup(
9006        i2d: i2d_of_void,
9007        d2i: d2i_of_void,
9008        x: *mut ::std::os::raw::c_void,
9009    ) -> *mut ::std::os::raw::c_void;
9010}
9011extern "C" {
9012    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_dup"]
9013    pub fn ASN1_item_dup(
9014        it: *const ASN1_ITEM,
9015        x: *mut ::std::os::raw::c_void,
9016    ) -> *mut ::std::os::raw::c_void;
9017}
9018extern "C" {
9019    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_d2i_fp"]
9020    pub fn ASN1_item_d2i_fp(
9021        it: *const ASN1_ITEM,
9022        in_: *mut FILE,
9023        out: *mut ::std::os::raw::c_void,
9024    ) -> *mut ::std::os::raw::c_void;
9025}
9026extern "C" {
9027    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_d2i_bio"]
9028    pub fn ASN1_item_d2i_bio(
9029        it: *const ASN1_ITEM,
9030        in_: *mut BIO,
9031        out: *mut ::std::os::raw::c_void,
9032    ) -> *mut ::std::os::raw::c_void;
9033}
9034extern "C" {
9035    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_i2d_fp"]
9036    pub fn ASN1_item_i2d_fp(
9037        it: *const ASN1_ITEM,
9038        out: *mut FILE,
9039        in_: *mut ::std::os::raw::c_void,
9040    ) -> ::std::os::raw::c_int;
9041}
9042extern "C" {
9043    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_i2d_bio"]
9044    pub fn ASN1_item_i2d_bio(
9045        it: *const ASN1_ITEM,
9046        out: *mut BIO,
9047        in_: *mut ::std::os::raw::c_void,
9048    ) -> ::std::os::raw::c_int;
9049}
9050extern "C" {
9051    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_i2d_bio"]
9052    pub fn ASN1_i2d_bio(
9053        i2d: i2d_of_void,
9054        out: *mut BIO,
9055        in_: *mut ::std::os::raw::c_void,
9056    ) -> ::std::os::raw::c_int;
9057}
9058extern "C" {
9059    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_unpack"]
9060    pub fn ASN1_item_unpack(
9061        oct: *const ASN1_STRING,
9062        it: *const ASN1_ITEM,
9063    ) -> *mut ::std::os::raw::c_void;
9064}
9065extern "C" {
9066    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_pack"]
9067    pub fn ASN1_item_pack(
9068        obj: *mut ::std::os::raw::c_void,
9069        it: *const ASN1_ITEM,
9070        out: *mut *mut ASN1_STRING,
9071    ) -> *mut ASN1_STRING;
9072}
9073extern "C" {
9074    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_BOOLEAN"]
9075    pub fn d2i_ASN1_BOOLEAN(
9076        out: *mut ASN1_BOOLEAN,
9077        inp: *mut *const ::std::os::raw::c_uchar,
9078        len: ::std::os::raw::c_long,
9079    ) -> ASN1_BOOLEAN;
9080}
9081extern "C" {
9082    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_BOOLEAN"]
9083    pub fn i2d_ASN1_BOOLEAN(
9084        a: ASN1_BOOLEAN,
9085        outp: *mut *mut ::std::os::raw::c_uchar,
9086    ) -> ::std::os::raw::c_int;
9087}
9088extern "C" {
9089    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BOOLEAN_it"]
9090    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
9091}
9092extern "C" {
9093    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TBOOLEAN_it"]
9094    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
9095}
9096extern "C" {
9097    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_FBOOLEAN_it"]
9098    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
9099}
9100#[repr(C)]
9101#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9102pub struct asn1_string_st {
9103    pub length: ::std::os::raw::c_int,
9104    pub type_: ::std::os::raw::c_int,
9105    pub data: *mut ::std::os::raw::c_uchar,
9106    pub flags: ::std::os::raw::c_long,
9107}
9108#[test]
9109fn bindgen_test_layout_asn1_string_st() {
9110    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
9111    let ptr = UNINIT.as_ptr();
9112    assert_eq!(
9113        ::std::mem::size_of::<asn1_string_st>(),
9114        16usize,
9115        concat!("Size of: ", stringify!(asn1_string_st))
9116    );
9117    assert_eq!(
9118        ::std::mem::align_of::<asn1_string_st>(),
9119        4usize,
9120        concat!("Alignment of ", stringify!(asn1_string_st))
9121    );
9122    assert_eq!(
9123        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
9124        0usize,
9125        concat!(
9126            "Offset of field: ",
9127            stringify!(asn1_string_st),
9128            "::",
9129            stringify!(length)
9130        )
9131    );
9132    assert_eq!(
9133        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9134        4usize,
9135        concat!(
9136            "Offset of field: ",
9137            stringify!(asn1_string_st),
9138            "::",
9139            stringify!(type_)
9140        )
9141    );
9142    assert_eq!(
9143        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
9144        8usize,
9145        concat!(
9146            "Offset of field: ",
9147            stringify!(asn1_string_st),
9148            "::",
9149            stringify!(data)
9150        )
9151    );
9152    assert_eq!(
9153        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9154        12usize,
9155        concat!(
9156            "Offset of field: ",
9157            stringify!(asn1_string_st),
9158            "::",
9159            stringify!(flags)
9160        )
9161    );
9162}
9163impl Default for asn1_string_st {
9164    fn default() -> Self {
9165        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9166        unsafe {
9167            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9168            s.assume_init()
9169        }
9170    }
9171}
9172extern "C" {
9173    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_type_new"]
9174    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
9175}
9176extern "C" {
9177    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_new"]
9178    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
9179}
9180extern "C" {
9181    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_free"]
9182    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_clear_free"]
9186    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_copy"]
9190    pub fn ASN1_STRING_copy(
9191        dst: *mut ASN1_STRING,
9192        str_: *const ASN1_STRING,
9193    ) -> ::std::os::raw::c_int;
9194}
9195extern "C" {
9196    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_dup"]
9197    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
9198}
9199extern "C" {
9200    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_type"]
9201    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9202}
9203extern "C" {
9204    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_get0_data"]
9205    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
9206}
9207extern "C" {
9208    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_data"]
9209    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
9210}
9211extern "C" {
9212    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_length"]
9213    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9214}
9215extern "C" {
9216    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_cmp"]
9217    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
9218}
9219extern "C" {
9220    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_set"]
9221    pub fn ASN1_STRING_set(
9222        str_: *mut ASN1_STRING,
9223        data: *const ::std::os::raw::c_void,
9224        len: ossl_ssize_t,
9225    ) -> ::std::os::raw::c_int;
9226}
9227extern "C" {
9228    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_set0"]
9229    pub fn ASN1_STRING_set0(
9230        str_: *mut ASN1_STRING,
9231        data: *mut ::std::os::raw::c_void,
9232        len: ::std::os::raw::c_int,
9233    );
9234}
9235extern "C" {
9236    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BMPSTRING_new"]
9237    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
9238}
9239extern "C" {
9240    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALSTRING_new"]
9241    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
9242}
9243extern "C" {
9244    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_IA5STRING_new"]
9245    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
9246}
9247extern "C" {
9248    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_new"]
9249    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
9250}
9251extern "C" {
9252    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLESTRING_new"]
9253    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
9254}
9255extern "C" {
9256    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_T61STRING_new"]
9257    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
9258}
9259extern "C" {
9260    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UNIVERSALSTRING_new"]
9261    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
9262}
9263extern "C" {
9264    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTF8STRING_new"]
9265    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
9266}
9267extern "C" {
9268    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_VISIBLESTRING_new"]
9269    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
9270}
9271extern "C" {
9272    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BMPSTRING_free"]
9273    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
9274}
9275extern "C" {
9276    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALSTRING_free"]
9277    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
9278}
9279extern "C" {
9280    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_IA5STRING_free"]
9281    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
9282}
9283extern "C" {
9284    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_free"]
9285    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
9286}
9287extern "C" {
9288    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLESTRING_free"]
9289    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
9290}
9291extern "C" {
9292    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_T61STRING_free"]
9293    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
9294}
9295extern "C" {
9296    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UNIVERSALSTRING_free"]
9297    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
9298}
9299extern "C" {
9300    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTF8STRING_free"]
9301    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
9302}
9303extern "C" {
9304    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_VISIBLESTRING_free"]
9305    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
9306}
9307extern "C" {
9308    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_BMPSTRING"]
9309    pub fn d2i_ASN1_BMPSTRING(
9310        out: *mut *mut ASN1_BMPSTRING,
9311        inp: *mut *const u8,
9312        len: ::std::os::raw::c_long,
9313    ) -> *mut ASN1_BMPSTRING;
9314}
9315extern "C" {
9316    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_GENERALSTRING"]
9317    pub fn d2i_ASN1_GENERALSTRING(
9318        out: *mut *mut ASN1_GENERALSTRING,
9319        inp: *mut *const u8,
9320        len: ::std::os::raw::c_long,
9321    ) -> *mut ASN1_GENERALSTRING;
9322}
9323extern "C" {
9324    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_IA5STRING"]
9325    pub fn d2i_ASN1_IA5STRING(
9326        out: *mut *mut ASN1_IA5STRING,
9327        inp: *mut *const u8,
9328        len: ::std::os::raw::c_long,
9329    ) -> *mut ASN1_IA5STRING;
9330}
9331extern "C" {
9332    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_OCTET_STRING"]
9333    pub fn d2i_ASN1_OCTET_STRING(
9334        out: *mut *mut ASN1_OCTET_STRING,
9335        inp: *mut *const u8,
9336        len: ::std::os::raw::c_long,
9337    ) -> *mut ASN1_OCTET_STRING;
9338}
9339extern "C" {
9340    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_PRINTABLESTRING"]
9341    pub fn d2i_ASN1_PRINTABLESTRING(
9342        out: *mut *mut ASN1_PRINTABLESTRING,
9343        inp: *mut *const u8,
9344        len: ::std::os::raw::c_long,
9345    ) -> *mut ASN1_PRINTABLESTRING;
9346}
9347extern "C" {
9348    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_T61STRING"]
9349    pub fn d2i_ASN1_T61STRING(
9350        out: *mut *mut ASN1_T61STRING,
9351        inp: *mut *const u8,
9352        len: ::std::os::raw::c_long,
9353    ) -> *mut ASN1_T61STRING;
9354}
9355extern "C" {
9356    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_UNIVERSALSTRING"]
9357    pub fn d2i_ASN1_UNIVERSALSTRING(
9358        out: *mut *mut ASN1_UNIVERSALSTRING,
9359        inp: *mut *const u8,
9360        len: ::std::os::raw::c_long,
9361    ) -> *mut ASN1_UNIVERSALSTRING;
9362}
9363extern "C" {
9364    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_UTF8STRING"]
9365    pub fn d2i_ASN1_UTF8STRING(
9366        out: *mut *mut ASN1_UTF8STRING,
9367        inp: *mut *const u8,
9368        len: ::std::os::raw::c_long,
9369    ) -> *mut ASN1_UTF8STRING;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_VISIBLESTRING"]
9373    pub fn d2i_ASN1_VISIBLESTRING(
9374        out: *mut *mut ASN1_VISIBLESTRING,
9375        inp: *mut *const u8,
9376        len: ::std::os::raw::c_long,
9377    ) -> *mut ASN1_VISIBLESTRING;
9378}
9379extern "C" {
9380    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_BMPSTRING"]
9381    pub fn i2d_ASN1_BMPSTRING(
9382        in_: *const ASN1_BMPSTRING,
9383        outp: *mut *mut u8,
9384    ) -> ::std::os::raw::c_int;
9385}
9386extern "C" {
9387    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_GENERALSTRING"]
9388    pub fn i2d_ASN1_GENERALSTRING(
9389        in_: *const ASN1_GENERALSTRING,
9390        outp: *mut *mut u8,
9391    ) -> ::std::os::raw::c_int;
9392}
9393extern "C" {
9394    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_IA5STRING"]
9395    pub fn i2d_ASN1_IA5STRING(
9396        in_: *const ASN1_IA5STRING,
9397        outp: *mut *mut u8,
9398    ) -> ::std::os::raw::c_int;
9399}
9400extern "C" {
9401    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_OCTET_STRING"]
9402    pub fn i2d_ASN1_OCTET_STRING(
9403        in_: *const ASN1_OCTET_STRING,
9404        outp: *mut *mut u8,
9405    ) -> ::std::os::raw::c_int;
9406}
9407extern "C" {
9408    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_PRINTABLESTRING"]
9409    pub fn i2d_ASN1_PRINTABLESTRING(
9410        in_: *const ASN1_PRINTABLESTRING,
9411        outp: *mut *mut u8,
9412    ) -> ::std::os::raw::c_int;
9413}
9414extern "C" {
9415    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_T61STRING"]
9416    pub fn i2d_ASN1_T61STRING(
9417        in_: *const ASN1_T61STRING,
9418        outp: *mut *mut u8,
9419    ) -> ::std::os::raw::c_int;
9420}
9421extern "C" {
9422    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_UNIVERSALSTRING"]
9423    pub fn i2d_ASN1_UNIVERSALSTRING(
9424        in_: *const ASN1_UNIVERSALSTRING,
9425        outp: *mut *mut u8,
9426    ) -> ::std::os::raw::c_int;
9427}
9428extern "C" {
9429    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_UTF8STRING"]
9430    pub fn i2d_ASN1_UTF8STRING(
9431        in_: *const ASN1_UTF8STRING,
9432        outp: *mut *mut u8,
9433    ) -> ::std::os::raw::c_int;
9434}
9435extern "C" {
9436    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_VISIBLESTRING"]
9437    pub fn i2d_ASN1_VISIBLESTRING(
9438        in_: *const ASN1_VISIBLESTRING,
9439        outp: *mut *mut u8,
9440    ) -> ::std::os::raw::c_int;
9441}
9442extern "C" {
9443    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BMPSTRING_it"]
9444    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9445}
9446extern "C" {
9447    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALSTRING_it"]
9448    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9449}
9450extern "C" {
9451    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_IA5STRING_it"]
9452    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9453}
9454extern "C" {
9455    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_it"]
9456    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9457}
9458extern "C" {
9459    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLESTRING_it"]
9460    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9461}
9462extern "C" {
9463    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_T61STRING_it"]
9464    pub static ASN1_T61STRING_it: ASN1_ITEM;
9465}
9466extern "C" {
9467    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UNIVERSALSTRING_it"]
9468    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9469}
9470extern "C" {
9471    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTF8STRING_it"]
9472    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9473}
9474extern "C" {
9475    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_VISIBLESTRING_it"]
9476    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_dup"]
9480    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9481}
9482extern "C" {
9483    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_cmp"]
9484    pub fn ASN1_OCTET_STRING_cmp(
9485        a: *const ASN1_OCTET_STRING,
9486        b: *const ASN1_OCTET_STRING,
9487    ) -> ::std::os::raw::c_int;
9488}
9489extern "C" {
9490    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OCTET_STRING_set"]
9491    pub fn ASN1_OCTET_STRING_set(
9492        str_: *mut ASN1_OCTET_STRING,
9493        data: *const ::std::os::raw::c_uchar,
9494        len: ::std::os::raw::c_int,
9495    ) -> ::std::os::raw::c_int;
9496}
9497extern "C" {
9498    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_to_UTF8"]
9499    pub fn ASN1_STRING_to_UTF8(
9500        out: *mut *mut ::std::os::raw::c_uchar,
9501        in_: *const ASN1_STRING,
9502    ) -> ::std::os::raw::c_int;
9503}
9504extern "C" {
9505    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_mbstring_copy"]
9506    pub fn ASN1_mbstring_copy(
9507        out: *mut *mut ASN1_STRING,
9508        in_: *const u8,
9509        len: ossl_ssize_t,
9510        inform: ::std::os::raw::c_int,
9511        mask: ::std::os::raw::c_ulong,
9512    ) -> ::std::os::raw::c_int;
9513}
9514extern "C" {
9515    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_mbstring_ncopy"]
9516    pub fn ASN1_mbstring_ncopy(
9517        out: *mut *mut ASN1_STRING,
9518        in_: *const u8,
9519        len: ossl_ssize_t,
9520        inform: ::std::os::raw::c_int,
9521        mask: ::std::os::raw::c_ulong,
9522        minsize: ossl_ssize_t,
9523        maxsize: ossl_ssize_t,
9524    ) -> ::std::os::raw::c_int;
9525}
9526extern "C" {
9527    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_set_by_NID"]
9528    pub fn ASN1_STRING_set_by_NID(
9529        out: *mut *mut ASN1_STRING,
9530        in_: *const ::std::os::raw::c_uchar,
9531        len: ossl_ssize_t,
9532        inform: ::std::os::raw::c_int,
9533        nid: ::std::os::raw::c_int,
9534    ) -> *mut ASN1_STRING;
9535}
9536extern "C" {
9537    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_TABLE_add"]
9538    pub fn ASN1_STRING_TABLE_add(
9539        nid: ::std::os::raw::c_int,
9540        minsize: ::std::os::raw::c_long,
9541        maxsize: ::std::os::raw::c_long,
9542        mask: ::std::os::raw::c_ulong,
9543        flags: ::std::os::raw::c_ulong,
9544    ) -> ::std::os::raw::c_int;
9545}
9546extern "C" {
9547    #[link_name = "\u{1}aws_lc_0_26_0_DIRECTORYSTRING_new"]
9548    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9549}
9550extern "C" {
9551    #[link_name = "\u{1}aws_lc_0_26_0_DIRECTORYSTRING_free"]
9552    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9553}
9554extern "C" {
9555    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DIRECTORYSTRING"]
9556    pub fn d2i_DIRECTORYSTRING(
9557        out: *mut *mut ASN1_STRING,
9558        inp: *mut *const u8,
9559        len: ::std::os::raw::c_long,
9560    ) -> *mut ASN1_STRING;
9561}
9562extern "C" {
9563    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DIRECTORYSTRING"]
9564    pub fn i2d_DIRECTORYSTRING(
9565        in_: *const ASN1_STRING,
9566        outp: *mut *mut u8,
9567    ) -> ::std::os::raw::c_int;
9568}
9569extern "C" {
9570    #[link_name = "\u{1}aws_lc_0_26_0_DIRECTORYSTRING_it"]
9571    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9572}
9573extern "C" {
9574    #[link_name = "\u{1}aws_lc_0_26_0_DISPLAYTEXT_new"]
9575    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9576}
9577extern "C" {
9578    #[link_name = "\u{1}aws_lc_0_26_0_DISPLAYTEXT_free"]
9579    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9580}
9581extern "C" {
9582    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DISPLAYTEXT"]
9583    pub fn d2i_DISPLAYTEXT(
9584        out: *mut *mut ASN1_STRING,
9585        inp: *mut *const u8,
9586        len: ::std::os::raw::c_long,
9587    ) -> *mut ASN1_STRING;
9588}
9589extern "C" {
9590    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DISPLAYTEXT"]
9591    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9592}
9593extern "C" {
9594    #[link_name = "\u{1}aws_lc_0_26_0_DISPLAYTEXT_it"]
9595    pub static DISPLAYTEXT_it: ASN1_ITEM;
9596}
9597extern "C" {
9598    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_new"]
9599    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9600}
9601extern "C" {
9602    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_free"]
9603    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9604}
9605extern "C" {
9606    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_BIT_STRING"]
9607    pub fn d2i_ASN1_BIT_STRING(
9608        out: *mut *mut ASN1_BIT_STRING,
9609        inp: *mut *const u8,
9610        len: ::std::os::raw::c_long,
9611    ) -> *mut ASN1_BIT_STRING;
9612}
9613extern "C" {
9614    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_BIT_STRING"]
9615    pub fn i2d_ASN1_BIT_STRING(
9616        in_: *const ASN1_BIT_STRING,
9617        outp: *mut *mut u8,
9618    ) -> ::std::os::raw::c_int;
9619}
9620extern "C" {
9621    #[link_name = "\u{1}aws_lc_0_26_0_c2i_ASN1_BIT_STRING"]
9622    pub fn c2i_ASN1_BIT_STRING(
9623        out: *mut *mut ASN1_BIT_STRING,
9624        inp: *mut *const u8,
9625        len: ::std::os::raw::c_long,
9626    ) -> *mut ASN1_BIT_STRING;
9627}
9628extern "C" {
9629    #[link_name = "\u{1}aws_lc_0_26_0_i2c_ASN1_BIT_STRING"]
9630    pub fn i2c_ASN1_BIT_STRING(
9631        in_: *const ASN1_BIT_STRING,
9632        outp: *mut *mut u8,
9633    ) -> ::std::os::raw::c_int;
9634}
9635extern "C" {
9636    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_it"]
9637    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9638}
9639extern "C" {
9640    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_num_bytes"]
9641    pub fn ASN1_BIT_STRING_num_bytes(
9642        str_: *const ASN1_BIT_STRING,
9643        out: *mut usize,
9644    ) -> ::std::os::raw::c_int;
9645}
9646extern "C" {
9647    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_set"]
9648    pub fn ASN1_BIT_STRING_set(
9649        str_: *mut ASN1_BIT_STRING,
9650        d: *const ::std::os::raw::c_uchar,
9651        length: ossl_ssize_t,
9652    ) -> ::std::os::raw::c_int;
9653}
9654extern "C" {
9655    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_set_bit"]
9656    pub fn ASN1_BIT_STRING_set_bit(
9657        str_: *mut ASN1_BIT_STRING,
9658        n: ::std::os::raw::c_int,
9659        value: ::std::os::raw::c_int,
9660    ) -> ::std::os::raw::c_int;
9661}
9662extern "C" {
9663    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_get_bit"]
9664    pub fn ASN1_BIT_STRING_get_bit(
9665        str_: *const ASN1_BIT_STRING,
9666        n: ::std::os::raw::c_int,
9667    ) -> ::std::os::raw::c_int;
9668}
9669extern "C" {
9670    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_BIT_STRING_check"]
9671    pub fn ASN1_BIT_STRING_check(
9672        str_: *const ASN1_BIT_STRING,
9673        flags: *const ::std::os::raw::c_uchar,
9674        flags_len: ::std::os::raw::c_int,
9675    ) -> ::std::os::raw::c_int;
9676}
9677#[repr(C)]
9678#[derive(Debug, Copy, Clone)]
9679pub struct stack_st_ASN1_INTEGER {
9680    _unused: [u8; 0],
9681}
9682pub type sk_ASN1_INTEGER_free_func =
9683    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9684pub type sk_ASN1_INTEGER_copy_func =
9685    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9686pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9687    unsafe extern "C" fn(
9688        arg1: *const *const ASN1_INTEGER,
9689        arg2: *const *const ASN1_INTEGER,
9690    ) -> ::std::os::raw::c_int,
9691>;
9692pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9693    unsafe extern "C" fn(
9694        arg1: *mut ASN1_INTEGER,
9695        arg2: *mut ::std::os::raw::c_void,
9696    ) -> ::std::os::raw::c_int,
9697>;
9698extern "C" {
9699    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_new"]
9700    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9701}
9702extern "C" {
9703    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_free"]
9704    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_dup"]
9708    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9709}
9710extern "C" {
9711    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_INTEGER"]
9712    pub fn d2i_ASN1_INTEGER(
9713        out: *mut *mut ASN1_INTEGER,
9714        inp: *mut *const u8,
9715        len: ::std::os::raw::c_long,
9716    ) -> *mut ASN1_INTEGER;
9717}
9718extern "C" {
9719    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_INTEGER"]
9720    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9721}
9722extern "C" {
9723    #[link_name = "\u{1}aws_lc_0_26_0_c2i_ASN1_INTEGER"]
9724    pub fn c2i_ASN1_INTEGER(
9725        in_: *mut *mut ASN1_INTEGER,
9726        outp: *mut *const u8,
9727        len: ::std::os::raw::c_long,
9728    ) -> *mut ASN1_INTEGER;
9729}
9730extern "C" {
9731    #[link_name = "\u{1}aws_lc_0_26_0_i2c_ASN1_INTEGER"]
9732    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9733}
9734extern "C" {
9735    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_it"]
9736    pub static ASN1_INTEGER_it: ASN1_ITEM;
9737}
9738extern "C" {
9739    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_set_uint64"]
9740    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9741}
9742extern "C" {
9743    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_set_int64"]
9744    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9745}
9746extern "C" {
9747    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_get_uint64"]
9748    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9749}
9750extern "C" {
9751    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_get_int64"]
9752    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9753}
9754extern "C" {
9755    #[link_name = "\u{1}aws_lc_0_26_0_BN_to_ASN1_INTEGER"]
9756    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9757}
9758extern "C" {
9759    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_to_BN"]
9760    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9761}
9762extern "C" {
9763    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_cmp"]
9764    pub fn ASN1_INTEGER_cmp(
9765        x: *const ASN1_INTEGER,
9766        y: *const ASN1_INTEGER,
9767    ) -> ::std::os::raw::c_int;
9768}
9769extern "C" {
9770    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_new"]
9771    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_free"]
9775    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9776}
9777extern "C" {
9778    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_ENUMERATED"]
9779    pub fn d2i_ASN1_ENUMERATED(
9780        out: *mut *mut ASN1_ENUMERATED,
9781        inp: *mut *const u8,
9782        len: ::std::os::raw::c_long,
9783    ) -> *mut ASN1_ENUMERATED;
9784}
9785extern "C" {
9786    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_ENUMERATED"]
9787    pub fn i2d_ASN1_ENUMERATED(
9788        in_: *const ASN1_ENUMERATED,
9789        outp: *mut *mut u8,
9790    ) -> ::std::os::raw::c_int;
9791}
9792extern "C" {
9793    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_it"]
9794    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9795}
9796extern "C" {
9797    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_set_uint64"]
9798    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9799}
9800extern "C" {
9801    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_set_int64"]
9802    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9803}
9804extern "C" {
9805    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_get_uint64"]
9806    pub fn ASN1_ENUMERATED_get_uint64(
9807        out: *mut u64,
9808        a: *const ASN1_ENUMERATED,
9809    ) -> ::std::os::raw::c_int;
9810}
9811extern "C" {
9812    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_get_int64"]
9813    pub fn ASN1_ENUMERATED_get_int64(
9814        out: *mut i64,
9815        a: *const ASN1_ENUMERATED,
9816    ) -> ::std::os::raw::c_int;
9817}
9818extern "C" {
9819    #[link_name = "\u{1}aws_lc_0_26_0_BN_to_ASN1_ENUMERATED"]
9820    pub fn BN_to_ASN1_ENUMERATED(
9821        bn: *const BIGNUM,
9822        ai: *mut ASN1_ENUMERATED,
9823    ) -> *mut ASN1_ENUMERATED;
9824}
9825extern "C" {
9826    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_to_BN"]
9827    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9828}
9829extern "C" {
9830    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_new"]
9831    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9832}
9833extern "C" {
9834    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_free"]
9835    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9836}
9837extern "C" {
9838    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_UTCTIME"]
9839    pub fn d2i_ASN1_UTCTIME(
9840        out: *mut *mut ASN1_UTCTIME,
9841        inp: *mut *const u8,
9842        len: ::std::os::raw::c_long,
9843    ) -> *mut ASN1_UTCTIME;
9844}
9845extern "C" {
9846    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_UTCTIME"]
9847    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9848}
9849extern "C" {
9850    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_it"]
9851    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9852}
9853extern "C" {
9854    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_check"]
9855    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9856}
9857extern "C" {
9858    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_set"]
9859    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9860}
9861extern "C" {
9862    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_adj"]
9863    pub fn ASN1_UTCTIME_adj(
9864        s: *mut ASN1_UTCTIME,
9865        posix_time: i64,
9866        offset_day: ::std::os::raw::c_int,
9867        offset_sec: ::std::os::raw::c_long,
9868    ) -> *mut ASN1_UTCTIME;
9869}
9870extern "C" {
9871    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_set_string"]
9872    pub fn ASN1_UTCTIME_set_string(
9873        s: *mut ASN1_UTCTIME,
9874        str_: *const ::std::os::raw::c_char,
9875    ) -> ::std::os::raw::c_int;
9876}
9877extern "C" {
9878    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_cmp_time_t"]
9879    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
9880}
9881extern "C" {
9882    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_new"]
9883    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
9884}
9885extern "C" {
9886    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_free"]
9887    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
9888}
9889extern "C" {
9890    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_GENERALIZEDTIME"]
9891    pub fn d2i_ASN1_GENERALIZEDTIME(
9892        out: *mut *mut ASN1_GENERALIZEDTIME,
9893        inp: *mut *const u8,
9894        len: ::std::os::raw::c_long,
9895    ) -> *mut ASN1_GENERALIZEDTIME;
9896}
9897extern "C" {
9898    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_GENERALIZEDTIME"]
9899    pub fn i2d_ASN1_GENERALIZEDTIME(
9900        in_: *const ASN1_GENERALIZEDTIME,
9901        outp: *mut *mut u8,
9902    ) -> ::std::os::raw::c_int;
9903}
9904extern "C" {
9905    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_it"]
9906    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
9907}
9908extern "C" {
9909    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_check"]
9910    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
9911}
9912extern "C" {
9913    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_set"]
9914    pub fn ASN1_GENERALIZEDTIME_set(
9915        s: *mut ASN1_GENERALIZEDTIME,
9916        posix_time: i64,
9917    ) -> *mut ASN1_GENERALIZEDTIME;
9918}
9919extern "C" {
9920    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_adj"]
9921    pub fn ASN1_GENERALIZEDTIME_adj(
9922        s: *mut ASN1_GENERALIZEDTIME,
9923        posix_time: i64,
9924        offset_day: ::std::os::raw::c_int,
9925        offset_sec: ::std::os::raw::c_long,
9926    ) -> *mut ASN1_GENERALIZEDTIME;
9927}
9928extern "C" {
9929    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_set_string"]
9930    pub fn ASN1_GENERALIZEDTIME_set_string(
9931        s: *mut ASN1_GENERALIZEDTIME,
9932        str_: *const ::std::os::raw::c_char,
9933    ) -> ::std::os::raw::c_int;
9934}
9935extern "C" {
9936    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_new"]
9937    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
9938}
9939extern "C" {
9940    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_free"]
9941    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
9942}
9943extern "C" {
9944    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_TIME"]
9945    pub fn d2i_ASN1_TIME(
9946        out: *mut *mut ASN1_TIME,
9947        inp: *mut *const u8,
9948        len: ::std::os::raw::c_long,
9949    ) -> *mut ASN1_TIME;
9950}
9951extern "C" {
9952    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_TIME"]
9953    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9954}
9955extern "C" {
9956    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_it"]
9957    pub static ASN1_TIME_it: ASN1_ITEM;
9958}
9959extern "C" {
9960    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_diff"]
9961    pub fn ASN1_TIME_diff(
9962        out_days: *mut ::std::os::raw::c_int,
9963        out_seconds: *mut ::std::os::raw::c_int,
9964        from: *const ASN1_TIME,
9965        to: *const ASN1_TIME,
9966    ) -> ::std::os::raw::c_int;
9967}
9968extern "C" {
9969    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_set_posix"]
9970    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
9971}
9972extern "C" {
9973    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_set"]
9974    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
9975}
9976extern "C" {
9977    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_adj"]
9978    pub fn ASN1_TIME_adj(
9979        s: *mut ASN1_TIME,
9980        posix_time: i64,
9981        offset_day: ::std::os::raw::c_int,
9982        offset_sec: ::std::os::raw::c_long,
9983    ) -> *mut ASN1_TIME;
9984}
9985extern "C" {
9986    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_check"]
9987    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
9988}
9989extern "C" {
9990    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_to_generalizedtime"]
9991    pub fn ASN1_TIME_to_generalizedtime(
9992        t: *const ASN1_TIME,
9993        out: *mut *mut ASN1_GENERALIZEDTIME,
9994    ) -> *mut ASN1_GENERALIZEDTIME;
9995}
9996extern "C" {
9997    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_set_string"]
9998    pub fn ASN1_TIME_set_string(
9999        s: *mut ASN1_TIME,
10000        str_: *const ::std::os::raw::c_char,
10001    ) -> ::std::os::raw::c_int;
10002}
10003extern "C" {
10004    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_to_tm"]
10005    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
10006}
10007extern "C" {
10008    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_set_string_X509"]
10009    pub fn ASN1_TIME_set_string_X509(
10010        s: *mut ASN1_TIME,
10011        str_: *const ::std::os::raw::c_char,
10012    ) -> ::std::os::raw::c_int;
10013}
10014extern "C" {
10015    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_to_time_t"]
10016    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
10017}
10018extern "C" {
10019    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_to_posix"]
10020    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
10021}
10022extern "C" {
10023    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_NULL_new"]
10024    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
10025}
10026extern "C" {
10027    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_NULL_free"]
10028    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
10029}
10030extern "C" {
10031    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_NULL"]
10032    pub fn d2i_ASN1_NULL(
10033        out: *mut *mut ASN1_NULL,
10034        inp: *mut *const u8,
10035        len: ::std::os::raw::c_long,
10036    ) -> *mut ASN1_NULL;
10037}
10038extern "C" {
10039    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_NULL"]
10040    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10041}
10042extern "C" {
10043    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_NULL_it"]
10044    pub static ASN1_NULL_it: ASN1_ITEM;
10045}
10046#[repr(C)]
10047#[derive(Debug, Copy, Clone)]
10048pub struct stack_st_ASN1_OBJECT {
10049    _unused: [u8; 0],
10050}
10051pub type sk_ASN1_OBJECT_free_func =
10052    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
10053pub type sk_ASN1_OBJECT_copy_func =
10054    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
10055pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
10056    unsafe extern "C" fn(
10057        arg1: *const *const ASN1_OBJECT,
10058        arg2: *const *const ASN1_OBJECT,
10059    ) -> ::std::os::raw::c_int,
10060>;
10061pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
10062    unsafe extern "C" fn(
10063        arg1: *mut ASN1_OBJECT,
10064        arg2: *mut ::std::os::raw::c_void,
10065    ) -> ::std::os::raw::c_int,
10066>;
10067extern "C" {
10068    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OBJECT_create"]
10069    pub fn ASN1_OBJECT_create(
10070        nid: ::std::os::raw::c_int,
10071        data: *const u8,
10072        len: usize,
10073        sn: *const ::std::os::raw::c_char,
10074        ln: *const ::std::os::raw::c_char,
10075    ) -> *mut ASN1_OBJECT;
10076}
10077extern "C" {
10078    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OBJECT_free"]
10079    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
10080}
10081extern "C" {
10082    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_OBJECT"]
10083    pub fn d2i_ASN1_OBJECT(
10084        out: *mut *mut ASN1_OBJECT,
10085        inp: *mut *const u8,
10086        len: ::std::os::raw::c_long,
10087    ) -> *mut ASN1_OBJECT;
10088}
10089extern "C" {
10090    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_OBJECT"]
10091    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10092}
10093extern "C" {
10094    #[link_name = "\u{1}aws_lc_0_26_0_c2i_ASN1_OBJECT"]
10095    pub fn c2i_ASN1_OBJECT(
10096        out: *mut *mut ASN1_OBJECT,
10097        inp: *mut *const u8,
10098        len: ::std::os::raw::c_long,
10099    ) -> *mut ASN1_OBJECT;
10100}
10101extern "C" {
10102    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_OBJECT_it"]
10103    pub static ASN1_OBJECT_it: ASN1_ITEM;
10104}
10105#[repr(C)]
10106#[derive(Copy, Clone)]
10107pub struct asn1_type_st {
10108    pub type_: ::std::os::raw::c_int,
10109    pub value: asn1_type_st__bindgen_ty_1,
10110}
10111#[repr(C)]
10112#[derive(Copy, Clone)]
10113pub union asn1_type_st__bindgen_ty_1 {
10114    pub ptr: *mut ::std::os::raw::c_char,
10115    pub boolean: ASN1_BOOLEAN,
10116    pub asn1_string: *mut ASN1_STRING,
10117    pub object: *mut ASN1_OBJECT,
10118    pub integer: *mut ASN1_INTEGER,
10119    pub enumerated: *mut ASN1_ENUMERATED,
10120    pub bit_string: *mut ASN1_BIT_STRING,
10121    pub octet_string: *mut ASN1_OCTET_STRING,
10122    pub printablestring: *mut ASN1_PRINTABLESTRING,
10123    pub t61string: *mut ASN1_T61STRING,
10124    pub ia5string: *mut ASN1_IA5STRING,
10125    pub generalstring: *mut ASN1_GENERALSTRING,
10126    pub bmpstring: *mut ASN1_BMPSTRING,
10127    pub universalstring: *mut ASN1_UNIVERSALSTRING,
10128    pub utctime: *mut ASN1_UTCTIME,
10129    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
10130    pub visiblestring: *mut ASN1_VISIBLESTRING,
10131    pub utf8string: *mut ASN1_UTF8STRING,
10132    pub set: *mut ASN1_STRING,
10133    pub sequence: *mut ASN1_STRING,
10134    pub asn1_value: *mut ASN1_VALUE,
10135}
10136#[test]
10137fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
10138    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
10139        ::std::mem::MaybeUninit::uninit();
10140    let ptr = UNINIT.as_ptr();
10141    assert_eq!(
10142        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
10143        4usize,
10144        concat!("Size of: ", stringify!(asn1_type_st__bindgen_ty_1))
10145    );
10146    assert_eq!(
10147        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
10148        4usize,
10149        concat!("Alignment of ", stringify!(asn1_type_st__bindgen_ty_1))
10150    );
10151    assert_eq!(
10152        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10153        0usize,
10154        concat!(
10155            "Offset of field: ",
10156            stringify!(asn1_type_st__bindgen_ty_1),
10157            "::",
10158            stringify!(ptr)
10159        )
10160    );
10161    assert_eq!(
10162        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
10163        0usize,
10164        concat!(
10165            "Offset of field: ",
10166            stringify!(asn1_type_st__bindgen_ty_1),
10167            "::",
10168            stringify!(boolean)
10169        )
10170    );
10171    assert_eq!(
10172        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
10173        0usize,
10174        concat!(
10175            "Offset of field: ",
10176            stringify!(asn1_type_st__bindgen_ty_1),
10177            "::",
10178            stringify!(asn1_string)
10179        )
10180    );
10181    assert_eq!(
10182        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
10183        0usize,
10184        concat!(
10185            "Offset of field: ",
10186            stringify!(asn1_type_st__bindgen_ty_1),
10187            "::",
10188            stringify!(object)
10189        )
10190    );
10191    assert_eq!(
10192        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
10193        0usize,
10194        concat!(
10195            "Offset of field: ",
10196            stringify!(asn1_type_st__bindgen_ty_1),
10197            "::",
10198            stringify!(integer)
10199        )
10200    );
10201    assert_eq!(
10202        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
10203        0usize,
10204        concat!(
10205            "Offset of field: ",
10206            stringify!(asn1_type_st__bindgen_ty_1),
10207            "::",
10208            stringify!(enumerated)
10209        )
10210    );
10211    assert_eq!(
10212        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
10213        0usize,
10214        concat!(
10215            "Offset of field: ",
10216            stringify!(asn1_type_st__bindgen_ty_1),
10217            "::",
10218            stringify!(bit_string)
10219        )
10220    );
10221    assert_eq!(
10222        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
10223        0usize,
10224        concat!(
10225            "Offset of field: ",
10226            stringify!(asn1_type_st__bindgen_ty_1),
10227            "::",
10228            stringify!(octet_string)
10229        )
10230    );
10231    assert_eq!(
10232        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
10233        0usize,
10234        concat!(
10235            "Offset of field: ",
10236            stringify!(asn1_type_st__bindgen_ty_1),
10237            "::",
10238            stringify!(printablestring)
10239        )
10240    );
10241    assert_eq!(
10242        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
10243        0usize,
10244        concat!(
10245            "Offset of field: ",
10246            stringify!(asn1_type_st__bindgen_ty_1),
10247            "::",
10248            stringify!(t61string)
10249        )
10250    );
10251    assert_eq!(
10252        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
10253        0usize,
10254        concat!(
10255            "Offset of field: ",
10256            stringify!(asn1_type_st__bindgen_ty_1),
10257            "::",
10258            stringify!(ia5string)
10259        )
10260    );
10261    assert_eq!(
10262        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
10263        0usize,
10264        concat!(
10265            "Offset of field: ",
10266            stringify!(asn1_type_st__bindgen_ty_1),
10267            "::",
10268            stringify!(generalstring)
10269        )
10270    );
10271    assert_eq!(
10272        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
10273        0usize,
10274        concat!(
10275            "Offset of field: ",
10276            stringify!(asn1_type_st__bindgen_ty_1),
10277            "::",
10278            stringify!(bmpstring)
10279        )
10280    );
10281    assert_eq!(
10282        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
10283        0usize,
10284        concat!(
10285            "Offset of field: ",
10286            stringify!(asn1_type_st__bindgen_ty_1),
10287            "::",
10288            stringify!(universalstring)
10289        )
10290    );
10291    assert_eq!(
10292        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
10293        0usize,
10294        concat!(
10295            "Offset of field: ",
10296            stringify!(asn1_type_st__bindgen_ty_1),
10297            "::",
10298            stringify!(utctime)
10299        )
10300    );
10301    assert_eq!(
10302        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
10303        0usize,
10304        concat!(
10305            "Offset of field: ",
10306            stringify!(asn1_type_st__bindgen_ty_1),
10307            "::",
10308            stringify!(generalizedtime)
10309        )
10310    );
10311    assert_eq!(
10312        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
10313        0usize,
10314        concat!(
10315            "Offset of field: ",
10316            stringify!(asn1_type_st__bindgen_ty_1),
10317            "::",
10318            stringify!(visiblestring)
10319        )
10320    );
10321    assert_eq!(
10322        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
10323        0usize,
10324        concat!(
10325            "Offset of field: ",
10326            stringify!(asn1_type_st__bindgen_ty_1),
10327            "::",
10328            stringify!(utf8string)
10329        )
10330    );
10331    assert_eq!(
10332        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
10333        0usize,
10334        concat!(
10335            "Offset of field: ",
10336            stringify!(asn1_type_st__bindgen_ty_1),
10337            "::",
10338            stringify!(set)
10339        )
10340    );
10341    assert_eq!(
10342        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
10343        0usize,
10344        concat!(
10345            "Offset of field: ",
10346            stringify!(asn1_type_st__bindgen_ty_1),
10347            "::",
10348            stringify!(sequence)
10349        )
10350    );
10351    assert_eq!(
10352        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
10353        0usize,
10354        concat!(
10355            "Offset of field: ",
10356            stringify!(asn1_type_st__bindgen_ty_1),
10357            "::",
10358            stringify!(asn1_value)
10359        )
10360    );
10361}
10362impl Default for asn1_type_st__bindgen_ty_1 {
10363    fn default() -> Self {
10364        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10365        unsafe {
10366            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10367            s.assume_init()
10368        }
10369    }
10370}
10371#[test]
10372fn bindgen_test_layout_asn1_type_st() {
10373    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
10374    let ptr = UNINIT.as_ptr();
10375    assert_eq!(
10376        ::std::mem::size_of::<asn1_type_st>(),
10377        8usize,
10378        concat!("Size of: ", stringify!(asn1_type_st))
10379    );
10380    assert_eq!(
10381        ::std::mem::align_of::<asn1_type_st>(),
10382        4usize,
10383        concat!("Alignment of ", stringify!(asn1_type_st))
10384    );
10385    assert_eq!(
10386        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
10387        0usize,
10388        concat!(
10389            "Offset of field: ",
10390            stringify!(asn1_type_st),
10391            "::",
10392            stringify!(type_)
10393        )
10394    );
10395    assert_eq!(
10396        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10397        4usize,
10398        concat!(
10399            "Offset of field: ",
10400            stringify!(asn1_type_st),
10401            "::",
10402            stringify!(value)
10403        )
10404    );
10405}
10406impl Default for asn1_type_st {
10407    fn default() -> Self {
10408        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10409        unsafe {
10410            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10411            s.assume_init()
10412        }
10413    }
10414}
10415#[repr(C)]
10416#[derive(Debug, Copy, Clone)]
10417pub struct stack_st_ASN1_TYPE {
10418    _unused: [u8; 0],
10419}
10420pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
10421pub type sk_ASN1_TYPE_copy_func =
10422    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
10423pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
10424    unsafe extern "C" fn(
10425        arg1: *const *const ASN1_TYPE,
10426        arg2: *const *const ASN1_TYPE,
10427    ) -> ::std::os::raw::c_int,
10428>;
10429pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10430    unsafe extern "C" fn(
10431        arg1: *mut ASN1_TYPE,
10432        arg2: *mut ::std::os::raw::c_void,
10433    ) -> ::std::os::raw::c_int,
10434>;
10435extern "C" {
10436    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_new"]
10437    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10438}
10439extern "C" {
10440    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_free"]
10441    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10442}
10443extern "C" {
10444    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_TYPE"]
10445    pub fn d2i_ASN1_TYPE(
10446        out: *mut *mut ASN1_TYPE,
10447        inp: *mut *const u8,
10448        len: ::std::os::raw::c_long,
10449    ) -> *mut ASN1_TYPE;
10450}
10451extern "C" {
10452    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_TYPE"]
10453    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10454}
10455extern "C" {
10456    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ANY_it"]
10457    pub static ASN1_ANY_it: ASN1_ITEM;
10458}
10459extern "C" {
10460    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_get"]
10461    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10462}
10463extern "C" {
10464    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_set"]
10465    pub fn ASN1_TYPE_set(
10466        a: *mut ASN1_TYPE,
10467        type_: ::std::os::raw::c_int,
10468        value: *mut ::std::os::raw::c_void,
10469    );
10470}
10471extern "C" {
10472    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_set1"]
10473    pub fn ASN1_TYPE_set1(
10474        a: *mut ASN1_TYPE,
10475        type_: ::std::os::raw::c_int,
10476        value: *const ::std::os::raw::c_void,
10477    ) -> ::std::os::raw::c_int;
10478}
10479extern "C" {
10480    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TYPE_cmp"]
10481    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10482}
10483pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10484extern "C" {
10485    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_SEQUENCE_ANY"]
10486    pub fn d2i_ASN1_SEQUENCE_ANY(
10487        out: *mut *mut ASN1_SEQUENCE_ANY,
10488        inp: *mut *const u8,
10489        len: ::std::os::raw::c_long,
10490    ) -> *mut ASN1_SEQUENCE_ANY;
10491}
10492extern "C" {
10493    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_SEQUENCE_ANY"]
10494    pub fn i2d_ASN1_SEQUENCE_ANY(
10495        in_: *const ASN1_SEQUENCE_ANY,
10496        outp: *mut *mut u8,
10497    ) -> ::std::os::raw::c_int;
10498}
10499extern "C" {
10500    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_SET_ANY"]
10501    pub fn d2i_ASN1_SET_ANY(
10502        out: *mut *mut ASN1_SEQUENCE_ANY,
10503        inp: *mut *const u8,
10504        len: ::std::os::raw::c_long,
10505    ) -> *mut ASN1_SEQUENCE_ANY;
10506}
10507extern "C" {
10508    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_SET_ANY"]
10509    pub fn i2d_ASN1_SET_ANY(
10510        in_: *const ASN1_SEQUENCE_ANY,
10511        outp: *mut *mut u8,
10512    ) -> ::std::os::raw::c_int;
10513}
10514extern "C" {
10515    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_UTCTIME_print"]
10516    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10517}
10518extern "C" {
10519    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_GENERALIZEDTIME_print"]
10520    pub fn ASN1_GENERALIZEDTIME_print(
10521        out: *mut BIO,
10522        a: *const ASN1_GENERALIZEDTIME,
10523    ) -> ::std::os::raw::c_int;
10524}
10525extern "C" {
10526    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_TIME_print"]
10527    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10528}
10529extern "C" {
10530    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_print"]
10531    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10532}
10533extern "C" {
10534    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_print_ex"]
10535    pub fn ASN1_STRING_print_ex(
10536        out: *mut BIO,
10537        str_: *const ASN1_STRING,
10538        flags: ::std::os::raw::c_ulong,
10539    ) -> ::std::os::raw::c_int;
10540}
10541extern "C" {
10542    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_print_ex_fp"]
10543    pub fn ASN1_STRING_print_ex_fp(
10544        fp: *mut FILE,
10545        str_: *const ASN1_STRING,
10546        flags: ::std::os::raw::c_ulong,
10547    ) -> ::std::os::raw::c_int;
10548}
10549extern "C" {
10550    #[link_name = "\u{1}aws_lc_0_26_0_i2a_ASN1_INTEGER"]
10551    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10552}
10553extern "C" {
10554    #[link_name = "\u{1}aws_lc_0_26_0_i2a_ASN1_ENUMERATED"]
10555    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10556}
10557extern "C" {
10558    #[link_name = "\u{1}aws_lc_0_26_0_i2a_ASN1_OBJECT"]
10559    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10560}
10561extern "C" {
10562    #[link_name = "\u{1}aws_lc_0_26_0_i2a_ASN1_STRING"]
10563    pub fn i2a_ASN1_STRING(
10564        bp: *mut BIO,
10565        a: *const ASN1_STRING,
10566        type_: ::std::os::raw::c_int,
10567    ) -> ::std::os::raw::c_int;
10568}
10569extern "C" {
10570    #[link_name = "\u{1}aws_lc_0_26_0_i2t_ASN1_OBJECT"]
10571    pub fn i2t_ASN1_OBJECT(
10572        buf: *mut ::std::os::raw::c_char,
10573        buf_len: ::std::os::raw::c_int,
10574        a: *const ASN1_OBJECT,
10575    ) -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_get_object"]
10579    pub fn ASN1_get_object(
10580        inp: *mut *const ::std::os::raw::c_uchar,
10581        out_length: *mut ::std::os::raw::c_long,
10582        out_tag: *mut ::std::os::raw::c_int,
10583        out_class: *mut ::std::os::raw::c_int,
10584        max_len: ::std::os::raw::c_long,
10585    ) -> ::std::os::raw::c_int;
10586}
10587extern "C" {
10588    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_put_object"]
10589    pub fn ASN1_put_object(
10590        outp: *mut *mut ::std::os::raw::c_uchar,
10591        constructed: ::std::os::raw::c_int,
10592        length: ::std::os::raw::c_int,
10593        tag: ::std::os::raw::c_int,
10594        xclass: ::std::os::raw::c_int,
10595    );
10596}
10597extern "C" {
10598    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_put_eoc"]
10599    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10600}
10601extern "C" {
10602    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_object_size"]
10603    pub fn ASN1_object_size(
10604        constructed: ::std::os::raw::c_int,
10605        length: ::std::os::raw::c_int,
10606        tag: ::std::os::raw::c_int,
10607    ) -> ::std::os::raw::c_int;
10608}
10609extern "C" {
10610    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLE_new"]
10611    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10612}
10613extern "C" {
10614    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLE_free"]
10615    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10616}
10617extern "C" {
10618    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ASN1_PRINTABLE"]
10619    pub fn d2i_ASN1_PRINTABLE(
10620        out: *mut *mut ASN1_STRING,
10621        inp: *mut *const u8,
10622        len: ::std::os::raw::c_long,
10623    ) -> *mut ASN1_STRING;
10624}
10625extern "C" {
10626    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ASN1_PRINTABLE"]
10627    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10628        -> ::std::os::raw::c_int;
10629}
10630extern "C" {
10631    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_PRINTABLE_it"]
10632    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10633}
10634extern "C" {
10635    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_set"]
10636    pub fn ASN1_INTEGER_set(
10637        a: *mut ASN1_INTEGER,
10638        v: ::std::os::raw::c_long,
10639    ) -> ::std::os::raw::c_int;
10640}
10641extern "C" {
10642    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_set"]
10643    pub fn ASN1_ENUMERATED_set(
10644        a: *mut ASN1_ENUMERATED,
10645        v: ::std::os::raw::c_long,
10646    ) -> ::std::os::raw::c_int;
10647}
10648extern "C" {
10649    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_INTEGER_get"]
10650    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10651}
10652extern "C" {
10653    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_ENUMERATED_get"]
10654    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10655}
10656extern "C" {
10657    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_set_default_mask"]
10658    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10659}
10660extern "C" {
10661    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_set_default_mask_asc"]
10662    pub fn ASN1_STRING_set_default_mask_asc(
10663        p: *const ::std::os::raw::c_char,
10664    ) -> ::std::os::raw::c_int;
10665}
10666extern "C" {
10667    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_get_default_mask"]
10668    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10669}
10670extern "C" {
10671    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_STRING_TABLE_cleanup"]
10672    pub fn ASN1_STRING_TABLE_cleanup();
10673}
10674pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10675#[repr(C)]
10676#[derive(Debug, Copy, Clone)]
10677pub struct ASN1_TLC_st {
10678    _unused: [u8; 0],
10679}
10680pub type ASN1_TLC = ASN1_TLC_st;
10681#[repr(C)]
10682#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10683pub struct ASN1_TEMPLATE_st {
10684    pub flags: u32,
10685    pub tag: ::std::os::raw::c_int,
10686    pub offset: ::std::os::raw::c_ulong,
10687    pub field_name: *const ::std::os::raw::c_char,
10688    pub item: *const ASN1_ITEM_st,
10689}
10690#[test]
10691fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10692    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10693    let ptr = UNINIT.as_ptr();
10694    assert_eq!(
10695        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10696        20usize,
10697        concat!("Size of: ", stringify!(ASN1_TEMPLATE_st))
10698    );
10699    assert_eq!(
10700        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10701        4usize,
10702        concat!("Alignment of ", stringify!(ASN1_TEMPLATE_st))
10703    );
10704    assert_eq!(
10705        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10706        0usize,
10707        concat!(
10708            "Offset of field: ",
10709            stringify!(ASN1_TEMPLATE_st),
10710            "::",
10711            stringify!(flags)
10712        )
10713    );
10714    assert_eq!(
10715        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10716        4usize,
10717        concat!(
10718            "Offset of field: ",
10719            stringify!(ASN1_TEMPLATE_st),
10720            "::",
10721            stringify!(tag)
10722        )
10723    );
10724    assert_eq!(
10725        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10726        8usize,
10727        concat!(
10728            "Offset of field: ",
10729            stringify!(ASN1_TEMPLATE_st),
10730            "::",
10731            stringify!(offset)
10732        )
10733    );
10734    assert_eq!(
10735        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10736        12usize,
10737        concat!(
10738            "Offset of field: ",
10739            stringify!(ASN1_TEMPLATE_st),
10740            "::",
10741            stringify!(field_name)
10742        )
10743    );
10744    assert_eq!(
10745        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10746        16usize,
10747        concat!(
10748            "Offset of field: ",
10749            stringify!(ASN1_TEMPLATE_st),
10750            "::",
10751            stringify!(item)
10752        )
10753    );
10754}
10755impl Default for ASN1_TEMPLATE_st {
10756    fn default() -> Self {
10757        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10758        unsafe {
10759            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10760            s.assume_init()
10761        }
10762    }
10763}
10764pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10765pub type ASN1_ADB = ASN1_ADB_st;
10766#[repr(C)]
10767#[derive(Debug, Copy, Clone)]
10768pub struct asn1_must_be_null_st {
10769    _unused: [u8; 0],
10770}
10771pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10772#[repr(C)]
10773#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10774pub struct ASN1_ADB_st {
10775    pub flags: u32,
10776    pub offset: ::std::os::raw::c_ulong,
10777    pub unused: *mut ASN1_MUST_BE_NULL,
10778    pub tbl: *const ASN1_ADB_TABLE,
10779    pub tblcount: ::std::os::raw::c_long,
10780    pub default_tt: *const ASN1_TEMPLATE,
10781    pub null_tt: *const ASN1_TEMPLATE,
10782}
10783#[test]
10784fn bindgen_test_layout_ASN1_ADB_st() {
10785    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10786    let ptr = UNINIT.as_ptr();
10787    assert_eq!(
10788        ::std::mem::size_of::<ASN1_ADB_st>(),
10789        28usize,
10790        concat!("Size of: ", stringify!(ASN1_ADB_st))
10791    );
10792    assert_eq!(
10793        ::std::mem::align_of::<ASN1_ADB_st>(),
10794        4usize,
10795        concat!("Alignment of ", stringify!(ASN1_ADB_st))
10796    );
10797    assert_eq!(
10798        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10799        0usize,
10800        concat!(
10801            "Offset of field: ",
10802            stringify!(ASN1_ADB_st),
10803            "::",
10804            stringify!(flags)
10805        )
10806    );
10807    assert_eq!(
10808        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10809        4usize,
10810        concat!(
10811            "Offset of field: ",
10812            stringify!(ASN1_ADB_st),
10813            "::",
10814            stringify!(offset)
10815        )
10816    );
10817    assert_eq!(
10818        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10819        8usize,
10820        concat!(
10821            "Offset of field: ",
10822            stringify!(ASN1_ADB_st),
10823            "::",
10824            stringify!(unused)
10825        )
10826    );
10827    assert_eq!(
10828        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10829        12usize,
10830        concat!(
10831            "Offset of field: ",
10832            stringify!(ASN1_ADB_st),
10833            "::",
10834            stringify!(tbl)
10835        )
10836    );
10837    assert_eq!(
10838        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10839        16usize,
10840        concat!(
10841            "Offset of field: ",
10842            stringify!(ASN1_ADB_st),
10843            "::",
10844            stringify!(tblcount)
10845        )
10846    );
10847    assert_eq!(
10848        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10849        20usize,
10850        concat!(
10851            "Offset of field: ",
10852            stringify!(ASN1_ADB_st),
10853            "::",
10854            stringify!(default_tt)
10855        )
10856    );
10857    assert_eq!(
10858        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10859        24usize,
10860        concat!(
10861            "Offset of field: ",
10862            stringify!(ASN1_ADB_st),
10863            "::",
10864            stringify!(null_tt)
10865        )
10866    );
10867}
10868impl Default for ASN1_ADB_st {
10869    fn default() -> Self {
10870        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10871        unsafe {
10872            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10873            s.assume_init()
10874        }
10875    }
10876}
10877#[repr(C)]
10878#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10879pub struct ASN1_ADB_TABLE_st {
10880    pub value: ::std::os::raw::c_int,
10881    pub tt: ASN1_TEMPLATE,
10882}
10883#[test]
10884fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10885    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10886    let ptr = UNINIT.as_ptr();
10887    assert_eq!(
10888        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10889        24usize,
10890        concat!("Size of: ", stringify!(ASN1_ADB_TABLE_st))
10891    );
10892    assert_eq!(
10893        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10894        4usize,
10895        concat!("Alignment of ", stringify!(ASN1_ADB_TABLE_st))
10896    );
10897    assert_eq!(
10898        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10899        0usize,
10900        concat!(
10901            "Offset of field: ",
10902            stringify!(ASN1_ADB_TABLE_st),
10903            "::",
10904            stringify!(value)
10905        )
10906    );
10907    assert_eq!(
10908        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10909        4usize,
10910        concat!(
10911            "Offset of field: ",
10912            stringify!(ASN1_ADB_TABLE_st),
10913            "::",
10914            stringify!(tt)
10915        )
10916    );
10917}
10918impl Default for ASN1_ADB_TABLE_st {
10919    fn default() -> Self {
10920        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10921        unsafe {
10922            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10923            s.assume_init()
10924        }
10925    }
10926}
10927#[repr(C)]
10928#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10929pub struct ASN1_ITEM_st {
10930    pub itype: ::std::os::raw::c_char,
10931    pub utype: ::std::os::raw::c_int,
10932    pub templates: *const ASN1_TEMPLATE,
10933    pub tcount: ::std::os::raw::c_long,
10934    pub funcs: *const ::std::os::raw::c_void,
10935    pub size: ::std::os::raw::c_long,
10936    pub sname: *const ::std::os::raw::c_char,
10937}
10938#[test]
10939fn bindgen_test_layout_ASN1_ITEM_st() {
10940    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10941    let ptr = UNINIT.as_ptr();
10942    assert_eq!(
10943        ::std::mem::size_of::<ASN1_ITEM_st>(),
10944        28usize,
10945        concat!("Size of: ", stringify!(ASN1_ITEM_st))
10946    );
10947    assert_eq!(
10948        ::std::mem::align_of::<ASN1_ITEM_st>(),
10949        4usize,
10950        concat!("Alignment of ", stringify!(ASN1_ITEM_st))
10951    );
10952    assert_eq!(
10953        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10954        0usize,
10955        concat!(
10956            "Offset of field: ",
10957            stringify!(ASN1_ITEM_st),
10958            "::",
10959            stringify!(itype)
10960        )
10961    );
10962    assert_eq!(
10963        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10964        4usize,
10965        concat!(
10966            "Offset of field: ",
10967            stringify!(ASN1_ITEM_st),
10968            "::",
10969            stringify!(utype)
10970        )
10971    );
10972    assert_eq!(
10973        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10974        8usize,
10975        concat!(
10976            "Offset of field: ",
10977            stringify!(ASN1_ITEM_st),
10978            "::",
10979            stringify!(templates)
10980        )
10981    );
10982    assert_eq!(
10983        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10984        12usize,
10985        concat!(
10986            "Offset of field: ",
10987            stringify!(ASN1_ITEM_st),
10988            "::",
10989            stringify!(tcount)
10990        )
10991    );
10992    assert_eq!(
10993        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10994        16usize,
10995        concat!(
10996            "Offset of field: ",
10997            stringify!(ASN1_ITEM_st),
10998            "::",
10999            stringify!(funcs)
11000        )
11001    );
11002    assert_eq!(
11003        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
11004        20usize,
11005        concat!(
11006            "Offset of field: ",
11007            stringify!(ASN1_ITEM_st),
11008            "::",
11009            stringify!(size)
11010        )
11011    );
11012    assert_eq!(
11013        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
11014        24usize,
11015        concat!(
11016            "Offset of field: ",
11017            stringify!(ASN1_ITEM_st),
11018            "::",
11019            stringify!(sname)
11020        )
11021    );
11022}
11023impl Default for ASN1_ITEM_st {
11024    fn default() -> Self {
11025        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11026        unsafe {
11027            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11028            s.assume_init()
11029        }
11030    }
11031}
11032pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
11033pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
11034pub type ASN1_d2i_func = ::std::option::Option<
11035    unsafe extern "C" fn(
11036        a: *mut *mut ASN1_VALUE,
11037        in_: *mut *const ::std::os::raw::c_uchar,
11038        length: ::std::os::raw::c_long,
11039    ) -> *mut ASN1_VALUE,
11040>;
11041pub type ASN1_i2d_func = ::std::option::Option<
11042    unsafe extern "C" fn(
11043        a: *mut ASN1_VALUE,
11044        in_: *mut *mut ::std::os::raw::c_uchar,
11045    ) -> ::std::os::raw::c_int,
11046>;
11047pub type ASN1_ex_d2i = ::std::option::Option<
11048    unsafe extern "C" fn(
11049        pval: *mut *mut ASN1_VALUE,
11050        in_: *mut *const ::std::os::raw::c_uchar,
11051        len: ::std::os::raw::c_long,
11052        it: *const ASN1_ITEM,
11053        tag: ::std::os::raw::c_int,
11054        aclass: ::std::os::raw::c_int,
11055        opt: ::std::os::raw::c_char,
11056        ctx: *mut ASN1_TLC,
11057    ) -> ::std::os::raw::c_int,
11058>;
11059pub type ASN1_ex_i2d = ::std::option::Option<
11060    unsafe extern "C" fn(
11061        pval: *mut *mut ASN1_VALUE,
11062        out: *mut *mut ::std::os::raw::c_uchar,
11063        it: *const ASN1_ITEM,
11064        tag: ::std::os::raw::c_int,
11065        aclass: ::std::os::raw::c_int,
11066    ) -> ::std::os::raw::c_int,
11067>;
11068pub type ASN1_ex_new_func = ::std::option::Option<
11069    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
11070>;
11071pub type ASN1_ex_free_func =
11072    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
11073pub type ASN1_ex_print_func = ::std::option::Option<
11074    unsafe extern "C" fn(
11075        out: *mut BIO,
11076        pval: *mut *mut ASN1_VALUE,
11077        indent: ::std::os::raw::c_int,
11078        fname: *const ::std::os::raw::c_char,
11079        pctx: *const ASN1_PCTX,
11080    ) -> ::std::os::raw::c_int,
11081>;
11082#[repr(C)]
11083#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11084pub struct ASN1_EXTERN_FUNCS_st {
11085    pub app_data: *mut ::std::os::raw::c_void,
11086    pub asn1_ex_new: ASN1_ex_new_func,
11087    pub asn1_ex_free: ASN1_ex_free_func,
11088    pub asn1_ex_d2i: ASN1_ex_d2i,
11089    pub asn1_ex_i2d: ASN1_ex_i2d,
11090    pub asn1_ex_print: ASN1_ex_print_func,
11091}
11092#[test]
11093fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
11094    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
11095    let ptr = UNINIT.as_ptr();
11096    assert_eq!(
11097        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
11098        24usize,
11099        concat!("Size of: ", stringify!(ASN1_EXTERN_FUNCS_st))
11100    );
11101    assert_eq!(
11102        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
11103        4usize,
11104        concat!("Alignment of ", stringify!(ASN1_EXTERN_FUNCS_st))
11105    );
11106    assert_eq!(
11107        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11108        0usize,
11109        concat!(
11110            "Offset of field: ",
11111            stringify!(ASN1_EXTERN_FUNCS_st),
11112            "::",
11113            stringify!(app_data)
11114        )
11115    );
11116    assert_eq!(
11117        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
11118        4usize,
11119        concat!(
11120            "Offset of field: ",
11121            stringify!(ASN1_EXTERN_FUNCS_st),
11122            "::",
11123            stringify!(asn1_ex_new)
11124        )
11125    );
11126    assert_eq!(
11127        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
11128        8usize,
11129        concat!(
11130            "Offset of field: ",
11131            stringify!(ASN1_EXTERN_FUNCS_st),
11132            "::",
11133            stringify!(asn1_ex_free)
11134        )
11135    );
11136    assert_eq!(
11137        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
11138        12usize,
11139        concat!(
11140            "Offset of field: ",
11141            stringify!(ASN1_EXTERN_FUNCS_st),
11142            "::",
11143            stringify!(asn1_ex_d2i)
11144        )
11145    );
11146    assert_eq!(
11147        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
11148        16usize,
11149        concat!(
11150            "Offset of field: ",
11151            stringify!(ASN1_EXTERN_FUNCS_st),
11152            "::",
11153            stringify!(asn1_ex_i2d)
11154        )
11155    );
11156    assert_eq!(
11157        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
11158        20usize,
11159        concat!(
11160            "Offset of field: ",
11161            stringify!(ASN1_EXTERN_FUNCS_st),
11162            "::",
11163            stringify!(asn1_ex_print)
11164        )
11165    );
11166}
11167impl Default for ASN1_EXTERN_FUNCS_st {
11168    fn default() -> Self {
11169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11170        unsafe {
11171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11172            s.assume_init()
11173        }
11174    }
11175}
11176pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
11177pub type ASN1_aux_cb = ::std::option::Option<
11178    unsafe extern "C" fn(
11179        operation: ::std::os::raw::c_int,
11180        in_: *mut *mut ASN1_VALUE,
11181        it: *const ASN1_ITEM,
11182        exarg: *mut ::std::os::raw::c_void,
11183    ) -> ::std::os::raw::c_int,
11184>;
11185#[repr(C)]
11186#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11187pub struct ASN1_AUX_st {
11188    pub app_data: *mut ::std::os::raw::c_void,
11189    pub flags: u32,
11190    pub ref_offset: ::std::os::raw::c_int,
11191    pub asn1_cb: ASN1_aux_cb,
11192    pub enc_offset: ::std::os::raw::c_int,
11193}
11194#[test]
11195fn bindgen_test_layout_ASN1_AUX_st() {
11196    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
11197    let ptr = UNINIT.as_ptr();
11198    assert_eq!(
11199        ::std::mem::size_of::<ASN1_AUX_st>(),
11200        20usize,
11201        concat!("Size of: ", stringify!(ASN1_AUX_st))
11202    );
11203    assert_eq!(
11204        ::std::mem::align_of::<ASN1_AUX_st>(),
11205        4usize,
11206        concat!("Alignment of ", stringify!(ASN1_AUX_st))
11207    );
11208    assert_eq!(
11209        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11210        0usize,
11211        concat!(
11212            "Offset of field: ",
11213            stringify!(ASN1_AUX_st),
11214            "::",
11215            stringify!(app_data)
11216        )
11217    );
11218    assert_eq!(
11219        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11220        4usize,
11221        concat!(
11222            "Offset of field: ",
11223            stringify!(ASN1_AUX_st),
11224            "::",
11225            stringify!(flags)
11226        )
11227    );
11228    assert_eq!(
11229        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
11230        8usize,
11231        concat!(
11232            "Offset of field: ",
11233            stringify!(ASN1_AUX_st),
11234            "::",
11235            stringify!(ref_offset)
11236        )
11237    );
11238    assert_eq!(
11239        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
11240        12usize,
11241        concat!(
11242            "Offset of field: ",
11243            stringify!(ASN1_AUX_st),
11244            "::",
11245            stringify!(asn1_cb)
11246        )
11247    );
11248    assert_eq!(
11249        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
11250        16usize,
11251        concat!(
11252            "Offset of field: ",
11253            stringify!(ASN1_AUX_st),
11254            "::",
11255            stringify!(enc_offset)
11256        )
11257    );
11258}
11259impl Default for ASN1_AUX_st {
11260    fn default() -> Self {
11261        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11262        unsafe {
11263            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11264            s.assume_init()
11265        }
11266    }
11267}
11268pub type ASN1_AUX = ASN1_AUX_st;
11269extern "C" {
11270    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_SEQUENCE_it"]
11271    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
11272}
11273#[repr(C)]
11274#[derive(Debug, Copy, Clone)]
11275pub struct stack_st_ASN1_VALUE {
11276    _unused: [u8; 0],
11277}
11278pub type sk_ASN1_VALUE_free_func =
11279    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
11280pub type sk_ASN1_VALUE_copy_func =
11281    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
11282pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
11283    unsafe extern "C" fn(
11284        arg1: *const *const ASN1_VALUE,
11285        arg2: *const *const ASN1_VALUE,
11286    ) -> ::std::os::raw::c_int,
11287>;
11288pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
11289    unsafe extern "C" fn(
11290        arg1: *mut ASN1_VALUE,
11291        arg2: *mut ::std::os::raw::c_void,
11292    ) -> ::std::os::raw::c_int,
11293>;
11294extern "C" {
11295    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncodeBlock"]
11296    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
11297}
11298extern "C" {
11299    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncodedLength"]
11300    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11301}
11302extern "C" {
11303    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodedLength"]
11304    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11305}
11306extern "C" {
11307    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodeBase64"]
11308    pub fn EVP_DecodeBase64(
11309        out: *mut u8,
11310        out_len: *mut usize,
11311        max_out: usize,
11312        in_: *const u8,
11313        in_len: usize,
11314    ) -> ::std::os::raw::c_int;
11315}
11316extern "C" {
11317    #[link_name = "\u{1}aws_lc_0_26_0_EVP_ENCODE_CTX_new"]
11318    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
11319}
11320extern "C" {
11321    #[link_name = "\u{1}aws_lc_0_26_0_EVP_ENCODE_CTX_free"]
11322    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
11323}
11324extern "C" {
11325    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncodeInit"]
11326    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
11327}
11328extern "C" {
11329    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncodeUpdate"]
11330    pub fn EVP_EncodeUpdate(
11331        ctx: *mut EVP_ENCODE_CTX,
11332        out: *mut u8,
11333        out_len: *mut ::std::os::raw::c_int,
11334        in_: *const u8,
11335        in_len: usize,
11336    ) -> ::std::os::raw::c_int;
11337}
11338extern "C" {
11339    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncodeFinal"]
11340    pub fn EVP_EncodeFinal(
11341        ctx: *mut EVP_ENCODE_CTX,
11342        out: *mut u8,
11343        out_len: *mut ::std::os::raw::c_int,
11344    );
11345}
11346extern "C" {
11347    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodeInit"]
11348    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
11349}
11350extern "C" {
11351    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodeUpdate"]
11352    pub fn EVP_DecodeUpdate(
11353        ctx: *mut EVP_ENCODE_CTX,
11354        out: *mut u8,
11355        out_len: *mut ::std::os::raw::c_int,
11356        in_: *const u8,
11357        in_len: usize,
11358    ) -> ::std::os::raw::c_int;
11359}
11360extern "C" {
11361    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodeFinal"]
11362    pub fn EVP_DecodeFinal(
11363        ctx: *mut EVP_ENCODE_CTX,
11364        out: *mut u8,
11365        out_len: *mut ::std::os::raw::c_int,
11366    ) -> ::std::os::raw::c_int;
11367}
11368extern "C" {
11369    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecodeBlock"]
11370    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
11371}
11372#[repr(C)]
11373#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11374pub struct evp_encode_ctx_st {
11375    pub data_used: ::std::os::raw::c_uint,
11376    pub data: [u8; 48usize],
11377    pub eof_seen: ::std::os::raw::c_char,
11378    pub error_encountered: ::std::os::raw::c_char,
11379}
11380#[test]
11381fn bindgen_test_layout_evp_encode_ctx_st() {
11382    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
11383    let ptr = UNINIT.as_ptr();
11384    assert_eq!(
11385        ::std::mem::size_of::<evp_encode_ctx_st>(),
11386        56usize,
11387        concat!("Size of: ", stringify!(evp_encode_ctx_st))
11388    );
11389    assert_eq!(
11390        ::std::mem::align_of::<evp_encode_ctx_st>(),
11391        4usize,
11392        concat!("Alignment of ", stringify!(evp_encode_ctx_st))
11393    );
11394    assert_eq!(
11395        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
11396        0usize,
11397        concat!(
11398            "Offset of field: ",
11399            stringify!(evp_encode_ctx_st),
11400            "::",
11401            stringify!(data_used)
11402        )
11403    );
11404    assert_eq!(
11405        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11406        4usize,
11407        concat!(
11408            "Offset of field: ",
11409            stringify!(evp_encode_ctx_st),
11410            "::",
11411            stringify!(data)
11412        )
11413    );
11414    assert_eq!(
11415        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
11416        52usize,
11417        concat!(
11418            "Offset of field: ",
11419            stringify!(evp_encode_ctx_st),
11420            "::",
11421            stringify!(eof_seen)
11422        )
11423    );
11424    assert_eq!(
11425        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
11426        53usize,
11427        concat!(
11428            "Offset of field: ",
11429            stringify!(evp_encode_ctx_st),
11430            "::",
11431            stringify!(error_encountered)
11432        )
11433    );
11434}
11435impl Default for evp_encode_ctx_st {
11436    fn default() -> Self {
11437        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11438        unsafe {
11439            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11440            s.assume_init()
11441        }
11442    }
11443}
11444#[repr(C)]
11445#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11446pub struct blake2b_state_st {
11447    pub h: [u64; 8usize],
11448    pub t_low: u64,
11449    pub t_high: u64,
11450    pub block: [u8; 128usize],
11451    pub block_used: usize,
11452}
11453#[test]
11454fn bindgen_test_layout_blake2b_state_st() {
11455    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
11456    let ptr = UNINIT.as_ptr();
11457    assert_eq!(
11458        ::std::mem::size_of::<blake2b_state_st>(),
11459        212usize,
11460        concat!("Size of: ", stringify!(blake2b_state_st))
11461    );
11462    assert_eq!(
11463        ::std::mem::align_of::<blake2b_state_st>(),
11464        4usize,
11465        concat!("Alignment of ", stringify!(blake2b_state_st))
11466    );
11467    assert_eq!(
11468        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11469        0usize,
11470        concat!(
11471            "Offset of field: ",
11472            stringify!(blake2b_state_st),
11473            "::",
11474            stringify!(h)
11475        )
11476    );
11477    assert_eq!(
11478        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
11479        64usize,
11480        concat!(
11481            "Offset of field: ",
11482            stringify!(blake2b_state_st),
11483            "::",
11484            stringify!(t_low)
11485        )
11486    );
11487    assert_eq!(
11488        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
11489        72usize,
11490        concat!(
11491            "Offset of field: ",
11492            stringify!(blake2b_state_st),
11493            "::",
11494            stringify!(t_high)
11495        )
11496    );
11497    assert_eq!(
11498        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
11499        80usize,
11500        concat!(
11501            "Offset of field: ",
11502            stringify!(blake2b_state_st),
11503            "::",
11504            stringify!(block)
11505        )
11506    );
11507    assert_eq!(
11508        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
11509        208usize,
11510        concat!(
11511            "Offset of field: ",
11512            stringify!(blake2b_state_st),
11513            "::",
11514            stringify!(block_used)
11515        )
11516    );
11517}
11518impl Default for blake2b_state_st {
11519    fn default() -> Self {
11520        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11521        unsafe {
11522            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11523            s.assume_init()
11524        }
11525    }
11526}
11527extern "C" {
11528    #[link_name = "\u{1}aws_lc_0_26_0_BLAKE2B256_Init"]
11529    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
11530}
11531extern "C" {
11532    #[link_name = "\u{1}aws_lc_0_26_0_BLAKE2B256_Update"]
11533    pub fn BLAKE2B256_Update(
11534        b2b: *mut BLAKE2B_CTX,
11535        data: *const ::std::os::raw::c_void,
11536        len: usize,
11537    );
11538}
11539extern "C" {
11540    #[link_name = "\u{1}aws_lc_0_26_0_BLAKE2B256_Final"]
11541    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
11542}
11543extern "C" {
11544    #[link_name = "\u{1}aws_lc_0_26_0_BLAKE2B256"]
11545    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
11546}
11547#[repr(C)]
11548#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11549pub struct bf_key_st {
11550    pub P: [u32; 18usize],
11551    pub S: [u32; 1024usize],
11552}
11553#[test]
11554fn bindgen_test_layout_bf_key_st() {
11555    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
11556    let ptr = UNINIT.as_ptr();
11557    assert_eq!(
11558        ::std::mem::size_of::<bf_key_st>(),
11559        4168usize,
11560        concat!("Size of: ", stringify!(bf_key_st))
11561    );
11562    assert_eq!(
11563        ::std::mem::align_of::<bf_key_st>(),
11564        4usize,
11565        concat!("Alignment of ", stringify!(bf_key_st))
11566    );
11567    assert_eq!(
11568        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
11569        0usize,
11570        concat!(
11571            "Offset of field: ",
11572            stringify!(bf_key_st),
11573            "::",
11574            stringify!(P)
11575        )
11576    );
11577    assert_eq!(
11578        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
11579        72usize,
11580        concat!(
11581            "Offset of field: ",
11582            stringify!(bf_key_st),
11583            "::",
11584            stringify!(S)
11585        )
11586    );
11587}
11588impl Default for bf_key_st {
11589    fn default() -> Self {
11590        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11591        unsafe {
11592            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11593            s.assume_init()
11594        }
11595    }
11596}
11597pub type BF_KEY = bf_key_st;
11598extern "C" {
11599    #[link_name = "\u{1}aws_lc_0_26_0_BF_set_key"]
11600    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
11601}
11602extern "C" {
11603    #[link_name = "\u{1}aws_lc_0_26_0_BF_encrypt"]
11604    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
11605}
11606extern "C" {
11607    #[link_name = "\u{1}aws_lc_0_26_0_BF_decrypt"]
11608    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
11609}
11610extern "C" {
11611    #[link_name = "\u{1}aws_lc_0_26_0_BF_ecb_encrypt"]
11612    pub fn BF_ecb_encrypt(
11613        in_: *const u8,
11614        out: *mut u8,
11615        key: *const BF_KEY,
11616        enc: ::std::os::raw::c_int,
11617    );
11618}
11619extern "C" {
11620    #[link_name = "\u{1}aws_lc_0_26_0_BF_cbc_encrypt"]
11621    pub fn BF_cbc_encrypt(
11622        in_: *const u8,
11623        out: *mut u8,
11624        length: usize,
11625        schedule: *const BF_KEY,
11626        ivec: *mut u8,
11627        enc: ::std::os::raw::c_int,
11628    );
11629}
11630#[repr(C)]
11631#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11632pub struct cbs_st {
11633    pub data: *const u8,
11634    pub len: usize,
11635}
11636#[test]
11637fn bindgen_test_layout_cbs_st() {
11638    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11639    let ptr = UNINIT.as_ptr();
11640    assert_eq!(
11641        ::std::mem::size_of::<cbs_st>(),
11642        8usize,
11643        concat!("Size of: ", stringify!(cbs_st))
11644    );
11645    assert_eq!(
11646        ::std::mem::align_of::<cbs_st>(),
11647        4usize,
11648        concat!("Alignment of ", stringify!(cbs_st))
11649    );
11650    assert_eq!(
11651        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11652        0usize,
11653        concat!(
11654            "Offset of field: ",
11655            stringify!(cbs_st),
11656            "::",
11657            stringify!(data)
11658        )
11659    );
11660    assert_eq!(
11661        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11662        4usize,
11663        concat!(
11664            "Offset of field: ",
11665            stringify!(cbs_st),
11666            "::",
11667            stringify!(len)
11668        )
11669    );
11670}
11671impl Default for cbs_st {
11672    fn default() -> Self {
11673        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11674        unsafe {
11675            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11676            s.assume_init()
11677        }
11678    }
11679}
11680extern "C" {
11681    #[link_name = "\u{1}aws_lc_0_26_0_CBS_init"]
11682    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11683}
11684extern "C" {
11685    #[link_name = "\u{1}aws_lc_0_26_0_CBS_skip"]
11686    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11687}
11688extern "C" {
11689    #[link_name = "\u{1}aws_lc_0_26_0_CBS_data"]
11690    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11691}
11692extern "C" {
11693    #[link_name = "\u{1}aws_lc_0_26_0_CBS_len"]
11694    pub fn CBS_len(cbs: *const CBS) -> usize;
11695}
11696extern "C" {
11697    #[link_name = "\u{1}aws_lc_0_26_0_CBS_stow"]
11698    pub fn CBS_stow(
11699        cbs: *const CBS,
11700        out_ptr: *mut *mut u8,
11701        out_len: *mut usize,
11702    ) -> ::std::os::raw::c_int;
11703}
11704extern "C" {
11705    #[link_name = "\u{1}aws_lc_0_26_0_CBS_strdup"]
11706    pub fn CBS_strdup(
11707        cbs: *const CBS,
11708        out_ptr: *mut *mut ::std::os::raw::c_char,
11709    ) -> ::std::os::raw::c_int;
11710}
11711extern "C" {
11712    #[link_name = "\u{1}aws_lc_0_26_0_CBS_contains_zero_byte"]
11713    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11714}
11715extern "C" {
11716    #[link_name = "\u{1}aws_lc_0_26_0_CBS_mem_equal"]
11717    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11718}
11719extern "C" {
11720    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u8"]
11721    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11722}
11723extern "C" {
11724    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u16"]
11725    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11726}
11727extern "C" {
11728    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u16le"]
11729    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11730}
11731extern "C" {
11732    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u24"]
11733    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11734}
11735extern "C" {
11736    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u32"]
11737    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11738}
11739extern "C" {
11740    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u32le"]
11741    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11742}
11743extern "C" {
11744    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u64"]
11745    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11746}
11747extern "C" {
11748    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u64le"]
11749    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11750}
11751extern "C" {
11752    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_last_u8"]
11753    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11754}
11755extern "C" {
11756    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_bytes"]
11757    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11758}
11759extern "C" {
11760    #[link_name = "\u{1}aws_lc_0_26_0_CBS_copy_bytes"]
11761    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11762}
11763extern "C" {
11764    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u8_length_prefixed"]
11765    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11766}
11767extern "C" {
11768    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u16_length_prefixed"]
11769    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11770}
11771extern "C" {
11772    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u24_length_prefixed"]
11773    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11774}
11775extern "C" {
11776    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_until_first"]
11777    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11778}
11779extern "C" {
11780    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_u64_decimal"]
11781    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11782}
11783extern "C" {
11784    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_asn1"]
11785    pub fn CBS_get_asn1(
11786        cbs: *mut CBS,
11787        out: *mut CBS,
11788        tag_value: CBS_ASN1_TAG,
11789    ) -> ::std::os::raw::c_int;
11790}
11791extern "C" {
11792    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_asn1_element"]
11793    pub fn CBS_get_asn1_element(
11794        cbs: *mut CBS,
11795        out: *mut CBS,
11796        tag_value: CBS_ASN1_TAG,
11797    ) -> ::std::os::raw::c_int;
11798}
11799extern "C" {
11800    #[link_name = "\u{1}aws_lc_0_26_0_CBS_peek_asn1_tag"]
11801    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11802}
11803extern "C" {
11804    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_any_asn1"]
11805    pub fn CBS_get_any_asn1(
11806        cbs: *mut CBS,
11807        out: *mut CBS,
11808        out_tag: *mut CBS_ASN1_TAG,
11809    ) -> ::std::os::raw::c_int;
11810}
11811extern "C" {
11812    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_any_asn1_element"]
11813    pub fn CBS_get_any_asn1_element(
11814        cbs: *mut CBS,
11815        out: *mut CBS,
11816        out_tag: *mut CBS_ASN1_TAG,
11817        out_header_len: *mut usize,
11818    ) -> ::std::os::raw::c_int;
11819}
11820extern "C" {
11821    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_any_ber_asn1_element"]
11822    pub fn CBS_get_any_ber_asn1_element(
11823        cbs: *mut CBS,
11824        out: *mut CBS,
11825        out_tag: *mut CBS_ASN1_TAG,
11826        out_header_len: *mut usize,
11827        out_ber_found: *mut ::std::os::raw::c_int,
11828        out_indefinite: *mut ::std::os::raw::c_int,
11829    ) -> ::std::os::raw::c_int;
11830}
11831extern "C" {
11832    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_asn1_uint64"]
11833    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11834}
11835extern "C" {
11836    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_asn1_int64"]
11837    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11838}
11839extern "C" {
11840    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_asn1_bool"]
11841    pub fn CBS_get_asn1_bool(
11842        cbs: *mut CBS,
11843        out: *mut ::std::os::raw::c_int,
11844    ) -> ::std::os::raw::c_int;
11845}
11846extern "C" {
11847    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_optional_asn1"]
11848    pub fn CBS_get_optional_asn1(
11849        cbs: *mut CBS,
11850        out: *mut CBS,
11851        out_present: *mut ::std::os::raw::c_int,
11852        tag: CBS_ASN1_TAG,
11853    ) -> ::std::os::raw::c_int;
11854}
11855extern "C" {
11856    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_optional_asn1_octet_string"]
11857    pub fn CBS_get_optional_asn1_octet_string(
11858        cbs: *mut CBS,
11859        out: *mut CBS,
11860        out_present: *mut ::std::os::raw::c_int,
11861        tag: CBS_ASN1_TAG,
11862    ) -> ::std::os::raw::c_int;
11863}
11864extern "C" {
11865    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_optional_asn1_uint64"]
11866    pub fn CBS_get_optional_asn1_uint64(
11867        cbs: *mut CBS,
11868        out: *mut u64,
11869        tag: CBS_ASN1_TAG,
11870        default_value: u64,
11871    ) -> ::std::os::raw::c_int;
11872}
11873extern "C" {
11874    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_optional_asn1_bool"]
11875    pub fn CBS_get_optional_asn1_bool(
11876        cbs: *mut CBS,
11877        out: *mut ::std::os::raw::c_int,
11878        tag: CBS_ASN1_TAG,
11879        default_value: ::std::os::raw::c_int,
11880    ) -> ::std::os::raw::c_int;
11881}
11882extern "C" {
11883    #[link_name = "\u{1}aws_lc_0_26_0_CBS_is_valid_asn1_bitstring"]
11884    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11885}
11886extern "C" {
11887    #[link_name = "\u{1}aws_lc_0_26_0_CBS_asn1_bitstring_has_bit"]
11888    pub fn CBS_asn1_bitstring_has_bit(
11889        cbs: *const CBS,
11890        bit: ::std::os::raw::c_uint,
11891    ) -> ::std::os::raw::c_int;
11892}
11893extern "C" {
11894    #[link_name = "\u{1}aws_lc_0_26_0_CBS_is_valid_asn1_integer"]
11895    pub fn CBS_is_valid_asn1_integer(
11896        cbs: *const CBS,
11897        out_is_negative: *mut ::std::os::raw::c_int,
11898    ) -> ::std::os::raw::c_int;
11899}
11900extern "C" {
11901    #[link_name = "\u{1}aws_lc_0_26_0_CBS_is_unsigned_asn1_integer"]
11902    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11903}
11904extern "C" {
11905    #[link_name = "\u{1}aws_lc_0_26_0_CBS_is_valid_asn1_oid"]
11906    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11907}
11908extern "C" {
11909    #[link_name = "\u{1}aws_lc_0_26_0_CBS_asn1_oid_to_text"]
11910    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11911}
11912extern "C" {
11913    #[link_name = "\u{1}aws_lc_0_26_0_CBS_parse_generalized_time"]
11914    pub fn CBS_parse_generalized_time(
11915        cbs: *const CBS,
11916        out_tm: *mut tm,
11917        allow_timezone_offset: ::std::os::raw::c_int,
11918    ) -> ::std::os::raw::c_int;
11919}
11920extern "C" {
11921    #[link_name = "\u{1}aws_lc_0_26_0_CBS_parse_utc_time"]
11922    pub fn CBS_parse_utc_time(
11923        cbs: *const CBS,
11924        out_tm: *mut tm,
11925        allow_timezone_offset: ::std::os::raw::c_int,
11926    ) -> ::std::os::raw::c_int;
11927}
11928extern "C" {
11929    #[link_name = "\u{1}aws_lc_0_26_0_CBS_get_optional_asn1_int64"]
11930    pub fn CBS_get_optional_asn1_int64(
11931        cbs: *mut CBS,
11932        out: *mut i64,
11933        tag: CBS_ASN1_TAG,
11934        default_value: i64,
11935    ) -> ::std::os::raw::c_int;
11936}
11937#[repr(C)]
11938#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11939pub struct cbb_buffer_st {
11940    pub buf: *mut u8,
11941    pub len: usize,
11942    pub cap: usize,
11943    pub _bitfield_align_1: [u8; 0],
11944    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11945    pub __bindgen_padding_0: [u8; 3usize],
11946}
11947#[test]
11948fn bindgen_test_layout_cbb_buffer_st() {
11949    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11950    let ptr = UNINIT.as_ptr();
11951    assert_eq!(
11952        ::std::mem::size_of::<cbb_buffer_st>(),
11953        16usize,
11954        concat!("Size of: ", stringify!(cbb_buffer_st))
11955    );
11956    assert_eq!(
11957        ::std::mem::align_of::<cbb_buffer_st>(),
11958        4usize,
11959        concat!("Alignment of ", stringify!(cbb_buffer_st))
11960    );
11961    assert_eq!(
11962        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11963        0usize,
11964        concat!(
11965            "Offset of field: ",
11966            stringify!(cbb_buffer_st),
11967            "::",
11968            stringify!(buf)
11969        )
11970    );
11971    assert_eq!(
11972        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11973        4usize,
11974        concat!(
11975            "Offset of field: ",
11976            stringify!(cbb_buffer_st),
11977            "::",
11978            stringify!(len)
11979        )
11980    );
11981    assert_eq!(
11982        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11983        8usize,
11984        concat!(
11985            "Offset of field: ",
11986            stringify!(cbb_buffer_st),
11987            "::",
11988            stringify!(cap)
11989        )
11990    );
11991}
11992impl Default for cbb_buffer_st {
11993    fn default() -> Self {
11994        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11995        unsafe {
11996            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11997            s.assume_init()
11998        }
11999    }
12000}
12001impl cbb_buffer_st {
12002    #[inline]
12003    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
12004        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12005    }
12006    #[inline]
12007    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
12008        unsafe {
12009            let val: u32 = ::std::mem::transmute(val);
12010            self._bitfield_1.set(0usize, 1u8, val as u64)
12011        }
12012    }
12013    #[inline]
12014    pub fn error(&self) -> ::std::os::raw::c_uint {
12015        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
12016    }
12017    #[inline]
12018    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
12019        unsafe {
12020            let val: u32 = ::std::mem::transmute(val);
12021            self._bitfield_1.set(1usize, 1u8, val as u64)
12022        }
12023    }
12024    #[inline]
12025    pub fn new_bitfield_1(
12026        can_resize: ::std::os::raw::c_uint,
12027        error: ::std::os::raw::c_uint,
12028    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12029        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12030        __bindgen_bitfield_unit.set(0usize, 1u8, {
12031            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
12032            can_resize as u64
12033        });
12034        __bindgen_bitfield_unit.set(1usize, 1u8, {
12035            let error: u32 = unsafe { ::std::mem::transmute(error) };
12036            error as u64
12037        });
12038        __bindgen_bitfield_unit
12039    }
12040}
12041#[repr(C)]
12042#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12043pub struct cbb_child_st {
12044    pub base: *mut cbb_buffer_st,
12045    pub offset: usize,
12046    pub pending_len_len: u8,
12047    pub _bitfield_align_1: [u8; 0],
12048    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
12049    pub __bindgen_padding_0: u16,
12050}
12051#[test]
12052fn bindgen_test_layout_cbb_child_st() {
12053    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
12054    let ptr = UNINIT.as_ptr();
12055    assert_eq!(
12056        ::std::mem::size_of::<cbb_child_st>(),
12057        12usize,
12058        concat!("Size of: ", stringify!(cbb_child_st))
12059    );
12060    assert_eq!(
12061        ::std::mem::align_of::<cbb_child_st>(),
12062        4usize,
12063        concat!("Alignment of ", stringify!(cbb_child_st))
12064    );
12065    assert_eq!(
12066        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12067        0usize,
12068        concat!(
12069            "Offset of field: ",
12070            stringify!(cbb_child_st),
12071            "::",
12072            stringify!(base)
12073        )
12074    );
12075    assert_eq!(
12076        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
12077        4usize,
12078        concat!(
12079            "Offset of field: ",
12080            stringify!(cbb_child_st),
12081            "::",
12082            stringify!(offset)
12083        )
12084    );
12085    assert_eq!(
12086        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
12087        8usize,
12088        concat!(
12089            "Offset of field: ",
12090            stringify!(cbb_child_st),
12091            "::",
12092            stringify!(pending_len_len)
12093        )
12094    );
12095}
12096impl Default for cbb_child_st {
12097    fn default() -> Self {
12098        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12099        unsafe {
12100            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12101            s.assume_init()
12102        }
12103    }
12104}
12105impl cbb_child_st {
12106    #[inline]
12107    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
12108        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12109    }
12110    #[inline]
12111    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
12112        unsafe {
12113            let val: u32 = ::std::mem::transmute(val);
12114            self._bitfield_1.set(0usize, 1u8, val as u64)
12115        }
12116    }
12117    #[inline]
12118    pub fn new_bitfield_1(
12119        pending_is_asn1: ::std::os::raw::c_uint,
12120    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12121        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12122        __bindgen_bitfield_unit.set(0usize, 1u8, {
12123            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
12124            pending_is_asn1 as u64
12125        });
12126        __bindgen_bitfield_unit
12127    }
12128}
12129#[repr(C)]
12130#[derive(Copy, Clone)]
12131pub struct cbb_st {
12132    pub child: *mut CBB,
12133    pub is_child: ::std::os::raw::c_char,
12134    pub u: cbb_st__bindgen_ty_1,
12135}
12136#[repr(C)]
12137#[derive(Copy, Clone)]
12138pub union cbb_st__bindgen_ty_1 {
12139    pub base: cbb_buffer_st,
12140    pub child: cbb_child_st,
12141}
12142#[test]
12143fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
12144    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
12145    let ptr = UNINIT.as_ptr();
12146    assert_eq!(
12147        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
12148        16usize,
12149        concat!("Size of: ", stringify!(cbb_st__bindgen_ty_1))
12150    );
12151    assert_eq!(
12152        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
12153        4usize,
12154        concat!("Alignment of ", stringify!(cbb_st__bindgen_ty_1))
12155    );
12156    assert_eq!(
12157        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12158        0usize,
12159        concat!(
12160            "Offset of field: ",
12161            stringify!(cbb_st__bindgen_ty_1),
12162            "::",
12163            stringify!(base)
12164        )
12165    );
12166    assert_eq!(
12167        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12168        0usize,
12169        concat!(
12170            "Offset of field: ",
12171            stringify!(cbb_st__bindgen_ty_1),
12172            "::",
12173            stringify!(child)
12174        )
12175    );
12176}
12177impl Default for cbb_st__bindgen_ty_1 {
12178    fn default() -> Self {
12179        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12180        unsafe {
12181            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12182            s.assume_init()
12183        }
12184    }
12185}
12186#[test]
12187fn bindgen_test_layout_cbb_st() {
12188    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
12189    let ptr = UNINIT.as_ptr();
12190    assert_eq!(
12191        ::std::mem::size_of::<cbb_st>(),
12192        24usize,
12193        concat!("Size of: ", stringify!(cbb_st))
12194    );
12195    assert_eq!(
12196        ::std::mem::align_of::<cbb_st>(),
12197        4usize,
12198        concat!("Alignment of ", stringify!(cbb_st))
12199    );
12200    assert_eq!(
12201        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12202        0usize,
12203        concat!(
12204            "Offset of field: ",
12205            stringify!(cbb_st),
12206            "::",
12207            stringify!(child)
12208        )
12209    );
12210    assert_eq!(
12211        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
12212        4usize,
12213        concat!(
12214            "Offset of field: ",
12215            stringify!(cbb_st),
12216            "::",
12217            stringify!(is_child)
12218        )
12219    );
12220    assert_eq!(
12221        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12222        8usize,
12223        concat!("Offset of field: ", stringify!(cbb_st), "::", stringify!(u))
12224    );
12225}
12226impl Default for cbb_st {
12227    fn default() -> Self {
12228        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12229        unsafe {
12230            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12231            s.assume_init()
12232        }
12233    }
12234}
12235extern "C" {
12236    #[link_name = "\u{1}aws_lc_0_26_0_CBB_zero"]
12237    pub fn CBB_zero(cbb: *mut CBB);
12238}
12239extern "C" {
12240    #[link_name = "\u{1}aws_lc_0_26_0_CBB_init"]
12241    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
12242}
12243extern "C" {
12244    #[link_name = "\u{1}aws_lc_0_26_0_CBB_init_fixed"]
12245    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
12246}
12247extern "C" {
12248    #[link_name = "\u{1}aws_lc_0_26_0_CBB_cleanup"]
12249    pub fn CBB_cleanup(cbb: *mut CBB);
12250}
12251extern "C" {
12252    #[link_name = "\u{1}aws_lc_0_26_0_CBB_finish"]
12253    pub fn CBB_finish(
12254        cbb: *mut CBB,
12255        out_data: *mut *mut u8,
12256        out_len: *mut usize,
12257    ) -> ::std::os::raw::c_int;
12258}
12259extern "C" {
12260    #[link_name = "\u{1}aws_lc_0_26_0_CBB_flush"]
12261    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
12262}
12263extern "C" {
12264    #[link_name = "\u{1}aws_lc_0_26_0_CBB_data"]
12265    pub fn CBB_data(cbb: *const CBB) -> *const u8;
12266}
12267extern "C" {
12268    #[link_name = "\u{1}aws_lc_0_26_0_CBB_len"]
12269    pub fn CBB_len(cbb: *const CBB) -> usize;
12270}
12271extern "C" {
12272    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u8_length_prefixed"]
12273    pub fn CBB_add_u8_length_prefixed(
12274        cbb: *mut CBB,
12275        out_contents: *mut CBB,
12276    ) -> ::std::os::raw::c_int;
12277}
12278extern "C" {
12279    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u16_length_prefixed"]
12280    pub fn CBB_add_u16_length_prefixed(
12281        cbb: *mut CBB,
12282        out_contents: *mut CBB,
12283    ) -> ::std::os::raw::c_int;
12284}
12285extern "C" {
12286    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u24_length_prefixed"]
12287    pub fn CBB_add_u24_length_prefixed(
12288        cbb: *mut CBB,
12289        out_contents: *mut CBB,
12290    ) -> ::std::os::raw::c_int;
12291}
12292extern "C" {
12293    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1"]
12294    pub fn CBB_add_asn1(
12295        cbb: *mut CBB,
12296        out_contents: *mut CBB,
12297        tag: CBS_ASN1_TAG,
12298    ) -> ::std::os::raw::c_int;
12299}
12300extern "C" {
12301    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_bytes"]
12302    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
12303}
12304extern "C" {
12305    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_zeros"]
12306    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12307}
12308extern "C" {
12309    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_space"]
12310    pub fn CBB_add_space(
12311        cbb: *mut CBB,
12312        out_data: *mut *mut u8,
12313        len: usize,
12314    ) -> ::std::os::raw::c_int;
12315}
12316extern "C" {
12317    #[link_name = "\u{1}aws_lc_0_26_0_CBB_reserve"]
12318    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
12319}
12320extern "C" {
12321    #[link_name = "\u{1}aws_lc_0_26_0_CBB_did_write"]
12322    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12323}
12324extern "C" {
12325    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u8"]
12326    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
12327}
12328extern "C" {
12329    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u16"]
12330    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12331}
12332extern "C" {
12333    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u16le"]
12334    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12335}
12336extern "C" {
12337    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u24"]
12338    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12339}
12340extern "C" {
12341    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u32"]
12342    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12343}
12344extern "C" {
12345    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u32le"]
12346    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12347}
12348extern "C" {
12349    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u64"]
12350    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12351}
12352extern "C" {
12353    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_u64le"]
12354    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12355}
12356extern "C" {
12357    #[link_name = "\u{1}aws_lc_0_26_0_CBB_discard_child"]
12358    pub fn CBB_discard_child(cbb: *mut CBB);
12359}
12360extern "C" {
12361    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_uint64"]
12362    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12363}
12364extern "C" {
12365    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_uint64_with_tag"]
12366    pub fn CBB_add_asn1_uint64_with_tag(
12367        cbb: *mut CBB,
12368        value: u64,
12369        tag: CBS_ASN1_TAG,
12370    ) -> ::std::os::raw::c_int;
12371}
12372extern "C" {
12373    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_int64"]
12374    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
12375}
12376extern "C" {
12377    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_int64_with_tag"]
12378    pub fn CBB_add_asn1_int64_with_tag(
12379        cbb: *mut CBB,
12380        value: i64,
12381        tag: CBS_ASN1_TAG,
12382    ) -> ::std::os::raw::c_int;
12383}
12384extern "C" {
12385    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_octet_string"]
12386    pub fn CBB_add_asn1_octet_string(
12387        cbb: *mut CBB,
12388        data: *const u8,
12389        data_len: usize,
12390    ) -> ::std::os::raw::c_int;
12391}
12392extern "C" {
12393    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_bool"]
12394    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12395}
12396extern "C" {
12397    #[link_name = "\u{1}aws_lc_0_26_0_CBB_add_asn1_oid_from_text"]
12398    pub fn CBB_add_asn1_oid_from_text(
12399        cbb: *mut CBB,
12400        text: *const ::std::os::raw::c_char,
12401        len: usize,
12402    ) -> ::std::os::raw::c_int;
12403}
12404extern "C" {
12405    #[link_name = "\u{1}aws_lc_0_26_0_CBB_flush_asn1_set_of"]
12406    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
12407}
12408extern "C" {
12409    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12410}
12411extern "C" {
12412    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12413}
12414extern "C" {
12415    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12416}
12417extern "C" {
12418    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12419}
12420extern "C" {
12421    pub fn CBB_get_utf8_len(u: u32) -> usize;
12422}
12423extern "C" {
12424    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12425}
12426extern "C" {
12427    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12428}
12429extern "C" {
12430    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12431}
12432extern "C" {
12433    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12434}
12435extern "C" {
12436    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_chacha_20"]
12437    pub fn CRYPTO_chacha_20(
12438        out: *mut u8,
12439        in_: *const u8,
12440        in_len: usize,
12441        key: *const u8,
12442        nonce: *const u8,
12443        counter: u32,
12444    );
12445}
12446extern "C" {
12447    #[link_name = "\u{1}aws_lc_0_26_0_EVP_rc4"]
12448    pub fn EVP_rc4() -> *const EVP_CIPHER;
12449}
12450extern "C" {
12451    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_cbc"]
12452    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
12453}
12454extern "C" {
12455    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ecb"]
12456    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
12457}
12458extern "C" {
12459    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ede"]
12460    pub fn EVP_des_ede() -> *const EVP_CIPHER;
12461}
12462extern "C" {
12463    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ede3"]
12464    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
12465}
12466extern "C" {
12467    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ede_cbc"]
12468    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
12469}
12470extern "C" {
12471    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ede3_cbc"]
12472    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
12473}
12474extern "C" {
12475    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_ecb"]
12476    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
12477}
12478extern "C" {
12479    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cbc"]
12480    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
12481}
12482extern "C" {
12483    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_ctr"]
12484    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
12485}
12486extern "C" {
12487    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_ofb"]
12488    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
12489}
12490extern "C" {
12491    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_ecb"]
12492    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
12493}
12494extern "C" {
12495    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cbc"]
12496    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
12497}
12498extern "C" {
12499    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_ctr"]
12500    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
12501}
12502extern "C" {
12503    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_ofb"]
12504    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
12505}
12506extern "C" {
12507    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_xts"]
12508    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
12509}
12510extern "C" {
12511    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_wrap"]
12512    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
12513}
12514extern "C" {
12515    #[link_name = "\u{1}aws_lc_0_26_0_EVP_enc_null"]
12516    pub fn EVP_enc_null() -> *const EVP_CIPHER;
12517}
12518extern "C" {
12519    #[link_name = "\u{1}aws_lc_0_26_0_EVP_rc2_cbc"]
12520    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
12521}
12522extern "C" {
12523    #[link_name = "\u{1}aws_lc_0_26_0_EVP_rc2_40_cbc"]
12524    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
12525}
12526extern "C" {
12527    #[link_name = "\u{1}aws_lc_0_26_0_EVP_chacha20_poly1305"]
12528    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
12529}
12530extern "C" {
12531    #[link_name = "\u{1}aws_lc_0_26_0_EVP_get_cipherbynid"]
12532    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
12533}
12534extern "C" {
12535    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_init"]
12536    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
12537}
12538extern "C" {
12539    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_new"]
12540    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
12541}
12542extern "C" {
12543    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_cleanup"]
12544    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12545}
12546extern "C" {
12547    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_free"]
12548    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
12549}
12550extern "C" {
12551    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_copy"]
12552    pub fn EVP_CIPHER_CTX_copy(
12553        out: *mut EVP_CIPHER_CTX,
12554        in_: *const EVP_CIPHER_CTX,
12555    ) -> ::std::os::raw::c_int;
12556}
12557extern "C" {
12558    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_reset"]
12559    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12560}
12561extern "C" {
12562    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CipherInit_ex"]
12563    pub fn EVP_CipherInit_ex(
12564        ctx: *mut EVP_CIPHER_CTX,
12565        cipher: *const EVP_CIPHER,
12566        engine: *mut ENGINE,
12567        key: *const u8,
12568        iv: *const u8,
12569        enc: ::std::os::raw::c_int,
12570    ) -> ::std::os::raw::c_int;
12571}
12572extern "C" {
12573    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncryptInit_ex"]
12574    pub fn EVP_EncryptInit_ex(
12575        ctx: *mut EVP_CIPHER_CTX,
12576        cipher: *const EVP_CIPHER,
12577        impl_: *mut ENGINE,
12578        key: *const u8,
12579        iv: *const u8,
12580    ) -> ::std::os::raw::c_int;
12581}
12582extern "C" {
12583    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecryptInit_ex"]
12584    pub fn EVP_DecryptInit_ex(
12585        ctx: *mut EVP_CIPHER_CTX,
12586        cipher: *const EVP_CIPHER,
12587        impl_: *mut ENGINE,
12588        key: *const u8,
12589        iv: *const u8,
12590    ) -> ::std::os::raw::c_int;
12591}
12592extern "C" {
12593    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncryptUpdate"]
12594    pub fn EVP_EncryptUpdate(
12595        ctx: *mut EVP_CIPHER_CTX,
12596        out: *mut u8,
12597        out_len: *mut ::std::os::raw::c_int,
12598        in_: *const u8,
12599        in_len: ::std::os::raw::c_int,
12600    ) -> ::std::os::raw::c_int;
12601}
12602extern "C" {
12603    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncryptFinal_ex"]
12604    pub fn EVP_EncryptFinal_ex(
12605        ctx: *mut EVP_CIPHER_CTX,
12606        out: *mut u8,
12607        out_len: *mut ::std::os::raw::c_int,
12608    ) -> ::std::os::raw::c_int;
12609}
12610extern "C" {
12611    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecryptUpdate"]
12612    pub fn EVP_DecryptUpdate(
12613        ctx: *mut EVP_CIPHER_CTX,
12614        out: *mut u8,
12615        out_len: *mut ::std::os::raw::c_int,
12616        in_: *const u8,
12617        in_len: ::std::os::raw::c_int,
12618    ) -> ::std::os::raw::c_int;
12619}
12620extern "C" {
12621    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecryptFinal_ex"]
12622    pub fn EVP_DecryptFinal_ex(
12623        ctx: *mut EVP_CIPHER_CTX,
12624        out: *mut u8,
12625        out_len: *mut ::std::os::raw::c_int,
12626    ) -> ::std::os::raw::c_int;
12627}
12628extern "C" {
12629    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CipherUpdate"]
12630    pub fn EVP_CipherUpdate(
12631        ctx: *mut EVP_CIPHER_CTX,
12632        out: *mut u8,
12633        out_len: *mut ::std::os::raw::c_int,
12634        in_: *const u8,
12635        in_len: ::std::os::raw::c_int,
12636    ) -> ::std::os::raw::c_int;
12637}
12638extern "C" {
12639    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CipherFinal_ex"]
12640    pub fn EVP_CipherFinal_ex(
12641        ctx: *mut EVP_CIPHER_CTX,
12642        out: *mut u8,
12643        out_len: *mut ::std::os::raw::c_int,
12644    ) -> ::std::os::raw::c_int;
12645}
12646extern "C" {
12647    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_cipher"]
12648    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12649}
12650extern "C" {
12651    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_nid"]
12652    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12653}
12654extern "C" {
12655    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_encrypting"]
12656    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12657}
12658extern "C" {
12659    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_block_size"]
12660    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12661}
12662extern "C" {
12663    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_key_length"]
12664    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12665}
12666extern "C" {
12667    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_iv_length"]
12668    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12669}
12670extern "C" {
12671    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_get_app_data"]
12672    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12673}
12674extern "C" {
12675    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_set_app_data"]
12676    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12677}
12678extern "C" {
12679    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_flags"]
12680    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12681}
12682extern "C" {
12683    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_mode"]
12684    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12685}
12686extern "C" {
12687    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_ctrl"]
12688    pub fn EVP_CIPHER_CTX_ctrl(
12689        ctx: *mut EVP_CIPHER_CTX,
12690        command: ::std::os::raw::c_int,
12691        arg: ::std::os::raw::c_int,
12692        ptr: *mut ::std::os::raw::c_void,
12693    ) -> ::std::os::raw::c_int;
12694}
12695extern "C" {
12696    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_set_padding"]
12697    pub fn EVP_CIPHER_CTX_set_padding(
12698        ctx: *mut EVP_CIPHER_CTX,
12699        pad: ::std::os::raw::c_int,
12700    ) -> ::std::os::raw::c_int;
12701}
12702extern "C" {
12703    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_set_key_length"]
12704    pub fn EVP_CIPHER_CTX_set_key_length(
12705        ctx: *mut EVP_CIPHER_CTX,
12706        key_len: ::std::os::raw::c_uint,
12707    ) -> ::std::os::raw::c_int;
12708}
12709extern "C" {
12710    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_nid"]
12711    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12712}
12713extern "C" {
12714    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_name"]
12715    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12716}
12717extern "C" {
12718    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_block_size"]
12719    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12720}
12721extern "C" {
12722    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_key_length"]
12723    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12724}
12725extern "C" {
12726    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_iv_length"]
12727    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12728}
12729extern "C" {
12730    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_flags"]
12731    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12732}
12733extern "C" {
12734    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_mode"]
12735    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12736}
12737extern "C" {
12738    #[link_name = "\u{1}aws_lc_0_26_0_EVP_BytesToKey"]
12739    pub fn EVP_BytesToKey(
12740        type_: *const EVP_CIPHER,
12741        md: *const EVP_MD,
12742        salt: *const u8,
12743        data: *const u8,
12744        data_len: usize,
12745        count: ::std::os::raw::c_uint,
12746        key: *mut u8,
12747        iv: *mut u8,
12748    ) -> ::std::os::raw::c_int;
12749}
12750extern "C" {
12751    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cbc_hmac_sha1"]
12752    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12753}
12754extern "C" {
12755    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cbc_hmac_sha1"]
12756    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12757}
12758extern "C" {
12759    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cbc_hmac_sha256"]
12760    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12761}
12762extern "C" {
12763    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cbc_hmac_sha256"]
12764    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12765}
12766extern "C" {
12767    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CipherInit"]
12768    pub fn EVP_CipherInit(
12769        ctx: *mut EVP_CIPHER_CTX,
12770        cipher: *const EVP_CIPHER,
12771        key: *const u8,
12772        iv: *const u8,
12773        enc: ::std::os::raw::c_int,
12774    ) -> ::std::os::raw::c_int;
12775}
12776extern "C" {
12777    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncryptInit"]
12778    pub fn EVP_EncryptInit(
12779        ctx: *mut EVP_CIPHER_CTX,
12780        cipher: *const EVP_CIPHER,
12781        key: *const u8,
12782        iv: *const u8,
12783    ) -> ::std::os::raw::c_int;
12784}
12785extern "C" {
12786    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecryptInit"]
12787    pub fn EVP_DecryptInit(
12788        ctx: *mut EVP_CIPHER_CTX,
12789        cipher: *const EVP_CIPHER,
12790        key: *const u8,
12791        iv: *const u8,
12792    ) -> ::std::os::raw::c_int;
12793}
12794extern "C" {
12795    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CipherFinal"]
12796    pub fn EVP_CipherFinal(
12797        ctx: *mut EVP_CIPHER_CTX,
12798        out: *mut u8,
12799        out_len: *mut ::std::os::raw::c_int,
12800    ) -> ::std::os::raw::c_int;
12801}
12802extern "C" {
12803    #[link_name = "\u{1}aws_lc_0_26_0_EVP_EncryptFinal"]
12804    pub fn EVP_EncryptFinal(
12805        ctx: *mut EVP_CIPHER_CTX,
12806        out: *mut u8,
12807        out_len: *mut ::std::os::raw::c_int,
12808    ) -> ::std::os::raw::c_int;
12809}
12810extern "C" {
12811    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DecryptFinal"]
12812    pub fn EVP_DecryptFinal(
12813        ctx: *mut EVP_CIPHER_CTX,
12814        out: *mut u8,
12815        out_len: *mut ::std::os::raw::c_int,
12816    ) -> ::std::os::raw::c_int;
12817}
12818extern "C" {
12819    #[link_name = "\u{1}aws_lc_0_26_0_EVP_Cipher"]
12820    pub fn EVP_Cipher(
12821        ctx: *mut EVP_CIPHER_CTX,
12822        out: *mut u8,
12823        in_: *const u8,
12824        in_len: usize,
12825    ) -> ::std::os::raw::c_int;
12826}
12827extern "C" {
12828    #[link_name = "\u{1}aws_lc_0_26_0_EVP_get_cipherbyname"]
12829    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12830}
12831extern "C" {
12832    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_gcm"]
12833    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12834}
12835extern "C" {
12836    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_gcm"]
12837    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12838}
12839extern "C" {
12840    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_ccm"]
12841    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12842}
12843extern "C" {
12844    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_ccm"]
12845    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12846}
12847extern "C" {
12848    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_ccm"]
12849    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12850}
12851extern "C" {
12852    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_ecb"]
12853    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12854}
12855extern "C" {
12856    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_cbc"]
12857    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12858}
12859extern "C" {
12860    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_ctr"]
12861    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12862}
12863extern "C" {
12864    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_gcm"]
12865    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12866}
12867extern "C" {
12868    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_ofb"]
12869    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12870}
12871extern "C" {
12872    #[link_name = "\u{1}aws_lc_0_26_0_EVP_des_ede3_ecb"]
12873    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12874}
12875extern "C" {
12876    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cfb128"]
12877    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12878}
12879extern "C" {
12880    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cfb"]
12881    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12882}
12883extern "C" {
12884    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cfb1"]
12885    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12886}
12887extern "C" {
12888    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_128_cfb8"]
12889    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12890}
12891extern "C" {
12892    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_cfb128"]
12893    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12894}
12895extern "C" {
12896    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_cfb"]
12897    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12898}
12899extern "C" {
12900    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_cfb1"]
12901    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12902}
12903extern "C" {
12904    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_192_cfb8"]
12905    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12906}
12907extern "C" {
12908    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cfb128"]
12909    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12910}
12911extern "C" {
12912    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cfb"]
12913    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12914}
12915extern "C" {
12916    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cfb1"]
12917    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12918}
12919extern "C" {
12920    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aes_256_cfb8"]
12921    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12922}
12923extern "C" {
12924    #[link_name = "\u{1}aws_lc_0_26_0_EVP_bf_ecb"]
12925    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12926}
12927extern "C" {
12928    #[link_name = "\u{1}aws_lc_0_26_0_EVP_bf_cbc"]
12929    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12930}
12931extern "C" {
12932    #[link_name = "\u{1}aws_lc_0_26_0_EVP_bf_cfb"]
12933    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12934}
12935extern "C" {
12936    #[link_name = "\u{1}aws_lc_0_26_0_EVP_cast5_ecb"]
12937    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12938}
12939extern "C" {
12940    #[link_name = "\u{1}aws_lc_0_26_0_EVP_cast5_cbc"]
12941    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12942}
12943extern "C" {
12944    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_CTX_set_flags"]
12945    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12946}
12947extern "C" {
12948    #[link_name = "\u{1}aws_lc_0_26_0_EVP_add_cipher_alias"]
12949    pub fn EVP_add_cipher_alias(
12950        a: *const ::std::os::raw::c_char,
12951        b: *const ::std::os::raw::c_char,
12952    ) -> ::std::os::raw::c_int;
12953}
12954#[repr(C)]
12955#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12956pub struct evp_cipher_ctx_st {
12957    pub cipher: *const EVP_CIPHER,
12958    pub app_data: *mut ::std::os::raw::c_void,
12959    pub cipher_data: *mut ::std::os::raw::c_void,
12960    pub key_len: ::std::os::raw::c_uint,
12961    pub encrypt: ::std::os::raw::c_int,
12962    pub flags: u32,
12963    pub oiv: [u8; 16usize],
12964    pub iv: [u8; 16usize],
12965    pub buf: [u8; 32usize],
12966    pub buf_len: ::std::os::raw::c_int,
12967    pub num: ::std::os::raw::c_uint,
12968    pub final_used: ::std::os::raw::c_int,
12969    pub final_: [u8; 32usize],
12970    pub poisoned: ::std::os::raw::c_int,
12971}
12972#[test]
12973fn bindgen_test_layout_evp_cipher_ctx_st() {
12974    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12975    let ptr = UNINIT.as_ptr();
12976    assert_eq!(
12977        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12978        136usize,
12979        concat!("Size of: ", stringify!(evp_cipher_ctx_st))
12980    );
12981    assert_eq!(
12982        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12983        4usize,
12984        concat!("Alignment of ", stringify!(evp_cipher_ctx_st))
12985    );
12986    assert_eq!(
12987        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12988        0usize,
12989        concat!(
12990            "Offset of field: ",
12991            stringify!(evp_cipher_ctx_st),
12992            "::",
12993            stringify!(cipher)
12994        )
12995    );
12996    assert_eq!(
12997        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12998        4usize,
12999        concat!(
13000            "Offset of field: ",
13001            stringify!(evp_cipher_ctx_st),
13002            "::",
13003            stringify!(app_data)
13004        )
13005    );
13006    assert_eq!(
13007        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
13008        8usize,
13009        concat!(
13010            "Offset of field: ",
13011            stringify!(evp_cipher_ctx_st),
13012            "::",
13013            stringify!(cipher_data)
13014        )
13015    );
13016    assert_eq!(
13017        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
13018        12usize,
13019        concat!(
13020            "Offset of field: ",
13021            stringify!(evp_cipher_ctx_st),
13022            "::",
13023            stringify!(key_len)
13024        )
13025    );
13026    assert_eq!(
13027        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
13028        16usize,
13029        concat!(
13030            "Offset of field: ",
13031            stringify!(evp_cipher_ctx_st),
13032            "::",
13033            stringify!(encrypt)
13034        )
13035    );
13036    assert_eq!(
13037        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13038        20usize,
13039        concat!(
13040            "Offset of field: ",
13041            stringify!(evp_cipher_ctx_st),
13042            "::",
13043            stringify!(flags)
13044        )
13045    );
13046    assert_eq!(
13047        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
13048        24usize,
13049        concat!(
13050            "Offset of field: ",
13051            stringify!(evp_cipher_ctx_st),
13052            "::",
13053            stringify!(oiv)
13054        )
13055    );
13056    assert_eq!(
13057        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13058        40usize,
13059        concat!(
13060            "Offset of field: ",
13061            stringify!(evp_cipher_ctx_st),
13062            "::",
13063            stringify!(iv)
13064        )
13065    );
13066    assert_eq!(
13067        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
13068        56usize,
13069        concat!(
13070            "Offset of field: ",
13071            stringify!(evp_cipher_ctx_st),
13072            "::",
13073            stringify!(buf)
13074        )
13075    );
13076    assert_eq!(
13077        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
13078        88usize,
13079        concat!(
13080            "Offset of field: ",
13081            stringify!(evp_cipher_ctx_st),
13082            "::",
13083            stringify!(buf_len)
13084        )
13085    );
13086    assert_eq!(
13087        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
13088        92usize,
13089        concat!(
13090            "Offset of field: ",
13091            stringify!(evp_cipher_ctx_st),
13092            "::",
13093            stringify!(num)
13094        )
13095    );
13096    assert_eq!(
13097        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
13098        96usize,
13099        concat!(
13100            "Offset of field: ",
13101            stringify!(evp_cipher_ctx_st),
13102            "::",
13103            stringify!(final_used)
13104        )
13105    );
13106    assert_eq!(
13107        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
13108        100usize,
13109        concat!(
13110            "Offset of field: ",
13111            stringify!(evp_cipher_ctx_st),
13112            "::",
13113            stringify!(final_)
13114        )
13115    );
13116    assert_eq!(
13117        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
13118        132usize,
13119        concat!(
13120            "Offset of field: ",
13121            stringify!(evp_cipher_ctx_st),
13122            "::",
13123            stringify!(poisoned)
13124        )
13125    );
13126}
13127impl Default for evp_cipher_ctx_st {
13128    fn default() -> Self {
13129        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13130        unsafe {
13131            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13132            s.assume_init()
13133        }
13134    }
13135}
13136#[repr(C)]
13137#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13138pub struct evp_cipher_info_st {
13139    pub cipher: *const EVP_CIPHER,
13140    pub iv: [::std::os::raw::c_uchar; 16usize],
13141}
13142#[test]
13143fn bindgen_test_layout_evp_cipher_info_st() {
13144    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
13145    let ptr = UNINIT.as_ptr();
13146    assert_eq!(
13147        ::std::mem::size_of::<evp_cipher_info_st>(),
13148        20usize,
13149        concat!("Size of: ", stringify!(evp_cipher_info_st))
13150    );
13151    assert_eq!(
13152        ::std::mem::align_of::<evp_cipher_info_st>(),
13153        4usize,
13154        concat!("Alignment of ", stringify!(evp_cipher_info_st))
13155    );
13156    assert_eq!(
13157        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
13158        0usize,
13159        concat!(
13160            "Offset of field: ",
13161            stringify!(evp_cipher_info_st),
13162            "::",
13163            stringify!(cipher)
13164        )
13165    );
13166    assert_eq!(
13167        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13168        4usize,
13169        concat!(
13170            "Offset of field: ",
13171            stringify!(evp_cipher_info_st),
13172            "::",
13173            stringify!(iv)
13174        )
13175    );
13176}
13177impl Default for evp_cipher_info_st {
13178    fn default() -> Self {
13179        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13180        unsafe {
13181            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13182            s.assume_init()
13183        }
13184    }
13185}
13186pub type EVP_CIPHER_INFO = evp_cipher_info_st;
13187extern "C" {
13188    #[link_name = "\u{1}aws_lc_0_26_0_AES_CMAC"]
13189    pub fn AES_CMAC(
13190        out: *mut u8,
13191        key: *const u8,
13192        key_len: usize,
13193        in_: *const u8,
13194        in_len: usize,
13195    ) -> ::std::os::raw::c_int;
13196}
13197extern "C" {
13198    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_CTX_new"]
13199    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
13200}
13201extern "C" {
13202    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_CTX_free"]
13203    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
13204}
13205extern "C" {
13206    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_CTX_copy"]
13207    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
13208}
13209extern "C" {
13210    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_Init"]
13211    pub fn CMAC_Init(
13212        ctx: *mut CMAC_CTX,
13213        key: *const ::std::os::raw::c_void,
13214        key_len: usize,
13215        cipher: *const EVP_CIPHER,
13216        engine: *mut ENGINE,
13217    ) -> ::std::os::raw::c_int;
13218}
13219extern "C" {
13220    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_Reset"]
13221    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
13222}
13223extern "C" {
13224    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_Update"]
13225    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
13226}
13227extern "C" {
13228    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_Final"]
13229    pub fn CMAC_Final(
13230        ctx: *mut CMAC_CTX,
13231        out: *mut u8,
13232        out_len: *mut usize,
13233    ) -> ::std::os::raw::c_int;
13234}
13235extern "C" {
13236    #[link_name = "\u{1}aws_lc_0_26_0_CMAC_CTX_get0_cipher_ctx"]
13237    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
13238}
13239#[repr(C)]
13240#[derive(Debug, Copy, Clone)]
13241pub struct lhash_st {
13242    _unused: [u8; 0],
13243}
13244pub type _LHASH = lhash_st;
13245extern "C" {
13246    #[link_name = "\u{1}aws_lc_0_26_0_lh_doall_arg"]
13247    pub fn lh_doall_arg(
13248        lh: *mut _LHASH,
13249        func: ::std::option::Option<
13250            unsafe extern "C" fn(
13251                arg1: *mut ::std::os::raw::c_void,
13252                arg2: *mut ::std::os::raw::c_void,
13253            ),
13254        >,
13255        arg: *mut ::std::os::raw::c_void,
13256    );
13257}
13258#[repr(C)]
13259#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13260pub struct conf_value_st {
13261    pub section: *mut ::std::os::raw::c_char,
13262    pub name: *mut ::std::os::raw::c_char,
13263    pub value: *mut ::std::os::raw::c_char,
13264}
13265#[test]
13266fn bindgen_test_layout_conf_value_st() {
13267    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
13268    let ptr = UNINIT.as_ptr();
13269    assert_eq!(
13270        ::std::mem::size_of::<conf_value_st>(),
13271        12usize,
13272        concat!("Size of: ", stringify!(conf_value_st))
13273    );
13274    assert_eq!(
13275        ::std::mem::align_of::<conf_value_st>(),
13276        4usize,
13277        concat!("Alignment of ", stringify!(conf_value_st))
13278    );
13279    assert_eq!(
13280        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
13281        0usize,
13282        concat!(
13283            "Offset of field: ",
13284            stringify!(conf_value_st),
13285            "::",
13286            stringify!(section)
13287        )
13288    );
13289    assert_eq!(
13290        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13291        4usize,
13292        concat!(
13293            "Offset of field: ",
13294            stringify!(conf_value_st),
13295            "::",
13296            stringify!(name)
13297        )
13298    );
13299    assert_eq!(
13300        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13301        8usize,
13302        concat!(
13303            "Offset of field: ",
13304            stringify!(conf_value_st),
13305            "::",
13306            stringify!(value)
13307        )
13308    );
13309}
13310impl Default for conf_value_st {
13311    fn default() -> Self {
13312        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13313        unsafe {
13314            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13315            s.assume_init()
13316        }
13317    }
13318}
13319#[repr(C)]
13320#[derive(Debug, Copy, Clone)]
13321pub struct stack_st_CONF_VALUE {
13322    _unused: [u8; 0],
13323}
13324pub type sk_CONF_VALUE_free_func =
13325    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
13326pub type sk_CONF_VALUE_copy_func =
13327    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
13328pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
13329    unsafe extern "C" fn(
13330        arg1: *const *const CONF_VALUE,
13331        arg2: *const *const CONF_VALUE,
13332    ) -> ::std::os::raw::c_int,
13333>;
13334pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
13335    unsafe extern "C" fn(
13336        arg1: *mut CONF_VALUE,
13337        arg2: *mut ::std::os::raw::c_void,
13338    ) -> ::std::os::raw::c_int,
13339>;
13340#[repr(C)]
13341#[derive(Debug, Copy, Clone)]
13342pub struct lhash_st_CONF_VALUE {
13343    _unused: [u8; 0],
13344}
13345#[repr(C)]
13346#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13347pub struct conf_st {
13348    pub data: *mut lhash_st_CONF_VALUE,
13349}
13350#[test]
13351fn bindgen_test_layout_conf_st() {
13352    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
13353    let ptr = UNINIT.as_ptr();
13354    assert_eq!(
13355        ::std::mem::size_of::<conf_st>(),
13356        4usize,
13357        concat!("Size of: ", stringify!(conf_st))
13358    );
13359    assert_eq!(
13360        ::std::mem::align_of::<conf_st>(),
13361        4usize,
13362        concat!("Alignment of ", stringify!(conf_st))
13363    );
13364    assert_eq!(
13365        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13366        0usize,
13367        concat!(
13368            "Offset of field: ",
13369            stringify!(conf_st),
13370            "::",
13371            stringify!(data)
13372        )
13373    );
13374}
13375impl Default for conf_st {
13376    fn default() -> Self {
13377        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13378        unsafe {
13379            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13380            s.assume_init()
13381        }
13382    }
13383}
13384extern "C" {
13385    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_new"]
13386    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
13387}
13388extern "C" {
13389    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_free"]
13390    pub fn NCONF_free(conf: *mut CONF);
13391}
13392extern "C" {
13393    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_load"]
13394    pub fn NCONF_load(
13395        conf: *mut CONF,
13396        filename: *const ::std::os::raw::c_char,
13397        out_error_line: *mut ::std::os::raw::c_long,
13398    ) -> ::std::os::raw::c_int;
13399}
13400extern "C" {
13401    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_load_bio"]
13402    pub fn NCONF_load_bio(
13403        conf: *mut CONF,
13404        bio: *mut BIO,
13405        out_error_line: *mut ::std::os::raw::c_long,
13406    ) -> ::std::os::raw::c_int;
13407}
13408extern "C" {
13409    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_get_section"]
13410    pub fn NCONF_get_section(
13411        conf: *const CONF,
13412        section: *const ::std::os::raw::c_char,
13413    ) -> *const stack_st_CONF_VALUE;
13414}
13415extern "C" {
13416    #[link_name = "\u{1}aws_lc_0_26_0_NCONF_get_string"]
13417    pub fn NCONF_get_string(
13418        conf: *const CONF,
13419        section: *const ::std::os::raw::c_char,
13420        name: *const ::std::os::raw::c_char,
13421    ) -> *const ::std::os::raw::c_char;
13422}
13423extern "C" {
13424    #[link_name = "\u{1}aws_lc_0_26_0_CONF_modules_load_file"]
13425    pub fn CONF_modules_load_file(
13426        filename: *const ::std::os::raw::c_char,
13427        appname: *const ::std::os::raw::c_char,
13428        flags: ::std::os::raw::c_ulong,
13429    ) -> ::std::os::raw::c_int;
13430}
13431extern "C" {
13432    #[link_name = "\u{1}aws_lc_0_26_0_CONF_get1_default_config_file"]
13433    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
13434}
13435extern "C" {
13436    #[link_name = "\u{1}aws_lc_0_26_0_CONF_modules_free"]
13437    pub fn CONF_modules_free();
13438}
13439extern "C" {
13440    #[link_name = "\u{1}aws_lc_0_26_0_CONF_modules_unload"]
13441    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
13442}
13443extern "C" {
13444    #[link_name = "\u{1}aws_lc_0_26_0_CONF_modules_finish"]
13445    pub fn CONF_modules_finish();
13446}
13447extern "C" {
13448    #[link_name = "\u{1}aws_lc_0_26_0_OPENSSL_config"]
13449    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
13450}
13451extern "C" {
13452    #[link_name = "\u{1}aws_lc_0_26_0_OPENSSL_no_config"]
13453    pub fn OPENSSL_no_config();
13454}
13455extern "C" {
13456    #[link_name = "\u{1}aws_lc_0_26_0_CTR_DRBG_new"]
13457    pub fn CTR_DRBG_new(
13458        entropy: *const u8,
13459        personalization: *const u8,
13460        personalization_len: usize,
13461    ) -> *mut CTR_DRBG_STATE;
13462}
13463extern "C" {
13464    #[link_name = "\u{1}aws_lc_0_26_0_CTR_DRBG_free"]
13465    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
13466}
13467extern "C" {
13468    #[link_name = "\u{1}aws_lc_0_26_0_CTR_DRBG_reseed"]
13469    pub fn CTR_DRBG_reseed(
13470        drbg: *mut CTR_DRBG_STATE,
13471        entropy: *const u8,
13472        additional_data: *const u8,
13473        additional_data_len: usize,
13474    ) -> ::std::os::raw::c_int;
13475}
13476extern "C" {
13477    #[link_name = "\u{1}aws_lc_0_26_0_CTR_DRBG_generate"]
13478    pub fn CTR_DRBG_generate(
13479        drbg: *mut CTR_DRBG_STATE,
13480        out: *mut u8,
13481        out_len: usize,
13482        additional_data: *const u8,
13483        additional_data_len: usize,
13484    ) -> ::std::os::raw::c_int;
13485}
13486extern "C" {
13487    #[link_name = "\u{1}aws_lc_0_26_0_CTR_DRBG_clear"]
13488    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
13489}
13490extern "C" {
13491    #[link_name = "\u{1}aws_lc_0_26_0_X25519_keypair"]
13492    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
13493}
13494extern "C" {
13495    #[link_name = "\u{1}aws_lc_0_26_0_X25519"]
13496    pub fn X25519(
13497        out_shared_key: *mut u8,
13498        private_key: *const u8,
13499        peer_public_value: *const u8,
13500    ) -> ::std::os::raw::c_int;
13501}
13502extern "C" {
13503    #[link_name = "\u{1}aws_lc_0_26_0_X25519_public_from_private"]
13504    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
13505}
13506extern "C" {
13507    #[link_name = "\u{1}aws_lc_0_26_0_ED25519_keypair"]
13508    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
13509}
13510extern "C" {
13511    #[link_name = "\u{1}aws_lc_0_26_0_ED25519_sign"]
13512    pub fn ED25519_sign(
13513        out_sig: *mut u8,
13514        message: *const u8,
13515        message_len: usize,
13516        private_key: *const u8,
13517    ) -> ::std::os::raw::c_int;
13518}
13519extern "C" {
13520    #[link_name = "\u{1}aws_lc_0_26_0_ED25519_verify"]
13521    pub fn ED25519_verify(
13522        message: *const u8,
13523        message_len: usize,
13524        signature: *const u8,
13525        public_key: *const u8,
13526    ) -> ::std::os::raw::c_int;
13527}
13528extern "C" {
13529    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ctx_sign"]
13530    pub fn ED25519ctx_sign(
13531        out_sig: *mut u8,
13532        message: *const u8,
13533        message_len: usize,
13534        private_key: *const u8,
13535        context: *const u8,
13536        context_len: usize,
13537    ) -> ::std::os::raw::c_int;
13538}
13539extern "C" {
13540    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ctx_verify"]
13541    pub fn ED25519ctx_verify(
13542        message: *const u8,
13543        message_len: usize,
13544        signature: *const u8,
13545        public_key: *const u8,
13546        context: *const u8,
13547        context_len: usize,
13548    ) -> ::std::os::raw::c_int;
13549}
13550extern "C" {
13551    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ph_sign"]
13552    pub fn ED25519ph_sign(
13553        out_sig: *mut u8,
13554        message: *const u8,
13555        message_len: usize,
13556        private_key: *const u8,
13557        context: *const u8,
13558        context_len: usize,
13559    ) -> ::std::os::raw::c_int;
13560}
13561extern "C" {
13562    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ph_verify"]
13563    pub fn ED25519ph_verify(
13564        message: *const u8,
13565        message_len: usize,
13566        signature: *const u8,
13567        public_key: *const u8,
13568        context: *const u8,
13569        context_len: usize,
13570    ) -> ::std::os::raw::c_int;
13571}
13572extern "C" {
13573    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ph_sign_digest"]
13574    pub fn ED25519ph_sign_digest(
13575        out_sig: *mut u8,
13576        digest: *const u8,
13577        private_key: *const u8,
13578        context: *const u8,
13579        context_len: usize,
13580    ) -> ::std::os::raw::c_int;
13581}
13582extern "C" {
13583    #[link_name = "\u{1}aws_lc_0_26_0_ED25519ph_verify_digest"]
13584    pub fn ED25519ph_verify_digest(
13585        digest: *const u8,
13586        signature: *const u8,
13587        public_key: *const u8,
13588        context: *const u8,
13589        context_len: usize,
13590    ) -> ::std::os::raw::c_int;
13591}
13592extern "C" {
13593    #[link_name = "\u{1}aws_lc_0_26_0_ED25519_keypair_from_seed"]
13594    pub fn ED25519_keypair_from_seed(
13595        out_public_key: *mut u8,
13596        out_private_key: *mut u8,
13597        seed: *const u8,
13598    );
13599}
13600pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
13601pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
13602pub type spake2_role_t = ::std::os::raw::c_uint;
13603extern "C" {
13604    #[link_name = "\u{1}aws_lc_0_26_0_SPAKE2_CTX_new"]
13605    pub fn SPAKE2_CTX_new(
13606        my_role: spake2_role_t,
13607        my_name: *const u8,
13608        my_name_len: usize,
13609        their_name: *const u8,
13610        their_name_len: usize,
13611    ) -> *mut SPAKE2_CTX;
13612}
13613extern "C" {
13614    #[link_name = "\u{1}aws_lc_0_26_0_SPAKE2_CTX_free"]
13615    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
13616}
13617extern "C" {
13618    #[link_name = "\u{1}aws_lc_0_26_0_SPAKE2_generate_msg"]
13619    pub fn SPAKE2_generate_msg(
13620        ctx: *mut SPAKE2_CTX,
13621        out: *mut u8,
13622        out_len: *mut usize,
13623        max_out_len: usize,
13624        password: *const u8,
13625        password_len: usize,
13626    ) -> ::std::os::raw::c_int;
13627}
13628extern "C" {
13629    #[link_name = "\u{1}aws_lc_0_26_0_SPAKE2_process_msg"]
13630    pub fn SPAKE2_process_msg(
13631        ctx: *mut SPAKE2_CTX,
13632        out_key: *mut u8,
13633        out_key_len: *mut usize,
13634        max_out_key_len: usize,
13635        their_msg: *const u8,
13636        their_msg_len: usize,
13637    ) -> ::std::os::raw::c_int;
13638}
13639#[repr(C)]
13640#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13641pub struct DES_cblock_st {
13642    pub bytes: [u8; 8usize],
13643}
13644#[test]
13645fn bindgen_test_layout_DES_cblock_st() {
13646    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
13647    let ptr = UNINIT.as_ptr();
13648    assert_eq!(
13649        ::std::mem::size_of::<DES_cblock_st>(),
13650        8usize,
13651        concat!("Size of: ", stringify!(DES_cblock_st))
13652    );
13653    assert_eq!(
13654        ::std::mem::align_of::<DES_cblock_st>(),
13655        1usize,
13656        concat!("Alignment of ", stringify!(DES_cblock_st))
13657    );
13658    assert_eq!(
13659        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
13660        0usize,
13661        concat!(
13662            "Offset of field: ",
13663            stringify!(DES_cblock_st),
13664            "::",
13665            stringify!(bytes)
13666        )
13667    );
13668}
13669pub type DES_cblock = DES_cblock_st;
13670#[repr(C)]
13671#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13672pub struct DES_ks {
13673    pub subkeys: [[u32; 2usize]; 16usize],
13674}
13675#[test]
13676fn bindgen_test_layout_DES_ks() {
13677    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
13678    let ptr = UNINIT.as_ptr();
13679    assert_eq!(
13680        ::std::mem::size_of::<DES_ks>(),
13681        128usize,
13682        concat!("Size of: ", stringify!(DES_ks))
13683    );
13684    assert_eq!(
13685        ::std::mem::align_of::<DES_ks>(),
13686        4usize,
13687        concat!("Alignment of ", stringify!(DES_ks))
13688    );
13689    assert_eq!(
13690        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
13691        0usize,
13692        concat!(
13693            "Offset of field: ",
13694            stringify!(DES_ks),
13695            "::",
13696            stringify!(subkeys)
13697        )
13698    );
13699}
13700pub type DES_key_schedule = DES_ks;
13701extern "C" {
13702    #[link_name = "\u{1}aws_lc_0_26_0_DES_is_weak_key"]
13703    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
13704}
13705extern "C" {
13706    #[link_name = "\u{1}aws_lc_0_26_0_DES_set_key"]
13707    pub fn DES_set_key(
13708        key: *const DES_cblock,
13709        schedule: *mut DES_key_schedule,
13710    ) -> ::std::os::raw::c_int;
13711}
13712extern "C" {
13713    #[link_name = "\u{1}aws_lc_0_26_0_DES_set_key_unchecked"]
13714    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
13715}
13716extern "C" {
13717    #[link_name = "\u{1}aws_lc_0_26_0_DES_key_sched"]
13718    pub fn DES_key_sched(
13719        key: *const DES_cblock,
13720        schedule: *mut DES_key_schedule,
13721    ) -> ::std::os::raw::c_int;
13722}
13723extern "C" {
13724    #[link_name = "\u{1}aws_lc_0_26_0_DES_set_odd_parity"]
13725    pub fn DES_set_odd_parity(key: *mut DES_cblock);
13726}
13727extern "C" {
13728    #[link_name = "\u{1}aws_lc_0_26_0_DES_ecb_encrypt"]
13729    pub fn DES_ecb_encrypt(
13730        in_: *const DES_cblock,
13731        out: *mut DES_cblock,
13732        schedule: *const DES_key_schedule,
13733        is_encrypt: ::std::os::raw::c_int,
13734    );
13735}
13736extern "C" {
13737    #[link_name = "\u{1}aws_lc_0_26_0_DES_ncbc_encrypt"]
13738    pub fn DES_ncbc_encrypt(
13739        in_: *const u8,
13740        out: *mut u8,
13741        len: usize,
13742        schedule: *const DES_key_schedule,
13743        ivec: *mut DES_cblock,
13744        enc: ::std::os::raw::c_int,
13745    );
13746}
13747extern "C" {
13748    #[link_name = "\u{1}aws_lc_0_26_0_DES_ecb3_encrypt"]
13749    pub fn DES_ecb3_encrypt(
13750        input: *const DES_cblock,
13751        output: *mut DES_cblock,
13752        ks1: *const DES_key_schedule,
13753        ks2: *const DES_key_schedule,
13754        ks3: *const DES_key_schedule,
13755        enc: ::std::os::raw::c_int,
13756    );
13757}
13758extern "C" {
13759    #[link_name = "\u{1}aws_lc_0_26_0_DES_ede3_cbc_encrypt"]
13760    pub fn DES_ede3_cbc_encrypt(
13761        in_: *const u8,
13762        out: *mut u8,
13763        len: usize,
13764        ks1: *const DES_key_schedule,
13765        ks2: *const DES_key_schedule,
13766        ks3: *const DES_key_schedule,
13767        ivec: *mut DES_cblock,
13768        enc: ::std::os::raw::c_int,
13769    );
13770}
13771extern "C" {
13772    #[link_name = "\u{1}aws_lc_0_26_0_DES_ede2_cbc_encrypt"]
13773    pub fn DES_ede2_cbc_encrypt(
13774        in_: *const u8,
13775        out: *mut u8,
13776        len: usize,
13777        ks1: *const DES_key_schedule,
13778        ks2: *const DES_key_schedule,
13779        ivec: *mut DES_cblock,
13780        enc: ::std::os::raw::c_int,
13781    );
13782}
13783extern "C" {
13784    #[link_name = "\u{1}aws_lc_0_26_0_DH_new"]
13785    pub fn DH_new() -> *mut DH;
13786}
13787extern "C" {
13788    #[link_name = "\u{1}aws_lc_0_26_0_DH_new_by_nid"]
13789    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13790}
13791extern "C" {
13792    #[link_name = "\u{1}aws_lc_0_26_0_DH_free"]
13793    pub fn DH_free(dh: *mut DH);
13794}
13795extern "C" {
13796    #[link_name = "\u{1}aws_lc_0_26_0_DH_up_ref"]
13797    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13798}
13799extern "C" {
13800    #[link_name = "\u{1}aws_lc_0_26_0_DH_bits"]
13801    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13802}
13803extern "C" {
13804    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_pub_key"]
13805    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13806}
13807extern "C" {
13808    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_priv_key"]
13809    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13810}
13811extern "C" {
13812    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_p"]
13813    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13814}
13815extern "C" {
13816    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_q"]
13817    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13818}
13819extern "C" {
13820    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_g"]
13821    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13822}
13823extern "C" {
13824    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_key"]
13825    pub fn DH_get0_key(
13826        dh: *const DH,
13827        out_pub_key: *mut *const BIGNUM,
13828        out_priv_key: *mut *const BIGNUM,
13829    );
13830}
13831extern "C" {
13832    #[link_name = "\u{1}aws_lc_0_26_0_DH_set0_key"]
13833    pub fn DH_set0_key(
13834        dh: *mut DH,
13835        pub_key: *mut BIGNUM,
13836        priv_key: *mut BIGNUM,
13837    ) -> ::std::os::raw::c_int;
13838}
13839extern "C" {
13840    #[link_name = "\u{1}aws_lc_0_26_0_DH_get0_pqg"]
13841    pub fn DH_get0_pqg(
13842        dh: *const DH,
13843        out_p: *mut *const BIGNUM,
13844        out_q: *mut *const BIGNUM,
13845        out_g: *mut *const BIGNUM,
13846    );
13847}
13848extern "C" {
13849    #[link_name = "\u{1}aws_lc_0_26_0_DH_set0_pqg"]
13850    pub fn DH_set0_pqg(
13851        dh: *mut DH,
13852        p: *mut BIGNUM,
13853        q: *mut BIGNUM,
13854        g: *mut BIGNUM,
13855    ) -> ::std::os::raw::c_int;
13856}
13857extern "C" {
13858    #[link_name = "\u{1}aws_lc_0_26_0_DH_set_length"]
13859    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13860        -> ::std::os::raw::c_int;
13861}
13862extern "C" {
13863    #[link_name = "\u{1}aws_lc_0_26_0_DH_get_rfc7919_2048"]
13864    pub fn DH_get_rfc7919_2048() -> *mut DH;
13865}
13866extern "C" {
13867    #[link_name = "\u{1}aws_lc_0_26_0_DH_get_rfc7919_4096"]
13868    pub fn DH_get_rfc7919_4096() -> *mut DH;
13869}
13870extern "C" {
13871    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_1536"]
13872    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13873}
13874extern "C" {
13875    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_2048"]
13876    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13877}
13878extern "C" {
13879    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_3072"]
13880    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13881}
13882extern "C" {
13883    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_4096"]
13884    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13885}
13886extern "C" {
13887    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_6144"]
13888    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13889}
13890extern "C" {
13891    #[link_name = "\u{1}aws_lc_0_26_0_BN_get_rfc3526_prime_8192"]
13892    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13893}
13894extern "C" {
13895    #[link_name = "\u{1}aws_lc_0_26_0_DH_generate_parameters_ex"]
13896    pub fn DH_generate_parameters_ex(
13897        dh: *mut DH,
13898        prime_bits: ::std::os::raw::c_int,
13899        generator: ::std::os::raw::c_int,
13900        cb: *mut BN_GENCB,
13901    ) -> ::std::os::raw::c_int;
13902}
13903extern "C" {
13904    #[link_name = "\u{1}aws_lc_0_26_0_DH_generate_key"]
13905    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13906}
13907extern "C" {
13908    #[link_name = "\u{1}aws_lc_0_26_0_DH_compute_key_padded"]
13909    pub fn DH_compute_key_padded(
13910        out: *mut u8,
13911        peers_key: *const BIGNUM,
13912        dh: *mut DH,
13913    ) -> ::std::os::raw::c_int;
13914}
13915extern "C" {
13916    #[link_name = "\u{1}aws_lc_0_26_0_DH_compute_key_hashed"]
13917    pub fn DH_compute_key_hashed(
13918        dh: *mut DH,
13919        out: *mut u8,
13920        out_len: *mut usize,
13921        max_out_len: usize,
13922        peers_key: *const BIGNUM,
13923        digest: *const EVP_MD,
13924    ) -> ::std::os::raw::c_int;
13925}
13926extern "C" {
13927    #[link_name = "\u{1}aws_lc_0_26_0_DH_size"]
13928    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13929}
13930extern "C" {
13931    #[link_name = "\u{1}aws_lc_0_26_0_DH_num_bits"]
13932    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13933}
13934extern "C" {
13935    #[link_name = "\u{1}aws_lc_0_26_0_DH_check"]
13936    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13937}
13938extern "C" {
13939    #[link_name = "\u{1}aws_lc_0_26_0_DH_check_pub_key"]
13940    pub fn DH_check_pub_key(
13941        dh: *const DH,
13942        pub_key: *const BIGNUM,
13943        out_flags: *mut ::std::os::raw::c_int,
13944    ) -> ::std::os::raw::c_int;
13945}
13946extern "C" {
13947    #[link_name = "\u{1}aws_lc_0_26_0_DHparams_dup"]
13948    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13949}
13950extern "C" {
13951    #[link_name = "\u{1}aws_lc_0_26_0_DH_parse_parameters"]
13952    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13953}
13954extern "C" {
13955    #[link_name = "\u{1}aws_lc_0_26_0_DH_marshal_parameters"]
13956    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13957}
13958extern "C" {
13959    #[link_name = "\u{1}aws_lc_0_26_0_DH_generate_parameters"]
13960    pub fn DH_generate_parameters(
13961        prime_len: ::std::os::raw::c_int,
13962        generator: ::std::os::raw::c_int,
13963        callback: ::std::option::Option<
13964            unsafe extern "C" fn(
13965                arg1: ::std::os::raw::c_int,
13966                arg2: ::std::os::raw::c_int,
13967                arg3: *mut ::std::os::raw::c_void,
13968            ),
13969        >,
13970        cb_arg: *mut ::std::os::raw::c_void,
13971    ) -> *mut DH;
13972}
13973extern "C" {
13974    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DHparams"]
13975    pub fn d2i_DHparams(
13976        ret: *mut *mut DH,
13977        inp: *mut *const ::std::os::raw::c_uchar,
13978        len: ::std::os::raw::c_long,
13979    ) -> *mut DH;
13980}
13981extern "C" {
13982    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DHparams"]
13983    pub fn i2d_DHparams(
13984        in_: *const DH,
13985        outp: *mut *mut ::std::os::raw::c_uchar,
13986    ) -> ::std::os::raw::c_int;
13987}
13988extern "C" {
13989    #[link_name = "\u{1}aws_lc_0_26_0_DH_compute_key"]
13990    pub fn DH_compute_key(
13991        out: *mut u8,
13992        peers_key: *const BIGNUM,
13993        dh: *mut DH,
13994    ) -> ::std::os::raw::c_int;
13995}
13996extern "C" {
13997    #[link_name = "\u{1}aws_lc_0_26_0_DH_get_2048_256"]
13998    pub fn DH_get_2048_256() -> *mut DH;
13999}
14000extern "C" {
14001    #[link_name = "\u{1}aws_lc_0_26_0_DH_clear_flags"]
14002    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
14003}
14004extern "C" {
14005    #[link_name = "\u{1}aws_lc_0_26_0_EVP_md4"]
14006    pub fn EVP_md4() -> *const EVP_MD;
14007}
14008extern "C" {
14009    #[link_name = "\u{1}aws_lc_0_26_0_EVP_md5"]
14010    pub fn EVP_md5() -> *const EVP_MD;
14011}
14012extern "C" {
14013    #[link_name = "\u{1}aws_lc_0_26_0_EVP_ripemd160"]
14014    pub fn EVP_ripemd160() -> *const EVP_MD;
14015}
14016extern "C" {
14017    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha1"]
14018    pub fn EVP_sha1() -> *const EVP_MD;
14019}
14020extern "C" {
14021    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha224"]
14022    pub fn EVP_sha224() -> *const EVP_MD;
14023}
14024extern "C" {
14025    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha256"]
14026    pub fn EVP_sha256() -> *const EVP_MD;
14027}
14028extern "C" {
14029    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha384"]
14030    pub fn EVP_sha384() -> *const EVP_MD;
14031}
14032extern "C" {
14033    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha512"]
14034    pub fn EVP_sha512() -> *const EVP_MD;
14035}
14036extern "C" {
14037    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha512_224"]
14038    pub fn EVP_sha512_224() -> *const EVP_MD;
14039}
14040extern "C" {
14041    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha512_256"]
14042    pub fn EVP_sha512_256() -> *const EVP_MD;
14043}
14044extern "C" {
14045    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha3_224"]
14046    pub fn EVP_sha3_224() -> *const EVP_MD;
14047}
14048extern "C" {
14049    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha3_256"]
14050    pub fn EVP_sha3_256() -> *const EVP_MD;
14051}
14052extern "C" {
14053    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha3_384"]
14054    pub fn EVP_sha3_384() -> *const EVP_MD;
14055}
14056extern "C" {
14057    #[link_name = "\u{1}aws_lc_0_26_0_EVP_sha3_512"]
14058    pub fn EVP_sha3_512() -> *const EVP_MD;
14059}
14060extern "C" {
14061    #[link_name = "\u{1}aws_lc_0_26_0_EVP_shake128"]
14062    pub fn EVP_shake128() -> *const EVP_MD;
14063}
14064extern "C" {
14065    #[link_name = "\u{1}aws_lc_0_26_0_EVP_shake256"]
14066    pub fn EVP_shake256() -> *const EVP_MD;
14067}
14068extern "C" {
14069    #[link_name = "\u{1}aws_lc_0_26_0_EVP_blake2b256"]
14070    pub fn EVP_blake2b256() -> *const EVP_MD;
14071}
14072extern "C" {
14073    #[link_name = "\u{1}aws_lc_0_26_0_EVP_md5_sha1"]
14074    pub fn EVP_md5_sha1() -> *const EVP_MD;
14075}
14076extern "C" {
14077    #[link_name = "\u{1}aws_lc_0_26_0_EVP_get_digestbynid"]
14078    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
14079}
14080extern "C" {
14081    #[link_name = "\u{1}aws_lc_0_26_0_EVP_get_digestbyobj"]
14082    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
14083}
14084extern "C" {
14085    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_init"]
14086    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
14087}
14088extern "C" {
14089    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_new"]
14090    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
14091}
14092extern "C" {
14093    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_cleanup"]
14094    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14095}
14096extern "C" {
14097    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_cleanse"]
14098    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
14099}
14100extern "C" {
14101    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_free"]
14102    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
14103}
14104extern "C" {
14105    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_copy_ex"]
14106    pub fn EVP_MD_CTX_copy_ex(
14107        out: *mut EVP_MD_CTX,
14108        in_: *const EVP_MD_CTX,
14109    ) -> ::std::os::raw::c_int;
14110}
14111extern "C" {
14112    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_move"]
14113    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
14114}
14115extern "C" {
14116    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_reset"]
14117    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14118}
14119extern "C" {
14120    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestInit_ex"]
14121    pub fn EVP_DigestInit_ex(
14122        ctx: *mut EVP_MD_CTX,
14123        type_: *const EVP_MD,
14124        engine: *mut ENGINE,
14125    ) -> ::std::os::raw::c_int;
14126}
14127extern "C" {
14128    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestInit"]
14129    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
14130}
14131extern "C" {
14132    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestUpdate"]
14133    pub fn EVP_DigestUpdate(
14134        ctx: *mut EVP_MD_CTX,
14135        data: *const ::std::os::raw::c_void,
14136        len: usize,
14137    ) -> ::std::os::raw::c_int;
14138}
14139extern "C" {
14140    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestFinal_ex"]
14141    pub fn EVP_DigestFinal_ex(
14142        ctx: *mut EVP_MD_CTX,
14143        md_out: *mut u8,
14144        out_size: *mut ::std::os::raw::c_uint,
14145    ) -> ::std::os::raw::c_int;
14146}
14147extern "C" {
14148    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestFinal"]
14149    pub fn EVP_DigestFinal(
14150        ctx: *mut EVP_MD_CTX,
14151        md_out: *mut u8,
14152        out_size: *mut ::std::os::raw::c_uint,
14153    ) -> ::std::os::raw::c_int;
14154}
14155extern "C" {
14156    #[link_name = "\u{1}aws_lc_0_26_0_EVP_Digest"]
14157    pub fn EVP_Digest(
14158        data: *const ::std::os::raw::c_void,
14159        len: usize,
14160        md_out: *mut u8,
14161        out_size: *mut ::std::os::raw::c_uint,
14162        type_: *const EVP_MD,
14163        impl_: *mut ENGINE,
14164    ) -> ::std::os::raw::c_int;
14165}
14166extern "C" {
14167    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_type"]
14168    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
14169}
14170extern "C" {
14171    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_flags"]
14172    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
14173}
14174extern "C" {
14175    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_size"]
14176    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
14177}
14178extern "C" {
14179    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_block_size"]
14180    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
14181}
14182extern "C" {
14183    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_md"]
14184    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
14185}
14186extern "C" {
14187    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_size"]
14188    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
14189}
14190extern "C" {
14191    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_block_size"]
14192    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
14193}
14194extern "C" {
14195    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_type"]
14196    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14197}
14198extern "C" {
14199    #[link_name = "\u{1}aws_lc_0_26_0_EVP_parse_digest_algorithm"]
14200    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
14201}
14202extern "C" {
14203    #[link_name = "\u{1}aws_lc_0_26_0_EVP_marshal_digest_algorithm"]
14204    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
14205}
14206extern "C" {
14207    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_copy"]
14208    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14209}
14210extern "C" {
14211    #[link_name = "\u{1}aws_lc_0_26_0_EVP_get_digestbyname"]
14212    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
14213}
14214extern "C" {
14215    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_create"]
14216    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
14217}
14218extern "C" {
14219    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_destroy"]
14220    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
14221}
14222extern "C" {
14223    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestFinalXOF"]
14224    pub fn EVP_DigestFinalXOF(
14225        ctx: *mut EVP_MD_CTX,
14226        out: *mut u8,
14227        len: usize,
14228    ) -> ::std::os::raw::c_int;
14229}
14230extern "C" {
14231    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_meth_get_flags"]
14232    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
14233}
14234extern "C" {
14235    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_nid"]
14236    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
14237}
14238extern "C" {
14239    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_set_pkey_ctx"]
14240    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
14241}
14242extern "C" {
14243    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_get_pkey_ctx"]
14244    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14245}
14246extern "C" {
14247    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_pkey_ctx"]
14248    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14249}
14250#[repr(C)]
14251#[derive(Debug, Copy, Clone)]
14252pub struct evp_md_pctx_ops {
14253    _unused: [u8; 0],
14254}
14255#[repr(C)]
14256#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14257pub struct env_md_ctx_st {
14258    pub digest: *const EVP_MD,
14259    pub md_data: *mut ::std::os::raw::c_void,
14260    pub update: ::std::option::Option<
14261        unsafe extern "C" fn(
14262            ctx: *mut EVP_MD_CTX,
14263            data: *const ::std::os::raw::c_void,
14264            count: usize,
14265        ),
14266    >,
14267    pub pctx: *mut EVP_PKEY_CTX,
14268    pub pctx_ops: *const evp_md_pctx_ops,
14269    pub flags: ::std::os::raw::c_ulong,
14270}
14271#[test]
14272fn bindgen_test_layout_env_md_ctx_st() {
14273    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
14274    let ptr = UNINIT.as_ptr();
14275    assert_eq!(
14276        ::std::mem::size_of::<env_md_ctx_st>(),
14277        24usize,
14278        concat!("Size of: ", stringify!(env_md_ctx_st))
14279    );
14280    assert_eq!(
14281        ::std::mem::align_of::<env_md_ctx_st>(),
14282        4usize,
14283        concat!("Alignment of ", stringify!(env_md_ctx_st))
14284    );
14285    assert_eq!(
14286        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
14287        0usize,
14288        concat!(
14289            "Offset of field: ",
14290            stringify!(env_md_ctx_st),
14291            "::",
14292            stringify!(digest)
14293        )
14294    );
14295    assert_eq!(
14296        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
14297        4usize,
14298        concat!(
14299            "Offset of field: ",
14300            stringify!(env_md_ctx_st),
14301            "::",
14302            stringify!(md_data)
14303        )
14304    );
14305    assert_eq!(
14306        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
14307        8usize,
14308        concat!(
14309            "Offset of field: ",
14310            stringify!(env_md_ctx_st),
14311            "::",
14312            stringify!(update)
14313        )
14314    );
14315    assert_eq!(
14316        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
14317        12usize,
14318        concat!(
14319            "Offset of field: ",
14320            stringify!(env_md_ctx_st),
14321            "::",
14322            stringify!(pctx)
14323        )
14324    );
14325    assert_eq!(
14326        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
14327        16usize,
14328        concat!(
14329            "Offset of field: ",
14330            stringify!(env_md_ctx_st),
14331            "::",
14332            stringify!(pctx_ops)
14333        )
14334    );
14335    assert_eq!(
14336        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
14337        20usize,
14338        concat!(
14339            "Offset of field: ",
14340            stringify!(env_md_ctx_st),
14341            "::",
14342            stringify!(flags)
14343        )
14344    );
14345}
14346impl Default for env_md_ctx_st {
14347    fn default() -> Self {
14348        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14349        unsafe {
14350            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14351            s.assume_init()
14352        }
14353    }
14354}
14355extern "C" {
14356    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_unstable_sha3_enable"]
14357    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
14358}
14359extern "C" {
14360    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_unstable_sha3_is_enabled"]
14361    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
14362}
14363extern "C" {
14364    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_CTX_set_flags"]
14365    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
14366}
14367extern "C" {
14368    #[link_name = "\u{1}aws_lc_0_26_0_EVP_add_digest"]
14369    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
14370}
14371extern "C" {
14372    #[link_name = "\u{1}aws_lc_0_26_0_EVP_md_null"]
14373    pub fn EVP_md_null() -> *const EVP_MD;
14374}
14375extern "C" {
14376    #[link_name = "\u{1}aws_lc_0_26_0_DSA_new"]
14377    pub fn DSA_new() -> *mut DSA;
14378}
14379extern "C" {
14380    #[link_name = "\u{1}aws_lc_0_26_0_DSA_free"]
14381    pub fn DSA_free(dsa: *mut DSA);
14382}
14383extern "C" {
14384    #[link_name = "\u{1}aws_lc_0_26_0_DSA_up_ref"]
14385    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
14386}
14387extern "C" {
14388    #[link_name = "\u{1}aws_lc_0_26_0_DSA_print"]
14389    pub fn DSA_print(
14390        bio: *mut BIO,
14391        dsa: *const DSA,
14392        indent: ::std::os::raw::c_int,
14393    ) -> ::std::os::raw::c_int;
14394}
14395extern "C" {
14396    #[link_name = "\u{1}aws_lc_0_26_0_DSA_print_fp"]
14397    pub fn DSA_print_fp(
14398        fp: *mut FILE,
14399        dsa: *const DSA,
14400        indent: ::std::os::raw::c_int,
14401    ) -> ::std::os::raw::c_int;
14402}
14403extern "C" {
14404    #[link_name = "\u{1}aws_lc_0_26_0_DSA_bits"]
14405    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
14406}
14407extern "C" {
14408    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_pub_key"]
14409    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
14410}
14411extern "C" {
14412    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_priv_key"]
14413    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
14414}
14415extern "C" {
14416    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_p"]
14417    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
14418}
14419extern "C" {
14420    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_q"]
14421    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
14422}
14423extern "C" {
14424    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_g"]
14425    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
14426}
14427extern "C" {
14428    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_key"]
14429    pub fn DSA_get0_key(
14430        dsa: *const DSA,
14431        out_pub_key: *mut *const BIGNUM,
14432        out_priv_key: *mut *const BIGNUM,
14433    );
14434}
14435extern "C" {
14436    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get0_pqg"]
14437    pub fn DSA_get0_pqg(
14438        dsa: *const DSA,
14439        out_p: *mut *const BIGNUM,
14440        out_q: *mut *const BIGNUM,
14441        out_g: *mut *const BIGNUM,
14442    );
14443}
14444extern "C" {
14445    #[link_name = "\u{1}aws_lc_0_26_0_DSA_set0_key"]
14446    pub fn DSA_set0_key(
14447        dsa: *mut DSA,
14448        pub_key: *mut BIGNUM,
14449        priv_key: *mut BIGNUM,
14450    ) -> ::std::os::raw::c_int;
14451}
14452extern "C" {
14453    #[link_name = "\u{1}aws_lc_0_26_0_DSA_set0_pqg"]
14454    pub fn DSA_set0_pqg(
14455        dsa: *mut DSA,
14456        p: *mut BIGNUM,
14457        q: *mut BIGNUM,
14458        g: *mut BIGNUM,
14459    ) -> ::std::os::raw::c_int;
14460}
14461extern "C" {
14462    #[link_name = "\u{1}aws_lc_0_26_0_DSA_generate_parameters_ex"]
14463    pub fn DSA_generate_parameters_ex(
14464        dsa: *mut DSA,
14465        bits: ::std::os::raw::c_uint,
14466        seed: *const u8,
14467        seed_len: usize,
14468        out_counter: *mut ::std::os::raw::c_int,
14469        out_h: *mut ::std::os::raw::c_ulong,
14470        cb: *mut BN_GENCB,
14471    ) -> ::std::os::raw::c_int;
14472}
14473extern "C" {
14474    #[link_name = "\u{1}aws_lc_0_26_0_DSAparams_dup"]
14475    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
14476}
14477extern "C" {
14478    #[link_name = "\u{1}aws_lc_0_26_0_DSA_generate_key"]
14479    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
14480}
14481#[repr(C)]
14482#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14483pub struct DSA_SIG_st {
14484    pub r: *mut BIGNUM,
14485    pub s: *mut BIGNUM,
14486}
14487#[test]
14488fn bindgen_test_layout_DSA_SIG_st() {
14489    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
14490    let ptr = UNINIT.as_ptr();
14491    assert_eq!(
14492        ::std::mem::size_of::<DSA_SIG_st>(),
14493        8usize,
14494        concat!("Size of: ", stringify!(DSA_SIG_st))
14495    );
14496    assert_eq!(
14497        ::std::mem::align_of::<DSA_SIG_st>(),
14498        4usize,
14499        concat!("Alignment of ", stringify!(DSA_SIG_st))
14500    );
14501    assert_eq!(
14502        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14503        0usize,
14504        concat!(
14505            "Offset of field: ",
14506            stringify!(DSA_SIG_st),
14507            "::",
14508            stringify!(r)
14509        )
14510    );
14511    assert_eq!(
14512        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14513        4usize,
14514        concat!(
14515            "Offset of field: ",
14516            stringify!(DSA_SIG_st),
14517            "::",
14518            stringify!(s)
14519        )
14520    );
14521}
14522impl Default for DSA_SIG_st {
14523    fn default() -> Self {
14524        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14525        unsafe {
14526            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14527            s.assume_init()
14528        }
14529    }
14530}
14531extern "C" {
14532    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_new"]
14533    pub fn DSA_SIG_new() -> *mut DSA_SIG;
14534}
14535extern "C" {
14536    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_free"]
14537    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
14538}
14539extern "C" {
14540    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_get0"]
14541    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
14542}
14543extern "C" {
14544    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_set0"]
14545    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
14546        -> ::std::os::raw::c_int;
14547}
14548extern "C" {
14549    #[link_name = "\u{1}aws_lc_0_26_0_DSA_do_sign"]
14550    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
14551}
14552extern "C" {
14553    #[link_name = "\u{1}aws_lc_0_26_0_DSA_do_verify"]
14554    pub fn DSA_do_verify(
14555        digest: *const u8,
14556        digest_len: usize,
14557        sig: *const DSA_SIG,
14558        dsa: *const DSA,
14559    ) -> ::std::os::raw::c_int;
14560}
14561extern "C" {
14562    #[link_name = "\u{1}aws_lc_0_26_0_DSA_do_check_signature"]
14563    pub fn DSA_do_check_signature(
14564        out_valid: *mut ::std::os::raw::c_int,
14565        digest: *const u8,
14566        digest_len: usize,
14567        sig: *const DSA_SIG,
14568        dsa: *const DSA,
14569    ) -> ::std::os::raw::c_int;
14570}
14571extern "C" {
14572    #[link_name = "\u{1}aws_lc_0_26_0_DSA_sign"]
14573    pub fn DSA_sign(
14574        type_: ::std::os::raw::c_int,
14575        digest: *const u8,
14576        digest_len: usize,
14577        out_sig: *mut u8,
14578        out_siglen: *mut ::std::os::raw::c_uint,
14579        dsa: *const DSA,
14580    ) -> ::std::os::raw::c_int;
14581}
14582extern "C" {
14583    #[link_name = "\u{1}aws_lc_0_26_0_DSA_verify"]
14584    pub fn DSA_verify(
14585        type_: ::std::os::raw::c_int,
14586        digest: *const u8,
14587        digest_len: usize,
14588        sig: *const u8,
14589        sig_len: usize,
14590        dsa: *const DSA,
14591    ) -> ::std::os::raw::c_int;
14592}
14593extern "C" {
14594    #[link_name = "\u{1}aws_lc_0_26_0_DSA_check_signature"]
14595    pub fn DSA_check_signature(
14596        out_valid: *mut ::std::os::raw::c_int,
14597        digest: *const u8,
14598        digest_len: usize,
14599        sig: *const u8,
14600        sig_len: usize,
14601        dsa: *const DSA,
14602    ) -> ::std::os::raw::c_int;
14603}
14604extern "C" {
14605    #[link_name = "\u{1}aws_lc_0_26_0_DSA_size"]
14606    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
14607}
14608extern "C" {
14609    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_parse"]
14610    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
14611}
14612extern "C" {
14613    #[link_name = "\u{1}aws_lc_0_26_0_DSA_SIG_marshal"]
14614    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
14615}
14616extern "C" {
14617    #[link_name = "\u{1}aws_lc_0_26_0_DSA_parse_public_key"]
14618    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
14619}
14620extern "C" {
14621    #[link_name = "\u{1}aws_lc_0_26_0_DSA_marshal_public_key"]
14622    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14623}
14624extern "C" {
14625    #[link_name = "\u{1}aws_lc_0_26_0_DSA_parse_private_key"]
14626    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
14627}
14628extern "C" {
14629    #[link_name = "\u{1}aws_lc_0_26_0_DSA_marshal_private_key"]
14630    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14631}
14632extern "C" {
14633    #[link_name = "\u{1}aws_lc_0_26_0_DSA_parse_parameters"]
14634    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
14635}
14636extern "C" {
14637    #[link_name = "\u{1}aws_lc_0_26_0_DSA_marshal_parameters"]
14638    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14639}
14640extern "C" {
14641    #[link_name = "\u{1}aws_lc_0_26_0_DSA_dup_DH"]
14642    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
14643}
14644extern "C" {
14645    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get_ex_new_index"]
14646    pub fn DSA_get_ex_new_index(
14647        argl: ::std::os::raw::c_long,
14648        argp: *mut ::std::os::raw::c_void,
14649        unused: *mut CRYPTO_EX_unused,
14650        dup_unused: CRYPTO_EX_dup,
14651        free_func: CRYPTO_EX_free,
14652    ) -> ::std::os::raw::c_int;
14653}
14654extern "C" {
14655    #[link_name = "\u{1}aws_lc_0_26_0_DSA_set_ex_data"]
14656    pub fn DSA_set_ex_data(
14657        dsa: *mut DSA,
14658        idx: ::std::os::raw::c_int,
14659        arg: *mut ::std::os::raw::c_void,
14660    ) -> ::std::os::raw::c_int;
14661}
14662extern "C" {
14663    #[link_name = "\u{1}aws_lc_0_26_0_DSA_get_ex_data"]
14664    pub fn DSA_get_ex_data(
14665        dsa: *const DSA,
14666        idx: ::std::os::raw::c_int,
14667    ) -> *mut ::std::os::raw::c_void;
14668}
14669extern "C" {
14670    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSA_SIG"]
14671    pub fn d2i_DSA_SIG(
14672        out_sig: *mut *mut DSA_SIG,
14673        inp: *mut *const u8,
14674        len: ::std::os::raw::c_long,
14675    ) -> *mut DSA_SIG;
14676}
14677extern "C" {
14678    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSA_SIG"]
14679    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14680}
14681extern "C" {
14682    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSAPublicKey"]
14683    pub fn d2i_DSAPublicKey(
14684        out: *mut *mut DSA,
14685        inp: *mut *const u8,
14686        len: ::std::os::raw::c_long,
14687    ) -> *mut DSA;
14688}
14689extern "C" {
14690    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSAPublicKey"]
14691    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14692}
14693extern "C" {
14694    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSAPrivateKey"]
14695    pub fn d2i_DSAPrivateKey(
14696        out: *mut *mut DSA,
14697        inp: *mut *const u8,
14698        len: ::std::os::raw::c_long,
14699    ) -> *mut DSA;
14700}
14701extern "C" {
14702    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSAPrivateKey"]
14703    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14704}
14705extern "C" {
14706    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSAparams"]
14707    pub fn d2i_DSAparams(
14708        out: *mut *mut DSA,
14709        inp: *mut *const u8,
14710        len: ::std::os::raw::c_long,
14711    ) -> *mut DSA;
14712}
14713extern "C" {
14714    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSAparams"]
14715    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14716}
14717#[repr(u32)]
14718#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14719pub enum point_conversion_form_t {
14720    POINT_CONVERSION_COMPRESSED = 2,
14721    POINT_CONVERSION_UNCOMPRESSED = 4,
14722    POINT_CONVERSION_HYBRID = 6,
14723}
14724extern "C" {
14725    #[link_name = "\u{1}aws_lc_0_26_0_EC_group_p224"]
14726    pub fn EC_group_p224() -> *const EC_GROUP;
14727}
14728extern "C" {
14729    #[link_name = "\u{1}aws_lc_0_26_0_EC_group_p256"]
14730    pub fn EC_group_p256() -> *const EC_GROUP;
14731}
14732extern "C" {
14733    #[link_name = "\u{1}aws_lc_0_26_0_EC_group_p384"]
14734    pub fn EC_group_p384() -> *const EC_GROUP;
14735}
14736extern "C" {
14737    #[link_name = "\u{1}aws_lc_0_26_0_EC_group_p521"]
14738    pub fn EC_group_p521() -> *const EC_GROUP;
14739}
14740extern "C" {
14741    #[link_name = "\u{1}aws_lc_0_26_0_EC_group_secp256k1"]
14742    pub fn EC_group_secp256k1() -> *const EC_GROUP;
14743}
14744extern "C" {
14745    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_new_by_curve_name"]
14746    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14747}
14748extern "C" {
14749    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_new_by_curve_name_mutable"]
14750    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14751}
14752extern "C" {
14753    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_cmp"]
14754    pub fn EC_GROUP_cmp(
14755        a: *const EC_GROUP,
14756        b: *const EC_GROUP,
14757        ignored: *mut BN_CTX,
14758    ) -> ::std::os::raw::c_int;
14759}
14760extern "C" {
14761    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get0_generator"]
14762    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14763}
14764extern "C" {
14765    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get0_order"]
14766    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14767}
14768extern "C" {
14769    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_order_bits"]
14770    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14771}
14772extern "C" {
14773    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_cofactor"]
14774    pub fn EC_GROUP_get_cofactor(
14775        group: *const EC_GROUP,
14776        cofactor: *mut BIGNUM,
14777        ctx: *mut BN_CTX,
14778    ) -> ::std::os::raw::c_int;
14779}
14780extern "C" {
14781    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_curve_GFp"]
14782    pub fn EC_GROUP_get_curve_GFp(
14783        group: *const EC_GROUP,
14784        out_p: *mut BIGNUM,
14785        out_a: *mut BIGNUM,
14786        out_b: *mut BIGNUM,
14787        ctx: *mut BN_CTX,
14788    ) -> ::std::os::raw::c_int;
14789}
14790extern "C" {
14791    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_curve_name"]
14792    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14793}
14794extern "C" {
14795    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_degree"]
14796    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14797}
14798extern "C" {
14799    #[link_name = "\u{1}aws_lc_0_26_0_EC_curve_nid2nist"]
14800    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14801}
14802extern "C" {
14803    #[link_name = "\u{1}aws_lc_0_26_0_EC_curve_nist2nid"]
14804    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14805}
14806extern "C" {
14807    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_new"]
14808    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14809}
14810extern "C" {
14811    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_free"]
14812    pub fn EC_POINT_free(point: *mut EC_POINT);
14813}
14814extern "C" {
14815    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_copy"]
14816    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14817}
14818extern "C" {
14819    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_dup"]
14820    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14821}
14822extern "C" {
14823    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_set_to_infinity"]
14824    pub fn EC_POINT_set_to_infinity(
14825        group: *const EC_GROUP,
14826        point: *mut EC_POINT,
14827    ) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_is_at_infinity"]
14831    pub fn EC_POINT_is_at_infinity(
14832        group: *const EC_GROUP,
14833        point: *const EC_POINT,
14834    ) -> ::std::os::raw::c_int;
14835}
14836extern "C" {
14837    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_is_on_curve"]
14838    pub fn EC_POINT_is_on_curve(
14839        group: *const EC_GROUP,
14840        point: *const EC_POINT,
14841        ctx: *mut BN_CTX,
14842    ) -> ::std::os::raw::c_int;
14843}
14844extern "C" {
14845    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_cmp"]
14846    pub fn EC_POINT_cmp(
14847        group: *const EC_GROUP,
14848        a: *const EC_POINT,
14849        b: *const EC_POINT,
14850        ctx: *mut BN_CTX,
14851    ) -> ::std::os::raw::c_int;
14852}
14853extern "C" {
14854    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_get_affine_coordinates_GFp"]
14855    pub fn EC_POINT_get_affine_coordinates_GFp(
14856        group: *const EC_GROUP,
14857        point: *const EC_POINT,
14858        x: *mut BIGNUM,
14859        y: *mut BIGNUM,
14860        ctx: *mut BN_CTX,
14861    ) -> ::std::os::raw::c_int;
14862}
14863extern "C" {
14864    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_get_affine_coordinates"]
14865    pub fn EC_POINT_get_affine_coordinates(
14866        group: *const EC_GROUP,
14867        point: *const EC_POINT,
14868        x: *mut BIGNUM,
14869        y: *mut BIGNUM,
14870        ctx: *mut BN_CTX,
14871    ) -> ::std::os::raw::c_int;
14872}
14873extern "C" {
14874    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_set_affine_coordinates_GFp"]
14875    pub fn EC_POINT_set_affine_coordinates_GFp(
14876        group: *const EC_GROUP,
14877        point: *mut EC_POINT,
14878        x: *const BIGNUM,
14879        y: *const BIGNUM,
14880        ctx: *mut BN_CTX,
14881    ) -> ::std::os::raw::c_int;
14882}
14883extern "C" {
14884    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_set_affine_coordinates"]
14885    pub fn EC_POINT_set_affine_coordinates(
14886        group: *const EC_GROUP,
14887        point: *mut EC_POINT,
14888        x: *const BIGNUM,
14889        y: *const BIGNUM,
14890        ctx: *mut BN_CTX,
14891    ) -> ::std::os::raw::c_int;
14892}
14893extern "C" {
14894    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_point2oct"]
14895    pub fn EC_POINT_point2oct(
14896        group: *const EC_GROUP,
14897        point: *const EC_POINT,
14898        form: point_conversion_form_t,
14899        buf: *mut u8,
14900        len: usize,
14901        ctx: *mut BN_CTX,
14902    ) -> usize;
14903}
14904extern "C" {
14905    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_point2cbb"]
14906    pub fn EC_POINT_point2cbb(
14907        out: *mut CBB,
14908        group: *const EC_GROUP,
14909        point: *const EC_POINT,
14910        form: point_conversion_form_t,
14911        ctx: *mut BN_CTX,
14912    ) -> ::std::os::raw::c_int;
14913}
14914extern "C" {
14915    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_oct2point"]
14916    pub fn EC_POINT_oct2point(
14917        group: *const EC_GROUP,
14918        point: *mut EC_POINT,
14919        buf: *const u8,
14920        len: usize,
14921        ctx: *mut BN_CTX,
14922    ) -> ::std::os::raw::c_int;
14923}
14924extern "C" {
14925    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_set_compressed_coordinates_GFp"]
14926    pub fn EC_POINT_set_compressed_coordinates_GFp(
14927        group: *const EC_GROUP,
14928        point: *mut EC_POINT,
14929        x: *const BIGNUM,
14930        y_bit: ::std::os::raw::c_int,
14931        ctx: *mut BN_CTX,
14932    ) -> ::std::os::raw::c_int;
14933}
14934extern "C" {
14935    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_add"]
14936    pub fn EC_POINT_add(
14937        group: *const EC_GROUP,
14938        r: *mut EC_POINT,
14939        a: *const EC_POINT,
14940        b: *const EC_POINT,
14941        ctx: *mut BN_CTX,
14942    ) -> ::std::os::raw::c_int;
14943}
14944extern "C" {
14945    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_dbl"]
14946    pub fn EC_POINT_dbl(
14947        group: *const EC_GROUP,
14948        r: *mut EC_POINT,
14949        a: *const EC_POINT,
14950        ctx: *mut BN_CTX,
14951    ) -> ::std::os::raw::c_int;
14952}
14953extern "C" {
14954    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_invert"]
14955    pub fn EC_POINT_invert(
14956        group: *const EC_GROUP,
14957        a: *mut EC_POINT,
14958        ctx: *mut BN_CTX,
14959    ) -> ::std::os::raw::c_int;
14960}
14961extern "C" {
14962    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_mul"]
14963    pub fn EC_POINT_mul(
14964        group: *const EC_GROUP,
14965        r: *mut EC_POINT,
14966        n: *const BIGNUM,
14967        q: *const EC_POINT,
14968        m: *const BIGNUM,
14969        ctx: *mut BN_CTX,
14970    ) -> ::std::os::raw::c_int;
14971}
14972extern "C" {
14973    #[link_name = "\u{1}aws_lc_0_26_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14974    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14975        group: *const EC_GROUP,
14976        out: *mut EC_POINT,
14977        dst: *const u8,
14978        dst_len: usize,
14979        msg: *const u8,
14980        msg_len: usize,
14981    ) -> ::std::os::raw::c_int;
14982}
14983extern "C" {
14984    #[link_name = "\u{1}aws_lc_0_26_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14985    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14986        group: *const EC_GROUP,
14987        out: *mut EC_POINT,
14988        dst: *const u8,
14989        dst_len: usize,
14990        msg: *const u8,
14991        msg_len: usize,
14992    ) -> ::std::os::raw::c_int;
14993}
14994extern "C" {
14995    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_free"]
14996    pub fn EC_GROUP_free(group: *mut EC_GROUP);
14997}
14998extern "C" {
14999    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_dup"]
15000    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
15001}
15002extern "C" {
15003    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_new_curve_GFp"]
15004    pub fn EC_GROUP_new_curve_GFp(
15005        p: *const BIGNUM,
15006        a: *const BIGNUM,
15007        b: *const BIGNUM,
15008        ctx: *mut BN_CTX,
15009    ) -> *mut EC_GROUP;
15010}
15011extern "C" {
15012    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_set_generator"]
15013    pub fn EC_GROUP_set_generator(
15014        group: *mut EC_GROUP,
15015        generator: *const EC_POINT,
15016        order: *const BIGNUM,
15017        cofactor: *const BIGNUM,
15018    ) -> ::std::os::raw::c_int;
15019}
15020extern "C" {
15021    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_point2bn"]
15022    pub fn EC_POINT_point2bn(
15023        group: *const EC_GROUP,
15024        point: *const EC_POINT,
15025        form: point_conversion_form_t,
15026        ret: *mut BIGNUM,
15027        ctx: *mut BN_CTX,
15028    ) -> *mut BIGNUM;
15029}
15030extern "C" {
15031    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_bn2point"]
15032    pub fn EC_POINT_bn2point(
15033        group: *const EC_GROUP,
15034        bn: *const BIGNUM,
15035        point: *mut EC_POINT,
15036        ctx: *mut BN_CTX,
15037    ) -> *mut EC_POINT;
15038}
15039extern "C" {
15040    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_order"]
15041    pub fn EC_GROUP_get_order(
15042        group: *const EC_GROUP,
15043        order: *mut BIGNUM,
15044        ctx: *mut BN_CTX,
15045    ) -> ::std::os::raw::c_int;
15046}
15047#[repr(C)]
15048#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15049pub struct EC_builtin_curve {
15050    pub nid: ::std::os::raw::c_int,
15051    pub comment: *const ::std::os::raw::c_char,
15052}
15053#[test]
15054fn bindgen_test_layout_EC_builtin_curve() {
15055    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
15056    let ptr = UNINIT.as_ptr();
15057    assert_eq!(
15058        ::std::mem::size_of::<EC_builtin_curve>(),
15059        8usize,
15060        concat!("Size of: ", stringify!(EC_builtin_curve))
15061    );
15062    assert_eq!(
15063        ::std::mem::align_of::<EC_builtin_curve>(),
15064        4usize,
15065        concat!("Alignment of ", stringify!(EC_builtin_curve))
15066    );
15067    assert_eq!(
15068        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
15069        0usize,
15070        concat!(
15071            "Offset of field: ",
15072            stringify!(EC_builtin_curve),
15073            "::",
15074            stringify!(nid)
15075        )
15076    );
15077    assert_eq!(
15078        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
15079        4usize,
15080        concat!(
15081            "Offset of field: ",
15082            stringify!(EC_builtin_curve),
15083            "::",
15084            stringify!(comment)
15085        )
15086    );
15087}
15088impl Default for EC_builtin_curve {
15089    fn default() -> Self {
15090        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15091        unsafe {
15092            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15093            s.assume_init()
15094        }
15095    }
15096}
15097extern "C" {
15098    #[link_name = "\u{1}aws_lc_0_26_0_EC_get_builtin_curves"]
15099    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
15100        -> usize;
15101}
15102extern "C" {
15103    #[link_name = "\u{1}aws_lc_0_26_0_EC_POINT_clear_free"]
15104    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
15105}
15106extern "C" {
15107    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_set_seed"]
15108    pub fn EC_GROUP_set_seed(
15109        group: *mut EC_GROUP,
15110        p: *const ::std::os::raw::c_uchar,
15111        len: usize,
15112    ) -> usize;
15113}
15114extern "C" {
15115    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get0_seed"]
15116    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
15117}
15118extern "C" {
15119    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_seed_len"]
15120    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
15121}
15122extern "C" {
15123    #[link_name = "\u{1}aws_lc_0_26_0_ECPKParameters_print"]
15124    pub fn ECPKParameters_print(
15125        bio: *mut BIO,
15126        group: *const EC_GROUP,
15127        offset: ::std::os::raw::c_int,
15128    ) -> ::std::os::raw::c_int;
15129}
15130extern "C" {
15131    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_set_asn1_flag"]
15132    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
15133}
15134extern "C" {
15135    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_asn1_flag"]
15136    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
15137}
15138extern "C" {
15139    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_set_point_conversion_form"]
15140    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
15141}
15142extern "C" {
15143    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_get_point_conversion_form"]
15144    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
15145}
15146#[repr(C)]
15147#[derive(Debug, Copy, Clone)]
15148pub struct ec_method_st {
15149    _unused: [u8; 0],
15150}
15151pub type EC_METHOD = ec_method_st;
15152extern "C" {
15153    #[link_name = "\u{1}aws_lc_0_26_0_EC_GROUP_method_of"]
15154    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
15155}
15156extern "C" {
15157    #[link_name = "\u{1}aws_lc_0_26_0_EC_METHOD_get_field_type"]
15158    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
15159}
15160extern "C" {
15161    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_new"]
15162    pub fn ENGINE_new() -> *mut ENGINE;
15163}
15164extern "C" {
15165    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_free"]
15166    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
15167}
15168extern "C" {
15169    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_set_RSA"]
15170    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
15171}
15172extern "C" {
15173    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_get_RSA"]
15174    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
15175}
15176extern "C" {
15177    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_set_EC"]
15178    pub fn ENGINE_set_EC(
15179        engine: *mut ENGINE,
15180        method: *const EC_KEY_METHOD,
15181    ) -> ::std::os::raw::c_int;
15182}
15183extern "C" {
15184    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_get_EC"]
15185    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
15186}
15187extern "C" {
15188    #[link_name = "\u{1}aws_lc_0_26_0_ENGINE_cleanup"]
15189    pub fn ENGINE_cleanup();
15190}
15191extern "C" {
15192    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_new"]
15193    pub fn EC_KEY_new() -> *mut EC_KEY;
15194}
15195extern "C" {
15196    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_new_method"]
15197    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
15198}
15199extern "C" {
15200    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_new_by_curve_name"]
15201    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
15202}
15203extern "C" {
15204    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_free"]
15205    pub fn EC_KEY_free(key: *mut EC_KEY);
15206}
15207extern "C" {
15208    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_dup"]
15209    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
15210}
15211extern "C" {
15212    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_up_ref"]
15213    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15214}
15215extern "C" {
15216    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_is_opaque"]
15217    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
15218}
15219extern "C" {
15220    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get0_group"]
15221    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
15222}
15223extern "C" {
15224    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_group"]
15225    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15226}
15227extern "C" {
15228    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get0_private_key"]
15229    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
15230}
15231extern "C" {
15232    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_private_key"]
15233    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
15234}
15235extern "C" {
15236    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get0_public_key"]
15237    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
15238}
15239extern "C" {
15240    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_public_key"]
15241    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
15242}
15243extern "C" {
15244    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_enc_flags"]
15245    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
15246}
15247extern "C" {
15248    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_enc_flags"]
15249    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
15250}
15251extern "C" {
15252    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_conv_form"]
15253    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
15254}
15255extern "C" {
15256    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_conv_form"]
15257    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
15258}
15259extern "C" {
15260    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_check_key"]
15261    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
15262}
15263extern "C" {
15264    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_check_fips"]
15265    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
15266}
15267extern "C" {
15268    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_public_key_affine_coordinates"]
15269    pub fn EC_KEY_set_public_key_affine_coordinates(
15270        key: *mut EC_KEY,
15271        x: *const BIGNUM,
15272        y: *const BIGNUM,
15273    ) -> ::std::os::raw::c_int;
15274}
15275extern "C" {
15276    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_key2buf"]
15277    pub fn EC_KEY_key2buf(
15278        key: *const EC_KEY,
15279        form: point_conversion_form_t,
15280        out_buf: *mut *mut ::std::os::raw::c_uchar,
15281        ctx: *mut BN_CTX,
15282    ) -> usize;
15283}
15284extern "C" {
15285    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_generate_key"]
15286    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15287}
15288extern "C" {
15289    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_generate_key_fips"]
15290    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15291}
15292extern "C" {
15293    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_derive_from_secret"]
15294    pub fn EC_KEY_derive_from_secret(
15295        group: *const EC_GROUP,
15296        secret: *const u8,
15297        secret_len: usize,
15298    ) -> *mut EC_KEY;
15299}
15300extern "C" {
15301    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_parse_private_key"]
15302    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
15303}
15304extern "C" {
15305    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_marshal_private_key"]
15306    pub fn EC_KEY_marshal_private_key(
15307        cbb: *mut CBB,
15308        key: *const EC_KEY,
15309        enc_flags: ::std::os::raw::c_uint,
15310    ) -> ::std::os::raw::c_int;
15311}
15312extern "C" {
15313    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_parse_curve_name"]
15314    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
15315}
15316extern "C" {
15317    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_marshal_curve_name"]
15318    pub fn EC_KEY_marshal_curve_name(
15319        cbb: *mut CBB,
15320        group: *const EC_GROUP,
15321    ) -> ::std::os::raw::c_int;
15322}
15323extern "C" {
15324    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_parse_parameters"]
15325    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
15326}
15327extern "C" {
15328    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_ex_new_index"]
15329    pub fn EC_KEY_get_ex_new_index(
15330        argl: ::std::os::raw::c_long,
15331        argp: *mut ::std::os::raw::c_void,
15332        unused: *mut CRYPTO_EX_unused,
15333        dup_unused: CRYPTO_EX_dup,
15334        free_func: CRYPTO_EX_free,
15335    ) -> ::std::os::raw::c_int;
15336}
15337extern "C" {
15338    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_ex_data"]
15339    pub fn EC_KEY_set_ex_data(
15340        r: *mut EC_KEY,
15341        idx: ::std::os::raw::c_int,
15342        arg: *mut ::std::os::raw::c_void,
15343    ) -> ::std::os::raw::c_int;
15344}
15345extern "C" {
15346    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_ex_data"]
15347    pub fn EC_KEY_get_ex_data(
15348        r: *const EC_KEY,
15349        idx: ::std::os::raw::c_int,
15350    ) -> *mut ::std::os::raw::c_void;
15351}
15352extern "C" {
15353    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECPrivateKey"]
15354    pub fn d2i_ECPrivateKey(
15355        out_key: *mut *mut EC_KEY,
15356        inp: *mut *const u8,
15357        len: ::std::os::raw::c_long,
15358    ) -> *mut EC_KEY;
15359}
15360extern "C" {
15361    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECPrivateKey"]
15362    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15363}
15364extern "C" {
15365    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECParameters"]
15366    pub fn d2i_ECParameters(
15367        out_key: *mut *mut EC_KEY,
15368        inp: *mut *const u8,
15369        len: ::std::os::raw::c_long,
15370    ) -> *mut EC_KEY;
15371}
15372extern "C" {
15373    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECParameters"]
15374    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15375}
15376extern "C" {
15377    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECPKParameters_bio"]
15378    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
15379}
15380extern "C" {
15381    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECPKParameters_bio"]
15382    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15383}
15384extern "C" {
15385    #[link_name = "\u{1}aws_lc_0_26_0_o2i_ECPublicKey"]
15386    pub fn o2i_ECPublicKey(
15387        out_key: *mut *mut EC_KEY,
15388        inp: *mut *const u8,
15389        len: ::std::os::raw::c_long,
15390    ) -> *mut EC_KEY;
15391}
15392extern "C" {
15393    #[link_name = "\u{1}aws_lc_0_26_0_i2o_ECPublicKey"]
15394    pub fn i2o_ECPublicKey(
15395        key: *const EC_KEY,
15396        outp: *mut *mut ::std::os::raw::c_uchar,
15397    ) -> ::std::os::raw::c_int;
15398}
15399extern "C" {
15400    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_default_method"]
15401    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
15402}
15403extern "C" {
15404    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_OpenSSL"]
15405    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
15406}
15407extern "C" {
15408    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_METHOD_new"]
15409    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
15410}
15411extern "C" {
15412    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_METHOD_free"]
15413    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
15414}
15415extern "C" {
15416    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_method"]
15417    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
15418}
15419extern "C" {
15420    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_get_method"]
15421    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
15422}
15423extern "C" {
15424    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_METHOD_set_sign_awslc"]
15425    pub fn EC_KEY_METHOD_set_sign_awslc(
15426        meth: *mut EC_KEY_METHOD,
15427        sign: ::std::option::Option<
15428            unsafe extern "C" fn(
15429                type_: ::std::os::raw::c_int,
15430                digest: *const u8,
15431                digest_len: ::std::os::raw::c_int,
15432                sig: *mut u8,
15433                siglen: *mut ::std::os::raw::c_uint,
15434                k_inv: *const BIGNUM,
15435                r: *const BIGNUM,
15436                eckey: *mut EC_KEY,
15437            ) -> ::std::os::raw::c_int,
15438        >,
15439        sign_sig: ::std::option::Option<
15440            unsafe extern "C" fn(
15441                digest: *const u8,
15442                digest_len: ::std::os::raw::c_int,
15443                in_kinv: *const BIGNUM,
15444                in_r: *const BIGNUM,
15445                eckey: *mut EC_KEY,
15446            ) -> *mut ECDSA_SIG,
15447        >,
15448    );
15449}
15450extern "C" {
15451    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_METHOD_set_init_awslc"]
15452    pub fn EC_KEY_METHOD_set_init_awslc(
15453        meth: *mut EC_KEY_METHOD,
15454        init: ::std::option::Option<
15455            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
15456        >,
15457        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
15458    );
15459}
15460extern "C" {
15461    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_METHOD_set_flags"]
15462    pub fn EC_KEY_METHOD_set_flags(
15463        meth: *mut EC_KEY_METHOD,
15464        flags: ::std::os::raw::c_int,
15465    ) -> ::std::os::raw::c_int;
15466}
15467extern "C" {
15468    #[link_name = "\u{1}aws_lc_0_26_0_EC_KEY_set_asn1_flag"]
15469    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
15470}
15471extern "C" {
15472    #[link_name = "\u{1}aws_lc_0_26_0_ECDH_compute_key"]
15473    pub fn ECDH_compute_key(
15474        out: *mut ::std::os::raw::c_void,
15475        outlen: usize,
15476        pub_key: *const EC_POINT,
15477        priv_key: *const EC_KEY,
15478        kdf: ::std::option::Option<
15479            unsafe extern "C" fn(
15480                in_: *const ::std::os::raw::c_void,
15481                inlen: usize,
15482                out: *mut ::std::os::raw::c_void,
15483                outlen: *mut usize,
15484            ) -> *mut ::std::os::raw::c_void,
15485        >,
15486    ) -> ::std::os::raw::c_int;
15487}
15488extern "C" {
15489    #[link_name = "\u{1}aws_lc_0_26_0_ECDH_compute_key_fips"]
15490    pub fn ECDH_compute_key_fips(
15491        out: *mut u8,
15492        out_len: usize,
15493        pub_key: *const EC_POINT,
15494        priv_key: *const EC_KEY,
15495    ) -> ::std::os::raw::c_int;
15496}
15497extern "C" {
15498    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_sign"]
15499    pub fn ECDSA_sign(
15500        type_: ::std::os::raw::c_int,
15501        digest: *const u8,
15502        digest_len: usize,
15503        sig: *mut u8,
15504        sig_len: *mut ::std::os::raw::c_uint,
15505        key: *const EC_KEY,
15506    ) -> ::std::os::raw::c_int;
15507}
15508extern "C" {
15509    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_verify"]
15510    pub fn ECDSA_verify(
15511        type_: ::std::os::raw::c_int,
15512        digest: *const u8,
15513        digest_len: usize,
15514        sig: *const u8,
15515        sig_len: usize,
15516        key: *const EC_KEY,
15517    ) -> ::std::os::raw::c_int;
15518}
15519extern "C" {
15520    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_size"]
15521    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
15522}
15523#[repr(C)]
15524#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15525pub struct ecdsa_sig_st {
15526    pub r: *mut BIGNUM,
15527    pub s: *mut BIGNUM,
15528}
15529#[test]
15530fn bindgen_test_layout_ecdsa_sig_st() {
15531    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
15532    let ptr = UNINIT.as_ptr();
15533    assert_eq!(
15534        ::std::mem::size_of::<ecdsa_sig_st>(),
15535        8usize,
15536        concat!("Size of: ", stringify!(ecdsa_sig_st))
15537    );
15538    assert_eq!(
15539        ::std::mem::align_of::<ecdsa_sig_st>(),
15540        4usize,
15541        concat!("Alignment of ", stringify!(ecdsa_sig_st))
15542    );
15543    assert_eq!(
15544        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
15545        0usize,
15546        concat!(
15547            "Offset of field: ",
15548            stringify!(ecdsa_sig_st),
15549            "::",
15550            stringify!(r)
15551        )
15552    );
15553    assert_eq!(
15554        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15555        4usize,
15556        concat!(
15557            "Offset of field: ",
15558            stringify!(ecdsa_sig_st),
15559            "::",
15560            stringify!(s)
15561        )
15562    );
15563}
15564impl Default for ecdsa_sig_st {
15565    fn default() -> Self {
15566        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15567        unsafe {
15568            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15569            s.assume_init()
15570        }
15571    }
15572}
15573extern "C" {
15574    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_new"]
15575    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
15576}
15577extern "C" {
15578    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_free"]
15579    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
15580}
15581extern "C" {
15582    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_get0_r"]
15583    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
15584}
15585extern "C" {
15586    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_get0_s"]
15587    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
15588}
15589extern "C" {
15590    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_get0"]
15591    pub fn ECDSA_SIG_get0(
15592        sig: *const ECDSA_SIG,
15593        out_r: *mut *const BIGNUM,
15594        out_s: *mut *const BIGNUM,
15595    );
15596}
15597extern "C" {
15598    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_set0"]
15599    pub fn ECDSA_SIG_set0(
15600        sig: *mut ECDSA_SIG,
15601        r: *mut BIGNUM,
15602        s: *mut BIGNUM,
15603    ) -> ::std::os::raw::c_int;
15604}
15605extern "C" {
15606    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_do_sign"]
15607    pub fn ECDSA_do_sign(
15608        digest: *const u8,
15609        digest_len: usize,
15610        key: *const EC_KEY,
15611    ) -> *mut ECDSA_SIG;
15612}
15613extern "C" {
15614    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_do_verify"]
15615    pub fn ECDSA_do_verify(
15616        digest: *const u8,
15617        digest_len: usize,
15618        sig: *const ECDSA_SIG,
15619        key: *const EC_KEY,
15620    ) -> ::std::os::raw::c_int;
15621}
15622extern "C" {
15623    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_parse"]
15624    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
15625}
15626extern "C" {
15627    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_from_bytes"]
15628    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
15629}
15630extern "C" {
15631    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_marshal"]
15632    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
15633}
15634extern "C" {
15635    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_to_bytes"]
15636    pub fn ECDSA_SIG_to_bytes(
15637        out_bytes: *mut *mut u8,
15638        out_len: *mut usize,
15639        sig: *const ECDSA_SIG,
15640    ) -> ::std::os::raw::c_int;
15641}
15642extern "C" {
15643    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_SIG_max_len"]
15644    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
15645}
15646extern "C" {
15647    #[link_name = "\u{1}aws_lc_0_26_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
15648    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
15649        digest: *const u8,
15650        digest_len: usize,
15651        eckey: *const EC_KEY,
15652        nonce: *const u8,
15653        nonce_len: usize,
15654    ) -> *mut ECDSA_SIG;
15655}
15656extern "C" {
15657    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECDSA_SIG"]
15658    pub fn d2i_ECDSA_SIG(
15659        out: *mut *mut ECDSA_SIG,
15660        inp: *mut *const u8,
15661        len: ::std::os::raw::c_long,
15662    ) -> *mut ECDSA_SIG;
15663}
15664extern "C" {
15665    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECDSA_SIG"]
15666    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15667}
15668extern "C" {
15669    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_gcm"]
15670    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
15671}
15672extern "C" {
15673    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_192_gcm"]
15674    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
15675}
15676extern "C" {
15677    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_gcm"]
15678    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
15679}
15680extern "C" {
15681    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_chacha20_poly1305"]
15682    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
15683}
15684extern "C" {
15685    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_xchacha20_poly1305"]
15686    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
15687}
15688extern "C" {
15689    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_ctr_hmac_sha256"]
15690    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
15691}
15692extern "C" {
15693    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_ctr_hmac_sha256"]
15694    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
15695}
15696extern "C" {
15697    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_gcm_siv"]
15698    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
15699}
15700extern "C" {
15701    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_gcm_siv"]
15702    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
15703}
15704extern "C" {
15705    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_gcm_randnonce"]
15706    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
15707}
15708extern "C" {
15709    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_gcm_randnonce"]
15710    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
15711}
15712extern "C" {
15713    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_ccm_bluetooth"]
15714    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
15715}
15716extern "C" {
15717    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_ccm_bluetooth_8"]
15718    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
15719}
15720extern "C" {
15721    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_ccm_matter"]
15722    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
15723}
15724extern "C" {
15725    #[link_name = "\u{1}aws_lc_0_26_0_EVP_has_aes_hardware"]
15726    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
15727}
15728extern "C" {
15729    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_key_length"]
15730    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
15731}
15732extern "C" {
15733    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_nonce_length"]
15734    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
15735}
15736extern "C" {
15737    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_max_overhead"]
15738    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
15739}
15740extern "C" {
15741    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_max_tag_len"]
15742    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
15743}
15744#[repr(C)]
15745#[derive(Copy, Clone)]
15746pub union evp_aead_ctx_st_state {
15747    pub opaque: [u8; 564usize],
15748    pub alignment: u64,
15749    pub ptr: *mut ::std::os::raw::c_void,
15750}
15751#[test]
15752fn bindgen_test_layout_evp_aead_ctx_st_state() {
15753    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
15754        ::std::mem::MaybeUninit::uninit();
15755    let ptr = UNINIT.as_ptr();
15756    assert_eq!(
15757        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
15758        564usize,
15759        concat!("Size of: ", stringify!(evp_aead_ctx_st_state))
15760    );
15761    assert_eq!(
15762        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
15763        4usize,
15764        concat!("Alignment of ", stringify!(evp_aead_ctx_st_state))
15765    );
15766    assert_eq!(
15767        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
15768        0usize,
15769        concat!(
15770            "Offset of field: ",
15771            stringify!(evp_aead_ctx_st_state),
15772            "::",
15773            stringify!(opaque)
15774        )
15775    );
15776    assert_eq!(
15777        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
15778        0usize,
15779        concat!(
15780            "Offset of field: ",
15781            stringify!(evp_aead_ctx_st_state),
15782            "::",
15783            stringify!(alignment)
15784        )
15785    );
15786    assert_eq!(
15787        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15788        0usize,
15789        concat!(
15790            "Offset of field: ",
15791            stringify!(evp_aead_ctx_st_state),
15792            "::",
15793            stringify!(ptr)
15794        )
15795    );
15796}
15797impl Default for evp_aead_ctx_st_state {
15798    fn default() -> Self {
15799        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15800        unsafe {
15801            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15802            s.assume_init()
15803        }
15804    }
15805}
15806#[repr(C)]
15807#[derive(Copy, Clone)]
15808pub struct evp_aead_ctx_st {
15809    pub aead: *const EVP_AEAD,
15810    pub state: evp_aead_ctx_st_state,
15811    pub state_offset: u8,
15812    pub tag_len: u8,
15813}
15814#[test]
15815fn bindgen_test_layout_evp_aead_ctx_st() {
15816    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15817    let ptr = UNINIT.as_ptr();
15818    assert_eq!(
15819        ::std::mem::size_of::<evp_aead_ctx_st>(),
15820        572usize,
15821        concat!("Size of: ", stringify!(evp_aead_ctx_st))
15822    );
15823    assert_eq!(
15824        ::std::mem::align_of::<evp_aead_ctx_st>(),
15825        4usize,
15826        concat!("Alignment of ", stringify!(evp_aead_ctx_st))
15827    );
15828    assert_eq!(
15829        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15830        0usize,
15831        concat!(
15832            "Offset of field: ",
15833            stringify!(evp_aead_ctx_st),
15834            "::",
15835            stringify!(aead)
15836        )
15837    );
15838    assert_eq!(
15839        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15840        4usize,
15841        concat!(
15842            "Offset of field: ",
15843            stringify!(evp_aead_ctx_st),
15844            "::",
15845            stringify!(state)
15846        )
15847    );
15848    assert_eq!(
15849        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15850        568usize,
15851        concat!(
15852            "Offset of field: ",
15853            stringify!(evp_aead_ctx_st),
15854            "::",
15855            stringify!(state_offset)
15856        )
15857    );
15858    assert_eq!(
15859        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15860        569usize,
15861        concat!(
15862            "Offset of field: ",
15863            stringify!(evp_aead_ctx_st),
15864            "::",
15865            stringify!(tag_len)
15866        )
15867    );
15868}
15869impl Default for evp_aead_ctx_st {
15870    fn default() -> Self {
15871        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15872        unsafe {
15873            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15874            s.assume_init()
15875        }
15876    }
15877}
15878extern "C" {
15879    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_zero"]
15880    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15881}
15882extern "C" {
15883    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_new"]
15884    pub fn EVP_AEAD_CTX_new(
15885        aead: *const EVP_AEAD,
15886        key: *const u8,
15887        key_len: usize,
15888        tag_len: usize,
15889    ) -> *mut EVP_AEAD_CTX;
15890}
15891extern "C" {
15892    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_free"]
15893    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15894}
15895extern "C" {
15896    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_init"]
15897    pub fn EVP_AEAD_CTX_init(
15898        ctx: *mut EVP_AEAD_CTX,
15899        aead: *const EVP_AEAD,
15900        key: *const u8,
15901        key_len: usize,
15902        tag_len: usize,
15903        impl_: *mut ENGINE,
15904    ) -> ::std::os::raw::c_int;
15905}
15906extern "C" {
15907    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_cleanup"]
15908    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15909}
15910extern "C" {
15911    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_seal"]
15912    pub fn EVP_AEAD_CTX_seal(
15913        ctx: *const EVP_AEAD_CTX,
15914        out: *mut u8,
15915        out_len: *mut usize,
15916        max_out_len: usize,
15917        nonce: *const u8,
15918        nonce_len: usize,
15919        in_: *const u8,
15920        in_len: usize,
15921        ad: *const u8,
15922        ad_len: usize,
15923    ) -> ::std::os::raw::c_int;
15924}
15925extern "C" {
15926    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_open"]
15927    pub fn EVP_AEAD_CTX_open(
15928        ctx: *const EVP_AEAD_CTX,
15929        out: *mut u8,
15930        out_len: *mut usize,
15931        max_out_len: usize,
15932        nonce: *const u8,
15933        nonce_len: usize,
15934        in_: *const u8,
15935        in_len: usize,
15936        ad: *const u8,
15937        ad_len: usize,
15938    ) -> ::std::os::raw::c_int;
15939}
15940extern "C" {
15941    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_seal_scatter"]
15942    pub fn EVP_AEAD_CTX_seal_scatter(
15943        ctx: *const EVP_AEAD_CTX,
15944        out: *mut u8,
15945        out_tag: *mut u8,
15946        out_tag_len: *mut usize,
15947        max_out_tag_len: usize,
15948        nonce: *const u8,
15949        nonce_len: usize,
15950        in_: *const u8,
15951        in_len: usize,
15952        extra_in: *const u8,
15953        extra_in_len: usize,
15954        ad: *const u8,
15955        ad_len: usize,
15956    ) -> ::std::os::raw::c_int;
15957}
15958extern "C" {
15959    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_open_gather"]
15960    pub fn EVP_AEAD_CTX_open_gather(
15961        ctx: *const EVP_AEAD_CTX,
15962        out: *mut u8,
15963        nonce: *const u8,
15964        nonce_len: usize,
15965        in_: *const u8,
15966        in_len: usize,
15967        in_tag: *const u8,
15968        in_tag_len: usize,
15969        ad: *const u8,
15970        ad_len: usize,
15971    ) -> ::std::os::raw::c_int;
15972}
15973extern "C" {
15974    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_aead"]
15975    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15976}
15977extern "C" {
15978    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_cbc_sha1_tls"]
15979    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15980}
15981extern "C" {
15982    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15983    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15984}
15985extern "C" {
15986    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_cbc_sha1_tls"]
15987    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
15988}
15989extern "C" {
15990    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
15991    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15992}
15993extern "C" {
15994    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_cbc_sha256_tls"]
15995    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
15996}
15997extern "C" {
15998    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
15999    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
16000}
16001extern "C" {
16002    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_cbc_sha384_tls"]
16003    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
16004}
16005extern "C" {
16006    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_des_ede3_cbc_sha1_tls"]
16007    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
16008}
16009extern "C" {
16010    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
16011    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16012}
16013extern "C" {
16014    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_null_sha1_tls"]
16015    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
16016}
16017extern "C" {
16018    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_gcm_tls12"]
16019    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
16020}
16021extern "C" {
16022    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_gcm_tls12"]
16023    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
16024}
16025extern "C" {
16026    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_128_gcm_tls13"]
16027    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
16028}
16029extern "C" {
16030    #[link_name = "\u{1}aws_lc_0_26_0_EVP_aead_aes_256_gcm_tls13"]
16031    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
16032}
16033pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
16034pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
16035pub type evp_aead_direction_t = ::std::os::raw::c_uint;
16036extern "C" {
16037    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_init_with_direction"]
16038    pub fn EVP_AEAD_CTX_init_with_direction(
16039        ctx: *mut EVP_AEAD_CTX,
16040        aead: *const EVP_AEAD,
16041        key: *const u8,
16042        key_len: usize,
16043        tag_len: usize,
16044        dir: evp_aead_direction_t,
16045    ) -> ::std::os::raw::c_int;
16046}
16047extern "C" {
16048    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_get_iv"]
16049    pub fn EVP_AEAD_CTX_get_iv(
16050        ctx: *const EVP_AEAD_CTX,
16051        out_iv: *mut *const u8,
16052        out_len: *mut usize,
16053    ) -> ::std::os::raw::c_int;
16054}
16055extern "C" {
16056    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_CTX_tag_len"]
16057    pub fn EVP_AEAD_CTX_tag_len(
16058        ctx: *const EVP_AEAD_CTX,
16059        out_tag_len: *mut usize,
16060        in_len: usize,
16061        extra_in_len: usize,
16062    ) -> ::std::os::raw::c_int;
16063}
16064extern "C" {
16065    #[link_name = "\u{1}aws_lc_0_26_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
16066    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
16067        ipv4_address: u32,
16068        nanosecs: u64,
16069        out_iv: *mut u8,
16070    ) -> ::std::os::raw::c_int;
16071}
16072extern "C" {
16073    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_dup"]
16074    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
16075}
16076extern "C" {
16077    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_cmp"]
16078    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16079}
16080extern "C" {
16081    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_get0_data"]
16082    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
16083}
16084extern "C" {
16085    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_length"]
16086    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
16087}
16088extern "C" {
16089    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_obj2nid"]
16090    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16091}
16092extern "C" {
16093    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_cbs2nid"]
16094    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
16095}
16096extern "C" {
16097    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_sn2nid"]
16098    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16099}
16100extern "C" {
16101    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_ln2nid"]
16102    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16103}
16104extern "C" {
16105    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_txt2nid"]
16106    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16107}
16108extern "C" {
16109    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_nid2obj"]
16110    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
16111}
16112extern "C" {
16113    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_get_undef"]
16114    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
16115}
16116extern "C" {
16117    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_nid2sn"]
16118    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16119}
16120extern "C" {
16121    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_nid2ln"]
16122    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16123}
16124extern "C" {
16125    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_nid2cbb"]
16126    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16127}
16128extern "C" {
16129    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_txt2obj"]
16130    pub fn OBJ_txt2obj(
16131        s: *const ::std::os::raw::c_char,
16132        dont_search_names: ::std::os::raw::c_int,
16133    ) -> *mut ASN1_OBJECT;
16134}
16135extern "C" {
16136    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_obj2txt"]
16137    pub fn OBJ_obj2txt(
16138        out: *mut ::std::os::raw::c_char,
16139        out_len: ::std::os::raw::c_int,
16140        obj: *const ASN1_OBJECT,
16141        always_return_oid: ::std::os::raw::c_int,
16142    ) -> ::std::os::raw::c_int;
16143}
16144extern "C" {
16145    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_create"]
16146    pub fn OBJ_create(
16147        oid: *const ::std::os::raw::c_char,
16148        short_name: *const ::std::os::raw::c_char,
16149        long_name: *const ::std::os::raw::c_char,
16150    ) -> ::std::os::raw::c_int;
16151}
16152extern "C" {
16153    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_find_sigid_algs"]
16154    pub fn OBJ_find_sigid_algs(
16155        sign_nid: ::std::os::raw::c_int,
16156        out_digest_nid: *mut ::std::os::raw::c_int,
16157        out_pkey_nid: *mut ::std::os::raw::c_int,
16158    ) -> ::std::os::raw::c_int;
16159}
16160extern "C" {
16161    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_find_sigid_by_algs"]
16162    pub fn OBJ_find_sigid_by_algs(
16163        out_sign_nid: *mut ::std::os::raw::c_int,
16164        digest_nid: ::std::os::raw::c_int,
16165        pkey_nid: ::std::os::raw::c_int,
16166    ) -> ::std::os::raw::c_int;
16167}
16168#[repr(C)]
16169#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16170pub struct obj_name_st {
16171    pub type_: ::std::os::raw::c_int,
16172    pub alias: ::std::os::raw::c_int,
16173    pub name: *const ::std::os::raw::c_char,
16174    pub data: *const ::std::os::raw::c_char,
16175}
16176#[test]
16177fn bindgen_test_layout_obj_name_st() {
16178    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
16179    let ptr = UNINIT.as_ptr();
16180    assert_eq!(
16181        ::std::mem::size_of::<obj_name_st>(),
16182        16usize,
16183        concat!("Size of: ", stringify!(obj_name_st))
16184    );
16185    assert_eq!(
16186        ::std::mem::align_of::<obj_name_st>(),
16187        4usize,
16188        concat!("Alignment of ", stringify!(obj_name_st))
16189    );
16190    assert_eq!(
16191        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16192        0usize,
16193        concat!(
16194            "Offset of field: ",
16195            stringify!(obj_name_st),
16196            "::",
16197            stringify!(type_)
16198        )
16199    );
16200    assert_eq!(
16201        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
16202        4usize,
16203        concat!(
16204            "Offset of field: ",
16205            stringify!(obj_name_st),
16206            "::",
16207            stringify!(alias)
16208        )
16209    );
16210    assert_eq!(
16211        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16212        8usize,
16213        concat!(
16214            "Offset of field: ",
16215            stringify!(obj_name_st),
16216            "::",
16217            stringify!(name)
16218        )
16219    );
16220    assert_eq!(
16221        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16222        12usize,
16223        concat!(
16224            "Offset of field: ",
16225            stringify!(obj_name_st),
16226            "::",
16227            stringify!(data)
16228        )
16229    );
16230}
16231impl Default for obj_name_st {
16232    fn default() -> Self {
16233        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16234        unsafe {
16235            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16236            s.assume_init()
16237        }
16238    }
16239}
16240pub type OBJ_NAME = obj_name_st;
16241extern "C" {
16242    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_NAME_do_all_sorted"]
16243    pub fn OBJ_NAME_do_all_sorted(
16244        type_: ::std::os::raw::c_int,
16245        callback: ::std::option::Option<
16246            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
16247        >,
16248        arg: *mut ::std::os::raw::c_void,
16249    );
16250}
16251extern "C" {
16252    #[link_name = "\u{1}aws_lc_0_26_0_OBJ_cleanup"]
16253    pub fn OBJ_cleanup();
16254}
16255extern "C" {
16256    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_new"]
16257    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
16258}
16259extern "C" {
16260    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_free"]
16261    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
16262}
16263extern "C" {
16264    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_up_ref"]
16265    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16266}
16267extern "C" {
16268    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_is_opaque"]
16269    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16270}
16271extern "C" {
16272    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_cmp"]
16273    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
16274}
16275extern "C" {
16276    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_copy_parameters"]
16277    pub fn EVP_PKEY_copy_parameters(
16278        to: *mut EVP_PKEY,
16279        from: *const EVP_PKEY,
16280    ) -> ::std::os::raw::c_int;
16281}
16282extern "C" {
16283    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_missing_parameters"]
16284    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16285}
16286extern "C" {
16287    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_size"]
16288    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16289}
16290extern "C" {
16291    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_bits"]
16292    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16293}
16294extern "C" {
16295    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_id"]
16296    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16297}
16298extern "C" {
16299    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_get0_name"]
16300    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16301}
16302extern "C" {
16303    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_name"]
16304    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16305}
16306extern "C" {
16307    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set1_RSA"]
16308    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16309}
16310extern "C" {
16311    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_assign_RSA"]
16312    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16313}
16314extern "C" {
16315    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get0_RSA"]
16316    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16317}
16318extern "C" {
16319    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get1_RSA"]
16320    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16321}
16322extern "C" {
16323    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set1_DSA"]
16324    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16325}
16326extern "C" {
16327    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_assign_DSA"]
16328    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16329}
16330extern "C" {
16331    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get0_DSA"]
16332    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16333}
16334extern "C" {
16335    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get1_DSA"]
16336    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16337}
16338extern "C" {
16339    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set1_EC_KEY"]
16340    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16341}
16342extern "C" {
16343    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_assign_EC_KEY"]
16344    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16345}
16346extern "C" {
16347    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get0_EC_KEY"]
16348    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16349}
16350extern "C" {
16351    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get1_EC_KEY"]
16352    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16353}
16354extern "C" {
16355    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set1_DH"]
16356    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16357}
16358extern "C" {
16359    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_assign_DH"]
16360    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16361}
16362extern "C" {
16363    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get0_DH"]
16364    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
16365}
16366extern "C" {
16367    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get1_DH"]
16368    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
16369}
16370extern "C" {
16371    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
16372    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
16373        ctx: *mut EVP_PKEY_CTX,
16374        pbits: ::std::os::raw::c_int,
16375    ) -> ::std::os::raw::c_int;
16376}
16377extern "C" {
16378    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
16379    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
16380        ctx: *mut EVP_PKEY_CTX,
16381        gen: ::std::os::raw::c_int,
16382    ) -> ::std::os::raw::c_int;
16383}
16384extern "C" {
16385    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set_type"]
16386    pub fn EVP_PKEY_set_type(
16387        pkey: *mut EVP_PKEY,
16388        type_: ::std::os::raw::c_int,
16389    ) -> ::std::os::raw::c_int;
16390}
16391extern "C" {
16392    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_cmp_parameters"]
16393    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
16394        -> ::std::os::raw::c_int;
16395}
16396extern "C" {
16397    #[link_name = "\u{1}aws_lc_0_26_0_EVP_parse_public_key"]
16398    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16399}
16400extern "C" {
16401    #[link_name = "\u{1}aws_lc_0_26_0_EVP_marshal_public_key"]
16402    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16403}
16404extern "C" {
16405    #[link_name = "\u{1}aws_lc_0_26_0_EVP_parse_private_key"]
16406    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16407}
16408extern "C" {
16409    #[link_name = "\u{1}aws_lc_0_26_0_EVP_marshal_private_key"]
16410    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16411}
16412extern "C" {
16413    #[link_name = "\u{1}aws_lc_0_26_0_EVP_marshal_private_key_v2"]
16414    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
16415        -> ::std::os::raw::c_int;
16416}
16417extern "C" {
16418    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_new_raw_private_key"]
16419    pub fn EVP_PKEY_new_raw_private_key(
16420        type_: ::std::os::raw::c_int,
16421        unused: *mut ENGINE,
16422        in_: *const u8,
16423        len: usize,
16424    ) -> *mut EVP_PKEY;
16425}
16426extern "C" {
16427    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_new_raw_public_key"]
16428    pub fn EVP_PKEY_new_raw_public_key(
16429        type_: ::std::os::raw::c_int,
16430        unused: *mut ENGINE,
16431        in_: *const u8,
16432        len: usize,
16433    ) -> *mut EVP_PKEY;
16434}
16435extern "C" {
16436    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get_raw_private_key"]
16437    pub fn EVP_PKEY_get_raw_private_key(
16438        pkey: *const EVP_PKEY,
16439        out: *mut u8,
16440        out_len: *mut usize,
16441    ) -> ::std::os::raw::c_int;
16442}
16443extern "C" {
16444    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get_raw_public_key"]
16445    pub fn EVP_PKEY_get_raw_public_key(
16446        pkey: *const EVP_PKEY,
16447        out: *mut u8,
16448        out_len: *mut usize,
16449    ) -> ::std::os::raw::c_int;
16450}
16451extern "C" {
16452    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestSignInit"]
16453    pub fn EVP_DigestSignInit(
16454        ctx: *mut EVP_MD_CTX,
16455        pctx: *mut *mut EVP_PKEY_CTX,
16456        type_: *const EVP_MD,
16457        e: *mut ENGINE,
16458        pkey: *mut EVP_PKEY,
16459    ) -> ::std::os::raw::c_int;
16460}
16461extern "C" {
16462    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestSignUpdate"]
16463    pub fn EVP_DigestSignUpdate(
16464        ctx: *mut EVP_MD_CTX,
16465        data: *const ::std::os::raw::c_void,
16466        len: usize,
16467    ) -> ::std::os::raw::c_int;
16468}
16469extern "C" {
16470    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestSignFinal"]
16471    pub fn EVP_DigestSignFinal(
16472        ctx: *mut EVP_MD_CTX,
16473        out_sig: *mut u8,
16474        out_sig_len: *mut usize,
16475    ) -> ::std::os::raw::c_int;
16476}
16477extern "C" {
16478    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestSign"]
16479    pub fn EVP_DigestSign(
16480        ctx: *mut EVP_MD_CTX,
16481        out_sig: *mut u8,
16482        out_sig_len: *mut usize,
16483        data: *const u8,
16484        data_len: usize,
16485    ) -> ::std::os::raw::c_int;
16486}
16487extern "C" {
16488    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestVerifyInit"]
16489    pub fn EVP_DigestVerifyInit(
16490        ctx: *mut EVP_MD_CTX,
16491        pctx: *mut *mut EVP_PKEY_CTX,
16492        type_: *const EVP_MD,
16493        e: *mut ENGINE,
16494        pkey: *mut EVP_PKEY,
16495    ) -> ::std::os::raw::c_int;
16496}
16497extern "C" {
16498    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestVerifyUpdate"]
16499    pub fn EVP_DigestVerifyUpdate(
16500        ctx: *mut EVP_MD_CTX,
16501        data: *const ::std::os::raw::c_void,
16502        len: usize,
16503    ) -> ::std::os::raw::c_int;
16504}
16505extern "C" {
16506    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestVerifyFinal"]
16507    pub fn EVP_DigestVerifyFinal(
16508        ctx: *mut EVP_MD_CTX,
16509        sig: *const u8,
16510        sig_len: usize,
16511    ) -> ::std::os::raw::c_int;
16512}
16513extern "C" {
16514    #[link_name = "\u{1}aws_lc_0_26_0_EVP_DigestVerify"]
16515    pub fn EVP_DigestVerify(
16516        ctx: *mut EVP_MD_CTX,
16517        sig: *const u8,
16518        sig_len: usize,
16519        data: *const u8,
16520        len: usize,
16521    ) -> ::std::os::raw::c_int;
16522}
16523extern "C" {
16524    #[link_name = "\u{1}aws_lc_0_26_0_EVP_SignInit_ex"]
16525    pub fn EVP_SignInit_ex(
16526        ctx: *mut EVP_MD_CTX,
16527        type_: *const EVP_MD,
16528        impl_: *mut ENGINE,
16529    ) -> ::std::os::raw::c_int;
16530}
16531extern "C" {
16532    #[link_name = "\u{1}aws_lc_0_26_0_EVP_SignInit"]
16533    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16534}
16535extern "C" {
16536    #[link_name = "\u{1}aws_lc_0_26_0_EVP_SignUpdate"]
16537    pub fn EVP_SignUpdate(
16538        ctx: *mut EVP_MD_CTX,
16539        data: *const ::std::os::raw::c_void,
16540        len: usize,
16541    ) -> ::std::os::raw::c_int;
16542}
16543extern "C" {
16544    #[link_name = "\u{1}aws_lc_0_26_0_EVP_SignFinal"]
16545    pub fn EVP_SignFinal(
16546        ctx: *const EVP_MD_CTX,
16547        sig: *mut u8,
16548        out_sig_len: *mut ::std::os::raw::c_uint,
16549        pkey: *mut EVP_PKEY,
16550    ) -> ::std::os::raw::c_int;
16551}
16552extern "C" {
16553    #[link_name = "\u{1}aws_lc_0_26_0_EVP_VerifyInit_ex"]
16554    pub fn EVP_VerifyInit_ex(
16555        ctx: *mut EVP_MD_CTX,
16556        type_: *const EVP_MD,
16557        impl_: *mut ENGINE,
16558    ) -> ::std::os::raw::c_int;
16559}
16560extern "C" {
16561    #[link_name = "\u{1}aws_lc_0_26_0_EVP_VerifyInit"]
16562    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16563}
16564extern "C" {
16565    #[link_name = "\u{1}aws_lc_0_26_0_EVP_VerifyUpdate"]
16566    pub fn EVP_VerifyUpdate(
16567        ctx: *mut EVP_MD_CTX,
16568        data: *const ::std::os::raw::c_void,
16569        len: usize,
16570    ) -> ::std::os::raw::c_int;
16571}
16572extern "C" {
16573    #[link_name = "\u{1}aws_lc_0_26_0_EVP_VerifyFinal"]
16574    pub fn EVP_VerifyFinal(
16575        ctx: *mut EVP_MD_CTX,
16576        sig: *const u8,
16577        sig_len: usize,
16578        pkey: *mut EVP_PKEY,
16579    ) -> ::std::os::raw::c_int;
16580}
16581extern "C" {
16582    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_print_public"]
16583    pub fn EVP_PKEY_print_public(
16584        out: *mut BIO,
16585        pkey: *const EVP_PKEY,
16586        indent: ::std::os::raw::c_int,
16587        pctx: *mut ASN1_PCTX,
16588    ) -> ::std::os::raw::c_int;
16589}
16590extern "C" {
16591    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_print_private"]
16592    pub fn EVP_PKEY_print_private(
16593        out: *mut BIO,
16594        pkey: *const EVP_PKEY,
16595        indent: ::std::os::raw::c_int,
16596        pctx: *mut ASN1_PCTX,
16597    ) -> ::std::os::raw::c_int;
16598}
16599extern "C" {
16600    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_print_params"]
16601    pub fn EVP_PKEY_print_params(
16602        out: *mut BIO,
16603        pkey: *const EVP_PKEY,
16604        indent: ::std::os::raw::c_int,
16605        pctx: *mut ASN1_PCTX,
16606    ) -> ::std::os::raw::c_int;
16607}
16608extern "C" {
16609    #[link_name = "\u{1}aws_lc_0_26_0_PKCS5_PBKDF2_HMAC"]
16610    pub fn PKCS5_PBKDF2_HMAC(
16611        password: *const ::std::os::raw::c_char,
16612        password_len: usize,
16613        salt: *const u8,
16614        salt_len: usize,
16615        iterations: u32,
16616        digest: *const EVP_MD,
16617        key_len: usize,
16618        out_key: *mut u8,
16619    ) -> ::std::os::raw::c_int;
16620}
16621extern "C" {
16622    #[link_name = "\u{1}aws_lc_0_26_0_PKCS5_PBKDF2_HMAC_SHA1"]
16623    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16624        password: *const ::std::os::raw::c_char,
16625        password_len: usize,
16626        salt: *const u8,
16627        salt_len: usize,
16628        iterations: u32,
16629        key_len: usize,
16630        out_key: *mut u8,
16631    ) -> ::std::os::raw::c_int;
16632}
16633extern "C" {
16634    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PBE_scrypt"]
16635    pub fn EVP_PBE_scrypt(
16636        password: *const ::std::os::raw::c_char,
16637        password_len: usize,
16638        salt: *const u8,
16639        salt_len: usize,
16640        N: u64,
16641        r: u64,
16642        p: u64,
16643        max_mem: usize,
16644        out_key: *mut u8,
16645        key_len: usize,
16646    ) -> ::std::os::raw::c_int;
16647}
16648extern "C" {
16649    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_new"]
16650    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16651}
16652extern "C" {
16653    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_new_id"]
16654    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16655}
16656extern "C" {
16657    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_free"]
16658    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16659}
16660extern "C" {
16661    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_dup"]
16662    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16663}
16664extern "C" {
16665    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get0_pkey"]
16666    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16667}
16668extern "C" {
16669    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_sign_init"]
16670    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16671}
16672extern "C" {
16673    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_sign"]
16674    pub fn EVP_PKEY_sign(
16675        ctx: *mut EVP_PKEY_CTX,
16676        sig: *mut u8,
16677        sig_len: *mut usize,
16678        digest: *const u8,
16679        digest_len: usize,
16680    ) -> ::std::os::raw::c_int;
16681}
16682extern "C" {
16683    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_verify_init"]
16684    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16685}
16686extern "C" {
16687    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_verify"]
16688    pub fn EVP_PKEY_verify(
16689        ctx: *mut EVP_PKEY_CTX,
16690        sig: *const u8,
16691        sig_len: usize,
16692        digest: *const u8,
16693        digest_len: usize,
16694    ) -> ::std::os::raw::c_int;
16695}
16696extern "C" {
16697    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_encrypt_init"]
16698    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16699}
16700extern "C" {
16701    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_encrypt"]
16702    pub fn EVP_PKEY_encrypt(
16703        ctx: *mut EVP_PKEY_CTX,
16704        out: *mut u8,
16705        out_len: *mut usize,
16706        in_: *const u8,
16707        in_len: usize,
16708    ) -> ::std::os::raw::c_int;
16709}
16710extern "C" {
16711    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_decrypt_init"]
16712    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16713}
16714extern "C" {
16715    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_decrypt"]
16716    pub fn EVP_PKEY_decrypt(
16717        ctx: *mut EVP_PKEY_CTX,
16718        out: *mut u8,
16719        out_len: *mut usize,
16720        in_: *const u8,
16721        in_len: usize,
16722    ) -> ::std::os::raw::c_int;
16723}
16724extern "C" {
16725    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_verify_recover_init"]
16726    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16727}
16728extern "C" {
16729    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_verify_recover"]
16730    pub fn EVP_PKEY_verify_recover(
16731        ctx: *mut EVP_PKEY_CTX,
16732        out: *mut u8,
16733        out_len: *mut usize,
16734        sig: *const u8,
16735        siglen: usize,
16736    ) -> ::std::os::raw::c_int;
16737}
16738extern "C" {
16739    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_derive_init"]
16740    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16741}
16742extern "C" {
16743    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_derive_set_peer"]
16744    pub fn EVP_PKEY_derive_set_peer(
16745        ctx: *mut EVP_PKEY_CTX,
16746        peer: *mut EVP_PKEY,
16747    ) -> ::std::os::raw::c_int;
16748}
16749extern "C" {
16750    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_derive"]
16751    pub fn EVP_PKEY_derive(
16752        ctx: *mut EVP_PKEY_CTX,
16753        key: *mut u8,
16754        out_key_len: *mut usize,
16755    ) -> ::std::os::raw::c_int;
16756}
16757extern "C" {
16758    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_keygen_init"]
16759    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16760}
16761extern "C" {
16762    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_keygen"]
16763    pub fn EVP_PKEY_keygen(
16764        ctx: *mut EVP_PKEY_CTX,
16765        out_pkey: *mut *mut EVP_PKEY,
16766    ) -> ::std::os::raw::c_int;
16767}
16768extern "C" {
16769    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_encapsulate"]
16770    pub fn EVP_PKEY_encapsulate(
16771        ctx: *mut EVP_PKEY_CTX,
16772        ciphertext: *mut u8,
16773        ciphertext_len: *mut usize,
16774        shared_secret: *mut u8,
16775        shared_secret_len: *mut usize,
16776    ) -> ::std::os::raw::c_int;
16777}
16778extern "C" {
16779    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_decapsulate"]
16780    pub fn EVP_PKEY_decapsulate(
16781        ctx: *mut EVP_PKEY_CTX,
16782        shared_secret: *mut u8,
16783        shared_secret_len: *mut usize,
16784        ciphertext: *const u8,
16785        ciphertext_len: usize,
16786    ) -> ::std::os::raw::c_int;
16787}
16788extern "C" {
16789    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_paramgen_init"]
16790    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16791}
16792extern "C" {
16793    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_paramgen"]
16794    pub fn EVP_PKEY_paramgen(
16795        ctx: *mut EVP_PKEY_CTX,
16796        out_pkey: *mut *mut EVP_PKEY,
16797    ) -> ::std::os::raw::c_int;
16798}
16799extern "C" {
16800    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_signature_md"]
16801    pub fn EVP_PKEY_CTX_set_signature_md(
16802        ctx: *mut EVP_PKEY_CTX,
16803        md: *const EVP_MD,
16804    ) -> ::std::os::raw::c_int;
16805}
16806extern "C" {
16807    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_signature_md"]
16808    pub fn EVP_PKEY_CTX_get_signature_md(
16809        ctx: *mut EVP_PKEY_CTX,
16810        out_md: *mut *const EVP_MD,
16811    ) -> ::std::os::raw::c_int;
16812}
16813extern "C" {
16814    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_signature_context"]
16815    pub fn EVP_PKEY_CTX_set_signature_context(
16816        ctx: *mut EVP_PKEY_CTX,
16817        context: *const u8,
16818        context_len: usize,
16819    ) -> ::std::os::raw::c_int;
16820}
16821extern "C" {
16822    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get0_signature_context"]
16823    pub fn EVP_PKEY_CTX_get0_signature_context(
16824        ctx: *mut EVP_PKEY_CTX,
16825        context: *mut *const u8,
16826        context_len: *mut usize,
16827    ) -> ::std::os::raw::c_int;
16828}
16829extern "C" {
16830    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_padding"]
16831    pub fn EVP_PKEY_CTX_set_rsa_padding(
16832        ctx: *mut EVP_PKEY_CTX,
16833        padding: ::std::os::raw::c_int,
16834    ) -> ::std::os::raw::c_int;
16835}
16836extern "C" {
16837    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_rsa_padding"]
16838    pub fn EVP_PKEY_CTX_get_rsa_padding(
16839        ctx: *mut EVP_PKEY_CTX,
16840        out_padding: *mut ::std::os::raw::c_int,
16841    ) -> ::std::os::raw::c_int;
16842}
16843extern "C" {
16844    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16845    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16846        ctx: *mut EVP_PKEY_CTX,
16847        salt_len: ::std::os::raw::c_int,
16848    ) -> ::std::os::raw::c_int;
16849}
16850extern "C" {
16851    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16852    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16853        ctx: *mut EVP_PKEY_CTX,
16854        out_salt_len: *mut ::std::os::raw::c_int,
16855    ) -> ::std::os::raw::c_int;
16856}
16857extern "C" {
16858    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16859    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16860        ctx: *mut EVP_PKEY_CTX,
16861        bits: ::std::os::raw::c_int,
16862    ) -> ::std::os::raw::c_int;
16863}
16864extern "C" {
16865    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16866    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16867        ctx: *mut EVP_PKEY_CTX,
16868        e: *mut BIGNUM,
16869    ) -> ::std::os::raw::c_int;
16870}
16871extern "C" {
16872    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
16873    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16874        ctx: *mut EVP_PKEY_CTX,
16875        md: *const EVP_MD,
16876    ) -> ::std::os::raw::c_int;
16877}
16878extern "C" {
16879    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
16880    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16881        ctx: *mut EVP_PKEY_CTX,
16882        out_md: *mut *const EVP_MD,
16883    ) -> ::std::os::raw::c_int;
16884}
16885extern "C" {
16886    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16887    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16888        ctx: *mut EVP_PKEY_CTX,
16889        md: *const EVP_MD,
16890    ) -> ::std::os::raw::c_int;
16891}
16892extern "C" {
16893    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16894    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16895        ctx: *mut EVP_PKEY_CTX,
16896        out_md: *mut *const EVP_MD,
16897    ) -> ::std::os::raw::c_int;
16898}
16899extern "C" {
16900    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16901    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16902        ctx: *mut EVP_PKEY_CTX,
16903        label: *mut u8,
16904        label_len: usize,
16905    ) -> ::std::os::raw::c_int;
16906}
16907extern "C" {
16908    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16909    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16910        ctx: *mut EVP_PKEY_CTX,
16911        out_label: *mut *const u8,
16912    ) -> ::std::os::raw::c_int;
16913}
16914extern "C" {
16915    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16916    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16917        ctx: *mut EVP_PKEY_CTX,
16918        nid: ::std::os::raw::c_int,
16919    ) -> ::std::os::raw::c_int;
16920}
16921extern "C" {
16922    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_kem_set_params"]
16923    pub fn EVP_PKEY_CTX_kem_set_params(
16924        ctx: *mut EVP_PKEY_CTX,
16925        nid: ::std::os::raw::c_int,
16926    ) -> ::std::os::raw::c_int;
16927}
16928extern "C" {
16929    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_kem_new_raw_public_key"]
16930    pub fn EVP_PKEY_kem_new_raw_public_key(
16931        nid: ::std::os::raw::c_int,
16932        in_: *const u8,
16933        len: usize,
16934    ) -> *mut EVP_PKEY;
16935}
16936extern "C" {
16937    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_kem_new_raw_secret_key"]
16938    pub fn EVP_PKEY_kem_new_raw_secret_key(
16939        nid: ::std::os::raw::c_int,
16940        in_: *const u8,
16941        len: usize,
16942    ) -> *mut EVP_PKEY;
16943}
16944extern "C" {
16945    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_kem_new_raw_key"]
16946    pub fn EVP_PKEY_kem_new_raw_key(
16947        nid: ::std::os::raw::c_int,
16948        in_public: *const u8,
16949        len_public: usize,
16950        in_secret: *const u8,
16951        len_secret: usize,
16952    ) -> *mut EVP_PKEY;
16953}
16954extern "C" {
16955    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_kem_check_key"]
16956    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16957}
16958extern "C" {
16959    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_pqdsa_set_params"]
16960    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16961        ctx: *mut EVP_PKEY_CTX,
16962        nid: ::std::os::raw::c_int,
16963    ) -> ::std::os::raw::c_int;
16964}
16965extern "C" {
16966    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_pqdsa_new_raw_public_key"]
16967    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
16968        nid: ::std::os::raw::c_int,
16969        in_: *const u8,
16970        len: usize,
16971    ) -> *mut EVP_PKEY;
16972}
16973extern "C" {
16974    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_pqdsa_new_raw_private_key"]
16975    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
16976        nid: ::std::os::raw::c_int,
16977        in_: *const u8,
16978        len: usize,
16979    ) -> *mut EVP_PKEY;
16980}
16981extern "C" {
16982    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dh_pad"]
16983    pub fn EVP_PKEY_CTX_set_dh_pad(
16984        ctx: *mut EVP_PKEY_CTX,
16985        pad: ::std::os::raw::c_int,
16986    ) -> ::std::os::raw::c_int;
16987}
16988extern "C" {
16989    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_asn1_get_count"]
16990    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
16991}
16992extern "C" {
16993    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_asn1_get0"]
16994    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
16995}
16996extern "C" {
16997    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_asn1_find"]
16998    pub fn EVP_PKEY_asn1_find(
16999        _pe: *mut *mut ENGINE,
17000        type_: ::std::os::raw::c_int,
17001    ) -> *const EVP_PKEY_ASN1_METHOD;
17002}
17003extern "C" {
17004    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_asn1_find_str"]
17005    pub fn EVP_PKEY_asn1_find_str(
17006        _pe: *mut *mut ENGINE,
17007        name: *const ::std::os::raw::c_char,
17008        len: ::std::os::raw::c_int,
17009    ) -> *const EVP_PKEY_ASN1_METHOD;
17010}
17011extern "C" {
17012    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_asn1_get0_info"]
17013    pub fn EVP_PKEY_asn1_get0_info(
17014        ppkey_id: *mut ::std::os::raw::c_int,
17015        pkey_base_id: *mut ::std::os::raw::c_int,
17016        ppkey_flags: *mut ::std::os::raw::c_int,
17017        pinfo: *mut *const ::std::os::raw::c_char,
17018        ppem_str: *mut *const ::std::os::raw::c_char,
17019        ameth: *const EVP_PKEY_ASN1_METHOD,
17020    ) -> ::std::os::raw::c_int;
17021}
17022pub type EVP_PKEY_gen_cb =
17023    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
17024extern "C" {
17025    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_cb"]
17026    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
17027}
17028extern "C" {
17029    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_keygen_info"]
17030    pub fn EVP_PKEY_CTX_get_keygen_info(
17031        ctx: *mut EVP_PKEY_CTX,
17032        idx: ::std::os::raw::c_int,
17033    ) -> ::std::os::raw::c_int;
17034}
17035extern "C" {
17036    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_app_data"]
17037    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
17038}
17039extern "C" {
17040    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_get_app_data"]
17041    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
17042}
17043extern "C" {
17044    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_get_pkey_type"]
17045    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17046}
17047extern "C" {
17048    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_pkey_type"]
17049    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17050}
17051extern "C" {
17052    #[link_name = "\u{1}aws_lc_0_26_0_EVP_CIPHER_do_all_sorted"]
17053    pub fn EVP_CIPHER_do_all_sorted(
17054        callback: ::std::option::Option<
17055            unsafe extern "C" fn(
17056                cipher: *const EVP_CIPHER,
17057                name: *const ::std::os::raw::c_char,
17058                unused: *const ::std::os::raw::c_char,
17059                arg: *mut ::std::os::raw::c_void,
17060            ),
17061        >,
17062        arg: *mut ::std::os::raw::c_void,
17063    );
17064}
17065extern "C" {
17066    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_do_all_sorted"]
17067    pub fn EVP_MD_do_all_sorted(
17068        callback: ::std::option::Option<
17069            unsafe extern "C" fn(
17070                cipher: *const EVP_MD,
17071                name: *const ::std::os::raw::c_char,
17072                unused: *const ::std::os::raw::c_char,
17073                arg: *mut ::std::os::raw::c_void,
17074            ),
17075        >,
17076        arg: *mut ::std::os::raw::c_void,
17077    );
17078}
17079extern "C" {
17080    #[link_name = "\u{1}aws_lc_0_26_0_EVP_MD_do_all"]
17081    pub fn EVP_MD_do_all(
17082        callback: ::std::option::Option<
17083            unsafe extern "C" fn(
17084                cipher: *const EVP_MD,
17085                name: *const ::std::os::raw::c_char,
17086                unused: *const ::std::os::raw::c_char,
17087                arg: *mut ::std::os::raw::c_void,
17088            ),
17089        >,
17090        arg: *mut ::std::os::raw::c_void,
17091    );
17092}
17093extern "C" {
17094    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PrivateKey"]
17095    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17096}
17097extern "C" {
17098    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PublicKey"]
17099    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17100}
17101extern "C" {
17102    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PrivateKey"]
17103    pub fn d2i_PrivateKey(
17104        type_: ::std::os::raw::c_int,
17105        out: *mut *mut EVP_PKEY,
17106        inp: *mut *const u8,
17107        len: ::std::os::raw::c_long,
17108    ) -> *mut EVP_PKEY;
17109}
17110extern "C" {
17111    #[link_name = "\u{1}aws_lc_0_26_0_d2i_AutoPrivateKey"]
17112    pub fn d2i_AutoPrivateKey(
17113        out: *mut *mut EVP_PKEY,
17114        inp: *mut *const u8,
17115        len: ::std::os::raw::c_long,
17116    ) -> *mut EVP_PKEY;
17117}
17118extern "C" {
17119    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PublicKey"]
17120    pub fn d2i_PublicKey(
17121        type_: ::std::os::raw::c_int,
17122        out: *mut *mut EVP_PKEY,
17123        inp: *mut *const u8,
17124        len: ::std::os::raw::c_long,
17125    ) -> *mut EVP_PKEY;
17126}
17127extern "C" {
17128    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_ec_param_enc"]
17129    pub fn EVP_PKEY_CTX_set_ec_param_enc(
17130        ctx: *mut EVP_PKEY_CTX,
17131        encoding: ::std::os::raw::c_int,
17132    ) -> ::std::os::raw::c_int;
17133}
17134extern "C" {
17135    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_set1_tls_encodedpoint"]
17136    pub fn EVP_PKEY_set1_tls_encodedpoint(
17137        pkey: *mut EVP_PKEY,
17138        in_: *const u8,
17139        len: usize,
17140    ) -> ::std::os::raw::c_int;
17141}
17142extern "C" {
17143    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get1_tls_encodedpoint"]
17144    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
17145}
17146extern "C" {
17147    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_base_id"]
17148    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
17149}
17150extern "C" {
17151    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
17152    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
17153        ctx: *mut EVP_PKEY_CTX,
17154        md: *const EVP_MD,
17155    ) -> ::std::os::raw::c_int;
17156}
17157extern "C" {
17158    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
17159    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
17160        ctx: *mut EVP_PKEY_CTX,
17161        salt_len: ::std::os::raw::c_int,
17162    ) -> ::std::os::raw::c_int;
17163}
17164extern "C" {
17165    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
17166    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
17167        ctx: *mut EVP_PKEY_CTX,
17168        md: *const EVP_MD,
17169    ) -> ::std::os::raw::c_int;
17170}
17171extern "C" {
17172    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PUBKEY"]
17173    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17174}
17175extern "C" {
17176    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PUBKEY"]
17177    pub fn d2i_PUBKEY(
17178        out: *mut *mut EVP_PKEY,
17179        inp: *mut *const u8,
17180        len: ::std::os::raw::c_long,
17181    ) -> *mut EVP_PKEY;
17182}
17183extern "C" {
17184    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSA_PUBKEY"]
17185    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17186}
17187extern "C" {
17188    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSA_PUBKEY"]
17189    pub fn d2i_RSA_PUBKEY(
17190        out: *mut *mut RSA,
17191        inp: *mut *const u8,
17192        len: ::std::os::raw::c_long,
17193    ) -> *mut RSA;
17194}
17195extern "C" {
17196    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSA_PUBKEY"]
17197    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17198}
17199extern "C" {
17200    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSA_PUBKEY"]
17201    pub fn d2i_DSA_PUBKEY(
17202        out: *mut *mut DSA,
17203        inp: *mut *const u8,
17204        len: ::std::os::raw::c_long,
17205    ) -> *mut DSA;
17206}
17207extern "C" {
17208    #[link_name = "\u{1}aws_lc_0_26_0_i2d_EC_PUBKEY"]
17209    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17210}
17211extern "C" {
17212    #[link_name = "\u{1}aws_lc_0_26_0_d2i_EC_PUBKEY"]
17213    pub fn d2i_EC_PUBKEY(
17214        out: *mut *mut EC_KEY,
17215        inp: *mut *const u8,
17216        len: ::std::os::raw::c_long,
17217    ) -> *mut EC_KEY;
17218}
17219extern "C" {
17220    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_assign"]
17221    pub fn EVP_PKEY_assign(
17222        pkey: *mut EVP_PKEY,
17223        type_: ::std::os::raw::c_int,
17224        key: *mut ::std::os::raw::c_void,
17225    ) -> ::std::os::raw::c_int;
17226}
17227extern "C" {
17228    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_type"]
17229    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17230}
17231extern "C" {
17232    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_new_mac_key"]
17233    pub fn EVP_PKEY_new_mac_key(
17234        type_: ::std::os::raw::c_int,
17235        engine: *mut ENGINE,
17236        mac_key: *const u8,
17237        mac_key_len: usize,
17238    ) -> *mut EVP_PKEY;
17239}
17240extern "C" {
17241    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_get0"]
17242    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
17243}
17244extern "C" {
17245    #[link_name = "\u{1}aws_lc_0_26_0_OpenSSL_add_all_algorithms"]
17246    pub fn OpenSSL_add_all_algorithms();
17247}
17248extern "C" {
17249    #[link_name = "\u{1}aws_lc_0_26_0_OPENSSL_add_all_algorithms_conf"]
17250    pub fn OPENSSL_add_all_algorithms_conf();
17251}
17252extern "C" {
17253    #[link_name = "\u{1}aws_lc_0_26_0_OpenSSL_add_all_ciphers"]
17254    pub fn OpenSSL_add_all_ciphers();
17255}
17256extern "C" {
17257    #[link_name = "\u{1}aws_lc_0_26_0_OpenSSL_add_all_digests"]
17258    pub fn OpenSSL_add_all_digests();
17259}
17260extern "C" {
17261    #[link_name = "\u{1}aws_lc_0_26_0_EVP_cleanup"]
17262    pub fn EVP_cleanup();
17263}
17264extern "C" {
17265    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
17266    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
17267        ctx: *mut EVP_PKEY_CTX,
17268        nbits: ::std::os::raw::c_int,
17269    ) -> ::std::os::raw::c_int;
17270}
17271extern "C" {
17272    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
17273    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
17274        ctx: *mut EVP_PKEY_CTX,
17275        md: *const EVP_MD,
17276    ) -> ::std::os::raw::c_int;
17277}
17278extern "C" {
17279    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
17280    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
17281        ctx: *mut EVP_PKEY_CTX,
17282        qbits: ::std::os::raw::c_int,
17283    ) -> ::std::os::raw::c_int;
17284}
17285extern "C" {
17286    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_ctrl_str"]
17287    pub fn EVP_PKEY_CTX_ctrl_str(
17288        ctx: *mut EVP_PKEY_CTX,
17289        type_: *const ::std::os::raw::c_char,
17290        value: *const ::std::os::raw::c_char,
17291    ) -> ::std::os::raw::c_int;
17292}
17293extern "C" {
17294    #[link_name = "\u{1}aws_lc_0_26_0_HKDF"]
17295    pub fn HKDF(
17296        out_key: *mut u8,
17297        out_len: usize,
17298        digest: *const EVP_MD,
17299        secret: *const u8,
17300        secret_len: usize,
17301        salt: *const u8,
17302        salt_len: usize,
17303        info: *const u8,
17304        info_len: usize,
17305    ) -> ::std::os::raw::c_int;
17306}
17307extern "C" {
17308    #[link_name = "\u{1}aws_lc_0_26_0_HKDF_extract"]
17309    pub fn HKDF_extract(
17310        out_key: *mut u8,
17311        out_len: *mut usize,
17312        digest: *const EVP_MD,
17313        secret: *const u8,
17314        secret_len: usize,
17315        salt: *const u8,
17316        salt_len: usize,
17317    ) -> ::std::os::raw::c_int;
17318}
17319extern "C" {
17320    #[link_name = "\u{1}aws_lc_0_26_0_HKDF_expand"]
17321    pub fn HKDF_expand(
17322        out_key: *mut u8,
17323        out_len: usize,
17324        digest: *const EVP_MD,
17325        prk: *const u8,
17326        prk_len: usize,
17327        info: *const u8,
17328        info_len: usize,
17329    ) -> ::std::os::raw::c_int;
17330}
17331extern "C" {
17332    #[link_name = "\u{1}aws_lc_0_26_0_MD5_Init"]
17333    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17334}
17335extern "C" {
17336    #[link_name = "\u{1}aws_lc_0_26_0_MD5_Update"]
17337    pub fn MD5_Update(
17338        md5: *mut MD5_CTX,
17339        data: *const ::std::os::raw::c_void,
17340        len: usize,
17341    ) -> ::std::os::raw::c_int;
17342}
17343extern "C" {
17344    #[link_name = "\u{1}aws_lc_0_26_0_MD5_Final"]
17345    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17346}
17347extern "C" {
17348    #[link_name = "\u{1}aws_lc_0_26_0_MD5"]
17349    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
17350}
17351extern "C" {
17352    #[link_name = "\u{1}aws_lc_0_26_0_MD5_Transform"]
17353    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
17354}
17355#[repr(C)]
17356#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17357pub struct md5_state_st {
17358    pub h: [u32; 4usize],
17359    pub Nl: u32,
17360    pub Nh: u32,
17361    pub data: [u8; 64usize],
17362    pub num: ::std::os::raw::c_uint,
17363}
17364#[test]
17365fn bindgen_test_layout_md5_state_st() {
17366    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
17367    let ptr = UNINIT.as_ptr();
17368    assert_eq!(
17369        ::std::mem::size_of::<md5_state_st>(),
17370        92usize,
17371        concat!("Size of: ", stringify!(md5_state_st))
17372    );
17373    assert_eq!(
17374        ::std::mem::align_of::<md5_state_st>(),
17375        4usize,
17376        concat!("Alignment of ", stringify!(md5_state_st))
17377    );
17378    assert_eq!(
17379        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
17380        0usize,
17381        concat!(
17382            "Offset of field: ",
17383            stringify!(md5_state_st),
17384            "::",
17385            stringify!(h)
17386        )
17387    );
17388    assert_eq!(
17389        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
17390        16usize,
17391        concat!(
17392            "Offset of field: ",
17393            stringify!(md5_state_st),
17394            "::",
17395            stringify!(Nl)
17396        )
17397    );
17398    assert_eq!(
17399        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
17400        20usize,
17401        concat!(
17402            "Offset of field: ",
17403            stringify!(md5_state_st),
17404            "::",
17405            stringify!(Nh)
17406        )
17407    );
17408    assert_eq!(
17409        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17410        24usize,
17411        concat!(
17412            "Offset of field: ",
17413            stringify!(md5_state_st),
17414            "::",
17415            stringify!(data)
17416        )
17417    );
17418    assert_eq!(
17419        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
17420        88usize,
17421        concat!(
17422            "Offset of field: ",
17423            stringify!(md5_state_st),
17424            "::",
17425            stringify!(num)
17426        )
17427    );
17428}
17429impl Default for md5_state_st {
17430    fn default() -> Self {
17431        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17432        unsafe {
17433            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17434            s.assume_init()
17435        }
17436    }
17437}
17438extern "C" {
17439    #[link_name = "\u{1}aws_lc_0_26_0_HMAC"]
17440    pub fn HMAC(
17441        evp_md: *const EVP_MD,
17442        key: *const ::std::os::raw::c_void,
17443        key_len: usize,
17444        data: *const u8,
17445        data_len: usize,
17446        out: *mut u8,
17447        out_len: *mut ::std::os::raw::c_uint,
17448    ) -> *mut u8;
17449}
17450extern "C" {
17451    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_init"]
17452    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
17453}
17454extern "C" {
17455    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_new"]
17456    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
17457}
17458extern "C" {
17459    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_cleanup"]
17460    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
17461}
17462extern "C" {
17463    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_cleanse"]
17464    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
17465}
17466extern "C" {
17467    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_free"]
17468    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
17469}
17470extern "C" {
17471    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_Init_ex"]
17472    pub fn HMAC_Init_ex(
17473        ctx: *mut HMAC_CTX,
17474        key: *const ::std::os::raw::c_void,
17475        key_len: usize,
17476        md: *const EVP_MD,
17477        impl_: *mut ENGINE,
17478    ) -> ::std::os::raw::c_int;
17479}
17480extern "C" {
17481    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_Update"]
17482    pub fn HMAC_Update(
17483        ctx: *mut HMAC_CTX,
17484        data: *const u8,
17485        data_len: usize,
17486    ) -> ::std::os::raw::c_int;
17487}
17488extern "C" {
17489    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_Final"]
17490    pub fn HMAC_Final(
17491        ctx: *mut HMAC_CTX,
17492        out: *mut u8,
17493        out_len: *mut ::std::os::raw::c_uint,
17494    ) -> ::std::os::raw::c_int;
17495}
17496extern "C" {
17497    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_size"]
17498    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
17499}
17500extern "C" {
17501    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_get_md"]
17502    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
17503}
17504extern "C" {
17505    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_copy_ex"]
17506    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17507}
17508extern "C" {
17509    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_reset"]
17510    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
17511}
17512extern "C" {
17513    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_set_precomputed_key_export"]
17514    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
17515}
17516extern "C" {
17517    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_get_precomputed_key"]
17518    pub fn HMAC_get_precomputed_key(
17519        ctx: *mut HMAC_CTX,
17520        out: *mut u8,
17521        out_len: *mut usize,
17522    ) -> ::std::os::raw::c_int;
17523}
17524extern "C" {
17525    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_Init_from_precomputed_key"]
17526    pub fn HMAC_Init_from_precomputed_key(
17527        ctx: *mut HMAC_CTX,
17528        precomputed_key: *const u8,
17529        precompute_key_len: usize,
17530        md: *const EVP_MD,
17531    ) -> ::std::os::raw::c_int;
17532}
17533extern "C" {
17534    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_Init"]
17535    pub fn HMAC_Init(
17536        ctx: *mut HMAC_CTX,
17537        key: *const ::std::os::raw::c_void,
17538        key_len: ::std::os::raw::c_int,
17539        md: *const EVP_MD,
17540    ) -> ::std::os::raw::c_int;
17541}
17542extern "C" {
17543    #[link_name = "\u{1}aws_lc_0_26_0_HMAC_CTX_copy"]
17544    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17545}
17546#[repr(C)]
17547#[derive(Debug, Copy, Clone)]
17548pub struct hmac_methods_st {
17549    _unused: [u8; 0],
17550}
17551pub type HmacMethods = hmac_methods_st;
17552#[repr(C)]
17553#[derive(Copy, Clone)]
17554pub union md_ctx_union {
17555    pub md5: MD5_CTX,
17556    pub sha1: SHA_CTX,
17557    pub sha256: SHA256_CTX,
17558    pub sha512: SHA512_CTX,
17559}
17560#[test]
17561fn bindgen_test_layout_md_ctx_union() {
17562    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
17563    let ptr = UNINIT.as_ptr();
17564    assert_eq!(
17565        ::std::mem::size_of::<md_ctx_union>(),
17566        216usize,
17567        concat!("Size of: ", stringify!(md_ctx_union))
17568    );
17569    assert_eq!(
17570        ::std::mem::align_of::<md_ctx_union>(),
17571        4usize,
17572        concat!("Alignment of ", stringify!(md_ctx_union))
17573    );
17574    assert_eq!(
17575        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
17576        0usize,
17577        concat!(
17578            "Offset of field: ",
17579            stringify!(md_ctx_union),
17580            "::",
17581            stringify!(md5)
17582        )
17583    );
17584    assert_eq!(
17585        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
17586        0usize,
17587        concat!(
17588            "Offset of field: ",
17589            stringify!(md_ctx_union),
17590            "::",
17591            stringify!(sha1)
17592        )
17593    );
17594    assert_eq!(
17595        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
17596        0usize,
17597        concat!(
17598            "Offset of field: ",
17599            stringify!(md_ctx_union),
17600            "::",
17601            stringify!(sha256)
17602        )
17603    );
17604    assert_eq!(
17605        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
17606        0usize,
17607        concat!(
17608            "Offset of field: ",
17609            stringify!(md_ctx_union),
17610            "::",
17611            stringify!(sha512)
17612        )
17613    );
17614}
17615impl Default for md_ctx_union {
17616    fn default() -> Self {
17617        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17618        unsafe {
17619            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17620            s.assume_init()
17621        }
17622    }
17623}
17624#[repr(C)]
17625#[derive(Copy, Clone)]
17626pub struct hmac_ctx_st {
17627    pub md: *const EVP_MD,
17628    pub methods: *const HmacMethods,
17629    pub md_ctx: md_ctx_union,
17630    pub i_ctx: md_ctx_union,
17631    pub o_ctx: md_ctx_union,
17632    pub state: i8,
17633}
17634#[test]
17635fn bindgen_test_layout_hmac_ctx_st() {
17636    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
17637    let ptr = UNINIT.as_ptr();
17638    assert_eq!(
17639        ::std::mem::size_of::<hmac_ctx_st>(),
17640        660usize,
17641        concat!("Size of: ", stringify!(hmac_ctx_st))
17642    );
17643    assert_eq!(
17644        ::std::mem::align_of::<hmac_ctx_st>(),
17645        4usize,
17646        concat!("Alignment of ", stringify!(hmac_ctx_st))
17647    );
17648    assert_eq!(
17649        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
17650        0usize,
17651        concat!(
17652            "Offset of field: ",
17653            stringify!(hmac_ctx_st),
17654            "::",
17655            stringify!(md)
17656        )
17657    );
17658    assert_eq!(
17659        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
17660        4usize,
17661        concat!(
17662            "Offset of field: ",
17663            stringify!(hmac_ctx_st),
17664            "::",
17665            stringify!(methods)
17666        )
17667    );
17668    assert_eq!(
17669        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
17670        8usize,
17671        concat!(
17672            "Offset of field: ",
17673            stringify!(hmac_ctx_st),
17674            "::",
17675            stringify!(md_ctx)
17676        )
17677    );
17678    assert_eq!(
17679        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
17680        224usize,
17681        concat!(
17682            "Offset of field: ",
17683            stringify!(hmac_ctx_st),
17684            "::",
17685            stringify!(i_ctx)
17686        )
17687    );
17688    assert_eq!(
17689        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
17690        440usize,
17691        concat!(
17692            "Offset of field: ",
17693            stringify!(hmac_ctx_st),
17694            "::",
17695            stringify!(o_ctx)
17696        )
17697    );
17698    assert_eq!(
17699        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
17700        656usize,
17701        concat!(
17702            "Offset of field: ",
17703            stringify!(hmac_ctx_st),
17704            "::",
17705            stringify!(state)
17706        )
17707    );
17708}
17709impl Default for hmac_ctx_st {
17710    fn default() -> Self {
17711        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17712        unsafe {
17713            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17714            s.assume_init()
17715        }
17716    }
17717}
17718extern "C" {
17719    #[link_name = "\u{1}aws_lc_0_26_0_EVP_hpke_x25519_hkdf_sha256"]
17720    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
17721}
17722extern "C" {
17723    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEM_id"]
17724    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
17725}
17726extern "C" {
17727    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEM_public_key_len"]
17728    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17729}
17730extern "C" {
17731    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEM_private_key_len"]
17732    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17733}
17734extern "C" {
17735    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEM_enc_len"]
17736    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
17737}
17738extern "C" {
17739    #[link_name = "\u{1}aws_lc_0_26_0_EVP_hpke_hkdf_sha256"]
17740    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
17741}
17742extern "C" {
17743    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KDF_id"]
17744    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
17745}
17746extern "C" {
17747    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KDF_hkdf_md"]
17748    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
17749}
17750extern "C" {
17751    #[link_name = "\u{1}aws_lc_0_26_0_EVP_hpke_aes_128_gcm"]
17752    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
17753}
17754extern "C" {
17755    #[link_name = "\u{1}aws_lc_0_26_0_EVP_hpke_aes_256_gcm"]
17756    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
17757}
17758extern "C" {
17759    #[link_name = "\u{1}aws_lc_0_26_0_EVP_hpke_chacha20_poly1305"]
17760    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
17761}
17762extern "C" {
17763    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_AEAD_id"]
17764    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17765}
17766extern "C" {
17767    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_AEAD_aead"]
17768    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17769}
17770extern "C" {
17771    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_zero"]
17772    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17773}
17774extern "C" {
17775    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_cleanup"]
17776    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17777}
17778extern "C" {
17779    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_new"]
17780    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17781}
17782extern "C" {
17783    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_free"]
17784    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17785}
17786extern "C" {
17787    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_copy"]
17788    pub fn EVP_HPKE_KEY_copy(
17789        dst: *mut EVP_HPKE_KEY,
17790        src: *const EVP_HPKE_KEY,
17791    ) -> ::std::os::raw::c_int;
17792}
17793extern "C" {
17794    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_move"]
17795    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17796}
17797extern "C" {
17798    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_init"]
17799    pub fn EVP_HPKE_KEY_init(
17800        key: *mut EVP_HPKE_KEY,
17801        kem: *const EVP_HPKE_KEM,
17802        priv_key: *const u8,
17803        priv_key_len: usize,
17804    ) -> ::std::os::raw::c_int;
17805}
17806extern "C" {
17807    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_generate"]
17808    pub fn EVP_HPKE_KEY_generate(
17809        key: *mut EVP_HPKE_KEY,
17810        kem: *const EVP_HPKE_KEM,
17811    ) -> ::std::os::raw::c_int;
17812}
17813extern "C" {
17814    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_kem"]
17815    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17816}
17817extern "C" {
17818    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_public_key"]
17819    pub fn EVP_HPKE_KEY_public_key(
17820        key: *const EVP_HPKE_KEY,
17821        out: *mut u8,
17822        out_len: *mut usize,
17823        max_out: usize,
17824    ) -> ::std::os::raw::c_int;
17825}
17826extern "C" {
17827    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_KEY_private_key"]
17828    pub fn EVP_HPKE_KEY_private_key(
17829        key: *const EVP_HPKE_KEY,
17830        out: *mut u8,
17831        out_len: *mut usize,
17832        max_out: usize,
17833    ) -> ::std::os::raw::c_int;
17834}
17835extern "C" {
17836    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_zero"]
17837    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17838}
17839extern "C" {
17840    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_cleanup"]
17841    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17842}
17843extern "C" {
17844    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_new"]
17845    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17846}
17847extern "C" {
17848    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_free"]
17849    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17850}
17851extern "C" {
17852    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_sender"]
17853    pub fn EVP_HPKE_CTX_setup_sender(
17854        ctx: *mut EVP_HPKE_CTX,
17855        out_enc: *mut u8,
17856        out_enc_len: *mut usize,
17857        max_enc: usize,
17858        kem: *const EVP_HPKE_KEM,
17859        kdf: *const EVP_HPKE_KDF,
17860        aead: *const EVP_HPKE_AEAD,
17861        peer_public_key: *const u8,
17862        peer_public_key_len: usize,
17863        info: *const u8,
17864        info_len: usize,
17865    ) -> ::std::os::raw::c_int;
17866}
17867extern "C" {
17868    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17869    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17870        ctx: *mut EVP_HPKE_CTX,
17871        out_enc: *mut u8,
17872        out_enc_len: *mut usize,
17873        max_enc: usize,
17874        kem: *const EVP_HPKE_KEM,
17875        kdf: *const EVP_HPKE_KDF,
17876        aead: *const EVP_HPKE_AEAD,
17877        peer_public_key: *const u8,
17878        peer_public_key_len: usize,
17879        info: *const u8,
17880        info_len: usize,
17881        seed: *const u8,
17882        seed_len: usize,
17883    ) -> ::std::os::raw::c_int;
17884}
17885extern "C" {
17886    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_recipient"]
17887    pub fn EVP_HPKE_CTX_setup_recipient(
17888        ctx: *mut EVP_HPKE_CTX,
17889        key: *const EVP_HPKE_KEY,
17890        kdf: *const EVP_HPKE_KDF,
17891        aead: *const EVP_HPKE_AEAD,
17892        enc: *const u8,
17893        enc_len: usize,
17894        info: *const u8,
17895        info_len: usize,
17896    ) -> ::std::os::raw::c_int;
17897}
17898extern "C" {
17899    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_auth_sender"]
17900    pub fn EVP_HPKE_CTX_setup_auth_sender(
17901        ctx: *mut EVP_HPKE_CTX,
17902        out_enc: *mut u8,
17903        out_enc_len: *mut usize,
17904        max_enc: usize,
17905        key: *const EVP_HPKE_KEY,
17906        kdf: *const EVP_HPKE_KDF,
17907        aead: *const EVP_HPKE_AEAD,
17908        peer_public_key: *const u8,
17909        peer_public_key_len: usize,
17910        info: *const u8,
17911        info_len: usize,
17912    ) -> ::std::os::raw::c_int;
17913}
17914extern "C" {
17915    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17916    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17917        ctx: *mut EVP_HPKE_CTX,
17918        out_enc: *mut u8,
17919        out_enc_len: *mut usize,
17920        max_enc: usize,
17921        key: *const EVP_HPKE_KEY,
17922        kdf: *const EVP_HPKE_KDF,
17923        aead: *const EVP_HPKE_AEAD,
17924        peer_public_key: *const u8,
17925        peer_public_key_len: usize,
17926        info: *const u8,
17927        info_len: usize,
17928        seed: *const u8,
17929        seed_len: usize,
17930    ) -> ::std::os::raw::c_int;
17931}
17932extern "C" {
17933    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_setup_auth_recipient"]
17934    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17935        ctx: *mut EVP_HPKE_CTX,
17936        key: *const EVP_HPKE_KEY,
17937        kdf: *const EVP_HPKE_KDF,
17938        aead: *const EVP_HPKE_AEAD,
17939        enc: *const u8,
17940        enc_len: usize,
17941        info: *const u8,
17942        info_len: usize,
17943        peer_public_key: *const u8,
17944        peer_public_key_len: usize,
17945    ) -> ::std::os::raw::c_int;
17946}
17947extern "C" {
17948    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_open"]
17949    pub fn EVP_HPKE_CTX_open(
17950        ctx: *mut EVP_HPKE_CTX,
17951        out: *mut u8,
17952        out_len: *mut usize,
17953        max_out_len: usize,
17954        in_: *const u8,
17955        in_len: usize,
17956        ad: *const u8,
17957        ad_len: usize,
17958    ) -> ::std::os::raw::c_int;
17959}
17960extern "C" {
17961    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_seal"]
17962    pub fn EVP_HPKE_CTX_seal(
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_26_0_EVP_HPKE_CTX_export"]
17975    pub fn EVP_HPKE_CTX_export(
17976        ctx: *const EVP_HPKE_CTX,
17977        out: *mut u8,
17978        secret_len: usize,
17979        context: *const u8,
17980        context_len: usize,
17981    ) -> ::std::os::raw::c_int;
17982}
17983extern "C" {
17984    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_max_overhead"]
17985    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17986}
17987extern "C" {
17988    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_kem"]
17989    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
17990}
17991extern "C" {
17992    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_aead"]
17993    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
17994}
17995extern "C" {
17996    #[link_name = "\u{1}aws_lc_0_26_0_EVP_HPKE_CTX_kdf"]
17997    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
17998}
17999#[repr(C)]
18000#[derive(Copy, Clone)]
18001pub struct evp_hpke_ctx_st {
18002    pub kem: *const EVP_HPKE_KEM,
18003    pub aead: *const EVP_HPKE_AEAD,
18004    pub kdf: *const EVP_HPKE_KDF,
18005    pub aead_ctx: EVP_AEAD_CTX,
18006    pub base_nonce: [u8; 24usize],
18007    pub exporter_secret: [u8; 64usize],
18008    pub seq: u64,
18009    pub is_sender: ::std::os::raw::c_int,
18010}
18011#[test]
18012fn bindgen_test_layout_evp_hpke_ctx_st() {
18013    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
18014    let ptr = UNINIT.as_ptr();
18015    assert_eq!(
18016        ::std::mem::size_of::<evp_hpke_ctx_st>(),
18017        684usize,
18018        concat!("Size of: ", stringify!(evp_hpke_ctx_st))
18019    );
18020    assert_eq!(
18021        ::std::mem::align_of::<evp_hpke_ctx_st>(),
18022        4usize,
18023        concat!("Alignment of ", stringify!(evp_hpke_ctx_st))
18024    );
18025    assert_eq!(
18026        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18027        0usize,
18028        concat!(
18029            "Offset of field: ",
18030            stringify!(evp_hpke_ctx_st),
18031            "::",
18032            stringify!(kem)
18033        )
18034    );
18035    assert_eq!(
18036        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
18037        4usize,
18038        concat!(
18039            "Offset of field: ",
18040            stringify!(evp_hpke_ctx_st),
18041            "::",
18042            stringify!(aead)
18043        )
18044    );
18045    assert_eq!(
18046        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
18047        8usize,
18048        concat!(
18049            "Offset of field: ",
18050            stringify!(evp_hpke_ctx_st),
18051            "::",
18052            stringify!(kdf)
18053        )
18054    );
18055    assert_eq!(
18056        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
18057        12usize,
18058        concat!(
18059            "Offset of field: ",
18060            stringify!(evp_hpke_ctx_st),
18061            "::",
18062            stringify!(aead_ctx)
18063        )
18064    );
18065    assert_eq!(
18066        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
18067        584usize,
18068        concat!(
18069            "Offset of field: ",
18070            stringify!(evp_hpke_ctx_st),
18071            "::",
18072            stringify!(base_nonce)
18073        )
18074    );
18075    assert_eq!(
18076        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
18077        608usize,
18078        concat!(
18079            "Offset of field: ",
18080            stringify!(evp_hpke_ctx_st),
18081            "::",
18082            stringify!(exporter_secret)
18083        )
18084    );
18085    assert_eq!(
18086        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
18087        672usize,
18088        concat!(
18089            "Offset of field: ",
18090            stringify!(evp_hpke_ctx_st),
18091            "::",
18092            stringify!(seq)
18093        )
18094    );
18095    assert_eq!(
18096        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
18097        680usize,
18098        concat!(
18099            "Offset of field: ",
18100            stringify!(evp_hpke_ctx_st),
18101            "::",
18102            stringify!(is_sender)
18103        )
18104    );
18105}
18106impl Default for evp_hpke_ctx_st {
18107    fn default() -> Self {
18108        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18109        unsafe {
18110            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18111            s.assume_init()
18112        }
18113    }
18114}
18115#[repr(C)]
18116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18117pub struct evp_hpke_key_st {
18118    pub kem: *const EVP_HPKE_KEM,
18119    pub private_key: [u8; 32usize],
18120    pub public_key: [u8; 32usize],
18121}
18122#[test]
18123fn bindgen_test_layout_evp_hpke_key_st() {
18124    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
18125    let ptr = UNINIT.as_ptr();
18126    assert_eq!(
18127        ::std::mem::size_of::<evp_hpke_key_st>(),
18128        68usize,
18129        concat!("Size of: ", stringify!(evp_hpke_key_st))
18130    );
18131    assert_eq!(
18132        ::std::mem::align_of::<evp_hpke_key_st>(),
18133        4usize,
18134        concat!("Alignment of ", stringify!(evp_hpke_key_st))
18135    );
18136    assert_eq!(
18137        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18138        0usize,
18139        concat!(
18140            "Offset of field: ",
18141            stringify!(evp_hpke_key_st),
18142            "::",
18143            stringify!(kem)
18144        )
18145    );
18146    assert_eq!(
18147        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
18148        4usize,
18149        concat!(
18150            "Offset of field: ",
18151            stringify!(evp_hpke_key_st),
18152            "::",
18153            stringify!(private_key)
18154        )
18155    );
18156    assert_eq!(
18157        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
18158        36usize,
18159        concat!(
18160            "Offset of field: ",
18161            stringify!(evp_hpke_key_st),
18162            "::",
18163            stringify!(public_key)
18164        )
18165    );
18166}
18167impl Default for evp_hpke_key_st {
18168    fn default() -> Self {
18169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18170        unsafe {
18171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18172            s.assume_init()
18173        }
18174    }
18175}
18176#[repr(C)]
18177#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18178pub struct HRSS_private_key {
18179    pub opaque: [u8; 1808usize],
18180}
18181#[test]
18182fn bindgen_test_layout_HRSS_private_key() {
18183    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
18184    let ptr = UNINIT.as_ptr();
18185    assert_eq!(
18186        ::std::mem::size_of::<HRSS_private_key>(),
18187        1808usize,
18188        concat!("Size of: ", stringify!(HRSS_private_key))
18189    );
18190    assert_eq!(
18191        ::std::mem::align_of::<HRSS_private_key>(),
18192        1usize,
18193        concat!("Alignment of ", stringify!(HRSS_private_key))
18194    );
18195    assert_eq!(
18196        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18197        0usize,
18198        concat!(
18199            "Offset of field: ",
18200            stringify!(HRSS_private_key),
18201            "::",
18202            stringify!(opaque)
18203        )
18204    );
18205}
18206impl Default for HRSS_private_key {
18207    fn default() -> Self {
18208        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18209        unsafe {
18210            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18211            s.assume_init()
18212        }
18213    }
18214}
18215#[repr(C)]
18216#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18217pub struct HRSS_public_key {
18218    pub opaque: [u8; 1424usize],
18219}
18220#[test]
18221fn bindgen_test_layout_HRSS_public_key() {
18222    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
18223    let ptr = UNINIT.as_ptr();
18224    assert_eq!(
18225        ::std::mem::size_of::<HRSS_public_key>(),
18226        1424usize,
18227        concat!("Size of: ", stringify!(HRSS_public_key))
18228    );
18229    assert_eq!(
18230        ::std::mem::align_of::<HRSS_public_key>(),
18231        1usize,
18232        concat!("Alignment of ", stringify!(HRSS_public_key))
18233    );
18234    assert_eq!(
18235        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18236        0usize,
18237        concat!(
18238            "Offset of field: ",
18239            stringify!(HRSS_public_key),
18240            "::",
18241            stringify!(opaque)
18242        )
18243    );
18244}
18245impl Default for HRSS_public_key {
18246    fn default() -> Self {
18247        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18248        unsafe {
18249            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18250            s.assume_init()
18251        }
18252    }
18253}
18254extern "C" {
18255    #[link_name = "\u{1}aws_lc_0_26_0_HRSS_generate_key"]
18256    pub fn HRSS_generate_key(
18257        out_pub: *mut HRSS_public_key,
18258        out_priv: *mut HRSS_private_key,
18259        input: *const u8,
18260    ) -> ::std::os::raw::c_int;
18261}
18262extern "C" {
18263    #[link_name = "\u{1}aws_lc_0_26_0_HRSS_encap"]
18264    pub fn HRSS_encap(
18265        out_ciphertext: *mut u8,
18266        out_shared_key: *mut u8,
18267        in_pub: *const HRSS_public_key,
18268        in_: *const u8,
18269    ) -> ::std::os::raw::c_int;
18270}
18271extern "C" {
18272    #[link_name = "\u{1}aws_lc_0_26_0_HRSS_decap"]
18273    pub fn HRSS_decap(
18274        out_shared_key: *mut u8,
18275        in_priv: *const HRSS_private_key,
18276        ciphertext: *const u8,
18277        ciphertext_len: usize,
18278    ) -> ::std::os::raw::c_int;
18279}
18280extern "C" {
18281    #[link_name = "\u{1}aws_lc_0_26_0_HRSS_marshal_public_key"]
18282    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
18283}
18284extern "C" {
18285    #[link_name = "\u{1}aws_lc_0_26_0_HRSS_parse_public_key"]
18286    pub fn HRSS_parse_public_key(
18287        out: *mut HRSS_public_key,
18288        in_: *const u8,
18289    ) -> ::std::os::raw::c_int;
18290}
18291extern "C" {
18292    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_tls1_prf"]
18293    pub fn CRYPTO_tls1_prf(
18294        digest: *const EVP_MD,
18295        out: *mut u8,
18296        out_len: usize,
18297        secret: *const u8,
18298        secret_len: usize,
18299        label: *const ::std::os::raw::c_char,
18300        label_len: usize,
18301        seed1: *const u8,
18302        seed1_len: usize,
18303        seed2: *const u8,
18304        seed2_len: usize,
18305    ) -> ::std::os::raw::c_int;
18306}
18307extern "C" {
18308    #[link_name = "\u{1}aws_lc_0_26_0_SSKDF_digest"]
18309    pub fn SSKDF_digest(
18310        out_key: *mut u8,
18311        out_len: usize,
18312        digest: *const EVP_MD,
18313        secret: *const u8,
18314        secret_len: usize,
18315        info: *const u8,
18316        info_len: usize,
18317    ) -> ::std::os::raw::c_int;
18318}
18319extern "C" {
18320    #[link_name = "\u{1}aws_lc_0_26_0_SSKDF_hmac"]
18321    pub fn SSKDF_hmac(
18322        out_key: *mut u8,
18323        out_len: usize,
18324        digest: *const EVP_MD,
18325        secret: *const u8,
18326        secret_len: usize,
18327        info: *const u8,
18328        info_len: usize,
18329        salt: *const u8,
18330        salt_len: usize,
18331    ) -> ::std::os::raw::c_int;
18332}
18333extern "C" {
18334    #[link_name = "\u{1}aws_lc_0_26_0_KBKDF_ctr_hmac"]
18335    pub fn KBKDF_ctr_hmac(
18336        out_key: *mut u8,
18337        out_len: usize,
18338        digest: *const EVP_MD,
18339        secret: *const u8,
18340        secret_len: usize,
18341        info: *const u8,
18342        info_len: usize,
18343    ) -> ::std::os::raw::c_int;
18344}
18345extern "C" {
18346    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_hkdf_mode"]
18347    pub fn EVP_PKEY_CTX_hkdf_mode(
18348        ctx: *mut EVP_PKEY_CTX,
18349        mode: ::std::os::raw::c_int,
18350    ) -> ::std::os::raw::c_int;
18351}
18352extern "C" {
18353    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set_hkdf_md"]
18354    pub fn EVP_PKEY_CTX_set_hkdf_md(
18355        ctx: *mut EVP_PKEY_CTX,
18356        md: *const EVP_MD,
18357    ) -> ::std::os::raw::c_int;
18358}
18359extern "C" {
18360    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set1_hkdf_key"]
18361    pub fn EVP_PKEY_CTX_set1_hkdf_key(
18362        ctx: *mut EVP_PKEY_CTX,
18363        key: *const u8,
18364        key_len: usize,
18365    ) -> ::std::os::raw::c_int;
18366}
18367extern "C" {
18368    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_set1_hkdf_salt"]
18369    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
18370        ctx: *mut EVP_PKEY_CTX,
18371        salt: *const u8,
18372        salt_len: usize,
18373    ) -> ::std::os::raw::c_int;
18374}
18375extern "C" {
18376    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_CTX_add1_hkdf_info"]
18377    pub fn EVP_PKEY_CTX_add1_hkdf_info(
18378        ctx: *mut EVP_PKEY_CTX,
18379        info: *const u8,
18380        info_len: usize,
18381    ) -> ::std::os::raw::c_int;
18382}
18383extern "C" {
18384    #[link_name = "\u{1}aws_lc_0_26_0_MD4_Init"]
18385    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18386}
18387extern "C" {
18388    #[link_name = "\u{1}aws_lc_0_26_0_MD4_Update"]
18389    pub fn MD4_Update(
18390        md4: *mut MD4_CTX,
18391        data: *const ::std::os::raw::c_void,
18392        len: usize,
18393    ) -> ::std::os::raw::c_int;
18394}
18395extern "C" {
18396    #[link_name = "\u{1}aws_lc_0_26_0_MD4_Final"]
18397    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18398}
18399extern "C" {
18400    #[link_name = "\u{1}aws_lc_0_26_0_MD4"]
18401    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
18402}
18403extern "C" {
18404    #[link_name = "\u{1}aws_lc_0_26_0_MD4_Transform"]
18405    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
18406}
18407#[repr(C)]
18408#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18409pub struct md4_state_st {
18410    pub h: [u32; 4usize],
18411    pub Nl: u32,
18412    pub Nh: u32,
18413    pub data: [u8; 64usize],
18414    pub num: ::std::os::raw::c_uint,
18415}
18416#[test]
18417fn bindgen_test_layout_md4_state_st() {
18418    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
18419    let ptr = UNINIT.as_ptr();
18420    assert_eq!(
18421        ::std::mem::size_of::<md4_state_st>(),
18422        92usize,
18423        concat!("Size of: ", stringify!(md4_state_st))
18424    );
18425    assert_eq!(
18426        ::std::mem::align_of::<md4_state_st>(),
18427        4usize,
18428        concat!("Alignment of ", stringify!(md4_state_st))
18429    );
18430    assert_eq!(
18431        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
18432        0usize,
18433        concat!(
18434            "Offset of field: ",
18435            stringify!(md4_state_st),
18436            "::",
18437            stringify!(h)
18438        )
18439    );
18440    assert_eq!(
18441        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
18442        16usize,
18443        concat!(
18444            "Offset of field: ",
18445            stringify!(md4_state_st),
18446            "::",
18447            stringify!(Nl)
18448        )
18449    );
18450    assert_eq!(
18451        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
18452        20usize,
18453        concat!(
18454            "Offset of field: ",
18455            stringify!(md4_state_st),
18456            "::",
18457            stringify!(Nh)
18458        )
18459    );
18460    assert_eq!(
18461        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18462        24usize,
18463        concat!(
18464            "Offset of field: ",
18465            stringify!(md4_state_st),
18466            "::",
18467            stringify!(data)
18468        )
18469    );
18470    assert_eq!(
18471        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
18472        88usize,
18473        concat!(
18474            "Offset of field: ",
18475            stringify!(md4_state_st),
18476            "::",
18477            stringify!(num)
18478        )
18479    );
18480}
18481impl Default for md4_state_st {
18482    fn default() -> Self {
18483        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18484        unsafe {
18485            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18486            s.assume_init()
18487        }
18488    }
18489}
18490#[repr(C)]
18491#[derive(Debug, Copy, Clone)]
18492pub struct stack_st_CRYPTO_BUFFER {
18493    _unused: [u8; 0],
18494}
18495#[repr(C)]
18496#[derive(Debug, Copy, Clone)]
18497pub struct stack_st_X509 {
18498    _unused: [u8; 0],
18499}
18500#[repr(C)]
18501#[derive(Debug, Copy, Clone)]
18502pub struct stack_st_X509_CRL {
18503    _unused: [u8; 0],
18504}
18505extern "C" {
18506    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_raw_certificates"]
18507    pub fn PKCS7_get_raw_certificates(
18508        out_certs: *mut stack_st_CRYPTO_BUFFER,
18509        cbs: *mut CBS,
18510        pool: *mut CRYPTO_BUFFER_POOL,
18511    ) -> ::std::os::raw::c_int;
18512}
18513extern "C" {
18514    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_certificates"]
18515    pub fn PKCS7_get_certificates(
18516        out_certs: *mut stack_st_X509,
18517        cbs: *mut CBS,
18518    ) -> ::std::os::raw::c_int;
18519}
18520extern "C" {
18521    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_bundle_raw_certificates"]
18522    pub fn PKCS7_bundle_raw_certificates(
18523        out: *mut CBB,
18524        certs: *const stack_st_CRYPTO_BUFFER,
18525    ) -> ::std::os::raw::c_int;
18526}
18527extern "C" {
18528    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_bundle_certificates"]
18529    pub fn PKCS7_bundle_certificates(
18530        out: *mut CBB,
18531        certs: *const stack_st_X509,
18532    ) -> ::std::os::raw::c_int;
18533}
18534extern "C" {
18535    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_CRLs"]
18536    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
18537        -> ::std::os::raw::c_int;
18538}
18539extern "C" {
18540    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_bundle_CRLs"]
18541    pub fn PKCS7_bundle_CRLs(
18542        out: *mut CBB,
18543        crls: *const stack_st_X509_CRL,
18544    ) -> ::std::os::raw::c_int;
18545}
18546extern "C" {
18547    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_PEM_certificates"]
18548    pub fn PKCS7_get_PEM_certificates(
18549        out_certs: *mut stack_st_X509,
18550        pem_bio: *mut BIO,
18551    ) -> ::std::os::raw::c_int;
18552}
18553extern "C" {
18554    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_PEM_CRLs"]
18555    pub fn PKCS7_get_PEM_CRLs(
18556        out_crls: *mut stack_st_X509_CRL,
18557        pem_bio: *mut BIO,
18558    ) -> ::std::os::raw::c_int;
18559}
18560extern "C" {
18561    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS7_bio"]
18562    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
18563}
18564extern "C" {
18565    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS7_bio"]
18566    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
18567}
18568extern "C" {
18569    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_data"]
18570    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
18571}
18572extern "C" {
18573    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_digest"]
18574    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
18575}
18576extern "C" {
18577    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_encrypted"]
18578    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
18579}
18580extern "C" {
18581    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_enveloped"]
18582    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18583}
18584extern "C" {
18585    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_signed"]
18586    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
18587}
18588extern "C" {
18589    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_type_is_signedAndEnveloped"]
18590    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18591}
18592#[repr(C)]
18593#[derive(Copy, Clone)]
18594pub struct pkcs7_st {
18595    pub type_: *mut ASN1_OBJECT,
18596    pub d: pkcs7_st__bindgen_ty_1,
18597}
18598#[repr(C)]
18599#[derive(Copy, Clone)]
18600pub union pkcs7_st__bindgen_ty_1 {
18601    pub ptr: *mut ::std::os::raw::c_char,
18602    pub data: *mut ASN1_OCTET_STRING,
18603    pub sign: *mut PKCS7_SIGNED,
18604    pub enveloped: *mut PKCS7_ENVELOPE,
18605    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
18606    pub digest: *mut PKCS7_DIGEST,
18607    pub encrypted: *mut PKCS7_ENCRYPT,
18608}
18609#[test]
18610fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
18611    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
18612        ::std::mem::MaybeUninit::uninit();
18613    let ptr = UNINIT.as_ptr();
18614    assert_eq!(
18615        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
18616        4usize,
18617        concat!("Size of: ", stringify!(pkcs7_st__bindgen_ty_1))
18618    );
18619    assert_eq!(
18620        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
18621        4usize,
18622        concat!("Alignment of ", stringify!(pkcs7_st__bindgen_ty_1))
18623    );
18624    assert_eq!(
18625        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
18626        0usize,
18627        concat!(
18628            "Offset of field: ",
18629            stringify!(pkcs7_st__bindgen_ty_1),
18630            "::",
18631            stringify!(ptr)
18632        )
18633    );
18634    assert_eq!(
18635        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18636        0usize,
18637        concat!(
18638            "Offset of field: ",
18639            stringify!(pkcs7_st__bindgen_ty_1),
18640            "::",
18641            stringify!(data)
18642        )
18643    );
18644    assert_eq!(
18645        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
18646        0usize,
18647        concat!(
18648            "Offset of field: ",
18649            stringify!(pkcs7_st__bindgen_ty_1),
18650            "::",
18651            stringify!(sign)
18652        )
18653    );
18654    assert_eq!(
18655        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
18656        0usize,
18657        concat!(
18658            "Offset of field: ",
18659            stringify!(pkcs7_st__bindgen_ty_1),
18660            "::",
18661            stringify!(enveloped)
18662        )
18663    );
18664    assert_eq!(
18665        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
18666        0usize,
18667        concat!(
18668            "Offset of field: ",
18669            stringify!(pkcs7_st__bindgen_ty_1),
18670            "::",
18671            stringify!(signed_and_enveloped)
18672        )
18673    );
18674    assert_eq!(
18675        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
18676        0usize,
18677        concat!(
18678            "Offset of field: ",
18679            stringify!(pkcs7_st__bindgen_ty_1),
18680            "::",
18681            stringify!(digest)
18682        )
18683    );
18684    assert_eq!(
18685        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
18686        0usize,
18687        concat!(
18688            "Offset of field: ",
18689            stringify!(pkcs7_st__bindgen_ty_1),
18690            "::",
18691            stringify!(encrypted)
18692        )
18693    );
18694}
18695impl Default for pkcs7_st__bindgen_ty_1 {
18696    fn default() -> Self {
18697        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18698        unsafe {
18699            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18700            s.assume_init()
18701        }
18702    }
18703}
18704#[test]
18705fn bindgen_test_layout_pkcs7_st() {
18706    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
18707    let ptr = UNINIT.as_ptr();
18708    assert_eq!(
18709        ::std::mem::size_of::<pkcs7_st>(),
18710        8usize,
18711        concat!("Size of: ", stringify!(pkcs7_st))
18712    );
18713    assert_eq!(
18714        ::std::mem::align_of::<pkcs7_st>(),
18715        4usize,
18716        concat!("Alignment of ", stringify!(pkcs7_st))
18717    );
18718    assert_eq!(
18719        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
18720        0usize,
18721        concat!(
18722            "Offset of field: ",
18723            stringify!(pkcs7_st),
18724            "::",
18725            stringify!(type_)
18726        )
18727    );
18728    assert_eq!(
18729        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
18730        4usize,
18731        concat!(
18732            "Offset of field: ",
18733            stringify!(pkcs7_st),
18734            "::",
18735            stringify!(d)
18736        )
18737    );
18738}
18739impl Default for pkcs7_st {
18740    fn default() -> Self {
18741        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18742        unsafe {
18743            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18744            s.assume_init()
18745        }
18746    }
18747}
18748#[repr(C)]
18749#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18750pub struct pkcs7_signed_st {
18751    pub version: *mut ASN1_INTEGER,
18752    pub md_algs: *mut stack_st_X509_ALGOR,
18753    pub contents: *mut PKCS7,
18754    pub cert: *mut stack_st_X509,
18755    pub crl: *mut stack_st_X509_CRL,
18756    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18757}
18758#[test]
18759fn bindgen_test_layout_pkcs7_signed_st() {
18760    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
18761    let ptr = UNINIT.as_ptr();
18762    assert_eq!(
18763        ::std::mem::size_of::<pkcs7_signed_st>(),
18764        24usize,
18765        concat!("Size of: ", stringify!(pkcs7_signed_st))
18766    );
18767    assert_eq!(
18768        ::std::mem::align_of::<pkcs7_signed_st>(),
18769        4usize,
18770        concat!("Alignment of ", stringify!(pkcs7_signed_st))
18771    );
18772    assert_eq!(
18773        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18774        0usize,
18775        concat!(
18776            "Offset of field: ",
18777            stringify!(pkcs7_signed_st),
18778            "::",
18779            stringify!(version)
18780        )
18781    );
18782    assert_eq!(
18783        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18784        4usize,
18785        concat!(
18786            "Offset of field: ",
18787            stringify!(pkcs7_signed_st),
18788            "::",
18789            stringify!(md_algs)
18790        )
18791    );
18792    assert_eq!(
18793        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
18794        8usize,
18795        concat!(
18796            "Offset of field: ",
18797            stringify!(pkcs7_signed_st),
18798            "::",
18799            stringify!(contents)
18800        )
18801    );
18802    assert_eq!(
18803        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18804        12usize,
18805        concat!(
18806            "Offset of field: ",
18807            stringify!(pkcs7_signed_st),
18808            "::",
18809            stringify!(cert)
18810        )
18811    );
18812    assert_eq!(
18813        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18814        16usize,
18815        concat!(
18816            "Offset of field: ",
18817            stringify!(pkcs7_signed_st),
18818            "::",
18819            stringify!(crl)
18820        )
18821    );
18822    assert_eq!(
18823        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18824        20usize,
18825        concat!(
18826            "Offset of field: ",
18827            stringify!(pkcs7_signed_st),
18828            "::",
18829            stringify!(signer_info)
18830        )
18831    );
18832}
18833impl Default for pkcs7_signed_st {
18834    fn default() -> Self {
18835        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18836        unsafe {
18837            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18838            s.assume_init()
18839        }
18840    }
18841}
18842#[repr(C)]
18843#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18844pub struct pkcs7_signer_info_st {
18845    pub version: *mut ASN1_INTEGER,
18846    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18847    pub digest_alg: *mut X509_ALGOR,
18848    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
18849    pub digest_enc_alg: *mut X509_ALGOR,
18850    pub enc_digest: *mut ASN1_OCTET_STRING,
18851    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
18852    pub pkey: *mut EVP_PKEY,
18853}
18854#[test]
18855fn bindgen_test_layout_pkcs7_signer_info_st() {
18856    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
18857    let ptr = UNINIT.as_ptr();
18858    assert_eq!(
18859        ::std::mem::size_of::<pkcs7_signer_info_st>(),
18860        32usize,
18861        concat!("Size of: ", stringify!(pkcs7_signer_info_st))
18862    );
18863    assert_eq!(
18864        ::std::mem::align_of::<pkcs7_signer_info_st>(),
18865        4usize,
18866        concat!("Alignment of ", stringify!(pkcs7_signer_info_st))
18867    );
18868    assert_eq!(
18869        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18870        0usize,
18871        concat!(
18872            "Offset of field: ",
18873            stringify!(pkcs7_signer_info_st),
18874            "::",
18875            stringify!(version)
18876        )
18877    );
18878    assert_eq!(
18879        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18880        4usize,
18881        concat!(
18882            "Offset of field: ",
18883            stringify!(pkcs7_signer_info_st),
18884            "::",
18885            stringify!(issuer_and_serial)
18886        )
18887    );
18888    assert_eq!(
18889        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
18890        8usize,
18891        concat!(
18892            "Offset of field: ",
18893            stringify!(pkcs7_signer_info_st),
18894            "::",
18895            stringify!(digest_alg)
18896        )
18897    );
18898    assert_eq!(
18899        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
18900        12usize,
18901        concat!(
18902            "Offset of field: ",
18903            stringify!(pkcs7_signer_info_st),
18904            "::",
18905            stringify!(auth_attr)
18906        )
18907    );
18908    assert_eq!(
18909        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
18910        16usize,
18911        concat!(
18912            "Offset of field: ",
18913            stringify!(pkcs7_signer_info_st),
18914            "::",
18915            stringify!(digest_enc_alg)
18916        )
18917    );
18918    assert_eq!(
18919        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
18920        20usize,
18921        concat!(
18922            "Offset of field: ",
18923            stringify!(pkcs7_signer_info_st),
18924            "::",
18925            stringify!(enc_digest)
18926        )
18927    );
18928    assert_eq!(
18929        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
18930        24usize,
18931        concat!(
18932            "Offset of field: ",
18933            stringify!(pkcs7_signer_info_st),
18934            "::",
18935            stringify!(unauth_attr)
18936        )
18937    );
18938    assert_eq!(
18939        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
18940        28usize,
18941        concat!(
18942            "Offset of field: ",
18943            stringify!(pkcs7_signer_info_st),
18944            "::",
18945            stringify!(pkey)
18946        )
18947    );
18948}
18949impl Default for pkcs7_signer_info_st {
18950    fn default() -> Self {
18951        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18952        unsafe {
18953            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18954            s.assume_init()
18955        }
18956    }
18957}
18958#[repr(C)]
18959#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18960pub struct pkcs7_sign_envelope_st {
18961    pub version: *mut ASN1_INTEGER,
18962    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18963    pub md_algs: *mut stack_st_X509_ALGOR,
18964    pub enc_data: *mut PKCS7_ENC_CONTENT,
18965    pub cert: *mut stack_st_X509,
18966    pub crl: *mut stack_st_X509_CRL,
18967    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18968}
18969#[test]
18970fn bindgen_test_layout_pkcs7_sign_envelope_st() {
18971    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
18972        ::std::mem::MaybeUninit::uninit();
18973    let ptr = UNINIT.as_ptr();
18974    assert_eq!(
18975        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
18976        28usize,
18977        concat!("Size of: ", stringify!(pkcs7_sign_envelope_st))
18978    );
18979    assert_eq!(
18980        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
18981        4usize,
18982        concat!("Alignment of ", stringify!(pkcs7_sign_envelope_st))
18983    );
18984    assert_eq!(
18985        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18986        0usize,
18987        concat!(
18988            "Offset of field: ",
18989            stringify!(pkcs7_sign_envelope_st),
18990            "::",
18991            stringify!(version)
18992        )
18993    );
18994    assert_eq!(
18995        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18996        4usize,
18997        concat!(
18998            "Offset of field: ",
18999            stringify!(pkcs7_sign_envelope_st),
19000            "::",
19001            stringify!(recipientinfo)
19002        )
19003    );
19004    assert_eq!(
19005        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
19006        8usize,
19007        concat!(
19008            "Offset of field: ",
19009            stringify!(pkcs7_sign_envelope_st),
19010            "::",
19011            stringify!(md_algs)
19012        )
19013    );
19014    assert_eq!(
19015        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19016        12usize,
19017        concat!(
19018            "Offset of field: ",
19019            stringify!(pkcs7_sign_envelope_st),
19020            "::",
19021            stringify!(enc_data)
19022        )
19023    );
19024    assert_eq!(
19025        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19026        16usize,
19027        concat!(
19028            "Offset of field: ",
19029            stringify!(pkcs7_sign_envelope_st),
19030            "::",
19031            stringify!(cert)
19032        )
19033    );
19034    assert_eq!(
19035        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
19036        20usize,
19037        concat!(
19038            "Offset of field: ",
19039            stringify!(pkcs7_sign_envelope_st),
19040            "::",
19041            stringify!(crl)
19042        )
19043    );
19044    assert_eq!(
19045        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
19046        24usize,
19047        concat!(
19048            "Offset of field: ",
19049            stringify!(pkcs7_sign_envelope_st),
19050            "::",
19051            stringify!(signer_info)
19052        )
19053    );
19054}
19055impl Default for pkcs7_sign_envelope_st {
19056    fn default() -> Self {
19057        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19058        unsafe {
19059            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19060            s.assume_init()
19061        }
19062    }
19063}
19064#[repr(C)]
19065#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19066pub struct pkcs7_envelope_st {
19067    pub version: *mut ASN1_INTEGER,
19068    pub enc_data: *mut PKCS7_ENC_CONTENT,
19069    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
19070}
19071#[test]
19072fn bindgen_test_layout_pkcs7_envelope_st() {
19073    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
19074    let ptr = UNINIT.as_ptr();
19075    assert_eq!(
19076        ::std::mem::size_of::<pkcs7_envelope_st>(),
19077        12usize,
19078        concat!("Size of: ", stringify!(pkcs7_envelope_st))
19079    );
19080    assert_eq!(
19081        ::std::mem::align_of::<pkcs7_envelope_st>(),
19082        4usize,
19083        concat!("Alignment of ", stringify!(pkcs7_envelope_st))
19084    );
19085    assert_eq!(
19086        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19087        0usize,
19088        concat!(
19089            "Offset of field: ",
19090            stringify!(pkcs7_envelope_st),
19091            "::",
19092            stringify!(version)
19093        )
19094    );
19095    assert_eq!(
19096        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19097        4usize,
19098        concat!(
19099            "Offset of field: ",
19100            stringify!(pkcs7_envelope_st),
19101            "::",
19102            stringify!(enc_data)
19103        )
19104    );
19105    assert_eq!(
19106        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
19107        8usize,
19108        concat!(
19109            "Offset of field: ",
19110            stringify!(pkcs7_envelope_st),
19111            "::",
19112            stringify!(recipientinfo)
19113        )
19114    );
19115}
19116impl Default for pkcs7_envelope_st {
19117    fn default() -> Self {
19118        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19119        unsafe {
19120            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19121            s.assume_init()
19122        }
19123    }
19124}
19125#[repr(C)]
19126#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19127pub struct pkcs7_recip_info_st {
19128    pub version: *mut ASN1_INTEGER,
19129    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
19130    pub key_enc_algor: *mut X509_ALGOR,
19131    pub enc_key: *mut ASN1_OCTET_STRING,
19132    pub cert: *mut X509,
19133}
19134#[test]
19135fn bindgen_test_layout_pkcs7_recip_info_st() {
19136    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
19137    let ptr = UNINIT.as_ptr();
19138    assert_eq!(
19139        ::std::mem::size_of::<pkcs7_recip_info_st>(),
19140        20usize,
19141        concat!("Size of: ", stringify!(pkcs7_recip_info_st))
19142    );
19143    assert_eq!(
19144        ::std::mem::align_of::<pkcs7_recip_info_st>(),
19145        4usize,
19146        concat!("Alignment of ", stringify!(pkcs7_recip_info_st))
19147    );
19148    assert_eq!(
19149        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19150        0usize,
19151        concat!(
19152            "Offset of field: ",
19153            stringify!(pkcs7_recip_info_st),
19154            "::",
19155            stringify!(version)
19156        )
19157    );
19158    assert_eq!(
19159        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
19160        4usize,
19161        concat!(
19162            "Offset of field: ",
19163            stringify!(pkcs7_recip_info_st),
19164            "::",
19165            stringify!(issuer_and_serial)
19166        )
19167    );
19168    assert_eq!(
19169        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
19170        8usize,
19171        concat!(
19172            "Offset of field: ",
19173            stringify!(pkcs7_recip_info_st),
19174            "::",
19175            stringify!(key_enc_algor)
19176        )
19177    );
19178    assert_eq!(
19179        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
19180        12usize,
19181        concat!(
19182            "Offset of field: ",
19183            stringify!(pkcs7_recip_info_st),
19184            "::",
19185            stringify!(enc_key)
19186        )
19187    );
19188    assert_eq!(
19189        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19190        16usize,
19191        concat!(
19192            "Offset of field: ",
19193            stringify!(pkcs7_recip_info_st),
19194            "::",
19195            stringify!(cert)
19196        )
19197    );
19198}
19199impl Default for pkcs7_recip_info_st {
19200    fn default() -> Self {
19201        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19202        unsafe {
19203            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19204            s.assume_init()
19205        }
19206    }
19207}
19208#[repr(C)]
19209#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19210pub struct pkcs7_issuer_and_serial_st {
19211    pub issuer: *mut X509_NAME,
19212    pub serial: *mut ASN1_INTEGER,
19213}
19214#[test]
19215fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
19216    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
19217        ::std::mem::MaybeUninit::uninit();
19218    let ptr = UNINIT.as_ptr();
19219    assert_eq!(
19220        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
19221        8usize,
19222        concat!("Size of: ", stringify!(pkcs7_issuer_and_serial_st))
19223    );
19224    assert_eq!(
19225        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
19226        4usize,
19227        concat!("Alignment of ", stringify!(pkcs7_issuer_and_serial_st))
19228    );
19229    assert_eq!(
19230        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
19231        0usize,
19232        concat!(
19233            "Offset of field: ",
19234            stringify!(pkcs7_issuer_and_serial_st),
19235            "::",
19236            stringify!(issuer)
19237        )
19238    );
19239    assert_eq!(
19240        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
19241        4usize,
19242        concat!(
19243            "Offset of field: ",
19244            stringify!(pkcs7_issuer_and_serial_st),
19245            "::",
19246            stringify!(serial)
19247        )
19248    );
19249}
19250impl Default for pkcs7_issuer_and_serial_st {
19251    fn default() -> Self {
19252        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19253        unsafe {
19254            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19255            s.assume_init()
19256        }
19257    }
19258}
19259extern "C" {
19260    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_new"]
19261    pub fn PKCS7_new() -> *mut PKCS7;
19262}
19263extern "C" {
19264    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_free"]
19265    pub fn PKCS7_free(a: *mut PKCS7);
19266}
19267extern "C" {
19268    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS7"]
19269    pub fn d2i_PKCS7(
19270        a: *mut *mut PKCS7,
19271        in_: *mut *const ::std::os::raw::c_uchar,
19272        len: ::std::os::raw::c_long,
19273    ) -> *mut PKCS7;
19274}
19275extern "C" {
19276    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS7"]
19277    pub fn i2d_PKCS7(
19278        a: *mut PKCS7,
19279        out: *mut *mut ::std::os::raw::c_uchar,
19280    ) -> ::std::os::raw::c_int;
19281}
19282extern "C" {
19283    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_it"]
19284    pub static PKCS7_it: ASN1_ITEM;
19285}
19286extern "C" {
19287    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_RECIP_INFO_new"]
19288    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
19289}
19290extern "C" {
19291    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_RECIP_INFO_free"]
19292    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
19293}
19294extern "C" {
19295    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS7_RECIP_INFO"]
19296    pub fn d2i_PKCS7_RECIP_INFO(
19297        a: *mut *mut PKCS7_RECIP_INFO,
19298        in_: *mut *const ::std::os::raw::c_uchar,
19299        len: ::std::os::raw::c_long,
19300    ) -> *mut PKCS7_RECIP_INFO;
19301}
19302extern "C" {
19303    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS7_RECIP_INFO"]
19304    pub fn i2d_PKCS7_RECIP_INFO(
19305        a: *mut PKCS7_RECIP_INFO,
19306        out: *mut *mut ::std::os::raw::c_uchar,
19307    ) -> ::std::os::raw::c_int;
19308}
19309extern "C" {
19310    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_RECIP_INFO_it"]
19311    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
19312}
19313extern "C" {
19314    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_SIGNER_INFO_new"]
19315    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
19316}
19317extern "C" {
19318    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_SIGNER_INFO_free"]
19319    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
19320}
19321extern "C" {
19322    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS7_SIGNER_INFO"]
19323    pub fn d2i_PKCS7_SIGNER_INFO(
19324        a: *mut *mut PKCS7_SIGNER_INFO,
19325        in_: *mut *const ::std::os::raw::c_uchar,
19326        len: ::std::os::raw::c_long,
19327    ) -> *mut PKCS7_SIGNER_INFO;
19328}
19329extern "C" {
19330    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS7_SIGNER_INFO"]
19331    pub fn i2d_PKCS7_SIGNER_INFO(
19332        a: *mut PKCS7_SIGNER_INFO,
19333        out: *mut *mut ::std::os::raw::c_uchar,
19334    ) -> ::std::os::raw::c_int;
19335}
19336extern "C" {
19337    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_SIGNER_INFO_it"]
19338    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
19339}
19340#[repr(C)]
19341#[derive(Debug, Copy, Clone)]
19342pub struct stack_st_PKCS7_RECIP_INFO {
19343    _unused: [u8; 0],
19344}
19345pub type sk_PKCS7_RECIP_INFO_free_func =
19346    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
19347pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
19348    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
19349>;
19350pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
19351    unsafe extern "C" fn(
19352        arg1: *const *const PKCS7_RECIP_INFO,
19353        arg2: *const *const PKCS7_RECIP_INFO,
19354    ) -> ::std::os::raw::c_int,
19355>;
19356pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
19357    unsafe extern "C" fn(
19358        arg1: *mut PKCS7_RECIP_INFO,
19359        arg2: *mut ::std::os::raw::c_void,
19360    ) -> ::std::os::raw::c_int,
19361>;
19362#[repr(C)]
19363#[derive(Debug, Copy, Clone)]
19364pub struct stack_st_PKCS7_SIGNER_INFO {
19365    _unused: [u8; 0],
19366}
19367pub type sk_PKCS7_SIGNER_INFO_free_func =
19368    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
19369pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
19370    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
19371>;
19372pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
19373    unsafe extern "C" fn(
19374        arg1: *const *const PKCS7_SIGNER_INFO,
19375        arg2: *const *const PKCS7_SIGNER_INFO,
19376    ) -> ::std::os::raw::c_int,
19377>;
19378pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
19379    unsafe extern "C" fn(
19380        arg1: *mut PKCS7_SIGNER_INFO,
19381        arg2: *mut ::std::os::raw::c_void,
19382    ) -> ::std::os::raw::c_int,
19383>;
19384extern "C" {
19385    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_dup"]
19386    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
19387}
19388extern "C" {
19389    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_signed_attribute"]
19390    pub fn PKCS7_get_signed_attribute(
19391        si: *const PKCS7_SIGNER_INFO,
19392        nid: ::std::os::raw::c_int,
19393    ) -> *mut ASN1_TYPE;
19394}
19395extern "C" {
19396    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_signer_info"]
19397    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
19398}
19399extern "C" {
19400    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_RECIP_INFO_set"]
19401    pub fn PKCS7_RECIP_INFO_set(
19402        p7i: *mut PKCS7_RECIP_INFO,
19403        x509: *mut X509,
19404    ) -> ::std::os::raw::c_int;
19405}
19406extern "C" {
19407    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_SIGNER_INFO_set"]
19408    pub fn PKCS7_SIGNER_INFO_set(
19409        p7i: *mut PKCS7_SIGNER_INFO,
19410        x509: *mut X509,
19411        pkey: *mut EVP_PKEY,
19412        dgst: *const EVP_MD,
19413    ) -> ::std::os::raw::c_int;
19414}
19415extern "C" {
19416    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_add_certificate"]
19417    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
19418}
19419extern "C" {
19420    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_add_crl"]
19421    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
19422}
19423extern "C" {
19424    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_add_recipient_info"]
19425    pub fn PKCS7_add_recipient_info(
19426        p7: *mut PKCS7,
19427        ri: *mut PKCS7_RECIP_INFO,
19428    ) -> ::std::os::raw::c_int;
19429}
19430extern "C" {
19431    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_add_signer"]
19432    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
19433}
19434extern "C" {
19435    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_content_new"]
19436    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19437}
19438extern "C" {
19439    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_set_content"]
19440    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
19441}
19442extern "C" {
19443    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_set_cipher"]
19444    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
19445}
19446extern "C" {
19447    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_set_type"]
19448    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19449}
19450extern "C" {
19451    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_RECIP_INFO_get0_alg"]
19452    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
19453}
19454extern "C" {
19455    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_SIGNER_INFO_get0_algs"]
19456    pub fn PKCS7_SIGNER_INFO_get0_algs(
19457        si: *mut PKCS7_SIGNER_INFO,
19458        pk: *mut *mut EVP_PKEY,
19459        pdig: *mut *mut X509_ALGOR,
19460        psig: *mut *mut X509_ALGOR,
19461    );
19462}
19463extern "C" {
19464    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_sign"]
19465    pub fn PKCS7_sign(
19466        sign_cert: *mut X509,
19467        pkey: *mut EVP_PKEY,
19468        certs: *mut stack_st_X509,
19469        data: *mut BIO,
19470        flags: ::std::os::raw::c_int,
19471    ) -> *mut PKCS7;
19472}
19473extern "C" {
19474    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_verify"]
19475    pub fn PKCS7_verify(
19476        p7: *mut PKCS7,
19477        certs: *mut stack_st_X509,
19478        store: *mut X509_STORE,
19479        indata: *mut BIO,
19480        outdata: *mut BIO,
19481        flags: ::std::os::raw::c_int,
19482    ) -> ::std::os::raw::c_int;
19483}
19484extern "C" {
19485    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_is_detached"]
19486    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19487}
19488extern "C" {
19489    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_set_detached"]
19490    pub fn PKCS7_set_detached(
19491        p7: *mut PKCS7,
19492        detach: ::std::os::raw::c_int,
19493    ) -> ::std::os::raw::c_int;
19494}
19495extern "C" {
19496    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_detached"]
19497    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19498}
19499extern "C" {
19500    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_dataInit"]
19501    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
19502}
19503extern "C" {
19504    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_dataFinal"]
19505    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
19506}
19507extern "C" {
19508    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_set_digest"]
19509    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
19510}
19511extern "C" {
19512    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_get_recipient_info"]
19513    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
19514}
19515extern "C" {
19516    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_add_recipient"]
19517    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
19518}
19519extern "C" {
19520    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_encrypt"]
19521    pub fn PKCS7_encrypt(
19522        certs: *mut stack_st_X509,
19523        in_: *mut BIO,
19524        cipher: *const EVP_CIPHER,
19525        flags: ::std::os::raw::c_int,
19526    ) -> *mut PKCS7;
19527}
19528extern "C" {
19529    #[link_name = "\u{1}aws_lc_0_26_0_PKCS7_decrypt"]
19530    pub fn PKCS7_decrypt(
19531        p7: *mut PKCS7,
19532        pkey: *mut EVP_PKEY,
19533        cert: *mut X509,
19534        data: *mut BIO,
19535        flags: ::std::os::raw::c_int,
19536    ) -> ::std::os::raw::c_int;
19537}
19538extern "C" {
19539    #[link_name = "\u{1}aws_lc_0_26_0_SMIME_read_PKCS7"]
19540    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
19541}
19542extern "C" {
19543    #[link_name = "\u{1}aws_lc_0_26_0_SMIME_write_PKCS7"]
19544    pub fn SMIME_write_PKCS7(
19545        out: *mut BIO,
19546        p7: *mut PKCS7,
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_26_0_PKCS7_print_ctx"]
19553    pub fn PKCS7_print_ctx(
19554        bio: *mut BIO,
19555        pkcs7: *mut PKCS7,
19556        indent: ::std::os::raw::c_int,
19557        pctx: *const ASN1_PCTX,
19558    ) -> ::std::os::raw::c_int;
19559}
19560pub type sk_CRYPTO_BUFFER_free_func =
19561    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
19562pub type sk_CRYPTO_BUFFER_copy_func =
19563    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
19564pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
19565    unsafe extern "C" fn(
19566        arg1: *const *const CRYPTO_BUFFER,
19567        arg2: *const *const CRYPTO_BUFFER,
19568    ) -> ::std::os::raw::c_int,
19569>;
19570pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
19571    unsafe extern "C" fn(
19572        arg1: *mut CRYPTO_BUFFER,
19573        arg2: *mut ::std::os::raw::c_void,
19574    ) -> ::std::os::raw::c_int,
19575>;
19576extern "C" {
19577    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_POOL_new"]
19578    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
19579}
19580extern "C" {
19581    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_POOL_free"]
19582    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
19583}
19584extern "C" {
19585    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_new"]
19586    pub fn CRYPTO_BUFFER_new(
19587        data: *const u8,
19588        len: usize,
19589        pool: *mut CRYPTO_BUFFER_POOL,
19590    ) -> *mut CRYPTO_BUFFER;
19591}
19592extern "C" {
19593    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_alloc"]
19594    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
19595}
19596extern "C" {
19597    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_new_from_CBS"]
19598    pub fn CRYPTO_BUFFER_new_from_CBS(
19599        cbs: *const CBS,
19600        pool: *mut CRYPTO_BUFFER_POOL,
19601    ) -> *mut CRYPTO_BUFFER;
19602}
19603extern "C" {
19604    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
19605    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
19606        data: *const u8,
19607        len: usize,
19608        pool: *mut CRYPTO_BUFFER_POOL,
19609    ) -> *mut CRYPTO_BUFFER;
19610}
19611extern "C" {
19612    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_free"]
19613    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
19614}
19615extern "C" {
19616    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_up_ref"]
19617    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
19618}
19619extern "C" {
19620    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_data"]
19621    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
19622}
19623extern "C" {
19624    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_len"]
19625    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
19626}
19627extern "C" {
19628    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_BUFFER_init_CBS"]
19629    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
19630}
19631extern "C" {
19632    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_public_key"]
19633    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19634}
19635extern "C" {
19636    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_private_key"]
19637    pub fn RSA_new_private_key(
19638        n: *const BIGNUM,
19639        e: *const BIGNUM,
19640        d: *const BIGNUM,
19641        p: *const BIGNUM,
19642        q: *const BIGNUM,
19643        dmp1: *const BIGNUM,
19644        dmq1: *const BIGNUM,
19645        iqmp: *const BIGNUM,
19646    ) -> *mut RSA;
19647}
19648extern "C" {
19649    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new"]
19650    pub fn RSA_new() -> *mut RSA;
19651}
19652extern "C" {
19653    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_method"]
19654    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
19655}
19656extern "C" {
19657    #[link_name = "\u{1}aws_lc_0_26_0_RSA_free"]
19658    pub fn RSA_free(rsa: *mut RSA);
19659}
19660extern "C" {
19661    #[link_name = "\u{1}aws_lc_0_26_0_RSA_up_ref"]
19662    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
19663}
19664extern "C" {
19665    #[link_name = "\u{1}aws_lc_0_26_0_RSA_bits"]
19666    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
19667}
19668extern "C" {
19669    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_n"]
19670    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
19671}
19672extern "C" {
19673    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_e"]
19674    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
19675}
19676extern "C" {
19677    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_d"]
19678    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
19679}
19680extern "C" {
19681    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_p"]
19682    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
19683}
19684extern "C" {
19685    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_q"]
19686    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
19687}
19688extern "C" {
19689    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_dmp1"]
19690    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
19691}
19692extern "C" {
19693    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_dmq1"]
19694    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
19695}
19696extern "C" {
19697    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_iqmp"]
19698    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
19699}
19700extern "C" {
19701    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_key"]
19702    pub fn RSA_get0_key(
19703        rsa: *const RSA,
19704        out_n: *mut *const BIGNUM,
19705        out_e: *mut *const BIGNUM,
19706        out_d: *mut *const BIGNUM,
19707    );
19708}
19709extern "C" {
19710    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_factors"]
19711    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
19712}
19713extern "C" {
19714    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_crt_params"]
19715    pub fn RSA_get0_crt_params(
19716        rsa: *const RSA,
19717        out_dmp1: *mut *const BIGNUM,
19718        out_dmq1: *mut *const BIGNUM,
19719        out_iqmp: *mut *const BIGNUM,
19720    );
19721}
19722extern "C" {
19723    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set0_key"]
19724    pub fn RSA_set0_key(
19725        rsa: *mut RSA,
19726        n: *mut BIGNUM,
19727        e: *mut BIGNUM,
19728        d: *mut BIGNUM,
19729    ) -> ::std::os::raw::c_int;
19730}
19731extern "C" {
19732    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set0_factors"]
19733    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
19734        -> ::std::os::raw::c_int;
19735}
19736extern "C" {
19737    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set0_crt_params"]
19738    pub fn RSA_set0_crt_params(
19739        rsa: *mut RSA,
19740        dmp1: *mut BIGNUM,
19741        dmq1: *mut BIGNUM,
19742        iqmp: *mut BIGNUM,
19743    ) -> ::std::os::raw::c_int;
19744}
19745extern "C" {
19746    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get_default_method"]
19747    pub fn RSA_get_default_method() -> *const RSA_METHOD;
19748}
19749extern "C" {
19750    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_new"]
19751    pub fn RSA_meth_new(
19752        name: *const ::std::os::raw::c_char,
19753        flags: ::std::os::raw::c_int,
19754    ) -> *mut RSA_METHOD;
19755}
19756extern "C" {
19757    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set_method"]
19758    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
19759}
19760extern "C" {
19761    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get_method"]
19762    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
19763}
19764extern "C" {
19765    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_free"]
19766    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
19767}
19768extern "C" {
19769    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_init"]
19770    pub fn RSA_meth_set_init(
19771        meth: *mut RSA_METHOD,
19772        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19773    ) -> ::std::os::raw::c_int;
19774}
19775extern "C" {
19776    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_finish"]
19777    pub fn RSA_meth_set_finish(
19778        meth: *mut RSA_METHOD,
19779        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19780    ) -> ::std::os::raw::c_int;
19781}
19782extern "C" {
19783    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_priv_dec"]
19784    pub fn RSA_meth_set_priv_dec(
19785        meth: *mut RSA_METHOD,
19786        priv_dec: ::std::option::Option<
19787            unsafe extern "C" fn(
19788                max_out: ::std::os::raw::c_int,
19789                from: *const u8,
19790                to: *mut u8,
19791                rsa: *mut RSA,
19792                padding: ::std::os::raw::c_int,
19793            ) -> ::std::os::raw::c_int,
19794        >,
19795    ) -> ::std::os::raw::c_int;
19796}
19797extern "C" {
19798    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_priv_enc"]
19799    pub fn RSA_meth_set_priv_enc(
19800        meth: *mut RSA_METHOD,
19801        priv_enc: ::std::option::Option<
19802            unsafe extern "C" fn(
19803                max_out: ::std::os::raw::c_int,
19804                from: *const u8,
19805                to: *mut u8,
19806                rsa: *mut RSA,
19807                padding: ::std::os::raw::c_int,
19808            ) -> ::std::os::raw::c_int,
19809        >,
19810    ) -> ::std::os::raw::c_int;
19811}
19812extern "C" {
19813    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_pub_dec"]
19814    pub fn RSA_meth_set_pub_dec(
19815        meth: *mut RSA_METHOD,
19816        pub_dec: ::std::option::Option<
19817            unsafe extern "C" fn(
19818                max_out: ::std::os::raw::c_int,
19819                from: *const u8,
19820                to: *mut u8,
19821                rsa: *mut RSA,
19822                padding: ::std::os::raw::c_int,
19823            ) -> ::std::os::raw::c_int,
19824        >,
19825    ) -> ::std::os::raw::c_int;
19826}
19827extern "C" {
19828    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_pub_enc"]
19829    pub fn RSA_meth_set_pub_enc(
19830        meth: *mut RSA_METHOD,
19831        pub_enc: ::std::option::Option<
19832            unsafe extern "C" fn(
19833                max_out: ::std::os::raw::c_int,
19834                from: *const u8,
19835                to: *mut u8,
19836                rsa: *mut RSA,
19837                padding: ::std::os::raw::c_int,
19838            ) -> ::std::os::raw::c_int,
19839        >,
19840    ) -> ::std::os::raw::c_int;
19841}
19842extern "C" {
19843    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set0_app_data"]
19844    pub fn RSA_meth_set0_app_data(
19845        meth: *mut RSA_METHOD,
19846        app_data: *mut ::std::os::raw::c_void,
19847    ) -> ::std::os::raw::c_int;
19848}
19849extern "C" {
19850    #[link_name = "\u{1}aws_lc_0_26_0_RSA_meth_set_sign"]
19851    pub fn RSA_meth_set_sign(
19852        meth: *mut RSA_METHOD,
19853        sign: ::std::option::Option<
19854            unsafe extern "C" fn(
19855                type_: ::std::os::raw::c_int,
19856                m: *const ::std::os::raw::c_uchar,
19857                m_length: ::std::os::raw::c_uint,
19858                sigret: *mut ::std::os::raw::c_uchar,
19859                siglen: *mut ::std::os::raw::c_uint,
19860                rsa: *const RSA,
19861            ) -> ::std::os::raw::c_int,
19862        >,
19863    ) -> ::std::os::raw::c_int;
19864}
19865extern "C" {
19866    #[link_name = "\u{1}aws_lc_0_26_0_RSA_generate_key_ex"]
19867    pub fn RSA_generate_key_ex(
19868        rsa: *mut RSA,
19869        bits: ::std::os::raw::c_int,
19870        e: *const BIGNUM,
19871        cb: *mut BN_GENCB,
19872    ) -> ::std::os::raw::c_int;
19873}
19874extern "C" {
19875    #[link_name = "\u{1}aws_lc_0_26_0_RSA_generate_key_fips"]
19876    pub fn RSA_generate_key_fips(
19877        rsa: *mut RSA,
19878        bits: ::std::os::raw::c_int,
19879        cb: *mut BN_GENCB,
19880    ) -> ::std::os::raw::c_int;
19881}
19882extern "C" {
19883    #[link_name = "\u{1}aws_lc_0_26_0_RSA_encrypt"]
19884    pub fn RSA_encrypt(
19885        rsa: *mut RSA,
19886        out_len: *mut usize,
19887        out: *mut u8,
19888        max_out: usize,
19889        in_: *const u8,
19890        in_len: usize,
19891        padding: ::std::os::raw::c_int,
19892    ) -> ::std::os::raw::c_int;
19893}
19894extern "C" {
19895    #[link_name = "\u{1}aws_lc_0_26_0_RSA_decrypt"]
19896    pub fn RSA_decrypt(
19897        rsa: *mut RSA,
19898        out_len: *mut usize,
19899        out: *mut u8,
19900        max_out: usize,
19901        in_: *const u8,
19902        in_len: usize,
19903        padding: ::std::os::raw::c_int,
19904    ) -> ::std::os::raw::c_int;
19905}
19906extern "C" {
19907    #[link_name = "\u{1}aws_lc_0_26_0_RSA_public_encrypt"]
19908    pub fn RSA_public_encrypt(
19909        flen: usize,
19910        from: *const u8,
19911        to: *mut u8,
19912        rsa: *mut RSA,
19913        padding: ::std::os::raw::c_int,
19914    ) -> ::std::os::raw::c_int;
19915}
19916extern "C" {
19917    #[link_name = "\u{1}aws_lc_0_26_0_RSA_private_decrypt"]
19918    pub fn RSA_private_decrypt(
19919        flen: usize,
19920        from: *const u8,
19921        to: *mut u8,
19922        rsa: *mut RSA,
19923        padding: ::std::os::raw::c_int,
19924    ) -> ::std::os::raw::c_int;
19925}
19926extern "C" {
19927    #[link_name = "\u{1}aws_lc_0_26_0_RSA_sign"]
19928    pub fn RSA_sign(
19929        hash_nid: ::std::os::raw::c_int,
19930        digest: *const u8,
19931        digest_len: usize,
19932        out: *mut u8,
19933        out_len: *mut ::std::os::raw::c_uint,
19934        rsa: *mut RSA,
19935    ) -> ::std::os::raw::c_int;
19936}
19937extern "C" {
19938    #[link_name = "\u{1}aws_lc_0_26_0_RSA_sign_pss_mgf1"]
19939    pub fn RSA_sign_pss_mgf1(
19940        rsa: *mut RSA,
19941        out_len: *mut usize,
19942        out: *mut u8,
19943        max_out: usize,
19944        digest: *const u8,
19945        digest_len: usize,
19946        md: *const EVP_MD,
19947        mgf1_md: *const EVP_MD,
19948        salt_len: ::std::os::raw::c_int,
19949    ) -> ::std::os::raw::c_int;
19950}
19951extern "C" {
19952    #[link_name = "\u{1}aws_lc_0_26_0_RSA_sign_raw"]
19953    pub fn RSA_sign_raw(
19954        rsa: *mut RSA,
19955        out_len: *mut usize,
19956        out: *mut u8,
19957        max_out: usize,
19958        in_: *const u8,
19959        in_len: usize,
19960        padding: ::std::os::raw::c_int,
19961    ) -> ::std::os::raw::c_int;
19962}
19963extern "C" {
19964    #[link_name = "\u{1}aws_lc_0_26_0_RSA_verify"]
19965    pub fn RSA_verify(
19966        hash_nid: ::std::os::raw::c_int,
19967        digest: *const u8,
19968        digest_len: usize,
19969        sig: *const u8,
19970        sig_len: usize,
19971        rsa: *mut RSA,
19972    ) -> ::std::os::raw::c_int;
19973}
19974extern "C" {
19975    #[link_name = "\u{1}aws_lc_0_26_0_RSA_verify_pss_mgf1"]
19976    pub fn RSA_verify_pss_mgf1(
19977        rsa: *mut RSA,
19978        digest: *const u8,
19979        digest_len: usize,
19980        md: *const EVP_MD,
19981        mgf1_md: *const EVP_MD,
19982        salt_len: ::std::os::raw::c_int,
19983        sig: *const u8,
19984        sig_len: usize,
19985    ) -> ::std::os::raw::c_int;
19986}
19987extern "C" {
19988    #[link_name = "\u{1}aws_lc_0_26_0_RSA_verify_raw"]
19989    pub fn RSA_verify_raw(
19990        rsa: *mut RSA,
19991        out_len: *mut usize,
19992        out: *mut u8,
19993        max_out: usize,
19994        in_: *const u8,
19995        in_len: usize,
19996        padding: ::std::os::raw::c_int,
19997    ) -> ::std::os::raw::c_int;
19998}
19999extern "C" {
20000    #[link_name = "\u{1}aws_lc_0_26_0_RSA_private_encrypt"]
20001    pub fn RSA_private_encrypt(
20002        flen: usize,
20003        from: *const u8,
20004        to: *mut u8,
20005        rsa: *mut RSA,
20006        padding: ::std::os::raw::c_int,
20007    ) -> ::std::os::raw::c_int;
20008}
20009extern "C" {
20010    #[link_name = "\u{1}aws_lc_0_26_0_RSA_public_decrypt"]
20011    pub fn RSA_public_decrypt(
20012        flen: usize,
20013        from: *const u8,
20014        to: *mut u8,
20015        rsa: *mut RSA,
20016        padding: ::std::os::raw::c_int,
20017    ) -> ::std::os::raw::c_int;
20018}
20019extern "C" {
20020    #[link_name = "\u{1}aws_lc_0_26_0_RSA_size"]
20021    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
20022}
20023extern "C" {
20024    #[link_name = "\u{1}aws_lc_0_26_0_RSA_is_opaque"]
20025    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
20026}
20027extern "C" {
20028    #[link_name = "\u{1}aws_lc_0_26_0_RSAPublicKey_dup"]
20029    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
20030}
20031extern "C" {
20032    #[link_name = "\u{1}aws_lc_0_26_0_RSAPrivateKey_dup"]
20033    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
20034}
20035extern "C" {
20036    #[link_name = "\u{1}aws_lc_0_26_0_RSA_check_key"]
20037    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
20038}
20039extern "C" {
20040    #[link_name = "\u{1}aws_lc_0_26_0_RSA_check_fips"]
20041    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
20042}
20043extern "C" {
20044    #[link_name = "\u{1}aws_lc_0_26_0_RSA_verify_PKCS1_PSS_mgf1"]
20045    pub fn RSA_verify_PKCS1_PSS_mgf1(
20046        rsa: *const RSA,
20047        mHash: *const u8,
20048        Hash: *const EVP_MD,
20049        mgf1Hash: *const EVP_MD,
20050        EM: *const u8,
20051        sLen: ::std::os::raw::c_int,
20052    ) -> ::std::os::raw::c_int;
20053}
20054extern "C" {
20055    #[link_name = "\u{1}aws_lc_0_26_0_RSA_padding_add_PKCS1_PSS_mgf1"]
20056    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
20057        rsa: *const RSA,
20058        EM: *mut u8,
20059        mHash: *const u8,
20060        Hash: *const EVP_MD,
20061        mgf1Hash: *const EVP_MD,
20062        sLen: ::std::os::raw::c_int,
20063    ) -> ::std::os::raw::c_int;
20064}
20065extern "C" {
20066    #[link_name = "\u{1}aws_lc_0_26_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
20067    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
20068        to: *mut u8,
20069        to_len: usize,
20070        from: *const u8,
20071        from_len: usize,
20072        param: *const u8,
20073        param_len: usize,
20074        md: *const EVP_MD,
20075        mgf1md: *const EVP_MD,
20076    ) -> ::std::os::raw::c_int;
20077}
20078extern "C" {
20079    #[link_name = "\u{1}aws_lc_0_26_0_PKCS1_MGF1"]
20080    pub fn PKCS1_MGF1(
20081        out: *mut u8,
20082        len: usize,
20083        seed: *const u8,
20084        seed_len: usize,
20085        md: *const EVP_MD,
20086    ) -> ::std::os::raw::c_int;
20087}
20088extern "C" {
20089    #[link_name = "\u{1}aws_lc_0_26_0_RSA_add_pkcs1_prefix"]
20090    pub fn RSA_add_pkcs1_prefix(
20091        out_msg: *mut *mut u8,
20092        out_msg_len: *mut usize,
20093        is_alloced: *mut ::std::os::raw::c_int,
20094        hash_nid: ::std::os::raw::c_int,
20095        digest: *const u8,
20096        digest_len: usize,
20097    ) -> ::std::os::raw::c_int;
20098}
20099extern "C" {
20100    #[link_name = "\u{1}aws_lc_0_26_0_RSA_parse_public_key"]
20101    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
20102}
20103extern "C" {
20104    #[link_name = "\u{1}aws_lc_0_26_0_RSA_public_key_from_bytes"]
20105    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20106}
20107extern "C" {
20108    #[link_name = "\u{1}aws_lc_0_26_0_RSA_marshal_public_key"]
20109    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20110}
20111extern "C" {
20112    #[link_name = "\u{1}aws_lc_0_26_0_RSA_public_key_to_bytes"]
20113    pub fn RSA_public_key_to_bytes(
20114        out_bytes: *mut *mut u8,
20115        out_len: *mut usize,
20116        rsa: *const RSA,
20117    ) -> ::std::os::raw::c_int;
20118}
20119extern "C" {
20120    #[link_name = "\u{1}aws_lc_0_26_0_RSA_parse_private_key"]
20121    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
20122}
20123extern "C" {
20124    #[link_name = "\u{1}aws_lc_0_26_0_RSA_private_key_from_bytes"]
20125    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20126}
20127extern "C" {
20128    #[link_name = "\u{1}aws_lc_0_26_0_RSA_marshal_private_key"]
20129    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20130}
20131extern "C" {
20132    #[link_name = "\u{1}aws_lc_0_26_0_RSA_private_key_to_bytes"]
20133    pub fn RSA_private_key_to_bytes(
20134        out_bytes: *mut *mut u8,
20135        out_len: *mut usize,
20136        rsa: *const RSA,
20137    ) -> ::std::os::raw::c_int;
20138}
20139extern "C" {
20140    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_private_key_no_crt"]
20141    pub fn RSA_new_private_key_no_crt(
20142        n: *const BIGNUM,
20143        e: *const BIGNUM,
20144        d: *const BIGNUM,
20145    ) -> *mut RSA;
20146}
20147extern "C" {
20148    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_private_key_no_e"]
20149    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
20150}
20151extern "C" {
20152    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_public_key_large_e"]
20153    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
20154}
20155extern "C" {
20156    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_private_key_large_e"]
20157    pub fn RSA_new_private_key_large_e(
20158        n: *const BIGNUM,
20159        e: *const BIGNUM,
20160        d: *const BIGNUM,
20161        p: *const BIGNUM,
20162        q: *const BIGNUM,
20163        dmp1: *const BIGNUM,
20164        dmq1: *const BIGNUM,
20165        iqmp: *const BIGNUM,
20166    ) -> *mut RSA;
20167}
20168extern "C" {
20169    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get_ex_new_index"]
20170    pub fn RSA_get_ex_new_index(
20171        argl: ::std::os::raw::c_long,
20172        argp: *mut ::std::os::raw::c_void,
20173        unused: *mut CRYPTO_EX_unused,
20174        dup_unused: CRYPTO_EX_dup,
20175        free_func: CRYPTO_EX_free,
20176    ) -> ::std::os::raw::c_int;
20177}
20178extern "C" {
20179    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set_ex_data"]
20180    pub fn RSA_set_ex_data(
20181        rsa: *mut RSA,
20182        idx: ::std::os::raw::c_int,
20183        arg: *mut ::std::os::raw::c_void,
20184    ) -> ::std::os::raw::c_int;
20185}
20186extern "C" {
20187    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get_ex_data"]
20188    pub fn RSA_get_ex_data(
20189        rsa: *const RSA,
20190        idx: ::std::os::raw::c_int,
20191    ) -> *mut ::std::os::raw::c_void;
20192}
20193extern "C" {
20194    #[link_name = "\u{1}aws_lc_0_26_0_RSA_flags"]
20195    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
20196}
20197extern "C" {
20198    #[link_name = "\u{1}aws_lc_0_26_0_RSA_set_flags"]
20199    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
20200}
20201extern "C" {
20202    #[link_name = "\u{1}aws_lc_0_26_0_RSA_test_flags"]
20203    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20204}
20205extern "C" {
20206    #[link_name = "\u{1}aws_lc_0_26_0_RSA_blinding_on"]
20207    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
20208}
20209extern "C" {
20210    #[link_name = "\u{1}aws_lc_0_26_0_RSA_blinding_off_temp_for_accp_compatibility"]
20211    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
20212}
20213extern "C" {
20214    #[link_name = "\u{1}aws_lc_0_26_0_RSA_pkey_ctx_ctrl"]
20215    pub fn RSA_pkey_ctx_ctrl(
20216        ctx: *mut EVP_PKEY_CTX,
20217        optype: ::std::os::raw::c_int,
20218        cmd: ::std::os::raw::c_int,
20219        p1: ::std::os::raw::c_int,
20220        p2: *mut ::std::os::raw::c_void,
20221    ) -> ::std::os::raw::c_int;
20222}
20223extern "C" {
20224    #[link_name = "\u{1}aws_lc_0_26_0_RSA_generate_key"]
20225    pub fn RSA_generate_key(
20226        bits: ::std::os::raw::c_int,
20227        e: u64,
20228        callback: *mut ::std::os::raw::c_void,
20229        cb_arg: *mut ::std::os::raw::c_void,
20230    ) -> *mut RSA;
20231}
20232extern "C" {
20233    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPublicKey"]
20234    pub fn d2i_RSAPublicKey(
20235        out: *mut *mut RSA,
20236        inp: *mut *const u8,
20237        len: ::std::os::raw::c_long,
20238    ) -> *mut RSA;
20239}
20240extern "C" {
20241    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPublicKey"]
20242    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20243}
20244extern "C" {
20245    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPrivateKey"]
20246    pub fn d2i_RSAPrivateKey(
20247        out: *mut *mut RSA,
20248        inp: *mut *const u8,
20249        len: ::std::os::raw::c_long,
20250    ) -> *mut RSA;
20251}
20252extern "C" {
20253    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPrivateKey"]
20254    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20255}
20256extern "C" {
20257    #[link_name = "\u{1}aws_lc_0_26_0_RSA_padding_add_PKCS1_PSS"]
20258    pub fn RSA_padding_add_PKCS1_PSS(
20259        rsa: *const RSA,
20260        EM: *mut u8,
20261        mHash: *const u8,
20262        Hash: *const EVP_MD,
20263        sLen: ::std::os::raw::c_int,
20264    ) -> ::std::os::raw::c_int;
20265}
20266extern "C" {
20267    #[link_name = "\u{1}aws_lc_0_26_0_RSA_verify_PKCS1_PSS"]
20268    pub fn RSA_verify_PKCS1_PSS(
20269        rsa: *const RSA,
20270        mHash: *const u8,
20271        Hash: *const EVP_MD,
20272        EM: *const u8,
20273        sLen: ::std::os::raw::c_int,
20274    ) -> ::std::os::raw::c_int;
20275}
20276extern "C" {
20277    #[link_name = "\u{1}aws_lc_0_26_0_RSA_padding_add_PKCS1_OAEP"]
20278    pub fn RSA_padding_add_PKCS1_OAEP(
20279        to: *mut u8,
20280        to_len: usize,
20281        from: *const u8,
20282        from_len: usize,
20283        param: *const u8,
20284        param_len: usize,
20285    ) -> ::std::os::raw::c_int;
20286}
20287extern "C" {
20288    #[link_name = "\u{1}aws_lc_0_26_0_RSA_print"]
20289    pub fn RSA_print(
20290        bio: *mut BIO,
20291        rsa: *const RSA,
20292        indent: ::std::os::raw::c_int,
20293    ) -> ::std::os::raw::c_int;
20294}
20295extern "C" {
20296    #[link_name = "\u{1}aws_lc_0_26_0_RSA_print_fp"]
20297    pub fn RSA_print_fp(
20298        fp: *mut FILE,
20299        rsa: *const RSA,
20300        indent: ::std::os::raw::c_int,
20301    ) -> ::std::os::raw::c_int;
20302}
20303extern "C" {
20304    #[link_name = "\u{1}aws_lc_0_26_0_RSA_get0_pss_params"]
20305    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
20306}
20307extern "C" {
20308    #[link_name = "\u{1}aws_lc_0_26_0_RSA_new_method_no_e"]
20309    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
20310}
20311pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
20312pub type sk_X509_copy_func =
20313    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
20314pub type sk_X509_cmp_func = ::std::option::Option<
20315    unsafe extern "C" fn(
20316        arg1: *const *const X509,
20317        arg2: *const *const X509,
20318    ) -> ::std::os::raw::c_int,
20319>;
20320pub type sk_X509_delete_if_func = ::std::option::Option<
20321    unsafe extern "C" fn(
20322        arg1: *mut X509,
20323        arg2: *mut ::std::os::raw::c_void,
20324    ) -> ::std::os::raw::c_int,
20325>;
20326extern "C" {
20327    #[link_name = "\u{1}aws_lc_0_26_0_X509_it"]
20328    pub static X509_it: ASN1_ITEM;
20329}
20330extern "C" {
20331    #[link_name = "\u{1}aws_lc_0_26_0_X509_up_ref"]
20332    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
20333}
20334extern "C" {
20335    #[link_name = "\u{1}aws_lc_0_26_0_X509_chain_up_ref"]
20336    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
20337}
20338extern "C" {
20339    #[link_name = "\u{1}aws_lc_0_26_0_X509_dup"]
20340    pub fn X509_dup(x509: *mut X509) -> *mut X509;
20341}
20342extern "C" {
20343    #[link_name = "\u{1}aws_lc_0_26_0_X509_free"]
20344    pub fn X509_free(x509: *mut X509);
20345}
20346extern "C" {
20347    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509"]
20348    pub fn d2i_X509(
20349        out: *mut *mut X509,
20350        inp: *mut *const u8,
20351        len: ::std::os::raw::c_long,
20352    ) -> *mut X509;
20353}
20354extern "C" {
20355    #[link_name = "\u{1}aws_lc_0_26_0_X509_parse_from_buffer"]
20356    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
20357}
20358extern "C" {
20359    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509"]
20360    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20361}
20362extern "C" {
20363    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_version"]
20364    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
20365}
20366extern "C" {
20367    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_serialNumber"]
20368    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
20369}
20370extern "C" {
20371    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_notBefore"]
20372    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
20373}
20374extern "C" {
20375    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_notAfter"]
20376    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
20377}
20378extern "C" {
20379    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_issuer_name"]
20380    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
20381}
20382extern "C" {
20383    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_subject_name"]
20384    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
20385}
20386extern "C" {
20387    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_X509_PUBKEY"]
20388    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
20389}
20390extern "C" {
20391    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_pubkey"]
20392    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20393}
20394extern "C" {
20395    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_pubkey"]
20396    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20397}
20398extern "C" {
20399    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_pubkey_bitstr"]
20400    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
20401}
20402extern "C" {
20403    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_private_key"]
20404    pub fn X509_check_private_key(
20405        x509: *const X509,
20406        pkey: *const EVP_PKEY,
20407    ) -> ::std::os::raw::c_int;
20408}
20409extern "C" {
20410    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_uids"]
20411    pub fn X509_get0_uids(
20412        x509: *const X509,
20413        out_issuer_uid: *mut *const ASN1_BIT_STRING,
20414        out_subject_uid: *mut *const ASN1_BIT_STRING,
20415    );
20416}
20417extern "C" {
20418    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_extension_flags"]
20419    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
20420}
20421extern "C" {
20422    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_pathlen"]
20423    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
20424}
20425extern "C" {
20426    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_key_usage"]
20427    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
20428}
20429extern "C" {
20430    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_extended_key_usage"]
20431    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
20432}
20433extern "C" {
20434    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_subject_key_id"]
20435    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20436}
20437extern "C" {
20438    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_authority_key_id"]
20439    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20440}
20441#[repr(C)]
20442#[derive(Debug, Copy, Clone)]
20443pub struct stack_st_GENERAL_NAME {
20444    _unused: [u8; 0],
20445}
20446pub type sk_GENERAL_NAME_free_func =
20447    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
20448pub type sk_GENERAL_NAME_copy_func =
20449    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
20450pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
20451    unsafe extern "C" fn(
20452        arg1: *const *const GENERAL_NAME,
20453        arg2: *const *const GENERAL_NAME,
20454    ) -> ::std::os::raw::c_int,
20455>;
20456pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
20457    unsafe extern "C" fn(
20458        arg1: *mut GENERAL_NAME,
20459        arg2: *mut ::std::os::raw::c_void,
20460    ) -> ::std::os::raw::c_int,
20461>;
20462pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
20463extern "C" {
20464    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_authority_issuer"]
20465    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
20466}
20467extern "C" {
20468    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_authority_serial"]
20469    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
20470}
20471#[repr(C)]
20472#[derive(Debug, Copy, Clone)]
20473pub struct stack_st_X509_EXTENSION {
20474    _unused: [u8; 0],
20475}
20476extern "C" {
20477    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_extensions"]
20478    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
20479}
20480extern "C" {
20481    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext_count"]
20482    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
20483}
20484extern "C" {
20485    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext_by_NID"]
20486    pub fn X509_get_ext_by_NID(
20487        x: *const X509,
20488        nid: ::std::os::raw::c_int,
20489        lastpos: ::std::os::raw::c_int,
20490    ) -> ::std::os::raw::c_int;
20491}
20492extern "C" {
20493    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext_by_OBJ"]
20494    pub fn X509_get_ext_by_OBJ(
20495        x: *const X509,
20496        obj: *const ASN1_OBJECT,
20497        lastpos: ::std::os::raw::c_int,
20498    ) -> ::std::os::raw::c_int;
20499}
20500extern "C" {
20501    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext_by_critical"]
20502    pub fn X509_get_ext_by_critical(
20503        x: *const X509,
20504        crit: ::std::os::raw::c_int,
20505        lastpos: ::std::os::raw::c_int,
20506    ) -> ::std::os::raw::c_int;
20507}
20508extern "C" {
20509    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext"]
20510    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20511}
20512extern "C" {
20513    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ext_d2i"]
20514    pub fn X509_get_ext_d2i(
20515        x509: *const X509,
20516        nid: ::std::os::raw::c_int,
20517        out_critical: *mut ::std::os::raw::c_int,
20518        out_idx: *mut ::std::os::raw::c_int,
20519    ) -> *mut ::std::os::raw::c_void;
20520}
20521extern "C" {
20522    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_tbs_sigalg"]
20523    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
20524}
20525extern "C" {
20526    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_signature_info"]
20527    pub fn X509_get_signature_info(
20528        x509: *mut X509,
20529        digest_nid: *mut ::std::os::raw::c_int,
20530        pubkey_nid: *mut ::std::os::raw::c_int,
20531        sec_bits: *mut ::std::os::raw::c_int,
20532        flags: *mut u32,
20533    ) -> ::std::os::raw::c_int;
20534}
20535extern "C" {
20536    #[link_name = "\u{1}aws_lc_0_26_0_X509_get0_signature"]
20537    pub fn X509_get0_signature(
20538        out_sig: *mut *const ASN1_BIT_STRING,
20539        out_alg: *mut *const X509_ALGOR,
20540        x509: *const X509,
20541    );
20542}
20543extern "C" {
20544    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_signature_nid"]
20545    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
20546}
20547extern "C" {
20548    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_tbs"]
20549    pub fn i2d_X509_tbs(
20550        x509: *mut X509,
20551        outp: *mut *mut ::std::os::raw::c_uchar,
20552    ) -> ::std::os::raw::c_int;
20553}
20554extern "C" {
20555    #[link_name = "\u{1}aws_lc_0_26_0_X509_verify"]
20556    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20557}
20558extern "C" {
20559    #[link_name = "\u{1}aws_lc_0_26_0_X509_get1_email"]
20560    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20561}
20562extern "C" {
20563    #[link_name = "\u{1}aws_lc_0_26_0_X509_get1_ocsp"]
20564    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20565}
20566extern "C" {
20567    #[link_name = "\u{1}aws_lc_0_26_0_X509_email_free"]
20568    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
20569}
20570extern "C" {
20571    #[link_name = "\u{1}aws_lc_0_26_0_X509_cmp"]
20572    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
20573}
20574extern "C" {
20575    #[link_name = "\u{1}aws_lc_0_26_0_X509_new"]
20576    pub fn X509_new() -> *mut X509;
20577}
20578extern "C" {
20579    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_version"]
20580    pub fn X509_set_version(
20581        x509: *mut X509,
20582        version: ::std::os::raw::c_long,
20583    ) -> ::std::os::raw::c_int;
20584}
20585extern "C" {
20586    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_serialNumber"]
20587    pub fn X509_set_serialNumber(
20588        x509: *mut X509,
20589        serial: *const ASN1_INTEGER,
20590    ) -> ::std::os::raw::c_int;
20591}
20592extern "C" {
20593    #[link_name = "\u{1}aws_lc_0_26_0_X509_set1_notBefore"]
20594    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20595}
20596extern "C" {
20597    #[link_name = "\u{1}aws_lc_0_26_0_X509_set1_notAfter"]
20598    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20599}
20600extern "C" {
20601    #[link_name = "\u{1}aws_lc_0_26_0_X509_getm_notBefore"]
20602    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
20603}
20604extern "C" {
20605    #[link_name = "\u{1}aws_lc_0_26_0_X509_getm_notAfter"]
20606    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
20607}
20608extern "C" {
20609    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_issuer_name"]
20610    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20611}
20612extern "C" {
20613    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_subject_name"]
20614    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20615}
20616extern "C" {
20617    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_pubkey"]
20618    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20619}
20620extern "C" {
20621    #[link_name = "\u{1}aws_lc_0_26_0_X509_delete_ext"]
20622    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20623}
20624extern "C" {
20625    #[link_name = "\u{1}aws_lc_0_26_0_X509_add_ext"]
20626    pub fn X509_add_ext(
20627        x: *mut X509,
20628        ex: *const X509_EXTENSION,
20629        loc: ::std::os::raw::c_int,
20630    ) -> ::std::os::raw::c_int;
20631}
20632extern "C" {
20633    #[link_name = "\u{1}aws_lc_0_26_0_X509_add1_ext_i2d"]
20634    pub fn X509_add1_ext_i2d(
20635        x: *mut X509,
20636        nid: ::std::os::raw::c_int,
20637        value: *mut ::std::os::raw::c_void,
20638        crit: ::std::os::raw::c_int,
20639        flags: ::std::os::raw::c_ulong,
20640    ) -> ::std::os::raw::c_int;
20641}
20642extern "C" {
20643    #[link_name = "\u{1}aws_lc_0_26_0_X509_sign"]
20644    pub fn X509_sign(
20645        x509: *mut X509,
20646        pkey: *mut EVP_PKEY,
20647        md: *const EVP_MD,
20648    ) -> ::std::os::raw::c_int;
20649}
20650extern "C" {
20651    #[link_name = "\u{1}aws_lc_0_26_0_X509_sign_ctx"]
20652    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20653}
20654extern "C" {
20655    #[link_name = "\u{1}aws_lc_0_26_0_i2d_re_X509_tbs"]
20656    pub fn i2d_re_X509_tbs(
20657        x509: *mut X509,
20658        outp: *mut *mut ::std::os::raw::c_uchar,
20659    ) -> ::std::os::raw::c_int;
20660}
20661extern "C" {
20662    #[link_name = "\u{1}aws_lc_0_26_0_X509_set1_signature_algo"]
20663    pub fn X509_set1_signature_algo(
20664        x509: *mut X509,
20665        algo: *const X509_ALGOR,
20666    ) -> ::std::os::raw::c_int;
20667}
20668extern "C" {
20669    #[link_name = "\u{1}aws_lc_0_26_0_X509_set1_signature_value"]
20670    pub fn X509_set1_signature_value(
20671        x509: *mut X509,
20672        sig: *const u8,
20673        sig_len: usize,
20674    ) -> ::std::os::raw::c_int;
20675}
20676extern "C" {
20677    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_AUX"]
20678    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20679}
20680extern "C" {
20681    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_AUX"]
20682    pub fn d2i_X509_AUX(
20683        x509: *mut *mut X509,
20684        inp: *mut *const u8,
20685        length: ::std::os::raw::c_long,
20686    ) -> *mut X509;
20687}
20688extern "C" {
20689    #[link_name = "\u{1}aws_lc_0_26_0_X509_alias_set1"]
20690    pub fn X509_alias_set1(
20691        x509: *mut X509,
20692        name: *const u8,
20693        len: ossl_ssize_t,
20694    ) -> ::std::os::raw::c_int;
20695}
20696extern "C" {
20697    #[link_name = "\u{1}aws_lc_0_26_0_X509_keyid_set1"]
20698    pub fn X509_keyid_set1(
20699        x509: *mut X509,
20700        id: *const u8,
20701        len: ossl_ssize_t,
20702    ) -> ::std::os::raw::c_int;
20703}
20704extern "C" {
20705    #[link_name = "\u{1}aws_lc_0_26_0_X509_alias_get0"]
20706    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20707}
20708extern "C" {
20709    #[link_name = "\u{1}aws_lc_0_26_0_X509_keyid_get0"]
20710    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20711}
20712extern "C" {
20713    #[link_name = "\u{1}aws_lc_0_26_0_X509_add1_trust_object"]
20714    pub fn X509_add1_trust_object(
20715        x509: *mut X509,
20716        obj: *const ASN1_OBJECT,
20717    ) -> ::std::os::raw::c_int;
20718}
20719extern "C" {
20720    #[link_name = "\u{1}aws_lc_0_26_0_X509_add1_reject_object"]
20721    pub fn X509_add1_reject_object(
20722        x509: *mut X509,
20723        obj: *const ASN1_OBJECT,
20724    ) -> ::std::os::raw::c_int;
20725}
20726extern "C" {
20727    #[link_name = "\u{1}aws_lc_0_26_0_X509_trust_clear"]
20728    pub fn X509_trust_clear(x509: *mut X509);
20729}
20730extern "C" {
20731    #[link_name = "\u{1}aws_lc_0_26_0_X509_reject_clear"]
20732    pub fn X509_reject_clear(x509: *mut X509);
20733}
20734pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
20735pub type sk_X509_CRL_copy_func =
20736    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
20737pub type sk_X509_CRL_cmp_func = ::std::option::Option<
20738    unsafe extern "C" fn(
20739        arg1: *const *const X509_CRL,
20740        arg2: *const *const X509_CRL,
20741    ) -> ::std::os::raw::c_int,
20742>;
20743pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
20744    unsafe extern "C" fn(
20745        arg1: *mut X509_CRL,
20746        arg2: *mut ::std::os::raw::c_void,
20747    ) -> ::std::os::raw::c_int,
20748>;
20749#[repr(C)]
20750#[derive(Debug, Copy, Clone)]
20751pub struct stack_st_X509_REVOKED {
20752    _unused: [u8; 0],
20753}
20754pub type sk_X509_REVOKED_free_func =
20755    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
20756pub type sk_X509_REVOKED_copy_func =
20757    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
20758pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
20759    unsafe extern "C" fn(
20760        arg1: *const *const X509_REVOKED,
20761        arg2: *const *const X509_REVOKED,
20762    ) -> ::std::os::raw::c_int,
20763>;
20764pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
20765    unsafe extern "C" fn(
20766        arg1: *mut X509_REVOKED,
20767        arg2: *mut ::std::os::raw::c_void,
20768    ) -> ::std::os::raw::c_int,
20769>;
20770extern "C" {
20771    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_it"]
20772    pub static X509_CRL_it: ASN1_ITEM;
20773}
20774extern "C" {
20775    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_up_ref"]
20776    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20777}
20778extern "C" {
20779    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_dup"]
20780    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
20781}
20782extern "C" {
20783    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_free"]
20784    pub fn X509_CRL_free(crl: *mut X509_CRL);
20785}
20786extern "C" {
20787    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_CRL"]
20788    pub fn d2i_X509_CRL(
20789        out: *mut *mut X509_CRL,
20790        inp: *mut *const u8,
20791        len: ::std::os::raw::c_long,
20792    ) -> *mut X509_CRL;
20793}
20794extern "C" {
20795    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_CRL"]
20796    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20797}
20798extern "C" {
20799    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_match"]
20800    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
20801}
20802extern "C" {
20803    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_version"]
20804    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
20805}
20806extern "C" {
20807    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_lastUpdate"]
20808    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20809}
20810extern "C" {
20811    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_nextUpdate"]
20812    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20813}
20814extern "C" {
20815    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_issuer"]
20816    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
20817}
20818extern "C" {
20819    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_by_serial"]
20820    pub fn X509_CRL_get0_by_serial(
20821        crl: *mut X509_CRL,
20822        out: *mut *mut X509_REVOKED,
20823        serial: *const ASN1_INTEGER,
20824    ) -> ::std::os::raw::c_int;
20825}
20826extern "C" {
20827    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_by_cert"]
20828    pub fn X509_CRL_get0_by_cert(
20829        crl: *mut X509_CRL,
20830        out: *mut *mut X509_REVOKED,
20831        x509: *mut X509,
20832    ) -> ::std::os::raw::c_int;
20833}
20834extern "C" {
20835    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_REVOKED"]
20836    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
20837}
20838extern "C" {
20839    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_extensions"]
20840    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
20841}
20842extern "C" {
20843    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext_count"]
20844    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
20845}
20846extern "C" {
20847    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext_by_NID"]
20848    pub fn X509_CRL_get_ext_by_NID(
20849        x: *const X509_CRL,
20850        nid: ::std::os::raw::c_int,
20851        lastpos: ::std::os::raw::c_int,
20852    ) -> ::std::os::raw::c_int;
20853}
20854extern "C" {
20855    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext_by_OBJ"]
20856    pub fn X509_CRL_get_ext_by_OBJ(
20857        x: *const X509_CRL,
20858        obj: *const ASN1_OBJECT,
20859        lastpos: ::std::os::raw::c_int,
20860    ) -> ::std::os::raw::c_int;
20861}
20862extern "C" {
20863    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext_by_critical"]
20864    pub fn X509_CRL_get_ext_by_critical(
20865        x: *const X509_CRL,
20866        crit: ::std::os::raw::c_int,
20867        lastpos: ::std::os::raw::c_int,
20868    ) -> ::std::os::raw::c_int;
20869}
20870extern "C" {
20871    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext"]
20872    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20873}
20874extern "C" {
20875    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_ext_d2i"]
20876    pub fn X509_CRL_get_ext_d2i(
20877        crl: *const X509_CRL,
20878        nid: ::std::os::raw::c_int,
20879        out_critical: *mut ::std::os::raw::c_int,
20880        out_idx: *mut ::std::os::raw::c_int,
20881    ) -> *mut ::std::os::raw::c_void;
20882}
20883extern "C" {
20884    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get0_signature"]
20885    pub fn X509_CRL_get0_signature(
20886        crl: *const X509_CRL,
20887        out_sig: *mut *const ASN1_BIT_STRING,
20888        out_alg: *mut *const X509_ALGOR,
20889    );
20890}
20891extern "C" {
20892    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_signature_nid"]
20893    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
20894}
20895extern "C" {
20896    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_CRL_tbs"]
20897    pub fn i2d_X509_CRL_tbs(
20898        crl: *mut X509_CRL,
20899        outp: *mut *mut ::std::os::raw::c_uchar,
20900    ) -> ::std::os::raw::c_int;
20901}
20902extern "C" {
20903    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_verify"]
20904    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20905}
20906extern "C" {
20907    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_new"]
20908    pub fn X509_CRL_new() -> *mut X509_CRL;
20909}
20910extern "C" {
20911    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set_version"]
20912    pub fn X509_CRL_set_version(
20913        crl: *mut X509_CRL,
20914        version: ::std::os::raw::c_long,
20915    ) -> ::std::os::raw::c_int;
20916}
20917extern "C" {
20918    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set_issuer_name"]
20919    pub fn X509_CRL_set_issuer_name(
20920        crl: *mut X509_CRL,
20921        name: *mut X509_NAME,
20922    ) -> ::std::os::raw::c_int;
20923}
20924extern "C" {
20925    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set1_lastUpdate"]
20926    pub fn X509_CRL_set1_lastUpdate(
20927        crl: *mut X509_CRL,
20928        tm: *const ASN1_TIME,
20929    ) -> ::std::os::raw::c_int;
20930}
20931extern "C" {
20932    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set1_nextUpdate"]
20933    pub fn X509_CRL_set1_nextUpdate(
20934        crl: *mut X509_CRL,
20935        tm: *const ASN1_TIME,
20936    ) -> ::std::os::raw::c_int;
20937}
20938extern "C" {
20939    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_add0_revoked"]
20940    pub fn X509_CRL_add0_revoked(
20941        crl: *mut X509_CRL,
20942        rev: *mut X509_REVOKED,
20943    ) -> ::std::os::raw::c_int;
20944}
20945extern "C" {
20946    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_sort"]
20947    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20948}
20949extern "C" {
20950    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_delete_ext"]
20951    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
20952        -> *mut X509_EXTENSION;
20953}
20954extern "C" {
20955    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_add_ext"]
20956    pub fn X509_CRL_add_ext(
20957        x: *mut X509_CRL,
20958        ex: *const X509_EXTENSION,
20959        loc: ::std::os::raw::c_int,
20960    ) -> ::std::os::raw::c_int;
20961}
20962extern "C" {
20963    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_add1_ext_i2d"]
20964    pub fn X509_CRL_add1_ext_i2d(
20965        x: *mut X509_CRL,
20966        nid: ::std::os::raw::c_int,
20967        value: *mut ::std::os::raw::c_void,
20968        crit: ::std::os::raw::c_int,
20969        flags: ::std::os::raw::c_ulong,
20970    ) -> ::std::os::raw::c_int;
20971}
20972extern "C" {
20973    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_sign"]
20974    pub fn X509_CRL_sign(
20975        crl: *mut X509_CRL,
20976        pkey: *mut EVP_PKEY,
20977        md: *const EVP_MD,
20978    ) -> ::std::os::raw::c_int;
20979}
20980extern "C" {
20981    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_sign_ctx"]
20982    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20983}
20984extern "C" {
20985    #[link_name = "\u{1}aws_lc_0_26_0_i2d_re_X509_CRL_tbs"]
20986    pub fn i2d_re_X509_CRL_tbs(
20987        crl: *mut X509_CRL,
20988        outp: *mut *mut ::std::os::raw::c_uchar,
20989    ) -> ::std::os::raw::c_int;
20990}
20991extern "C" {
20992    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set1_signature_algo"]
20993    pub fn X509_CRL_set1_signature_algo(
20994        crl: *mut X509_CRL,
20995        algo: *const X509_ALGOR,
20996    ) -> ::std::os::raw::c_int;
20997}
20998extern "C" {
20999    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_set1_signature_value"]
21000    pub fn X509_CRL_set1_signature_value(
21001        crl: *mut X509_CRL,
21002        sig: *const u8,
21003        sig_len: usize,
21004    ) -> ::std::os::raw::c_int;
21005}
21006extern "C" {
21007    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_http_nbio"]
21008    pub fn X509_CRL_http_nbio(
21009        rctx: *mut OCSP_REQ_CTX,
21010        pcrl: *mut *mut X509_CRL,
21011    ) -> ::std::os::raw::c_int;
21012}
21013extern "C" {
21014    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_it"]
21015    pub static X509_REVOKED_it: ASN1_ITEM;
21016}
21017extern "C" {
21018    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_new"]
21019    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
21020}
21021extern "C" {
21022    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_free"]
21023    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
21024}
21025extern "C" {
21026    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_REVOKED"]
21027    pub fn d2i_X509_REVOKED(
21028        out: *mut *mut X509_REVOKED,
21029        inp: *mut *const u8,
21030        len: ::std::os::raw::c_long,
21031    ) -> *mut X509_REVOKED;
21032}
21033extern "C" {
21034    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_REVOKED"]
21035    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21036}
21037extern "C" {
21038    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_dup"]
21039    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
21040}
21041extern "C" {
21042    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get0_serialNumber"]
21043    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
21044}
21045extern "C" {
21046    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_set_serialNumber"]
21047    pub fn X509_REVOKED_set_serialNumber(
21048        revoked: *mut X509_REVOKED,
21049        serial: *const ASN1_INTEGER,
21050    ) -> ::std::os::raw::c_int;
21051}
21052extern "C" {
21053    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get0_revocationDate"]
21054    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
21055}
21056extern "C" {
21057    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_set_revocationDate"]
21058    pub fn X509_REVOKED_set_revocationDate(
21059        revoked: *mut X509_REVOKED,
21060        tm: *const ASN1_TIME,
21061    ) -> ::std::os::raw::c_int;
21062}
21063extern "C" {
21064    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get0_extensions"]
21065    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
21066}
21067extern "C" {
21068    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext_count"]
21069    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
21070}
21071extern "C" {
21072    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext_by_NID"]
21073    pub fn X509_REVOKED_get_ext_by_NID(
21074        x: *const X509_REVOKED,
21075        nid: ::std::os::raw::c_int,
21076        lastpos: ::std::os::raw::c_int,
21077    ) -> ::std::os::raw::c_int;
21078}
21079extern "C" {
21080    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext_by_OBJ"]
21081    pub fn X509_REVOKED_get_ext_by_OBJ(
21082        x: *const X509_REVOKED,
21083        obj: *const ASN1_OBJECT,
21084        lastpos: ::std::os::raw::c_int,
21085    ) -> ::std::os::raw::c_int;
21086}
21087extern "C" {
21088    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext_by_critical"]
21089    pub fn X509_REVOKED_get_ext_by_critical(
21090        x: *const X509_REVOKED,
21091        crit: ::std::os::raw::c_int,
21092        lastpos: ::std::os::raw::c_int,
21093    ) -> ::std::os::raw::c_int;
21094}
21095extern "C" {
21096    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext"]
21097    pub fn X509_REVOKED_get_ext(
21098        x: *const X509_REVOKED,
21099        loc: ::std::os::raw::c_int,
21100    ) -> *mut X509_EXTENSION;
21101}
21102extern "C" {
21103    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_delete_ext"]
21104    pub fn X509_REVOKED_delete_ext(
21105        x: *mut X509_REVOKED,
21106        loc: ::std::os::raw::c_int,
21107    ) -> *mut X509_EXTENSION;
21108}
21109extern "C" {
21110    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_add_ext"]
21111    pub fn X509_REVOKED_add_ext(
21112        x: *mut X509_REVOKED,
21113        ex: *const X509_EXTENSION,
21114        loc: ::std::os::raw::c_int,
21115    ) -> ::std::os::raw::c_int;
21116}
21117extern "C" {
21118    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_get_ext_d2i"]
21119    pub fn X509_REVOKED_get_ext_d2i(
21120        revoked: *const X509_REVOKED,
21121        nid: ::std::os::raw::c_int,
21122        out_critical: *mut ::std::os::raw::c_int,
21123        out_idx: *mut ::std::os::raw::c_int,
21124    ) -> *mut ::std::os::raw::c_void;
21125}
21126extern "C" {
21127    #[link_name = "\u{1}aws_lc_0_26_0_X509_REVOKED_add1_ext_i2d"]
21128    pub fn X509_REVOKED_add1_ext_i2d(
21129        x: *mut X509_REVOKED,
21130        nid: ::std::os::raw::c_int,
21131        value: *mut ::std::os::raw::c_void,
21132        crit: ::std::os::raw::c_int,
21133        flags: ::std::os::raw::c_ulong,
21134    ) -> ::std::os::raw::c_int;
21135}
21136extern "C" {
21137    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_it"]
21138    pub static X509_REQ_it: ASN1_ITEM;
21139}
21140extern "C" {
21141    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_dup"]
21142    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
21143}
21144extern "C" {
21145    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_free"]
21146    pub fn X509_REQ_free(req: *mut X509_REQ);
21147}
21148extern "C" {
21149    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_REQ"]
21150    pub fn d2i_X509_REQ(
21151        out: *mut *mut X509_REQ,
21152        inp: *mut *const u8,
21153        len: ::std::os::raw::c_long,
21154    ) -> *mut X509_REQ;
21155}
21156extern "C" {
21157    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_REQ"]
21158    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21159}
21160extern "C" {
21161    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_version"]
21162    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
21163}
21164extern "C" {
21165    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_subject_name"]
21166    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
21167}
21168extern "C" {
21169    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get0_pubkey"]
21170    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21171}
21172extern "C" {
21173    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_pubkey"]
21174    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21175}
21176extern "C" {
21177    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_check_private_key"]
21178    pub fn X509_REQ_check_private_key(
21179        req: *const X509_REQ,
21180        pkey: *const EVP_PKEY,
21181    ) -> ::std::os::raw::c_int;
21182}
21183extern "C" {
21184    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_attr_count"]
21185    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
21186}
21187extern "C" {
21188    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_attr"]
21189    pub fn X509_REQ_get_attr(
21190        req: *const X509_REQ,
21191        loc: ::std::os::raw::c_int,
21192    ) -> *mut X509_ATTRIBUTE;
21193}
21194extern "C" {
21195    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_attr_by_NID"]
21196    pub fn X509_REQ_get_attr_by_NID(
21197        req: *const X509_REQ,
21198        nid: ::std::os::raw::c_int,
21199        lastpos: ::std::os::raw::c_int,
21200    ) -> ::std::os::raw::c_int;
21201}
21202extern "C" {
21203    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_attr_by_OBJ"]
21204    pub fn X509_REQ_get_attr_by_OBJ(
21205        req: *const X509_REQ,
21206        obj: *const ASN1_OBJECT,
21207        lastpos: ::std::os::raw::c_int,
21208    ) -> ::std::os::raw::c_int;
21209}
21210extern "C" {
21211    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_extension_nid"]
21212    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
21213}
21214extern "C" {
21215    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_extensions"]
21216    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
21217}
21218extern "C" {
21219    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get0_signature"]
21220    pub fn X509_REQ_get0_signature(
21221        req: *const X509_REQ,
21222        out_sig: *mut *const ASN1_BIT_STRING,
21223        out_alg: *mut *const X509_ALGOR,
21224    );
21225}
21226extern "C" {
21227    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get_signature_nid"]
21228    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
21229}
21230extern "C" {
21231    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_verify"]
21232    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21233}
21234extern "C" {
21235    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_get1_email"]
21236    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
21237}
21238extern "C" {
21239    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_new"]
21240    pub fn X509_REQ_new() -> *mut X509_REQ;
21241}
21242extern "C" {
21243    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_set_version"]
21244    pub fn X509_REQ_set_version(
21245        req: *mut X509_REQ,
21246        version: ::std::os::raw::c_long,
21247    ) -> ::std::os::raw::c_int;
21248}
21249extern "C" {
21250    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_set_subject_name"]
21251    pub fn X509_REQ_set_subject_name(
21252        req: *mut X509_REQ,
21253        name: *mut X509_NAME,
21254    ) -> ::std::os::raw::c_int;
21255}
21256extern "C" {
21257    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_set_pubkey"]
21258    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21259}
21260extern "C" {
21261    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_delete_attr"]
21262    pub fn X509_REQ_delete_attr(
21263        req: *mut X509_REQ,
21264        loc: ::std::os::raw::c_int,
21265    ) -> *mut X509_ATTRIBUTE;
21266}
21267extern "C" {
21268    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add1_attr"]
21269    pub fn X509_REQ_add1_attr(
21270        req: *mut X509_REQ,
21271        attr: *const X509_ATTRIBUTE,
21272    ) -> ::std::os::raw::c_int;
21273}
21274extern "C" {
21275    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add1_attr_by_OBJ"]
21276    pub fn X509_REQ_add1_attr_by_OBJ(
21277        req: *mut X509_REQ,
21278        obj: *const ASN1_OBJECT,
21279        attrtype: ::std::os::raw::c_int,
21280        data: *const ::std::os::raw::c_uchar,
21281        len: ::std::os::raw::c_int,
21282    ) -> ::std::os::raw::c_int;
21283}
21284extern "C" {
21285    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add1_attr_by_NID"]
21286    pub fn X509_REQ_add1_attr_by_NID(
21287        req: *mut X509_REQ,
21288        nid: ::std::os::raw::c_int,
21289        attrtype: ::std::os::raw::c_int,
21290        data: *const ::std::os::raw::c_uchar,
21291        len: ::std::os::raw::c_int,
21292    ) -> ::std::os::raw::c_int;
21293}
21294extern "C" {
21295    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add1_attr_by_txt"]
21296    pub fn X509_REQ_add1_attr_by_txt(
21297        req: *mut X509_REQ,
21298        attrname: *const ::std::os::raw::c_char,
21299        attrtype: ::std::os::raw::c_int,
21300        data: *const ::std::os::raw::c_uchar,
21301        len: ::std::os::raw::c_int,
21302    ) -> ::std::os::raw::c_int;
21303}
21304extern "C" {
21305    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add_extensions_nid"]
21306    pub fn X509_REQ_add_extensions_nid(
21307        req: *mut X509_REQ,
21308        exts: *const stack_st_X509_EXTENSION,
21309        nid: ::std::os::raw::c_int,
21310    ) -> ::std::os::raw::c_int;
21311}
21312extern "C" {
21313    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_add_extensions"]
21314    pub fn X509_REQ_add_extensions(
21315        req: *mut X509_REQ,
21316        exts: *const stack_st_X509_EXTENSION,
21317    ) -> ::std::os::raw::c_int;
21318}
21319extern "C" {
21320    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_sign"]
21321    pub fn X509_REQ_sign(
21322        req: *mut X509_REQ,
21323        pkey: *mut EVP_PKEY,
21324        md: *const EVP_MD,
21325    ) -> ::std::os::raw::c_int;
21326}
21327extern "C" {
21328    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_sign_ctx"]
21329    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
21330}
21331extern "C" {
21332    #[link_name = "\u{1}aws_lc_0_26_0_i2d_re_X509_REQ_tbs"]
21333    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21334}
21335extern "C" {
21336    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_set1_signature_algo"]
21337    pub fn X509_REQ_set1_signature_algo(
21338        req: *mut X509_REQ,
21339        algo: *const X509_ALGOR,
21340    ) -> ::std::os::raw::c_int;
21341}
21342extern "C" {
21343    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_set1_signature_value"]
21344    pub fn X509_REQ_set1_signature_value(
21345        req: *mut X509_REQ,
21346        sig: *const u8,
21347        sig_len: usize,
21348    ) -> ::std::os::raw::c_int;
21349}
21350#[repr(C)]
21351#[derive(Debug, Copy, Clone)]
21352pub struct stack_st_X509_NAME_ENTRY {
21353    _unused: [u8; 0],
21354}
21355pub type sk_X509_NAME_ENTRY_free_func =
21356    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
21357pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
21358    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
21359>;
21360pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
21361    unsafe extern "C" fn(
21362        arg1: *const *const X509_NAME_ENTRY,
21363        arg2: *const *const X509_NAME_ENTRY,
21364    ) -> ::std::os::raw::c_int,
21365>;
21366pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
21367    unsafe extern "C" fn(
21368        arg1: *mut X509_NAME_ENTRY,
21369        arg2: *mut ::std::os::raw::c_void,
21370    ) -> ::std::os::raw::c_int,
21371>;
21372#[repr(C)]
21373#[derive(Debug, Copy, Clone)]
21374pub struct stack_st_X509_NAME {
21375    _unused: [u8; 0],
21376}
21377pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
21378pub type sk_X509_NAME_copy_func =
21379    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
21380pub type sk_X509_NAME_cmp_func = ::std::option::Option<
21381    unsafe extern "C" fn(
21382        arg1: *const *const X509_NAME,
21383        arg2: *const *const X509_NAME,
21384    ) -> ::std::os::raw::c_int,
21385>;
21386pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
21387    unsafe extern "C" fn(
21388        arg1: *mut X509_NAME,
21389        arg2: *mut ::std::os::raw::c_void,
21390    ) -> ::std::os::raw::c_int,
21391>;
21392extern "C" {
21393    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_it"]
21394    pub static X509_NAME_it: ASN1_ITEM;
21395}
21396extern "C" {
21397    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_new"]
21398    pub fn X509_NAME_new() -> *mut X509_NAME;
21399}
21400extern "C" {
21401    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_free"]
21402    pub fn X509_NAME_free(name: *mut X509_NAME);
21403}
21404extern "C" {
21405    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_NAME"]
21406    pub fn d2i_X509_NAME(
21407        out: *mut *mut X509_NAME,
21408        inp: *mut *const u8,
21409        len: ::std::os::raw::c_long,
21410    ) -> *mut X509_NAME;
21411}
21412extern "C" {
21413    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_NAME"]
21414    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21415}
21416extern "C" {
21417    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_dup"]
21418    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
21419}
21420extern "C" {
21421    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_cmp"]
21422    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
21423}
21424extern "C" {
21425    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get0_der"]
21426    pub fn X509_NAME_get0_der(
21427        name: *mut X509_NAME,
21428        out_der: *mut *const u8,
21429        out_der_len: *mut usize,
21430    ) -> ::std::os::raw::c_int;
21431}
21432extern "C" {
21433    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_set"]
21434    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
21435}
21436extern "C" {
21437    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_entry_count"]
21438    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
21439}
21440extern "C" {
21441    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get_index_by_NID"]
21442    pub fn X509_NAME_get_index_by_NID(
21443        name: *const X509_NAME,
21444        nid: ::std::os::raw::c_int,
21445        lastpos: ::std::os::raw::c_int,
21446    ) -> ::std::os::raw::c_int;
21447}
21448extern "C" {
21449    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get_index_by_OBJ"]
21450    pub fn X509_NAME_get_index_by_OBJ(
21451        name: *const X509_NAME,
21452        obj: *const ASN1_OBJECT,
21453        lastpos: ::std::os::raw::c_int,
21454    ) -> ::std::os::raw::c_int;
21455}
21456extern "C" {
21457    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get_entry"]
21458    pub fn X509_NAME_get_entry(
21459        name: *const X509_NAME,
21460        loc: ::std::os::raw::c_int,
21461    ) -> *mut X509_NAME_ENTRY;
21462}
21463extern "C" {
21464    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_delete_entry"]
21465    pub fn X509_NAME_delete_entry(
21466        name: *mut X509_NAME,
21467        loc: ::std::os::raw::c_int,
21468    ) -> *mut X509_NAME_ENTRY;
21469}
21470extern "C" {
21471    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_add_entry"]
21472    pub fn X509_NAME_add_entry(
21473        name: *mut X509_NAME,
21474        entry: *const X509_NAME_ENTRY,
21475        loc: ::std::os::raw::c_int,
21476        set: ::std::os::raw::c_int,
21477    ) -> ::std::os::raw::c_int;
21478}
21479extern "C" {
21480    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_add_entry_by_OBJ"]
21481    pub fn X509_NAME_add_entry_by_OBJ(
21482        name: *mut X509_NAME,
21483        obj: *const ASN1_OBJECT,
21484        type_: ::std::os::raw::c_int,
21485        bytes: *const u8,
21486        len: ossl_ssize_t,
21487        loc: ::std::os::raw::c_int,
21488        set: ::std::os::raw::c_int,
21489    ) -> ::std::os::raw::c_int;
21490}
21491extern "C" {
21492    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_add_entry_by_NID"]
21493    pub fn X509_NAME_add_entry_by_NID(
21494        name: *mut X509_NAME,
21495        nid: ::std::os::raw::c_int,
21496        type_: ::std::os::raw::c_int,
21497        bytes: *const u8,
21498        len: ossl_ssize_t,
21499        loc: ::std::os::raw::c_int,
21500        set: ::std::os::raw::c_int,
21501    ) -> ::std::os::raw::c_int;
21502}
21503extern "C" {
21504    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_add_entry_by_txt"]
21505    pub fn X509_NAME_add_entry_by_txt(
21506        name: *mut X509_NAME,
21507        field: *const ::std::os::raw::c_char,
21508        type_: ::std::os::raw::c_int,
21509        bytes: *const u8,
21510        len: ossl_ssize_t,
21511        loc: ::std::os::raw::c_int,
21512        set: ::std::os::raw::c_int,
21513    ) -> ::std::os::raw::c_int;
21514}
21515extern "C" {
21516    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_it"]
21517    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
21518}
21519extern "C" {
21520    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_new"]
21521    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
21522}
21523extern "C" {
21524    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_free"]
21525    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
21526}
21527extern "C" {
21528    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_NAME_ENTRY"]
21529    pub fn d2i_X509_NAME_ENTRY(
21530        out: *mut *mut X509_NAME_ENTRY,
21531        inp: *mut *const u8,
21532        len: ::std::os::raw::c_long,
21533    ) -> *mut X509_NAME_ENTRY;
21534}
21535extern "C" {
21536    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_NAME_ENTRY"]
21537    pub fn i2d_X509_NAME_ENTRY(
21538        in_: *const X509_NAME_ENTRY,
21539        outp: *mut *mut u8,
21540    ) -> ::std::os::raw::c_int;
21541}
21542extern "C" {
21543    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_dup"]
21544    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
21545}
21546extern "C" {
21547    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_get_object"]
21548    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
21549}
21550extern "C" {
21551    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_set_object"]
21552    pub fn X509_NAME_ENTRY_set_object(
21553        entry: *mut X509_NAME_ENTRY,
21554        obj: *const ASN1_OBJECT,
21555    ) -> ::std::os::raw::c_int;
21556}
21557extern "C" {
21558    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_get_data"]
21559    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
21560}
21561extern "C" {
21562    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_set_data"]
21563    pub fn X509_NAME_ENTRY_set_data(
21564        entry: *mut X509_NAME_ENTRY,
21565        type_: ::std::os::raw::c_int,
21566        bytes: *const u8,
21567        len: ossl_ssize_t,
21568    ) -> ::std::os::raw::c_int;
21569}
21570extern "C" {
21571    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_set"]
21572    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
21573}
21574extern "C" {
21575    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_create_by_OBJ"]
21576    pub fn X509_NAME_ENTRY_create_by_OBJ(
21577        out: *mut *mut X509_NAME_ENTRY,
21578        obj: *const ASN1_OBJECT,
21579        type_: ::std::os::raw::c_int,
21580        bytes: *const u8,
21581        len: ossl_ssize_t,
21582    ) -> *mut X509_NAME_ENTRY;
21583}
21584extern "C" {
21585    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_create_by_NID"]
21586    pub fn X509_NAME_ENTRY_create_by_NID(
21587        out: *mut *mut X509_NAME_ENTRY,
21588        nid: ::std::os::raw::c_int,
21589        type_: ::std::os::raw::c_int,
21590        bytes: *const u8,
21591        len: ossl_ssize_t,
21592    ) -> *mut X509_NAME_ENTRY;
21593}
21594extern "C" {
21595    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_ENTRY_create_by_txt"]
21596    pub fn X509_NAME_ENTRY_create_by_txt(
21597        out: *mut *mut X509_NAME_ENTRY,
21598        field: *const ::std::os::raw::c_char,
21599        type_: ::std::os::raw::c_int,
21600        bytes: *const u8,
21601        len: ossl_ssize_t,
21602    ) -> *mut X509_NAME_ENTRY;
21603}
21604extern "C" {
21605    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_it"]
21606    pub static X509_PUBKEY_it: ASN1_ITEM;
21607}
21608extern "C" {
21609    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_new"]
21610    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
21611}
21612extern "C" {
21613    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_free"]
21614    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
21615}
21616extern "C" {
21617    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_PUBKEY"]
21618    pub fn d2i_X509_PUBKEY(
21619        out: *mut *mut X509_PUBKEY,
21620        inp: *mut *const u8,
21621        len: ::std::os::raw::c_long,
21622    ) -> *mut X509_PUBKEY;
21623}
21624extern "C" {
21625    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_PUBKEY"]
21626    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21627}
21628extern "C" {
21629    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_set"]
21630    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21631}
21632extern "C" {
21633    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_get0"]
21634    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21635}
21636extern "C" {
21637    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_get"]
21638    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21639}
21640extern "C" {
21641    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_set0_param"]
21642    pub fn X509_PUBKEY_set0_param(
21643        pub_: *mut X509_PUBKEY,
21644        obj: *mut ASN1_OBJECT,
21645        param_type: ::std::os::raw::c_int,
21646        param_value: *mut ::std::os::raw::c_void,
21647        key: *mut u8,
21648        key_len: ::std::os::raw::c_int,
21649    ) -> ::std::os::raw::c_int;
21650}
21651extern "C" {
21652    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_get0_param"]
21653    pub fn X509_PUBKEY_get0_param(
21654        out_obj: *mut *mut ASN1_OBJECT,
21655        out_key: *mut *const u8,
21656        out_key_len: *mut ::std::os::raw::c_int,
21657        out_alg: *mut *mut X509_ALGOR,
21658        pub_: *mut X509_PUBKEY,
21659    ) -> ::std::os::raw::c_int;
21660}
21661extern "C" {
21662    #[link_name = "\u{1}aws_lc_0_26_0_X509_PUBKEY_get0_public_key"]
21663    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
21664}
21665extern "C" {
21666    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_it"]
21667    pub static X509_EXTENSION_it: ASN1_ITEM;
21668}
21669extern "C" {
21670    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_new"]
21671    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
21672}
21673extern "C" {
21674    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_free"]
21675    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
21676}
21677extern "C" {
21678    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_EXTENSION"]
21679    pub fn d2i_X509_EXTENSION(
21680        out: *mut *mut X509_EXTENSION,
21681        inp: *mut *const u8,
21682        len: ::std::os::raw::c_long,
21683    ) -> *mut X509_EXTENSION;
21684}
21685extern "C" {
21686    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_EXTENSION"]
21687    pub fn i2d_X509_EXTENSION(
21688        ex: *const X509_EXTENSION,
21689        outp: *mut *mut u8,
21690    ) -> ::std::os::raw::c_int;
21691}
21692extern "C" {
21693    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_dup"]
21694    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
21695}
21696extern "C" {
21697    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_create_by_NID"]
21698    pub fn X509_EXTENSION_create_by_NID(
21699        ex: *mut *mut X509_EXTENSION,
21700        nid: ::std::os::raw::c_int,
21701        crit: ::std::os::raw::c_int,
21702        data: *const ASN1_OCTET_STRING,
21703    ) -> *mut X509_EXTENSION;
21704}
21705extern "C" {
21706    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_create_by_OBJ"]
21707    pub fn X509_EXTENSION_create_by_OBJ(
21708        ex: *mut *mut X509_EXTENSION,
21709        obj: *const ASN1_OBJECT,
21710        crit: ::std::os::raw::c_int,
21711        data: *const ASN1_OCTET_STRING,
21712    ) -> *mut X509_EXTENSION;
21713}
21714extern "C" {
21715    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_get_object"]
21716    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
21717}
21718extern "C" {
21719    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_get_data"]
21720    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
21721}
21722extern "C" {
21723    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_get_critical"]
21724    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21725}
21726extern "C" {
21727    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_set_object"]
21728    pub fn X509_EXTENSION_set_object(
21729        ex: *mut X509_EXTENSION,
21730        obj: *const ASN1_OBJECT,
21731    ) -> ::std::os::raw::c_int;
21732}
21733extern "C" {
21734    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_set_critical"]
21735    pub fn X509_EXTENSION_set_critical(
21736        ex: *mut X509_EXTENSION,
21737        crit: ::std::os::raw::c_int,
21738    ) -> ::std::os::raw::c_int;
21739}
21740extern "C" {
21741    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSION_set_data"]
21742    pub fn X509_EXTENSION_set_data(
21743        ex: *mut X509_EXTENSION,
21744        data: *const ASN1_OCTET_STRING,
21745    ) -> ::std::os::raw::c_int;
21746}
21747pub type sk_X509_EXTENSION_free_func =
21748    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
21749pub type sk_X509_EXTENSION_copy_func =
21750    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
21751pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
21752    unsafe extern "C" fn(
21753        arg1: *const *const X509_EXTENSION,
21754        arg2: *const *const X509_EXTENSION,
21755    ) -> ::std::os::raw::c_int,
21756>;
21757pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
21758    unsafe extern "C" fn(
21759        arg1: *mut X509_EXTENSION,
21760        arg2: *mut ::std::os::raw::c_void,
21761    ) -> ::std::os::raw::c_int,
21762>;
21763pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
21764extern "C" {
21765    #[link_name = "\u{1}aws_lc_0_26_0_X509_EXTENSIONS_it"]
21766    pub static X509_EXTENSIONS_it: ASN1_ITEM;
21767}
21768extern "C" {
21769    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_EXTENSIONS"]
21770    pub fn d2i_X509_EXTENSIONS(
21771        out: *mut *mut X509_EXTENSIONS,
21772        inp: *mut *const u8,
21773        len: ::std::os::raw::c_long,
21774    ) -> *mut X509_EXTENSIONS;
21775}
21776extern "C" {
21777    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_EXTENSIONS"]
21778    pub fn i2d_X509_EXTENSIONS(
21779        alg: *const X509_EXTENSIONS,
21780        outp: *mut *mut u8,
21781    ) -> ::std::os::raw::c_int;
21782}
21783extern "C" {
21784    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_get_ext_count"]
21785    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
21786}
21787extern "C" {
21788    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_get_ext_by_NID"]
21789    pub fn X509v3_get_ext_by_NID(
21790        x: *const stack_st_X509_EXTENSION,
21791        nid: ::std::os::raw::c_int,
21792        lastpos: ::std::os::raw::c_int,
21793    ) -> ::std::os::raw::c_int;
21794}
21795extern "C" {
21796    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_get_ext_by_OBJ"]
21797    pub fn X509v3_get_ext_by_OBJ(
21798        x: *const stack_st_X509_EXTENSION,
21799        obj: *const ASN1_OBJECT,
21800        lastpos: ::std::os::raw::c_int,
21801    ) -> ::std::os::raw::c_int;
21802}
21803extern "C" {
21804    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_get_ext_by_critical"]
21805    pub fn X509v3_get_ext_by_critical(
21806        x: *const stack_st_X509_EXTENSION,
21807        crit: ::std::os::raw::c_int,
21808        lastpos: ::std::os::raw::c_int,
21809    ) -> ::std::os::raw::c_int;
21810}
21811extern "C" {
21812    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_get_ext"]
21813    pub fn X509v3_get_ext(
21814        x: *const stack_st_X509_EXTENSION,
21815        loc: ::std::os::raw::c_int,
21816    ) -> *mut X509_EXTENSION;
21817}
21818extern "C" {
21819    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_delete_ext"]
21820    pub fn X509v3_delete_ext(
21821        x: *mut stack_st_X509_EXTENSION,
21822        loc: ::std::os::raw::c_int,
21823    ) -> *mut X509_EXTENSION;
21824}
21825extern "C" {
21826    #[link_name = "\u{1}aws_lc_0_26_0_X509v3_add_ext"]
21827    pub fn X509v3_add_ext(
21828        x: *mut *mut stack_st_X509_EXTENSION,
21829        ex: *const X509_EXTENSION,
21830        loc: ::std::os::raw::c_int,
21831    ) -> *mut stack_st_X509_EXTENSION;
21832}
21833extern "C" {
21834    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_d2i"]
21835    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
21836}
21837extern "C" {
21838    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_get_d2i"]
21839    pub fn X509V3_get_d2i(
21840        extensions: *const stack_st_X509_EXTENSION,
21841        nid: ::std::os::raw::c_int,
21842        out_critical: *mut ::std::os::raw::c_int,
21843        out_idx: *mut ::std::os::raw::c_int,
21844    ) -> *mut ::std::os::raw::c_void;
21845}
21846extern "C" {
21847    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_free"]
21848    pub fn X509V3_EXT_free(
21849        nid: ::std::os::raw::c_int,
21850        ext_data: *mut ::std::os::raw::c_void,
21851    ) -> ::std::os::raw::c_int;
21852}
21853extern "C" {
21854    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_i2d"]
21855    pub fn X509V3_EXT_i2d(
21856        ext_nid: ::std::os::raw::c_int,
21857        crit: ::std::os::raw::c_int,
21858        ext_struc: *mut ::std::os::raw::c_void,
21859    ) -> *mut X509_EXTENSION;
21860}
21861extern "C" {
21862    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_add1_i2d"]
21863    pub fn X509V3_add1_i2d(
21864        x: *mut *mut stack_st_X509_EXTENSION,
21865        nid: ::std::os::raw::c_int,
21866        value: *mut ::std::os::raw::c_void,
21867        crit: ::std::os::raw::c_int,
21868        flags: ::std::os::raw::c_ulong,
21869    ) -> ::std::os::raw::c_int;
21870}
21871#[repr(C)]
21872#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21873pub struct otherName_st {
21874    pub type_id: *mut ASN1_OBJECT,
21875    pub value: *mut ASN1_TYPE,
21876}
21877#[test]
21878fn bindgen_test_layout_otherName_st() {
21879    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
21880    let ptr = UNINIT.as_ptr();
21881    assert_eq!(
21882        ::std::mem::size_of::<otherName_st>(),
21883        8usize,
21884        concat!("Size of: ", stringify!(otherName_st))
21885    );
21886    assert_eq!(
21887        ::std::mem::align_of::<otherName_st>(),
21888        4usize,
21889        concat!("Alignment of ", stringify!(otherName_st))
21890    );
21891    assert_eq!(
21892        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
21893        0usize,
21894        concat!(
21895            "Offset of field: ",
21896            stringify!(otherName_st),
21897            "::",
21898            stringify!(type_id)
21899        )
21900    );
21901    assert_eq!(
21902        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
21903        4usize,
21904        concat!(
21905            "Offset of field: ",
21906            stringify!(otherName_st),
21907            "::",
21908            stringify!(value)
21909        )
21910    );
21911}
21912impl Default for otherName_st {
21913    fn default() -> Self {
21914        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21915        unsafe {
21916            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21917            s.assume_init()
21918        }
21919    }
21920}
21921pub type OTHERNAME = otherName_st;
21922#[repr(C)]
21923#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21924pub struct EDIPartyName_st {
21925    pub nameAssigner: *mut ASN1_STRING,
21926    pub partyName: *mut ASN1_STRING,
21927}
21928#[test]
21929fn bindgen_test_layout_EDIPartyName_st() {
21930    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
21931    let ptr = UNINIT.as_ptr();
21932    assert_eq!(
21933        ::std::mem::size_of::<EDIPartyName_st>(),
21934        8usize,
21935        concat!("Size of: ", stringify!(EDIPartyName_st))
21936    );
21937    assert_eq!(
21938        ::std::mem::align_of::<EDIPartyName_st>(),
21939        4usize,
21940        concat!("Alignment of ", stringify!(EDIPartyName_st))
21941    );
21942    assert_eq!(
21943        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
21944        0usize,
21945        concat!(
21946            "Offset of field: ",
21947            stringify!(EDIPartyName_st),
21948            "::",
21949            stringify!(nameAssigner)
21950        )
21951    );
21952    assert_eq!(
21953        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
21954        4usize,
21955        concat!(
21956            "Offset of field: ",
21957            stringify!(EDIPartyName_st),
21958            "::",
21959            stringify!(partyName)
21960        )
21961    );
21962}
21963impl Default for EDIPartyName_st {
21964    fn default() -> Self {
21965        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21966        unsafe {
21967            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21968            s.assume_init()
21969        }
21970    }
21971}
21972pub type EDIPARTYNAME = EDIPartyName_st;
21973#[repr(C)]
21974#[derive(Copy, Clone)]
21975pub struct GENERAL_NAME_st {
21976    pub type_: ::std::os::raw::c_int,
21977    pub d: GENERAL_NAME_st__bindgen_ty_1,
21978}
21979#[repr(C)]
21980#[derive(Copy, Clone)]
21981pub union GENERAL_NAME_st__bindgen_ty_1 {
21982    pub ptr: *mut ::std::os::raw::c_char,
21983    pub otherName: *mut OTHERNAME,
21984    pub rfc822Name: *mut ASN1_IA5STRING,
21985    pub dNSName: *mut ASN1_IA5STRING,
21986    pub x400Address: *mut ASN1_STRING,
21987    pub directoryName: *mut X509_NAME,
21988    pub ediPartyName: *mut EDIPARTYNAME,
21989    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
21990    pub iPAddress: *mut ASN1_OCTET_STRING,
21991    pub registeredID: *mut ASN1_OBJECT,
21992    pub ip: *mut ASN1_OCTET_STRING,
21993    pub dirn: *mut X509_NAME,
21994    pub ia5: *mut ASN1_IA5STRING,
21995    pub rid: *mut ASN1_OBJECT,
21996}
21997#[test]
21998fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
21999    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
22000        ::std::mem::MaybeUninit::uninit();
22001    let ptr = UNINIT.as_ptr();
22002    assert_eq!(
22003        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22004        4usize,
22005        concat!("Size of: ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22006    );
22007    assert_eq!(
22008        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22009        4usize,
22010        concat!("Alignment of ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22011    );
22012    assert_eq!(
22013        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
22014        0usize,
22015        concat!(
22016            "Offset of field: ",
22017            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22018            "::",
22019            stringify!(ptr)
22020        )
22021    );
22022    assert_eq!(
22023        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
22024        0usize,
22025        concat!(
22026            "Offset of field: ",
22027            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22028            "::",
22029            stringify!(otherName)
22030        )
22031    );
22032    assert_eq!(
22033        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
22034        0usize,
22035        concat!(
22036            "Offset of field: ",
22037            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22038            "::",
22039            stringify!(rfc822Name)
22040        )
22041    );
22042    assert_eq!(
22043        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
22044        0usize,
22045        concat!(
22046            "Offset of field: ",
22047            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22048            "::",
22049            stringify!(dNSName)
22050        )
22051    );
22052    assert_eq!(
22053        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
22054        0usize,
22055        concat!(
22056            "Offset of field: ",
22057            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22058            "::",
22059            stringify!(x400Address)
22060        )
22061    );
22062    assert_eq!(
22063        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
22064        0usize,
22065        concat!(
22066            "Offset of field: ",
22067            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22068            "::",
22069            stringify!(directoryName)
22070        )
22071    );
22072    assert_eq!(
22073        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
22074        0usize,
22075        concat!(
22076            "Offset of field: ",
22077            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22078            "::",
22079            stringify!(ediPartyName)
22080        )
22081    );
22082    assert_eq!(
22083        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
22084        0usize,
22085        concat!(
22086            "Offset of field: ",
22087            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22088            "::",
22089            stringify!(uniformResourceIdentifier)
22090        )
22091    );
22092    assert_eq!(
22093        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
22094        0usize,
22095        concat!(
22096            "Offset of field: ",
22097            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22098            "::",
22099            stringify!(iPAddress)
22100        )
22101    );
22102    assert_eq!(
22103        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
22104        0usize,
22105        concat!(
22106            "Offset of field: ",
22107            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22108            "::",
22109            stringify!(registeredID)
22110        )
22111    );
22112    assert_eq!(
22113        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
22114        0usize,
22115        concat!(
22116            "Offset of field: ",
22117            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22118            "::",
22119            stringify!(ip)
22120        )
22121    );
22122    assert_eq!(
22123        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
22124        0usize,
22125        concat!(
22126            "Offset of field: ",
22127            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22128            "::",
22129            stringify!(dirn)
22130        )
22131    );
22132    assert_eq!(
22133        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
22134        0usize,
22135        concat!(
22136            "Offset of field: ",
22137            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22138            "::",
22139            stringify!(ia5)
22140        )
22141    );
22142    assert_eq!(
22143        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
22144        0usize,
22145        concat!(
22146            "Offset of field: ",
22147            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22148            "::",
22149            stringify!(rid)
22150        )
22151    );
22152}
22153impl Default for GENERAL_NAME_st__bindgen_ty_1 {
22154    fn default() -> Self {
22155        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22156        unsafe {
22157            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22158            s.assume_init()
22159        }
22160    }
22161}
22162#[test]
22163fn bindgen_test_layout_GENERAL_NAME_st() {
22164    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
22165    let ptr = UNINIT.as_ptr();
22166    assert_eq!(
22167        ::std::mem::size_of::<GENERAL_NAME_st>(),
22168        8usize,
22169        concat!("Size of: ", stringify!(GENERAL_NAME_st))
22170    );
22171    assert_eq!(
22172        ::std::mem::align_of::<GENERAL_NAME_st>(),
22173        4usize,
22174        concat!("Alignment of ", stringify!(GENERAL_NAME_st))
22175    );
22176    assert_eq!(
22177        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
22178        0usize,
22179        concat!(
22180            "Offset of field: ",
22181            stringify!(GENERAL_NAME_st),
22182            "::",
22183            stringify!(type_)
22184        )
22185    );
22186    assert_eq!(
22187        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
22188        4usize,
22189        concat!(
22190            "Offset of field: ",
22191            stringify!(GENERAL_NAME_st),
22192            "::",
22193            stringify!(d)
22194        )
22195    );
22196}
22197impl Default for GENERAL_NAME_st {
22198    fn default() -> Self {
22199        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22200        unsafe {
22201            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22202            s.assume_init()
22203        }
22204    }
22205}
22206extern "C" {
22207    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_new"]
22208    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
22209}
22210extern "C" {
22211    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_free"]
22212    pub fn GENERAL_NAME_free(gen: *mut GENERAL_NAME);
22213}
22214extern "C" {
22215    #[link_name = "\u{1}aws_lc_0_26_0_d2i_GENERAL_NAME"]
22216    pub fn d2i_GENERAL_NAME(
22217        out: *mut *mut GENERAL_NAME,
22218        inp: *mut *const u8,
22219        len: ::std::os::raw::c_long,
22220    ) -> *mut GENERAL_NAME;
22221}
22222extern "C" {
22223    #[link_name = "\u{1}aws_lc_0_26_0_i2d_GENERAL_NAME"]
22224    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22225}
22226extern "C" {
22227    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_dup"]
22228    pub fn GENERAL_NAME_dup(gen: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
22229}
22230extern "C" {
22231    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAMES_new"]
22232    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
22233}
22234extern "C" {
22235    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAMES_free"]
22236    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
22237}
22238extern "C" {
22239    #[link_name = "\u{1}aws_lc_0_26_0_d2i_GENERAL_NAMES"]
22240    pub fn d2i_GENERAL_NAMES(
22241        out: *mut *mut GENERAL_NAMES,
22242        inp: *mut *const u8,
22243        len: ::std::os::raw::c_long,
22244    ) -> *mut GENERAL_NAMES;
22245}
22246extern "C" {
22247    #[link_name = "\u{1}aws_lc_0_26_0_i2d_GENERAL_NAMES"]
22248    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22249}
22250extern "C" {
22251    #[link_name = "\u{1}aws_lc_0_26_0_OTHERNAME_new"]
22252    pub fn OTHERNAME_new() -> *mut OTHERNAME;
22253}
22254extern "C" {
22255    #[link_name = "\u{1}aws_lc_0_26_0_OTHERNAME_free"]
22256    pub fn OTHERNAME_free(name: *mut OTHERNAME);
22257}
22258extern "C" {
22259    #[link_name = "\u{1}aws_lc_0_26_0_EDIPARTYNAME_new"]
22260    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
22261}
22262extern "C" {
22263    #[link_name = "\u{1}aws_lc_0_26_0_EDIPARTYNAME_free"]
22264    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
22265}
22266extern "C" {
22267    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_set0_value"]
22268    pub fn GENERAL_NAME_set0_value(
22269        gen: *mut GENERAL_NAME,
22270        type_: ::std::os::raw::c_int,
22271        value: *mut ::std::os::raw::c_void,
22272    );
22273}
22274extern "C" {
22275    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_get0_value"]
22276    pub fn GENERAL_NAME_get0_value(
22277        gen: *const GENERAL_NAME,
22278        out_type: *mut ::std::os::raw::c_int,
22279    ) -> *mut ::std::os::raw::c_void;
22280}
22281extern "C" {
22282    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_set0_othername"]
22283    pub fn GENERAL_NAME_set0_othername(
22284        gen: *mut GENERAL_NAME,
22285        oid: *mut ASN1_OBJECT,
22286        value: *mut ASN1_TYPE,
22287    ) -> ::std::os::raw::c_int;
22288}
22289extern "C" {
22290    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_get0_otherName"]
22291    pub fn GENERAL_NAME_get0_otherName(
22292        gen: *const GENERAL_NAME,
22293        out_oid: *mut *mut ASN1_OBJECT,
22294        out_value: *mut *mut ASN1_TYPE,
22295    ) -> ::std::os::raw::c_int;
22296}
22297#[repr(C)]
22298#[derive(Debug, Copy, Clone)]
22299pub struct stack_st_X509_ALGOR {
22300    _unused: [u8; 0],
22301}
22302pub type sk_X509_ALGOR_free_func =
22303    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
22304pub type sk_X509_ALGOR_copy_func =
22305    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
22306pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
22307    unsafe extern "C" fn(
22308        arg1: *const *const X509_ALGOR,
22309        arg2: *const *const X509_ALGOR,
22310    ) -> ::std::os::raw::c_int,
22311>;
22312pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
22313    unsafe extern "C" fn(
22314        arg1: *mut X509_ALGOR,
22315        arg2: *mut ::std::os::raw::c_void,
22316    ) -> ::std::os::raw::c_int,
22317>;
22318extern "C" {
22319    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_it"]
22320    pub static X509_ALGOR_it: ASN1_ITEM;
22321}
22322extern "C" {
22323    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_new"]
22324    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
22325}
22326extern "C" {
22327    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_dup"]
22328    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
22329}
22330extern "C" {
22331    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_free"]
22332    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
22333}
22334extern "C" {
22335    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_ALGOR"]
22336    pub fn d2i_X509_ALGOR(
22337        out: *mut *mut X509_ALGOR,
22338        inp: *mut *const u8,
22339        len: ::std::os::raw::c_long,
22340    ) -> *mut X509_ALGOR;
22341}
22342extern "C" {
22343    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_ALGOR"]
22344    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22345}
22346extern "C" {
22347    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_set0"]
22348    pub fn X509_ALGOR_set0(
22349        alg: *mut X509_ALGOR,
22350        obj: *mut ASN1_OBJECT,
22351        param_type: ::std::os::raw::c_int,
22352        param_value: *mut ::std::os::raw::c_void,
22353    ) -> ::std::os::raw::c_int;
22354}
22355extern "C" {
22356    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_get0"]
22357    pub fn X509_ALGOR_get0(
22358        out_obj: *mut *const ASN1_OBJECT,
22359        out_param_type: *mut ::std::os::raw::c_int,
22360        out_param_value: *mut *const ::std::os::raw::c_void,
22361        alg: *const X509_ALGOR,
22362    );
22363}
22364extern "C" {
22365    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_set_md"]
22366    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
22367}
22368extern "C" {
22369    #[link_name = "\u{1}aws_lc_0_26_0_X509_ALGOR_cmp"]
22370    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
22371}
22372#[repr(C)]
22373#[derive(Debug, Copy, Clone)]
22374pub struct stack_st_X509_ATTRIBUTE {
22375    _unused: [u8; 0],
22376}
22377pub type sk_X509_ATTRIBUTE_free_func =
22378    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
22379pub type sk_X509_ATTRIBUTE_copy_func =
22380    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
22381pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
22382    unsafe extern "C" fn(
22383        arg1: *const *const X509_ATTRIBUTE,
22384        arg2: *const *const X509_ATTRIBUTE,
22385    ) -> ::std::os::raw::c_int,
22386>;
22387pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
22388    unsafe extern "C" fn(
22389        arg1: *mut X509_ATTRIBUTE,
22390        arg2: *mut ::std::os::raw::c_void,
22391    ) -> ::std::os::raw::c_int,
22392>;
22393extern "C" {
22394    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_it"]
22395    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
22396}
22397extern "C" {
22398    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_new"]
22399    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
22400}
22401extern "C" {
22402    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_dup"]
22403    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
22404}
22405extern "C" {
22406    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_free"]
22407    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
22408}
22409extern "C" {
22410    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_ATTRIBUTE"]
22411    pub fn d2i_X509_ATTRIBUTE(
22412        out: *mut *mut X509_ATTRIBUTE,
22413        inp: *mut *const u8,
22414        len: ::std::os::raw::c_long,
22415    ) -> *mut X509_ATTRIBUTE;
22416}
22417extern "C" {
22418    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_ATTRIBUTE"]
22419    pub fn i2d_X509_ATTRIBUTE(
22420        alg: *const X509_ATTRIBUTE,
22421        outp: *mut *mut u8,
22422    ) -> ::std::os::raw::c_int;
22423}
22424extern "C" {
22425    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_create"]
22426    pub fn X509_ATTRIBUTE_create(
22427        nid: ::std::os::raw::c_int,
22428        attrtype: ::std::os::raw::c_int,
22429        value: *mut ::std::os::raw::c_void,
22430    ) -> *mut X509_ATTRIBUTE;
22431}
22432extern "C" {
22433    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_create_by_NID"]
22434    pub fn X509_ATTRIBUTE_create_by_NID(
22435        attr: *mut *mut X509_ATTRIBUTE,
22436        nid: ::std::os::raw::c_int,
22437        attrtype: ::std::os::raw::c_int,
22438        data: *const ::std::os::raw::c_void,
22439        len: ::std::os::raw::c_int,
22440    ) -> *mut X509_ATTRIBUTE;
22441}
22442extern "C" {
22443    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_create_by_OBJ"]
22444    pub fn X509_ATTRIBUTE_create_by_OBJ(
22445        attr: *mut *mut X509_ATTRIBUTE,
22446        obj: *const ASN1_OBJECT,
22447        attrtype: ::std::os::raw::c_int,
22448        data: *const ::std::os::raw::c_void,
22449        len: ::std::os::raw::c_int,
22450    ) -> *mut X509_ATTRIBUTE;
22451}
22452extern "C" {
22453    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_create_by_txt"]
22454    pub fn X509_ATTRIBUTE_create_by_txt(
22455        attr: *mut *mut X509_ATTRIBUTE,
22456        attrname: *const ::std::os::raw::c_char,
22457        type_: ::std::os::raw::c_int,
22458        bytes: *const ::std::os::raw::c_uchar,
22459        len: ::std::os::raw::c_int,
22460    ) -> *mut X509_ATTRIBUTE;
22461}
22462extern "C" {
22463    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_set1_object"]
22464    pub fn X509_ATTRIBUTE_set1_object(
22465        attr: *mut X509_ATTRIBUTE,
22466        obj: *const ASN1_OBJECT,
22467    ) -> ::std::os::raw::c_int;
22468}
22469extern "C" {
22470    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_set1_data"]
22471    pub fn X509_ATTRIBUTE_set1_data(
22472        attr: *mut X509_ATTRIBUTE,
22473        attrtype: ::std::os::raw::c_int,
22474        data: *const ::std::os::raw::c_void,
22475        len: ::std::os::raw::c_int,
22476    ) -> ::std::os::raw::c_int;
22477}
22478extern "C" {
22479    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_get0_data"]
22480    pub fn X509_ATTRIBUTE_get0_data(
22481        attr: *mut X509_ATTRIBUTE,
22482        idx: ::std::os::raw::c_int,
22483        attrtype: ::std::os::raw::c_int,
22484        unused: *mut ::std::os::raw::c_void,
22485    ) -> *mut ::std::os::raw::c_void;
22486}
22487extern "C" {
22488    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_count"]
22489    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
22490}
22491extern "C" {
22492    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_get0_object"]
22493    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
22494}
22495extern "C" {
22496    #[link_name = "\u{1}aws_lc_0_26_0_X509_ATTRIBUTE_get0_type"]
22497    pub fn X509_ATTRIBUTE_get0_type(
22498        attr: *mut X509_ATTRIBUTE,
22499        idx: ::std::os::raw::c_int,
22500    ) -> *mut ASN1_TYPE;
22501}
22502extern "C" {
22503    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_new"]
22504    pub fn X509_STORE_new() -> *mut X509_STORE;
22505}
22506extern "C" {
22507    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_up_ref"]
22508    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22509}
22510extern "C" {
22511    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_free"]
22512    pub fn X509_STORE_free(store: *mut X509_STORE);
22513}
22514extern "C" {
22515    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_add_cert"]
22516    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
22517}
22518extern "C" {
22519    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_add_crl"]
22520    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22521}
22522extern "C" {
22523    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_get0_param"]
22524    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
22525}
22526extern "C" {
22527    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set1_param"]
22528    pub fn X509_STORE_set1_param(
22529        store: *mut X509_STORE,
22530        param: *const X509_VERIFY_PARAM,
22531    ) -> ::std::os::raw::c_int;
22532}
22533extern "C" {
22534    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_flags"]
22535    pub fn X509_STORE_set_flags(
22536        store: *mut X509_STORE,
22537        flags: ::std::os::raw::c_ulong,
22538    ) -> ::std::os::raw::c_int;
22539}
22540extern "C" {
22541    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_depth"]
22542    pub fn X509_STORE_set_depth(
22543        store: *mut X509_STORE,
22544        depth: ::std::os::raw::c_int,
22545    ) -> ::std::os::raw::c_int;
22546}
22547extern "C" {
22548    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_purpose"]
22549    pub fn X509_STORE_set_purpose(
22550        store: *mut X509_STORE,
22551        purpose: ::std::os::raw::c_int,
22552    ) -> ::std::os::raw::c_int;
22553}
22554extern "C" {
22555    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_trust"]
22556    pub fn X509_STORE_set_trust(
22557        store: *mut X509_STORE,
22558        trust: ::std::os::raw::c_int,
22559    ) -> ::std::os::raw::c_int;
22560}
22561#[repr(C)]
22562#[derive(Debug, Copy, Clone)]
22563pub struct stack_st_X509_OBJECT {
22564    _unused: [u8; 0],
22565}
22566pub type sk_X509_OBJECT_free_func =
22567    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
22568pub type sk_X509_OBJECT_copy_func =
22569    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
22570pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
22571    unsafe extern "C" fn(
22572        arg1: *const *const X509_OBJECT,
22573        arg2: *const *const X509_OBJECT,
22574    ) -> ::std::os::raw::c_int,
22575>;
22576pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
22577    unsafe extern "C" fn(
22578        arg1: *mut X509_OBJECT,
22579        arg2: *mut ::std::os::raw::c_void,
22580    ) -> ::std::os::raw::c_int,
22581>;
22582extern "C" {
22583    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_new"]
22584    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
22585}
22586extern "C" {
22587    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_free"]
22588    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
22589}
22590extern "C" {
22591    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_get_type"]
22592    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
22593}
22594extern "C" {
22595    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_get0_X509"]
22596    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
22597}
22598extern "C" {
22599    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_new"]
22600    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
22601}
22602extern "C" {
22603    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_free"]
22604    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
22605}
22606extern "C" {
22607    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_init"]
22608    pub fn X509_STORE_CTX_init(
22609        ctx: *mut X509_STORE_CTX,
22610        store: *mut X509_STORE,
22611        x509: *mut X509,
22612        chain: *mut stack_st_X509,
22613    ) -> ::std::os::raw::c_int;
22614}
22615extern "C" {
22616    #[link_name = "\u{1}aws_lc_0_26_0_X509_verify_cert"]
22617    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22618}
22619extern "C" {
22620    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_chain"]
22621    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22622}
22623extern "C" {
22624    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get1_chain"]
22625    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22626}
22627extern "C" {
22628    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_cert"]
22629    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
22630}
22631extern "C" {
22632    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_error"]
22633    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22634}
22635extern "C" {
22636    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_error"]
22637    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
22638}
22639extern "C" {
22640    #[link_name = "\u{1}aws_lc_0_26_0_X509_verify_cert_error_string"]
22641    pub fn X509_verify_cert_error_string(
22642        err: ::std::os::raw::c_long,
22643    ) -> *const ::std::os::raw::c_char;
22644}
22645extern "C" {
22646    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_error_depth"]
22647    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22648}
22649extern "C" {
22650    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_current_cert"]
22651    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22652}
22653extern "C" {
22654    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_current_issuer"]
22655    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
22656}
22657extern "C" {
22658    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_current_crl"]
22659    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
22660}
22661extern "C" {
22662    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_store"]
22663    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
22664}
22665extern "C" {
22666    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_cert"]
22667    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22668}
22669extern "C" {
22670    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_untrusted"]
22671    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22672}
22673extern "C" {
22674    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set0_trusted_stack"]
22675    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22676}
22677extern "C" {
22678    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set0_crls"]
22679    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
22680}
22681extern "C" {
22682    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_default"]
22683    pub fn X509_STORE_CTX_set_default(
22684        ctx: *mut X509_STORE_CTX,
22685        name: *const ::std::os::raw::c_char,
22686    ) -> ::std::os::raw::c_int;
22687}
22688extern "C" {
22689    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_param"]
22690    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
22691}
22692extern "C" {
22693    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set0_param"]
22694    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
22695}
22696extern "C" {
22697    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_flags"]
22698    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
22699}
22700extern "C" {
22701    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_time"]
22702    pub fn X509_STORE_CTX_set_time(
22703        ctx: *mut X509_STORE_CTX,
22704        flags: ::std::os::raw::c_ulong,
22705        t: time_t,
22706    );
22707}
22708extern "C" {
22709    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_time_posix"]
22710    pub fn X509_STORE_CTX_set_time_posix(
22711        ctx: *mut X509_STORE_CTX,
22712        flags: ::std::os::raw::c_ulong,
22713        t: i64,
22714    );
22715}
22716extern "C" {
22717    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_depth"]
22718    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
22719}
22720extern "C" {
22721    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_purpose"]
22722    pub fn X509_STORE_CTX_set_purpose(
22723        ctx: *mut X509_STORE_CTX,
22724        purpose: ::std::os::raw::c_int,
22725    ) -> ::std::os::raw::c_int;
22726}
22727extern "C" {
22728    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_trust"]
22729    pub fn X509_STORE_CTX_set_trust(
22730        ctx: *mut X509_STORE_CTX,
22731        trust: ::std::os::raw::c_int,
22732    ) -> ::std::os::raw::c_int;
22733}
22734extern "C" {
22735    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_new"]
22736    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
22737}
22738extern "C" {
22739    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_free"]
22740    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
22741}
22742extern "C" {
22743    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_inherit"]
22744    pub fn X509_VERIFY_PARAM_inherit(
22745        to: *mut X509_VERIFY_PARAM,
22746        from: *const X509_VERIFY_PARAM,
22747    ) -> ::std::os::raw::c_int;
22748}
22749extern "C" {
22750    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1"]
22751    pub fn X509_VERIFY_PARAM_set1(
22752        to: *mut X509_VERIFY_PARAM,
22753        from: *const X509_VERIFY_PARAM,
22754    ) -> ::std::os::raw::c_int;
22755}
22756extern "C" {
22757    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_flags"]
22758    pub fn X509_VERIFY_PARAM_set_flags(
22759        param: *mut X509_VERIFY_PARAM,
22760        flags: ::std::os::raw::c_ulong,
22761    ) -> ::std::os::raw::c_int;
22762}
22763extern "C" {
22764    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_clear_flags"]
22765    pub fn X509_VERIFY_PARAM_clear_flags(
22766        param: *mut X509_VERIFY_PARAM,
22767        flags: ::std::os::raw::c_ulong,
22768    ) -> ::std::os::raw::c_int;
22769}
22770extern "C" {
22771    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_get_flags"]
22772    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
22773}
22774extern "C" {
22775    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_depth"]
22776    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
22777}
22778extern "C" {
22779    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_get_depth"]
22780    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
22781}
22782extern "C" {
22783    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_time"]
22784    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
22785}
22786extern "C" {
22787    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_time_posix"]
22788    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
22789}
22790extern "C" {
22791    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_add0_policy"]
22792    pub fn X509_VERIFY_PARAM_add0_policy(
22793        param: *mut X509_VERIFY_PARAM,
22794        policy: *mut ASN1_OBJECT,
22795    ) -> ::std::os::raw::c_int;
22796}
22797extern "C" {
22798    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1_policies"]
22799    pub fn X509_VERIFY_PARAM_set1_policies(
22800        param: *mut X509_VERIFY_PARAM,
22801        policies: *const stack_st_ASN1_OBJECT,
22802    ) -> ::std::os::raw::c_int;
22803}
22804extern "C" {
22805    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1_host"]
22806    pub fn X509_VERIFY_PARAM_set1_host(
22807        param: *mut X509_VERIFY_PARAM,
22808        name: *const ::std::os::raw::c_char,
22809        name_len: usize,
22810    ) -> ::std::os::raw::c_int;
22811}
22812extern "C" {
22813    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_add1_host"]
22814    pub fn X509_VERIFY_PARAM_add1_host(
22815        param: *mut X509_VERIFY_PARAM,
22816        name: *const ::std::os::raw::c_char,
22817        name_len: usize,
22818    ) -> ::std::os::raw::c_int;
22819}
22820extern "C" {
22821    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_hostflags"]
22822    pub fn X509_VERIFY_PARAM_set_hostflags(
22823        param: *mut X509_VERIFY_PARAM,
22824        flags: ::std::os::raw::c_uint,
22825    );
22826}
22827extern "C" {
22828    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1_email"]
22829    pub fn X509_VERIFY_PARAM_set1_email(
22830        param: *mut X509_VERIFY_PARAM,
22831        email: *const ::std::os::raw::c_char,
22832        email_len: usize,
22833    ) -> ::std::os::raw::c_int;
22834}
22835extern "C" {
22836    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1_ip"]
22837    pub fn X509_VERIFY_PARAM_set1_ip(
22838        param: *mut X509_VERIFY_PARAM,
22839        ip: *const u8,
22840        ip_len: usize,
22841    ) -> ::std::os::raw::c_int;
22842}
22843extern "C" {
22844    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set1_ip_asc"]
22845    pub fn X509_VERIFY_PARAM_set1_ip_asc(
22846        param: *mut X509_VERIFY_PARAM,
22847        ipasc: *const ::std::os::raw::c_char,
22848    ) -> ::std::os::raw::c_int;
22849}
22850extern "C" {
22851    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_purpose"]
22852    pub fn X509_VERIFY_PARAM_set_purpose(
22853        param: *mut X509_VERIFY_PARAM,
22854        purpose: ::std::os::raw::c_int,
22855    ) -> ::std::os::raw::c_int;
22856}
22857extern "C" {
22858    #[link_name = "\u{1}aws_lc_0_26_0_X509_VERIFY_PARAM_set_trust"]
22859    pub fn X509_VERIFY_PARAM_set_trust(
22860        param: *mut X509_VERIFY_PARAM,
22861        trust: ::std::os::raw::c_int,
22862    ) -> ::std::os::raw::c_int;
22863}
22864extern "C" {
22865    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_load_locations"]
22866    pub fn X509_STORE_load_locations(
22867        store: *mut X509_STORE,
22868        file: *const ::std::os::raw::c_char,
22869        dir: *const ::std::os::raw::c_char,
22870    ) -> ::std::os::raw::c_int;
22871}
22872extern "C" {
22873    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_add_lookup"]
22874    pub fn X509_STORE_add_lookup(
22875        store: *mut X509_STORE,
22876        method: *const X509_LOOKUP_METHOD,
22877    ) -> *mut X509_LOOKUP;
22878}
22879extern "C" {
22880    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_hash_dir"]
22881    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
22882}
22883extern "C" {
22884    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_file"]
22885    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
22886}
22887extern "C" {
22888    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_load_file"]
22889    pub fn X509_LOOKUP_load_file(
22890        lookup: *mut X509_LOOKUP,
22891        file: *const ::std::os::raw::c_char,
22892        type_: ::std::os::raw::c_int,
22893    ) -> ::std::os::raw::c_int;
22894}
22895extern "C" {
22896    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_add_dir"]
22897    pub fn X509_LOOKUP_add_dir(
22898        lookup: *mut X509_LOOKUP,
22899        path: *const ::std::os::raw::c_char,
22900        type_: ::std::os::raw::c_int,
22901    ) -> ::std::os::raw::c_int;
22902}
22903extern "C" {
22904    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_ctrl"]
22905    pub fn X509_LOOKUP_ctrl(
22906        lookup: *mut X509_LOOKUP,
22907        cmd: ::std::os::raw::c_int,
22908        argc: *const ::std::os::raw::c_char,
22909        argl: ::std::os::raw::c_long,
22910        ret: *mut *mut ::std::os::raw::c_char,
22911    ) -> ::std::os::raw::c_int;
22912}
22913extern "C" {
22914    #[link_name = "\u{1}aws_lc_0_26_0_X509_load_cert_file"]
22915    pub fn X509_load_cert_file(
22916        lookup: *mut X509_LOOKUP,
22917        file: *const ::std::os::raw::c_char,
22918        type_: ::std::os::raw::c_int,
22919    ) -> ::std::os::raw::c_int;
22920}
22921extern "C" {
22922    #[link_name = "\u{1}aws_lc_0_26_0_X509_load_crl_file"]
22923    pub fn X509_load_crl_file(
22924        lookup: *mut X509_LOOKUP,
22925        file: *const ::std::os::raw::c_char,
22926        type_: ::std::os::raw::c_int,
22927    ) -> ::std::os::raw::c_int;
22928}
22929extern "C" {
22930    #[link_name = "\u{1}aws_lc_0_26_0_X509_load_cert_crl_file"]
22931    pub fn X509_load_cert_crl_file(
22932        lookup: *mut X509_LOOKUP,
22933        file: *const ::std::os::raw::c_char,
22934        type_: ::std::os::raw::c_int,
22935    ) -> ::std::os::raw::c_int;
22936}
22937extern "C" {
22938    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_hash"]
22939    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
22940}
22941extern "C" {
22942    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_hash_old"]
22943    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
22944}
22945extern "C" {
22946    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_default_paths"]
22947    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22948}
22949extern "C" {
22950    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_cert_area"]
22951    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
22952}
22953extern "C" {
22954    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_cert_dir"]
22955    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
22956}
22957extern "C" {
22958    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_cert_file"]
22959    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
22960}
22961extern "C" {
22962    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_private_dir"]
22963    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
22964}
22965extern "C" {
22966    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_cert_dir_env"]
22967    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
22968}
22969extern "C" {
22970    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_default_cert_file_env"]
22971    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
22972}
22973#[repr(C)]
22974#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22975pub struct Netscape_spki_st {
22976    pub spkac: *mut NETSCAPE_SPKAC,
22977    pub sig_algor: *mut X509_ALGOR,
22978    pub signature: *mut ASN1_BIT_STRING,
22979}
22980#[test]
22981fn bindgen_test_layout_Netscape_spki_st() {
22982    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
22983    let ptr = UNINIT.as_ptr();
22984    assert_eq!(
22985        ::std::mem::size_of::<Netscape_spki_st>(),
22986        12usize,
22987        concat!("Size of: ", stringify!(Netscape_spki_st))
22988    );
22989    assert_eq!(
22990        ::std::mem::align_of::<Netscape_spki_st>(),
22991        4usize,
22992        concat!("Alignment of ", stringify!(Netscape_spki_st))
22993    );
22994    assert_eq!(
22995        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
22996        0usize,
22997        concat!(
22998            "Offset of field: ",
22999            stringify!(Netscape_spki_st),
23000            "::",
23001            stringify!(spkac)
23002        )
23003    );
23004    assert_eq!(
23005        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
23006        4usize,
23007        concat!(
23008            "Offset of field: ",
23009            stringify!(Netscape_spki_st),
23010            "::",
23011            stringify!(sig_algor)
23012        )
23013    );
23014    assert_eq!(
23015        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
23016        8usize,
23017        concat!(
23018            "Offset of field: ",
23019            stringify!(Netscape_spki_st),
23020            "::",
23021            stringify!(signature)
23022        )
23023    );
23024}
23025impl Default for Netscape_spki_st {
23026    fn default() -> Self {
23027        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23028        unsafe {
23029            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23030            s.assume_init()
23031        }
23032    }
23033}
23034extern "C" {
23035    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_it"]
23036    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
23037}
23038extern "C" {
23039    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_new"]
23040    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
23041}
23042extern "C" {
23043    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_free"]
23044    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
23045}
23046extern "C" {
23047    #[link_name = "\u{1}aws_lc_0_26_0_d2i_NETSCAPE_SPKI"]
23048    pub fn d2i_NETSCAPE_SPKI(
23049        out: *mut *mut NETSCAPE_SPKI,
23050        inp: *mut *const u8,
23051        len: ::std::os::raw::c_long,
23052    ) -> *mut NETSCAPE_SPKI;
23053}
23054extern "C" {
23055    #[link_name = "\u{1}aws_lc_0_26_0_i2d_NETSCAPE_SPKI"]
23056    pub fn i2d_NETSCAPE_SPKI(
23057        spki: *const NETSCAPE_SPKI,
23058        outp: *mut *mut u8,
23059    ) -> ::std::os::raw::c_int;
23060}
23061extern "C" {
23062    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_verify"]
23063    pub fn NETSCAPE_SPKI_verify(
23064        spki: *mut NETSCAPE_SPKI,
23065        pkey: *mut EVP_PKEY,
23066    ) -> ::std::os::raw::c_int;
23067}
23068extern "C" {
23069    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_b64_decode"]
23070    pub fn NETSCAPE_SPKI_b64_decode(
23071        str_: *const ::std::os::raw::c_char,
23072        len: ossl_ssize_t,
23073    ) -> *mut NETSCAPE_SPKI;
23074}
23075extern "C" {
23076    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_b64_encode"]
23077    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
23078}
23079extern "C" {
23080    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_get_pubkey"]
23081    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
23082}
23083extern "C" {
23084    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_set_pubkey"]
23085    pub fn NETSCAPE_SPKI_set_pubkey(
23086        spki: *mut NETSCAPE_SPKI,
23087        pkey: *mut EVP_PKEY,
23088    ) -> ::std::os::raw::c_int;
23089}
23090extern "C" {
23091    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_sign"]
23092    pub fn NETSCAPE_SPKI_sign(
23093        spki: *mut NETSCAPE_SPKI,
23094        pkey: *mut EVP_PKEY,
23095        md: *const EVP_MD,
23096    ) -> ::std::os::raw::c_int;
23097}
23098#[repr(C)]
23099#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23100pub struct Netscape_spkac_st {
23101    pub pubkey: *mut X509_PUBKEY,
23102    pub challenge: *mut ASN1_IA5STRING,
23103}
23104#[test]
23105fn bindgen_test_layout_Netscape_spkac_st() {
23106    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
23107    let ptr = UNINIT.as_ptr();
23108    assert_eq!(
23109        ::std::mem::size_of::<Netscape_spkac_st>(),
23110        8usize,
23111        concat!("Size of: ", stringify!(Netscape_spkac_st))
23112    );
23113    assert_eq!(
23114        ::std::mem::align_of::<Netscape_spkac_st>(),
23115        4usize,
23116        concat!("Alignment of ", stringify!(Netscape_spkac_st))
23117    );
23118    assert_eq!(
23119        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
23120        0usize,
23121        concat!(
23122            "Offset of field: ",
23123            stringify!(Netscape_spkac_st),
23124            "::",
23125            stringify!(pubkey)
23126        )
23127    );
23128    assert_eq!(
23129        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
23130        4usize,
23131        concat!(
23132            "Offset of field: ",
23133            stringify!(Netscape_spkac_st),
23134            "::",
23135            stringify!(challenge)
23136        )
23137    );
23138}
23139impl Default for Netscape_spkac_st {
23140    fn default() -> Self {
23141        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23142        unsafe {
23143            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23144            s.assume_init()
23145        }
23146    }
23147}
23148extern "C" {
23149    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKAC_it"]
23150    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
23151}
23152extern "C" {
23153    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKAC_new"]
23154    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
23155}
23156extern "C" {
23157    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKAC_free"]
23158    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
23159}
23160extern "C" {
23161    #[link_name = "\u{1}aws_lc_0_26_0_d2i_NETSCAPE_SPKAC"]
23162    pub fn d2i_NETSCAPE_SPKAC(
23163        out: *mut *mut NETSCAPE_SPKAC,
23164        inp: *mut *const u8,
23165        len: ::std::os::raw::c_long,
23166    ) -> *mut NETSCAPE_SPKAC;
23167}
23168extern "C" {
23169    #[link_name = "\u{1}aws_lc_0_26_0_i2d_NETSCAPE_SPKAC"]
23170    pub fn i2d_NETSCAPE_SPKAC(
23171        spkac: *const NETSCAPE_SPKAC,
23172        outp: *mut *mut u8,
23173    ) -> ::std::os::raw::c_int;
23174}
23175extern "C" {
23176    #[link_name = "\u{1}aws_lc_0_26_0_NETSCAPE_SPKI_print"]
23177    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
23178}
23179#[repr(C)]
23180#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23181pub struct rsa_pss_params_st {
23182    pub hashAlgorithm: *mut X509_ALGOR,
23183    pub maskGenAlgorithm: *mut X509_ALGOR,
23184    pub saltLength: *mut ASN1_INTEGER,
23185    pub trailerField: *mut ASN1_INTEGER,
23186    pub maskHash: *mut X509_ALGOR,
23187}
23188#[test]
23189fn bindgen_test_layout_rsa_pss_params_st() {
23190    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
23191    let ptr = UNINIT.as_ptr();
23192    assert_eq!(
23193        ::std::mem::size_of::<rsa_pss_params_st>(),
23194        20usize,
23195        concat!("Size of: ", stringify!(rsa_pss_params_st))
23196    );
23197    assert_eq!(
23198        ::std::mem::align_of::<rsa_pss_params_st>(),
23199        4usize,
23200        concat!("Alignment of ", stringify!(rsa_pss_params_st))
23201    );
23202    assert_eq!(
23203        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
23204        0usize,
23205        concat!(
23206            "Offset of field: ",
23207            stringify!(rsa_pss_params_st),
23208            "::",
23209            stringify!(hashAlgorithm)
23210        )
23211    );
23212    assert_eq!(
23213        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
23214        4usize,
23215        concat!(
23216            "Offset of field: ",
23217            stringify!(rsa_pss_params_st),
23218            "::",
23219            stringify!(maskGenAlgorithm)
23220        )
23221    );
23222    assert_eq!(
23223        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
23224        8usize,
23225        concat!(
23226            "Offset of field: ",
23227            stringify!(rsa_pss_params_st),
23228            "::",
23229            stringify!(saltLength)
23230        )
23231    );
23232    assert_eq!(
23233        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
23234        12usize,
23235        concat!(
23236            "Offset of field: ",
23237            stringify!(rsa_pss_params_st),
23238            "::",
23239            stringify!(trailerField)
23240        )
23241    );
23242    assert_eq!(
23243        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
23244        16usize,
23245        concat!(
23246            "Offset of field: ",
23247            stringify!(rsa_pss_params_st),
23248            "::",
23249            stringify!(maskHash)
23250        )
23251    );
23252}
23253impl Default for rsa_pss_params_st {
23254    fn default() -> Self {
23255        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23256        unsafe {
23257            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23258            s.assume_init()
23259        }
23260    }
23261}
23262extern "C" {
23263    #[link_name = "\u{1}aws_lc_0_26_0_RSA_PSS_PARAMS_it"]
23264    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
23265}
23266extern "C" {
23267    #[link_name = "\u{1}aws_lc_0_26_0_RSA_PSS_PARAMS_new"]
23268    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
23269}
23270extern "C" {
23271    #[link_name = "\u{1}aws_lc_0_26_0_RSA_PSS_PARAMS_free"]
23272    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
23273}
23274extern "C" {
23275    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSA_PSS_PARAMS"]
23276    pub fn d2i_RSA_PSS_PARAMS(
23277        out: *mut *mut RSA_PSS_PARAMS,
23278        inp: *mut *const u8,
23279        len: ::std::os::raw::c_long,
23280    ) -> *mut RSA_PSS_PARAMS;
23281}
23282extern "C" {
23283    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSA_PSS_PARAMS"]
23284    pub fn i2d_RSA_PSS_PARAMS(
23285        in_: *const RSA_PSS_PARAMS,
23286        outp: *mut *mut u8,
23287    ) -> ::std::os::raw::c_int;
23288}
23289extern "C" {
23290    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_PRIV_KEY_INFO_it"]
23291    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
23292}
23293extern "C" {
23294    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_PRIV_KEY_INFO_new"]
23295    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
23296}
23297extern "C" {
23298    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_PRIV_KEY_INFO_free"]
23299    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
23300}
23301extern "C" {
23302    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8_PRIV_KEY_INFO"]
23303    pub fn d2i_PKCS8_PRIV_KEY_INFO(
23304        out: *mut *mut PKCS8_PRIV_KEY_INFO,
23305        inp: *mut *const u8,
23306        len: ::std::os::raw::c_long,
23307    ) -> *mut PKCS8_PRIV_KEY_INFO;
23308}
23309extern "C" {
23310    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8_PRIV_KEY_INFO"]
23311    pub fn i2d_PKCS8_PRIV_KEY_INFO(
23312        key: *const PKCS8_PRIV_KEY_INFO,
23313        outp: *mut *mut u8,
23314    ) -> ::std::os::raw::c_int;
23315}
23316extern "C" {
23317    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKCS82PKEY"]
23318    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
23319}
23320extern "C" {
23321    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY2PKCS8"]
23322    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
23323}
23324extern "C" {
23325    #[link_name = "\u{1}aws_lc_0_26_0_X509_SIG_it"]
23326    pub static X509_SIG_it: ASN1_ITEM;
23327}
23328extern "C" {
23329    #[link_name = "\u{1}aws_lc_0_26_0_X509_SIG_new"]
23330    pub fn X509_SIG_new() -> *mut X509_SIG;
23331}
23332extern "C" {
23333    #[link_name = "\u{1}aws_lc_0_26_0_X509_SIG_free"]
23334    pub fn X509_SIG_free(key: *mut X509_SIG);
23335}
23336extern "C" {
23337    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_SIG"]
23338    pub fn d2i_X509_SIG(
23339        out: *mut *mut X509_SIG,
23340        inp: *mut *const u8,
23341        len: ::std::os::raw::c_long,
23342    ) -> *mut X509_SIG;
23343}
23344extern "C" {
23345    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_SIG"]
23346    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
23347}
23348extern "C" {
23349    #[link_name = "\u{1}aws_lc_0_26_0_X509_SIG_get0"]
23350    pub fn X509_SIG_get0(
23351        sig: *const X509_SIG,
23352        out_alg: *mut *const X509_ALGOR,
23353        out_digest: *mut *const ASN1_OCTET_STRING,
23354    );
23355}
23356extern "C" {
23357    #[link_name = "\u{1}aws_lc_0_26_0_X509_SIG_getm"]
23358    pub fn X509_SIG_getm(
23359        sig: *mut X509_SIG,
23360        out_alg: *mut *mut X509_ALGOR,
23361        out_digest: *mut *mut ASN1_OCTET_STRING,
23362    );
23363}
23364extern "C" {
23365    #[link_name = "\u{1}aws_lc_0_26_0_X509_print_ex"]
23366    pub fn X509_print_ex(
23367        bp: *mut BIO,
23368        x: *mut X509,
23369        nmflag: ::std::os::raw::c_ulong,
23370        cflag: ::std::os::raw::c_ulong,
23371    ) -> ::std::os::raw::c_int;
23372}
23373extern "C" {
23374    #[link_name = "\u{1}aws_lc_0_26_0_X509_print_ex_fp"]
23375    pub fn X509_print_ex_fp(
23376        fp: *mut FILE,
23377        x: *mut X509,
23378        nmflag: ::std::os::raw::c_ulong,
23379        cflag: ::std::os::raw::c_ulong,
23380    ) -> ::std::os::raw::c_int;
23381}
23382extern "C" {
23383    #[link_name = "\u{1}aws_lc_0_26_0_X509_print"]
23384    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
23385}
23386extern "C" {
23387    #[link_name = "\u{1}aws_lc_0_26_0_X509_print_fp"]
23388    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
23389}
23390extern "C" {
23391    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_print"]
23392    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23393}
23394extern "C" {
23395    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_print_fp"]
23396    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23397}
23398extern "C" {
23399    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_print_ex"]
23400    pub fn X509_REQ_print_ex(
23401        bp: *mut BIO,
23402        x: *mut X509_REQ,
23403        nmflag: ::std::os::raw::c_ulong,
23404        cflag: ::std::os::raw::c_ulong,
23405    ) -> ::std::os::raw::c_int;
23406}
23407extern "C" {
23408    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_print"]
23409    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23410}
23411extern "C" {
23412    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_print_fp"]
23413    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23414}
23415extern "C" {
23416    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_print_ex"]
23417    pub fn X509_NAME_print_ex(
23418        out: *mut BIO,
23419        nm: *const X509_NAME,
23420        indent: ::std::os::raw::c_int,
23421        flags: ::std::os::raw::c_ulong,
23422    ) -> ::std::os::raw::c_int;
23423}
23424extern "C" {
23425    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_print"]
23426    pub fn X509_NAME_print(
23427        bp: *mut BIO,
23428        name: *const X509_NAME,
23429        obase: ::std::os::raw::c_int,
23430    ) -> ::std::os::raw::c_int;
23431}
23432extern "C" {
23433    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_oneline"]
23434    pub fn X509_NAME_oneline(
23435        name: *const X509_NAME,
23436        buf: *mut ::std::os::raw::c_char,
23437        size: ::std::os::raw::c_int,
23438    ) -> *mut ::std::os::raw::c_char;
23439}
23440extern "C" {
23441    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_print_ex_fp"]
23442    pub fn X509_NAME_print_ex_fp(
23443        fp: *mut FILE,
23444        nm: *const X509_NAME,
23445        indent: ::std::os::raw::c_int,
23446        flags: ::std::os::raw::c_ulong,
23447    ) -> ::std::os::raw::c_int;
23448}
23449extern "C" {
23450    #[link_name = "\u{1}aws_lc_0_26_0_X509_signature_dump"]
23451    pub fn X509_signature_dump(
23452        bio: *mut BIO,
23453        sig: *const ASN1_STRING,
23454        indent: ::std::os::raw::c_int,
23455    ) -> ::std::os::raw::c_int;
23456}
23457extern "C" {
23458    #[link_name = "\u{1}aws_lc_0_26_0_X509_signature_print"]
23459    pub fn X509_signature_print(
23460        bio: *mut BIO,
23461        alg: *const X509_ALGOR,
23462        sig: *const ASN1_STRING,
23463    ) -> ::std::os::raw::c_int;
23464}
23465extern "C" {
23466    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_print"]
23467    pub fn X509V3_EXT_print(
23468        out: *mut BIO,
23469        ext: *const X509_EXTENSION,
23470        flag: ::std::os::raw::c_ulong,
23471        indent: ::std::os::raw::c_int,
23472    ) -> ::std::os::raw::c_int;
23473}
23474extern "C" {
23475    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_print_fp"]
23476    pub fn X509V3_EXT_print_fp(
23477        out: *mut FILE,
23478        ext: *const X509_EXTENSION,
23479        flag: ::std::os::raw::c_int,
23480        indent: ::std::os::raw::c_int,
23481    ) -> ::std::os::raw::c_int;
23482}
23483extern "C" {
23484    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_extensions_print"]
23485    pub fn X509V3_extensions_print(
23486        out: *mut BIO,
23487        title: *const ::std::os::raw::c_char,
23488        exts: *const stack_st_X509_EXTENSION,
23489        flag: ::std::os::raw::c_ulong,
23490        indent: ::std::os::raw::c_int,
23491    ) -> ::std::os::raw::c_int;
23492}
23493extern "C" {
23494    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_NAME_print"]
23495    pub fn GENERAL_NAME_print(out: *mut BIO, gen: *const GENERAL_NAME) -> ::std::os::raw::c_int;
23496}
23497extern "C" {
23498    #[link_name = "\u{1}aws_lc_0_26_0_X509_pubkey_digest"]
23499    pub fn X509_pubkey_digest(
23500        x509: *const X509,
23501        md: *const EVP_MD,
23502        out: *mut u8,
23503        out_len: *mut ::std::os::raw::c_uint,
23504    ) -> ::std::os::raw::c_int;
23505}
23506extern "C" {
23507    #[link_name = "\u{1}aws_lc_0_26_0_X509_digest"]
23508    pub fn X509_digest(
23509        x509: *const X509,
23510        md: *const EVP_MD,
23511        out: *mut u8,
23512        out_len: *mut ::std::os::raw::c_uint,
23513    ) -> ::std::os::raw::c_int;
23514}
23515extern "C" {
23516    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_digest"]
23517    pub fn X509_CRL_digest(
23518        crl: *const X509_CRL,
23519        md: *const EVP_MD,
23520        out: *mut u8,
23521        out_len: *mut ::std::os::raw::c_uint,
23522    ) -> ::std::os::raw::c_int;
23523}
23524extern "C" {
23525    #[link_name = "\u{1}aws_lc_0_26_0_X509_REQ_digest"]
23526    pub fn X509_REQ_digest(
23527        req: *const X509_REQ,
23528        md: *const EVP_MD,
23529        out: *mut u8,
23530        out_len: *mut ::std::os::raw::c_uint,
23531    ) -> ::std::os::raw::c_int;
23532}
23533extern "C" {
23534    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_digest"]
23535    pub fn X509_NAME_digest(
23536        name: *const X509_NAME,
23537        md: *const EVP_MD,
23538        out: *mut u8,
23539        out_len: *mut ::std::os::raw::c_uint,
23540    ) -> ::std::os::raw::c_int;
23541}
23542extern "C" {
23543    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_bio"]
23544    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
23545}
23546extern "C" {
23547    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_CRL_bio"]
23548    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23549}
23550extern "C" {
23551    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_REQ_bio"]
23552    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23553}
23554extern "C" {
23555    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPrivateKey_bio"]
23556    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23557}
23558extern "C" {
23559    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPublicKey_bio"]
23560    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23561}
23562extern "C" {
23563    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSA_PUBKEY_bio"]
23564    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23565}
23566extern "C" {
23567    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSA_PUBKEY_bio"]
23568    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23569}
23570extern "C" {
23571    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSAPrivateKey_bio"]
23572    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23573}
23574extern "C" {
23575    #[link_name = "\u{1}aws_lc_0_26_0_d2i_EC_PUBKEY_bio"]
23576    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23577}
23578extern "C" {
23579    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECPrivateKey_bio"]
23580    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23581}
23582extern "C" {
23583    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8_bio"]
23584    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23585}
23586extern "C" {
23587    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
23588    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
23589        bp: *mut BIO,
23590        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23591    ) -> *mut PKCS8_PRIV_KEY_INFO;
23592}
23593extern "C" {
23594    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PUBKEY_bio"]
23595    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23596}
23597extern "C" {
23598    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DHparams_bio"]
23599    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
23600}
23601extern "C" {
23602    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PrivateKey_bio"]
23603    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23604}
23605extern "C" {
23606    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_bio"]
23607    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
23608}
23609extern "C" {
23610    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_CRL_bio"]
23611    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23612}
23613extern "C" {
23614    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_REQ_bio"]
23615    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23616}
23617extern "C" {
23618    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPrivateKey_bio"]
23619    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23620}
23621extern "C" {
23622    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPublicKey_bio"]
23623    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23624}
23625extern "C" {
23626    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSA_PUBKEY_bio"]
23627    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23628}
23629extern "C" {
23630    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSA_PUBKEY_bio"]
23631    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23632}
23633extern "C" {
23634    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSAPrivateKey_bio"]
23635    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23636}
23637extern "C" {
23638    #[link_name = "\u{1}aws_lc_0_26_0_i2d_EC_PUBKEY_bio"]
23639    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23640}
23641extern "C" {
23642    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECPrivateKey_bio"]
23643    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23644}
23645extern "C" {
23646    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8_bio"]
23647    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23648}
23649extern "C" {
23650    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
23651    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
23652        bp: *mut BIO,
23653        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23654    ) -> ::std::os::raw::c_int;
23655}
23656extern "C" {
23657    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PrivateKey_bio"]
23658    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23659}
23660extern "C" {
23661    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PUBKEY_bio"]
23662    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23663}
23664extern "C" {
23665    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DHparams_bio"]
23666    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
23667}
23668extern "C" {
23669    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKeyInfo_bio"]
23670    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23671}
23672extern "C" {
23673    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_fp"]
23674    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
23675}
23676extern "C" {
23677    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_CRL_fp"]
23678    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23679}
23680extern "C" {
23681    #[link_name = "\u{1}aws_lc_0_26_0_d2i_X509_REQ_fp"]
23682    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23683}
23684extern "C" {
23685    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPrivateKey_fp"]
23686    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23687}
23688extern "C" {
23689    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSAPublicKey_fp"]
23690    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23691}
23692extern "C" {
23693    #[link_name = "\u{1}aws_lc_0_26_0_d2i_RSA_PUBKEY_fp"]
23694    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23695}
23696extern "C" {
23697    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSA_PUBKEY_fp"]
23698    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23699}
23700extern "C" {
23701    #[link_name = "\u{1}aws_lc_0_26_0_d2i_DSAPrivateKey_fp"]
23702    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23703}
23704extern "C" {
23705    #[link_name = "\u{1}aws_lc_0_26_0_d2i_EC_PUBKEY_fp"]
23706    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23707}
23708extern "C" {
23709    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ECPrivateKey_fp"]
23710    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23711}
23712extern "C" {
23713    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8_fp"]
23714    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23715}
23716extern "C" {
23717    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
23718    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
23719        fp: *mut FILE,
23720        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23721    ) -> *mut PKCS8_PRIV_KEY_INFO;
23722}
23723extern "C" {
23724    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PrivateKey_fp"]
23725    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23726}
23727extern "C" {
23728    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PUBKEY_fp"]
23729    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23730}
23731extern "C" {
23732    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_fp"]
23733    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
23734}
23735extern "C" {
23736    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_CRL_fp"]
23737    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23738}
23739extern "C" {
23740    #[link_name = "\u{1}aws_lc_0_26_0_i2d_X509_REQ_fp"]
23741    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23742}
23743extern "C" {
23744    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPrivateKey_fp"]
23745    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23746}
23747extern "C" {
23748    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSAPublicKey_fp"]
23749    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23750}
23751extern "C" {
23752    #[link_name = "\u{1}aws_lc_0_26_0_i2d_RSA_PUBKEY_fp"]
23753    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23754}
23755extern "C" {
23756    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSA_PUBKEY_fp"]
23757    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23758}
23759extern "C" {
23760    #[link_name = "\u{1}aws_lc_0_26_0_i2d_DSAPrivateKey_fp"]
23761    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23762}
23763extern "C" {
23764    #[link_name = "\u{1}aws_lc_0_26_0_i2d_EC_PUBKEY_fp"]
23765    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23766}
23767extern "C" {
23768    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ECPrivateKey_fp"]
23769    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23770}
23771extern "C" {
23772    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8_fp"]
23773    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23774}
23775extern "C" {
23776    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
23777    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
23778        fp: *mut FILE,
23779        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23780    ) -> ::std::os::raw::c_int;
23781}
23782extern "C" {
23783    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKeyInfo_fp"]
23784    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23785}
23786extern "C" {
23787    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PrivateKey_fp"]
23788    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23789}
23790extern "C" {
23791    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PUBKEY_fp"]
23792    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23793}
23794extern "C" {
23795    #[link_name = "\u{1}aws_lc_0_26_0_X509_find_by_issuer_and_serial"]
23796    pub fn X509_find_by_issuer_and_serial(
23797        sk: *const stack_st_X509,
23798        name: *mut X509_NAME,
23799        serial: *const ASN1_INTEGER,
23800    ) -> *mut X509;
23801}
23802extern "C" {
23803    #[link_name = "\u{1}aws_lc_0_26_0_X509_find_by_subject"]
23804    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
23805}
23806extern "C" {
23807    #[link_name = "\u{1}aws_lc_0_26_0_X509_cmp_time"]
23808    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
23809}
23810extern "C" {
23811    #[link_name = "\u{1}aws_lc_0_26_0_X509_cmp_time_posix"]
23812    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
23813}
23814extern "C" {
23815    #[link_name = "\u{1}aws_lc_0_26_0_X509_cmp_current_time"]
23816    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
23817}
23818extern "C" {
23819    #[link_name = "\u{1}aws_lc_0_26_0_X509_time_adj"]
23820    pub fn X509_time_adj(
23821        s: *mut ASN1_TIME,
23822        offset_sec: ::std::os::raw::c_long,
23823        t: *const time_t,
23824    ) -> *mut ASN1_TIME;
23825}
23826extern "C" {
23827    #[link_name = "\u{1}aws_lc_0_26_0_X509_time_adj_ex"]
23828    pub fn X509_time_adj_ex(
23829        s: *mut ASN1_TIME,
23830        offset_day: ::std::os::raw::c_int,
23831        offset_sec: ::std::os::raw::c_long,
23832        t: *const time_t,
23833    ) -> *mut ASN1_TIME;
23834}
23835extern "C" {
23836    #[link_name = "\u{1}aws_lc_0_26_0_X509_gmtime_adj"]
23837    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
23838        -> *mut ASN1_TIME;
23839}
23840extern "C" {
23841    #[link_name = "\u{1}aws_lc_0_26_0_X509_issuer_name_cmp"]
23842    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23843}
23844extern "C" {
23845    #[link_name = "\u{1}aws_lc_0_26_0_X509_subject_name_cmp"]
23846    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23847}
23848extern "C" {
23849    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_cmp"]
23850    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
23851}
23852extern "C" {
23853    #[link_name = "\u{1}aws_lc_0_26_0_X509_issuer_name_hash"]
23854    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
23855}
23856extern "C" {
23857    #[link_name = "\u{1}aws_lc_0_26_0_X509_subject_name_hash"]
23858    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
23859}
23860extern "C" {
23861    #[link_name = "\u{1}aws_lc_0_26_0_X509_issuer_name_hash_old"]
23862    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
23863}
23864extern "C" {
23865    #[link_name = "\u{1}aws_lc_0_26_0_X509_subject_name_hash_old"]
23866    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
23867}
23868extern "C" {
23869    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ex_new_index"]
23870    pub fn X509_get_ex_new_index(
23871        argl: ::std::os::raw::c_long,
23872        argp: *mut ::std::os::raw::c_void,
23873        unused: *mut CRYPTO_EX_unused,
23874        dup_unused: CRYPTO_EX_dup,
23875        free_func: CRYPTO_EX_free,
23876    ) -> ::std::os::raw::c_int;
23877}
23878extern "C" {
23879    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_ex_data"]
23880    pub fn X509_set_ex_data(
23881        r: *mut X509,
23882        idx: ::std::os::raw::c_int,
23883        arg: *mut ::std::os::raw::c_void,
23884    ) -> ::std::os::raw::c_int;
23885}
23886extern "C" {
23887    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_ex_data"]
23888    pub fn X509_get_ex_data(
23889        r: *mut X509,
23890        idx: ::std::os::raw::c_int,
23891    ) -> *mut ::std::os::raw::c_void;
23892}
23893extern "C" {
23894    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_ex_new_index"]
23895    pub fn X509_STORE_CTX_get_ex_new_index(
23896        argl: ::std::os::raw::c_long,
23897        argp: *mut ::std::os::raw::c_void,
23898        unused: *mut CRYPTO_EX_unused,
23899        dup_unused: CRYPTO_EX_dup,
23900        free_func: CRYPTO_EX_free,
23901    ) -> ::std::os::raw::c_int;
23902}
23903extern "C" {
23904    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_ex_data"]
23905    pub fn X509_STORE_CTX_set_ex_data(
23906        ctx: *mut X509_STORE_CTX,
23907        idx: ::std::os::raw::c_int,
23908        data: *mut ::std::os::raw::c_void,
23909    ) -> ::std::os::raw::c_int;
23910}
23911extern "C" {
23912    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_ex_data"]
23913    pub fn X509_STORE_CTX_get_ex_data(
23914        ctx: *mut X509_STORE_CTX,
23915        idx: ::std::os::raw::c_int,
23916    ) -> *mut ::std::os::raw::c_void;
23917}
23918extern "C" {
23919    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_get_ex_new_index"]
23920    pub fn X509_STORE_get_ex_new_index(
23921        argl: ::std::os::raw::c_long,
23922        argp: *mut ::std::os::raw::c_void,
23923        unused: *mut CRYPTO_EX_unused,
23924        dup_unused: CRYPTO_EX_dup,
23925        free_func: CRYPTO_EX_free,
23926    ) -> ::std::os::raw::c_int;
23927}
23928extern "C" {
23929    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_ex_data"]
23930    pub fn X509_STORE_set_ex_data(
23931        ctx: *mut X509_STORE,
23932        idx: ::std::os::raw::c_int,
23933        data: *mut ::std::os::raw::c_void,
23934    ) -> ::std::os::raw::c_int;
23935}
23936extern "C" {
23937    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_get_ex_data"]
23938    pub fn X509_STORE_get_ex_data(
23939        ctx: *mut X509_STORE,
23940        idx: ::std::os::raw::c_int,
23941    ) -> *mut ::std::os::raw::c_void;
23942}
23943extern "C" {
23944    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_digest"]
23945    pub fn ASN1_digest(
23946        i2d: i2d_of_void,
23947        type_: *const EVP_MD,
23948        data: *mut ::std::os::raw::c_char,
23949        md: *mut ::std::os::raw::c_uchar,
23950        len: *mut ::std::os::raw::c_uint,
23951    ) -> ::std::os::raw::c_int;
23952}
23953extern "C" {
23954    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_digest"]
23955    pub fn ASN1_item_digest(
23956        it: *const ASN1_ITEM,
23957        type_: *const EVP_MD,
23958        data: *mut ::std::os::raw::c_void,
23959        md: *mut ::std::os::raw::c_uchar,
23960        len: *mut ::std::os::raw::c_uint,
23961    ) -> ::std::os::raw::c_int;
23962}
23963extern "C" {
23964    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_verify"]
23965    pub fn ASN1_item_verify(
23966        it: *const ASN1_ITEM,
23967        algor1: *const X509_ALGOR,
23968        signature: *const ASN1_BIT_STRING,
23969        data: *mut ::std::os::raw::c_void,
23970        pkey: *mut EVP_PKEY,
23971    ) -> ::std::os::raw::c_int;
23972}
23973extern "C" {
23974    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_sign"]
23975    pub fn ASN1_item_sign(
23976        it: *const ASN1_ITEM,
23977        algor1: *mut X509_ALGOR,
23978        algor2: *mut X509_ALGOR,
23979        signature: *mut ASN1_BIT_STRING,
23980        data: *mut ::std::os::raw::c_void,
23981        pkey: *mut EVP_PKEY,
23982        type_: *const EVP_MD,
23983    ) -> ::std::os::raw::c_int;
23984}
23985extern "C" {
23986    #[link_name = "\u{1}aws_lc_0_26_0_ASN1_item_sign_ctx"]
23987    pub fn ASN1_item_sign_ctx(
23988        it: *const ASN1_ITEM,
23989        algor1: *mut X509_ALGOR,
23990        algor2: *mut X509_ALGOR,
23991        signature: *mut ASN1_BIT_STRING,
23992        asn: *mut ::std::os::raw::c_void,
23993        ctx: *mut EVP_MD_CTX,
23994    ) -> ::std::os::raw::c_int;
23995}
23996extern "C" {
23997    #[link_name = "\u{1}aws_lc_0_26_0_X509_supported_extension"]
23998    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
23999}
24000extern "C" {
24001    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_ca"]
24002    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
24003}
24004extern "C" {
24005    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_issued"]
24006    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
24007}
24008extern "C" {
24009    #[link_name = "\u{1}aws_lc_0_26_0_NAME_CONSTRAINTS_check"]
24010    pub fn NAME_CONSTRAINTS_check(
24011        x509: *mut X509,
24012        nc: *mut NAME_CONSTRAINTS,
24013    ) -> ::std::os::raw::c_int;
24014}
24015extern "C" {
24016    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_host"]
24017    pub fn X509_check_host(
24018        x509: *const X509,
24019        chk: *const ::std::os::raw::c_char,
24020        chklen: usize,
24021        flags: ::std::os::raw::c_uint,
24022        out_peername: *mut *mut ::std::os::raw::c_char,
24023    ) -> ::std::os::raw::c_int;
24024}
24025extern "C" {
24026    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_email"]
24027    pub fn X509_check_email(
24028        x509: *const X509,
24029        chk: *const ::std::os::raw::c_char,
24030        chklen: usize,
24031        flags: ::std::os::raw::c_uint,
24032    ) -> ::std::os::raw::c_int;
24033}
24034extern "C" {
24035    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_ip"]
24036    pub fn X509_check_ip(
24037        x509: *const X509,
24038        chk: *const u8,
24039        chklen: usize,
24040        flags: ::std::os::raw::c_uint,
24041    ) -> ::std::os::raw::c_int;
24042}
24043extern "C" {
24044    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_ip_asc"]
24045    pub fn X509_check_ip_asc(
24046        x509: *const X509,
24047        ipasc: *const ::std::os::raw::c_char,
24048        flags: ::std::os::raw::c_uint,
24049    ) -> ::std::os::raw::c_int;
24050}
24051extern "C" {
24052    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get1_issuer"]
24053    pub fn X509_STORE_CTX_get1_issuer(
24054        out_issuer: *mut *mut X509,
24055        ctx: *mut X509_STORE_CTX,
24056        x509: *mut X509,
24057    ) -> ::std::os::raw::c_int;
24058}
24059extern "C" {
24060    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_purpose"]
24061    pub fn X509_check_purpose(
24062        x509: *mut X509,
24063        purpose: ::std::os::raw::c_int,
24064        ca: ::std::os::raw::c_int,
24065    ) -> ::std::os::raw::c_int;
24066}
24067extern "C" {
24068    #[link_name = "\u{1}aws_lc_0_26_0_X509_check_trust"]
24069    pub fn X509_check_trust(
24070        x509: *mut X509,
24071        id: ::std::os::raw::c_int,
24072        flags: ::std::os::raw::c_int,
24073    ) -> ::std::os::raw::c_int;
24074}
24075#[repr(C)]
24076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24077pub struct private_key_st {
24078    pub dec_pkey: *mut EVP_PKEY,
24079}
24080#[test]
24081fn bindgen_test_layout_private_key_st() {
24082    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
24083    let ptr = UNINIT.as_ptr();
24084    assert_eq!(
24085        ::std::mem::size_of::<private_key_st>(),
24086        4usize,
24087        concat!("Size of: ", stringify!(private_key_st))
24088    );
24089    assert_eq!(
24090        ::std::mem::align_of::<private_key_st>(),
24091        4usize,
24092        concat!("Alignment of ", stringify!(private_key_st))
24093    );
24094    assert_eq!(
24095        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
24096        0usize,
24097        concat!(
24098            "Offset of field: ",
24099            stringify!(private_key_st),
24100            "::",
24101            stringify!(dec_pkey)
24102        )
24103    );
24104}
24105impl Default for private_key_st {
24106    fn default() -> Self {
24107        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24108        unsafe {
24109            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24110            s.assume_init()
24111        }
24112    }
24113}
24114#[repr(C)]
24115#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24116pub struct X509_info_st {
24117    pub x509: *mut X509,
24118    pub crl: *mut X509_CRL,
24119    pub x_pkey: *mut X509_PKEY,
24120    pub enc_cipher: EVP_CIPHER_INFO,
24121    pub enc_len: ::std::os::raw::c_int,
24122    pub enc_data: *mut ::std::os::raw::c_char,
24123}
24124#[test]
24125fn bindgen_test_layout_X509_info_st() {
24126    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
24127    let ptr = UNINIT.as_ptr();
24128    assert_eq!(
24129        ::std::mem::size_of::<X509_info_st>(),
24130        40usize,
24131        concat!("Size of: ", stringify!(X509_info_st))
24132    );
24133    assert_eq!(
24134        ::std::mem::align_of::<X509_info_st>(),
24135        4usize,
24136        concat!("Alignment of ", stringify!(X509_info_st))
24137    );
24138    assert_eq!(
24139        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
24140        0usize,
24141        concat!(
24142            "Offset of field: ",
24143            stringify!(X509_info_st),
24144            "::",
24145            stringify!(x509)
24146        )
24147    );
24148    assert_eq!(
24149        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24150        4usize,
24151        concat!(
24152            "Offset of field: ",
24153            stringify!(X509_info_st),
24154            "::",
24155            stringify!(crl)
24156        )
24157    );
24158    assert_eq!(
24159        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
24160        8usize,
24161        concat!(
24162            "Offset of field: ",
24163            stringify!(X509_info_st),
24164            "::",
24165            stringify!(x_pkey)
24166        )
24167    );
24168    assert_eq!(
24169        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
24170        12usize,
24171        concat!(
24172            "Offset of field: ",
24173            stringify!(X509_info_st),
24174            "::",
24175            stringify!(enc_cipher)
24176        )
24177    );
24178    assert_eq!(
24179        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
24180        32usize,
24181        concat!(
24182            "Offset of field: ",
24183            stringify!(X509_info_st),
24184            "::",
24185            stringify!(enc_len)
24186        )
24187    );
24188    assert_eq!(
24189        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
24190        36usize,
24191        concat!(
24192            "Offset of field: ",
24193            stringify!(X509_info_st),
24194            "::",
24195            stringify!(enc_data)
24196        )
24197    );
24198}
24199impl Default for X509_info_st {
24200    fn default() -> Self {
24201        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24202        unsafe {
24203            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24204            s.assume_init()
24205        }
24206    }
24207}
24208#[repr(C)]
24209#[derive(Debug, Copy, Clone)]
24210pub struct stack_st_X509_INFO {
24211    _unused: [u8; 0],
24212}
24213pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
24214pub type sk_X509_INFO_copy_func =
24215    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
24216pub type sk_X509_INFO_cmp_func = ::std::option::Option<
24217    unsafe extern "C" fn(
24218        arg1: *const *const X509_INFO,
24219        arg2: *const *const X509_INFO,
24220    ) -> ::std::os::raw::c_int,
24221>;
24222pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
24223    unsafe extern "C" fn(
24224        arg1: *mut X509_INFO,
24225        arg2: *mut ::std::os::raw::c_void,
24226    ) -> ::std::os::raw::c_int,
24227>;
24228extern "C" {
24229    #[link_name = "\u{1}aws_lc_0_26_0_X509_INFO_free"]
24230    pub fn X509_INFO_free(info: *mut X509_INFO);
24231}
24232pub type X509V3_EXT_NEW =
24233    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
24234pub type X509V3_EXT_FREE =
24235    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
24236pub type X509V3_EXT_D2I = ::std::option::Option<
24237    unsafe extern "C" fn(
24238        ext: *mut ::std::os::raw::c_void,
24239        inp: *mut *const u8,
24240        len: ::std::os::raw::c_long,
24241    ) -> *mut ::std::os::raw::c_void,
24242>;
24243pub type X509V3_EXT_I2D = ::std::option::Option<
24244    unsafe extern "C" fn(
24245        ext: *mut ::std::os::raw::c_void,
24246        outp: *mut *mut u8,
24247    ) -> ::std::os::raw::c_int,
24248>;
24249pub type X509V3_EXT_I2V = ::std::option::Option<
24250    unsafe extern "C" fn(
24251        method: *const X509V3_EXT_METHOD,
24252        ext: *mut ::std::os::raw::c_void,
24253        extlist: *mut stack_st_CONF_VALUE,
24254    ) -> *mut stack_st_CONF_VALUE,
24255>;
24256pub type X509V3_EXT_V2I = ::std::option::Option<
24257    unsafe extern "C" fn(
24258        method: *const X509V3_EXT_METHOD,
24259        ctx: *const X509V3_CTX,
24260        values: *const stack_st_CONF_VALUE,
24261    ) -> *mut ::std::os::raw::c_void,
24262>;
24263pub type X509V3_EXT_I2S = ::std::option::Option<
24264    unsafe extern "C" fn(
24265        method: *const X509V3_EXT_METHOD,
24266        ext: *mut ::std::os::raw::c_void,
24267    ) -> *mut ::std::os::raw::c_char,
24268>;
24269pub type X509V3_EXT_S2I = ::std::option::Option<
24270    unsafe extern "C" fn(
24271        method: *const X509V3_EXT_METHOD,
24272        ctx: *const X509V3_CTX,
24273        str_: *const ::std::os::raw::c_char,
24274    ) -> *mut ::std::os::raw::c_void,
24275>;
24276pub type X509V3_EXT_I2R = ::std::option::Option<
24277    unsafe extern "C" fn(
24278        method: *const X509V3_EXT_METHOD,
24279        ext: *mut ::std::os::raw::c_void,
24280        out: *mut BIO,
24281        indent: ::std::os::raw::c_int,
24282    ) -> ::std::os::raw::c_int,
24283>;
24284pub type X509V3_EXT_R2I = ::std::option::Option<
24285    unsafe extern "C" fn(
24286        method: *const X509V3_EXT_METHOD,
24287        ctx: *const X509V3_CTX,
24288        str_: *const ::std::os::raw::c_char,
24289    ) -> *mut ::std::os::raw::c_void,
24290>;
24291#[repr(C)]
24292#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24293pub struct v3_ext_method {
24294    pub ext_nid: ::std::os::raw::c_int,
24295    pub ext_flags: ::std::os::raw::c_int,
24296    pub it: *const ASN1_ITEM_st,
24297    pub ext_new: X509V3_EXT_NEW,
24298    pub ext_free: X509V3_EXT_FREE,
24299    pub d2i: X509V3_EXT_D2I,
24300    pub i2d: X509V3_EXT_I2D,
24301    pub i2s: X509V3_EXT_I2S,
24302    pub s2i: X509V3_EXT_S2I,
24303    pub i2v: X509V3_EXT_I2V,
24304    pub v2i: X509V3_EXT_V2I,
24305    pub i2r: X509V3_EXT_I2R,
24306    pub r2i: X509V3_EXT_R2I,
24307    pub usr_data: *mut ::std::os::raw::c_void,
24308}
24309#[test]
24310fn bindgen_test_layout_v3_ext_method() {
24311    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
24312    let ptr = UNINIT.as_ptr();
24313    assert_eq!(
24314        ::std::mem::size_of::<v3_ext_method>(),
24315        56usize,
24316        concat!("Size of: ", stringify!(v3_ext_method))
24317    );
24318    assert_eq!(
24319        ::std::mem::align_of::<v3_ext_method>(),
24320        4usize,
24321        concat!("Alignment of ", stringify!(v3_ext_method))
24322    );
24323    assert_eq!(
24324        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
24325        0usize,
24326        concat!(
24327            "Offset of field: ",
24328            stringify!(v3_ext_method),
24329            "::",
24330            stringify!(ext_nid)
24331        )
24332    );
24333    assert_eq!(
24334        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
24335        4usize,
24336        concat!(
24337            "Offset of field: ",
24338            stringify!(v3_ext_method),
24339            "::",
24340            stringify!(ext_flags)
24341        )
24342    );
24343    assert_eq!(
24344        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
24345        8usize,
24346        concat!(
24347            "Offset of field: ",
24348            stringify!(v3_ext_method),
24349            "::",
24350            stringify!(it)
24351        )
24352    );
24353    assert_eq!(
24354        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
24355        12usize,
24356        concat!(
24357            "Offset of field: ",
24358            stringify!(v3_ext_method),
24359            "::",
24360            stringify!(ext_new)
24361        )
24362    );
24363    assert_eq!(
24364        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
24365        16usize,
24366        concat!(
24367            "Offset of field: ",
24368            stringify!(v3_ext_method),
24369            "::",
24370            stringify!(ext_free)
24371        )
24372    );
24373    assert_eq!(
24374        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
24375        20usize,
24376        concat!(
24377            "Offset of field: ",
24378            stringify!(v3_ext_method),
24379            "::",
24380            stringify!(d2i)
24381        )
24382    );
24383    assert_eq!(
24384        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
24385        24usize,
24386        concat!(
24387            "Offset of field: ",
24388            stringify!(v3_ext_method),
24389            "::",
24390            stringify!(i2d)
24391        )
24392    );
24393    assert_eq!(
24394        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
24395        28usize,
24396        concat!(
24397            "Offset of field: ",
24398            stringify!(v3_ext_method),
24399            "::",
24400            stringify!(i2s)
24401        )
24402    );
24403    assert_eq!(
24404        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
24405        32usize,
24406        concat!(
24407            "Offset of field: ",
24408            stringify!(v3_ext_method),
24409            "::",
24410            stringify!(s2i)
24411        )
24412    );
24413    assert_eq!(
24414        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
24415        36usize,
24416        concat!(
24417            "Offset of field: ",
24418            stringify!(v3_ext_method),
24419            "::",
24420            stringify!(i2v)
24421        )
24422    );
24423    assert_eq!(
24424        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
24425        40usize,
24426        concat!(
24427            "Offset of field: ",
24428            stringify!(v3_ext_method),
24429            "::",
24430            stringify!(v2i)
24431        )
24432    );
24433    assert_eq!(
24434        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
24435        44usize,
24436        concat!(
24437            "Offset of field: ",
24438            stringify!(v3_ext_method),
24439            "::",
24440            stringify!(i2r)
24441        )
24442    );
24443    assert_eq!(
24444        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
24445        48usize,
24446        concat!(
24447            "Offset of field: ",
24448            stringify!(v3_ext_method),
24449            "::",
24450            stringify!(r2i)
24451        )
24452    );
24453    assert_eq!(
24454        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24455        52usize,
24456        concat!(
24457            "Offset of field: ",
24458            stringify!(v3_ext_method),
24459            "::",
24460            stringify!(usr_data)
24461        )
24462    );
24463}
24464impl Default for v3_ext_method {
24465    fn default() -> Self {
24466        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24467        unsafe {
24468            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24469            s.assume_init()
24470        }
24471    }
24472}
24473extern "C" {
24474    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_get"]
24475    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
24476}
24477extern "C" {
24478    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_get_nid"]
24479    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
24480}
24481extern "C" {
24482    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_add"]
24483    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
24484}
24485extern "C" {
24486    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_add_alias"]
24487    pub fn X509V3_EXT_add_alias(
24488        nid_to: ::std::os::raw::c_int,
24489        nid_from: ::std::os::raw::c_int,
24490    ) -> ::std::os::raw::c_int;
24491}
24492#[repr(C)]
24493#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24494pub struct v3_ext_ctx {
24495    pub flags: ::std::os::raw::c_int,
24496    pub issuer_cert: *const X509,
24497    pub subject_cert: *const X509,
24498    pub subject_req: *const X509_REQ,
24499    pub crl: *const X509_CRL,
24500    pub db: *const CONF,
24501}
24502#[test]
24503fn bindgen_test_layout_v3_ext_ctx() {
24504    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
24505    let ptr = UNINIT.as_ptr();
24506    assert_eq!(
24507        ::std::mem::size_of::<v3_ext_ctx>(),
24508        24usize,
24509        concat!("Size of: ", stringify!(v3_ext_ctx))
24510    );
24511    assert_eq!(
24512        ::std::mem::align_of::<v3_ext_ctx>(),
24513        4usize,
24514        concat!("Alignment of ", stringify!(v3_ext_ctx))
24515    );
24516    assert_eq!(
24517        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24518        0usize,
24519        concat!(
24520            "Offset of field: ",
24521            stringify!(v3_ext_ctx),
24522            "::",
24523            stringify!(flags)
24524        )
24525    );
24526    assert_eq!(
24527        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
24528        4usize,
24529        concat!(
24530            "Offset of field: ",
24531            stringify!(v3_ext_ctx),
24532            "::",
24533            stringify!(issuer_cert)
24534        )
24535    );
24536    assert_eq!(
24537        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
24538        8usize,
24539        concat!(
24540            "Offset of field: ",
24541            stringify!(v3_ext_ctx),
24542            "::",
24543            stringify!(subject_cert)
24544        )
24545    );
24546    assert_eq!(
24547        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
24548        12usize,
24549        concat!(
24550            "Offset of field: ",
24551            stringify!(v3_ext_ctx),
24552            "::",
24553            stringify!(subject_req)
24554        )
24555    );
24556    assert_eq!(
24557        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24558        16usize,
24559        concat!(
24560            "Offset of field: ",
24561            stringify!(v3_ext_ctx),
24562            "::",
24563            stringify!(crl)
24564        )
24565    );
24566    assert_eq!(
24567        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
24568        20usize,
24569        concat!(
24570            "Offset of field: ",
24571            stringify!(v3_ext_ctx),
24572            "::",
24573            stringify!(db)
24574        )
24575    );
24576}
24577impl Default for v3_ext_ctx {
24578    fn default() -> Self {
24579        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24580        unsafe {
24581            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24582            s.assume_init()
24583        }
24584    }
24585}
24586extern "C" {
24587    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_set_ctx"]
24588    pub fn X509V3_set_ctx(
24589        ctx: *mut X509V3_CTX,
24590        issuer: *const X509,
24591        subject: *const X509,
24592        req: *const X509_REQ,
24593        crl: *const X509_CRL,
24594        flags: ::std::os::raw::c_int,
24595    );
24596}
24597extern "C" {
24598    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_set_nconf"]
24599    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
24600}
24601extern "C" {
24602    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_nconf"]
24603    pub fn X509V3_EXT_nconf(
24604        conf: *const CONF,
24605        ctx: *const X509V3_CTX,
24606        name: *const ::std::os::raw::c_char,
24607        value: *const ::std::os::raw::c_char,
24608    ) -> *mut X509_EXTENSION;
24609}
24610extern "C" {
24611    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_nconf_nid"]
24612    pub fn X509V3_EXT_nconf_nid(
24613        conf: *const CONF,
24614        ctx: *const X509V3_CTX,
24615        ext_nid: ::std::os::raw::c_int,
24616        value: *const ::std::os::raw::c_char,
24617    ) -> *mut X509_EXTENSION;
24618}
24619extern "C" {
24620    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_conf_nid"]
24621    pub fn X509V3_EXT_conf_nid(
24622        conf: *mut lhash_st_CONF_VALUE,
24623        ctx: *const X509V3_CTX,
24624        ext_nid: ::std::os::raw::c_int,
24625        value: *const ::std::os::raw::c_char,
24626    ) -> *mut X509_EXTENSION;
24627}
24628extern "C" {
24629    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_add_nconf_sk"]
24630    pub fn X509V3_EXT_add_nconf_sk(
24631        conf: *const CONF,
24632        ctx: *const X509V3_CTX,
24633        section: *const ::std::os::raw::c_char,
24634        sk: *mut *mut stack_st_X509_EXTENSION,
24635    ) -> ::std::os::raw::c_int;
24636}
24637extern "C" {
24638    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_add_nconf"]
24639    pub fn X509V3_EXT_add_nconf(
24640        conf: *const CONF,
24641        ctx: *const X509V3_CTX,
24642        section: *const ::std::os::raw::c_char,
24643        cert: *mut X509,
24644    ) -> ::std::os::raw::c_int;
24645}
24646extern "C" {
24647    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_REQ_add_nconf"]
24648    pub fn X509V3_EXT_REQ_add_nconf(
24649        conf: *const CONF,
24650        ctx: *const X509V3_CTX,
24651        section: *const ::std::os::raw::c_char,
24652        req: *mut X509_REQ,
24653    ) -> ::std::os::raw::c_int;
24654}
24655extern "C" {
24656    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_CRL_add_nconf"]
24657    pub fn X509V3_EXT_CRL_add_nconf(
24658        conf: *const CONF,
24659        ctx: *const X509V3_CTX,
24660        section: *const ::std::os::raw::c_char,
24661        crl: *mut X509_CRL,
24662    ) -> ::std::os::raw::c_int;
24663}
24664extern "C" {
24665    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_EXT_conf"]
24666    pub fn X509V3_EXT_conf(
24667        conf: *mut lhash_st_CONF_VALUE,
24668        ctx: *mut X509V3_CTX,
24669        name: *const ::std::os::raw::c_char,
24670        value: *const ::std::os::raw::c_char,
24671    ) -> *mut X509_EXTENSION;
24672}
24673extern "C" {
24674    #[link_name = "\u{1}aws_lc_0_26_0_i2s_ASN1_OCTET_STRING"]
24675    pub fn i2s_ASN1_OCTET_STRING(
24676        method: *const X509V3_EXT_METHOD,
24677        oct: *const ASN1_OCTET_STRING,
24678    ) -> *mut ::std::os::raw::c_char;
24679}
24680extern "C" {
24681    #[link_name = "\u{1}aws_lc_0_26_0_s2i_ASN1_OCTET_STRING"]
24682    pub fn s2i_ASN1_OCTET_STRING(
24683        method: *const X509V3_EXT_METHOD,
24684        ctx: *const X509V3_CTX,
24685        str_: *const ::std::os::raw::c_char,
24686    ) -> *mut ASN1_OCTET_STRING;
24687}
24688extern "C" {
24689    #[link_name = "\u{1}aws_lc_0_26_0_i2s_ASN1_INTEGER"]
24690    pub fn i2s_ASN1_INTEGER(
24691        method: *const X509V3_EXT_METHOD,
24692        aint: *const ASN1_INTEGER,
24693    ) -> *mut ::std::os::raw::c_char;
24694}
24695extern "C" {
24696    #[link_name = "\u{1}aws_lc_0_26_0_s2i_ASN1_INTEGER"]
24697    pub fn s2i_ASN1_INTEGER(
24698        method: *const X509V3_EXT_METHOD,
24699        value: *const ::std::os::raw::c_char,
24700    ) -> *mut ASN1_INTEGER;
24701}
24702extern "C" {
24703    #[link_name = "\u{1}aws_lc_0_26_0_i2s_ASN1_ENUMERATED"]
24704    pub fn i2s_ASN1_ENUMERATED(
24705        method: *const X509V3_EXT_METHOD,
24706        aint: *const ASN1_ENUMERATED,
24707    ) -> *mut ::std::os::raw::c_char;
24708}
24709extern "C" {
24710    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_conf_free"]
24711    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
24712}
24713extern "C" {
24714    #[link_name = "\u{1}aws_lc_0_26_0_i2v_GENERAL_NAME"]
24715    pub fn i2v_GENERAL_NAME(
24716        method: *const X509V3_EXT_METHOD,
24717        gen: *const GENERAL_NAME,
24718        ret: *mut stack_st_CONF_VALUE,
24719    ) -> *mut stack_st_CONF_VALUE;
24720}
24721extern "C" {
24722    #[link_name = "\u{1}aws_lc_0_26_0_i2v_GENERAL_NAMES"]
24723    pub fn i2v_GENERAL_NAMES(
24724        method: *const X509V3_EXT_METHOD,
24725        gen: *const GENERAL_NAMES,
24726        extlist: *mut stack_st_CONF_VALUE,
24727    ) -> *mut stack_st_CONF_VALUE;
24728}
24729extern "C" {
24730    #[link_name = "\u{1}aws_lc_0_26_0_a2i_IPADDRESS"]
24731    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24732}
24733extern "C" {
24734    #[link_name = "\u{1}aws_lc_0_26_0_a2i_IPADDRESS_NC"]
24735    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24736}
24737extern "C" {
24738    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_notBefore"]
24739    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
24740}
24741extern "C" {
24742    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_notAfter"]
24743    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
24744}
24745extern "C" {
24746    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_notBefore"]
24747    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24748}
24749extern "C" {
24750    #[link_name = "\u{1}aws_lc_0_26_0_X509_set_notAfter"]
24751    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24752}
24753extern "C" {
24754    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_lastUpdate"]
24755    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24756}
24757extern "C" {
24758    #[link_name = "\u{1}aws_lc_0_26_0_X509_CRL_get_nextUpdate"]
24759    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24760}
24761extern "C" {
24762    #[link_name = "\u{1}aws_lc_0_26_0_X509_get_serialNumber"]
24763    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
24764}
24765extern "C" {
24766    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get_text_by_OBJ"]
24767    pub fn X509_NAME_get_text_by_OBJ(
24768        name: *const X509_NAME,
24769        obj: *const ASN1_OBJECT,
24770        buf: *mut ::std::os::raw::c_char,
24771        len: ::std::os::raw::c_int,
24772    ) -> ::std::os::raw::c_int;
24773}
24774extern "C" {
24775    #[link_name = "\u{1}aws_lc_0_26_0_X509_NAME_get_text_by_NID"]
24776    pub fn X509_NAME_get_text_by_NID(
24777        name: *const X509_NAME,
24778        nid: ::std::os::raw::c_int,
24779        buf: *mut ::std::os::raw::c_char,
24780        len: ::std::os::raw::c_int,
24781    ) -> ::std::os::raw::c_int;
24782}
24783extern "C" {
24784    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get0_parent_ctx"]
24785    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
24786}
24787extern "C" {
24788    #[link_name = "\u{1}aws_lc_0_26_0_X509_LOOKUP_free"]
24789    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
24790}
24791extern "C" {
24792    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_cleanup"]
24793    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
24794}
24795extern "C" {
24796    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_add_standard_extensions"]
24797    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
24798}
24799extern "C" {
24800    #[link_name = "\u{1}aws_lc_0_26_0_X509V3_parse_list"]
24801    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
24802}
24803extern "C" {
24804    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_chain"]
24805    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
24806}
24807extern "C" {
24808    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_trusted_stack"]
24809    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24810}
24811pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
24812    unsafe extern "C" fn(
24813        arg1: ::std::os::raw::c_int,
24814        arg2: *mut X509_STORE_CTX,
24815    ) -> ::std::os::raw::c_int,
24816>;
24817extern "C" {
24818    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_verify_cb"]
24819    pub fn X509_STORE_CTX_set_verify_cb(
24820        ctx: *mut X509_STORE_CTX,
24821        verify_cb: ::std::option::Option<
24822            unsafe extern "C" fn(
24823                ok: ::std::os::raw::c_int,
24824                ctx: *mut X509_STORE_CTX,
24825            ) -> ::std::os::raw::c_int,
24826        >,
24827    );
24828}
24829extern "C" {
24830    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_verify_cb"]
24831    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
24832}
24833pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
24834    unsafe extern "C" fn(
24835        ctx: *mut X509_STORE_CTX,
24836        crl: *mut *mut X509_CRL,
24837        x: *mut X509,
24838    ) -> ::std::os::raw::c_int,
24839>;
24840pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
24841    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
24842>;
24843extern "C" {
24844    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_get_crl"]
24845    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
24846}
24847extern "C" {
24848    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_set_check_crl"]
24849    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
24850}
24851extern "C" {
24852    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_set_chain"]
24853    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24854}
24855#[repr(C)]
24856#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24857pub struct x509_purpose_st {
24858    pub purpose: ::std::os::raw::c_int,
24859    pub trust: ::std::os::raw::c_int,
24860    pub flags: ::std::os::raw::c_int,
24861    pub check_purpose: ::std::option::Option<
24862        unsafe extern "C" fn(
24863            arg1: *const x509_purpose_st,
24864            arg2: *const X509,
24865            arg3: ::std::os::raw::c_int,
24866        ) -> ::std::os::raw::c_int,
24867    >,
24868    pub name: *mut ::std::os::raw::c_char,
24869    pub sname: *mut ::std::os::raw::c_char,
24870    pub usr_data: *mut ::std::os::raw::c_void,
24871}
24872#[test]
24873fn bindgen_test_layout_x509_purpose_st() {
24874    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
24875    let ptr = UNINIT.as_ptr();
24876    assert_eq!(
24877        ::std::mem::size_of::<x509_purpose_st>(),
24878        28usize,
24879        concat!("Size of: ", stringify!(x509_purpose_st))
24880    );
24881    assert_eq!(
24882        ::std::mem::align_of::<x509_purpose_st>(),
24883        4usize,
24884        concat!("Alignment of ", stringify!(x509_purpose_st))
24885    );
24886    assert_eq!(
24887        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
24888        0usize,
24889        concat!(
24890            "Offset of field: ",
24891            stringify!(x509_purpose_st),
24892            "::",
24893            stringify!(purpose)
24894        )
24895    );
24896    assert_eq!(
24897        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24898        4usize,
24899        concat!(
24900            "Offset of field: ",
24901            stringify!(x509_purpose_st),
24902            "::",
24903            stringify!(trust)
24904        )
24905    );
24906    assert_eq!(
24907        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24908        8usize,
24909        concat!(
24910            "Offset of field: ",
24911            stringify!(x509_purpose_st),
24912            "::",
24913            stringify!(flags)
24914        )
24915    );
24916    assert_eq!(
24917        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
24918        12usize,
24919        concat!(
24920            "Offset of field: ",
24921            stringify!(x509_purpose_st),
24922            "::",
24923            stringify!(check_purpose)
24924        )
24925    );
24926    assert_eq!(
24927        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24928        16usize,
24929        concat!(
24930            "Offset of field: ",
24931            stringify!(x509_purpose_st),
24932            "::",
24933            stringify!(name)
24934        )
24935    );
24936    assert_eq!(
24937        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
24938        20usize,
24939        concat!(
24940            "Offset of field: ",
24941            stringify!(x509_purpose_st),
24942            "::",
24943            stringify!(sname)
24944        )
24945    );
24946    assert_eq!(
24947        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24948        24usize,
24949        concat!(
24950            "Offset of field: ",
24951            stringify!(x509_purpose_st),
24952            "::",
24953            stringify!(usr_data)
24954        )
24955    );
24956}
24957impl Default for x509_purpose_st {
24958    fn default() -> Self {
24959        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24960        unsafe {
24961            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24962            s.assume_init()
24963        }
24964    }
24965}
24966pub type X509_PURPOSE = x509_purpose_st;
24967#[repr(C)]
24968#[derive(Debug, Copy, Clone)]
24969pub struct stack_st_X509_PURPOSE {
24970    _unused: [u8; 0],
24971}
24972pub type sk_X509_PURPOSE_free_func =
24973    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
24974pub type sk_X509_PURPOSE_copy_func =
24975    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
24976pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
24977    unsafe extern "C" fn(
24978        arg1: *const *const X509_PURPOSE,
24979        arg2: *const *const X509_PURPOSE,
24980    ) -> ::std::os::raw::c_int,
24981>;
24982pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
24983    unsafe extern "C" fn(
24984        arg1: *mut X509_PURPOSE,
24985        arg2: *mut ::std::os::raw::c_void,
24986    ) -> ::std::os::raw::c_int,
24987>;
24988extern "C" {
24989    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_get0_objects"]
24990    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
24991}
24992extern "C" {
24993    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get_by_sname"]
24994    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
24995        -> ::std::os::raw::c_int;
24996}
24997extern "C" {
24998    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get0"]
24999    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
25000}
25001extern "C" {
25002    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get_id"]
25003    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
25004}
25005#[repr(C)]
25006#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25007pub struct X509_algor_st {
25008    pub algorithm: *mut ASN1_OBJECT,
25009    pub parameter: *mut ASN1_TYPE,
25010}
25011#[test]
25012fn bindgen_test_layout_X509_algor_st() {
25013    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
25014    let ptr = UNINIT.as_ptr();
25015    assert_eq!(
25016        ::std::mem::size_of::<X509_algor_st>(),
25017        8usize,
25018        concat!("Size of: ", stringify!(X509_algor_st))
25019    );
25020    assert_eq!(
25021        ::std::mem::align_of::<X509_algor_st>(),
25022        4usize,
25023        concat!("Alignment of ", stringify!(X509_algor_st))
25024    );
25025    assert_eq!(
25026        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
25027        0usize,
25028        concat!(
25029            "Offset of field: ",
25030            stringify!(X509_algor_st),
25031            "::",
25032            stringify!(algorithm)
25033        )
25034    );
25035    assert_eq!(
25036        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
25037        4usize,
25038        concat!(
25039            "Offset of field: ",
25040            stringify!(X509_algor_st),
25041            "::",
25042            stringify!(parameter)
25043        )
25044    );
25045}
25046impl Default for X509_algor_st {
25047    fn default() -> Self {
25048        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25049        unsafe {
25050            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25051            s.assume_init()
25052        }
25053    }
25054}
25055#[repr(C)]
25056#[derive(Debug, Copy, Clone)]
25057pub struct stack_st_DIST_POINT {
25058    _unused: [u8; 0],
25059}
25060#[repr(C)]
25061#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25062pub struct x509_trust_st {
25063    pub trust: ::std::os::raw::c_int,
25064    pub flags: ::std::os::raw::c_int,
25065    pub check_trust: ::std::option::Option<
25066        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
25067    >,
25068    pub name: *mut ::std::os::raw::c_char,
25069    pub arg1: ::std::os::raw::c_int,
25070    pub arg2: *mut ::std::os::raw::c_void,
25071}
25072#[test]
25073fn bindgen_test_layout_x509_trust_st() {
25074    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
25075    let ptr = UNINIT.as_ptr();
25076    assert_eq!(
25077        ::std::mem::size_of::<x509_trust_st>(),
25078        24usize,
25079        concat!("Size of: ", stringify!(x509_trust_st))
25080    );
25081    assert_eq!(
25082        ::std::mem::align_of::<x509_trust_st>(),
25083        4usize,
25084        concat!("Alignment of ", stringify!(x509_trust_st))
25085    );
25086    assert_eq!(
25087        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
25088        0usize,
25089        concat!(
25090            "Offset of field: ",
25091            stringify!(x509_trust_st),
25092            "::",
25093            stringify!(trust)
25094        )
25095    );
25096    assert_eq!(
25097        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25098        4usize,
25099        concat!(
25100            "Offset of field: ",
25101            stringify!(x509_trust_st),
25102            "::",
25103            stringify!(flags)
25104        )
25105    );
25106    assert_eq!(
25107        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
25108        8usize,
25109        concat!(
25110            "Offset of field: ",
25111            stringify!(x509_trust_st),
25112            "::",
25113            stringify!(check_trust)
25114        )
25115    );
25116    assert_eq!(
25117        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25118        12usize,
25119        concat!(
25120            "Offset of field: ",
25121            stringify!(x509_trust_st),
25122            "::",
25123            stringify!(name)
25124        )
25125    );
25126    assert_eq!(
25127        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
25128        16usize,
25129        concat!(
25130            "Offset of field: ",
25131            stringify!(x509_trust_st),
25132            "::",
25133            stringify!(arg1)
25134        )
25135    );
25136    assert_eq!(
25137        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
25138        20usize,
25139        concat!(
25140            "Offset of field: ",
25141            stringify!(x509_trust_st),
25142            "::",
25143            stringify!(arg2)
25144        )
25145    );
25146}
25147impl Default for x509_trust_st {
25148    fn default() -> Self {
25149        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25150        unsafe {
25151            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25152            s.assume_init()
25153        }
25154    }
25155}
25156#[repr(C)]
25157#[derive(Debug, Copy, Clone)]
25158pub struct stack_st_X509_TRUST {
25159    _unused: [u8; 0],
25160}
25161pub type sk_X509_TRUST_free_func =
25162    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
25163pub type sk_X509_TRUST_copy_func =
25164    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
25165pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
25166    unsafe extern "C" fn(
25167        arg1: *const *const X509_TRUST,
25168        arg2: *const *const X509_TRUST,
25169    ) -> ::std::os::raw::c_int,
25170>;
25171pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
25172    unsafe extern "C" fn(
25173        arg1: *mut X509_TRUST,
25174        arg2: *mut ::std::os::raw::c_void,
25175    ) -> ::std::os::raw::c_int,
25176>;
25177extern "C" {
25178    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_set"]
25179    pub fn X509_TRUST_set(
25180        t: *mut ::std::os::raw::c_int,
25181        trust: ::std::os::raw::c_int,
25182    ) -> ::std::os::raw::c_int;
25183}
25184extern "C" {
25185    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get_count"]
25186    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
25187}
25188extern "C" {
25189    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get0"]
25190    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
25191}
25192extern "C" {
25193    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get_by_id"]
25194    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25195}
25196extern "C" {
25197    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get_flags"]
25198    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25199}
25200extern "C" {
25201    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get0_name"]
25202    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
25203}
25204extern "C" {
25205    #[link_name = "\u{1}aws_lc_0_26_0_X509_TRUST_get_trust"]
25206    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25207}
25208extern "C" {
25209    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_get0_X509_CRL"]
25210    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
25211}
25212extern "C" {
25213    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_set1_X509"]
25214    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
25215}
25216extern "C" {
25217    #[link_name = "\u{1}aws_lc_0_26_0_X509_OBJECT_set1_X509_CRL"]
25218    pub fn X509_OBJECT_set1_X509_CRL(
25219        a: *mut X509_OBJECT,
25220        obj: *mut X509_CRL,
25221    ) -> ::std::os::raw::c_int;
25222}
25223extern "C" {
25224    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_lock"]
25225    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25226}
25227extern "C" {
25228    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_unlock"]
25229    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25230}
25231extern "C" {
25232    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get1_certs"]
25233    pub fn X509_STORE_CTX_get1_certs(
25234        st: *mut X509_STORE_CTX,
25235        nm: *mut X509_NAME,
25236    ) -> *mut stack_st_X509;
25237}
25238extern "C" {
25239    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get1_crls"]
25240    pub fn X509_STORE_CTX_get1_crls(
25241        st: *mut X509_STORE_CTX,
25242        nm: *mut X509_NAME,
25243    ) -> *mut stack_st_X509_CRL;
25244}
25245extern "C" {
25246    #[link_name = "\u{1}aws_lc_0_26_0_X509_STORE_CTX_get_by_subject"]
25247    pub fn X509_STORE_CTX_get_by_subject(
25248        vs: *mut X509_STORE_CTX,
25249        type_: ::std::os::raw::c_int,
25250        name: *mut X509_NAME,
25251        ret: *mut X509_OBJECT,
25252    ) -> ::std::os::raw::c_int;
25253}
25254#[repr(C)]
25255#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25256pub struct BASIC_CONSTRAINTS_st {
25257    pub ca: ASN1_BOOLEAN,
25258    pub pathlen: *mut ASN1_INTEGER,
25259}
25260#[test]
25261fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
25262    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
25263    let ptr = UNINIT.as_ptr();
25264    assert_eq!(
25265        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
25266        8usize,
25267        concat!("Size of: ", stringify!(BASIC_CONSTRAINTS_st))
25268    );
25269    assert_eq!(
25270        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
25271        4usize,
25272        concat!("Alignment of ", stringify!(BASIC_CONSTRAINTS_st))
25273    );
25274    assert_eq!(
25275        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
25276        0usize,
25277        concat!(
25278            "Offset of field: ",
25279            stringify!(BASIC_CONSTRAINTS_st),
25280            "::",
25281            stringify!(ca)
25282        )
25283    );
25284    assert_eq!(
25285        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
25286        4usize,
25287        concat!(
25288            "Offset of field: ",
25289            stringify!(BASIC_CONSTRAINTS_st),
25290            "::",
25291            stringify!(pathlen)
25292        )
25293    );
25294}
25295impl Default for BASIC_CONSTRAINTS_st {
25296    fn default() -> Self {
25297        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25298        unsafe {
25299            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25300            s.assume_init()
25301        }
25302    }
25303}
25304#[repr(C)]
25305#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25306pub struct ACCESS_DESCRIPTION_st {
25307    pub method: *mut ASN1_OBJECT,
25308    pub location: *mut GENERAL_NAME,
25309}
25310#[test]
25311fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
25312    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
25313        ::std::mem::MaybeUninit::uninit();
25314    let ptr = UNINIT.as_ptr();
25315    assert_eq!(
25316        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
25317        8usize,
25318        concat!("Size of: ", stringify!(ACCESS_DESCRIPTION_st))
25319    );
25320    assert_eq!(
25321        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
25322        4usize,
25323        concat!("Alignment of ", stringify!(ACCESS_DESCRIPTION_st))
25324    );
25325    assert_eq!(
25326        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
25327        0usize,
25328        concat!(
25329            "Offset of field: ",
25330            stringify!(ACCESS_DESCRIPTION_st),
25331            "::",
25332            stringify!(method)
25333        )
25334    );
25335    assert_eq!(
25336        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
25337        4usize,
25338        concat!(
25339            "Offset of field: ",
25340            stringify!(ACCESS_DESCRIPTION_st),
25341            "::",
25342            stringify!(location)
25343        )
25344    );
25345}
25346impl Default for ACCESS_DESCRIPTION_st {
25347    fn default() -> Self {
25348        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25349        unsafe {
25350            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25351            s.assume_init()
25352        }
25353    }
25354}
25355pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
25356#[repr(C)]
25357#[derive(Debug, Copy, Clone)]
25358pub struct stack_st_ACCESS_DESCRIPTION {
25359    _unused: [u8; 0],
25360}
25361pub type sk_ACCESS_DESCRIPTION_free_func =
25362    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
25363pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
25364    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
25365>;
25366pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
25367    unsafe extern "C" fn(
25368        arg1: *const *const ACCESS_DESCRIPTION,
25369        arg2: *const *const ACCESS_DESCRIPTION,
25370    ) -> ::std::os::raw::c_int,
25371>;
25372pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
25373    unsafe extern "C" fn(
25374        arg1: *mut ACCESS_DESCRIPTION,
25375        arg2: *mut ::std::os::raw::c_void,
25376    ) -> ::std::os::raw::c_int,
25377>;
25378pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
25379pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
25380#[repr(C)]
25381#[derive(Copy, Clone)]
25382pub struct DIST_POINT_NAME_st {
25383    pub type_: ::std::os::raw::c_int,
25384    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
25385    pub dpname: *mut X509_NAME,
25386}
25387#[repr(C)]
25388#[derive(Copy, Clone)]
25389pub union DIST_POINT_NAME_st__bindgen_ty_1 {
25390    pub fullname: *mut GENERAL_NAMES,
25391    pub relativename: *mut stack_st_X509_NAME_ENTRY,
25392}
25393#[test]
25394fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
25395    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
25396        ::std::mem::MaybeUninit::uninit();
25397    let ptr = UNINIT.as_ptr();
25398    assert_eq!(
25399        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25400        4usize,
25401        concat!("Size of: ", stringify!(DIST_POINT_NAME_st__bindgen_ty_1))
25402    );
25403    assert_eq!(
25404        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25405        4usize,
25406        concat!(
25407            "Alignment of ",
25408            stringify!(DIST_POINT_NAME_st__bindgen_ty_1)
25409        )
25410    );
25411    assert_eq!(
25412        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
25413        0usize,
25414        concat!(
25415            "Offset of field: ",
25416            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25417            "::",
25418            stringify!(fullname)
25419        )
25420    );
25421    assert_eq!(
25422        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
25423        0usize,
25424        concat!(
25425            "Offset of field: ",
25426            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25427            "::",
25428            stringify!(relativename)
25429        )
25430    );
25431}
25432impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
25433    fn default() -> Self {
25434        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25435        unsafe {
25436            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25437            s.assume_init()
25438        }
25439    }
25440}
25441#[test]
25442fn bindgen_test_layout_DIST_POINT_NAME_st() {
25443    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
25444    let ptr = UNINIT.as_ptr();
25445    assert_eq!(
25446        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
25447        12usize,
25448        concat!("Size of: ", stringify!(DIST_POINT_NAME_st))
25449    );
25450    assert_eq!(
25451        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
25452        4usize,
25453        concat!("Alignment of ", stringify!(DIST_POINT_NAME_st))
25454    );
25455    assert_eq!(
25456        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25457        0usize,
25458        concat!(
25459            "Offset of field: ",
25460            stringify!(DIST_POINT_NAME_st),
25461            "::",
25462            stringify!(type_)
25463        )
25464    );
25465    assert_eq!(
25466        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25467        4usize,
25468        concat!(
25469            "Offset of field: ",
25470            stringify!(DIST_POINT_NAME_st),
25471            "::",
25472            stringify!(name)
25473        )
25474    );
25475    assert_eq!(
25476        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
25477        8usize,
25478        concat!(
25479            "Offset of field: ",
25480            stringify!(DIST_POINT_NAME_st),
25481            "::",
25482            stringify!(dpname)
25483        )
25484    );
25485}
25486impl Default for DIST_POINT_NAME_st {
25487    fn default() -> Self {
25488        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25489        unsafe {
25490            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25491            s.assume_init()
25492        }
25493    }
25494}
25495pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
25496#[repr(C)]
25497#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25498pub struct DIST_POINT_st {
25499    pub distpoint: *mut DIST_POINT_NAME,
25500    pub reasons: *mut ASN1_BIT_STRING,
25501    pub CRLissuer: *mut GENERAL_NAMES,
25502}
25503#[test]
25504fn bindgen_test_layout_DIST_POINT_st() {
25505    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
25506    let ptr = UNINIT.as_ptr();
25507    assert_eq!(
25508        ::std::mem::size_of::<DIST_POINT_st>(),
25509        12usize,
25510        concat!("Size of: ", stringify!(DIST_POINT_st))
25511    );
25512    assert_eq!(
25513        ::std::mem::align_of::<DIST_POINT_st>(),
25514        4usize,
25515        concat!("Alignment of ", stringify!(DIST_POINT_st))
25516    );
25517    assert_eq!(
25518        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
25519        0usize,
25520        concat!(
25521            "Offset of field: ",
25522            stringify!(DIST_POINT_st),
25523            "::",
25524            stringify!(distpoint)
25525        )
25526    );
25527    assert_eq!(
25528        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
25529        4usize,
25530        concat!(
25531            "Offset of field: ",
25532            stringify!(DIST_POINT_st),
25533            "::",
25534            stringify!(reasons)
25535        )
25536    );
25537    assert_eq!(
25538        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
25539        8usize,
25540        concat!(
25541            "Offset of field: ",
25542            stringify!(DIST_POINT_st),
25543            "::",
25544            stringify!(CRLissuer)
25545        )
25546    );
25547}
25548impl Default for DIST_POINT_st {
25549    fn default() -> Self {
25550        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25551        unsafe {
25552            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25553            s.assume_init()
25554        }
25555    }
25556}
25557pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
25558pub type sk_DIST_POINT_free_func =
25559    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
25560pub type sk_DIST_POINT_copy_func =
25561    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
25562pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
25563    unsafe extern "C" fn(
25564        arg1: *const *const DIST_POINT,
25565        arg2: *const *const DIST_POINT,
25566    ) -> ::std::os::raw::c_int,
25567>;
25568pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
25569    unsafe extern "C" fn(
25570        arg1: *mut DIST_POINT,
25571        arg2: *mut ::std::os::raw::c_void,
25572    ) -> ::std::os::raw::c_int,
25573>;
25574#[repr(C)]
25575#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25576pub struct AUTHORITY_KEYID_st {
25577    pub keyid: *mut ASN1_OCTET_STRING,
25578    pub issuer: *mut GENERAL_NAMES,
25579    pub serial: *mut ASN1_INTEGER,
25580}
25581#[test]
25582fn bindgen_test_layout_AUTHORITY_KEYID_st() {
25583    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
25584    let ptr = UNINIT.as_ptr();
25585    assert_eq!(
25586        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
25587        12usize,
25588        concat!("Size of: ", stringify!(AUTHORITY_KEYID_st))
25589    );
25590    assert_eq!(
25591        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
25592        4usize,
25593        concat!("Alignment of ", stringify!(AUTHORITY_KEYID_st))
25594    );
25595    assert_eq!(
25596        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
25597        0usize,
25598        concat!(
25599            "Offset of field: ",
25600            stringify!(AUTHORITY_KEYID_st),
25601            "::",
25602            stringify!(keyid)
25603        )
25604    );
25605    assert_eq!(
25606        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
25607        4usize,
25608        concat!(
25609            "Offset of field: ",
25610            stringify!(AUTHORITY_KEYID_st),
25611            "::",
25612            stringify!(issuer)
25613        )
25614    );
25615    assert_eq!(
25616        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
25617        8usize,
25618        concat!(
25619            "Offset of field: ",
25620            stringify!(AUTHORITY_KEYID_st),
25621            "::",
25622            stringify!(serial)
25623        )
25624    );
25625}
25626impl Default for AUTHORITY_KEYID_st {
25627    fn default() -> Self {
25628        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25629        unsafe {
25630            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25631            s.assume_init()
25632        }
25633    }
25634}
25635#[repr(C)]
25636#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25637pub struct NOTICEREF_st {
25638    pub organization: *mut ASN1_STRING,
25639    pub noticenos: *mut stack_st_ASN1_INTEGER,
25640}
25641#[test]
25642fn bindgen_test_layout_NOTICEREF_st() {
25643    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
25644    let ptr = UNINIT.as_ptr();
25645    assert_eq!(
25646        ::std::mem::size_of::<NOTICEREF_st>(),
25647        8usize,
25648        concat!("Size of: ", stringify!(NOTICEREF_st))
25649    );
25650    assert_eq!(
25651        ::std::mem::align_of::<NOTICEREF_st>(),
25652        4usize,
25653        concat!("Alignment of ", stringify!(NOTICEREF_st))
25654    );
25655    assert_eq!(
25656        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
25657        0usize,
25658        concat!(
25659            "Offset of field: ",
25660            stringify!(NOTICEREF_st),
25661            "::",
25662            stringify!(organization)
25663        )
25664    );
25665    assert_eq!(
25666        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
25667        4usize,
25668        concat!(
25669            "Offset of field: ",
25670            stringify!(NOTICEREF_st),
25671            "::",
25672            stringify!(noticenos)
25673        )
25674    );
25675}
25676impl Default for NOTICEREF_st {
25677    fn default() -> Self {
25678        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25679        unsafe {
25680            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25681            s.assume_init()
25682        }
25683    }
25684}
25685pub type NOTICEREF = NOTICEREF_st;
25686#[repr(C)]
25687#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25688pub struct USERNOTICE_st {
25689    pub noticeref: *mut NOTICEREF,
25690    pub exptext: *mut ASN1_STRING,
25691}
25692#[test]
25693fn bindgen_test_layout_USERNOTICE_st() {
25694    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
25695    let ptr = UNINIT.as_ptr();
25696    assert_eq!(
25697        ::std::mem::size_of::<USERNOTICE_st>(),
25698        8usize,
25699        concat!("Size of: ", stringify!(USERNOTICE_st))
25700    );
25701    assert_eq!(
25702        ::std::mem::align_of::<USERNOTICE_st>(),
25703        4usize,
25704        concat!("Alignment of ", stringify!(USERNOTICE_st))
25705    );
25706    assert_eq!(
25707        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
25708        0usize,
25709        concat!(
25710            "Offset of field: ",
25711            stringify!(USERNOTICE_st),
25712            "::",
25713            stringify!(noticeref)
25714        )
25715    );
25716    assert_eq!(
25717        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
25718        4usize,
25719        concat!(
25720            "Offset of field: ",
25721            stringify!(USERNOTICE_st),
25722            "::",
25723            stringify!(exptext)
25724        )
25725    );
25726}
25727impl Default for USERNOTICE_st {
25728    fn default() -> Self {
25729        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25730        unsafe {
25731            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25732            s.assume_init()
25733        }
25734    }
25735}
25736pub type USERNOTICE = USERNOTICE_st;
25737#[repr(C)]
25738#[derive(Copy, Clone)]
25739pub struct POLICYQUALINFO_st {
25740    pub pqualid: *mut ASN1_OBJECT,
25741    pub d: POLICYQUALINFO_st__bindgen_ty_1,
25742}
25743#[repr(C)]
25744#[derive(Copy, Clone)]
25745pub union POLICYQUALINFO_st__bindgen_ty_1 {
25746    pub cpsuri: *mut ASN1_IA5STRING,
25747    pub usernotice: *mut USERNOTICE,
25748    pub other: *mut ASN1_TYPE,
25749}
25750#[test]
25751fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
25752    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
25753        ::std::mem::MaybeUninit::uninit();
25754    let ptr = UNINIT.as_ptr();
25755    assert_eq!(
25756        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
25757        4usize,
25758        concat!("Size of: ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
25759    );
25760    assert_eq!(
25761        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
25762        4usize,
25763        concat!("Alignment of ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
25764    );
25765    assert_eq!(
25766        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
25767        0usize,
25768        concat!(
25769            "Offset of field: ",
25770            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25771            "::",
25772            stringify!(cpsuri)
25773        )
25774    );
25775    assert_eq!(
25776        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
25777        0usize,
25778        concat!(
25779            "Offset of field: ",
25780            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25781            "::",
25782            stringify!(usernotice)
25783        )
25784    );
25785    assert_eq!(
25786        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
25787        0usize,
25788        concat!(
25789            "Offset of field: ",
25790            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25791            "::",
25792            stringify!(other)
25793        )
25794    );
25795}
25796impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
25797    fn default() -> Self {
25798        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25799        unsafe {
25800            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25801            s.assume_init()
25802        }
25803    }
25804}
25805#[test]
25806fn bindgen_test_layout_POLICYQUALINFO_st() {
25807    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
25808    let ptr = UNINIT.as_ptr();
25809    assert_eq!(
25810        ::std::mem::size_of::<POLICYQUALINFO_st>(),
25811        8usize,
25812        concat!("Size of: ", stringify!(POLICYQUALINFO_st))
25813    );
25814    assert_eq!(
25815        ::std::mem::align_of::<POLICYQUALINFO_st>(),
25816        4usize,
25817        concat!("Alignment of ", stringify!(POLICYQUALINFO_st))
25818    );
25819    assert_eq!(
25820        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
25821        0usize,
25822        concat!(
25823            "Offset of field: ",
25824            stringify!(POLICYQUALINFO_st),
25825            "::",
25826            stringify!(pqualid)
25827        )
25828    );
25829    assert_eq!(
25830        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
25831        4usize,
25832        concat!(
25833            "Offset of field: ",
25834            stringify!(POLICYQUALINFO_st),
25835            "::",
25836            stringify!(d)
25837        )
25838    );
25839}
25840impl Default for POLICYQUALINFO_st {
25841    fn default() -> Self {
25842        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25843        unsafe {
25844            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25845            s.assume_init()
25846        }
25847    }
25848}
25849pub type POLICYQUALINFO = POLICYQUALINFO_st;
25850#[repr(C)]
25851#[derive(Debug, Copy, Clone)]
25852pub struct stack_st_POLICYQUALINFO {
25853    _unused: [u8; 0],
25854}
25855pub type sk_POLICYQUALINFO_free_func =
25856    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
25857pub type sk_POLICYQUALINFO_copy_func =
25858    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
25859pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
25860    unsafe extern "C" fn(
25861        arg1: *const *const POLICYQUALINFO,
25862        arg2: *const *const POLICYQUALINFO,
25863    ) -> ::std::os::raw::c_int,
25864>;
25865pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
25866    unsafe extern "C" fn(
25867        arg1: *mut POLICYQUALINFO,
25868        arg2: *mut ::std::os::raw::c_void,
25869    ) -> ::std::os::raw::c_int,
25870>;
25871#[repr(C)]
25872#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25873pub struct POLICYINFO_st {
25874    pub policyid: *mut ASN1_OBJECT,
25875    pub qualifiers: *mut stack_st_POLICYQUALINFO,
25876}
25877#[test]
25878fn bindgen_test_layout_POLICYINFO_st() {
25879    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
25880    let ptr = UNINIT.as_ptr();
25881    assert_eq!(
25882        ::std::mem::size_of::<POLICYINFO_st>(),
25883        8usize,
25884        concat!("Size of: ", stringify!(POLICYINFO_st))
25885    );
25886    assert_eq!(
25887        ::std::mem::align_of::<POLICYINFO_st>(),
25888        4usize,
25889        concat!("Alignment of ", stringify!(POLICYINFO_st))
25890    );
25891    assert_eq!(
25892        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
25893        0usize,
25894        concat!(
25895            "Offset of field: ",
25896            stringify!(POLICYINFO_st),
25897            "::",
25898            stringify!(policyid)
25899        )
25900    );
25901    assert_eq!(
25902        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
25903        4usize,
25904        concat!(
25905            "Offset of field: ",
25906            stringify!(POLICYINFO_st),
25907            "::",
25908            stringify!(qualifiers)
25909        )
25910    );
25911}
25912impl Default for POLICYINFO_st {
25913    fn default() -> Self {
25914        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25915        unsafe {
25916            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25917            s.assume_init()
25918        }
25919    }
25920}
25921pub type POLICYINFO = POLICYINFO_st;
25922#[repr(C)]
25923#[derive(Debug, Copy, Clone)]
25924pub struct stack_st_POLICYINFO {
25925    _unused: [u8; 0],
25926}
25927pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
25928pub type sk_POLICYINFO_free_func =
25929    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
25930pub type sk_POLICYINFO_copy_func =
25931    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
25932pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
25933    unsafe extern "C" fn(
25934        arg1: *const *const POLICYINFO,
25935        arg2: *const *const POLICYINFO,
25936    ) -> ::std::os::raw::c_int,
25937>;
25938pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
25939    unsafe extern "C" fn(
25940        arg1: *mut POLICYINFO,
25941        arg2: *mut ::std::os::raw::c_void,
25942    ) -> ::std::os::raw::c_int,
25943>;
25944#[repr(C)]
25945#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25946pub struct POLICY_MAPPING_st {
25947    pub issuerDomainPolicy: *mut ASN1_OBJECT,
25948    pub subjectDomainPolicy: *mut ASN1_OBJECT,
25949}
25950#[test]
25951fn bindgen_test_layout_POLICY_MAPPING_st() {
25952    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
25953    let ptr = UNINIT.as_ptr();
25954    assert_eq!(
25955        ::std::mem::size_of::<POLICY_MAPPING_st>(),
25956        8usize,
25957        concat!("Size of: ", stringify!(POLICY_MAPPING_st))
25958    );
25959    assert_eq!(
25960        ::std::mem::align_of::<POLICY_MAPPING_st>(),
25961        4usize,
25962        concat!("Alignment of ", stringify!(POLICY_MAPPING_st))
25963    );
25964    assert_eq!(
25965        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
25966        0usize,
25967        concat!(
25968            "Offset of field: ",
25969            stringify!(POLICY_MAPPING_st),
25970            "::",
25971            stringify!(issuerDomainPolicy)
25972        )
25973    );
25974    assert_eq!(
25975        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
25976        4usize,
25977        concat!(
25978            "Offset of field: ",
25979            stringify!(POLICY_MAPPING_st),
25980            "::",
25981            stringify!(subjectDomainPolicy)
25982        )
25983    );
25984}
25985impl Default for POLICY_MAPPING_st {
25986    fn default() -> Self {
25987        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25988        unsafe {
25989            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25990            s.assume_init()
25991        }
25992    }
25993}
25994pub type POLICY_MAPPING = POLICY_MAPPING_st;
25995#[repr(C)]
25996#[derive(Debug, Copy, Clone)]
25997pub struct stack_st_POLICY_MAPPING {
25998    _unused: [u8; 0],
25999}
26000pub type sk_POLICY_MAPPING_free_func =
26001    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
26002pub type sk_POLICY_MAPPING_copy_func =
26003    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
26004pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
26005    unsafe extern "C" fn(
26006        arg1: *const *const POLICY_MAPPING,
26007        arg2: *const *const POLICY_MAPPING,
26008    ) -> ::std::os::raw::c_int,
26009>;
26010pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
26011    unsafe extern "C" fn(
26012        arg1: *mut POLICY_MAPPING,
26013        arg2: *mut ::std::os::raw::c_void,
26014    ) -> ::std::os::raw::c_int,
26015>;
26016pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
26017#[repr(C)]
26018#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26019pub struct GENERAL_SUBTREE_st {
26020    pub base: *mut GENERAL_NAME,
26021    pub minimum: *mut ASN1_INTEGER,
26022    pub maximum: *mut ASN1_INTEGER,
26023}
26024#[test]
26025fn bindgen_test_layout_GENERAL_SUBTREE_st() {
26026    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
26027    let ptr = UNINIT.as_ptr();
26028    assert_eq!(
26029        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
26030        12usize,
26031        concat!("Size of: ", stringify!(GENERAL_SUBTREE_st))
26032    );
26033    assert_eq!(
26034        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
26035        4usize,
26036        concat!("Alignment of ", stringify!(GENERAL_SUBTREE_st))
26037    );
26038    assert_eq!(
26039        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
26040        0usize,
26041        concat!(
26042            "Offset of field: ",
26043            stringify!(GENERAL_SUBTREE_st),
26044            "::",
26045            stringify!(base)
26046        )
26047    );
26048    assert_eq!(
26049        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
26050        4usize,
26051        concat!(
26052            "Offset of field: ",
26053            stringify!(GENERAL_SUBTREE_st),
26054            "::",
26055            stringify!(minimum)
26056        )
26057    );
26058    assert_eq!(
26059        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
26060        8usize,
26061        concat!(
26062            "Offset of field: ",
26063            stringify!(GENERAL_SUBTREE_st),
26064            "::",
26065            stringify!(maximum)
26066        )
26067    );
26068}
26069impl Default for GENERAL_SUBTREE_st {
26070    fn default() -> Self {
26071        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26072        unsafe {
26073            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26074            s.assume_init()
26075        }
26076    }
26077}
26078pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
26079#[repr(C)]
26080#[derive(Debug, Copy, Clone)]
26081pub struct stack_st_GENERAL_SUBTREE {
26082    _unused: [u8; 0],
26083}
26084pub type sk_GENERAL_SUBTREE_free_func =
26085    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
26086pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
26087    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
26088>;
26089pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
26090    unsafe extern "C" fn(
26091        arg1: *const *const GENERAL_SUBTREE,
26092        arg2: *const *const GENERAL_SUBTREE,
26093    ) -> ::std::os::raw::c_int,
26094>;
26095pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
26096    unsafe extern "C" fn(
26097        arg1: *mut GENERAL_SUBTREE,
26098        arg2: *mut ::std::os::raw::c_void,
26099    ) -> ::std::os::raw::c_int,
26100>;
26101#[repr(C)]
26102#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26103pub struct NAME_CONSTRAINTS_st {
26104    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26105    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26106}
26107#[test]
26108fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
26109    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
26110    let ptr = UNINIT.as_ptr();
26111    assert_eq!(
26112        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
26113        8usize,
26114        concat!("Size of: ", stringify!(NAME_CONSTRAINTS_st))
26115    );
26116    assert_eq!(
26117        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
26118        4usize,
26119        concat!("Alignment of ", stringify!(NAME_CONSTRAINTS_st))
26120    );
26121    assert_eq!(
26122        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
26123        0usize,
26124        concat!(
26125            "Offset of field: ",
26126            stringify!(NAME_CONSTRAINTS_st),
26127            "::",
26128            stringify!(permittedSubtrees)
26129        )
26130    );
26131    assert_eq!(
26132        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
26133        4usize,
26134        concat!(
26135            "Offset of field: ",
26136            stringify!(NAME_CONSTRAINTS_st),
26137            "::",
26138            stringify!(excludedSubtrees)
26139        )
26140    );
26141}
26142impl Default for NAME_CONSTRAINTS_st {
26143    fn default() -> Self {
26144        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26145        unsafe {
26146            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26147            s.assume_init()
26148        }
26149    }
26150}
26151#[repr(C)]
26152#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26153pub struct POLICY_CONSTRAINTS_st {
26154    pub requireExplicitPolicy: *mut ASN1_INTEGER,
26155    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
26156}
26157#[test]
26158fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
26159    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
26160        ::std::mem::MaybeUninit::uninit();
26161    let ptr = UNINIT.as_ptr();
26162    assert_eq!(
26163        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
26164        8usize,
26165        concat!("Size of: ", stringify!(POLICY_CONSTRAINTS_st))
26166    );
26167    assert_eq!(
26168        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
26169        4usize,
26170        concat!("Alignment of ", stringify!(POLICY_CONSTRAINTS_st))
26171    );
26172    assert_eq!(
26173        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
26174        0usize,
26175        concat!(
26176            "Offset of field: ",
26177            stringify!(POLICY_CONSTRAINTS_st),
26178            "::",
26179            stringify!(requireExplicitPolicy)
26180        )
26181    );
26182    assert_eq!(
26183        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
26184        4usize,
26185        concat!(
26186            "Offset of field: ",
26187            stringify!(POLICY_CONSTRAINTS_st),
26188            "::",
26189            stringify!(inhibitPolicyMapping)
26190        )
26191    );
26192}
26193impl Default for POLICY_CONSTRAINTS_st {
26194    fn default() -> Self {
26195        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26196        unsafe {
26197            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26198            s.assume_init()
26199        }
26200    }
26201}
26202pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
26203#[repr(C)]
26204#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26205pub struct ISSUING_DIST_POINT_st {
26206    pub distpoint: *mut DIST_POINT_NAME,
26207    pub onlyuser: ASN1_BOOLEAN,
26208    pub onlyCA: ASN1_BOOLEAN,
26209    pub onlysomereasons: *mut ASN1_BIT_STRING,
26210    pub indirectCRL: ASN1_BOOLEAN,
26211    pub onlyattr: ASN1_BOOLEAN,
26212}
26213#[test]
26214fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
26215    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
26216        ::std::mem::MaybeUninit::uninit();
26217    let ptr = UNINIT.as_ptr();
26218    assert_eq!(
26219        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
26220        24usize,
26221        concat!("Size of: ", stringify!(ISSUING_DIST_POINT_st))
26222    );
26223    assert_eq!(
26224        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
26225        4usize,
26226        concat!("Alignment of ", stringify!(ISSUING_DIST_POINT_st))
26227    );
26228    assert_eq!(
26229        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
26230        0usize,
26231        concat!(
26232            "Offset of field: ",
26233            stringify!(ISSUING_DIST_POINT_st),
26234            "::",
26235            stringify!(distpoint)
26236        )
26237    );
26238    assert_eq!(
26239        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
26240        4usize,
26241        concat!(
26242            "Offset of field: ",
26243            stringify!(ISSUING_DIST_POINT_st),
26244            "::",
26245            stringify!(onlyuser)
26246        )
26247    );
26248    assert_eq!(
26249        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
26250        8usize,
26251        concat!(
26252            "Offset of field: ",
26253            stringify!(ISSUING_DIST_POINT_st),
26254            "::",
26255            stringify!(onlyCA)
26256        )
26257    );
26258    assert_eq!(
26259        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
26260        12usize,
26261        concat!(
26262            "Offset of field: ",
26263            stringify!(ISSUING_DIST_POINT_st),
26264            "::",
26265            stringify!(onlysomereasons)
26266        )
26267    );
26268    assert_eq!(
26269        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
26270        16usize,
26271        concat!(
26272            "Offset of field: ",
26273            stringify!(ISSUING_DIST_POINT_st),
26274            "::",
26275            stringify!(indirectCRL)
26276        )
26277    );
26278    assert_eq!(
26279        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
26280        20usize,
26281        concat!(
26282            "Offset of field: ",
26283            stringify!(ISSUING_DIST_POINT_st),
26284            "::",
26285            stringify!(onlyattr)
26286        )
26287    );
26288}
26289impl Default for ISSUING_DIST_POINT_st {
26290    fn default() -> Self {
26291        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26292        unsafe {
26293            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26294            s.assume_init()
26295        }
26296    }
26297}
26298extern "C" {
26299    #[link_name = "\u{1}aws_lc_0_26_0_BASIC_CONSTRAINTS_it"]
26300    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
26301}
26302extern "C" {
26303    #[link_name = "\u{1}aws_lc_0_26_0_BASIC_CONSTRAINTS_new"]
26304    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
26305}
26306extern "C" {
26307    #[link_name = "\u{1}aws_lc_0_26_0_BASIC_CONSTRAINTS_free"]
26308    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
26309}
26310extern "C" {
26311    #[link_name = "\u{1}aws_lc_0_26_0_d2i_BASIC_CONSTRAINTS"]
26312    pub fn d2i_BASIC_CONSTRAINTS(
26313        out: *mut *mut BASIC_CONSTRAINTS,
26314        inp: *mut *const u8,
26315        len: ::std::os::raw::c_long,
26316    ) -> *mut BASIC_CONSTRAINTS;
26317}
26318extern "C" {
26319    #[link_name = "\u{1}aws_lc_0_26_0_i2d_BASIC_CONSTRAINTS"]
26320    pub fn i2d_BASIC_CONSTRAINTS(
26321        bcons: *const BASIC_CONSTRAINTS,
26322        outp: *mut *mut u8,
26323    ) -> ::std::os::raw::c_int;
26324}
26325extern "C" {
26326    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_KEYID_it"]
26327    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
26328}
26329extern "C" {
26330    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_KEYID_new"]
26331    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
26332}
26333extern "C" {
26334    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_KEYID_free"]
26335    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
26336}
26337extern "C" {
26338    #[link_name = "\u{1}aws_lc_0_26_0_d2i_AUTHORITY_KEYID"]
26339    pub fn d2i_AUTHORITY_KEYID(
26340        out: *mut *mut AUTHORITY_KEYID,
26341        inp: *mut *const u8,
26342        len: ::std::os::raw::c_long,
26343    ) -> *mut AUTHORITY_KEYID;
26344}
26345extern "C" {
26346    #[link_name = "\u{1}aws_lc_0_26_0_i2d_AUTHORITY_KEYID"]
26347    pub fn i2d_AUTHORITY_KEYID(
26348        akid: *mut AUTHORITY_KEYID,
26349        outp: *mut *mut u8,
26350    ) -> ::std::os::raw::c_int;
26351}
26352extern "C" {
26353    #[link_name = "\u{1}aws_lc_0_26_0_EXTENDED_KEY_USAGE_it"]
26354    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
26355}
26356extern "C" {
26357    #[link_name = "\u{1}aws_lc_0_26_0_EXTENDED_KEY_USAGE_new"]
26358    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
26359}
26360extern "C" {
26361    #[link_name = "\u{1}aws_lc_0_26_0_EXTENDED_KEY_USAGE_free"]
26362    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
26363}
26364extern "C" {
26365    #[link_name = "\u{1}aws_lc_0_26_0_d2i_EXTENDED_KEY_USAGE"]
26366    pub fn d2i_EXTENDED_KEY_USAGE(
26367        out: *mut *mut EXTENDED_KEY_USAGE,
26368        inp: *mut *const u8,
26369        len: ::std::os::raw::c_long,
26370    ) -> *mut EXTENDED_KEY_USAGE;
26371}
26372extern "C" {
26373    #[link_name = "\u{1}aws_lc_0_26_0_i2d_EXTENDED_KEY_USAGE"]
26374    pub fn i2d_EXTENDED_KEY_USAGE(
26375        eku: *const EXTENDED_KEY_USAGE,
26376        outp: *mut *mut u8,
26377    ) -> ::std::os::raw::c_int;
26378}
26379extern "C" {
26380    #[link_name = "\u{1}aws_lc_0_26_0_CERTIFICATEPOLICIES_it"]
26381    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
26382}
26383extern "C" {
26384    #[link_name = "\u{1}aws_lc_0_26_0_CERTIFICATEPOLICIES_new"]
26385    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
26386}
26387extern "C" {
26388    #[link_name = "\u{1}aws_lc_0_26_0_CERTIFICATEPOLICIES_free"]
26389    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
26390}
26391extern "C" {
26392    #[link_name = "\u{1}aws_lc_0_26_0_d2i_CERTIFICATEPOLICIES"]
26393    pub fn d2i_CERTIFICATEPOLICIES(
26394        out: *mut *mut CERTIFICATEPOLICIES,
26395        inp: *mut *const u8,
26396        len: ::std::os::raw::c_long,
26397    ) -> *mut CERTIFICATEPOLICIES;
26398}
26399extern "C" {
26400    #[link_name = "\u{1}aws_lc_0_26_0_i2d_CERTIFICATEPOLICIES"]
26401    pub fn i2d_CERTIFICATEPOLICIES(
26402        policies: *const CERTIFICATEPOLICIES,
26403        outp: *mut *mut u8,
26404    ) -> ::std::os::raw::c_int;
26405}
26406extern "C" {
26407    #[link_name = "\u{1}aws_lc_0_26_0_POLICYINFO_new"]
26408    pub fn POLICYINFO_new() -> *mut POLICYINFO;
26409}
26410extern "C" {
26411    #[link_name = "\u{1}aws_lc_0_26_0_POLICYINFO_free"]
26412    pub fn POLICYINFO_free(info: *mut POLICYINFO);
26413}
26414extern "C" {
26415    #[link_name = "\u{1}aws_lc_0_26_0_POLICYQUALINFO_new"]
26416    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
26417}
26418extern "C" {
26419    #[link_name = "\u{1}aws_lc_0_26_0_POLICYQUALINFO_free"]
26420    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
26421}
26422extern "C" {
26423    #[link_name = "\u{1}aws_lc_0_26_0_USERNOTICE_new"]
26424    pub fn USERNOTICE_new() -> *mut USERNOTICE;
26425}
26426extern "C" {
26427    #[link_name = "\u{1}aws_lc_0_26_0_USERNOTICE_free"]
26428    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
26429}
26430extern "C" {
26431    #[link_name = "\u{1}aws_lc_0_26_0_NOTICEREF_new"]
26432    pub fn NOTICEREF_new() -> *mut NOTICEREF;
26433}
26434extern "C" {
26435    #[link_name = "\u{1}aws_lc_0_26_0_NOTICEREF_free"]
26436    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
26437}
26438extern "C" {
26439    #[link_name = "\u{1}aws_lc_0_26_0_CRL_DIST_POINTS_it"]
26440    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
26441}
26442extern "C" {
26443    #[link_name = "\u{1}aws_lc_0_26_0_CRL_DIST_POINTS_new"]
26444    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
26445}
26446extern "C" {
26447    #[link_name = "\u{1}aws_lc_0_26_0_CRL_DIST_POINTS_free"]
26448    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
26449}
26450extern "C" {
26451    #[link_name = "\u{1}aws_lc_0_26_0_d2i_CRL_DIST_POINTS"]
26452    pub fn d2i_CRL_DIST_POINTS(
26453        out: *mut *mut CRL_DIST_POINTS,
26454        inp: *mut *const u8,
26455        len: ::std::os::raw::c_long,
26456    ) -> *mut CRL_DIST_POINTS;
26457}
26458extern "C" {
26459    #[link_name = "\u{1}aws_lc_0_26_0_i2d_CRL_DIST_POINTS"]
26460    pub fn i2d_CRL_DIST_POINTS(
26461        crldp: *mut CRL_DIST_POINTS,
26462        outp: *mut *mut u8,
26463    ) -> ::std::os::raw::c_int;
26464}
26465extern "C" {
26466    #[link_name = "\u{1}aws_lc_0_26_0_DIST_POINT_new"]
26467    pub fn DIST_POINT_new() -> *mut DIST_POINT;
26468}
26469extern "C" {
26470    #[link_name = "\u{1}aws_lc_0_26_0_DIST_POINT_free"]
26471    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
26472}
26473extern "C" {
26474    #[link_name = "\u{1}aws_lc_0_26_0_DIST_POINT_NAME_new"]
26475    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
26476}
26477extern "C" {
26478    #[link_name = "\u{1}aws_lc_0_26_0_DIST_POINT_NAME_free"]
26479    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
26480}
26481extern "C" {
26482    #[link_name = "\u{1}aws_lc_0_26_0_ISSUING_DIST_POINT_it"]
26483    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
26484}
26485extern "C" {
26486    #[link_name = "\u{1}aws_lc_0_26_0_ISSUING_DIST_POINT_new"]
26487    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
26488}
26489extern "C" {
26490    #[link_name = "\u{1}aws_lc_0_26_0_ISSUING_DIST_POINT_free"]
26491    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
26492}
26493extern "C" {
26494    #[link_name = "\u{1}aws_lc_0_26_0_d2i_ISSUING_DIST_POINT"]
26495    pub fn d2i_ISSUING_DIST_POINT(
26496        out: *mut *mut ISSUING_DIST_POINT,
26497        inp: *mut *const u8,
26498        len: ::std::os::raw::c_long,
26499    ) -> *mut ISSUING_DIST_POINT;
26500}
26501extern "C" {
26502    #[link_name = "\u{1}aws_lc_0_26_0_i2d_ISSUING_DIST_POINT"]
26503    pub fn i2d_ISSUING_DIST_POINT(
26504        idp: *mut ISSUING_DIST_POINT,
26505        outp: *mut *mut u8,
26506    ) -> ::std::os::raw::c_int;
26507}
26508extern "C" {
26509    #[link_name = "\u{1}aws_lc_0_26_0_ACCESS_DESCRIPTION_new"]
26510    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
26511}
26512extern "C" {
26513    #[link_name = "\u{1}aws_lc_0_26_0_ACCESS_DESCRIPTION_free"]
26514    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
26515}
26516extern "C" {
26517    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_INFO_ACCESS_it"]
26518    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
26519}
26520extern "C" {
26521    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_INFO_ACCESS_new"]
26522    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
26523}
26524extern "C" {
26525    #[link_name = "\u{1}aws_lc_0_26_0_AUTHORITY_INFO_ACCESS_free"]
26526    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
26527}
26528extern "C" {
26529    #[link_name = "\u{1}aws_lc_0_26_0_d2i_AUTHORITY_INFO_ACCESS"]
26530    pub fn d2i_AUTHORITY_INFO_ACCESS(
26531        out: *mut *mut AUTHORITY_INFO_ACCESS,
26532        inp: *mut *const u8,
26533        len: ::std::os::raw::c_long,
26534    ) -> *mut AUTHORITY_INFO_ACCESS;
26535}
26536extern "C" {
26537    #[link_name = "\u{1}aws_lc_0_26_0_i2d_AUTHORITY_INFO_ACCESS"]
26538    pub fn i2d_AUTHORITY_INFO_ACCESS(
26539        aia: *mut AUTHORITY_INFO_ACCESS,
26540        outp: *mut *mut u8,
26541    ) -> ::std::os::raw::c_int;
26542}
26543extern "C" {
26544    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_MAPPING_new"]
26545    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
26546}
26547extern "C" {
26548    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_MAPPING_free"]
26549    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
26550}
26551extern "C" {
26552    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_MAPPINGS_it"]
26553    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
26554}
26555extern "C" {
26556    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_SUBTREE_new"]
26557    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
26558}
26559extern "C" {
26560    #[link_name = "\u{1}aws_lc_0_26_0_GENERAL_SUBTREE_free"]
26561    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
26562}
26563extern "C" {
26564    #[link_name = "\u{1}aws_lc_0_26_0_NAME_CONSTRAINTS_it"]
26565    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
26566}
26567extern "C" {
26568    #[link_name = "\u{1}aws_lc_0_26_0_NAME_CONSTRAINTS_new"]
26569    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
26570}
26571extern "C" {
26572    #[link_name = "\u{1}aws_lc_0_26_0_NAME_CONSTRAINTS_free"]
26573    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
26574}
26575extern "C" {
26576    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_CONSTRAINTS_new"]
26577    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
26578}
26579extern "C" {
26580    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_CONSTRAINTS_free"]
26581    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
26582}
26583extern "C" {
26584    #[link_name = "\u{1}aws_lc_0_26_0_POLICY_CONSTRAINTS_it"]
26585    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
26586}
26587extern "C" {
26588    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_set"]
26589    pub fn X509_PURPOSE_set(
26590        p: *mut ::std::os::raw::c_int,
26591        purpose: ::std::os::raw::c_int,
26592    ) -> ::std::os::raw::c_int;
26593}
26594extern "C" {
26595    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get_count"]
26596    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
26597}
26598extern "C" {
26599    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get_by_id"]
26600    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
26601}
26602extern "C" {
26603    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get0_name"]
26604    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26605}
26606extern "C" {
26607    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get0_sname"]
26608    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26609}
26610extern "C" {
26611    #[link_name = "\u{1}aws_lc_0_26_0_X509_PURPOSE_get_trust"]
26612    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
26613}
26614#[repr(C)]
26615#[derive(Debug, Copy, Clone)]
26616pub struct ocsp_cert_id_st {
26617    _unused: [u8; 0],
26618}
26619pub type OCSP_CERTID = ocsp_cert_id_st;
26620#[repr(C)]
26621#[derive(Debug, Copy, Clone)]
26622pub struct ocsp_one_request_st {
26623    _unused: [u8; 0],
26624}
26625pub type OCSP_ONEREQ = ocsp_one_request_st;
26626#[repr(C)]
26627#[derive(Debug, Copy, Clone)]
26628pub struct ocsp_req_info_st {
26629    _unused: [u8; 0],
26630}
26631pub type OCSP_REQINFO = ocsp_req_info_st;
26632#[repr(C)]
26633#[derive(Debug, Copy, Clone)]
26634pub struct ocsp_signature_st {
26635    _unused: [u8; 0],
26636}
26637pub type OCSP_SIGNATURE = ocsp_signature_st;
26638#[repr(C)]
26639#[derive(Debug, Copy, Clone)]
26640pub struct ocsp_request_st {
26641    _unused: [u8; 0],
26642}
26643pub type OCSP_REQUEST = ocsp_request_st;
26644#[repr(C)]
26645#[derive(Debug, Copy, Clone)]
26646pub struct ocsp_resp_bytes_st {
26647    _unused: [u8; 0],
26648}
26649pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
26650#[repr(C)]
26651#[derive(Debug, Copy, Clone)]
26652pub struct ocsp_revoked_info_st {
26653    _unused: [u8; 0],
26654}
26655pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
26656#[repr(C)]
26657#[derive(Debug, Copy, Clone)]
26658pub struct ocsp_cert_status_st {
26659    _unused: [u8; 0],
26660}
26661pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
26662#[repr(C)]
26663#[derive(Debug, Copy, Clone)]
26664pub struct ocsp_single_response_st {
26665    _unused: [u8; 0],
26666}
26667pub type OCSP_SINGLERESP = ocsp_single_response_st;
26668#[repr(C)]
26669#[derive(Debug, Copy, Clone)]
26670pub struct ocsp_response_data_st {
26671    _unused: [u8; 0],
26672}
26673pub type OCSP_RESPDATA = ocsp_response_data_st;
26674#[repr(C)]
26675#[derive(Debug, Copy, Clone)]
26676pub struct ocsp_response_st {
26677    _unused: [u8; 0],
26678}
26679pub type OCSP_RESPONSE = ocsp_response_st;
26680#[repr(C)]
26681#[derive(Debug, Copy, Clone)]
26682pub struct ocsp_responder_id_st {
26683    _unused: [u8; 0],
26684}
26685pub type OCSP_RESPID = ocsp_responder_id_st;
26686#[repr(C)]
26687#[derive(Debug, Copy, Clone)]
26688pub struct ocsp_basic_response_st {
26689    _unused: [u8; 0],
26690}
26691pub type OCSP_BASICRESP = ocsp_basic_response_st;
26692#[repr(C)]
26693#[derive(Debug, Copy, Clone)]
26694pub struct stack_st_OCSP_CERTID {
26695    _unused: [u8; 0],
26696}
26697pub type sk_OCSP_CERTID_free_func =
26698    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
26699pub type sk_OCSP_CERTID_copy_func =
26700    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
26701pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
26702    unsafe extern "C" fn(
26703        arg1: *const *const OCSP_CERTID,
26704        arg2: *const *const OCSP_CERTID,
26705    ) -> ::std::os::raw::c_int,
26706>;
26707pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
26708    unsafe extern "C" fn(
26709        arg1: *mut OCSP_CERTID,
26710        arg2: *mut ::std::os::raw::c_void,
26711    ) -> ::std::os::raw::c_int,
26712>;
26713#[repr(C)]
26714#[derive(Debug, Copy, Clone)]
26715pub struct stack_st_OCSP_ONEREQ {
26716    _unused: [u8; 0],
26717}
26718pub type sk_OCSP_ONEREQ_free_func =
26719    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
26720pub type sk_OCSP_ONEREQ_copy_func =
26721    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
26722pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
26723    unsafe extern "C" fn(
26724        arg1: *const *const OCSP_ONEREQ,
26725        arg2: *const *const OCSP_ONEREQ,
26726    ) -> ::std::os::raw::c_int,
26727>;
26728pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
26729    unsafe extern "C" fn(
26730        arg1: *mut OCSP_ONEREQ,
26731        arg2: *mut ::std::os::raw::c_void,
26732    ) -> ::std::os::raw::c_int,
26733>;
26734#[repr(C)]
26735#[derive(Debug, Copy, Clone)]
26736pub struct stack_st_OCSP_RESPID {
26737    _unused: [u8; 0],
26738}
26739pub type sk_OCSP_RESPID_free_func =
26740    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
26741pub type sk_OCSP_RESPID_copy_func =
26742    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
26743pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
26744    unsafe extern "C" fn(
26745        arg1: *const *const OCSP_RESPID,
26746        arg2: *const *const OCSP_RESPID,
26747    ) -> ::std::os::raw::c_int,
26748>;
26749pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
26750    unsafe extern "C" fn(
26751        arg1: *mut OCSP_RESPID,
26752        arg2: *mut ::std::os::raw::c_void,
26753    ) -> ::std::os::raw::c_int,
26754>;
26755#[repr(C)]
26756#[derive(Debug, Copy, Clone)]
26757pub struct stack_st_OCSP_SINGLERESP {
26758    _unused: [u8; 0],
26759}
26760pub type sk_OCSP_SINGLERESP_free_func =
26761    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
26762pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
26763    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
26764>;
26765pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
26766    unsafe extern "C" fn(
26767        arg1: *const *const OCSP_SINGLERESP,
26768        arg2: *const *const OCSP_SINGLERESP,
26769    ) -> ::std::os::raw::c_int,
26770>;
26771pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
26772    unsafe extern "C" fn(
26773        arg1: *mut OCSP_SINGLERESP,
26774        arg2: *mut ::std::os::raw::c_void,
26775    ) -> ::std::os::raw::c_int,
26776>;
26777extern "C" {
26778    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_new"]
26779    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
26780}
26781extern "C" {
26782    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_free"]
26783    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
26784}
26785extern "C" {
26786    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_BASICRESP"]
26787    pub fn d2i_OCSP_BASICRESP(
26788        a: *mut *mut OCSP_BASICRESP,
26789        in_: *mut *const ::std::os::raw::c_uchar,
26790        len: ::std::os::raw::c_long,
26791    ) -> *mut OCSP_BASICRESP;
26792}
26793extern "C" {
26794    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_BASICRESP"]
26795    pub fn i2d_OCSP_BASICRESP(
26796        a: *mut OCSP_BASICRESP,
26797        out: *mut *mut ::std::os::raw::c_uchar,
26798    ) -> ::std::os::raw::c_int;
26799}
26800extern "C" {
26801    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_it"]
26802    pub static OCSP_BASICRESP_it: ASN1_ITEM;
26803}
26804extern "C" {
26805    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_RESPONSE_new"]
26806    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
26807}
26808extern "C" {
26809    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_RESPONSE_free"]
26810    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
26811}
26812extern "C" {
26813    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_RESPONSE"]
26814    pub fn d2i_OCSP_RESPONSE(
26815        a: *mut *mut OCSP_RESPONSE,
26816        in_: *mut *const ::std::os::raw::c_uchar,
26817        len: ::std::os::raw::c_long,
26818    ) -> *mut OCSP_RESPONSE;
26819}
26820extern "C" {
26821    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_RESPONSE"]
26822    pub fn i2d_OCSP_RESPONSE(
26823        a: *mut OCSP_RESPONSE,
26824        out: *mut *mut ::std::os::raw::c_uchar,
26825    ) -> ::std::os::raw::c_int;
26826}
26827extern "C" {
26828    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_RESPONSE_it"]
26829    pub static OCSP_RESPONSE_it: ASN1_ITEM;
26830}
26831extern "C" {
26832    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_CERTID_new"]
26833    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
26834}
26835extern "C" {
26836    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_CERTID_free"]
26837    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
26838}
26839extern "C" {
26840    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_CERTID"]
26841    pub fn d2i_OCSP_CERTID(
26842        a: *mut *mut OCSP_CERTID,
26843        in_: *mut *const ::std::os::raw::c_uchar,
26844        len: ::std::os::raw::c_long,
26845    ) -> *mut OCSP_CERTID;
26846}
26847extern "C" {
26848    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_CERTID"]
26849    pub fn i2d_OCSP_CERTID(
26850        a: *mut OCSP_CERTID,
26851        out: *mut *mut ::std::os::raw::c_uchar,
26852    ) -> ::std::os::raw::c_int;
26853}
26854extern "C" {
26855    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_CERTID_it"]
26856    pub static OCSP_CERTID_it: ASN1_ITEM;
26857}
26858extern "C" {
26859    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQUEST_new"]
26860    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
26861}
26862extern "C" {
26863    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQUEST_free"]
26864    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
26865}
26866extern "C" {
26867    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_REQUEST"]
26868    pub fn d2i_OCSP_REQUEST(
26869        a: *mut *mut OCSP_REQUEST,
26870        in_: *mut *const ::std::os::raw::c_uchar,
26871        len: ::std::os::raw::c_long,
26872    ) -> *mut OCSP_REQUEST;
26873}
26874extern "C" {
26875    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_REQUEST"]
26876    pub fn i2d_OCSP_REQUEST(
26877        a: *mut OCSP_REQUEST,
26878        out: *mut *mut ::std::os::raw::c_uchar,
26879    ) -> ::std::os::raw::c_int;
26880}
26881extern "C" {
26882    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQUEST_it"]
26883    pub static OCSP_REQUEST_it: ASN1_ITEM;
26884}
26885extern "C" {
26886    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_new"]
26887    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
26888}
26889extern "C" {
26890    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_free"]
26891    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
26892}
26893extern "C" {
26894    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_SINGLERESP"]
26895    pub fn d2i_OCSP_SINGLERESP(
26896        a: *mut *mut OCSP_SINGLERESP,
26897        in_: *mut *const ::std::os::raw::c_uchar,
26898        len: ::std::os::raw::c_long,
26899    ) -> *mut OCSP_SINGLERESP;
26900}
26901extern "C" {
26902    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_SINGLERESP"]
26903    pub fn i2d_OCSP_SINGLERESP(
26904        a: *mut OCSP_SINGLERESP,
26905        out: *mut *mut ::std::os::raw::c_uchar,
26906    ) -> ::std::os::raw::c_int;
26907}
26908extern "C" {
26909    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_it"]
26910    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
26911}
26912extern "C" {
26913    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_REQUEST_bio"]
26914    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
26915}
26916extern "C" {
26917    #[link_name = "\u{1}aws_lc_0_26_0_d2i_OCSP_RESPONSE_bio"]
26918    pub fn d2i_OCSP_RESPONSE_bio(
26919        bp: *mut BIO,
26920        presp: *mut *mut OCSP_RESPONSE,
26921    ) -> *mut OCSP_RESPONSE;
26922}
26923extern "C" {
26924    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_RESPONSE_bio"]
26925    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
26926}
26927extern "C" {
26928    #[link_name = "\u{1}aws_lc_0_26_0_i2d_OCSP_REQUEST_bio"]
26929    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
26930}
26931extern "C" {
26932    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_CERTID_dup"]
26933    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
26934}
26935extern "C" {
26936    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_sendreq_bio"]
26937    pub fn OCSP_sendreq_bio(
26938        b: *mut BIO,
26939        path: *const ::std::os::raw::c_char,
26940        req: *mut OCSP_REQUEST,
26941    ) -> *mut OCSP_RESPONSE;
26942}
26943extern "C" {
26944    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_sendreq_new"]
26945    pub fn OCSP_sendreq_new(
26946        io: *mut BIO,
26947        path: *const ::std::os::raw::c_char,
26948        req: *mut OCSP_REQUEST,
26949        maxline: ::std::os::raw::c_int,
26950    ) -> *mut OCSP_REQ_CTX;
26951}
26952extern "C" {
26953    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_sendreq_nbio"]
26954    pub fn OCSP_sendreq_nbio(
26955        presp: *mut *mut OCSP_RESPONSE,
26956        rctx: *mut OCSP_REQ_CTX,
26957    ) -> ::std::os::raw::c_int;
26958}
26959extern "C" {
26960    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_new"]
26961    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
26962}
26963extern "C" {
26964    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_free"]
26965    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
26966}
26967extern "C" {
26968    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_set_max_response_length"]
26969    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
26970}
26971extern "C" {
26972    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_http"]
26973    pub fn OCSP_REQ_CTX_http(
26974        rctx: *mut OCSP_REQ_CTX,
26975        op: *const ::std::os::raw::c_char,
26976        path: *const ::std::os::raw::c_char,
26977    ) -> ::std::os::raw::c_int;
26978}
26979extern "C" {
26980    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_set1_req"]
26981    pub fn OCSP_REQ_CTX_set1_req(
26982        rctx: *mut OCSP_REQ_CTX,
26983        req: *mut OCSP_REQUEST,
26984    ) -> ::std::os::raw::c_int;
26985}
26986extern "C" {
26987    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_add1_header"]
26988    pub fn OCSP_REQ_CTX_add1_header(
26989        rctx: *mut OCSP_REQ_CTX,
26990        name: *const ::std::os::raw::c_char,
26991        value: *const ::std::os::raw::c_char,
26992    ) -> ::std::os::raw::c_int;
26993}
26994extern "C" {
26995    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQ_CTX_i2d"]
26996    pub fn OCSP_REQ_CTX_i2d(
26997        rctx: *mut OCSP_REQ_CTX,
26998        it: *const ASN1_ITEM,
26999        val: *mut ASN1_VALUE,
27000    ) -> ::std::os::raw::c_int;
27001}
27002extern "C" {
27003    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_add0_id"]
27004    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
27005}
27006extern "C" {
27007    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_onereq_get0_id"]
27008    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
27009}
27010extern "C" {
27011    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_add1_nonce"]
27012    pub fn OCSP_request_add1_nonce(
27013        req: *mut OCSP_REQUEST,
27014        val: *mut ::std::os::raw::c_uchar,
27015        len: ::std::os::raw::c_int,
27016    ) -> ::std::os::raw::c_int;
27017}
27018extern "C" {
27019    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_basic_add1_nonce"]
27020    pub fn OCSP_basic_add1_nonce(
27021        resp: *mut OCSP_BASICRESP,
27022        val: *mut ::std::os::raw::c_uchar,
27023        len: ::std::os::raw::c_int,
27024    ) -> ::std::os::raw::c_int;
27025}
27026extern "C" {
27027    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_check_nonce"]
27028    pub fn OCSP_check_nonce(
27029        req: *mut OCSP_REQUEST,
27030        bs: *mut OCSP_BASICRESP,
27031    ) -> ::std::os::raw::c_int;
27032}
27033extern "C" {
27034    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_copy_nonce"]
27035    pub fn OCSP_copy_nonce(
27036        resp: *mut OCSP_BASICRESP,
27037        req: *mut OCSP_REQUEST,
27038    ) -> ::std::os::raw::c_int;
27039}
27040extern "C" {
27041    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_set1_name"]
27042    pub fn OCSP_request_set1_name(
27043        req: *mut OCSP_REQUEST,
27044        nm: *mut X509_NAME,
27045    ) -> ::std::os::raw::c_int;
27046}
27047extern "C" {
27048    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_add1_cert"]
27049    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
27050        -> ::std::os::raw::c_int;
27051}
27052extern "C" {
27053    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_is_signed"]
27054    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27055}
27056extern "C" {
27057    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_onereq_count"]
27058    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27059}
27060extern "C" {
27061    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_onereq_get0"]
27062    pub fn OCSP_request_onereq_get0(
27063        req: *mut OCSP_REQUEST,
27064        i: ::std::os::raw::c_int,
27065    ) -> *mut OCSP_ONEREQ;
27066}
27067extern "C" {
27068    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_sign"]
27069    pub fn OCSP_request_sign(
27070        req: *mut OCSP_REQUEST,
27071        signer: *mut X509,
27072        key: *mut EVP_PKEY,
27073        dgst: *const EVP_MD,
27074        certs: *mut stack_st_X509,
27075        flags: ::std::os::raw::c_ulong,
27076    ) -> ::std::os::raw::c_int;
27077}
27078extern "C" {
27079    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_response_status"]
27080    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
27081}
27082extern "C" {
27083    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_response_get1_basic"]
27084    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
27085}
27086extern "C" {
27087    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_resp_count"]
27088    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
27089}
27090extern "C" {
27091    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_resp_get0"]
27092    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
27093}
27094extern "C" {
27095    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_single_get0_status"]
27096    pub fn OCSP_single_get0_status(
27097        single: *mut OCSP_SINGLERESP,
27098        reason: *mut ::std::os::raw::c_int,
27099        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27100        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27101        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27102    ) -> ::std::os::raw::c_int;
27103}
27104extern "C" {
27105    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_resp_find"]
27106    pub fn OCSP_resp_find(
27107        bs: *mut OCSP_BASICRESP,
27108        id: *mut OCSP_CERTID,
27109        last: ::std::os::raw::c_int,
27110    ) -> ::std::os::raw::c_int;
27111}
27112extern "C" {
27113    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_resp_find_status"]
27114    pub fn OCSP_resp_find_status(
27115        bs: *mut OCSP_BASICRESP,
27116        id: *mut OCSP_CERTID,
27117        status: *mut ::std::os::raw::c_int,
27118        reason: *mut ::std::os::raw::c_int,
27119        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27120        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27121        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27122    ) -> ::std::os::raw::c_int;
27123}
27124extern "C" {
27125    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_check_validity"]
27126    pub fn OCSP_check_validity(
27127        thisUpdate: *mut ASN1_GENERALIZEDTIME,
27128        nextUpdate: *mut ASN1_GENERALIZEDTIME,
27129        drift_num_seconds: ::std::os::raw::c_long,
27130        max_age_seconds: ::std::os::raw::c_long,
27131    ) -> ::std::os::raw::c_int;
27132}
27133extern "C" {
27134    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_basic_verify"]
27135    pub fn OCSP_basic_verify(
27136        bs: *mut OCSP_BASICRESP,
27137        certs: *mut stack_st_X509,
27138        st: *mut X509_STORE,
27139        flags: ::std::os::raw::c_ulong,
27140    ) -> ::std::os::raw::c_int;
27141}
27142extern "C" {
27143    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_request_verify"]
27144    pub fn OCSP_request_verify(
27145        req: *mut OCSP_REQUEST,
27146        certs: *mut stack_st_X509,
27147        st: *mut X509_STORE,
27148        flags: ::std::os::raw::c_ulong,
27149    ) -> ::std::os::raw::c_int;
27150}
27151extern "C" {
27152    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_cert_id_new"]
27153    pub fn OCSP_cert_id_new(
27154        dgst: *const EVP_MD,
27155        issuerName: *const X509_NAME,
27156        issuerKey: *const ASN1_BIT_STRING,
27157        serialNumber: *const ASN1_INTEGER,
27158    ) -> *mut OCSP_CERTID;
27159}
27160extern "C" {
27161    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_cert_to_id"]
27162    pub fn OCSP_cert_to_id(
27163        dgst: *const EVP_MD,
27164        subject: *const X509,
27165        issuer: *const X509,
27166    ) -> *mut OCSP_CERTID;
27167}
27168extern "C" {
27169    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_parse_url"]
27170    pub fn OCSP_parse_url(
27171        url: *const ::std::os::raw::c_char,
27172        phost: *mut *mut ::std::os::raw::c_char,
27173        pport: *mut *mut ::std::os::raw::c_char,
27174        ppath: *mut *mut ::std::os::raw::c_char,
27175        pssl: *mut ::std::os::raw::c_int,
27176    ) -> ::std::os::raw::c_int;
27177}
27178extern "C" {
27179    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_id_issuer_cmp"]
27180    pub fn OCSP_id_issuer_cmp(
27181        a: *const OCSP_CERTID,
27182        b: *const OCSP_CERTID,
27183    ) -> ::std::os::raw::c_int;
27184}
27185extern "C" {
27186    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_id_cmp"]
27187    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
27188}
27189extern "C" {
27190    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_id_get0_info"]
27191    pub fn OCSP_id_get0_info(
27192        nameHash: *mut *mut ASN1_OCTET_STRING,
27193        algor: *mut *mut ASN1_OBJECT,
27194        keyHash: *mut *mut ASN1_OCTET_STRING,
27195        serial: *mut *mut ASN1_INTEGER,
27196        cid: *mut OCSP_CERTID,
27197    ) -> ::std::os::raw::c_int;
27198}
27199extern "C" {
27200    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_basic_add1_cert"]
27201    pub fn OCSP_basic_add1_cert(
27202        resp: *mut OCSP_BASICRESP,
27203        cert: *mut X509,
27204    ) -> ::std::os::raw::c_int;
27205}
27206extern "C" {
27207    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_basic_add1_status"]
27208    pub fn OCSP_basic_add1_status(
27209        resp: *mut OCSP_BASICRESP,
27210        cid: *mut OCSP_CERTID,
27211        status: ::std::os::raw::c_int,
27212        revoked_reason: ::std::os::raw::c_int,
27213        revoked_time: *mut ASN1_TIME,
27214        this_update: *mut ASN1_TIME,
27215        next_update: *mut ASN1_TIME,
27216    ) -> *mut OCSP_SINGLERESP;
27217}
27218extern "C" {
27219    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_basic_sign"]
27220    pub fn OCSP_basic_sign(
27221        resp: *mut OCSP_BASICRESP,
27222        signer: *mut X509,
27223        key: *mut EVP_PKEY,
27224        dgst: *const EVP_MD,
27225        certs: *mut stack_st_X509,
27226        flags: ::std::os::raw::c_ulong,
27227    ) -> ::std::os::raw::c_int;
27228}
27229extern "C" {
27230    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_response_create"]
27231    pub fn OCSP_response_create(
27232        status: ::std::os::raw::c_int,
27233        bs: *mut OCSP_BASICRESP,
27234    ) -> *mut OCSP_RESPONSE;
27235}
27236extern "C" {
27237    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_get0_id"]
27238    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
27239}
27240extern "C" {
27241    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_response_status_str"]
27242    pub fn OCSP_response_status_str(
27243        status_code: ::std::os::raw::c_long,
27244    ) -> *const ::std::os::raw::c_char;
27245}
27246extern "C" {
27247    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_cert_status_str"]
27248    pub fn OCSP_cert_status_str(
27249        status_code: ::std::os::raw::c_long,
27250    ) -> *const ::std::os::raw::c_char;
27251}
27252extern "C" {
27253    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_crl_reason_str"]
27254    pub fn OCSP_crl_reason_str(
27255        status_code: ::std::os::raw::c_long,
27256    ) -> *const ::std::os::raw::c_char;
27257}
27258extern "C" {
27259    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_REQUEST_print"]
27260    pub fn OCSP_REQUEST_print(
27261        bp: *mut BIO,
27262        req: *mut OCSP_REQUEST,
27263        flags: ::std::os::raw::c_ulong,
27264    ) -> ::std::os::raw::c_int;
27265}
27266extern "C" {
27267    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_RESPONSE_print"]
27268    pub fn OCSP_RESPONSE_print(
27269        bp: *mut BIO,
27270        resp: *mut OCSP_RESPONSE,
27271        flags: ::std::os::raw::c_ulong,
27272    ) -> ::std::os::raw::c_int;
27273}
27274extern "C" {
27275    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_get_ext_by_NID"]
27276    pub fn OCSP_BASICRESP_get_ext_by_NID(
27277        bs: *mut OCSP_BASICRESP,
27278        nid: ::std::os::raw::c_int,
27279        lastpos: ::std::os::raw::c_int,
27280    ) -> ::std::os::raw::c_int;
27281}
27282extern "C" {
27283    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_get_ext"]
27284    pub fn OCSP_BASICRESP_get_ext(
27285        bs: *mut OCSP_BASICRESP,
27286        loc: ::std::os::raw::c_int,
27287    ) -> *mut X509_EXTENSION;
27288}
27289extern "C" {
27290    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_BASICRESP_delete_ext"]
27291    pub fn OCSP_BASICRESP_delete_ext(
27292        x: *mut OCSP_BASICRESP,
27293        loc: ::std::os::raw::c_int,
27294    ) -> *mut X509_EXTENSION;
27295}
27296extern "C" {
27297    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_add_ext"]
27298    pub fn OCSP_SINGLERESP_add_ext(
27299        sresp: *mut OCSP_SINGLERESP,
27300        ex: *mut X509_EXTENSION,
27301        loc: ::std::os::raw::c_int,
27302    ) -> ::std::os::raw::c_int;
27303}
27304extern "C" {
27305    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_get_ext_count"]
27306    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
27307}
27308extern "C" {
27309    #[link_name = "\u{1}aws_lc_0_26_0_OCSP_SINGLERESP_get_ext"]
27310    pub fn OCSP_SINGLERESP_get_ext(
27311        sresp: *mut OCSP_SINGLERESP,
27312        loc: ::std::os::raw::c_int,
27313    ) -> *mut X509_EXTENSION;
27314}
27315pub type pem_password_cb = ::std::option::Option<
27316    unsafe extern "C" fn(
27317        buf: *mut ::std::os::raw::c_char,
27318        size: ::std::os::raw::c_int,
27319        rwflag: ::std::os::raw::c_int,
27320        userdata: *mut ::std::os::raw::c_void,
27321    ) -> ::std::os::raw::c_int,
27322>;
27323extern "C" {
27324    #[link_name = "\u{1}aws_lc_0_26_0_PEM_get_EVP_CIPHER_INFO"]
27325    pub fn PEM_get_EVP_CIPHER_INFO(
27326        header: *mut ::std::os::raw::c_char,
27327        cipher: *mut EVP_CIPHER_INFO,
27328    ) -> ::std::os::raw::c_int;
27329}
27330extern "C" {
27331    #[link_name = "\u{1}aws_lc_0_26_0_PEM_do_header"]
27332    pub fn PEM_do_header(
27333        cipher: *mut EVP_CIPHER_INFO,
27334        data: *mut ::std::os::raw::c_uchar,
27335        len: *mut ::std::os::raw::c_long,
27336        callback: pem_password_cb,
27337        u: *mut ::std::os::raw::c_void,
27338    ) -> ::std::os::raw::c_int;
27339}
27340extern "C" {
27341    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio"]
27342    pub fn PEM_read_bio(
27343        bp: *mut BIO,
27344        name: *mut *mut ::std::os::raw::c_char,
27345        header: *mut *mut ::std::os::raw::c_char,
27346        data: *mut *mut ::std::os::raw::c_uchar,
27347        len: *mut ::std::os::raw::c_long,
27348    ) -> ::std::os::raw::c_int;
27349}
27350extern "C" {
27351    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio"]
27352    pub fn PEM_write_bio(
27353        bp: *mut BIO,
27354        name: *const ::std::os::raw::c_char,
27355        hdr: *const ::std::os::raw::c_char,
27356        data: *const ::std::os::raw::c_uchar,
27357        len: ::std::os::raw::c_long,
27358    ) -> ::std::os::raw::c_int;
27359}
27360extern "C" {
27361    #[link_name = "\u{1}aws_lc_0_26_0_PEM_bytes_read_bio"]
27362    pub fn PEM_bytes_read_bio(
27363        pdata: *mut *mut ::std::os::raw::c_uchar,
27364        plen: *mut ::std::os::raw::c_long,
27365        pnm: *mut *mut ::std::os::raw::c_char,
27366        name: *const ::std::os::raw::c_char,
27367        bp: *mut BIO,
27368        cb: pem_password_cb,
27369        u: *mut ::std::os::raw::c_void,
27370    ) -> ::std::os::raw::c_int;
27371}
27372extern "C" {
27373    #[link_name = "\u{1}aws_lc_0_26_0_PEM_ASN1_read_bio"]
27374    pub fn PEM_ASN1_read_bio(
27375        d2i: d2i_of_void,
27376        name: *const ::std::os::raw::c_char,
27377        bp: *mut BIO,
27378        x: *mut *mut ::std::os::raw::c_void,
27379        cb: pem_password_cb,
27380        u: *mut ::std::os::raw::c_void,
27381    ) -> *mut ::std::os::raw::c_void;
27382}
27383extern "C" {
27384    #[link_name = "\u{1}aws_lc_0_26_0_PEM_ASN1_write_bio"]
27385    pub fn PEM_ASN1_write_bio(
27386        i2d: i2d_of_void,
27387        name: *const ::std::os::raw::c_char,
27388        bp: *mut BIO,
27389        x: *mut ::std::os::raw::c_void,
27390        enc: *const EVP_CIPHER,
27391        pass: *const ::std::os::raw::c_uchar,
27392        pass_len: ::std::os::raw::c_int,
27393        cb: pem_password_cb,
27394        u: *mut ::std::os::raw::c_void,
27395    ) -> ::std::os::raw::c_int;
27396}
27397extern "C" {
27398    #[link_name = "\u{1}aws_lc_0_26_0_PEM_X509_INFO_read_bio"]
27399    pub fn PEM_X509_INFO_read_bio(
27400        bp: *mut BIO,
27401        sk: *mut stack_st_X509_INFO,
27402        cb: pem_password_cb,
27403        u: *mut ::std::os::raw::c_void,
27404    ) -> *mut stack_st_X509_INFO;
27405}
27406extern "C" {
27407    #[link_name = "\u{1}aws_lc_0_26_0_PEM_X509_INFO_read"]
27408    pub fn PEM_X509_INFO_read(
27409        fp: *mut FILE,
27410        sk: *mut stack_st_X509_INFO,
27411        cb: pem_password_cb,
27412        u: *mut ::std::os::raw::c_void,
27413    ) -> *mut stack_st_X509_INFO;
27414}
27415extern "C" {
27416    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read"]
27417    pub fn PEM_read(
27418        fp: *mut FILE,
27419        name: *mut *mut ::std::os::raw::c_char,
27420        header: *mut *mut ::std::os::raw::c_char,
27421        data: *mut *mut ::std::os::raw::c_uchar,
27422        len: *mut ::std::os::raw::c_long,
27423    ) -> ::std::os::raw::c_int;
27424}
27425extern "C" {
27426    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write"]
27427    pub fn PEM_write(
27428        fp: *mut FILE,
27429        name: *const ::std::os::raw::c_char,
27430        hdr: *const ::std::os::raw::c_char,
27431        data: *const ::std::os::raw::c_uchar,
27432        len: ::std::os::raw::c_long,
27433    ) -> ::std::os::raw::c_int;
27434}
27435extern "C" {
27436    #[link_name = "\u{1}aws_lc_0_26_0_PEM_ASN1_read"]
27437    pub fn PEM_ASN1_read(
27438        d2i: d2i_of_void,
27439        name: *const ::std::os::raw::c_char,
27440        fp: *mut FILE,
27441        x: *mut *mut ::std::os::raw::c_void,
27442        cb: pem_password_cb,
27443        u: *mut ::std::os::raw::c_void,
27444    ) -> *mut ::std::os::raw::c_void;
27445}
27446extern "C" {
27447    #[link_name = "\u{1}aws_lc_0_26_0_PEM_ASN1_write"]
27448    pub fn PEM_ASN1_write(
27449        i2d: i2d_of_void,
27450        name: *const ::std::os::raw::c_char,
27451        fp: *mut FILE,
27452        x: *mut ::std::os::raw::c_void,
27453        enc: *const EVP_CIPHER,
27454        pass: *const ::std::os::raw::c_uchar,
27455        pass_len: ::std::os::raw::c_int,
27456        callback: pem_password_cb,
27457        u: *mut ::std::os::raw::c_void,
27458    ) -> ::std::os::raw::c_int;
27459}
27460extern "C" {
27461    #[link_name = "\u{1}aws_lc_0_26_0_PEM_def_callback"]
27462    pub fn PEM_def_callback(
27463        buf: *mut ::std::os::raw::c_char,
27464        size: ::std::os::raw::c_int,
27465        rwflag: ::std::os::raw::c_int,
27466        userdata: *mut ::std::os::raw::c_void,
27467    ) -> ::std::os::raw::c_int;
27468}
27469extern "C" {
27470    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_X509"]
27471    pub fn PEM_read_bio_X509(
27472        bp: *mut BIO,
27473        x: *mut *mut X509,
27474        cb: pem_password_cb,
27475        u: *mut ::std::os::raw::c_void,
27476    ) -> *mut X509;
27477}
27478extern "C" {
27479    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_X509"]
27480    pub fn PEM_read_X509(
27481        fp: *mut FILE,
27482        x: *mut *mut X509,
27483        cb: pem_password_cb,
27484        u: *mut ::std::os::raw::c_void,
27485    ) -> *mut X509;
27486}
27487extern "C" {
27488    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_X509"]
27489    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27490}
27491extern "C" {
27492    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_X509"]
27493    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27494}
27495extern "C" {
27496    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_X509_AUX"]
27497    pub fn PEM_read_bio_X509_AUX(
27498        bp: *mut BIO,
27499        x: *mut *mut X509,
27500        cb: pem_password_cb,
27501        u: *mut ::std::os::raw::c_void,
27502    ) -> *mut X509;
27503}
27504extern "C" {
27505    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_X509_AUX"]
27506    pub fn PEM_read_X509_AUX(
27507        fp: *mut FILE,
27508        x: *mut *mut X509,
27509        cb: pem_password_cb,
27510        u: *mut ::std::os::raw::c_void,
27511    ) -> *mut X509;
27512}
27513extern "C" {
27514    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_X509_AUX"]
27515    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27516}
27517extern "C" {
27518    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_X509_AUX"]
27519    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27520}
27521extern "C" {
27522    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_X509_REQ"]
27523    pub fn PEM_read_bio_X509_REQ(
27524        bp: *mut BIO,
27525        x: *mut *mut X509_REQ,
27526        cb: pem_password_cb,
27527        u: *mut ::std::os::raw::c_void,
27528    ) -> *mut X509_REQ;
27529}
27530extern "C" {
27531    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_X509_REQ"]
27532    pub fn PEM_read_X509_REQ(
27533        fp: *mut FILE,
27534        x: *mut *mut X509_REQ,
27535        cb: pem_password_cb,
27536        u: *mut ::std::os::raw::c_void,
27537    ) -> *mut X509_REQ;
27538}
27539extern "C" {
27540    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_X509_REQ"]
27541    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27542}
27543extern "C" {
27544    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_X509_REQ"]
27545    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27546}
27547extern "C" {
27548    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_X509_REQ_NEW"]
27549    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27550}
27551extern "C" {
27552    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_X509_REQ_NEW"]
27553    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27554}
27555extern "C" {
27556    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_X509_CRL"]
27557    pub fn PEM_read_bio_X509_CRL(
27558        bp: *mut BIO,
27559        x: *mut *mut X509_CRL,
27560        cb: pem_password_cb,
27561        u: *mut ::std::os::raw::c_void,
27562    ) -> *mut X509_CRL;
27563}
27564extern "C" {
27565    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_X509_CRL"]
27566    pub fn PEM_read_X509_CRL(
27567        fp: *mut FILE,
27568        x: *mut *mut X509_CRL,
27569        cb: pem_password_cb,
27570        u: *mut ::std::os::raw::c_void,
27571    ) -> *mut X509_CRL;
27572}
27573extern "C" {
27574    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_X509_CRL"]
27575    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27576}
27577extern "C" {
27578    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_X509_CRL"]
27579    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27580}
27581extern "C" {
27582    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_PKCS7"]
27583    pub fn PEM_read_bio_PKCS7(
27584        bp: *mut BIO,
27585        x: *mut *mut PKCS7,
27586        cb: pem_password_cb,
27587        u: *mut ::std::os::raw::c_void,
27588    ) -> *mut PKCS7;
27589}
27590extern "C" {
27591    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_PKCS7"]
27592    pub fn PEM_read_PKCS7(
27593        fp: *mut FILE,
27594        x: *mut *mut PKCS7,
27595        cb: pem_password_cb,
27596        u: *mut ::std::os::raw::c_void,
27597    ) -> *mut PKCS7;
27598}
27599extern "C" {
27600    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PKCS7"]
27601    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
27602}
27603extern "C" {
27604    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PKCS7"]
27605    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
27606}
27607extern "C" {
27608    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_PKCS8"]
27609    pub fn PEM_read_bio_PKCS8(
27610        bp: *mut BIO,
27611        x: *mut *mut X509_SIG,
27612        cb: pem_password_cb,
27613        u: *mut ::std::os::raw::c_void,
27614    ) -> *mut X509_SIG;
27615}
27616extern "C" {
27617    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_PKCS8"]
27618    pub fn PEM_read_PKCS8(
27619        fp: *mut FILE,
27620        x: *mut *mut X509_SIG,
27621        cb: pem_password_cb,
27622        u: *mut ::std::os::raw::c_void,
27623    ) -> *mut X509_SIG;
27624}
27625extern "C" {
27626    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PKCS8"]
27627    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27628}
27629extern "C" {
27630    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PKCS8"]
27631    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27632}
27633extern "C" {
27634    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
27635    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
27636        bp: *mut BIO,
27637        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27638        cb: pem_password_cb,
27639        u: *mut ::std::os::raw::c_void,
27640    ) -> *mut PKCS8_PRIV_KEY_INFO;
27641}
27642extern "C" {
27643    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
27644    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
27645        fp: *mut FILE,
27646        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27647        cb: pem_password_cb,
27648        u: *mut ::std::os::raw::c_void,
27649    ) -> *mut PKCS8_PRIV_KEY_INFO;
27650}
27651extern "C" {
27652    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
27653    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
27654        bp: *mut BIO,
27655        x: *mut PKCS8_PRIV_KEY_INFO,
27656    ) -> ::std::os::raw::c_int;
27657}
27658extern "C" {
27659    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
27660    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
27661        fp: *mut FILE,
27662        x: *mut PKCS8_PRIV_KEY_INFO,
27663    ) -> ::std::os::raw::c_int;
27664}
27665extern "C" {
27666    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_RSAPrivateKey"]
27667    pub fn PEM_read_bio_RSAPrivateKey(
27668        bp: *mut BIO,
27669        x: *mut *mut RSA,
27670        cb: pem_password_cb,
27671        u: *mut ::std::os::raw::c_void,
27672    ) -> *mut RSA;
27673}
27674extern "C" {
27675    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_RSAPrivateKey"]
27676    pub fn PEM_read_RSAPrivateKey(
27677        fp: *mut FILE,
27678        x: *mut *mut RSA,
27679        cb: pem_password_cb,
27680        u: *mut ::std::os::raw::c_void,
27681    ) -> *mut RSA;
27682}
27683extern "C" {
27684    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_RSAPrivateKey"]
27685    pub fn PEM_write_bio_RSAPrivateKey(
27686        bp: *mut BIO,
27687        x: *mut RSA,
27688        enc: *const EVP_CIPHER,
27689        pass: *const ::std::os::raw::c_uchar,
27690        pass_len: ::std::os::raw::c_int,
27691        cb: pem_password_cb,
27692        u: *mut ::std::os::raw::c_void,
27693    ) -> ::std::os::raw::c_int;
27694}
27695extern "C" {
27696    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_RSAPrivateKey"]
27697    pub fn PEM_write_RSAPrivateKey(
27698        fp: *mut FILE,
27699        x: *mut RSA,
27700        enc: *const EVP_CIPHER,
27701        pass: *const ::std::os::raw::c_uchar,
27702        pass_len: ::std::os::raw::c_int,
27703        cb: pem_password_cb,
27704        u: *mut ::std::os::raw::c_void,
27705    ) -> ::std::os::raw::c_int;
27706}
27707extern "C" {
27708    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_RSAPublicKey"]
27709    pub fn PEM_read_bio_RSAPublicKey(
27710        bp: *mut BIO,
27711        x: *mut *mut RSA,
27712        cb: pem_password_cb,
27713        u: *mut ::std::os::raw::c_void,
27714    ) -> *mut RSA;
27715}
27716extern "C" {
27717    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_RSAPublicKey"]
27718    pub fn PEM_read_RSAPublicKey(
27719        fp: *mut FILE,
27720        x: *mut *mut RSA,
27721        cb: pem_password_cb,
27722        u: *mut ::std::os::raw::c_void,
27723    ) -> *mut RSA;
27724}
27725extern "C" {
27726    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_RSAPublicKey"]
27727    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
27728}
27729extern "C" {
27730    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_RSAPublicKey"]
27731    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
27732}
27733extern "C" {
27734    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_RSA_PUBKEY"]
27735    pub fn PEM_read_bio_RSA_PUBKEY(
27736        bp: *mut BIO,
27737        x: *mut *mut RSA,
27738        cb: pem_password_cb,
27739        u: *mut ::std::os::raw::c_void,
27740    ) -> *mut RSA;
27741}
27742extern "C" {
27743    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_RSA_PUBKEY"]
27744    pub fn PEM_read_RSA_PUBKEY(
27745        fp: *mut FILE,
27746        x: *mut *mut RSA,
27747        cb: pem_password_cb,
27748        u: *mut ::std::os::raw::c_void,
27749    ) -> *mut RSA;
27750}
27751extern "C" {
27752    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_RSA_PUBKEY"]
27753    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
27754}
27755extern "C" {
27756    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_RSA_PUBKEY"]
27757    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
27758}
27759extern "C" {
27760    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_DSAPrivateKey"]
27761    pub fn PEM_read_bio_DSAPrivateKey(
27762        bp: *mut BIO,
27763        x: *mut *mut DSA,
27764        cb: pem_password_cb,
27765        u: *mut ::std::os::raw::c_void,
27766    ) -> *mut DSA;
27767}
27768extern "C" {
27769    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_DSAPrivateKey"]
27770    pub fn PEM_read_DSAPrivateKey(
27771        fp: *mut FILE,
27772        x: *mut *mut DSA,
27773        cb: pem_password_cb,
27774        u: *mut ::std::os::raw::c_void,
27775    ) -> *mut DSA;
27776}
27777extern "C" {
27778    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_DSAPrivateKey"]
27779    pub fn PEM_write_bio_DSAPrivateKey(
27780        bp: *mut BIO,
27781        x: *mut DSA,
27782        enc: *const EVP_CIPHER,
27783        pass: *const ::std::os::raw::c_uchar,
27784        pass_len: ::std::os::raw::c_int,
27785        cb: pem_password_cb,
27786        u: *mut ::std::os::raw::c_void,
27787    ) -> ::std::os::raw::c_int;
27788}
27789extern "C" {
27790    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_DSAPrivateKey"]
27791    pub fn PEM_write_DSAPrivateKey(
27792        fp: *mut FILE,
27793        x: *mut DSA,
27794        enc: *const EVP_CIPHER,
27795        pass: *const ::std::os::raw::c_uchar,
27796        pass_len: ::std::os::raw::c_int,
27797        cb: pem_password_cb,
27798        u: *mut ::std::os::raw::c_void,
27799    ) -> ::std::os::raw::c_int;
27800}
27801extern "C" {
27802    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_DSA_PUBKEY"]
27803    pub fn PEM_read_bio_DSA_PUBKEY(
27804        bp: *mut BIO,
27805        x: *mut *mut DSA,
27806        cb: pem_password_cb,
27807        u: *mut ::std::os::raw::c_void,
27808    ) -> *mut DSA;
27809}
27810extern "C" {
27811    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_DSA_PUBKEY"]
27812    pub fn PEM_read_DSA_PUBKEY(
27813        fp: *mut FILE,
27814        x: *mut *mut DSA,
27815        cb: pem_password_cb,
27816        u: *mut ::std::os::raw::c_void,
27817    ) -> *mut DSA;
27818}
27819extern "C" {
27820    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_DSA_PUBKEY"]
27821    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
27822}
27823extern "C" {
27824    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_DSA_PUBKEY"]
27825    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
27826}
27827extern "C" {
27828    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_DSAparams"]
27829    pub fn PEM_read_bio_DSAparams(
27830        bp: *mut BIO,
27831        x: *mut *mut DSA,
27832        cb: pem_password_cb,
27833        u: *mut ::std::os::raw::c_void,
27834    ) -> *mut DSA;
27835}
27836extern "C" {
27837    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_DSAparams"]
27838    pub fn PEM_read_DSAparams(
27839        fp: *mut FILE,
27840        x: *mut *mut DSA,
27841        cb: pem_password_cb,
27842        u: *mut ::std::os::raw::c_void,
27843    ) -> *mut DSA;
27844}
27845extern "C" {
27846    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_DSAparams"]
27847    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
27848}
27849extern "C" {
27850    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_DSAparams"]
27851    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
27852}
27853extern "C" {
27854    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_ECPrivateKey"]
27855    pub fn PEM_read_bio_ECPrivateKey(
27856        bp: *mut BIO,
27857        x: *mut *mut EC_KEY,
27858        cb: pem_password_cb,
27859        u: *mut ::std::os::raw::c_void,
27860    ) -> *mut EC_KEY;
27861}
27862extern "C" {
27863    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_ECPrivateKey"]
27864    pub fn PEM_read_ECPrivateKey(
27865        fp: *mut FILE,
27866        x: *mut *mut EC_KEY,
27867        cb: pem_password_cb,
27868        u: *mut ::std::os::raw::c_void,
27869    ) -> *mut EC_KEY;
27870}
27871extern "C" {
27872    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_ECPrivateKey"]
27873    pub fn PEM_write_bio_ECPrivateKey(
27874        bp: *mut BIO,
27875        x: *mut EC_KEY,
27876        enc: *const EVP_CIPHER,
27877        pass: *const ::std::os::raw::c_uchar,
27878        pass_len: ::std::os::raw::c_int,
27879        cb: pem_password_cb,
27880        u: *mut ::std::os::raw::c_void,
27881    ) -> ::std::os::raw::c_int;
27882}
27883extern "C" {
27884    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_ECPrivateKey"]
27885    pub fn PEM_write_ECPrivateKey(
27886        fp: *mut FILE,
27887        x: *mut EC_KEY,
27888        enc: *const EVP_CIPHER,
27889        pass: *const ::std::os::raw::c_uchar,
27890        pass_len: ::std::os::raw::c_int,
27891        cb: pem_password_cb,
27892        u: *mut ::std::os::raw::c_void,
27893    ) -> ::std::os::raw::c_int;
27894}
27895extern "C" {
27896    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_EC_PUBKEY"]
27897    pub fn PEM_read_bio_EC_PUBKEY(
27898        bp: *mut BIO,
27899        x: *mut *mut EC_KEY,
27900        cb: pem_password_cb,
27901        u: *mut ::std::os::raw::c_void,
27902    ) -> *mut EC_KEY;
27903}
27904extern "C" {
27905    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_EC_PUBKEY"]
27906    pub fn PEM_read_EC_PUBKEY(
27907        fp: *mut FILE,
27908        x: *mut *mut EC_KEY,
27909        cb: pem_password_cb,
27910        u: *mut ::std::os::raw::c_void,
27911    ) -> *mut EC_KEY;
27912}
27913extern "C" {
27914    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_EC_PUBKEY"]
27915    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
27916}
27917extern "C" {
27918    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_EC_PUBKEY"]
27919    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
27920}
27921extern "C" {
27922    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_DHparams"]
27923    pub fn PEM_read_bio_DHparams(
27924        bp: *mut BIO,
27925        x: *mut *mut DH,
27926        cb: pem_password_cb,
27927        u: *mut ::std::os::raw::c_void,
27928    ) -> *mut DH;
27929}
27930extern "C" {
27931    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_DHparams"]
27932    pub fn PEM_read_DHparams(
27933        fp: *mut FILE,
27934        x: *mut *mut DH,
27935        cb: pem_password_cb,
27936        u: *mut ::std::os::raw::c_void,
27937    ) -> *mut DH;
27938}
27939extern "C" {
27940    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_DHparams"]
27941    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
27942}
27943extern "C" {
27944    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_DHparams"]
27945    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
27946}
27947extern "C" {
27948    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_PrivateKey"]
27949    pub fn PEM_read_bio_PrivateKey(
27950        bp: *mut BIO,
27951        x: *mut *mut EVP_PKEY,
27952        cb: pem_password_cb,
27953        u: *mut ::std::os::raw::c_void,
27954    ) -> *mut EVP_PKEY;
27955}
27956extern "C" {
27957    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_PrivateKey"]
27958    pub fn PEM_read_PrivateKey(
27959        fp: *mut FILE,
27960        x: *mut *mut EVP_PKEY,
27961        cb: pem_password_cb,
27962        u: *mut ::std::os::raw::c_void,
27963    ) -> *mut EVP_PKEY;
27964}
27965extern "C" {
27966    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PrivateKey"]
27967    pub fn PEM_write_bio_PrivateKey(
27968        bp: *mut BIO,
27969        x: *mut EVP_PKEY,
27970        enc: *const EVP_CIPHER,
27971        pass: *const ::std::os::raw::c_uchar,
27972        pass_len: ::std::os::raw::c_int,
27973        cb: pem_password_cb,
27974        u: *mut ::std::os::raw::c_void,
27975    ) -> ::std::os::raw::c_int;
27976}
27977extern "C" {
27978    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PrivateKey"]
27979    pub fn PEM_write_PrivateKey(
27980        fp: *mut FILE,
27981        x: *mut EVP_PKEY,
27982        enc: *const EVP_CIPHER,
27983        pass: *const ::std::os::raw::c_uchar,
27984        pass_len: ::std::os::raw::c_int,
27985        cb: pem_password_cb,
27986        u: *mut ::std::os::raw::c_void,
27987    ) -> ::std::os::raw::c_int;
27988}
27989extern "C" {
27990    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_PUBKEY"]
27991    pub fn PEM_read_bio_PUBKEY(
27992        bp: *mut BIO,
27993        x: *mut *mut EVP_PKEY,
27994        cb: pem_password_cb,
27995        u: *mut ::std::os::raw::c_void,
27996    ) -> *mut EVP_PKEY;
27997}
27998extern "C" {
27999    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_PUBKEY"]
28000    pub fn PEM_read_PUBKEY(
28001        fp: *mut FILE,
28002        x: *mut *mut EVP_PKEY,
28003        cb: pem_password_cb,
28004        u: *mut ::std::os::raw::c_void,
28005    ) -> *mut EVP_PKEY;
28006}
28007extern "C" {
28008    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PUBKEY"]
28009    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28010}
28011extern "C" {
28012    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PUBKEY"]
28013    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28014}
28015extern "C" {
28016    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PKCS8PrivateKey_nid"]
28017    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
28018        bp: *mut BIO,
28019        x: *const EVP_PKEY,
28020        nid: ::std::os::raw::c_int,
28021        pass: *const ::std::os::raw::c_char,
28022        pass_len: ::std::os::raw::c_int,
28023        cb: pem_password_cb,
28024        u: *mut ::std::os::raw::c_void,
28025    ) -> ::std::os::raw::c_int;
28026}
28027extern "C" {
28028    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PKCS8PrivateKey"]
28029    pub fn PEM_write_bio_PKCS8PrivateKey(
28030        bp: *mut BIO,
28031        x: *const EVP_PKEY,
28032        enc: *const EVP_CIPHER,
28033        pass: *const ::std::os::raw::c_char,
28034        pass_len: ::std::os::raw::c_int,
28035        cb: pem_password_cb,
28036        u: *mut ::std::os::raw::c_void,
28037    ) -> ::std::os::raw::c_int;
28038}
28039extern "C" {
28040    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKey_bio"]
28041    pub fn i2d_PKCS8PrivateKey_bio(
28042        bp: *mut BIO,
28043        x: *const EVP_PKEY,
28044        enc: *const EVP_CIPHER,
28045        pass: *const ::std::os::raw::c_char,
28046        pass_len: ::std::os::raw::c_int,
28047        cb: pem_password_cb,
28048        u: *mut ::std::os::raw::c_void,
28049    ) -> ::std::os::raw::c_int;
28050}
28051extern "C" {
28052    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKey_nid_bio"]
28053    pub fn i2d_PKCS8PrivateKey_nid_bio(
28054        bp: *mut BIO,
28055        x: *const EVP_PKEY,
28056        nid: ::std::os::raw::c_int,
28057        pass: *const ::std::os::raw::c_char,
28058        pass_len: ::std::os::raw::c_int,
28059        cb: pem_password_cb,
28060        u: *mut ::std::os::raw::c_void,
28061    ) -> ::std::os::raw::c_int;
28062}
28063extern "C" {
28064    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8PrivateKey_bio"]
28065    pub fn d2i_PKCS8PrivateKey_bio(
28066        bp: *mut BIO,
28067        x: *mut *mut EVP_PKEY,
28068        cb: pem_password_cb,
28069        u: *mut ::std::os::raw::c_void,
28070    ) -> *mut EVP_PKEY;
28071}
28072extern "C" {
28073    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKey_fp"]
28074    pub fn i2d_PKCS8PrivateKey_fp(
28075        fp: *mut FILE,
28076        x: *const EVP_PKEY,
28077        enc: *const EVP_CIPHER,
28078        pass: *const ::std::os::raw::c_char,
28079        pass_len: ::std::os::raw::c_int,
28080        cb: pem_password_cb,
28081        u: *mut ::std::os::raw::c_void,
28082    ) -> ::std::os::raw::c_int;
28083}
28084extern "C" {
28085    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS8PrivateKey_nid_fp"]
28086    pub fn i2d_PKCS8PrivateKey_nid_fp(
28087        fp: *mut FILE,
28088        x: *const EVP_PKEY,
28089        nid: ::std::os::raw::c_int,
28090        pass: *const ::std::os::raw::c_char,
28091        pass_len: ::std::os::raw::c_int,
28092        cb: pem_password_cb,
28093        u: *mut ::std::os::raw::c_void,
28094    ) -> ::std::os::raw::c_int;
28095}
28096extern "C" {
28097    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PKCS8PrivateKey_nid"]
28098    pub fn PEM_write_PKCS8PrivateKey_nid(
28099        fp: *mut FILE,
28100        x: *const EVP_PKEY,
28101        nid: ::std::os::raw::c_int,
28102        pass: *const ::std::os::raw::c_char,
28103        pass_len: ::std::os::raw::c_int,
28104        cb: pem_password_cb,
28105        u: *mut ::std::os::raw::c_void,
28106    ) -> ::std::os::raw::c_int;
28107}
28108extern "C" {
28109    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS8PrivateKey_fp"]
28110    pub fn d2i_PKCS8PrivateKey_fp(
28111        fp: *mut FILE,
28112        x: *mut *mut EVP_PKEY,
28113        cb: pem_password_cb,
28114        u: *mut ::std::os::raw::c_void,
28115    ) -> *mut EVP_PKEY;
28116}
28117extern "C" {
28118    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_PKCS8PrivateKey"]
28119    pub fn PEM_write_PKCS8PrivateKey(
28120        fp: *mut FILE,
28121        x: *const EVP_PKEY,
28122        enc: *const EVP_CIPHER,
28123        pass: *const ::std::os::raw::c_char,
28124        pass_len: ::std::os::raw::c_int,
28125        cd: pem_password_cb,
28126        u: *mut ::std::os::raw::c_void,
28127    ) -> ::std::os::raw::c_int;
28128}
28129extern "C" {
28130    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_Parameters"]
28131    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
28132}
28133extern "C" {
28134    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_Parameters"]
28135    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28136}
28137extern "C" {
28138    #[link_name = "\u{1}aws_lc_0_26_0_PEM_read_bio_ECPKParameters"]
28139    pub fn PEM_read_bio_ECPKParameters(
28140        bio: *mut BIO,
28141        out_group: *mut *mut EC_GROUP,
28142        cb: pem_password_cb,
28143        u: *mut ::std::os::raw::c_void,
28144    ) -> *mut EC_GROUP;
28145}
28146extern "C" {
28147    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_ECPKParameters"]
28148    pub fn PEM_write_bio_ECPKParameters(
28149        out: *mut BIO,
28150        group: *const EC_GROUP,
28151    ) -> ::std::os::raw::c_int;
28152}
28153extern "C" {
28154    #[link_name = "\u{1}aws_lc_0_26_0_PEM_write_bio_PrivateKey_traditional"]
28155    pub fn PEM_write_bio_PrivateKey_traditional(
28156        bp: *mut BIO,
28157        x: *mut EVP_PKEY,
28158        enc: *const EVP_CIPHER,
28159        kstr: *mut ::std::os::raw::c_uchar,
28160        klen: ::std::os::raw::c_int,
28161        cb: pem_password_cb,
28162        u: *mut ::std::os::raw::c_void,
28163    ) -> ::std::os::raw::c_int;
28164}
28165extern "C" {
28166    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_encrypt"]
28167    pub fn PKCS8_encrypt(
28168        pbe_nid: ::std::os::raw::c_int,
28169        cipher: *const EVP_CIPHER,
28170        pass: *const ::std::os::raw::c_char,
28171        pass_len: ::std::os::raw::c_int,
28172        salt: *const u8,
28173        salt_len: usize,
28174        iterations: ::std::os::raw::c_int,
28175        p8inf: *mut PKCS8_PRIV_KEY_INFO,
28176    ) -> *mut X509_SIG;
28177}
28178extern "C" {
28179    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_marshal_encrypted_private_key"]
28180    pub fn PKCS8_marshal_encrypted_private_key(
28181        out: *mut CBB,
28182        pbe_nid: ::std::os::raw::c_int,
28183        cipher: *const EVP_CIPHER,
28184        pass: *const ::std::os::raw::c_char,
28185        pass_len: usize,
28186        salt: *const u8,
28187        salt_len: usize,
28188        iterations: ::std::os::raw::c_int,
28189        pkey: *const EVP_PKEY,
28190    ) -> ::std::os::raw::c_int;
28191}
28192extern "C" {
28193    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_decrypt"]
28194    pub fn PKCS8_decrypt(
28195        pkcs8: *mut X509_SIG,
28196        pass: *const ::std::os::raw::c_char,
28197        pass_len: ::std::os::raw::c_int,
28198    ) -> *mut PKCS8_PRIV_KEY_INFO;
28199}
28200extern "C" {
28201    #[link_name = "\u{1}aws_lc_0_26_0_PKCS8_parse_encrypted_private_key"]
28202    pub fn PKCS8_parse_encrypted_private_key(
28203        cbs: *mut CBS,
28204        pass: *const ::std::os::raw::c_char,
28205        pass_len: usize,
28206    ) -> *mut EVP_PKEY;
28207}
28208extern "C" {
28209    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_get_key_and_certs"]
28210    pub fn PKCS12_get_key_and_certs(
28211        out_key: *mut *mut EVP_PKEY,
28212        out_certs: *mut stack_st_X509,
28213        in_: *mut CBS,
28214        password: *const ::std::os::raw::c_char,
28215    ) -> ::std::os::raw::c_int;
28216}
28217extern "C" {
28218    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_PBE_add"]
28219    pub fn PKCS12_PBE_add();
28220}
28221extern "C" {
28222    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS12"]
28223    pub fn d2i_PKCS12(
28224        out_p12: *mut *mut PKCS12,
28225        ber_bytes: *mut *const u8,
28226        ber_len: usize,
28227    ) -> *mut PKCS12;
28228}
28229extern "C" {
28230    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS12_bio"]
28231    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28232}
28233extern "C" {
28234    #[link_name = "\u{1}aws_lc_0_26_0_d2i_PKCS12_fp"]
28235    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28236}
28237extern "C" {
28238    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS12"]
28239    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
28240}
28241extern "C" {
28242    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS12_bio"]
28243    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
28244}
28245extern "C" {
28246    #[link_name = "\u{1}aws_lc_0_26_0_i2d_PKCS12_fp"]
28247    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
28248}
28249extern "C" {
28250    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_parse"]
28251    pub fn PKCS12_parse(
28252        p12: *const PKCS12,
28253        password: *const ::std::os::raw::c_char,
28254        out_pkey: *mut *mut EVP_PKEY,
28255        out_cert: *mut *mut X509,
28256        out_ca_certs: *mut *mut stack_st_X509,
28257    ) -> ::std::os::raw::c_int;
28258}
28259extern "C" {
28260    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_set_mac"]
28261    pub fn PKCS12_set_mac(
28262        p12: *mut PKCS12,
28263        password: *const ::std::os::raw::c_char,
28264        password_len: ::std::os::raw::c_int,
28265        salt: *mut ::std::os::raw::c_uchar,
28266        salt_len: ::std::os::raw::c_int,
28267        mac_iterations: ::std::os::raw::c_int,
28268        md: *const EVP_MD,
28269    ) -> ::std::os::raw::c_int;
28270}
28271extern "C" {
28272    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_verify_mac"]
28273    pub fn PKCS12_verify_mac(
28274        p12: *const PKCS12,
28275        password: *const ::std::os::raw::c_char,
28276        password_len: ::std::os::raw::c_int,
28277    ) -> ::std::os::raw::c_int;
28278}
28279extern "C" {
28280    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_create"]
28281    pub fn PKCS12_create(
28282        password: *const ::std::os::raw::c_char,
28283        name: *const ::std::os::raw::c_char,
28284        pkey: *const EVP_PKEY,
28285        cert: *mut X509,
28286        chain: *const stack_st_X509,
28287        key_nid: ::std::os::raw::c_int,
28288        cert_nid: ::std::os::raw::c_int,
28289        iterations: ::std::os::raw::c_int,
28290        mac_iterations: ::std::os::raw::c_int,
28291        key_type: ::std::os::raw::c_int,
28292    ) -> *mut PKCS12;
28293}
28294extern "C" {
28295    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_new"]
28296    pub fn PKCS12_new() -> *mut PKCS12;
28297}
28298extern "C" {
28299    #[link_name = "\u{1}aws_lc_0_26_0_PKCS12_free"]
28300    pub fn PKCS12_free(p12: *mut PKCS12);
28301}
28302pub type poly1305_state = [u8; 512usize];
28303extern "C" {
28304    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_poly1305_init"]
28305    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
28306}
28307extern "C" {
28308    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_poly1305_update"]
28309    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
28310}
28311extern "C" {
28312    #[link_name = "\u{1}aws_lc_0_26_0_CRYPTO_poly1305_finish"]
28313    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
28314}
28315extern "C" {
28316    #[link_name = "\u{1}aws_lc_0_26_0_RAND_bytes"]
28317    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28318}
28319extern "C" {
28320    #[link_name = "\u{1}aws_lc_0_26_0_RAND_priv_bytes"]
28321    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28322}
28323extern "C" {
28324    #[link_name = "\u{1}aws_lc_0_26_0_RAND_enable_fork_unsafe_buffering"]
28325    pub fn RAND_enable_fork_unsafe_buffering(fd: ::std::os::raw::c_int);
28326}
28327extern "C" {
28328    #[link_name = "\u{1}aws_lc_0_26_0_RAND_get_system_entropy_for_custom_prng"]
28329    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
28330}
28331extern "C" {
28332    #[link_name = "\u{1}aws_lc_0_26_0_RAND_pseudo_bytes"]
28333    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28334}
28335extern "C" {
28336    #[link_name = "\u{1}aws_lc_0_26_0_RAND_seed"]
28337    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
28338}
28339extern "C" {
28340    #[link_name = "\u{1}aws_lc_0_26_0_RAND_load_file"]
28341    pub fn RAND_load_file(
28342        path: *const ::std::os::raw::c_char,
28343        num: ::std::os::raw::c_long,
28344    ) -> ::std::os::raw::c_int;
28345}
28346extern "C" {
28347    #[link_name = "\u{1}aws_lc_0_26_0_RAND_write_file"]
28348    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28349}
28350extern "C" {
28351    #[link_name = "\u{1}aws_lc_0_26_0_RAND_file_name"]
28352    pub fn RAND_file_name(
28353        buf: *mut ::std::os::raw::c_char,
28354        num: usize,
28355    ) -> *const ::std::os::raw::c_char;
28356}
28357extern "C" {
28358    #[link_name = "\u{1}aws_lc_0_26_0_RAND_add"]
28359    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
28360}
28361extern "C" {
28362    #[link_name = "\u{1}aws_lc_0_26_0_RAND_egd"]
28363    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28364}
28365extern "C" {
28366    #[link_name = "\u{1}aws_lc_0_26_0_RAND_egd_bytes"]
28367    pub fn RAND_egd_bytes(
28368        arg1: *const ::std::os::raw::c_char,
28369        bytes: ::std::os::raw::c_int,
28370    ) -> ::std::os::raw::c_int;
28371}
28372extern "C" {
28373    #[link_name = "\u{1}aws_lc_0_26_0_RAND_poll"]
28374    pub fn RAND_poll() -> ::std::os::raw::c_int;
28375}
28376extern "C" {
28377    #[link_name = "\u{1}aws_lc_0_26_0_RAND_status"]
28378    pub fn RAND_status() -> ::std::os::raw::c_int;
28379}
28380extern "C" {
28381    #[link_name = "\u{1}aws_lc_0_26_0_RAND_cleanup"]
28382    pub fn RAND_cleanup();
28383}
28384#[repr(C)]
28385#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
28386pub struct rand_meth_st {
28387    pub seed: ::std::option::Option<
28388        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
28389    >,
28390    pub bytes: ::std::option::Option<
28391        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28392    >,
28393    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
28394    pub add: ::std::option::Option<
28395        unsafe extern "C" fn(
28396            buf: *const ::std::os::raw::c_void,
28397            num: ::std::os::raw::c_int,
28398            entropy: f64,
28399        ),
28400    >,
28401    pub pseudorand: ::std::option::Option<
28402        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28403    >,
28404    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
28405}
28406#[test]
28407fn bindgen_test_layout_rand_meth_st() {
28408    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
28409    let ptr = UNINIT.as_ptr();
28410    assert_eq!(
28411        ::std::mem::size_of::<rand_meth_st>(),
28412        24usize,
28413        concat!("Size of: ", stringify!(rand_meth_st))
28414    );
28415    assert_eq!(
28416        ::std::mem::align_of::<rand_meth_st>(),
28417        4usize,
28418        concat!("Alignment of ", stringify!(rand_meth_st))
28419    );
28420    assert_eq!(
28421        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
28422        0usize,
28423        concat!(
28424            "Offset of field: ",
28425            stringify!(rand_meth_st),
28426            "::",
28427            stringify!(seed)
28428        )
28429    );
28430    assert_eq!(
28431        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
28432        4usize,
28433        concat!(
28434            "Offset of field: ",
28435            stringify!(rand_meth_st),
28436            "::",
28437            stringify!(bytes)
28438        )
28439    );
28440    assert_eq!(
28441        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
28442        8usize,
28443        concat!(
28444            "Offset of field: ",
28445            stringify!(rand_meth_st),
28446            "::",
28447            stringify!(cleanup)
28448        )
28449    );
28450    assert_eq!(
28451        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
28452        12usize,
28453        concat!(
28454            "Offset of field: ",
28455            stringify!(rand_meth_st),
28456            "::",
28457            stringify!(add)
28458        )
28459    );
28460    assert_eq!(
28461        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
28462        16usize,
28463        concat!(
28464            "Offset of field: ",
28465            stringify!(rand_meth_st),
28466            "::",
28467            stringify!(pseudorand)
28468        )
28469    );
28470    assert_eq!(
28471        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
28472        20usize,
28473        concat!(
28474            "Offset of field: ",
28475            stringify!(rand_meth_st),
28476            "::",
28477            stringify!(status)
28478        )
28479    );
28480}
28481extern "C" {
28482    #[link_name = "\u{1}aws_lc_0_26_0_RAND_SSLeay"]
28483    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
28484}
28485extern "C" {
28486    #[link_name = "\u{1}aws_lc_0_26_0_RAND_OpenSSL"]
28487    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
28488}
28489extern "C" {
28490    #[link_name = "\u{1}aws_lc_0_26_0_RAND_get_rand_method"]
28491    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
28492}
28493extern "C" {
28494    #[link_name = "\u{1}aws_lc_0_26_0_RAND_set_rand_method"]
28495    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
28496}
28497extern "C" {
28498    #[link_name = "\u{1}aws_lc_0_26_0_RAND_keep_random_devices_open"]
28499    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
28500}
28501#[repr(C)]
28502#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28503pub struct rc4_key_st {
28504    pub x: u32,
28505    pub y: u32,
28506    pub data: [u32; 256usize],
28507}
28508#[test]
28509fn bindgen_test_layout_rc4_key_st() {
28510    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
28511    let ptr = UNINIT.as_ptr();
28512    assert_eq!(
28513        ::std::mem::size_of::<rc4_key_st>(),
28514        1032usize,
28515        concat!("Size of: ", stringify!(rc4_key_st))
28516    );
28517    assert_eq!(
28518        ::std::mem::align_of::<rc4_key_st>(),
28519        4usize,
28520        concat!("Alignment of ", stringify!(rc4_key_st))
28521    );
28522    assert_eq!(
28523        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
28524        0usize,
28525        concat!(
28526            "Offset of field: ",
28527            stringify!(rc4_key_st),
28528            "::",
28529            stringify!(x)
28530        )
28531    );
28532    assert_eq!(
28533        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
28534        4usize,
28535        concat!(
28536            "Offset of field: ",
28537            stringify!(rc4_key_st),
28538            "::",
28539            stringify!(y)
28540        )
28541    );
28542    assert_eq!(
28543        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28544        8usize,
28545        concat!(
28546            "Offset of field: ",
28547            stringify!(rc4_key_st),
28548            "::",
28549            stringify!(data)
28550        )
28551    );
28552}
28553impl Default for rc4_key_st {
28554    fn default() -> Self {
28555        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28556        unsafe {
28557            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28558            s.assume_init()
28559        }
28560    }
28561}
28562extern "C" {
28563    #[link_name = "\u{1}aws_lc_0_26_0_RC4_set_key"]
28564    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
28565}
28566extern "C" {
28567    #[link_name = "\u{1}aws_lc_0_26_0_RC4"]
28568    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
28569}
28570#[repr(C)]
28571#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28572pub struct RIPEMD160state_st {
28573    pub h: [u32; 5usize],
28574    pub Nl: u32,
28575    pub Nh: u32,
28576    pub data: [u8; 64usize],
28577    pub num: ::std::os::raw::c_uint,
28578}
28579#[test]
28580fn bindgen_test_layout_RIPEMD160state_st() {
28581    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
28582    let ptr = UNINIT.as_ptr();
28583    assert_eq!(
28584        ::std::mem::size_of::<RIPEMD160state_st>(),
28585        96usize,
28586        concat!("Size of: ", stringify!(RIPEMD160state_st))
28587    );
28588    assert_eq!(
28589        ::std::mem::align_of::<RIPEMD160state_st>(),
28590        4usize,
28591        concat!("Alignment of ", stringify!(RIPEMD160state_st))
28592    );
28593    assert_eq!(
28594        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
28595        0usize,
28596        concat!(
28597            "Offset of field: ",
28598            stringify!(RIPEMD160state_st),
28599            "::",
28600            stringify!(h)
28601        )
28602    );
28603    assert_eq!(
28604        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
28605        20usize,
28606        concat!(
28607            "Offset of field: ",
28608            stringify!(RIPEMD160state_st),
28609            "::",
28610            stringify!(Nl)
28611        )
28612    );
28613    assert_eq!(
28614        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
28615        24usize,
28616        concat!(
28617            "Offset of field: ",
28618            stringify!(RIPEMD160state_st),
28619            "::",
28620            stringify!(Nh)
28621        )
28622    );
28623    assert_eq!(
28624        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28625        28usize,
28626        concat!(
28627            "Offset of field: ",
28628            stringify!(RIPEMD160state_st),
28629            "::",
28630            stringify!(data)
28631        )
28632    );
28633    assert_eq!(
28634        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
28635        92usize,
28636        concat!(
28637            "Offset of field: ",
28638            stringify!(RIPEMD160state_st),
28639            "::",
28640            stringify!(num)
28641        )
28642    );
28643}
28644impl Default for RIPEMD160state_st {
28645    fn default() -> Self {
28646        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28647        unsafe {
28648            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28649            s.assume_init()
28650        }
28651    }
28652}
28653extern "C" {
28654    #[link_name = "\u{1}aws_lc_0_26_0_RIPEMD160_Init"]
28655    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28656}
28657extern "C" {
28658    #[link_name = "\u{1}aws_lc_0_26_0_RIPEMD160_Update"]
28659    pub fn RIPEMD160_Update(
28660        ctx: *mut RIPEMD160_CTX,
28661        data: *const ::std::os::raw::c_void,
28662        len: usize,
28663    ) -> ::std::os::raw::c_int;
28664}
28665extern "C" {
28666    #[link_name = "\u{1}aws_lc_0_26_0_RIPEMD160_Final"]
28667    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28668}
28669extern "C" {
28670    #[link_name = "\u{1}aws_lc_0_26_0_RIPEMD160"]
28671    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
28672}
28673extern "C" {
28674    #[link_name = "\u{1}aws_lc_0_26_0_SIPHASH_24"]
28675    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
28676}
28677extern "C" {
28678    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_experiment_v1"]
28679    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
28680}
28681extern "C" {
28682    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_experiment_v2_voprf"]
28683    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
28684}
28685extern "C" {
28686    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_experiment_v2_pmb"]
28687    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
28688}
28689extern "C" {
28690    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_pst_v1_voprf"]
28691    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
28692}
28693extern "C" {
28694    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_pst_v1_pmb"]
28695    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
28696}
28697#[repr(C)]
28698#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28699pub struct trust_token_st {
28700    pub data: *mut u8,
28701    pub len: usize,
28702}
28703#[test]
28704fn bindgen_test_layout_trust_token_st() {
28705    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
28706    let ptr = UNINIT.as_ptr();
28707    assert_eq!(
28708        ::std::mem::size_of::<trust_token_st>(),
28709        8usize,
28710        concat!("Size of: ", stringify!(trust_token_st))
28711    );
28712    assert_eq!(
28713        ::std::mem::align_of::<trust_token_st>(),
28714        4usize,
28715        concat!("Alignment of ", stringify!(trust_token_st))
28716    );
28717    assert_eq!(
28718        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28719        0usize,
28720        concat!(
28721            "Offset of field: ",
28722            stringify!(trust_token_st),
28723            "::",
28724            stringify!(data)
28725        )
28726    );
28727    assert_eq!(
28728        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
28729        4usize,
28730        concat!(
28731            "Offset of field: ",
28732            stringify!(trust_token_st),
28733            "::",
28734            stringify!(len)
28735        )
28736    );
28737}
28738impl Default for trust_token_st {
28739    fn default() -> Self {
28740        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28741        unsafe {
28742            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28743            s.assume_init()
28744        }
28745    }
28746}
28747#[repr(C)]
28748#[derive(Debug, Copy, Clone)]
28749pub struct stack_st_TRUST_TOKEN {
28750    _unused: [u8; 0],
28751}
28752pub type sk_TRUST_TOKEN_free_func =
28753    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
28754pub type sk_TRUST_TOKEN_copy_func =
28755    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
28756pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
28757    unsafe extern "C" fn(
28758        arg1: *const *const TRUST_TOKEN,
28759        arg2: *const *const TRUST_TOKEN,
28760    ) -> ::std::os::raw::c_int,
28761>;
28762pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
28763    unsafe extern "C" fn(
28764        arg1: *mut TRUST_TOKEN,
28765        arg2: *mut ::std::os::raw::c_void,
28766    ) -> ::std::os::raw::c_int,
28767>;
28768extern "C" {
28769    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_new"]
28770    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
28771}
28772extern "C" {
28773    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_free"]
28774    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
28775}
28776extern "C" {
28777    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_generate_key"]
28778    pub fn TRUST_TOKEN_generate_key(
28779        method: *const TRUST_TOKEN_METHOD,
28780        out_priv_key: *mut u8,
28781        out_priv_key_len: *mut usize,
28782        max_priv_key_len: usize,
28783        out_pub_key: *mut u8,
28784        out_pub_key_len: *mut usize,
28785        max_pub_key_len: usize,
28786        id: u32,
28787    ) -> ::std::os::raw::c_int;
28788}
28789extern "C" {
28790    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_derive_key_from_secret"]
28791    pub fn TRUST_TOKEN_derive_key_from_secret(
28792        method: *const TRUST_TOKEN_METHOD,
28793        out_priv_key: *mut u8,
28794        out_priv_key_len: *mut usize,
28795        max_priv_key_len: usize,
28796        out_pub_key: *mut u8,
28797        out_pub_key_len: *mut usize,
28798        max_pub_key_len: usize,
28799        id: u32,
28800        secret: *const u8,
28801        secret_len: usize,
28802    ) -> ::std::os::raw::c_int;
28803}
28804extern "C" {
28805    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_new"]
28806    pub fn TRUST_TOKEN_CLIENT_new(
28807        method: *const TRUST_TOKEN_METHOD,
28808        max_batchsize: usize,
28809    ) -> *mut TRUST_TOKEN_CLIENT;
28810}
28811extern "C" {
28812    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_free"]
28813    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
28814}
28815extern "C" {
28816    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_add_key"]
28817    pub fn TRUST_TOKEN_CLIENT_add_key(
28818        ctx: *mut TRUST_TOKEN_CLIENT,
28819        out_key_index: *mut usize,
28820        key: *const u8,
28821        key_len: usize,
28822    ) -> ::std::os::raw::c_int;
28823}
28824extern "C" {
28825    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_set_srr_key"]
28826    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
28827        ctx: *mut TRUST_TOKEN_CLIENT,
28828        key: *mut EVP_PKEY,
28829    ) -> ::std::os::raw::c_int;
28830}
28831extern "C" {
28832    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_begin_issuance"]
28833    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
28834        ctx: *mut TRUST_TOKEN_CLIENT,
28835        out: *mut *mut u8,
28836        out_len: *mut usize,
28837        count: usize,
28838    ) -> ::std::os::raw::c_int;
28839}
28840extern "C" {
28841    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
28842    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
28843        ctx: *mut TRUST_TOKEN_CLIENT,
28844        out: *mut *mut u8,
28845        out_len: *mut usize,
28846        count: usize,
28847        msg: *const u8,
28848        msg_len: usize,
28849    ) -> ::std::os::raw::c_int;
28850}
28851extern "C" {
28852    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_finish_issuance"]
28853    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
28854        ctx: *mut TRUST_TOKEN_CLIENT,
28855        out_key_index: *mut usize,
28856        response: *const u8,
28857        response_len: usize,
28858    ) -> *mut stack_st_TRUST_TOKEN;
28859}
28860extern "C" {
28861    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_begin_redemption"]
28862    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
28863        ctx: *mut TRUST_TOKEN_CLIENT,
28864        out: *mut *mut u8,
28865        out_len: *mut usize,
28866        token: *const TRUST_TOKEN,
28867        data: *const u8,
28868        data_len: usize,
28869        time: u64,
28870    ) -> ::std::os::raw::c_int;
28871}
28872extern "C" {
28873    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_CLIENT_finish_redemption"]
28874    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
28875        ctx: *mut TRUST_TOKEN_CLIENT,
28876        out_rr: *mut *mut u8,
28877        out_rr_len: *mut usize,
28878        out_sig: *mut *mut u8,
28879        out_sig_len: *mut usize,
28880        response: *const u8,
28881        response_len: usize,
28882    ) -> ::std::os::raw::c_int;
28883}
28884extern "C" {
28885    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_new"]
28886    pub fn TRUST_TOKEN_ISSUER_new(
28887        method: *const TRUST_TOKEN_METHOD,
28888        max_batchsize: usize,
28889    ) -> *mut TRUST_TOKEN_ISSUER;
28890}
28891extern "C" {
28892    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_free"]
28893    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
28894}
28895extern "C" {
28896    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_add_key"]
28897    pub fn TRUST_TOKEN_ISSUER_add_key(
28898        ctx: *mut TRUST_TOKEN_ISSUER,
28899        key: *const u8,
28900        key_len: usize,
28901    ) -> ::std::os::raw::c_int;
28902}
28903extern "C" {
28904    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_set_srr_key"]
28905    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
28906        ctx: *mut TRUST_TOKEN_ISSUER,
28907        key: *mut EVP_PKEY,
28908    ) -> ::std::os::raw::c_int;
28909}
28910extern "C" {
28911    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
28912    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
28913        ctx: *mut TRUST_TOKEN_ISSUER,
28914        key: *const u8,
28915        len: usize,
28916    ) -> ::std::os::raw::c_int;
28917}
28918extern "C" {
28919    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_issue"]
28920    pub fn TRUST_TOKEN_ISSUER_issue(
28921        ctx: *const TRUST_TOKEN_ISSUER,
28922        out: *mut *mut u8,
28923        out_len: *mut usize,
28924        out_tokens_issued: *mut usize,
28925        request: *const u8,
28926        request_len: usize,
28927        public_metadata: u32,
28928        private_metadata: u8,
28929        max_issuance: usize,
28930    ) -> ::std::os::raw::c_int;
28931}
28932extern "C" {
28933    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_redeem"]
28934    pub fn TRUST_TOKEN_ISSUER_redeem(
28935        ctx: *const TRUST_TOKEN_ISSUER,
28936        out_public: *mut u32,
28937        out_private: *mut u8,
28938        out_token: *mut *mut TRUST_TOKEN,
28939        out_client_data: *mut *mut u8,
28940        out_client_data_len: *mut usize,
28941        request: *const u8,
28942        request_len: usize,
28943    ) -> ::std::os::raw::c_int;
28944}
28945extern "C" {
28946    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
28947    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
28948        ctx: *const TRUST_TOKEN_ISSUER,
28949        out_public: *mut u32,
28950        out_private: *mut u8,
28951        out_token: *mut *mut TRUST_TOKEN,
28952        out_client_data: *mut *mut u8,
28953        out_client_data_len: *mut usize,
28954        request: *const u8,
28955        request_len: usize,
28956        msg: *const u8,
28957        msg_len: usize,
28958    ) -> ::std::os::raw::c_int;
28959}
28960extern "C" {
28961    #[link_name = "\u{1}aws_lc_0_26_0_TRUST_TOKEN_decode_private_metadata"]
28962    pub fn TRUST_TOKEN_decode_private_metadata(
28963        method: *const TRUST_TOKEN_METHOD,
28964        out_value: *mut u8,
28965        key: *const u8,
28966        key_len: usize,
28967        nonce: *const u8,
28968        nonce_len: usize,
28969        encrypted_bit: u8,
28970    ) -> ::std::os::raw::c_int;
28971}
28972extern "C" {
28973    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_keygen_deterministic"]
28974    pub fn EVP_PKEY_keygen_deterministic(
28975        ctx: *mut EVP_PKEY_CTX,
28976        out_pkey: *mut *mut EVP_PKEY,
28977        seed: *const u8,
28978        seed_len: *mut usize,
28979    ) -> ::std::os::raw::c_int;
28980}
28981extern "C" {
28982    #[link_name = "\u{1}aws_lc_0_26_0_EVP_PKEY_encapsulate_deterministic"]
28983    pub fn EVP_PKEY_encapsulate_deterministic(
28984        ctx: *mut EVP_PKEY_CTX,
28985        ciphertext: *mut u8,
28986        ciphertext_len: *mut usize,
28987        shared_secret: *mut u8,
28988        shared_secret_len: *mut usize,
28989        seed: *const u8,
28990        seed_len: *mut usize,
28991    ) -> ::std::os::raw::c_int;
28992}
28993extern "C" {
28994    #[link_name = "\u{1}aws_lc_0_26_0_ERR_GET_LIB_RUST"]
28995    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
28996}
28997extern "C" {
28998    #[link_name = "\u{1}aws_lc_0_26_0_ERR_GET_REASON_RUST"]
28999    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29000}
29001extern "C" {
29002    #[link_name = "\u{1}aws_lc_0_26_0_ERR_GET_FUNC_RUST"]
29003    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29004}
29005pub type __builtin_va_list = *mut ::std::os::raw::c_char;
29006#[repr(C)]
29007#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
29008pub struct CRYPTO_dynlock_value {
29009    pub _address: u8,
29010}