Skip to main content

aws_lc_sys/
x86_64_unknown_linux_gnu_crypto.rs

1/* automatically generated by rust-bindgen 0.73.2 */
2
3
4// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5// SPDX-License-Identifier: Apache-2.0 OR ISC
6
7
8#![allow(
9    clippy::cast_lossless,
10    clippy::cast_possible_truncation,
11    clippy::cast_possible_wrap,
12    clippy::default_trait_access,
13    clippy::doc_markdown,
14    clippy::missing_safety_doc,
15    clippy::must_use_candidate,
16    clippy::possible_missing_else,
17    clippy::ptr_as_ptr,
18    clippy::ptr_offset_with_cast,
19    clippy::pub_underscore_fields,
20    clippy::semicolon_if_nothing_returned,
21    clippy::too_many_lines,
22    clippy::unreadable_literal,
23    clippy::used_underscore_binding,
24    clippy::useless_transmute,
25    dead_code,
26    improper_ctypes,
27    non_camel_case_types,
28    non_snake_case,
29    non_upper_case_globals,
30    unpredictable_function_pointer_comparisons,
31    unused_imports
32)]
33
34
35#[repr(C)]
36#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
37pub struct __BindgenBitfieldUnit<Storage> {
38    storage: Storage,
39}
40impl<Storage> __BindgenBitfieldUnit<Storage> {
41    #[inline]
42    pub const fn new(storage: Storage) -> Self {
43        Self { storage }
44    }
45}
46impl<Storage> __BindgenBitfieldUnit<Storage>
47where
48    Storage: AsRef<[u8]> + AsMut<[u8]>,
49{
50    #[inline]
51    fn extract_bit(byte: u8, index: usize) -> bool {
52        let bit_index = if cfg!(target_endian = "big") {
53            7 - (index % 8)
54        } else {
55            index % 8
56        };
57        let mask = 1 << bit_index;
58        byte & mask == mask
59    }
60    #[inline]
61    pub fn get_bit(&self, index: usize) -> bool {
62        debug_assert!(index / 8 < self.storage.as_ref().len());
63        let byte_index = index / 8;
64        let byte = self.storage.as_ref()[byte_index];
65        Self::extract_bit(byte, index)
66    }
67    #[inline]
68    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
69        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
70        let byte_index = index / 8;
71        let byte = unsafe {
72            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
73        };
74        Self::extract_bit(byte, index)
75    }
76    #[inline]
77    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
78        let bit_index = if cfg!(target_endian = "big") {
79            7 - (index % 8)
80        } else {
81            index % 8
82        };
83        let mask = 1 << bit_index;
84        if val {
85            byte | mask
86        } else {
87            byte & !mask
88        }
89    }
90    #[inline]
91    pub fn set_bit(&mut self, index: usize, val: bool) {
92        debug_assert!(index / 8 < self.storage.as_ref().len());
93        let byte_index = index / 8;
94        let byte = &mut self.storage.as_mut()[byte_index];
95        *byte = Self::change_bit(*byte, index, val);
96    }
97    #[inline]
98    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
99        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
100        let byte_index = index / 8;
101        let byte = unsafe {
102            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
103        };
104        unsafe { *byte = Self::change_bit(*byte, index, val) };
105    }
106    #[inline]
107    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
108        debug_assert!(bit_width <= 64);
109        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110        debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
111        if bit_width == 0 {
112            return 0;
113        }
114        let mut val = 0u64;
115        let storage = self.storage.as_ref();
116        let start_byte = bit_offset / 8;
117        let bit_shift = bit_offset % 8;
118        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
119        if cfg!(target_endian = "big") {
120            for i in 0..bytes_needed {
121                val |= (storage[start_byte + i].reverse_bits() as u64) << (i * 8);
122            }
123        } else {
124            for i in 0..bytes_needed {
125                val |= (storage[start_byte + i] as u64) << (i * 8);
126            }
127        }
128        val >>= bit_shift;
129        if bit_width < 64 {
130            val &= (1u64 << bit_width) - 1;
131        }
132        if cfg!(target_endian = "big") {
133            val = val.reverse_bits() >> (64 - bit_width as usize);
134        }
135        val
136    }
137    #[inline]
138    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
139        debug_assert!(bit_width <= 64);
140        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
141        debug_assert!(
142            (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
143        );
144        if bit_width == 0 {
145            return 0;
146        }
147        let mut val = 0u64;
148        let start_byte = bit_offset / 8;
149        let bit_shift = bit_offset % 8;
150        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
151        let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
152        if cfg!(target_endian = "big") {
153            for i in 0..bytes_needed {
154                let byte = unsafe { *storage_ptr.add(start_byte + i) };
155                val |= (byte.reverse_bits() as u64) << (i * 8);
156            }
157        } else {
158            for i in 0..bytes_needed {
159                let byte = unsafe { *storage_ptr.add(start_byte + i) };
160                val |= (byte as u64) << (i * 8);
161            }
162        }
163        val >>= bit_shift;
164        if bit_width < 64 {
165            val &= (1u64 << bit_width) - 1;
166        }
167        if cfg!(target_endian = "big") {
168            val = val.reverse_bits() >> (64 - bit_width as usize);
169        }
170        val
171    }
172    #[inline]
173    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
174        debug_assert!(bit_width <= 64);
175        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
176        debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
177        if bit_width == 0 {
178            return;
179        }
180        let mut val = val;
181        if bit_width < 64 {
182            val &= (1u64 << bit_width) - 1;
183        }
184        if cfg!(target_endian = "big") {
185            val = val.reverse_bits() >> (64 - bit_width as usize);
186        }
187        let storage = self.storage.as_mut();
188        let start_byte = bit_offset / 8;
189        let bit_shift = bit_offset % 8;
190        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
191        val <<= bit_shift;
192        let field_mask = if bit_width as usize + bit_shift >= 64 {
193            !0u64 << bit_shift
194        } else {
195            ((1u64 << bit_width) - 1) << bit_shift
196        };
197        for i in 0..bytes_needed {
198            let byte_val = (val >> (i * 8)) as u8;
199            let byte_mask = (field_mask >> (i * 8)) as u8;
200            if cfg!(target_endian = "big") {
201                let byte = storage[start_byte + i].reverse_bits();
202                let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
203                storage[start_byte + i] = new_byte.reverse_bits();
204            } else {
205                storage[start_byte + i] =
206                    (storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
207            }
208        }
209    }
210    #[inline]
211    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
212        debug_assert!(bit_width <= 64);
213        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
214        debug_assert!(
215            (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
216        );
217        if bit_width == 0 {
218            return;
219        }
220        let mut val = val;
221        if bit_width < 64 {
222            val &= (1u64 << bit_width) - 1;
223        }
224        if cfg!(target_endian = "big") {
225            val = val.reverse_bits() >> (64 - bit_width as usize);
226        }
227        let start_byte = bit_offset / 8;
228        let bit_shift = bit_offset % 8;
229        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
230        val <<= bit_shift;
231        let field_mask = if bit_width as usize + bit_shift >= 64 {
232            !0u64 << bit_shift
233        } else {
234            ((1u64 << bit_width) - 1) << bit_shift
235        };
236        let storage_ptr = unsafe { core::ptr::addr_of_mut!((*this).storage) as *mut u8 };
237        for i in 0..bytes_needed {
238            let byte_val = (val >> (i * 8)) as u8;
239            let byte_mask = (field_mask >> (i * 8)) as u8;
240            let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
241            if cfg!(target_endian = "big") {
242                let byte = unsafe { (*byte_ptr).reverse_bits() };
243                let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
244                unsafe { *byte_ptr = new_byte.reverse_bits() };
245            } else {
246                unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
247            }
248        }
249    }
250}
251#[doc = " Const-generic methods for efficient bitfield access when offset and width"]
252#[doc = " are known at compile time."]
253impl<const N: usize> __BindgenBitfieldUnit<[u8; N]> {
254    #[doc = " Get a field using const generics for compile-time optimization."]
255    #[doc = " Uses native word size operations when the field fits in usize."]
256    #[inline]
257    pub const fn get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&self) -> u64 {
258        debug_assert!(BIT_WIDTH <= 64);
259        debug_assert!(BIT_OFFSET / 8 < N);
260        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
261        if BIT_WIDTH == 0 {
262            return 0;
263        }
264        let start_byte = BIT_OFFSET / 8;
265        let bit_shift = BIT_OFFSET % 8;
266        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
267        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
268            let mut val = 0usize;
269            if cfg!(target_endian = "big") {
270                let mut i = 0;
271                while i < bytes_needed {
272                    val |= (self.storage[start_byte + i].reverse_bits() as usize) << (i * 8);
273                    i += 1;
274                }
275            } else {
276                let mut i = 0;
277                while i < bytes_needed {
278                    val |= (self.storage[start_byte + i] as usize) << (i * 8);
279                    i += 1;
280                }
281            }
282            val >>= bit_shift;
283            if (BIT_WIDTH as u32) < usize::BITS {
284                val &= (1usize << BIT_WIDTH) - 1;
285            }
286            if cfg!(target_endian = "big") {
287                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
288            }
289            val as u64
290        } else {
291            let mut val = 0u64;
292            if cfg!(target_endian = "big") {
293                let mut i = 0;
294                while i < bytes_needed {
295                    val |= (self.storage[start_byte + i].reverse_bits() as u64) << (i * 8);
296                    i += 1;
297                }
298            } else {
299                let mut i = 0;
300                while i < bytes_needed {
301                    val |= (self.storage[start_byte + i] as u64) << (i * 8);
302                    i += 1;
303                }
304            }
305            val >>= bit_shift;
306            if BIT_WIDTH < 64 {
307                val &= (1u64 << BIT_WIDTH) - 1;
308            }
309            if cfg!(target_endian = "big") {
310                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
311            }
312            val
313        }
314    }
315    #[doc = " Set a field using const generics for compile-time optimization."]
316    #[doc = " Uses native word size operations when the field fits in usize."]
317    #[inline]
318    pub fn set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&mut self, val: u64) {
319        debug_assert!(BIT_WIDTH <= 64);
320        debug_assert!(BIT_OFFSET / 8 < N);
321        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
322        if BIT_WIDTH == 0 {
323            return;
324        }
325        let start_byte = BIT_OFFSET / 8;
326        let bit_shift = BIT_OFFSET % 8;
327        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
328        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
329            let mut val = val as usize;
330            if (BIT_WIDTH as u32) < usize::BITS {
331                val &= (1usize << BIT_WIDTH) - 1;
332            }
333            if cfg!(target_endian = "big") {
334                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
335            }
336            val <<= bit_shift;
337            let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
338                !0usize << bit_shift
339            } else {
340                ((1usize << BIT_WIDTH) - 1) << bit_shift
341            };
342            let mut i = 0;
343            while i < bytes_needed {
344                let byte_val = (val >> (i * 8)) as u8;
345                let byte_mask = (field_mask >> (i * 8)) as u8;
346                if cfg!(target_endian = "big") {
347                    let byte = self.storage[start_byte + i].reverse_bits();
348                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
349                    self.storage[start_byte + i] = new_byte.reverse_bits();
350                } else {
351                    self.storage[start_byte + i] =
352                        (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
353                }
354                i += 1;
355            }
356        } else {
357            let mut val = val;
358            if BIT_WIDTH < 64 {
359                val &= (1u64 << BIT_WIDTH) - 1;
360            }
361            if cfg!(target_endian = "big") {
362                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
363            }
364            val <<= bit_shift;
365            let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
366                !0u64 << bit_shift
367            } else {
368                ((1u64 << BIT_WIDTH) - 1) << bit_shift
369            };
370            let mut i = 0;
371            while i < bytes_needed {
372                let byte_val = (val >> (i * 8)) as u8;
373                let byte_mask = (field_mask >> (i * 8)) as u8;
374                if cfg!(target_endian = "big") {
375                    let byte = self.storage[start_byte + i].reverse_bits();
376                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
377                    self.storage[start_byte + i] = new_byte.reverse_bits();
378                } else {
379                    self.storage[start_byte + i] =
380                        (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
381                }
382                i += 1;
383            }
384        }
385    }
386    #[doc = " Raw pointer get using const generics for compile-time optimization."]
387    #[doc = " Uses native word size operations when the field fits in usize."]
388    #[inline]
389    pub const unsafe fn raw_get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
390        this: *const Self,
391    ) -> u64 {
392        debug_assert!(BIT_WIDTH <= 64);
393        debug_assert!(BIT_OFFSET / 8 < N);
394        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
395        if BIT_WIDTH == 0 {
396            return 0;
397        }
398        let start_byte = BIT_OFFSET / 8;
399        let bit_shift = BIT_OFFSET % 8;
400        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
401        let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
402        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
403            let mut val = 0usize;
404            if cfg!(target_endian = "big") {
405                let mut i = 0;
406                while i < bytes_needed {
407                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
408                    val |= (byte.reverse_bits() as usize) << (i * 8);
409                    i += 1;
410                }
411            } else {
412                let mut i = 0;
413                while i < bytes_needed {
414                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
415                    val |= (byte as usize) << (i * 8);
416                    i += 1;
417                }
418            }
419            val >>= bit_shift;
420            if (BIT_WIDTH as u32) < usize::BITS {
421                val &= (1usize << BIT_WIDTH) - 1;
422            }
423            if cfg!(target_endian = "big") {
424                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
425            }
426            val as u64
427        } else {
428            let mut val = 0u64;
429            if cfg!(target_endian = "big") {
430                let mut i = 0;
431                while i < bytes_needed {
432                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
433                    val |= (byte.reverse_bits() as u64) << (i * 8);
434                    i += 1;
435                }
436            } else {
437                let mut i = 0;
438                while i < bytes_needed {
439                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
440                    val |= (byte as u64) << (i * 8);
441                    i += 1;
442                }
443            }
444            val >>= bit_shift;
445            if BIT_WIDTH < 64 {
446                val &= (1u64 << BIT_WIDTH) - 1;
447            }
448            if cfg!(target_endian = "big") {
449                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
450            }
451            val
452        }
453    }
454    #[doc = " Raw pointer set using const generics for compile-time optimization."]
455    #[doc = " Uses native word size operations when the field fits in usize."]
456    #[inline]
457    pub unsafe fn raw_set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
458        this: *mut Self,
459        val: u64,
460    ) {
461        debug_assert!(BIT_WIDTH <= 64);
462        debug_assert!(BIT_OFFSET / 8 < N);
463        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
464        if BIT_WIDTH == 0 {
465            return;
466        }
467        let start_byte = BIT_OFFSET / 8;
468        let bit_shift = BIT_OFFSET % 8;
469        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
470        let storage_ptr = this.cast::<[u8; N]>().cast::<u8>();
471        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
472            let mut val = val as usize;
473            if (BIT_WIDTH as u32) < usize::BITS {
474                val &= (1usize << BIT_WIDTH) - 1;
475            }
476            if cfg!(target_endian = "big") {
477                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
478            }
479            val <<= bit_shift;
480            let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
481                !0usize << bit_shift
482            } else {
483                ((1usize << BIT_WIDTH) - 1) << bit_shift
484            };
485            let mut i = 0;
486            while i < bytes_needed {
487                let byte_val = (val >> (i * 8)) as u8;
488                let byte_mask = (field_mask >> (i * 8)) as u8;
489                let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
490                if cfg!(target_endian = "big") {
491                    let byte = unsafe { (*byte_ptr).reverse_bits() };
492                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
493                    unsafe { *byte_ptr = new_byte.reverse_bits() };
494                } else {
495                    unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
496                }
497                i += 1;
498            }
499        } else {
500            let mut val = val;
501            if BIT_WIDTH < 64 {
502                val &= (1u64 << BIT_WIDTH) - 1;
503            }
504            if cfg!(target_endian = "big") {
505                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
506            }
507            val <<= bit_shift;
508            let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
509                !0u64 << bit_shift
510            } else {
511                ((1u64 << BIT_WIDTH) - 1) << bit_shift
512            };
513            let mut i = 0;
514            while i < bytes_needed {
515                let byte_val = (val >> (i * 8)) as u8;
516                let byte_mask = (field_mask >> (i * 8)) as u8;
517                let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
518                if cfg!(target_endian = "big") {
519                    let byte = unsafe { (*byte_ptr).reverse_bits() };
520                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
521                    unsafe { *byte_ptr = new_byte.reverse_bits() };
522                } else {
523                    unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
524                }
525                i += 1;
526            }
527        }
528    }
529}
530pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
531pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
532pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
533pub const AWSLC_API_VERSION: i32 = 37;
534pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"5.12.0\0";
535pub const AWSLC_FIPS_VERSION_NUMBER: i32 = 5;
536pub const AES_ENCRYPT: i32 = 1;
537pub const AES_DECRYPT: i32 = 0;
538pub const AES_MAXNR: i32 = 14;
539pub const AES_BLOCK_SIZE: i32 = 16;
540pub const SHA_CBLOCK: i32 = 64;
541pub const SHA_DIGEST_LENGTH: i32 = 20;
542pub const SHA224_CBLOCK: i32 = 64;
543pub const SHA224_DIGEST_LENGTH: i32 = 28;
544pub const SHA256_CBLOCK: i32 = 64;
545pub const SHA256_DIGEST_LENGTH: i32 = 32;
546pub const SHA384_CBLOCK: i32 = 128;
547pub const SHA384_DIGEST_LENGTH: i32 = 48;
548pub const SHA512_CBLOCK: i32 = 128;
549pub const SHA512_DIGEST_LENGTH: i32 = 64;
550pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
551pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
552pub const CRYPTO_LOCK: i32 = 1;
553pub const CRYPTO_UNLOCK: i32 = 2;
554pub const CRYPTO_READ: i32 = 4;
555pub const CRYPTO_WRITE: i32 = 8;
556pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 5.12.0)\0";
557pub const OPENSSL_VERSION: i32 = 0;
558pub const OPENSSL_CFLAGS: i32 = 1;
559pub const OPENSSL_BUILT_ON: i32 = 2;
560pub const OPENSSL_PLATFORM: i32 = 3;
561pub const OPENSSL_DIR: i32 = 4;
562pub const SSLEAY_VERSION: i32 = 0;
563pub const SSLEAY_CFLAGS: i32 = 1;
564pub const SSLEAY_BUILT_ON: i32 = 2;
565pub const SSLEAY_PLATFORM: i32 = 3;
566pub const SSLEAY_DIR: i32 = 4;
567pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
568pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
569pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
570pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
571pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
572pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
573pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
574pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
575pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
576pub const OPENSSL_INIT_ATFORK: i32 = 0;
577pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
578pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
579pub const ERR_FLAG_STRING: i32 = 1;
580pub const ERR_FLAG_MALLOCED: i32 = 2;
581pub const ERR_LIB_NONE: i32 = 1;
582pub const ERR_LIB_SYS: i32 = 2;
583pub const ERR_LIB_BN: i32 = 3;
584pub const ERR_LIB_RSA: i32 = 4;
585pub const ERR_LIB_DH: i32 = 5;
586pub const ERR_LIB_EVP: i32 = 6;
587pub const ERR_LIB_BUF: i32 = 7;
588pub const ERR_LIB_OBJ: i32 = 8;
589pub const ERR_LIB_PEM: i32 = 9;
590pub const ERR_LIB_DSA: i32 = 10;
591pub const ERR_LIB_X509: i32 = 11;
592pub const ERR_LIB_ASN1: i32 = 12;
593pub const ERR_LIB_CONF: i32 = 13;
594pub const ERR_LIB_CRYPTO: i32 = 14;
595pub const ERR_LIB_EC: i32 = 15;
596pub const ERR_LIB_SSL: i32 = 16;
597pub const ERR_LIB_BIO: i32 = 17;
598pub const ERR_LIB_PKCS7: i32 = 18;
599pub const ERR_LIB_PKCS8: i32 = 19;
600pub const ERR_LIB_X509V3: i32 = 20;
601pub const ERR_LIB_RAND: i32 = 21;
602pub const ERR_LIB_ENGINE: i32 = 22;
603pub const ERR_LIB_OCSP: i32 = 23;
604pub const ERR_LIB_UI: i32 = 24;
605pub const ERR_LIB_COMP: i32 = 25;
606pub const ERR_LIB_ECDSA: i32 = 26;
607pub const ERR_LIB_ECDH: i32 = 27;
608pub const ERR_LIB_HMAC: i32 = 28;
609pub const ERR_LIB_DIGEST: i32 = 29;
610pub const ERR_LIB_CIPHER: i32 = 30;
611pub const ERR_LIB_HKDF: i32 = 31;
612pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
613pub const ERR_LIB_USER: i32 = 33;
614pub const ERR_NUM_LIBS: i32 = 34;
615pub const ERR_LIB_PKCS12: i32 = 35;
616pub const ERR_LIB_DSO: i32 = 36;
617pub const ERR_LIB_OSSL_STORE: i32 = 37;
618pub const ERR_LIB_FIPS: i32 = 38;
619pub const ERR_LIB_CMS: i32 = 39;
620pub const ERR_LIB_TS: i32 = 40;
621pub const ERR_LIB_CT: i32 = 41;
622pub const ERR_LIB_ASYNC: i32 = 42;
623pub const ERR_LIB_KDF: i32 = 43;
624pub const ERR_LIB_SM2: i32 = 44;
625pub const ERR_R_SYS_LIB: i32 = 2;
626pub const ERR_R_BN_LIB: i32 = 3;
627pub const ERR_R_RSA_LIB: i32 = 4;
628pub const ERR_R_DH_LIB: i32 = 5;
629pub const ERR_R_EVP_LIB: i32 = 6;
630pub const ERR_R_BUF_LIB: i32 = 7;
631pub const ERR_R_OBJ_LIB: i32 = 8;
632pub const ERR_R_PEM_LIB: i32 = 9;
633pub const ERR_R_DSA_LIB: i32 = 10;
634pub const ERR_R_X509_LIB: i32 = 11;
635pub const ERR_R_ASN1_LIB: i32 = 12;
636pub const ERR_R_CONF_LIB: i32 = 13;
637pub const ERR_R_CRYPTO_LIB: i32 = 14;
638pub const ERR_R_EC_LIB: i32 = 15;
639pub const ERR_R_SSL_LIB: i32 = 16;
640pub const ERR_R_BIO_LIB: i32 = 17;
641pub const ERR_R_PKCS7_LIB: i32 = 18;
642pub const ERR_R_PKCS8_LIB: i32 = 19;
643pub const ERR_R_X509V3_LIB: i32 = 20;
644pub const ERR_R_RAND_LIB: i32 = 21;
645pub const ERR_R_DSO_LIB: i32 = 36;
646pub const ERR_R_ENGINE_LIB: i32 = 22;
647pub const ERR_R_OCSP_LIB: i32 = 23;
648pub const ERR_R_UI_LIB: i32 = 24;
649pub const ERR_R_COMP_LIB: i32 = 25;
650pub const ERR_R_ECDSA_LIB: i32 = 26;
651pub const ERR_R_ECDH_LIB: i32 = 27;
652pub const ERR_R_FIPS_LIB: i32 = 38;
653pub const ERR_R_CMS_LIB: i32 = 39;
654pub const ERR_R_TS_LIB: i32 = 40;
655pub const ERR_R_HMAC_LIB: i32 = 28;
656pub const ERR_R_USER_LIB: i32 = 33;
657pub const ERR_R_DIGEST_LIB: i32 = 29;
658pub const ERR_R_CIPHER_LIB: i32 = 30;
659pub const ERR_R_HKDF_LIB: i32 = 31;
660pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
661pub const ERR_R_FATAL: i32 = 64;
662pub const ERR_R_MALLOC_FAILURE: i32 = 65;
663pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
664pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
665pub const ERR_R_INTERNAL_ERROR: i32 = 68;
666pub const ERR_R_OVERFLOW: i32 = 69;
667pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
668pub const ERR_TXT_STRING: i32 = 1;
669pub const ERR_TXT_MALLOCED: i32 = 2;
670pub const ERR_NUM_ERRORS: i32 = 16;
671pub const BIO_RR_CONNECT: i32 = 2;
672pub const BIO_RR_ACCEPT: i32 = 3;
673pub const BIO_CB_FREE: i32 = 1;
674pub const BIO_CB_READ: i32 = 2;
675pub const BIO_CB_WRITE: i32 = 3;
676pub const BIO_CB_PUTS: i32 = 4;
677pub const BIO_CB_GETS: i32 = 5;
678pub const BIO_CB_CTRL: i32 = 6;
679pub const BIO_CB_RETURN: i32 = 128;
680pub const BIO_NOCLOSE: i32 = 0;
681pub const BIO_CLOSE: i32 = 1;
682pub const BIO_FP_TEXT: i32 = 16;
683pub const BIO_CTRL_DGRAM_CONNECT: i32 = 31;
684pub const BIO_CTRL_DGRAM_SET_CONNECTED: i32 = 32;
685pub const BIO_CTRL_DGRAM_SET_RECV_TIMEOUT: i32 = 33;
686pub const BIO_CTRL_DGRAM_GET_RECV_TIMEOUT: i32 = 34;
687pub const BIO_CTRL_DGRAM_SET_SEND_TIMEOUT: i32 = 35;
688pub const BIO_CTRL_DGRAM_GET_SEND_TIMEOUT: i32 = 36;
689pub const BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP: i32 = 37;
690pub const BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP: i32 = 38;
691pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
692pub const BIO_CTRL_DGRAM_GET_MTU: i32 = 41;
693pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
694pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
695pub const BIO_CTRL_DGRAM_SET_PEER: i32 = 44;
696pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
697pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
698pub const BIO_CTRL_RESET: i32 = 1;
699pub const BIO_CTRL_EOF: i32 = 2;
700pub const BIO_CTRL_INFO: i32 = 3;
701pub const BIO_CTRL_GET_CLOSE: i32 = 8;
702pub const BIO_CTRL_SET_CLOSE: i32 = 9;
703pub const BIO_CTRL_PENDING: i32 = 10;
704pub const BIO_CTRL_FLUSH: i32 = 11;
705pub const BIO_CTRL_WPENDING: i32 = 13;
706pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
707pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
708pub const BIO_CTRL_SET: i32 = 4;
709pub const BIO_CTRL_GET: i32 = 5;
710pub const BIO_CTRL_PUSH: i32 = 6;
711pub const BIO_CTRL_POP: i32 = 7;
712pub const BIO_CTRL_DUP: i32 = 12;
713pub const BIO_CTRL_SET_FILENAME: i32 = 30;
714pub const BIO_FLAGS_READ: i32 = 1;
715pub const BIO_FLAGS_WRITE: i32 = 2;
716pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
717pub const BIO_FLAGS_RWS: i32 = 7;
718pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
719pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
720pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
721pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
722pub const BIO_TYPE_FILTER: i32 = 512;
723pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
724pub const BIO_TYPE_NONE: i32 = 0;
725pub const BIO_TYPE_MEM: i32 = 1025;
726pub const BIO_TYPE_FILE: i32 = 1026;
727pub const BIO_TYPE_FD: i32 = 1284;
728pub const BIO_TYPE_SOCKET: i32 = 1285;
729pub const BIO_TYPE_NULL: i32 = 1030;
730pub const BIO_TYPE_SSL: i32 = 519;
731pub const BIO_TYPE_MD: i32 = 520;
732pub const BIO_TYPE_BUFFER: i32 = 521;
733pub const BIO_TYPE_CIPHER: i32 = 522;
734pub const BIO_TYPE_BASE64: i32 = 523;
735pub const BIO_TYPE_CONNECT: i32 = 1292;
736pub const BIO_TYPE_ACCEPT: i32 = 1293;
737pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
738pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
739pub const BIO_TYPE_NBIO_TEST: i32 = 528;
740pub const BIO_TYPE_NULL_FILTER: i32 = 529;
741pub const BIO_TYPE_BER: i32 = 530;
742pub const BIO_TYPE_BIO: i32 = 1043;
743pub const BIO_TYPE_LINEBUFFER: i32 = 532;
744pub const BIO_TYPE_DGRAM: i32 = 1301;
745pub const BIO_TYPE_ASN1: i32 = 534;
746pub const BIO_TYPE_COMP: i32 = 535;
747pub const BIO_TYPE_START: i32 = 128;
748pub const BIO_C_SET_CONNECT: i32 = 100;
749pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
750pub const BIO_C_SET_NBIO: i32 = 102;
751pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
752pub const BIO_C_SET_FD: i32 = 104;
753pub const BIO_C_GET_FD: i32 = 105;
754pub const BIO_C_SET_FILE_PTR: i32 = 106;
755pub const BIO_C_GET_FILE_PTR: i32 = 107;
756pub const BIO_C_SET_FILENAME: i32 = 108;
757pub const BIO_C_SET_SSL: i32 = 109;
758pub const BIO_C_GET_SSL: i32 = 110;
759pub const BIO_C_SET_MD: i32 = 111;
760pub const BIO_C_GET_MD: i32 = 112;
761pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
762pub const BIO_C_SET_BUF_MEM: i32 = 114;
763pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
764pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
765pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
766pub const BIO_C_SET_ACCEPT: i32 = 118;
767pub const BIO_C_SSL_MODE: i32 = 119;
768pub const BIO_C_GET_MD_CTX: i32 = 120;
769pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
770pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
771pub const BIO_C_GET_ACCEPT: i32 = 124;
772pub const BIO_C_FILE_SEEK: i32 = 128;
773pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
774pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
775pub const BIO_C_SET_BIND_MODE: i32 = 131;
776pub const BIO_C_GET_BIND_MODE: i32 = 132;
777pub const BIO_C_FILE_TELL: i32 = 133;
778pub const BIO_C_GET_SOCKS: i32 = 134;
779pub const BIO_C_SET_SOCKS: i32 = 135;
780pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
781pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
782pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
783pub const BIO_C_GET_READ_REQUEST: i32 = 141;
784pub const BIO_C_SHUTDOWN_WR: i32 = 142;
785pub const BIO_C_NREAD0: i32 = 143;
786pub const BIO_C_NREAD: i32 = 144;
787pub const BIO_C_NWRITE0: i32 = 145;
788pub const BIO_C_NWRITE: i32 = 146;
789pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
790pub const BIO_C_SET_MD_CTX: i32 = 148;
791pub const BIO_C_SET_PREFIX: i32 = 149;
792pub const BIO_C_GET_PREFIX: i32 = 150;
793pub const BIO_C_SET_SUFFIX: i32 = 151;
794pub const BIO_C_GET_SUFFIX: i32 = 152;
795pub const BIO_C_SET_EX_ARG: i32 = 153;
796pub const BIO_C_GET_EX_ARG: i32 = 154;
797pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
798pub const BIO_R_BROKEN_PIPE: i32 = 101;
799pub const BIO_R_CONNECT_ERROR: i32 = 102;
800pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
801pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
802pub const BIO_R_IN_USE: i32 = 105;
803pub const BIO_R_KEEPALIVE: i32 = 106;
804pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
805pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
806pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
807pub const BIO_R_NO_SUCH_FILE: i32 = 110;
808pub const BIO_R_NULL_PARAMETER: i32 = 111;
809pub const BIO_R_SYS_LIB: i32 = 112;
810pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
811pub const BIO_R_UNINITIALIZED: i32 = 114;
812pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
813pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
814pub const BN_BITS2: i32 = 64;
815pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
816pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
817pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
818pub const BN_RAND_TOP_ANY: i32 = -1;
819pub const BN_RAND_TOP_ONE: i32 = 0;
820pub const BN_RAND_TOP_TWO: i32 = 1;
821pub const BN_RAND_BOTTOM_ANY: i32 = 0;
822pub const BN_RAND_BOTTOM_ODD: i32 = 1;
823pub const BN_GENCB_GENERATED: i32 = 0;
824pub const BN_GENCB_PRIME_TEST: i32 = 1;
825pub const BN_prime_checks_for_validation: i32 = 64;
826pub const BN_prime_checks_for_generation: i32 = 0;
827pub const BN_prime_checks: i32 = 64;
828pub const BN_FLG_MALLOCED: i32 = 1;
829pub const BN_FLG_STATIC_DATA: i32 = 2;
830pub const BN_FLG_CONSTTIME: i32 = 0;
831pub const BN_R_ARG2_LT_ARG3: i32 = 100;
832pub const BN_R_BAD_RECIPROCAL: i32 = 101;
833pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
834pub const BN_R_BITS_TOO_SMALL: i32 = 103;
835pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
836pub const BN_R_DIV_BY_ZERO: i32 = 105;
837pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
838pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
839pub const BN_R_INVALID_RANGE: i32 = 108;
840pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
841pub const BN_R_NOT_A_SQUARE: i32 = 110;
842pub const BN_R_NOT_INITIALIZED: i32 = 111;
843pub const BN_R_NO_INVERSE: i32 = 112;
844pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
845pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
846pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
847pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
848pub const BN_R_BAD_ENCODING: i32 = 117;
849pub const BN_R_ENCODE_ERROR: i32 = 118;
850pub const BN_R_INVALID_INPUT: i32 = 119;
851pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
852pub const V_ASN1_UNIVERSAL: i32 = 0;
853pub const V_ASN1_APPLICATION: i32 = 64;
854pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
855pub const V_ASN1_PRIVATE: i32 = 192;
856pub const V_ASN1_CONSTRUCTED: i32 = 32;
857pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
858pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
859pub const V_ASN1_UNDEF: i32 = -1;
860pub const V_ASN1_OTHER: i32 = -3;
861pub const V_ASN1_ANY: i32 = -4;
862pub const V_ASN1_EOC: i32 = 0;
863pub const V_ASN1_BOOLEAN: i32 = 1;
864pub const V_ASN1_INTEGER: i32 = 2;
865pub const V_ASN1_BIT_STRING: i32 = 3;
866pub const V_ASN1_OCTET_STRING: i32 = 4;
867pub const V_ASN1_NULL: i32 = 5;
868pub const V_ASN1_OBJECT: i32 = 6;
869pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
870pub const V_ASN1_EXTERNAL: i32 = 8;
871pub const V_ASN1_REAL: i32 = 9;
872pub const V_ASN1_ENUMERATED: i32 = 10;
873pub const V_ASN1_UTF8STRING: i32 = 12;
874pub const V_ASN1_SEQUENCE: i32 = 16;
875pub const V_ASN1_SET: i32 = 17;
876pub const V_ASN1_NUMERICSTRING: i32 = 18;
877pub const V_ASN1_PRINTABLESTRING: i32 = 19;
878pub const V_ASN1_T61STRING: i32 = 20;
879pub const V_ASN1_TELETEXSTRING: i32 = 20;
880pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
881pub const V_ASN1_IA5STRING: i32 = 22;
882pub const V_ASN1_UTCTIME: i32 = 23;
883pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
884pub const V_ASN1_GRAPHICSTRING: i32 = 25;
885pub const V_ASN1_ISO64STRING: i32 = 26;
886pub const V_ASN1_VISIBLESTRING: i32 = 26;
887pub const V_ASN1_GENERALSTRING: i32 = 27;
888pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
889pub const V_ASN1_BMPSTRING: i32 = 30;
890pub const V_ASN1_NEG: i32 = 256;
891pub const V_ASN1_NEG_INTEGER: i32 = 258;
892pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
893pub const B_ASN1_NUMERICSTRING: i32 = 1;
894pub const B_ASN1_PRINTABLESTRING: i32 = 2;
895pub const B_ASN1_T61STRING: i32 = 4;
896pub const B_ASN1_TELETEXSTRING: i32 = 4;
897pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
898pub const B_ASN1_IA5STRING: i32 = 16;
899pub const B_ASN1_GRAPHICSTRING: i32 = 32;
900pub const B_ASN1_ISO64STRING: i32 = 64;
901pub const B_ASN1_VISIBLESTRING: i32 = 64;
902pub const B_ASN1_GENERALSTRING: i32 = 128;
903pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
904pub const B_ASN1_OCTET_STRING: i32 = 512;
905pub const B_ASN1_BIT_STRING: i32 = 1024;
906pub const B_ASN1_BMPSTRING: i32 = 2048;
907pub const B_ASN1_UNKNOWN: i32 = 4096;
908pub const B_ASN1_UTF8STRING: i32 = 8192;
909pub const B_ASN1_UTCTIME: i32 = 16384;
910pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
911pub const B_ASN1_SEQUENCE: i32 = 65536;
912pub const ASN1_BOOLEAN_FALSE: i32 = 0;
913pub const ASN1_BOOLEAN_TRUE: i32 = 255;
914pub const ASN1_BOOLEAN_NONE: i32 = -1;
915pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
916pub const MBSTRING_FLAG: i32 = 4096;
917pub const MBSTRING_UTF8: i32 = 4096;
918pub const MBSTRING_ASC: i32 = 4097;
919pub const MBSTRING_BMP: i32 = 4098;
920pub const MBSTRING_UNIV: i32 = 4100;
921pub const DIRSTRING_TYPE: i32 = 10246;
922pub const PKCS9STRING_TYPE: i32 = 10262;
923pub const STABLE_NO_MASK: i32 = 2;
924pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
925pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
926pub const B_ASN1_TIME: i32 = 49152;
927pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
928pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
929pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
930pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
931pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
932pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
933pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
934pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
935pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
936pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
937pub const ASN1_STRFLGS_RFC2253: i32 = 791;
938pub const B_ASN1_PRINTABLE: i32 = 81175;
939pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
940pub const ASN1_R_AUX_ERROR: i32 = 101;
941pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
942pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
943pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
944pub const ASN1_R_BN_LIB: i32 = 105;
945pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
946pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
947pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
948pub const ASN1_R_DECODE_ERROR: i32 = 109;
949pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
950pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
951pub const ASN1_R_ENCODE_ERROR: i32 = 112;
952pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
953pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
954pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
955pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
956pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
957pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
958pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
959pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
960pub const ASN1_R_FIELD_MISSING: i32 = 121;
961pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
962pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
963pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
964pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
965pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
966pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
967pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
968pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
969pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
970pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
971pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
972pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
973pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
974pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
975pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
976pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
977pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
978pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
979pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
980pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
981pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
982pub const ASN1_R_INVALID_DIGIT: i32 = 143;
983pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
984pub const ASN1_R_INVALID_NUMBER: i32 = 145;
985pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
986pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
987pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
988pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
989pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
990pub const ASN1_R_LIST_ERROR: i32 = 151;
991pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
992pub const ASN1_R_MISSING_EOC: i32 = 153;
993pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
994pub const ASN1_R_MISSING_VALUE: i32 = 155;
995pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
996pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
997pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
998pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
999pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
1000pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
1001pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
1002pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
1003pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
1004pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
1005pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
1006pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
1007pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
1008pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
1009pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
1010pub const ASN1_R_SHORT_LINE: i32 = 171;
1011pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
1012pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
1013pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
1014pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
1015pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
1016pub const ASN1_R_TOO_LONG: i32 = 177;
1017pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
1018pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
1019pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
1020pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
1021pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
1022pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
1023pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
1024pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
1025pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
1026pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
1027pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
1028pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
1029pub const ASN1_R_WRONG_TAG: i32 = 190;
1030pub const ASN1_R_WRONG_TYPE: i32 = 191;
1031pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
1032pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
1033pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
1034pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
1035pub const ASN1_R_INVALID_INTEGER: i32 = 196;
1036pub const ASN1_TFLG_OPTIONAL: i32 = 1;
1037pub const ASN1_TFLG_SET_OF: i32 = 2;
1038pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
1039pub const ASN1_TFLG_SK_MASK: i32 = 6;
1040pub const ASN1_TFLG_IMPTAG: i32 = 8;
1041pub const ASN1_TFLG_EXPTAG: i32 = 16;
1042pub const ASN1_TFLG_TAG_MASK: i32 = 24;
1043pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
1044pub const ASN1_TFLG_APPLICATION: i32 = 64;
1045pub const ASN1_TFLG_CONTEXT: i32 = 128;
1046pub const ASN1_TFLG_PRIVATE: i32 = 192;
1047pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
1048pub const ASN1_TFLG_ADB_MASK: i32 = 768;
1049pub const ASN1_TFLG_ADB_OID: i32 = 256;
1050pub const ASN1_TFLG_COMBINE: i32 = 1024;
1051pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
1052pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
1053pub const ASN1_ITYPE_CHOICE: i32 = 2;
1054pub const ASN1_ITYPE_EXTERN: i32 = 4;
1055pub const ASN1_ITYPE_MSTRING: i32 = 5;
1056pub const ASN1_AFLG_REFCOUNT: i32 = 1;
1057pub const ASN1_AFLG_ENCODING: i32 = 2;
1058pub const ASN1_OP_NEW_PRE: i32 = 0;
1059pub const ASN1_OP_NEW_POST: i32 = 1;
1060pub const ASN1_OP_FREE_PRE: i32 = 2;
1061pub const ASN1_OP_FREE_POST: i32 = 3;
1062pub const ASN1_OP_D2I_PRE: i32 = 4;
1063pub const ASN1_OP_D2I_POST: i32 = 5;
1064pub const ASN1_OP_PRINT_PRE: i32 = 8;
1065pub const ASN1_OP_PRINT_POST: i32 = 9;
1066pub const ASN1_OP_STREAM_PRE: i32 = 10;
1067pub const ASN1_OP_STREAM_POST: i32 = 11;
1068pub const ASN1_OP_DETACHED_PRE: i32 = 12;
1069pub const ASN1_OP_DETACHED_POST: i32 = 13;
1070pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
1071pub const BLAKE2B_CBLOCK: i32 = 128;
1072pub const BF_ENCRYPT: i32 = 1;
1073pub const BF_DECRYPT: i32 = 0;
1074pub const BF_ROUNDS: i32 = 16;
1075pub const BF_BLOCK: i32 = 8;
1076pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
1077pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
1078pub const CBS_ASN1_UNIVERSAL: i32 = 0;
1079pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
1080pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
1081pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
1082pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
1083pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
1084pub const CBS_ASN1_BOOLEAN: i32 = 1;
1085pub const CBS_ASN1_INTEGER: i32 = 2;
1086pub const CBS_ASN1_BITSTRING: i32 = 3;
1087pub const CBS_ASN1_OCTETSTRING: i32 = 4;
1088pub const CBS_ASN1_NULL: i32 = 5;
1089pub const CBS_ASN1_OBJECT: i32 = 6;
1090pub const CBS_ASN1_ENUMERATED: i32 = 10;
1091pub const CBS_ASN1_UTF8STRING: i32 = 12;
1092pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
1093pub const CBS_ASN1_SET: i32 = 536870929;
1094pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
1095pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
1096pub const CBS_ASN1_T61STRING: i32 = 20;
1097pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
1098pub const CBS_ASN1_IA5STRING: i32 = 22;
1099pub const CBS_ASN1_UTCTIME: i32 = 23;
1100pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
1101pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
1102pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
1103pub const CBS_ASN1_GENERALSTRING: i32 = 27;
1104pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
1105pub const CBS_ASN1_BMPSTRING: i32 = 30;
1106pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
1107pub const EVP_CIPH_ECB_MODE: i32 = 1;
1108pub const EVP_CIPH_CBC_MODE: i32 = 2;
1109pub const EVP_CIPH_CFB_MODE: i32 = 3;
1110pub const EVP_CIPH_OFB_MODE: i32 = 4;
1111pub const EVP_CIPH_CTR_MODE: i32 = 5;
1112pub const EVP_CIPH_GCM_MODE: i32 = 6;
1113pub const EVP_CIPH_XTS_MODE: i32 = 7;
1114pub const EVP_CIPH_CCM_MODE: i32 = 8;
1115pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
1116pub const EVP_CIPH_OCB_MODE: i32 = 9;
1117pub const EVP_CIPH_WRAP_MODE: i32 = 10;
1118pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
1119pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
1120pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
1121pub const EVP_CIPH_CTRL_INIT: i32 = 512;
1122pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
1123pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
1124pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
1125pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
1126pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
1127pub const EVP_CIPH_NO_PADDING: i32 = 2048;
1128pub const EVP_CTRL_INIT: i32 = 0;
1129pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
1130pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
1131pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
1132pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
1133pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
1134pub const EVP_CTRL_RAND_KEY: i32 = 6;
1135pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
1136pub const EVP_CTRL_COPY: i32 = 8;
1137pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
1138pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
1139pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
1140pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
1141pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
1142pub const EVP_CTRL_CCM_SET_L: i32 = 20;
1143pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
1144pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
1145pub const EVP_CTRL_GET_IVLEN: i32 = 25;
1146pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
1147pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
1148pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
1149pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
1150pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
1151pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
1152pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
1153pub const EVP_CTRL_CCM_SET_IVLEN: i32 = 9;
1154pub const EVP_CTRL_CCM_GET_TAG: i32 = 16;
1155pub const EVP_CTRL_CCM_SET_TAG: i32 = 17;
1156pub const EVP_MAX_KEY_LENGTH: i32 = 64;
1157pub const EVP_MAX_IV_LENGTH: i32 = 16;
1158pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
1159pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
1160pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
1161pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
1162pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
1163pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
1164pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
1165pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
1166pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
1167pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
1168pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
1169pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
1170pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
1171pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
1172pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
1173pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
1174pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
1175pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
1176pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
1177pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
1178pub const CIPHER_R_TOO_LARGE: i32 = 117;
1179pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
1180pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
1181pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
1182pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
1183pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
1184pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
1185pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
1186pub const CIPHER_R_INVALID_NONCE: i32 = 125;
1187pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
1188pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
1189pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
1190pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
1191pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
1192pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
1193pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
1194pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
1195pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
1196pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
1197pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
1198pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
1199pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
1200pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
1201pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
1202pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
1203pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
1204pub const CONF_R_NO_CLOSE_QUOTE: i32 = 108;
1205pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
1206pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
1207pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
1208pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
1209pub const X25519_SHARED_KEY_LEN: i32 = 32;
1210pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
1211pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
1212pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
1213pub const ED25519_SIGNATURE_LEN: i32 = 64;
1214pub const ED25519_SEED_LEN: i32 = 32;
1215pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
1216pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
1217pub const DES_ENCRYPT: i32 = 1;
1218pub const DES_DECRYPT: i32 = 0;
1219pub const DES_CBC_MODE: i32 = 0;
1220pub const DES_PCBC_MODE: i32 = 1;
1221pub const DH_GENERATOR_2: i32 = 2;
1222pub const DH_GENERATOR_5: i32 = 5;
1223pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
1224pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
1225pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1226pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
1227pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
1228pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
1229pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
1230pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1231pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
1232pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
1233pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
1234pub const DH_FLAG_CACHE_MONT_P: i32 = 0;
1235pub const DH_R_BAD_GENERATOR: i32 = 100;
1236pub const DH_R_INVALID_PUBKEY: i32 = 101;
1237pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
1238pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
1239pub const DH_R_DECODE_ERROR: i32 = 104;
1240pub const DH_R_ENCODE_ERROR: i32 = 105;
1241pub const DH_R_INVALID_NID: i32 = 106;
1242pub const DH_R_INVALID_PARAMETERS: i32 = 107;
1243pub const DH_F_DH_BUILTIN_GENPARAMS: i32 = 0;
1244pub const EVP_MAX_MD_SIZE: i32 = 64;
1245pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
1246pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
1247pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
1248pub const EVP_MD_FLAG_XOF: i32 = 4;
1249pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
1250pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
1251pub const DIGEST_R_DECODE_ERROR: i32 = 101;
1252pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
1253pub const OPENSSL_DSA_MAX_MODULUS_BITS: i32 = 10000;
1254pub const DSA_R_BAD_Q_VALUE: i32 = 100;
1255pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
1256pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
1257pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
1258pub const DSA_R_BAD_VERSION: i32 = 104;
1259pub const DSA_R_DECODE_ERROR: i32 = 105;
1260pub const DSA_R_ENCODE_ERROR: i32 = 106;
1261pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
1262pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
1263pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
1264pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
1265pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
1266pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
1267pub const EC_PKEY_NO_PUBKEY: i32 = 2;
1268pub const ECDSA_FLAG_OPAQUE: i32 = 1;
1269pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
1270pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
1271pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
1272pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
1273pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
1274pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
1275pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
1276pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
1277pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
1278pub const EC_R_INVALID_ENCODING: i32 = 109;
1279pub const EC_R_INVALID_FIELD: i32 = 110;
1280pub const EC_R_INVALID_FORM: i32 = 111;
1281pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
1282pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
1283pub const EC_R_MISSING_PARAMETERS: i32 = 114;
1284pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
1285pub const EC_R_NON_NAMED_CURVE: i32 = 116;
1286pub const EC_R_NOT_INITIALIZED: i32 = 117;
1287pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
1288pub const EC_R_POINT_AT_INFINITY: i32 = 119;
1289pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
1290pub const EC_R_SLOT_FULL: i32 = 121;
1291pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
1292pub const EC_R_UNKNOWN_GROUP: i32 = 123;
1293pub const EC_R_UNKNOWN_ORDER: i32 = 124;
1294pub const EC_R_WRONG_ORDER: i32 = 125;
1295pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
1296pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
1297pub const EC_R_DECODE_ERROR: i32 = 128;
1298pub const EC_R_ENCODE_ERROR: i32 = 129;
1299pub const EC_R_GROUP_MISMATCH: i32 = 130;
1300pub const EC_R_INVALID_COFACTOR: i32 = 131;
1301pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
1302pub const EC_R_INVALID_SCALAR: i32 = 133;
1303pub const ECDH_R_KDF_FAILED: i32 = 100;
1304pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
1305pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
1306pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
1307pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
1308pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
1309pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
1310pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
1311pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
1312pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
1313pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
1314pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
1315pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
1316pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
1317pub const EVP_R_DECODE_ERROR: i32 = 102;
1318pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
1319pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
1320pub const EVP_R_ENCODE_ERROR: i32 = 105;
1321pub const EVP_R_EXPECTING_A_EC_KEY_KEY: i32 = 106;
1322pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
1323pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
1324pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
1325pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
1326pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
1327pub const EVP_R_INVALID_KEYBITS: i32 = 112;
1328pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
1329pub const EVP_R_INVALID_OPERATION: i32 = 114;
1330pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
1331pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
1332pub const EVP_R_KEYS_NOT_SET: i32 = 117;
1333pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
1334pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
1335pub const EVP_R_NO_KEY_SET: i32 = 120;
1336pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
1337pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
1338pub const EVP_R_NO_OPERATION_SET: i32 = 123;
1339pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
1340pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
1341pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
1342pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
1343pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
1344pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
1345pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
1346pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
1347pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
1348pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
1349pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
1350pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
1351pub const EVP_R_EMPTY_PSK: i32 = 136;
1352pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
1353pub const EVP_R_BAD_DECRYPT: i32 = 138;
1354pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 139;
1355pub const EVP_R_EXPECTING_A_PQDSA_KEY: i32 = 140;
1356pub const EVP_R_EXPECTING_A_KEM_KEY: i32 = 141;
1357pub const EVP_R_KEM_PCT_FAILED: i32 = 142;
1358pub const EVP_R_MISSING_PRIVATE_KEY: i32 = 143;
1359pub const EVP_R_MISSING_PUBLIC_KEY: i32 = 144;
1360pub const EVP_R_INVALID_PUBLIC_KEY: i32 = 145;
1361pub const EVP_R_INVALID_PRIVATE_KEY: i32 = 146;
1362pub const EVP_R_INVALID_PSS_MD: i32 = 500;
1363pub const EVP_R_INVALID_PSS_SALT_LEN: i32 = 501;
1364pub const EVP_R_INVALID_PSS_TRAILER_FIELD: i32 = 502;
1365pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
1366pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
1367pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
1368pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
1369pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
1370pub const SN_undef: &[u8; 6] = b"UNDEF\0";
1371pub const LN_undef: &[u8; 10] = b"undefined\0";
1372pub const NID_undef: i32 = 0;
1373pub const OBJ_undef: i32 = 0;
1374pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
1375pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
1376pub const NID_rsadsi: i32 = 1;
1377pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
1378pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
1379pub const NID_pkcs: i32 = 2;
1380pub const SN_md2: &[u8; 4] = b"MD2\0";
1381pub const LN_md2: &[u8; 4] = b"md2\0";
1382pub const NID_md2: i32 = 3;
1383pub const SN_md5: &[u8; 4] = b"MD5\0";
1384pub const LN_md5: &[u8; 4] = b"md5\0";
1385pub const NID_md5: i32 = 4;
1386pub const SN_rc4: &[u8; 4] = b"RC4\0";
1387pub const LN_rc4: &[u8; 4] = b"rc4\0";
1388pub const NID_rc4: i32 = 5;
1389pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
1390pub const NID_rsaEncryption: i32 = 6;
1391pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
1392pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
1393pub const NID_md2WithRSAEncryption: i32 = 7;
1394pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
1395pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
1396pub const NID_md5WithRSAEncryption: i32 = 8;
1397pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
1398pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
1399pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
1400pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
1401pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
1402pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
1403pub const SN_X500: &[u8; 5] = b"X500\0";
1404pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
1405pub const NID_X500: i32 = 11;
1406pub const SN_X509: &[u8; 5] = b"X509\0";
1407pub const NID_X509: i32 = 12;
1408pub const SN_commonName: &[u8; 3] = b"CN\0";
1409pub const LN_commonName: &[u8; 11] = b"commonName\0";
1410pub const NID_commonName: i32 = 13;
1411pub const SN_countryName: &[u8; 2] = b"C\0";
1412pub const LN_countryName: &[u8; 12] = b"countryName\0";
1413pub const NID_countryName: i32 = 14;
1414pub const SN_localityName: &[u8; 2] = b"L\0";
1415pub const LN_localityName: &[u8; 13] = b"localityName\0";
1416pub const NID_localityName: i32 = 15;
1417pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
1418pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
1419pub const NID_stateOrProvinceName: i32 = 16;
1420pub const SN_organizationName: &[u8; 2] = b"O\0";
1421pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
1422pub const NID_organizationName: i32 = 17;
1423pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
1424pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
1425pub const NID_organizationalUnitName: i32 = 18;
1426pub const SN_rsa: &[u8; 4] = b"RSA\0";
1427pub const LN_rsa: &[u8; 4] = b"rsa\0";
1428pub const NID_rsa: i32 = 19;
1429pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
1430pub const NID_pkcs7: i32 = 20;
1431pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
1432pub const NID_pkcs7_data: i32 = 21;
1433pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
1434pub const NID_pkcs7_signed: i32 = 22;
1435pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1436pub const NID_pkcs7_enveloped: i32 = 23;
1437pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1438pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1439pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1440pub const NID_pkcs7_digest: i32 = 25;
1441pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1442pub const NID_pkcs7_encrypted: i32 = 26;
1443pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1444pub const NID_pkcs3: i32 = 27;
1445pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1446pub const NID_dhKeyAgreement: i32 = 28;
1447pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1448pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1449pub const NID_des_ecb: i32 = 29;
1450pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1451pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1452pub const NID_des_cfb64: i32 = 30;
1453pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1454pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1455pub const NID_des_cbc: i32 = 31;
1456pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1457pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1458pub const NID_des_ede_ecb: i32 = 32;
1459pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1460pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1461pub const NID_des_ede3_ecb: i32 = 33;
1462pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1463pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1464pub const NID_idea_cbc: i32 = 34;
1465pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1466pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1467pub const NID_idea_cfb64: i32 = 35;
1468pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1469pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1470pub const NID_idea_ecb: i32 = 36;
1471pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1472pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1473pub const NID_rc2_cbc: i32 = 37;
1474pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1475pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1476pub const NID_rc2_ecb: i32 = 38;
1477pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1478pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1479pub const NID_rc2_cfb64: i32 = 39;
1480pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1481pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1482pub const NID_rc2_ofb64: i32 = 40;
1483pub const SN_sha: &[u8; 4] = b"SHA\0";
1484pub const LN_sha: &[u8; 4] = b"sha\0";
1485pub const NID_sha: i32 = 41;
1486pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1487pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1488pub const NID_shaWithRSAEncryption: i32 = 42;
1489pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1490pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1491pub const NID_des_ede_cbc: i32 = 43;
1492pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1493pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1494pub const NID_des_ede3_cbc: i32 = 44;
1495pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1496pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1497pub const NID_des_ofb64: i32 = 45;
1498pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1499pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1500pub const NID_idea_ofb64: i32 = 46;
1501pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1502pub const NID_pkcs9: i32 = 47;
1503pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1504pub const NID_pkcs9_emailAddress: i32 = 48;
1505pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1506pub const NID_pkcs9_unstructuredName: i32 = 49;
1507pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1508pub const NID_pkcs9_contentType: i32 = 50;
1509pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1510pub const NID_pkcs9_messageDigest: i32 = 51;
1511pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1512pub const NID_pkcs9_signingTime: i32 = 52;
1513pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1514pub const NID_pkcs9_countersignature: i32 = 53;
1515pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1516pub const NID_pkcs9_challengePassword: i32 = 54;
1517pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1518pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1519pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1520pub const NID_pkcs9_extCertAttributes: i32 = 56;
1521pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1522pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1523pub const NID_netscape: i32 = 57;
1524pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1525pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1526pub const NID_netscape_cert_extension: i32 = 58;
1527pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1528pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1529pub const NID_netscape_data_type: i32 = 59;
1530pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1531pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1532pub const NID_des_ede_cfb64: i32 = 60;
1533pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1534pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1535pub const NID_des_ede3_cfb64: i32 = 61;
1536pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1537pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1538pub const NID_des_ede_ofb64: i32 = 62;
1539pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1540pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1541pub const NID_des_ede3_ofb64: i32 = 63;
1542pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1543pub const LN_sha1: &[u8; 5] = b"sha1\0";
1544pub const NID_sha1: i32 = 64;
1545pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1546pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1547pub const NID_sha1WithRSAEncryption: i32 = 65;
1548pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1549pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1550pub const NID_dsaWithSHA: i32 = 66;
1551pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1552pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1553pub const NID_dsa_2: i32 = 67;
1554pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1555pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1556pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1557pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1558pub const NID_id_pbkdf2: i32 = 69;
1559pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1560pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1561pub const NID_dsaWithSHA1_2: i32 = 70;
1562pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1563pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1564pub const NID_netscape_cert_type: i32 = 71;
1565pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1566pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1567pub const NID_netscape_base_url: i32 = 72;
1568pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1569pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1570pub const NID_netscape_revocation_url: i32 = 73;
1571pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1572pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1573pub const NID_netscape_ca_revocation_url: i32 = 74;
1574pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1575pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1576pub const NID_netscape_renewal_url: i32 = 75;
1577pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1578pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1579pub const NID_netscape_ca_policy_url: i32 = 76;
1580pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1581pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1582pub const NID_netscape_ssl_server_name: i32 = 77;
1583pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1584pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1585pub const NID_netscape_comment: i32 = 78;
1586pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1587pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1588pub const NID_netscape_cert_sequence: i32 = 79;
1589pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1590pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1591pub const NID_desx_cbc: i32 = 80;
1592pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1593pub const NID_id_ce: i32 = 81;
1594pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1595pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1596pub const NID_subject_key_identifier: i32 = 82;
1597pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1598pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1599pub const NID_key_usage: i32 = 83;
1600pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1601pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1602pub const NID_private_key_usage_period: i32 = 84;
1603pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1604pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1605pub const NID_subject_alt_name: i32 = 85;
1606pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1607pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1608pub const NID_issuer_alt_name: i32 = 86;
1609pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1610pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1611pub const NID_basic_constraints: i32 = 87;
1612pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1613pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1614pub const NID_crl_number: i32 = 88;
1615pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1616pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1617pub const NID_certificate_policies: i32 = 89;
1618pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1619pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1620pub const NID_authority_key_identifier: i32 = 90;
1621pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1622pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1623pub const NID_bf_cbc: i32 = 91;
1624pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1625pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1626pub const NID_bf_ecb: i32 = 92;
1627pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1628pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1629pub const NID_bf_cfb64: i32 = 93;
1630pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1631pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1632pub const NID_bf_ofb64: i32 = 94;
1633pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1634pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1635pub const NID_mdc2: i32 = 95;
1636pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1637pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1638pub const NID_mdc2WithRSA: i32 = 96;
1639pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1640pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1641pub const NID_rc4_40: i32 = 97;
1642pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1643pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1644pub const NID_rc2_40_cbc: i32 = 98;
1645pub const SN_givenName: &[u8; 3] = b"GN\0";
1646pub const LN_givenName: &[u8; 10] = b"givenName\0";
1647pub const NID_givenName: i32 = 99;
1648pub const SN_surname: &[u8; 3] = b"SN\0";
1649pub const LN_surname: &[u8; 8] = b"surname\0";
1650pub const NID_surname: i32 = 100;
1651pub const SN_initials: &[u8; 9] = b"initials\0";
1652pub const LN_initials: &[u8; 9] = b"initials\0";
1653pub const NID_initials: i32 = 101;
1654pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1655pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1656pub const NID_crl_distribution_points: i32 = 103;
1657pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1658pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1659pub const NID_md5WithRSA: i32 = 104;
1660pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1661pub const NID_serialNumber: i32 = 105;
1662pub const SN_title: &[u8; 6] = b"title\0";
1663pub const LN_title: &[u8; 6] = b"title\0";
1664pub const NID_title: i32 = 106;
1665pub const LN_description: &[u8; 12] = b"description\0";
1666pub const NID_description: i32 = 107;
1667pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1668pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1669pub const NID_cast5_cbc: i32 = 108;
1670pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1671pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1672pub const NID_cast5_ecb: i32 = 109;
1673pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1674pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1675pub const NID_cast5_cfb64: i32 = 110;
1676pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1677pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1678pub const NID_cast5_ofb64: i32 = 111;
1679pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1680pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1681pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1682pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1683pub const NID_dsaWithSHA1: i32 = 113;
1684pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1685pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1686pub const NID_md5_sha1: i32 = 114;
1687pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1688pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1689pub const NID_sha1WithRSA: i32 = 115;
1690pub const SN_dsa: &[u8; 4] = b"DSA\0";
1691pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1692pub const NID_dsa: i32 = 116;
1693pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1694pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1695pub const NID_ripemd160: i32 = 117;
1696pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1697pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1698pub const NID_ripemd160WithRSA: i32 = 119;
1699pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1700pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1701pub const NID_rc5_cbc: i32 = 120;
1702pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1703pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1704pub const NID_rc5_ecb: i32 = 121;
1705pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1706pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1707pub const NID_rc5_cfb64: i32 = 122;
1708pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1709pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1710pub const NID_rc5_ofb64: i32 = 123;
1711pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1712pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1713pub const NID_zlib_compression: i32 = 125;
1714pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1715pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1716pub const NID_ext_key_usage: i32 = 126;
1717pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1718pub const NID_id_pkix: i32 = 127;
1719pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1720pub const NID_id_kp: i32 = 128;
1721pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1722pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1723pub const NID_server_auth: i32 = 129;
1724pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1725pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1726pub const NID_client_auth: i32 = 130;
1727pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1728pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1729pub const NID_code_sign: i32 = 131;
1730pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1731pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1732pub const NID_email_protect: i32 = 132;
1733pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1734pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1735pub const NID_time_stamp: i32 = 133;
1736pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1737pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1738pub const NID_ms_code_ind: i32 = 134;
1739pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1740pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1741pub const NID_ms_code_com: i32 = 135;
1742pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1743pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1744pub const NID_ms_ctl_sign: i32 = 136;
1745pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1746pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1747pub const NID_ms_sgc: i32 = 137;
1748pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1749pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1750pub const NID_ms_efs: i32 = 138;
1751pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1752pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1753pub const NID_ns_sgc: i32 = 139;
1754pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1755pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1756pub const NID_delta_crl: i32 = 140;
1757pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1758pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1759pub const NID_crl_reason: i32 = 141;
1760pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1761pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1762pub const NID_invalidity_date: i32 = 142;
1763pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1764pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1765pub const NID_sxnet: i32 = 143;
1766pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1767pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1768pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1769pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1770pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1771pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1772pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1773pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1774pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1775pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1776pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1777pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1778pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1779pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1780pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1781pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1782pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1783pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1784pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1785pub const NID_keyBag: i32 = 150;
1786pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1787pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1788pub const LN_certBag: &[u8; 8] = b"certBag\0";
1789pub const NID_certBag: i32 = 152;
1790pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1791pub const NID_crlBag: i32 = 153;
1792pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1793pub const NID_secretBag: i32 = 154;
1794pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1795pub const NID_safeContentsBag: i32 = 155;
1796pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1797pub const NID_friendlyName: i32 = 156;
1798pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1799pub const NID_localKeyID: i32 = 157;
1800pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1801pub const NID_x509Certificate: i32 = 158;
1802pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1803pub const NID_sdsiCertificate: i32 = 159;
1804pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1805pub const NID_x509Crl: i32 = 160;
1806pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1807pub const NID_pbes2: i32 = 161;
1808pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1809pub const NID_pbmac1: i32 = 162;
1810pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1811pub const NID_hmacWithSHA1: i32 = 163;
1812pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1813pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1814pub const NID_id_qt_cps: i32 = 164;
1815pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1816pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1817pub const NID_id_qt_unotice: i32 = 165;
1818pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1819pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1820pub const NID_rc2_64_cbc: i32 = 166;
1821pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1822pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1823pub const NID_SMIMECapabilities: i32 = 167;
1824pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1825pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1826pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1827pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1828pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1829pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1830pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1831pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1832pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1833pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1834pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1835pub const NID_ms_ext_req: i32 = 171;
1836pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1837pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1838pub const NID_ext_req: i32 = 172;
1839pub const SN_name: &[u8; 5] = b"name\0";
1840pub const LN_name: &[u8; 5] = b"name\0";
1841pub const NID_name: i32 = 173;
1842pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1843pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1844pub const NID_dnQualifier: i32 = 174;
1845pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1846pub const NID_id_pe: i32 = 175;
1847pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1848pub const NID_id_ad: i32 = 176;
1849pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1850pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1851pub const NID_info_access: i32 = 177;
1852pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1853pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1854pub const NID_ad_OCSP: i32 = 178;
1855pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1856pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1857pub const NID_ad_ca_issuers: i32 = 179;
1858pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1859pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1860pub const NID_OCSP_sign: i32 = 180;
1861pub const SN_iso: &[u8; 4] = b"ISO\0";
1862pub const LN_iso: &[u8; 4] = b"iso\0";
1863pub const NID_iso: i32 = 181;
1864pub const OBJ_iso: i32 = 1;
1865pub const SN_member_body: &[u8; 12] = b"member-body\0";
1866pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1867pub const NID_member_body: i32 = 182;
1868pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1869pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1870pub const NID_ISO_US: i32 = 183;
1871pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1872pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1873pub const NID_X9_57: i32 = 184;
1874pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1875pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1876pub const NID_X9cm: i32 = 185;
1877pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1878pub const NID_pkcs1: i32 = 186;
1879pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1880pub const NID_pkcs5: i32 = 187;
1881pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1882pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1883pub const NID_SMIME: i32 = 188;
1884pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1885pub const NID_id_smime_mod: i32 = 189;
1886pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1887pub const NID_id_smime_ct: i32 = 190;
1888pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1889pub const NID_id_smime_aa: i32 = 191;
1890pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1891pub const NID_id_smime_alg: i32 = 192;
1892pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1893pub const NID_id_smime_cd: i32 = 193;
1894pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1895pub const NID_id_smime_spq: i32 = 194;
1896pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1897pub const NID_id_smime_cti: i32 = 195;
1898pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1899pub const NID_id_smime_mod_cms: i32 = 196;
1900pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1901pub const NID_id_smime_mod_ess: i32 = 197;
1902pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1903pub const NID_id_smime_mod_oid: i32 = 198;
1904pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1905pub const NID_id_smime_mod_msg_v3: i32 = 199;
1906pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1907pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1908pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1909pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1910pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1911pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1912pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1913pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1914pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1915pub const NID_id_smime_ct_receipt: i32 = 204;
1916pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1917pub const NID_id_smime_ct_authData: i32 = 205;
1918pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1919pub const NID_id_smime_ct_publishCert: i32 = 206;
1920pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1921pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1922pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1923pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1924pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1925pub const NID_id_smime_ct_contentInfo: i32 = 209;
1926pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1927pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1928pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1929pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1930pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1931pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1932pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1933pub const NID_id_smime_aa_securityLabel: i32 = 213;
1934pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1935pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1936pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1937pub const NID_id_smime_aa_contentHint: i32 = 215;
1938pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1939pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1940pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1941pub const NID_id_smime_aa_encapContentType: i32 = 217;
1942pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1943pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1944pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1945pub const NID_id_smime_aa_macValue: i32 = 219;
1946pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1947pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1948pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1949pub const NID_id_smime_aa_contentReference: i32 = 221;
1950pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1951pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1952pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1953pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1954pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1955pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1956pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1957pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1958pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1959pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1960pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1961pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1962pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1963pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1964pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1965pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1966pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1967pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1968pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1969pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1970pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1971pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1972pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1973pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1974pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1975pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1976pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1977pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1978pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1979pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1980pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1981pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1982pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1983pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1984pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1985pub const NID_id_smime_aa_signatureType: i32 = 239;
1986pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1987pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1988pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1989pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1990pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1991pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1992pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1993pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1994pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1995pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1996pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1997pub const NID_id_smime_alg_ESDH: i32 = 245;
1998pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1999pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
2000pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
2001pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
2002pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
2003pub const NID_id_smime_cd_ldap: i32 = 248;
2004pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
2005pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
2006pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
2007pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
2008pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
2009pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
2010pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
2011pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
2012pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
2013pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
2014pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
2015pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
2016pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
2017pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
2018pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
2019pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
2020pub const SN_md4: &[u8; 4] = b"MD4\0";
2021pub const LN_md4: &[u8; 4] = b"md4\0";
2022pub const NID_md4: i32 = 257;
2023pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
2024pub const NID_id_pkix_mod: i32 = 258;
2025pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
2026pub const NID_id_qt: i32 = 259;
2027pub const SN_id_it: &[u8; 6] = b"id-it\0";
2028pub const NID_id_it: i32 = 260;
2029pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
2030pub const NID_id_pkip: i32 = 261;
2031pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
2032pub const NID_id_alg: i32 = 262;
2033pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
2034pub const NID_id_cmc: i32 = 263;
2035pub const SN_id_on: &[u8; 6] = b"id-on\0";
2036pub const NID_id_on: i32 = 264;
2037pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
2038pub const NID_id_pda: i32 = 265;
2039pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
2040pub const NID_id_aca: i32 = 266;
2041pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
2042pub const NID_id_qcs: i32 = 267;
2043pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
2044pub const NID_id_cct: i32 = 268;
2045pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
2046pub const NID_id_pkix1_explicit_88: i32 = 269;
2047pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
2048pub const NID_id_pkix1_implicit_88: i32 = 270;
2049pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
2050pub const NID_id_pkix1_explicit_93: i32 = 271;
2051pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
2052pub const NID_id_pkix1_implicit_93: i32 = 272;
2053pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
2054pub const NID_id_mod_crmf: i32 = 273;
2055pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
2056pub const NID_id_mod_cmc: i32 = 274;
2057pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
2058pub const NID_id_mod_kea_profile_88: i32 = 275;
2059pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
2060pub const NID_id_mod_kea_profile_93: i32 = 276;
2061pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
2062pub const NID_id_mod_cmp: i32 = 277;
2063pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
2064pub const NID_id_mod_qualified_cert_88: i32 = 278;
2065pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
2066pub const NID_id_mod_qualified_cert_93: i32 = 279;
2067pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
2068pub const NID_id_mod_attribute_cert: i32 = 280;
2069pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
2070pub const NID_id_mod_timestamp_protocol: i32 = 281;
2071pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
2072pub const NID_id_mod_ocsp: i32 = 282;
2073pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
2074pub const NID_id_mod_dvcs: i32 = 283;
2075pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
2076pub const NID_id_mod_cmp2000: i32 = 284;
2077pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
2078pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
2079pub const NID_biometricInfo: i32 = 285;
2080pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
2081pub const NID_qcStatements: i32 = 286;
2082pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
2083pub const NID_ac_auditEntity: i32 = 287;
2084pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
2085pub const NID_ac_targeting: i32 = 288;
2086pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
2087pub const NID_aaControls: i32 = 289;
2088pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
2089pub const NID_sbgp_ipAddrBlock: i32 = 290;
2090pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
2091pub const NID_sbgp_autonomousSysNum: i32 = 291;
2092pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
2093pub const NID_sbgp_routerIdentifier: i32 = 292;
2094pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
2095pub const NID_textNotice: i32 = 293;
2096pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
2097pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
2098pub const NID_ipsecEndSystem: i32 = 294;
2099pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
2100pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
2101pub const NID_ipsecTunnel: i32 = 295;
2102pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
2103pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
2104pub const NID_ipsecUser: i32 = 296;
2105pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
2106pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
2107pub const NID_dvcs: i32 = 297;
2108pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
2109pub const NID_id_it_caProtEncCert: i32 = 298;
2110pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
2111pub const NID_id_it_signKeyPairTypes: i32 = 299;
2112pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
2113pub const NID_id_it_encKeyPairTypes: i32 = 300;
2114pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
2115pub const NID_id_it_preferredSymmAlg: i32 = 301;
2116pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
2117pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
2118pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
2119pub const NID_id_it_currentCRL: i32 = 303;
2120pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
2121pub const NID_id_it_unsupportedOIDs: i32 = 304;
2122pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
2123pub const NID_id_it_subscriptionRequest: i32 = 305;
2124pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
2125pub const NID_id_it_subscriptionResponse: i32 = 306;
2126pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
2127pub const NID_id_it_keyPairParamReq: i32 = 307;
2128pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
2129pub const NID_id_it_keyPairParamRep: i32 = 308;
2130pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
2131pub const NID_id_it_revPassphrase: i32 = 309;
2132pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
2133pub const NID_id_it_implicitConfirm: i32 = 310;
2134pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
2135pub const NID_id_it_confirmWaitTime: i32 = 311;
2136pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
2137pub const NID_id_it_origPKIMessage: i32 = 312;
2138pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
2139pub const NID_id_regCtrl: i32 = 313;
2140pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
2141pub const NID_id_regInfo: i32 = 314;
2142pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
2143pub const NID_id_regCtrl_regToken: i32 = 315;
2144pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
2145pub const NID_id_regCtrl_authenticator: i32 = 316;
2146pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
2147pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
2148pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
2149pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
2150pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
2151pub const NID_id_regCtrl_oldCertID: i32 = 319;
2152pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
2153pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
2154pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
2155pub const NID_id_regInfo_utf8Pairs: i32 = 321;
2156pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
2157pub const NID_id_regInfo_certReq: i32 = 322;
2158pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
2159pub const NID_id_alg_des40: i32 = 323;
2160pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
2161pub const NID_id_alg_noSignature: i32 = 324;
2162pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
2163pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
2164pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
2165pub const NID_id_alg_dh_pop: i32 = 326;
2166pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
2167pub const NID_id_cmc_statusInfo: i32 = 327;
2168pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
2169pub const NID_id_cmc_identification: i32 = 328;
2170pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
2171pub const NID_id_cmc_identityProof: i32 = 329;
2172pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
2173pub const NID_id_cmc_dataReturn: i32 = 330;
2174pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
2175pub const NID_id_cmc_transactionId: i32 = 331;
2176pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
2177pub const NID_id_cmc_senderNonce: i32 = 332;
2178pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
2179pub const NID_id_cmc_recipientNonce: i32 = 333;
2180pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
2181pub const NID_id_cmc_addExtensions: i32 = 334;
2182pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
2183pub const NID_id_cmc_encryptedPOP: i32 = 335;
2184pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
2185pub const NID_id_cmc_decryptedPOP: i32 = 336;
2186pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
2187pub const NID_id_cmc_lraPOPWitness: i32 = 337;
2188pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
2189pub const NID_id_cmc_getCert: i32 = 338;
2190pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
2191pub const NID_id_cmc_getCRL: i32 = 339;
2192pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
2193pub const NID_id_cmc_revokeRequest: i32 = 340;
2194pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
2195pub const NID_id_cmc_regInfo: i32 = 341;
2196pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
2197pub const NID_id_cmc_responseInfo: i32 = 342;
2198pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
2199pub const NID_id_cmc_queryPending: i32 = 343;
2200pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
2201pub const NID_id_cmc_popLinkRandom: i32 = 344;
2202pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
2203pub const NID_id_cmc_popLinkWitness: i32 = 345;
2204pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
2205pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
2206pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
2207pub const NID_id_on_personalData: i32 = 347;
2208pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
2209pub const NID_id_pda_dateOfBirth: i32 = 348;
2210pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
2211pub const NID_id_pda_placeOfBirth: i32 = 349;
2212pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
2213pub const NID_id_pda_gender: i32 = 351;
2214pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
2215pub const NID_id_pda_countryOfCitizenship: i32 = 352;
2216pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
2217pub const NID_id_pda_countryOfResidence: i32 = 353;
2218pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
2219pub const NID_id_aca_authenticationInfo: i32 = 354;
2220pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
2221pub const NID_id_aca_accessIdentity: i32 = 355;
2222pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
2223pub const NID_id_aca_chargingIdentity: i32 = 356;
2224pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
2225pub const NID_id_aca_group: i32 = 357;
2226pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
2227pub const NID_id_aca_role: i32 = 358;
2228pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
2229pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
2230pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
2231pub const NID_id_cct_crs: i32 = 360;
2232pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
2233pub const NID_id_cct_PKIData: i32 = 361;
2234pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
2235pub const NID_id_cct_PKIResponse: i32 = 362;
2236pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
2237pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
2238pub const NID_ad_timeStamping: i32 = 363;
2239pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
2240pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
2241pub const NID_ad_dvcs: i32 = 364;
2242pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
2243pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
2244pub const NID_id_pkix_OCSP_basic: i32 = 365;
2245pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
2246pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
2247pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
2248pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
2249pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
2250pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
2251pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
2252pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
2253pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
2254pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
2255pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
2256pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
2257pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
2258pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
2259pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
2260pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
2261pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
2262pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
2263pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
2264pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
2265pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
2266pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
2267pub const NID_id_pkix_OCSP_valid: i32 = 373;
2268pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
2269pub const NID_id_pkix_OCSP_path: i32 = 374;
2270pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
2271pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
2272pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
2273pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
2274pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
2275pub const NID_algorithm: i32 = 376;
2276pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
2277pub const NID_rsaSignature: i32 = 377;
2278pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
2279pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
2280pub const NID_X500algorithms: i32 = 378;
2281pub const SN_org: &[u8; 4] = b"ORG\0";
2282pub const LN_org: &[u8; 4] = b"org\0";
2283pub const NID_org: i32 = 379;
2284pub const SN_dod: &[u8; 4] = b"DOD\0";
2285pub const LN_dod: &[u8; 4] = b"dod\0";
2286pub const NID_dod: i32 = 380;
2287pub const SN_iana: &[u8; 5] = b"IANA\0";
2288pub const LN_iana: &[u8; 5] = b"iana\0";
2289pub const NID_iana: i32 = 381;
2290pub const SN_Directory: &[u8; 10] = b"directory\0";
2291pub const LN_Directory: &[u8; 10] = b"Directory\0";
2292pub const NID_Directory: i32 = 382;
2293pub const SN_Management: &[u8; 5] = b"mgmt\0";
2294pub const LN_Management: &[u8; 11] = b"Management\0";
2295pub const NID_Management: i32 = 383;
2296pub const SN_Experimental: &[u8; 13] = b"experimental\0";
2297pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
2298pub const NID_Experimental: i32 = 384;
2299pub const SN_Private: &[u8; 8] = b"private\0";
2300pub const LN_Private: &[u8; 8] = b"Private\0";
2301pub const NID_Private: i32 = 385;
2302pub const SN_Security: &[u8; 9] = b"security\0";
2303pub const LN_Security: &[u8; 9] = b"Security\0";
2304pub const NID_Security: i32 = 386;
2305pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
2306pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
2307pub const NID_SNMPv2: i32 = 387;
2308pub const LN_Mail: &[u8; 5] = b"Mail\0";
2309pub const NID_Mail: i32 = 388;
2310pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
2311pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
2312pub const NID_Enterprises: i32 = 389;
2313pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
2314pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
2315pub const NID_dcObject: i32 = 390;
2316pub const SN_domainComponent: &[u8; 3] = b"DC\0";
2317pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
2318pub const NID_domainComponent: i32 = 391;
2319pub const SN_Domain: &[u8; 7] = b"domain\0";
2320pub const LN_Domain: &[u8; 7] = b"Domain\0";
2321pub const NID_Domain: i32 = 392;
2322pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
2323pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
2324pub const NID_selected_attribute_types: i32 = 394;
2325pub const SN_clearance: &[u8; 10] = b"clearance\0";
2326pub const NID_clearance: i32 = 395;
2327pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
2328pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
2329pub const NID_md4WithRSAEncryption: i32 = 396;
2330pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
2331pub const NID_ac_proxying: i32 = 397;
2332pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
2333pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
2334pub const NID_sinfo_access: i32 = 398;
2335pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
2336pub const NID_id_aca_encAttrs: i32 = 399;
2337pub const SN_role: &[u8; 5] = b"role\0";
2338pub const LN_role: &[u8; 5] = b"role\0";
2339pub const NID_role: i32 = 400;
2340pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
2341pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
2342pub const NID_policy_constraints: i32 = 401;
2343pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
2344pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
2345pub const NID_target_information: i32 = 402;
2346pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
2347pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
2348pub const NID_no_rev_avail: i32 = 403;
2349pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
2350pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
2351pub const NID_ansi_X9_62: i32 = 405;
2352pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
2353pub const NID_X9_62_prime_field: i32 = 406;
2354pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
2355pub const NID_X9_62_characteristic_two_field: i32 = 407;
2356pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
2357pub const NID_X9_62_id_ecPublicKey: i32 = 408;
2358pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
2359pub const NID_X9_62_prime192v1: i32 = 409;
2360pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
2361pub const NID_X9_62_prime192v2: i32 = 410;
2362pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
2363pub const NID_X9_62_prime192v3: i32 = 411;
2364pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
2365pub const NID_X9_62_prime239v1: i32 = 412;
2366pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
2367pub const NID_X9_62_prime239v2: i32 = 413;
2368pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
2369pub const NID_X9_62_prime239v3: i32 = 414;
2370pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
2371pub const NID_X9_62_prime256v1: i32 = 415;
2372pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
2373pub const NID_ecdsa_with_SHA1: i32 = 416;
2374pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
2375pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
2376pub const NID_ms_csp_name: i32 = 417;
2377pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
2378pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
2379pub const NID_aes_128_ecb: i32 = 418;
2380pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
2381pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
2382pub const NID_aes_128_cbc: i32 = 419;
2383pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
2384pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
2385pub const NID_aes_128_ofb128: i32 = 420;
2386pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
2387pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
2388pub const NID_aes_128_cfb128: i32 = 421;
2389pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
2390pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
2391pub const NID_aes_192_ecb: i32 = 422;
2392pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
2393pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
2394pub const NID_aes_192_cbc: i32 = 423;
2395pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
2396pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
2397pub const NID_aes_192_ofb128: i32 = 424;
2398pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
2399pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
2400pub const NID_aes_192_cfb128: i32 = 425;
2401pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
2402pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
2403pub const NID_aes_256_ecb: i32 = 426;
2404pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
2405pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
2406pub const NID_aes_256_cbc: i32 = 427;
2407pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
2408pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
2409pub const NID_aes_256_ofb128: i32 = 428;
2410pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
2411pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
2412pub const NID_aes_256_cfb128: i32 = 429;
2413pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
2414pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
2415pub const NID_hold_instruction_code: i32 = 430;
2416pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
2417pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
2418pub const NID_hold_instruction_none: i32 = 431;
2419pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
2420pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
2421pub const NID_hold_instruction_call_issuer: i32 = 432;
2422pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
2423pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
2424pub const NID_hold_instruction_reject: i32 = 433;
2425pub const SN_data: &[u8; 5] = b"data\0";
2426pub const NID_data: i32 = 434;
2427pub const SN_pss: &[u8; 4] = b"pss\0";
2428pub const NID_pss: i32 = 435;
2429pub const SN_ucl: &[u8; 4] = b"ucl\0";
2430pub const NID_ucl: i32 = 436;
2431pub const SN_pilot: &[u8; 6] = b"pilot\0";
2432pub const NID_pilot: i32 = 437;
2433pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
2434pub const NID_pilotAttributeType: i32 = 438;
2435pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2436pub const NID_pilotAttributeSyntax: i32 = 439;
2437pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2438pub const NID_pilotObjectClass: i32 = 440;
2439pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2440pub const NID_pilotGroups: i32 = 441;
2441pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2442pub const NID_iA5StringSyntax: i32 = 442;
2443pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2444pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2445pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2446pub const NID_pilotObject: i32 = 444;
2447pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2448pub const NID_pilotPerson: i32 = 445;
2449pub const SN_account: &[u8; 8] = b"account\0";
2450pub const NID_account: i32 = 446;
2451pub const SN_document: &[u8; 9] = b"document\0";
2452pub const NID_document: i32 = 447;
2453pub const SN_room: &[u8; 5] = b"room\0";
2454pub const NID_room: i32 = 448;
2455pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2456pub const NID_documentSeries: i32 = 449;
2457pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2458pub const NID_rFC822localPart: i32 = 450;
2459pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2460pub const NID_dNSDomain: i32 = 451;
2461pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2462pub const NID_domainRelatedObject: i32 = 452;
2463pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2464pub const NID_friendlyCountry: i32 = 453;
2465pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2466pub const NID_simpleSecurityObject: i32 = 454;
2467pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2468pub const NID_pilotOrganization: i32 = 455;
2469pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2470pub const NID_pilotDSA: i32 = 456;
2471pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2472pub const NID_qualityLabelledData: i32 = 457;
2473pub const SN_userId: &[u8; 4] = b"UID\0";
2474pub const LN_userId: &[u8; 7] = b"userId\0";
2475pub const NID_userId: i32 = 458;
2476pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2477pub const NID_textEncodedORAddress: i32 = 459;
2478pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2479pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2480pub const NID_rfc822Mailbox: i32 = 460;
2481pub const SN_info: &[u8; 5] = b"info\0";
2482pub const NID_info: i32 = 461;
2483pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2484pub const NID_favouriteDrink: i32 = 462;
2485pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2486pub const NID_roomNumber: i32 = 463;
2487pub const SN_photo: &[u8; 6] = b"photo\0";
2488pub const NID_photo: i32 = 464;
2489pub const LN_userClass: &[u8; 10] = b"userClass\0";
2490pub const NID_userClass: i32 = 465;
2491pub const SN_host: &[u8; 5] = b"host\0";
2492pub const NID_host: i32 = 466;
2493pub const SN_manager: &[u8; 8] = b"manager\0";
2494pub const NID_manager: i32 = 467;
2495pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2496pub const NID_documentIdentifier: i32 = 468;
2497pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2498pub const NID_documentTitle: i32 = 469;
2499pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2500pub const NID_documentVersion: i32 = 470;
2501pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2502pub const NID_documentAuthor: i32 = 471;
2503pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2504pub const NID_documentLocation: i32 = 472;
2505pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2506pub const NID_homeTelephoneNumber: i32 = 473;
2507pub const SN_secretary: &[u8; 10] = b"secretary\0";
2508pub const NID_secretary: i32 = 474;
2509pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2510pub const NID_otherMailbox: i32 = 475;
2511pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2512pub const NID_lastModifiedTime: i32 = 476;
2513pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2514pub const NID_lastModifiedBy: i32 = 477;
2515pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2516pub const NID_aRecord: i32 = 478;
2517pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2518pub const NID_pilotAttributeType27: i32 = 479;
2519pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2520pub const NID_mXRecord: i32 = 480;
2521pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2522pub const NID_nSRecord: i32 = 481;
2523pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2524pub const NID_sOARecord: i32 = 482;
2525pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2526pub const NID_cNAMERecord: i32 = 483;
2527pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2528pub const NID_associatedDomain: i32 = 484;
2529pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2530pub const NID_associatedName: i32 = 485;
2531pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2532pub const NID_homePostalAddress: i32 = 486;
2533pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2534pub const NID_personalTitle: i32 = 487;
2535pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2536pub const NID_mobileTelephoneNumber: i32 = 488;
2537pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2538pub const NID_pagerTelephoneNumber: i32 = 489;
2539pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2540pub const NID_friendlyCountryName: i32 = 490;
2541pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2542pub const NID_organizationalStatus: i32 = 491;
2543pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2544pub const NID_janetMailbox: i32 = 492;
2545pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2546pub const NID_mailPreferenceOption: i32 = 493;
2547pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2548pub const NID_buildingName: i32 = 494;
2549pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2550pub const NID_dSAQuality: i32 = 495;
2551pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2552pub const NID_singleLevelQuality: i32 = 496;
2553pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2554pub const NID_subtreeMinimumQuality: i32 = 497;
2555pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2556pub const NID_subtreeMaximumQuality: i32 = 498;
2557pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2558pub const NID_personalSignature: i32 = 499;
2559pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2560pub const NID_dITRedirect: i32 = 500;
2561pub const SN_audio: &[u8; 6] = b"audio\0";
2562pub const NID_audio: i32 = 501;
2563pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2564pub const NID_documentPublisher: i32 = 502;
2565pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2566pub const NID_x500UniqueIdentifier: i32 = 503;
2567pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2568pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2569pub const NID_mime_mhs: i32 = 504;
2570pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2571pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2572pub const NID_mime_mhs_headings: i32 = 505;
2573pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2574pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2575pub const NID_mime_mhs_bodies: i32 = 506;
2576pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2577pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2578pub const NID_id_hex_partial_message: i32 = 507;
2579pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2580pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2581pub const NID_id_hex_multipart_message: i32 = 508;
2582pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2583pub const NID_generationQualifier: i32 = 509;
2584pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2585pub const NID_pseudonym: i32 = 510;
2586pub const SN_id_set: &[u8; 7] = b"id-set\0";
2587pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2588pub const NID_id_set: i32 = 512;
2589pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2590pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2591pub const NID_set_ctype: i32 = 513;
2592pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2593pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2594pub const NID_set_msgExt: i32 = 514;
2595pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2596pub const NID_set_attr: i32 = 515;
2597pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2598pub const NID_set_policy: i32 = 516;
2599pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2600pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2601pub const NID_set_certExt: i32 = 517;
2602pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2603pub const NID_set_brand: i32 = 518;
2604pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2605pub const NID_setct_PANData: i32 = 519;
2606pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2607pub const NID_setct_PANToken: i32 = 520;
2608pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2609pub const NID_setct_PANOnly: i32 = 521;
2610pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2611pub const NID_setct_OIData: i32 = 522;
2612pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2613pub const NID_setct_PI: i32 = 523;
2614pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2615pub const NID_setct_PIData: i32 = 524;
2616pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2617pub const NID_setct_PIDataUnsigned: i32 = 525;
2618pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2619pub const NID_setct_HODInput: i32 = 526;
2620pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2621pub const NID_setct_AuthResBaggage: i32 = 527;
2622pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2623pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2624pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2625pub const NID_setct_AuthRevResBaggage: i32 = 529;
2626pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2627pub const NID_setct_CapTokenSeq: i32 = 530;
2628pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2629pub const NID_setct_PInitResData: i32 = 531;
2630pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2631pub const NID_setct_PI_TBS: i32 = 532;
2632pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2633pub const NID_setct_PResData: i32 = 533;
2634pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2635pub const NID_setct_AuthReqTBS: i32 = 534;
2636pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2637pub const NID_setct_AuthResTBS: i32 = 535;
2638pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2639pub const NID_setct_AuthResTBSX: i32 = 536;
2640pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2641pub const NID_setct_AuthTokenTBS: i32 = 537;
2642pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2643pub const NID_setct_CapTokenData: i32 = 538;
2644pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2645pub const NID_setct_CapTokenTBS: i32 = 539;
2646pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2647pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2648pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2649pub const NID_setct_AuthRevReqTBS: i32 = 541;
2650pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2651pub const NID_setct_AuthRevResData: i32 = 542;
2652pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2653pub const NID_setct_AuthRevResTBS: i32 = 543;
2654pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2655pub const NID_setct_CapReqTBS: i32 = 544;
2656pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2657pub const NID_setct_CapReqTBSX: i32 = 545;
2658pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2659pub const NID_setct_CapResData: i32 = 546;
2660pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2661pub const NID_setct_CapRevReqTBS: i32 = 547;
2662pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2663pub const NID_setct_CapRevReqTBSX: i32 = 548;
2664pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2665pub const NID_setct_CapRevResData: i32 = 549;
2666pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2667pub const NID_setct_CredReqTBS: i32 = 550;
2668pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2669pub const NID_setct_CredReqTBSX: i32 = 551;
2670pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2671pub const NID_setct_CredResData: i32 = 552;
2672pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2673pub const NID_setct_CredRevReqTBS: i32 = 553;
2674pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2675pub const NID_setct_CredRevReqTBSX: i32 = 554;
2676pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2677pub const NID_setct_CredRevResData: i32 = 555;
2678pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2679pub const NID_setct_PCertReqData: i32 = 556;
2680pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2681pub const NID_setct_PCertResTBS: i32 = 557;
2682pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2683pub const NID_setct_BatchAdminReqData: i32 = 558;
2684pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2685pub const NID_setct_BatchAdminResData: i32 = 559;
2686pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2687pub const NID_setct_CardCInitResTBS: i32 = 560;
2688pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2689pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2690pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2691pub const NID_setct_RegFormResTBS: i32 = 562;
2692pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2693pub const NID_setct_CertReqData: i32 = 563;
2694pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2695pub const NID_setct_CertReqTBS: i32 = 564;
2696pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2697pub const NID_setct_CertResData: i32 = 565;
2698pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2699pub const NID_setct_CertInqReqTBS: i32 = 566;
2700pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2701pub const NID_setct_ErrorTBS: i32 = 567;
2702pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2703pub const NID_setct_PIDualSignedTBE: i32 = 568;
2704pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2705pub const NID_setct_PIUnsignedTBE: i32 = 569;
2706pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2707pub const NID_setct_AuthReqTBE: i32 = 570;
2708pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2709pub const NID_setct_AuthResTBE: i32 = 571;
2710pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2711pub const NID_setct_AuthResTBEX: i32 = 572;
2712pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2713pub const NID_setct_AuthTokenTBE: i32 = 573;
2714pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2715pub const NID_setct_CapTokenTBE: i32 = 574;
2716pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2717pub const NID_setct_CapTokenTBEX: i32 = 575;
2718pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2719pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2720pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2721pub const NID_setct_AuthRevReqTBE: i32 = 577;
2722pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2723pub const NID_setct_AuthRevResTBE: i32 = 578;
2724pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2725pub const NID_setct_AuthRevResTBEB: i32 = 579;
2726pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2727pub const NID_setct_CapReqTBE: i32 = 580;
2728pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2729pub const NID_setct_CapReqTBEX: i32 = 581;
2730pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2731pub const NID_setct_CapResTBE: i32 = 582;
2732pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2733pub const NID_setct_CapRevReqTBE: i32 = 583;
2734pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2735pub const NID_setct_CapRevReqTBEX: i32 = 584;
2736pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2737pub const NID_setct_CapRevResTBE: i32 = 585;
2738pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2739pub const NID_setct_CredReqTBE: i32 = 586;
2740pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2741pub const NID_setct_CredReqTBEX: i32 = 587;
2742pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2743pub const NID_setct_CredResTBE: i32 = 588;
2744pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2745pub const NID_setct_CredRevReqTBE: i32 = 589;
2746pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2747pub const NID_setct_CredRevReqTBEX: i32 = 590;
2748pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2749pub const NID_setct_CredRevResTBE: i32 = 591;
2750pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2751pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2752pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2753pub const NID_setct_BatchAdminResTBE: i32 = 593;
2754pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2755pub const NID_setct_RegFormReqTBE: i32 = 594;
2756pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2757pub const NID_setct_CertReqTBE: i32 = 595;
2758pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2759pub const NID_setct_CertReqTBEX: i32 = 596;
2760pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2761pub const NID_setct_CertResTBE: i32 = 597;
2762pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2763pub const NID_setct_CRLNotificationTBS: i32 = 598;
2764pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2765pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2766pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2767pub const NID_setct_BCIDistributionTBS: i32 = 600;
2768pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2769pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2770pub const NID_setext_genCrypt: i32 = 601;
2771pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2772pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2773pub const NID_setext_miAuth: i32 = 602;
2774pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2775pub const NID_setext_pinSecure: i32 = 603;
2776pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2777pub const NID_setext_pinAny: i32 = 604;
2778pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2779pub const NID_setext_track2: i32 = 605;
2780pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2781pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2782pub const NID_setext_cv: i32 = 606;
2783pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2784pub const NID_set_policy_root: i32 = 607;
2785pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2786pub const NID_setCext_hashedRoot: i32 = 608;
2787pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2788pub const NID_setCext_certType: i32 = 609;
2789pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2790pub const NID_setCext_merchData: i32 = 610;
2791pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2792pub const NID_setCext_cCertRequired: i32 = 611;
2793pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2794pub const NID_setCext_tunneling: i32 = 612;
2795pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2796pub const NID_setCext_setExt: i32 = 613;
2797pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2798pub const NID_setCext_setQualf: i32 = 614;
2799pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2800pub const NID_setCext_PGWYcapabilities: i32 = 615;
2801pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2802pub const NID_setCext_TokenIdentifier: i32 = 616;
2803pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2804pub const NID_setCext_Track2Data: i32 = 617;
2805pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2806pub const NID_setCext_TokenType: i32 = 618;
2807pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2808pub const NID_setCext_IssuerCapabilities: i32 = 619;
2809pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2810pub const NID_setAttr_Cert: i32 = 620;
2811pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2812pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2813pub const NID_setAttr_PGWYcap: i32 = 621;
2814pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2815pub const NID_setAttr_TokenType: i32 = 622;
2816pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2817pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2818pub const NID_setAttr_IssCap: i32 = 623;
2819pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2820pub const NID_set_rootKeyThumb: i32 = 624;
2821pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2822pub const NID_set_addPolicy: i32 = 625;
2823pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2824pub const NID_setAttr_Token_EMV: i32 = 626;
2825pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2826pub const NID_setAttr_Token_B0Prime: i32 = 627;
2827pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2828pub const NID_setAttr_IssCap_CVM: i32 = 628;
2829pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2830pub const NID_setAttr_IssCap_T2: i32 = 629;
2831pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2832pub const NID_setAttr_IssCap_Sig: i32 = 630;
2833pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2834pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2835pub const NID_setAttr_GenCryptgrm: i32 = 631;
2836pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2837pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2838pub const NID_setAttr_T2Enc: i32 = 632;
2839pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2840pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2841pub const NID_setAttr_T2cleartxt: i32 = 633;
2842pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2843pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2844pub const NID_setAttr_TokICCsig: i32 = 634;
2845pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2846pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2847pub const NID_setAttr_SecDevSig: i32 = 635;
2848pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2849pub const NID_set_brand_IATA_ATA: i32 = 636;
2850pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2851pub const NID_set_brand_Diners: i32 = 637;
2852pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2853pub const NID_set_brand_AmericanExpress: i32 = 638;
2854pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2855pub const NID_set_brand_JCB: i32 = 639;
2856pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2857pub const NID_set_brand_Visa: i32 = 640;
2858pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2859pub const NID_set_brand_MasterCard: i32 = 641;
2860pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2861pub const NID_set_brand_Novus: i32 = 642;
2862pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2863pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2864pub const NID_des_cdmf: i32 = 643;
2865pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2866pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2867pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2868pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2869pub const NID_itu_t: i32 = 645;
2870pub const OBJ_itu_t: i32 = 0;
2871pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2872pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2873pub const NID_joint_iso_itu_t: i32 = 646;
2874pub const OBJ_joint_iso_itu_t: i32 = 2;
2875pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2876pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2877pub const NID_international_organizations: i32 = 647;
2878pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2879pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2880pub const NID_ms_smartcard_login: i32 = 648;
2881pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2882pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2883pub const NID_ms_upn: i32 = 649;
2884pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2885pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2886pub const NID_aes_128_cfb1: i32 = 650;
2887pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2888pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2889pub const NID_aes_192_cfb1: i32 = 651;
2890pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2891pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2892pub const NID_aes_256_cfb1: i32 = 652;
2893pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2894pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2895pub const NID_aes_128_cfb8: i32 = 653;
2896pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2897pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2898pub const NID_aes_192_cfb8: i32 = 654;
2899pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2900pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2901pub const NID_aes_256_cfb8: i32 = 655;
2902pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2903pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2904pub const NID_des_cfb1: i32 = 656;
2905pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2906pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2907pub const NID_des_cfb8: i32 = 657;
2908pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2909pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2910pub const NID_des_ede3_cfb1: i32 = 658;
2911pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2912pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2913pub const NID_des_ede3_cfb8: i32 = 659;
2914pub const SN_streetAddress: &[u8; 7] = b"street\0";
2915pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2916pub const NID_streetAddress: i32 = 660;
2917pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2918pub const NID_postalCode: i32 = 661;
2919pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2920pub const NID_id_ppl: i32 = 662;
2921pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2922pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2923pub const NID_proxyCertInfo: i32 = 663;
2924pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2925pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2926pub const NID_id_ppl_anyLanguage: i32 = 664;
2927pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2928pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2929pub const NID_id_ppl_inheritAll: i32 = 665;
2930pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2931pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2932pub const NID_name_constraints: i32 = 666;
2933pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2934pub const LN_Independent: &[u8; 12] = b"Independent\0";
2935pub const NID_Independent: i32 = 667;
2936pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2937pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2938pub const NID_sha256WithRSAEncryption: i32 = 668;
2939pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2940pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2941pub const NID_sha384WithRSAEncryption: i32 = 669;
2942pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2943pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2944pub const NID_sha512WithRSAEncryption: i32 = 670;
2945pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2946pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2947pub const NID_sha224WithRSAEncryption: i32 = 671;
2948pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2949pub const LN_sha256: &[u8; 7] = b"sha256\0";
2950pub const NID_sha256: i32 = 672;
2951pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2952pub const LN_sha384: &[u8; 7] = b"sha384\0";
2953pub const NID_sha384: i32 = 673;
2954pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2955pub const LN_sha512: &[u8; 7] = b"sha512\0";
2956pub const NID_sha512: i32 = 674;
2957pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2958pub const LN_sha224: &[u8; 7] = b"sha224\0";
2959pub const NID_sha224: i32 = 675;
2960pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2961pub const NID_identified_organization: i32 = 676;
2962pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2963pub const NID_certicom_arc: i32 = 677;
2964pub const SN_wap: &[u8; 4] = b"wap\0";
2965pub const NID_wap: i32 = 678;
2966pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2967pub const NID_wap_wsg: i32 = 679;
2968pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2969pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2970pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2971pub const NID_X9_62_onBasis: i32 = 681;
2972pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2973pub const NID_X9_62_tpBasis: i32 = 682;
2974pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2975pub const NID_X9_62_ppBasis: i32 = 683;
2976pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2977pub const NID_X9_62_c2pnb163v1: i32 = 684;
2978pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2979pub const NID_X9_62_c2pnb163v2: i32 = 685;
2980pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2981pub const NID_X9_62_c2pnb163v3: i32 = 686;
2982pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2983pub const NID_X9_62_c2pnb176v1: i32 = 687;
2984pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2985pub const NID_X9_62_c2tnb191v1: i32 = 688;
2986pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2987pub const NID_X9_62_c2tnb191v2: i32 = 689;
2988pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2989pub const NID_X9_62_c2tnb191v3: i32 = 690;
2990pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2991pub const NID_X9_62_c2onb191v4: i32 = 691;
2992pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2993pub const NID_X9_62_c2onb191v5: i32 = 692;
2994pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2995pub const NID_X9_62_c2pnb208w1: i32 = 693;
2996pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2997pub const NID_X9_62_c2tnb239v1: i32 = 694;
2998pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2999pub const NID_X9_62_c2tnb239v2: i32 = 695;
3000pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
3001pub const NID_X9_62_c2tnb239v3: i32 = 696;
3002pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
3003pub const NID_X9_62_c2onb239v4: i32 = 697;
3004pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
3005pub const NID_X9_62_c2onb239v5: i32 = 698;
3006pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
3007pub const NID_X9_62_c2pnb272w1: i32 = 699;
3008pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
3009pub const NID_X9_62_c2pnb304w1: i32 = 700;
3010pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
3011pub const NID_X9_62_c2tnb359v1: i32 = 701;
3012pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
3013pub const NID_X9_62_c2pnb368w1: i32 = 702;
3014pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
3015pub const NID_X9_62_c2tnb431r1: i32 = 703;
3016pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
3017pub const NID_secp112r1: i32 = 704;
3018pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
3019pub const NID_secp112r2: i32 = 705;
3020pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
3021pub const NID_secp128r1: i32 = 706;
3022pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
3023pub const NID_secp128r2: i32 = 707;
3024pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
3025pub const NID_secp160k1: i32 = 708;
3026pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
3027pub const NID_secp160r1: i32 = 709;
3028pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
3029pub const NID_secp160r2: i32 = 710;
3030pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
3031pub const NID_secp192k1: i32 = 711;
3032pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
3033pub const NID_secp224k1: i32 = 712;
3034pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
3035pub const NID_secp224r1: i32 = 713;
3036pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
3037pub const NID_secp256k1: i32 = 714;
3038pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
3039pub const NID_secp384r1: i32 = 715;
3040pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
3041pub const NID_secp521r1: i32 = 716;
3042pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
3043pub const NID_sect113r1: i32 = 717;
3044pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
3045pub const NID_sect113r2: i32 = 718;
3046pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
3047pub const NID_sect131r1: i32 = 719;
3048pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
3049pub const NID_sect131r2: i32 = 720;
3050pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
3051pub const NID_sect163k1: i32 = 721;
3052pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
3053pub const NID_sect163r1: i32 = 722;
3054pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
3055pub const NID_sect163r2: i32 = 723;
3056pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
3057pub const NID_sect193r1: i32 = 724;
3058pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
3059pub const NID_sect193r2: i32 = 725;
3060pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
3061pub const NID_sect233k1: i32 = 726;
3062pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
3063pub const NID_sect233r1: i32 = 727;
3064pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
3065pub const NID_sect239k1: i32 = 728;
3066pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
3067pub const NID_sect283k1: i32 = 729;
3068pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
3069pub const NID_sect283r1: i32 = 730;
3070pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
3071pub const NID_sect409k1: i32 = 731;
3072pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
3073pub const NID_sect409r1: i32 = 732;
3074pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
3075pub const NID_sect571k1: i32 = 733;
3076pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
3077pub const NID_sect571r1: i32 = 734;
3078pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
3079pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
3080pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
3081pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
3082pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
3083pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
3084pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
3085pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
3086pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
3087pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
3088pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
3089pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
3090pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
3091pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
3092pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
3093pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
3094pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
3095pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
3096pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
3097pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
3098pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
3099pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
3100pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
3101pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
3102pub const NID_any_policy: i32 = 746;
3103pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
3104pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
3105pub const NID_policy_mappings: i32 = 747;
3106pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
3107pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
3108pub const NID_inhibit_any_policy: i32 = 748;
3109pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
3110pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
3111pub const NID_ipsec3: i32 = 749;
3112pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
3113pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
3114pub const NID_ipsec4: i32 = 750;
3115pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
3116pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
3117pub const NID_camellia_128_cbc: i32 = 751;
3118pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
3119pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
3120pub const NID_camellia_192_cbc: i32 = 752;
3121pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
3122pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
3123pub const NID_camellia_256_cbc: i32 = 753;
3124pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
3125pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
3126pub const NID_camellia_128_ecb: i32 = 754;
3127pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
3128pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
3129pub const NID_camellia_192_ecb: i32 = 755;
3130pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
3131pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
3132pub const NID_camellia_256_ecb: i32 = 756;
3133pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
3134pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
3135pub const NID_camellia_128_cfb128: i32 = 757;
3136pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
3137pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
3138pub const NID_camellia_192_cfb128: i32 = 758;
3139pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
3140pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
3141pub const NID_camellia_256_cfb128: i32 = 759;
3142pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
3143pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
3144pub const NID_camellia_128_cfb1: i32 = 760;
3145pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
3146pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
3147pub const NID_camellia_192_cfb1: i32 = 761;
3148pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
3149pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
3150pub const NID_camellia_256_cfb1: i32 = 762;
3151pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
3152pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
3153pub const NID_camellia_128_cfb8: i32 = 763;
3154pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
3155pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
3156pub const NID_camellia_192_cfb8: i32 = 764;
3157pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
3158pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
3159pub const NID_camellia_256_cfb8: i32 = 765;
3160pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
3161pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
3162pub const NID_camellia_128_ofb128: i32 = 766;
3163pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
3164pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
3165pub const NID_camellia_192_ofb128: i32 = 767;
3166pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
3167pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
3168pub const NID_camellia_256_ofb128: i32 = 768;
3169pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
3170pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
3171pub const NID_subject_directory_attributes: i32 = 769;
3172pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
3173pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
3174pub const NID_issuing_distribution_point: i32 = 770;
3175pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
3176pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
3177pub const NID_certificate_issuer: i32 = 771;
3178pub const SN_kisa: &[u8; 5] = b"KISA\0";
3179pub const LN_kisa: &[u8; 5] = b"kisa\0";
3180pub const NID_kisa: i32 = 773;
3181pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
3182pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
3183pub const NID_seed_ecb: i32 = 776;
3184pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
3185pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
3186pub const NID_seed_cbc: i32 = 777;
3187pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
3188pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
3189pub const NID_seed_ofb128: i32 = 778;
3190pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
3191pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
3192pub const NID_seed_cfb128: i32 = 779;
3193pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
3194pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
3195pub const NID_hmac_md5: i32 = 780;
3196pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
3197pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
3198pub const NID_hmac_sha1: i32 = 781;
3199pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
3200pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
3201pub const NID_id_PasswordBasedMAC: i32 = 782;
3202pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
3203pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
3204pub const NID_id_DHBasedMac: i32 = 783;
3205pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
3206pub const NID_id_it_suppLangTags: i32 = 784;
3207pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
3208pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
3209pub const NID_caRepository: i32 = 785;
3210pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
3211pub const NID_id_smime_ct_compressedData: i32 = 786;
3212pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
3213pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
3214pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
3215pub const NID_id_aes128_wrap: i32 = 788;
3216pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
3217pub const NID_id_aes192_wrap: i32 = 789;
3218pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
3219pub const NID_id_aes256_wrap: i32 = 790;
3220pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
3221pub const NID_ecdsa_with_Recommended: i32 = 791;
3222pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
3223pub const NID_ecdsa_with_Specified: i32 = 792;
3224pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
3225pub const NID_ecdsa_with_SHA224: i32 = 793;
3226pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
3227pub const NID_ecdsa_with_SHA256: i32 = 794;
3228pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
3229pub const NID_ecdsa_with_SHA384: i32 = 795;
3230pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
3231pub const NID_ecdsa_with_SHA512: i32 = 796;
3232pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
3233pub const NID_hmacWithMD5: i32 = 797;
3234pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
3235pub const NID_hmacWithSHA224: i32 = 798;
3236pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
3237pub const NID_hmacWithSHA256: i32 = 799;
3238pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
3239pub const NID_hmacWithSHA384: i32 = 800;
3240pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
3241pub const NID_hmacWithSHA512: i32 = 801;
3242pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
3243pub const NID_dsa_with_SHA224: i32 = 802;
3244pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
3245pub const NID_dsa_with_SHA256: i32 = 803;
3246pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
3247pub const NID_whirlpool: i32 = 804;
3248pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
3249pub const NID_cryptopro: i32 = 805;
3250pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
3251pub const NID_cryptocom: i32 = 806;
3252pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
3253    b"id-GostR3411-94-with-GostR3410-2001\0";
3254pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
3255    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
3256pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
3257pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
3258pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
3259    b"GOST R 34.11-94 with GOST R 34.10-94\0";
3260pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
3261pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
3262pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
3263pub const NID_id_GostR3411_94: i32 = 809;
3264pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
3265pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
3266pub const NID_id_HMACGostR3411_94: i32 = 810;
3267pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
3268pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
3269pub const NID_id_GostR3410_2001: i32 = 811;
3270pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
3271pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
3272pub const NID_id_GostR3410_94: i32 = 812;
3273pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
3274pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
3275pub const NID_id_Gost28147_89: i32 = 813;
3276pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
3277pub const NID_gost89_cnt: i32 = 814;
3278pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
3279pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
3280pub const NID_id_Gost28147_89_MAC: i32 = 815;
3281pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
3282pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
3283pub const NID_id_GostR3411_94_prf: i32 = 816;
3284pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
3285pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
3286pub const NID_id_GostR3410_2001DH: i32 = 817;
3287pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
3288pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
3289pub const NID_id_GostR3410_94DH: i32 = 818;
3290pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
3291    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
3292pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
3293pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
3294pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
3295pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
3296pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
3297pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
3298pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
3299pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
3300pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
3301pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
3302    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
3303pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
3304pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
3305    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
3306pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
3307pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
3308    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
3309pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
3310pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
3311    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
3312pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
3313pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
3314    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
3315pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
3316pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
3317    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
3318pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
3319pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
3320    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
3321pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
3322pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
3323pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
3324pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
3325    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
3326pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
3327pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
3328    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
3329pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
3330pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
3331    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
3332pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
3333pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
3334    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
3335pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
3336pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
3337    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
3338pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
3339pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
3340    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
3341pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
3342pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
3343    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
3344pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
3345pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
3346pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
3347pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
3348    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
3349pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
3350pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
3351    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
3352pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
3353pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
3354    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
3355pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
3356pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
3357    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
3358pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
3359pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
3360    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
3361pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
3362pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
3363pub const NID_id_GostR3410_94_a: i32 = 845;
3364pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
3365pub const NID_id_GostR3410_94_aBis: i32 = 846;
3366pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
3367pub const NID_id_GostR3410_94_b: i32 = 847;
3368pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
3369pub const NID_id_GostR3410_94_bBis: i32 = 848;
3370pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
3371pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
3372pub const NID_id_Gost28147_89_cc: i32 = 849;
3373pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
3374pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
3375pub const NID_id_GostR3410_94_cc: i32 = 850;
3376pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
3377pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
3378pub const NID_id_GostR3410_2001_cc: i32 = 851;
3379pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
3380    b"id-GostR3411-94-with-GostR3410-94-cc\0";
3381pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
3382    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
3383pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
3384pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
3385    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
3386pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
3387    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
3388pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
3389pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
3390pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
3391    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
3392pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
3393pub const SN_hmac: &[u8; 5] = b"HMAC\0";
3394pub const LN_hmac: &[u8; 5] = b"hmac\0";
3395pub const NID_hmac: i32 = 855;
3396pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
3397pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
3398pub const NID_LocalKeySet: i32 = 856;
3399pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
3400pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
3401pub const NID_freshest_crl: i32 = 857;
3402pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
3403pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
3404pub const NID_id_on_permanentIdentifier: i32 = 858;
3405pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
3406pub const NID_searchGuide: i32 = 859;
3407pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
3408pub const NID_businessCategory: i32 = 860;
3409pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
3410pub const NID_postalAddress: i32 = 861;
3411pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
3412pub const NID_postOfficeBox: i32 = 862;
3413pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
3414pub const NID_physicalDeliveryOfficeName: i32 = 863;
3415pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
3416pub const NID_telephoneNumber: i32 = 864;
3417pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
3418pub const NID_telexNumber: i32 = 865;
3419pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
3420pub const NID_teletexTerminalIdentifier: i32 = 866;
3421pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
3422pub const NID_facsimileTelephoneNumber: i32 = 867;
3423pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
3424pub const NID_x121Address: i32 = 868;
3425pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
3426pub const NID_internationaliSDNNumber: i32 = 869;
3427pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
3428pub const NID_registeredAddress: i32 = 870;
3429pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
3430pub const NID_destinationIndicator: i32 = 871;
3431pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
3432pub const NID_preferredDeliveryMethod: i32 = 872;
3433pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
3434pub const NID_presentationAddress: i32 = 873;
3435pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3436pub const NID_supportedApplicationContext: i32 = 874;
3437pub const SN_member: &[u8; 7] = b"member\0";
3438pub const NID_member: i32 = 875;
3439pub const SN_owner: &[u8; 6] = b"owner\0";
3440pub const NID_owner: i32 = 876;
3441pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3442pub const NID_roleOccupant: i32 = 877;
3443pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3444pub const NID_seeAlso: i32 = 878;
3445pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3446pub const NID_userPassword: i32 = 879;
3447pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3448pub const NID_userCertificate: i32 = 880;
3449pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3450pub const NID_cACertificate: i32 = 881;
3451pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3452pub const NID_authorityRevocationList: i32 = 882;
3453pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3454pub const NID_certificateRevocationList: i32 = 883;
3455pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3456pub const NID_crossCertificatePair: i32 = 884;
3457pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3458pub const NID_enhancedSearchGuide: i32 = 885;
3459pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3460pub const NID_protocolInformation: i32 = 886;
3461pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3462pub const NID_distinguishedName: i32 = 887;
3463pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3464pub const NID_uniqueMember: i32 = 888;
3465pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3466pub const NID_houseIdentifier: i32 = 889;
3467pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3468pub const NID_supportedAlgorithms: i32 = 890;
3469pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3470pub const NID_deltaRevocationList: i32 = 891;
3471pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3472pub const NID_dmdName: i32 = 892;
3473pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3474pub const NID_id_alg_PWRI_KEK: i32 = 893;
3475pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3476pub const LN_cmac: &[u8; 5] = b"cmac\0";
3477pub const NID_cmac: i32 = 894;
3478pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3479pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3480pub const NID_aes_128_gcm: i32 = 895;
3481pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3482pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3483pub const NID_aes_128_ccm: i32 = 896;
3484pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3485pub const NID_id_aes128_wrap_pad: i32 = 897;
3486pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3487pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3488pub const NID_aes_192_gcm: i32 = 898;
3489pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3490pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3491pub const NID_aes_192_ccm: i32 = 899;
3492pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3493pub const NID_id_aes192_wrap_pad: i32 = 900;
3494pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3495pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3496pub const NID_aes_256_gcm: i32 = 901;
3497pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3498pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3499pub const NID_aes_256_ccm: i32 = 902;
3500pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3501pub const NID_id_aes256_wrap_pad: i32 = 903;
3502pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3503pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3504pub const NID_aes_128_ctr: i32 = 904;
3505pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3506pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3507pub const NID_aes_192_ctr: i32 = 905;
3508pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3509pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3510pub const NID_aes_256_ctr: i32 = 906;
3511pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3512pub const NID_id_camellia128_wrap: i32 = 907;
3513pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3514pub const NID_id_camellia192_wrap: i32 = 908;
3515pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3516pub const NID_id_camellia256_wrap: i32 = 909;
3517pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3518pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3519pub const NID_anyExtendedKeyUsage: i32 = 910;
3520pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3521pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3522pub const NID_mgf1: i32 = 911;
3523pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3524pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3525pub const NID_rsassaPss: i32 = 912;
3526pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3527pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3528pub const NID_aes_128_xts: i32 = 913;
3529pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3530pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3531pub const NID_aes_256_xts: i32 = 914;
3532pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3533pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3534pub const NID_rc4_hmac_md5: i32 = 915;
3535pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3536pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3537pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3538pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3539pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3540pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3541pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3542pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3543pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3544pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3545pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3546pub const NID_rsaesOaep: i32 = 919;
3547pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3548pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3549pub const NID_dhpublicnumber: i32 = 920;
3550pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3551pub const NID_brainpoolP160r1: i32 = 921;
3552pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3553pub const NID_brainpoolP160t1: i32 = 922;
3554pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3555pub const NID_brainpoolP192r1: i32 = 923;
3556pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3557pub const NID_brainpoolP192t1: i32 = 924;
3558pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3559pub const NID_brainpoolP224r1: i32 = 925;
3560pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3561pub const NID_brainpoolP224t1: i32 = 926;
3562pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3563pub const NID_brainpoolP256r1: i32 = 927;
3564pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3565pub const NID_brainpoolP256t1: i32 = 928;
3566pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3567pub const NID_brainpoolP320r1: i32 = 929;
3568pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3569pub const NID_brainpoolP320t1: i32 = 930;
3570pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3571pub const NID_brainpoolP384r1: i32 = 931;
3572pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3573pub const NID_brainpoolP384t1: i32 = 932;
3574pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3575pub const NID_brainpoolP512r1: i32 = 933;
3576pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3577pub const NID_brainpoolP512t1: i32 = 934;
3578pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3579pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3580pub const NID_pSpecified: i32 = 935;
3581pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3582pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3583pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3584    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3585pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3586pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3587    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3588pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3589pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3590    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3591pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3592pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3593    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3594pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3595pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3596    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3597pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3598pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3599    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3600pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3601pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3602    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3603pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3604pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3605    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3606pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3607pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3608    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3609pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3610pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3611pub const NID_dh_std_kdf: i32 = 946;
3612pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3613pub const NID_dh_cofactor_kdf: i32 = 947;
3614pub const SN_X25519: &[u8; 7] = b"X25519\0";
3615pub const NID_X25519: i32 = 948;
3616pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3617pub const NID_ED25519: i32 = 949;
3618pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3619pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3620pub const NID_chacha20_poly1305: i32 = 950;
3621pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3622pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3623pub const NID_kx_rsa: i32 = 951;
3624pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3625pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3626pub const NID_kx_ecdhe: i32 = 952;
3627pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3628pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3629pub const NID_kx_psk: i32 = 953;
3630pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3631pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3632pub const NID_auth_rsa: i32 = 954;
3633pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3634pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3635pub const NID_auth_ecdsa: i32 = 955;
3636pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3637pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3638pub const NID_auth_psk: i32 = 956;
3639pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3640pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3641pub const NID_kx_any: i32 = 957;
3642pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3643pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3644pub const NID_auth_any: i32 = 958;
3645pub const SN_ED448: &[u8; 6] = b"ED448\0";
3646pub const NID_ED448: i32 = 960;
3647pub const SN_X448: &[u8; 5] = b"X448\0";
3648pub const NID_X448: i32 = 961;
3649pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3650pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3651pub const NID_sha512_256: i32 = 962;
3652pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3653pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3654pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3655pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3656pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3657pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3658pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3659pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3660pub const NID_sha3_224: i32 = 965;
3661pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3662pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3663pub const NID_sha3_256: i32 = 966;
3664pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3665pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3666pub const NID_sha3_384: i32 = 967;
3667pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3668pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3669pub const NID_sha3_512: i32 = 968;
3670pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3671pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3672pub const NID_hkdf: i32 = 969;
3673pub const SN_kem: &[u8; 4] = b"KEM\0";
3674pub const LN_kem: &[u8; 4] = b"kem\0";
3675pub const NID_kem: i32 = 970;
3676pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3677pub const NID_ffdhe2048: i32 = 976;
3678pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3679pub const NID_ffdhe4096: i32 = 977;
3680pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3681pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3682pub const NID_sha512_224: i32 = 978;
3683pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3684pub const LN_shake128: &[u8; 9] = b"shake128\0";
3685pub const NID_shake128: i32 = 979;
3686pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3687pub const LN_shake256: &[u8; 9] = b"shake256\0";
3688pub const NID_shake256: i32 = 980;
3689pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3690pub const NID_ffdhe3072: i32 = 983;
3691pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3692pub const NID_ffdhe8192: i32 = 984;
3693pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3694pub const NID_MLKEM512IPD: i32 = 985;
3695pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3696pub const NID_MLKEM768IPD: i32 = 986;
3697pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3698pub const NID_MLKEM1024IPD: i32 = 987;
3699pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3700pub const NID_MLKEM512: i32 = 988;
3701pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3702pub const NID_MLKEM768: i32 = 989;
3703pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3704pub const NID_MLKEM1024: i32 = 990;
3705pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3706pub const NID_X25519MLKEM768: i32 = 991;
3707pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3708pub const NID_SecP256r1MLKEM768: i32 = 992;
3709pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
3710pub const NID_PQDSA: i32 = 993;
3711pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
3712pub const LN_MLDSA44: &[u8; 10] = b"ML-DSA-44\0";
3713pub const NID_MLDSA44: i32 = 994;
3714pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
3715pub const LN_MLDSA65: &[u8; 10] = b"ML-DSA-65\0";
3716pub const NID_MLDSA65: i32 = 995;
3717pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
3718pub const LN_MLDSA87: &[u8; 10] = b"ML-DSA-87\0";
3719pub const NID_MLDSA87: i32 = 996;
3720pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
3721pub const NID_ED25519ph: i32 = 997;
3722pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
3723pub const NID_SecP384r1MLKEM1024: i32 = 998;
3724pub const SN_ct_precert_scts: &[u8; 16] = b"ct_precert_scts\0";
3725pub const LN_ct_precert_scts: &[u8; 23] = b"CT Precertificate SCTs\0";
3726pub const NID_ct_precert_scts: i32 = 999;
3727pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3728pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3729pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3730pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3731pub const MD5_CBLOCK: i32 = 64;
3732pub const MD5_DIGEST_LENGTH: i32 = 16;
3733pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3734pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3735pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3736pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3737pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3738pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3739pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3740pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3741pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3742pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3743pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3744pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3745pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3746pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
3747pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
3748pub const EVP_PKEY_NONE: i32 = 0;
3749pub const EVP_PKEY_RSA: i32 = 6;
3750pub const EVP_PKEY_RSA_PSS: i32 = 912;
3751pub const EVP_PKEY_EC: i32 = 408;
3752pub const EVP_PKEY_ED25519: i32 = 949;
3753pub const EVP_PKEY_ED25519PH: i32 = 997;
3754pub const EVP_PKEY_X25519: i32 = 948;
3755pub const EVP_PKEY_HKDF: i32 = 969;
3756pub const EVP_PKEY_HMAC: i32 = 855;
3757pub const EVP_PKEY_DH: i32 = 28;
3758pub const EVP_PKEY_PQDSA: i32 = 993;
3759pub const EVP_PKEY_KEM: i32 = 970;
3760pub const PKCS5_SALT_LEN: i32 = 8;
3761pub const EVP_PKEY_RSA2: i32 = 19;
3762pub const EVP_PKEY_X448: i32 = 961;
3763pub const EVP_PKEY_ED448: i32 = 960;
3764pub const EVP_PKEY_DSA: i32 = 116;
3765pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3766pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3767pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3768pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3769pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
3770pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3771pub const EVP_HPKE_MLKEM512: i32 = 64;
3772pub const EVP_HPKE_MLKEM768: i32 = 65;
3773pub const EVP_HPKE_MLKEM1024: i32 = 66;
3774pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 1568;
3775pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 64;
3776pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 1568;
3777pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3778pub const EVP_HPKE_HKDF_SHA384: i32 = 2;
3779pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3780pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3781pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3782pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3783pub const HRSS_SAMPLE_BYTES: i32 = 700;
3784pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3785pub const HRSS_ENCAP_BYTES: i32 = 1400;
3786pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3787pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3788pub const HRSS_KEY_BYTES: i32 = 32;
3789pub const HRSS_POLY3_BYTES: i32 = 140;
3790pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3791pub const MD4_CBLOCK: i32 = 64;
3792pub const MD4_DIGEST_LENGTH: i32 = 16;
3793pub const PKCS7_DETACHED: i32 = 64;
3794pub const PKCS7_BINARY: i32 = 128;
3795pub const PKCS7_NOINTERN: i32 = 16;
3796pub const PKCS7_NOATTR: i32 = 256;
3797pub const PKCS7_NOCERTS: i32 = 2;
3798pub const PKCS7_NOVERIFY: i32 = 32;
3799pub const PKCS7_TEXT: i32 = 1;
3800pub const PKCS7_NOSIGS: i32 = 4;
3801pub const PKCS7_NOCHAIN: i32 = 8;
3802pub const PKCS7_NOSMIMECAP: i32 = 512;
3803pub const PKCS7_STREAM: i32 = 4096;
3804pub const PKCS7_PARTIAL: i32 = 16384;
3805pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3806pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3807pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3808pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3809pub const PKCS7_R_INVALID_NULL_POINTER: i32 = 104;
3810pub const PKCS7_R_NO_CONTENT: i32 = 105;
3811pub const PKCS7_R_CIPHER_NOT_INITIALIZED: i32 = 106;
3812pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 107;
3813pub const PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST: i32 = 108;
3814pub const PKCS7_R_UNABLE_TO_FIND_MEM_BIO: i32 = 109;
3815pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 110;
3816pub const PKCS7_R_CONTENT_AND_DATA_PRESENT: i32 = 111;
3817pub const PKCS7_R_NO_SIGNATURES_ON_DATA: i32 = 112;
3818pub const PKCS7_R_CERTIFICATE_VERIFY_ERROR: i32 = 113;
3819pub const PKCS7_R_SMIME_TEXT_ERROR: i32 = 114;
3820pub const PKCS7_R_SIGNATURE_FAILURE: i32 = 115;
3821pub const PKCS7_R_NO_SIGNERS: i32 = 116;
3822pub const PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 117;
3823pub const PKCS7_R_ERROR_SETTING_CIPHER: i32 = 118;
3824pub const PKCS7_R_ERROR_ADDING_RECIPIENT: i32 = 119;
3825pub const PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 120;
3826pub const PKCS7_R_DECRYPT_ERROR: i32 = 121;
3827pub const PKCS7_R_PKCS7_DATASIGN: i32 = 122;
3828pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 123;
3829pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 124;
3830pub const PKCS7_R_UNKNOWN_DIGEST_TYPE: i32 = 125;
3831pub const PKCS7_R_INVALID_SIGNED_DATA_TYPE: i32 = 126;
3832pub const PKCS7_R_UNSUPPORTED_CIPHER_TYPE: i32 = 127;
3833pub const PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE: i32 = 128;
3834pub const PKCS7_R_DIGEST_FAILURE: i32 = 129;
3835pub const PKCS7_R_WRONG_PKCS7_TYPE: i32 = 130;
3836pub const PKCS7_R_PKCS7_ADD_SIGNER_ERROR: i32 = 131;
3837pub const PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR: i32 = 132;
3838pub const PKCS7_R_NO_DEFAULT_DIGEST: i32 = 133;
3839pub const PKCS7_R_CERT_MUST_BE_RSA: i32 = 134;
3840pub const PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE: i32 = 135;
3841pub const RSA_PKCS1_PADDING: i32 = 1;
3842pub const RSA_NO_PADDING: i32 = 3;
3843pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3844pub const RSA_X931_PADDING: i32 = 5;
3845pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3846pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3847pub const RSA_PSS_SALTLEN_AUTO: i32 = -2;
3848pub const RSA_FLAG_OPAQUE: i32 = 1;
3849pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3850pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3851pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3852pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3853pub const RSA_3: i32 = 3;
3854pub const RSA_F4: i32 = 65537;
3855pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3856pub const RSA_R_BAD_ENCODING: i32 = 100;
3857pub const RSA_R_BAD_E_VALUE: i32 = 101;
3858pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3859pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3860pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3861pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3862pub const RSA_R_BAD_VERSION: i32 = 106;
3863pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3864pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3865pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3866pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3867pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3868pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3869pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3870pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3871pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3872pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3873pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3874pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3875pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3876pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3877pub const RSA_R_ENCODE_ERROR: i32 = 121;
3878pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3879pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3880pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3881pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3882pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3883pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3884pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3885pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3886pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3887pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3888pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3889pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3890pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3891pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3892pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3893pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3894pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3895pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3896pub const RSA_R_TOO_LONG: i32 = 140;
3897pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3898pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3899pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3900pub const RSA_R_VALUE_MISSING: i32 = 144;
3901pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3902pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3903pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3904pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3905pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3906pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3907pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3908pub const X509V3_R_BAD_OBJECT: i32 = 101;
3909pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3910pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3911pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3912pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3913pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3914pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3915pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3916pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3917pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3918pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3919pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3920pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3921pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3922pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3923pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3924pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3925pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3926pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3927pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3928pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3929pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3930pub const X509V3_R_INVALID_NAME: i32 = 123;
3931pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3932pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3933pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3934pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3935pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3936pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3937pub const X509V3_R_INVALID_OPTION: i32 = 130;
3938pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3939pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3940pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3941pub const X509V3_R_INVALID_SECTION: i32 = 134;
3942pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3943pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3944pub const X509V3_R_MISSING_VALUE: i32 = 137;
3945pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3946pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3947pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3948pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3949pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3950pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3951pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3952pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3953pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3954pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3955pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3956pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3957pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3958pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3959pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3960pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3961pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3962pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3963pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3964pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3965pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3966pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3967pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3968pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3969pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3970pub const X509V3_R_INVALID_VALUE: i32 = 163;
3971pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3972pub const X509_VERSION_1: i32 = 0;
3973pub const X509_VERSION_2: i32 = 1;
3974pub const X509_VERSION_3: i32 = 2;
3975pub const EXFLAG_BCONS: i32 = 1;
3976pub const EXFLAG_KUSAGE: i32 = 2;
3977pub const EXFLAG_XKUSAGE: i32 = 4;
3978pub const EXFLAG_NSCERT: i32 = 8;
3979pub const EXFLAG_CA: i32 = 16;
3980pub const EXFLAG_SI: i32 = 32;
3981pub const EXFLAG_V1: i32 = 64;
3982pub const EXFLAG_INVALID: i32 = 128;
3983pub const EXFLAG_SET: i32 = 256;
3984pub const EXFLAG_CRITICAL: i32 = 512;
3985pub const EXFLAG_SS: i32 = 8192;
3986pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3987pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3988pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3989pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3990pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3991pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3992pub const X509v3_KU_CRL_SIGN: i32 = 2;
3993pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3994pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3995pub const XKU_SSL_SERVER: i32 = 1;
3996pub const XKU_SSL_CLIENT: i32 = 2;
3997pub const XKU_SMIME: i32 = 4;
3998pub const XKU_CODE_SIGN: i32 = 8;
3999pub const XKU_SGC: i32 = 16;
4000pub const XKU_OCSP_SIGN: i32 = 32;
4001pub const XKU_TIMESTAMP: i32 = 64;
4002pub const XKU_DVCS: i32 = 128;
4003pub const XKU_ANYEKU: i32 = 256;
4004pub const X509_SIG_INFO_VALID: i32 = 1;
4005pub const X509_SIG_INFO_TLS: i32 = 2;
4006pub const X509_CRL_VERSION_1: i32 = 0;
4007pub const X509_CRL_VERSION_2: i32 = 1;
4008pub const X509_REQ_VERSION_1: i32 = 0;
4009pub const X509V3_ADD_OP_MASK: i32 = 15;
4010pub const X509V3_ADD_DEFAULT: i32 = 0;
4011pub const X509V3_ADD_APPEND: i32 = 1;
4012pub const X509V3_ADD_REPLACE: i32 = 2;
4013pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
4014pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
4015pub const X509V3_ADD_DELETE: i32 = 5;
4016pub const X509V3_ADD_SILENT: i32 = 16;
4017pub const GEN_OTHERNAME: i32 = 0;
4018pub const GEN_EMAIL: i32 = 1;
4019pub const GEN_DNS: i32 = 2;
4020pub const GEN_X400: i32 = 3;
4021pub const GEN_DIRNAME: i32 = 4;
4022pub const GEN_EDIPARTY: i32 = 5;
4023pub const GEN_URI: i32 = 6;
4024pub const GEN_IPADD: i32 = 7;
4025pub const GEN_RID: i32 = 8;
4026pub const X509_LU_NONE: i32 = 0;
4027pub const X509_LU_X509: i32 = 1;
4028pub const X509_LU_CRL: i32 = 2;
4029pub const X509_LU_PKEY: i32 = 3;
4030pub const X509_V_OK: i32 = 0;
4031pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
4032pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
4033pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
4034pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
4035pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
4036pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
4037pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
4038pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
4039pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
4040pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
4041pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
4042pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
4043pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
4044pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
4045pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
4046pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
4047pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
4048pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
4049pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
4050pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
4051pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
4052pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
4053pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
4054pub const X509_V_ERR_INVALID_CA: i32 = 24;
4055pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
4056pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
4057pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
4058pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
4059pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
4060pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
4061pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
4062pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
4063pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
4064pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
4065pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
4066pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
4067pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
4068pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
4069pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
4070pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
4071pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
4072pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
4073pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
4074pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
4075pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
4076pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
4077pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
4078pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
4079pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
4080pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
4081pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
4082pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
4083pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
4084pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
4085pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
4086pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
4087pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
4088pub const X509_V_ERR_INVALID_CALL: i32 = 65;
4089pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
4090pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
4091pub const X509_V_ERR_EE_KEY_TOO_SMALL: i32 = 68;
4092pub const X509_V_ERR_CA_KEY_TOO_SMALL: i32 = 69;
4093pub const X509_V_ERR_CA_MD_TOO_WEAK: i32 = 70;
4094pub const X509_V_UNABLE_TO_GET_CERTS_PUBLIC_KEY: i32 = 71;
4095pub const X509_V_ERR_EC_KEY_EXPLICIT_PARAMS: i32 = 72;
4096pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
4097pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
4098pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
4099pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
4100pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
4101pub const X509_V_FLAG_X509_STRICT: i32 = 0;
4102pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
4103pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
4104pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
4105pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
4106pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
4107pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
4108pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
4109pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
4110pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
4111pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
4112pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
4113pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
4114pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
4115pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 1;
4116pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
4117pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 16;
4118pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
4119pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
4120pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
4121pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
4122pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
4123pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
4124pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
4125pub const X509_PURPOSE_ANY: i32 = 7;
4126pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
4127pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
4128pub const X509_TRUST_COMPAT: i32 = 1;
4129pub const X509_TRUST_SSL_CLIENT: i32 = 2;
4130pub const X509_TRUST_SSL_SERVER: i32 = 3;
4131pub const X509_TRUST_EMAIL: i32 = 4;
4132pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
4133pub const X509_TRUST_OCSP_SIGN: i32 = 6;
4134pub const X509_TRUST_OCSP_REQUEST: i32 = 7;
4135pub const X509_TRUST_TSA: i32 = 8;
4136pub const X509_FILETYPE_PEM: i32 = 1;
4137pub const X509_FILETYPE_ASN1: i32 = 2;
4138pub const X509_FILETYPE_DEFAULT: i32 = 3;
4139pub const X509_L_FILE_LOAD: i32 = 1;
4140pub const X509_L_ADD_DIR: i32 = 2;
4141pub const X509_FLAG_COMPAT: i32 = 0;
4142pub const X509_FLAG_NO_HEADER: i32 = 1;
4143pub const X509_FLAG_NO_VERSION: i32 = 2;
4144pub const X509_FLAG_NO_SERIAL: i32 = 4;
4145pub const X509_FLAG_NO_SIGNAME: i32 = 8;
4146pub const X509_FLAG_NO_ISSUER: i32 = 16;
4147pub const X509_FLAG_NO_VALIDITY: i32 = 32;
4148pub const X509_FLAG_NO_SUBJECT: i32 = 64;
4149pub const X509_FLAG_NO_PUBKEY: i32 = 128;
4150pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
4151pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
4152pub const X509_FLAG_NO_AUX: i32 = 1024;
4153pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
4154pub const X509_FLAG_NO_IDS: i32 = 4096;
4155pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
4156pub const X509V3_EXT_DEFAULT: i32 = 0;
4157pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
4158pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
4159pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
4160pub const XN_FLAG_COMPAT: i32 = 0;
4161pub const XN_FLAG_SEP_MASK: i32 = 983040;
4162pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
4163pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
4164pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
4165pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
4166pub const XN_FLAG_DN_REV: i32 = 1048576;
4167pub const XN_FLAG_FN_MASK: i32 = 6291456;
4168pub const XN_FLAG_FN_SN: i32 = 0;
4169pub const XN_FLAG_FN_LN: i32 = 2097152;
4170pub const XN_FLAG_FN_OID: i32 = 4194304;
4171pub const XN_FLAG_FN_NONE: i32 = 6291456;
4172pub const XN_FLAG_SPC_EQ: i32 = 8388608;
4173pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
4174pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
4175pub const XN_FLAG_RFC2253: i32 = 17892119;
4176pub const XN_FLAG_ONELINE: i32 = 8520479;
4177pub const XN_FLAG_MULTILINE: i32 = 44302342;
4178pub const X509_TRUST_TRUSTED: i32 = 1;
4179pub const X509_TRUST_REJECTED: i32 = 2;
4180pub const X509_TRUST_UNTRUSTED: i32 = 3;
4181pub const X509V3_EXT_MULTILINE: i32 = 4;
4182pub const X509V3_CTX_TEST: i32 = 1;
4183pub const X509V3_CTX_REPLACE: i32 = 2;
4184pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
4185pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
4186pub const NS_SSL_CLIENT: i32 = 128;
4187pub const NS_SSL_SERVER: i32 = 64;
4188pub const NS_SMIME: i32 = 32;
4189pub const NS_OBJSIGN: i32 = 16;
4190pub const NS_SSL_CA: i32 = 4;
4191pub const NS_SMIME_CA: i32 = 2;
4192pub const NS_OBJSIGN_CA: i32 = 1;
4193pub const NS_ANY_CA: i32 = 7;
4194pub const X509_V_FLAG_POLICY_MASK: i32 = 1920;
4195pub const X509_R_AKID_MISMATCH: i32 = 100;
4196pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
4197pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
4198pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
4199pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
4200pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
4201pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
4202pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
4203pub const X509_R_IDP_MISMATCH: i32 = 108;
4204pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
4205pub const X509_R_INVALID_DIRECTORY: i32 = 110;
4206pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
4207pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
4208pub const X509_R_INVALID_TRUST: i32 = 113;
4209pub const X509_R_ISSUER_MISMATCH: i32 = 114;
4210pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
4211pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
4212pub const X509_R_LOADING_CERT_DIR: i32 = 117;
4213pub const X509_R_LOADING_DEFAULTS: i32 = 118;
4214pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
4215pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
4216pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
4217pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
4218pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
4219pub const X509_R_NO_CRL_NUMBER: i32 = 124;
4220pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
4221pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
4222pub const X509_R_SHOULD_RETRY: i32 = 127;
4223pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
4224pub const X509_R_UNKNOWN_NID: i32 = 129;
4225pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
4226pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
4227pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
4228pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
4229pub const X509_R_WRONG_TYPE: i32 = 134;
4230pub const X509_R_NAME_TOO_LONG: i32 = 135;
4231pub const X509_R_INVALID_PARAMETER: i32 = 136;
4232pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
4233pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
4234pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
4235pub const X509_R_INVALID_VERSION: i32 = 140;
4236pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
4237pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
4238pub const X509_R_NO_CRL_FOUND: i32 = 143;
4239pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
4240pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
4241pub const CRL_REASON_NONE: i32 = -1;
4242pub const CRL_REASON_UNSPECIFIED: i32 = 0;
4243pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
4244pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
4245pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
4246pub const CRL_REASON_SUPERSEDED: i32 = 4;
4247pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
4248pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
4249pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
4250pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
4251pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
4252pub const KU_DIGITAL_SIGNATURE: i32 = 128;
4253pub const KU_NON_REPUDIATION: i32 = 64;
4254pub const KU_KEY_ENCIPHERMENT: i32 = 32;
4255pub const KU_DATA_ENCIPHERMENT: i32 = 16;
4256pub const KU_KEY_AGREEMENT: i32 = 8;
4257pub const KU_KEY_CERT_SIGN: i32 = 4;
4258pub const KU_CRL_SIGN: i32 = 2;
4259pub const KU_ENCIPHER_ONLY: i32 = 1;
4260pub const KU_DECIPHER_ONLY: i32 = 32768;
4261pub const OCSP_REVOKED_STATUS_NOSTATUS: i32 = -1;
4262pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
4263pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
4264pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
4265pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
4266pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
4267pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
4268pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
4269pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
4270pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
4271pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
4272pub const OCSP_NOCERTS: i32 = 1;
4273pub const OCSP_NOINTERN: i32 = 2;
4274pub const OCSP_NOCHAIN: i32 = 8;
4275pub const OCSP_NOVERIFY: i32 = 16;
4276pub const OCSP_NOEXPLICIT: i32 = 32;
4277pub const OCSP_TRUSTOTHER: i32 = 512;
4278pub const OCSP_RESPID_KEY: i32 = 1024;
4279pub const OCSP_NOTIME: i32 = 2048;
4280pub const OCSP_NOSIGS: i32 = 0;
4281pub const OCSP_NOCASIGN: i32 = 0;
4282pub const OCSP_NODELEGATED: i32 = 0;
4283pub const OCSP_NOCHECKS: i32 = 0;
4284pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
4285pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
4286pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
4287pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
4288pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
4289pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
4290pub const V_OCSP_RESPID_NAME: i32 = 0;
4291pub const V_OCSP_RESPID_KEY: i32 = 1;
4292pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
4293pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
4294pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
4295pub const OCSP_NONCE_EQUAL: i32 = 1;
4296pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
4297pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
4298pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
4299pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
4300pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
4301pub const OCSP_R_DIGEST_ERR: i32 = 102;
4302pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
4303pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
4304pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
4305pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
4306pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
4307pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
4308pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
4309pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
4310pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
4311pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
4312pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
4313pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
4314pub const OCSP_R_UNKNOWN_NID: i32 = 120;
4315pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
4316pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
4317pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
4318pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
4319pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
4320pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
4321pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
4322pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
4323pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
4324pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
4325pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
4326pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
4327pub const OCSP_R_INVALID_HTTP_HEADER: i32 = 133;
4328pub const PEM_BUFSIZE: i32 = 1024;
4329pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
4330pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
4331pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
4332pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
4333pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
4334pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
4335pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
4336pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
4337pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
4338pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
4339pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
4340pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
4341pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
4342pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
4343pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
4344pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
4345pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
4346pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
4347pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
4348pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
4349pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
4350pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
4351pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
4352pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
4353pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
4354pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
4355pub const PEM_TYPE_ENCRYPTED: i32 = 10;
4356pub const PEM_TYPE_MIC_ONLY: i32 = 20;
4357pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
4358pub const PEM_TYPE_CLEAR: i32 = 40;
4359pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
4360pub const PEM_R_BAD_DECRYPT: i32 = 101;
4361pub const PEM_R_BAD_END_LINE: i32 = 102;
4362pub const PEM_R_BAD_IV_CHARS: i32 = 103;
4363pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
4364pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
4365pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
4366pub const PEM_R_NOT_DEK_INFO: i32 = 107;
4367pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
4368pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
4369pub const PEM_R_NO_START_LINE: i32 = 110;
4370pub const PEM_R_READ_KEY: i32 = 111;
4371pub const PEM_R_SHORT_HEADER: i32 = 112;
4372pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4373pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4374pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
4375pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4376pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4377pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4378pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4379pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4380pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4381pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4382pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4383pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4384pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4385pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4386pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4387pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4388pub const PKCS8_R_MISSING_MAC: i32 = 112;
4389pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4390pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4391pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4392pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4393pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4394pub const PKCS8_R_TOO_LONG: i32 = 118;
4395pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4396pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4397pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4398pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4399pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4400pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4401pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4402pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4403pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4404pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4405pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4406pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4407pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4408pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4409pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4410pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
4411pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
4412pub const RIPEMD160_CBLOCK: i32 = 64;
4413pub const RIPEMD160_LBLOCK: i32 = 16;
4414pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4415pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4416pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4417pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4418pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4419pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4420pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4421pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4422pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4423pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4424pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4425pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4426pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4427pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4428pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4429pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4430pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4431pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4432pub type __off_t = ::std::os::raw::c_long;
4433pub type __off64_t = ::std::os::raw::c_long;
4434pub type __time_t = ::std::os::raw::c_long;
4435pub type time_t = __time_t;
4436#[repr(C)]
4437#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
4438pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
4439    pub _bindgen_align: [u32; 0],
4440    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4441    pub __bindgen_padding_0: [u8; 3usize],
4442}
4443#[test]
4444fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4445) {
4446    assert_eq!(
4447        ::std::mem::size_of::<
4448            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
4449        >(),
4450        4usize,
4451        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
4452    );
4453    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit");
4454}
4455impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
4456    #[inline]
4457    #[allow(unnecessary_transmutes)]
4458    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4459        &self,
4460    ) -> ::std::os::raw::c_uint {
4461        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
4462    }
4463    #[inline]
4464    #[allow(unnecessary_transmutes)]
4465    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4466        &mut self,
4467        val: ::std::os::raw::c_uint,
4468    ) {
4469        unsafe {
4470            let val: u32 = ::std::mem::transmute(val);
4471            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
4472        }
4473    }
4474    #[inline]
4475    #[allow(unnecessary_transmutes)]
4476    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
4477        this: *const Self,
4478    ) -> ::std::os::raw::c_uint {
4479        unsafe {
4480            ::std::mem::transmute(
4481                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
4482                    ::std::ptr::addr_of!((*this)._bitfield_1),
4483                ) as u32,
4484            )
4485        }
4486    }
4487    #[inline]
4488    #[allow(unnecessary_transmutes)]
4489    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
4490        this: *mut Self,
4491        val: ::std::os::raw::c_uint,
4492    ) {
4493        unsafe {
4494            let val: u32 = ::std::mem::transmute(val);
4495            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
4496                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4497                val as u64,
4498            )
4499        }
4500    }
4501    #[inline]
4502    #[allow(unnecessary_transmutes)]
4503    pub fn new_bitfield_1(
4504        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
4505    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4506        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4507        __bindgen_bitfield_unit . set_const :: < 0usize , 1u8 > ({ let static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
4508        __bindgen_bitfield_unit
4509    }
4510}
4511pub type ossl_ssize_t = isize;
4512pub type CBS_ASN1_TAG = u32;
4513pub type CRYPTO_THREADID = ::std::os::raw::c_int;
4514#[repr(C)]
4515#[derive(Debug)]
4516pub struct asn1_null_st {
4517    _unused: [u8; 0],
4518}
4519pub type ASN1_NULL = asn1_null_st;
4520pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4521pub type ASN1_ITEM = ASN1_ITEM_st;
4522#[repr(C)]
4523#[derive(Debug)]
4524pub struct asn1_object_st {
4525    _unused: [u8; 0],
4526}
4527pub type ASN1_OBJECT = asn1_object_st;
4528#[repr(C)]
4529#[derive(Debug)]
4530pub struct asn1_pctx_st {
4531    _unused: [u8; 0],
4532}
4533pub type ASN1_PCTX = asn1_pctx_st;
4534pub type ASN1_BIT_STRING = asn1_string_st;
4535pub type ASN1_BMPSTRING = asn1_string_st;
4536pub type ASN1_ENUMERATED = asn1_string_st;
4537pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4538pub type ASN1_GENERALSTRING = asn1_string_st;
4539pub type ASN1_IA5STRING = asn1_string_st;
4540pub type ASN1_INTEGER = asn1_string_st;
4541pub type ASN1_OCTET_STRING = asn1_string_st;
4542pub type ASN1_PRINTABLESTRING = asn1_string_st;
4543pub type ASN1_STRING = asn1_string_st;
4544pub type ASN1_T61STRING = asn1_string_st;
4545pub type ASN1_TIME = asn1_string_st;
4546pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4547pub type ASN1_UTCTIME = asn1_string_st;
4548pub type ASN1_UTF8STRING = asn1_string_st;
4549pub type ASN1_VISIBLESTRING = asn1_string_st;
4550pub type ASN1_TYPE = asn1_type_st;
4551pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4552pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4553pub type DIST_POINT = DIST_POINT_st;
4554pub type DSA_SIG = DSA_SIG_st;
4555pub type GENERAL_NAME = GENERAL_NAME_st;
4556pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4557pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4558pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4559pub type NETSCAPE_SPKI = Netscape_spki_st;
4560pub type RIPEMD160_CTX = RIPEMD160state_st;
4561#[repr(C)]
4562#[derive(Debug)]
4563pub struct X509_VERIFY_PARAM_st {
4564    _unused: [u8; 0],
4565}
4566pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4567pub type X509_ALGOR = X509_algor_st;
4568#[repr(C)]
4569#[derive(Debug)]
4570pub struct X509_crl_st {
4571    _unused: [u8; 0],
4572}
4573pub type X509_CRL = X509_crl_st;
4574#[repr(C)]
4575#[derive(Debug)]
4576pub struct X509_extension_st {
4577    _unused: [u8; 0],
4578}
4579pub type X509_EXTENSION = X509_extension_st;
4580pub type X509_INFO = X509_info_st;
4581#[repr(C)]
4582#[derive(Debug)]
4583pub struct X509_name_entry_st {
4584    _unused: [u8; 0],
4585}
4586pub type X509_NAME_ENTRY = X509_name_entry_st;
4587#[repr(C)]
4588#[derive(Debug)]
4589pub struct X509_name_st {
4590    _unused: [u8; 0],
4591}
4592pub type X509_NAME = X509_name_st;
4593#[repr(C)]
4594#[derive(Debug)]
4595pub struct X509_pubkey_st {
4596    _unused: [u8; 0],
4597}
4598pub type X509_PUBKEY = X509_pubkey_st;
4599#[repr(C)]
4600#[derive(Debug)]
4601pub struct X509_req_st {
4602    _unused: [u8; 0],
4603}
4604pub type X509_REQ = X509_req_st;
4605#[repr(C)]
4606#[derive(Debug)]
4607pub struct x509_sig_info_st {
4608    _unused: [u8; 0],
4609}
4610pub type X509_SIG_INFO = x509_sig_info_st;
4611#[repr(C)]
4612#[derive(Debug)]
4613pub struct X509_sig_st {
4614    _unused: [u8; 0],
4615}
4616pub type X509_SIG = X509_sig_st;
4617#[repr(C)]
4618#[derive(Debug)]
4619pub struct bignum_ctx {
4620    _unused: [u8; 0],
4621}
4622pub type BN_CTX = bignum_ctx;
4623pub type BIGNUM = bignum_st;
4624pub type BIO_METHOD = bio_method_st;
4625pub type BIO = bio_st;
4626pub type BLAKE2B_CTX = blake2b_state_st;
4627pub type BN_GENCB = bn_gencb_st;
4628pub type BN_MONT_CTX = bn_mont_ctx_st;
4629pub type BUF_MEM = buf_mem_st;
4630#[repr(C)]
4631#[derive(Debug)]
4632pub struct cast_key_st {
4633    _unused: [u8; 0],
4634}
4635pub type CAST_KEY = cast_key_st;
4636pub type CBB = cbb_st;
4637pub type CBS = cbs_st;
4638#[repr(C)]
4639#[derive(Debug)]
4640pub struct cmac_ctx_st {
4641    _unused: [u8; 0],
4642}
4643pub type CMAC_CTX = cmac_ctx_st;
4644pub type CONF = conf_st;
4645pub type CONF_VALUE = conf_value_st;
4646#[repr(C)]
4647#[derive(Debug)]
4648pub struct crypto_buffer_pool_st {
4649    _unused: [u8; 0],
4650}
4651pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4652#[repr(C)]
4653#[derive(Debug)]
4654pub struct crypto_buffer_st {
4655    _unused: [u8; 0],
4656}
4657pub type CRYPTO_BUFFER = crypto_buffer_st;
4658#[repr(C)]
4659#[derive(Debug)]
4660pub struct ctr_drbg_state_st {
4661    _unused: [u8; 0],
4662}
4663pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4664#[repr(C)]
4665#[derive(Debug)]
4666pub struct dh_st {
4667    _unused: [u8; 0],
4668}
4669pub type DH = dh_st;
4670#[repr(C)]
4671#[derive(Debug)]
4672pub struct dsa_st {
4673    _unused: [u8; 0],
4674}
4675pub type DSA = dsa_st;
4676#[repr(C)]
4677#[derive(Debug)]
4678pub struct ec_group_st {
4679    _unused: [u8; 0],
4680}
4681pub type EC_GROUP = ec_group_st;
4682#[repr(C)]
4683#[derive(Debug)]
4684pub struct ec_key_st {
4685    _unused: [u8; 0],
4686}
4687pub type EC_KEY = ec_key_st;
4688#[repr(C)]
4689#[derive(Debug)]
4690pub struct ec_point_st {
4691    _unused: [u8; 0],
4692}
4693pub type EC_POINT = ec_point_st;
4694#[repr(C)]
4695#[derive(Debug)]
4696pub struct ec_key_method_st {
4697    _unused: [u8; 0],
4698}
4699pub type EC_KEY_METHOD = ec_key_method_st;
4700pub type ECDSA_SIG = ecdsa_sig_st;
4701#[repr(C)]
4702#[derive(Debug)]
4703pub struct engine_st {
4704    _unused: [u8; 0],
4705}
4706pub type ENGINE = engine_st;
4707pub type EVP_MD_CTX = env_md_ctx_st;
4708#[repr(C)]
4709#[derive(Debug)]
4710pub struct env_md_st {
4711    _unused: [u8; 0],
4712}
4713pub type EVP_MD = env_md_st;
4714#[repr(C)]
4715#[derive(Debug)]
4716pub struct evp_aead_st {
4717    _unused: [u8; 0],
4718}
4719pub type EVP_AEAD = evp_aead_st;
4720pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4721pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4722#[repr(C)]
4723#[derive(Debug)]
4724pub struct evp_cipher_st {
4725    _unused: [u8; 0],
4726}
4727pub type EVP_CIPHER = evp_cipher_st;
4728#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
4729pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4730#[repr(C)]
4731#[derive(Debug)]
4732pub struct evp_hpke_aead_st {
4733    _unused: [u8; 0],
4734}
4735pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4736pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4737#[repr(C)]
4738#[derive(Debug)]
4739pub struct evp_hpke_kdf_st {
4740    _unused: [u8; 0],
4741}
4742pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4743#[repr(C)]
4744#[derive(Debug)]
4745pub struct evp_hpke_kem_st {
4746    _unused: [u8; 0],
4747}
4748pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4749pub type EVP_HPKE_KEY = evp_hpke_key_st;
4750#[repr(C)]
4751#[derive(Debug)]
4752pub struct evp_kem_st {
4753    _unused: [u8; 0],
4754}
4755pub type EVP_KEM = evp_kem_st;
4756#[repr(C)]
4757#[derive(Debug)]
4758pub struct kem_key_st {
4759    _unused: [u8; 0],
4760}
4761pub type KEM_KEY = kem_key_st;
4762#[repr(C)]
4763#[derive(Debug)]
4764pub struct evp_pkey_ctx_st {
4765    _unused: [u8; 0],
4766}
4767pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4768#[repr(C)]
4769#[derive(Debug)]
4770pub struct evp_pkey_asn1_method_st {
4771    _unused: [u8; 0],
4772}
4773pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4774#[repr(C)]
4775#[derive(Debug)]
4776pub struct evp_pkey_st {
4777    _unused: [u8; 0],
4778}
4779pub type EVP_PKEY = evp_pkey_st;
4780#[repr(C)]
4781#[derive(Debug)]
4782pub struct evp_pkey_ctx_signature_context_params_st {
4783    _unused: [u8; 0],
4784}
4785pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4786pub type HMAC_CTX = hmac_ctx_st;
4787pub type MD4_CTX = md4_state_st;
4788pub type MD5_CTX = md5_state_st;
4789#[repr(C)]
4790#[derive(Debug)]
4791pub struct pqdsa_key_st {
4792    _unused: [u8; 0],
4793}
4794pub type PQDSA_KEY = pqdsa_key_st;
4795#[repr(C)]
4796#[derive(Debug)]
4797pub struct ocsp_req_ctx_st {
4798    _unused: [u8; 0],
4799}
4800pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4801#[repr(C)]
4802#[derive(Debug)]
4803pub struct ossl_init_settings_st {
4804    _unused: [u8; 0],
4805}
4806pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4807#[repr(C)]
4808#[derive(Debug)]
4809pub struct pkcs7_digest_st {
4810    _unused: [u8; 0],
4811}
4812pub type PKCS7_DIGEST = pkcs7_digest_st;
4813#[repr(C)]
4814#[derive(Debug)]
4815pub struct pkcs7_enc_content_st {
4816    _unused: [u8; 0],
4817}
4818pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4819#[repr(C)]
4820#[derive(Debug)]
4821pub struct pkcs7_encrypt_st {
4822    _unused: [u8; 0],
4823}
4824pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4825pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4826pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4827pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4828pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4829pub type PKCS7_SIGNED = pkcs7_signed_st;
4830pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4831pub type PKCS7 = pkcs7_st;
4832#[repr(C)]
4833#[derive(Debug)]
4834pub struct pkcs12_st {
4835    _unused: [u8; 0],
4836}
4837pub type PKCS12 = pkcs12_st;
4838#[repr(C)]
4839#[derive(Debug)]
4840pub struct pkcs8_priv_key_info_st {
4841    _unused: [u8; 0],
4842}
4843pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4844pub type X509_PKEY = private_key_st;
4845pub type RAND_METHOD = rand_meth_st;
4846pub type RC4_KEY = rc4_key_st;
4847#[repr(C)]
4848#[derive(Debug)]
4849pub struct rsa_meth_st {
4850    _unused: [u8; 0],
4851}
4852pub type RSA_METHOD = rsa_meth_st;
4853#[repr(C)]
4854#[derive(Debug)]
4855pub struct rsassa_pss_params_st {
4856    _unused: [u8; 0],
4857}
4858pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4859pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4860#[repr(C)]
4861#[derive(Debug)]
4862pub struct rsa_st {
4863    _unused: [u8; 0],
4864}
4865pub type RSA = rsa_st;
4866pub type SHA256_CTX = sha256_state_st;
4867pub type SHA512_CTX = sha512_state_st;
4868pub type SHA_CTX = sha_state_st;
4869#[repr(C)]
4870#[derive(Debug)]
4871pub struct spake2_ctx_st {
4872    _unused: [u8; 0],
4873}
4874pub type SPAKE2_CTX = spake2_ctx_st;
4875#[repr(C)]
4876#[derive(Debug)]
4877pub struct srtp_protection_profile_st {
4878    _unused: [u8; 0],
4879}
4880pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4881#[repr(C)]
4882#[derive(Debug)]
4883pub struct ssl_cipher_st {
4884    _unused: [u8; 0],
4885}
4886pub type SSL_CIPHER = ssl_cipher_st;
4887#[repr(C)]
4888#[derive(Debug)]
4889pub struct ssl_ctx_st {
4890    _unused: [u8; 0],
4891}
4892pub type SSL_CTX = ssl_ctx_st;
4893#[repr(C)]
4894#[derive(Debug)]
4895pub struct ssl_early_callback_ctx {
4896    _unused: [u8; 0],
4897}
4898pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4899#[repr(C)]
4900#[derive(Debug)]
4901pub struct ssl_ech_keys_st {
4902    _unused: [u8; 0],
4903}
4904pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4905#[repr(C)]
4906#[derive(Debug)]
4907pub struct ssl_method_st {
4908    _unused: [u8; 0],
4909}
4910pub type SSL_METHOD = ssl_method_st;
4911#[repr(C)]
4912#[derive(Debug)]
4913pub struct ssl_private_key_method_st {
4914    _unused: [u8; 0],
4915}
4916pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4917#[repr(C)]
4918#[derive(Debug)]
4919pub struct ssl_quic_method_st {
4920    _unused: [u8; 0],
4921}
4922pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4923#[repr(C)]
4924#[derive(Debug)]
4925pub struct ssl_session_st {
4926    _unused: [u8; 0],
4927}
4928pub type SSL_SESSION = ssl_session_st;
4929#[repr(C)]
4930#[derive(Debug)]
4931pub struct ssl_st {
4932    _unused: [u8; 0],
4933}
4934pub type SSL = ssl_st;
4935#[repr(C)]
4936#[derive(Debug)]
4937pub struct ssl_ticket_aead_method_st {
4938    _unused: [u8; 0],
4939}
4940pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4941#[repr(C)]
4942#[derive(Debug)]
4943pub struct st_ERR_FNS {
4944    _unused: [u8; 0],
4945}
4946pub type ERR_FNS = st_ERR_FNS;
4947pub type TRUST_TOKEN = trust_token_st;
4948#[repr(C)]
4949#[derive(Debug)]
4950pub struct trust_token_client_st {
4951    _unused: [u8; 0],
4952}
4953pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4954#[repr(C)]
4955#[derive(Debug)]
4956pub struct trust_token_issuer_st {
4957    _unused: [u8; 0],
4958}
4959pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4960#[repr(C)]
4961#[derive(Debug)]
4962pub struct trust_token_method_st {
4963    _unused: [u8; 0],
4964}
4965pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4966pub type X509V3_CTX = v3_ext_ctx;
4967pub type X509V3_EXT_METHOD = v3_ext_method;
4968#[repr(C)]
4969#[derive(Debug)]
4970pub struct x509_attributes_st {
4971    _unused: [u8; 0],
4972}
4973pub type X509_ATTRIBUTE = x509_attributes_st;
4974#[repr(C)]
4975#[derive(Debug)]
4976pub struct x509_lookup_st {
4977    _unused: [u8; 0],
4978}
4979pub type X509_LOOKUP = x509_lookup_st;
4980#[repr(C)]
4981#[derive(Debug)]
4982pub struct x509_lookup_method_st {
4983    _unused: [u8; 0],
4984}
4985pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4986#[repr(C)]
4987#[derive(Debug)]
4988pub struct x509_object_st {
4989    _unused: [u8; 0],
4990}
4991pub type X509_OBJECT = x509_object_st;
4992#[repr(C)]
4993#[derive(Debug)]
4994pub struct x509_revoked_st {
4995    _unused: [u8; 0],
4996}
4997pub type X509_REVOKED = x509_revoked_st;
4998#[repr(C)]
4999#[derive(Debug)]
5000pub struct x509_st {
5001    _unused: [u8; 0],
5002}
5003pub type X509 = x509_st;
5004#[repr(C)]
5005#[derive(Debug)]
5006pub struct x509_store_ctx_st {
5007    _unused: [u8; 0],
5008}
5009pub type X509_STORE_CTX = x509_store_ctx_st;
5010#[repr(C)]
5011#[derive(Debug)]
5012pub struct x509_store_st {
5013    _unused: [u8; 0],
5014}
5015pub type X509_STORE = x509_store_st;
5016pub type X509_TRUST = x509_trust_st;
5017pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
5018#[repr(C)]
5019#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5020pub struct aes_key_st {
5021    pub rd_key: [u32; 60usize],
5022    pub rounds: ::std::os::raw::c_uint,
5023}
5024#[test]
5025fn bindgen_test_layout_aes_key_st() {
5026    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
5027    let ptr = UNINIT.as_ptr();
5028    assert_eq!(
5029        ::std::mem::size_of::<aes_key_st>(),
5030        244usize,
5031        "Size of aes_key_st"
5032    );
5033    assert_eq!(
5034        ::std::mem::align_of::<aes_key_st>(),
5035        4usize,
5036        "Alignment of aes_key_st"
5037    );
5038    assert_eq!(
5039        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
5040        0usize,
5041        "Offset of field: aes_key_st::rd_key"
5042    );
5043    assert_eq!(
5044        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
5045        240usize,
5046        "Offset of field: aes_key_st::rounds"
5047    );
5048}
5049impl Default for aes_key_st {
5050    fn default() -> Self {
5051        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5052        unsafe {
5053            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5054            s.assume_init()
5055        }
5056    }
5057}
5058pub type AES_KEY = aes_key_st;
5059extern "C" {
5060    #[link_name = "aws_lc_0_47_0_AES_set_encrypt_key"]
5061    pub fn AES_set_encrypt_key(
5062        key: *const u8,
5063        bits: ::std::os::raw::c_uint,
5064        aeskey: *mut AES_KEY,
5065    ) -> ::std::os::raw::c_int;
5066}
5067extern "C" {
5068    #[link_name = "aws_lc_0_47_0_AES_set_decrypt_key"]
5069    pub fn AES_set_decrypt_key(
5070        key: *const u8,
5071        bits: ::std::os::raw::c_uint,
5072        aeskey: *mut AES_KEY,
5073    ) -> ::std::os::raw::c_int;
5074}
5075extern "C" {
5076    #[link_name = "aws_lc_0_47_0_AES_encrypt"]
5077    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5078}
5079extern "C" {
5080    #[link_name = "aws_lc_0_47_0_AES_decrypt"]
5081    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5082}
5083extern "C" {
5084    #[link_name = "aws_lc_0_47_0_AES_ctr128_encrypt"]
5085    pub fn AES_ctr128_encrypt(
5086        in_: *const u8,
5087        out: *mut u8,
5088        len: usize,
5089        key: *const AES_KEY,
5090        ivec: *mut u8,
5091        ecount_buf: *mut u8,
5092        num: *mut ::std::os::raw::c_uint,
5093    );
5094}
5095extern "C" {
5096    #[link_name = "aws_lc_0_47_0_AES_ecb_encrypt"]
5097    pub fn AES_ecb_encrypt(
5098        in_: *const u8,
5099        out: *mut u8,
5100        key: *const AES_KEY,
5101        enc: ::std::os::raw::c_int,
5102    );
5103}
5104extern "C" {
5105    #[link_name = "aws_lc_0_47_0_AES_cbc_encrypt"]
5106    pub fn AES_cbc_encrypt(
5107        in_: *const u8,
5108        out: *mut u8,
5109        len: usize,
5110        key: *const AES_KEY,
5111        ivec: *mut u8,
5112        enc: ::std::os::raw::c_int,
5113    );
5114}
5115extern "C" {
5116    #[link_name = "aws_lc_0_47_0_AES_ofb128_encrypt"]
5117    pub fn AES_ofb128_encrypt(
5118        in_: *const u8,
5119        out: *mut u8,
5120        len: usize,
5121        key: *const AES_KEY,
5122        ivec: *mut u8,
5123        num: *mut ::std::os::raw::c_int,
5124    );
5125}
5126extern "C" {
5127    #[link_name = "aws_lc_0_47_0_AES_cfb1_encrypt"]
5128    pub fn AES_cfb1_encrypt(
5129        in_: *const u8,
5130        out: *mut u8,
5131        bits: usize,
5132        key: *const AES_KEY,
5133        ivec: *mut u8,
5134        num: *mut ::std::os::raw::c_int,
5135        enc: ::std::os::raw::c_int,
5136    );
5137}
5138extern "C" {
5139    #[link_name = "aws_lc_0_47_0_AES_cfb8_encrypt"]
5140    pub fn AES_cfb8_encrypt(
5141        in_: *const u8,
5142        out: *mut u8,
5143        len: usize,
5144        key: *const AES_KEY,
5145        ivec: *mut u8,
5146        num: *mut ::std::os::raw::c_int,
5147        enc: ::std::os::raw::c_int,
5148    );
5149}
5150extern "C" {
5151    #[link_name = "aws_lc_0_47_0_AES_cfb128_encrypt"]
5152    pub fn AES_cfb128_encrypt(
5153        in_: *const u8,
5154        out: *mut u8,
5155        len: usize,
5156        key: *const AES_KEY,
5157        ivec: *mut u8,
5158        num: *mut ::std::os::raw::c_int,
5159        enc: ::std::os::raw::c_int,
5160    );
5161}
5162extern "C" {
5163    #[link_name = "aws_lc_0_47_0_AES_wrap_key"]
5164    pub fn AES_wrap_key(
5165        key: *const AES_KEY,
5166        iv: *const u8,
5167        out: *mut u8,
5168        in_: *const u8,
5169        in_len: usize,
5170    ) -> ::std::os::raw::c_int;
5171}
5172extern "C" {
5173    #[link_name = "aws_lc_0_47_0_AES_unwrap_key"]
5174    pub fn AES_unwrap_key(
5175        key: *const AES_KEY,
5176        iv: *const u8,
5177        out: *mut u8,
5178        in_: *const u8,
5179        in_len: usize,
5180    ) -> ::std::os::raw::c_int;
5181}
5182extern "C" {
5183    #[link_name = "aws_lc_0_47_0_AES_wrap_key_padded"]
5184    pub fn AES_wrap_key_padded(
5185        key: *const AES_KEY,
5186        out: *mut u8,
5187        out_len: *mut usize,
5188        max_out: usize,
5189        in_: *const u8,
5190        in_len: usize,
5191    ) -> ::std::os::raw::c_int;
5192}
5193extern "C" {
5194    #[link_name = "aws_lc_0_47_0_AES_unwrap_key_padded"]
5195    pub fn AES_unwrap_key_padded(
5196        key: *const AES_KEY,
5197        out: *mut u8,
5198        out_len: *mut usize,
5199        max_out: usize,
5200        in_: *const u8,
5201        in_len: usize,
5202    ) -> ::std::os::raw::c_int;
5203}
5204#[repr(C)]
5205#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5206pub struct tm {
5207    pub tm_sec: ::std::os::raw::c_int,
5208    pub tm_min: ::std::os::raw::c_int,
5209    pub tm_hour: ::std::os::raw::c_int,
5210    pub tm_mday: ::std::os::raw::c_int,
5211    pub tm_mon: ::std::os::raw::c_int,
5212    pub tm_year: ::std::os::raw::c_int,
5213    pub tm_wday: ::std::os::raw::c_int,
5214    pub tm_yday: ::std::os::raw::c_int,
5215    pub tm_isdst: ::std::os::raw::c_int,
5216    pub tm_gmtoff: ::std::os::raw::c_long,
5217    pub tm_zone: *const ::std::os::raw::c_char,
5218}
5219#[test]
5220fn bindgen_test_layout_tm() {
5221    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
5222    let ptr = UNINIT.as_ptr();
5223    assert_eq!(::std::mem::size_of::<tm>(), 56usize, "Size of tm");
5224    assert_eq!(::std::mem::align_of::<tm>(), 8usize, "Alignment of tm");
5225    assert_eq!(
5226        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
5227        0usize,
5228        "Offset of field: tm::tm_sec"
5229    );
5230    assert_eq!(
5231        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
5232        4usize,
5233        "Offset of field: tm::tm_min"
5234    );
5235    assert_eq!(
5236        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
5237        8usize,
5238        "Offset of field: tm::tm_hour"
5239    );
5240    assert_eq!(
5241        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
5242        12usize,
5243        "Offset of field: tm::tm_mday"
5244    );
5245    assert_eq!(
5246        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
5247        16usize,
5248        "Offset of field: tm::tm_mon"
5249    );
5250    assert_eq!(
5251        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
5252        20usize,
5253        "Offset of field: tm::tm_year"
5254    );
5255    assert_eq!(
5256        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
5257        24usize,
5258        "Offset of field: tm::tm_wday"
5259    );
5260    assert_eq!(
5261        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
5262        28usize,
5263        "Offset of field: tm::tm_yday"
5264    );
5265    assert_eq!(
5266        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
5267        32usize,
5268        "Offset of field: tm::tm_isdst"
5269    );
5270    assert_eq!(
5271        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
5272        40usize,
5273        "Offset of field: tm::tm_gmtoff"
5274    );
5275    assert_eq!(
5276        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
5277        48usize,
5278        "Offset of field: tm::tm_zone"
5279    );
5280}
5281impl Default for tm {
5282    fn default() -> Self {
5283        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5284        unsafe {
5285            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5286            s.assume_init()
5287        }
5288    }
5289}
5290pub type __gnuc_va_list = __builtin_va_list;
5291pub type FILE = _IO_FILE;
5292#[repr(C)]
5293#[derive(Debug)]
5294pub struct _IO_marker {
5295    _unused: [u8; 0],
5296}
5297#[repr(C)]
5298#[derive(Debug)]
5299pub struct _IO_codecvt {
5300    _unused: [u8; 0],
5301}
5302#[repr(C)]
5303#[derive(Debug)]
5304pub struct _IO_wide_data {
5305    _unused: [u8; 0],
5306}
5307pub type _IO_lock_t = ::std::os::raw::c_void;
5308#[repr(C)]
5309#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5310pub struct _IO_FILE {
5311    pub _flags: ::std::os::raw::c_int,
5312    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
5313    pub _IO_read_end: *mut ::std::os::raw::c_char,
5314    pub _IO_read_base: *mut ::std::os::raw::c_char,
5315    pub _IO_write_base: *mut ::std::os::raw::c_char,
5316    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
5317    pub _IO_write_end: *mut ::std::os::raw::c_char,
5318    pub _IO_buf_base: *mut ::std::os::raw::c_char,
5319    pub _IO_buf_end: *mut ::std::os::raw::c_char,
5320    pub _IO_save_base: *mut ::std::os::raw::c_char,
5321    pub _IO_backup_base: *mut ::std::os::raw::c_char,
5322    pub _IO_save_end: *mut ::std::os::raw::c_char,
5323    pub _markers: *mut _IO_marker,
5324    pub _chain: *mut _IO_FILE,
5325    pub _fileno: ::std::os::raw::c_int,
5326    pub _flags2: ::std::os::raw::c_int,
5327    pub _old_offset: __off_t,
5328    pub _cur_column: ::std::os::raw::c_ushort,
5329    pub _vtable_offset: ::std::os::raw::c_schar,
5330    pub _shortbuf: [::std::os::raw::c_char; 1usize],
5331    pub _lock: *mut _IO_lock_t,
5332    pub _offset: __off64_t,
5333    pub _codecvt: *mut _IO_codecvt,
5334    pub _wide_data: *mut _IO_wide_data,
5335    pub _freeres_list: *mut _IO_FILE,
5336    pub _freeres_buf: *mut ::std::os::raw::c_void,
5337    pub __pad5: usize,
5338    pub _mode: ::std::os::raw::c_int,
5339    pub _unused2: [::std::os::raw::c_char; 20usize],
5340}
5341#[test]
5342fn bindgen_test_layout__IO_FILE() {
5343    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
5344    let ptr = UNINIT.as_ptr();
5345    assert_eq!(
5346        ::std::mem::size_of::<_IO_FILE>(),
5347        216usize,
5348        "Size of _IO_FILE"
5349    );
5350    assert_eq!(
5351        ::std::mem::align_of::<_IO_FILE>(),
5352        8usize,
5353        "Alignment of _IO_FILE"
5354    );
5355    assert_eq!(
5356        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
5357        0usize,
5358        "Offset of field: _IO_FILE::_flags"
5359    );
5360    assert_eq!(
5361        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
5362        8usize,
5363        "Offset of field: _IO_FILE::_IO_read_ptr"
5364    );
5365    assert_eq!(
5366        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
5367        16usize,
5368        "Offset of field: _IO_FILE::_IO_read_end"
5369    );
5370    assert_eq!(
5371        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
5372        24usize,
5373        "Offset of field: _IO_FILE::_IO_read_base"
5374    );
5375    assert_eq!(
5376        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
5377        32usize,
5378        "Offset of field: _IO_FILE::_IO_write_base"
5379    );
5380    assert_eq!(
5381        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
5382        40usize,
5383        "Offset of field: _IO_FILE::_IO_write_ptr"
5384    );
5385    assert_eq!(
5386        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
5387        48usize,
5388        "Offset of field: _IO_FILE::_IO_write_end"
5389    );
5390    assert_eq!(
5391        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
5392        56usize,
5393        "Offset of field: _IO_FILE::_IO_buf_base"
5394    );
5395    assert_eq!(
5396        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
5397        64usize,
5398        "Offset of field: _IO_FILE::_IO_buf_end"
5399    );
5400    assert_eq!(
5401        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
5402        72usize,
5403        "Offset of field: _IO_FILE::_IO_save_base"
5404    );
5405    assert_eq!(
5406        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
5407        80usize,
5408        "Offset of field: _IO_FILE::_IO_backup_base"
5409    );
5410    assert_eq!(
5411        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
5412        88usize,
5413        "Offset of field: _IO_FILE::_IO_save_end"
5414    );
5415    assert_eq!(
5416        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
5417        96usize,
5418        "Offset of field: _IO_FILE::_markers"
5419    );
5420    assert_eq!(
5421        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
5422        104usize,
5423        "Offset of field: _IO_FILE::_chain"
5424    );
5425    assert_eq!(
5426        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
5427        112usize,
5428        "Offset of field: _IO_FILE::_fileno"
5429    );
5430    assert_eq!(
5431        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
5432        116usize,
5433        "Offset of field: _IO_FILE::_flags2"
5434    );
5435    assert_eq!(
5436        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
5437        120usize,
5438        "Offset of field: _IO_FILE::_old_offset"
5439    );
5440    assert_eq!(
5441        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
5442        128usize,
5443        "Offset of field: _IO_FILE::_cur_column"
5444    );
5445    assert_eq!(
5446        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5447        130usize,
5448        "Offset of field: _IO_FILE::_vtable_offset"
5449    );
5450    assert_eq!(
5451        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5452        131usize,
5453        "Offset of field: _IO_FILE::_shortbuf"
5454    );
5455    assert_eq!(
5456        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5457        136usize,
5458        "Offset of field: _IO_FILE::_lock"
5459    );
5460    assert_eq!(
5461        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5462        144usize,
5463        "Offset of field: _IO_FILE::_offset"
5464    );
5465    assert_eq!(
5466        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5467        152usize,
5468        "Offset of field: _IO_FILE::_codecvt"
5469    );
5470    assert_eq!(
5471        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5472        160usize,
5473        "Offset of field: _IO_FILE::_wide_data"
5474    );
5475    assert_eq!(
5476        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5477        168usize,
5478        "Offset of field: _IO_FILE::_freeres_list"
5479    );
5480    assert_eq!(
5481        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5482        176usize,
5483        "Offset of field: _IO_FILE::_freeres_buf"
5484    );
5485    assert_eq!(
5486        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5487        184usize,
5488        "Offset of field: _IO_FILE::__pad5"
5489    );
5490    assert_eq!(
5491        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5492        192usize,
5493        "Offset of field: _IO_FILE::_mode"
5494    );
5495    assert_eq!(
5496        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5497        196usize,
5498        "Offset of field: _IO_FILE::_unused2"
5499    );
5500}
5501impl Default for _IO_FILE {
5502    fn default() -> Self {
5503        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5504        unsafe {
5505            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5506            s.assume_init()
5507        }
5508    }
5509}
5510pub type va_list = __gnuc_va_list;
5511#[repr(C)]
5512#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5513pub struct buf_mem_st {
5514    pub length: usize,
5515    pub data: *mut ::std::os::raw::c_char,
5516    pub max: usize,
5517}
5518#[test]
5519fn bindgen_test_layout_buf_mem_st() {
5520    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5521    let ptr = UNINIT.as_ptr();
5522    assert_eq!(
5523        ::std::mem::size_of::<buf_mem_st>(),
5524        24usize,
5525        "Size of buf_mem_st"
5526    );
5527    assert_eq!(
5528        ::std::mem::align_of::<buf_mem_st>(),
5529        8usize,
5530        "Alignment of buf_mem_st"
5531    );
5532    assert_eq!(
5533        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5534        0usize,
5535        "Offset of field: buf_mem_st::length"
5536    );
5537    assert_eq!(
5538        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5539        8usize,
5540        "Offset of field: buf_mem_st::data"
5541    );
5542    assert_eq!(
5543        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5544        16usize,
5545        "Offset of field: buf_mem_st::max"
5546    );
5547}
5548impl Default for buf_mem_st {
5549    fn default() -> Self {
5550        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5551        unsafe {
5552            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5553            s.assume_init()
5554        }
5555    }
5556}
5557extern "C" {
5558    #[link_name = "aws_lc_0_47_0_BUF_MEM_new"]
5559    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5560}
5561extern "C" {
5562    #[link_name = "aws_lc_0_47_0_BUF_MEM_free"]
5563    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5564}
5565extern "C" {
5566    #[link_name = "aws_lc_0_47_0_BUF_MEM_reserve"]
5567    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5568}
5569extern "C" {
5570    #[link_name = "aws_lc_0_47_0_BUF_MEM_grow"]
5571    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5572}
5573extern "C" {
5574    #[link_name = "aws_lc_0_47_0_BUF_MEM_grow_clean"]
5575    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5576}
5577extern "C" {
5578    #[link_name = "aws_lc_0_47_0_BUF_MEM_append"]
5579    pub fn BUF_MEM_append(
5580        buf: *mut BUF_MEM,
5581        in_: *const ::std::os::raw::c_void,
5582        len: usize,
5583    ) -> ::std::os::raw::c_int;
5584}
5585extern "C" {
5586    #[link_name = "aws_lc_0_47_0_BUF_strdup"]
5587    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5588}
5589extern "C" {
5590    #[link_name = "aws_lc_0_47_0_BUF_strnlen"]
5591    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5592}
5593extern "C" {
5594    #[link_name = "aws_lc_0_47_0_BUF_strndup"]
5595    pub fn BUF_strndup(
5596        str_: *const ::std::os::raw::c_char,
5597        size: usize,
5598    ) -> *mut ::std::os::raw::c_char;
5599}
5600extern "C" {
5601    #[link_name = "aws_lc_0_47_0_BUF_memdup"]
5602    pub fn BUF_memdup(
5603        data: *const ::std::os::raw::c_void,
5604        size: usize,
5605    ) -> *mut ::std::os::raw::c_void;
5606}
5607extern "C" {
5608    #[link_name = "aws_lc_0_47_0_BUF_strlcpy"]
5609    pub fn BUF_strlcpy(
5610        dst: *mut ::std::os::raw::c_char,
5611        src: *const ::std::os::raw::c_char,
5612        dst_size: usize,
5613    ) -> usize;
5614}
5615extern "C" {
5616    #[link_name = "aws_lc_0_47_0_BUF_strlcat"]
5617    pub fn BUF_strlcat(
5618        dst: *mut ::std::os::raw::c_char,
5619        src: *const ::std::os::raw::c_char,
5620        dst_size: usize,
5621    ) -> usize;
5622}
5623extern "C" {
5624    #[link_name = "aws_lc_0_47_0_SHA1_Init"]
5625    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5626}
5627extern "C" {
5628    #[link_name = "aws_lc_0_47_0_SHA1_Update"]
5629    pub fn SHA1_Update(
5630        sha: *mut SHA_CTX,
5631        data: *const ::std::os::raw::c_void,
5632        len: usize,
5633    ) -> ::std::os::raw::c_int;
5634}
5635extern "C" {
5636    #[link_name = "aws_lc_0_47_0_SHA1_Final"]
5637    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5638}
5639extern "C" {
5640    #[link_name = "aws_lc_0_47_0_SHA1"]
5641    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5642}
5643extern "C" {
5644    #[link_name = "aws_lc_0_47_0_SHA1_Transform"]
5645    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5646}
5647#[repr(C)]
5648#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5649pub struct sha_state_st {
5650    pub h: [u32; 5usize],
5651    pub Nl: u32,
5652    pub Nh: u32,
5653    pub data: [u8; 64usize],
5654    pub num: ::std::os::raw::c_uint,
5655}
5656#[test]
5657fn bindgen_test_layout_sha_state_st() {
5658    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5659    let ptr = UNINIT.as_ptr();
5660    assert_eq!(
5661        ::std::mem::size_of::<sha_state_st>(),
5662        96usize,
5663        "Size of sha_state_st"
5664    );
5665    assert_eq!(
5666        ::std::mem::align_of::<sha_state_st>(),
5667        4usize,
5668        "Alignment of sha_state_st"
5669    );
5670    assert_eq!(
5671        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5672        0usize,
5673        "Offset of field: sha_state_st::h"
5674    );
5675    assert_eq!(
5676        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5677        20usize,
5678        "Offset of field: sha_state_st::Nl"
5679    );
5680    assert_eq!(
5681        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5682        24usize,
5683        "Offset of field: sha_state_st::Nh"
5684    );
5685    assert_eq!(
5686        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5687        28usize,
5688        "Offset of field: sha_state_st::data"
5689    );
5690    assert_eq!(
5691        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5692        92usize,
5693        "Offset of field: sha_state_st::num"
5694    );
5695}
5696impl Default for sha_state_st {
5697    fn default() -> Self {
5698        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5699        unsafe {
5700            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5701            s.assume_init()
5702        }
5703    }
5704}
5705extern "C" {
5706    #[link_name = "aws_lc_0_47_0_SHA224_Init"]
5707    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5708}
5709extern "C" {
5710    #[link_name = "aws_lc_0_47_0_SHA224_Update"]
5711    pub fn SHA224_Update(
5712        sha: *mut SHA256_CTX,
5713        data: *const ::std::os::raw::c_void,
5714        len: usize,
5715    ) -> ::std::os::raw::c_int;
5716}
5717extern "C" {
5718    #[link_name = "aws_lc_0_47_0_SHA224_Final"]
5719    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5720}
5721extern "C" {
5722    #[link_name = "aws_lc_0_47_0_SHA224"]
5723    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5724}
5725extern "C" {
5726    #[link_name = "aws_lc_0_47_0_SHA256_Init"]
5727    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5728}
5729extern "C" {
5730    #[link_name = "aws_lc_0_47_0_SHA256_Update"]
5731    pub fn SHA256_Update(
5732        sha: *mut SHA256_CTX,
5733        data: *const ::std::os::raw::c_void,
5734        len: usize,
5735    ) -> ::std::os::raw::c_int;
5736}
5737extern "C" {
5738    #[link_name = "aws_lc_0_47_0_SHA256_Final"]
5739    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5740}
5741extern "C" {
5742    #[link_name = "aws_lc_0_47_0_SHA256"]
5743    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5744}
5745extern "C" {
5746    #[link_name = "aws_lc_0_47_0_SHA256_Transform"]
5747    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5748}
5749extern "C" {
5750    #[link_name = "aws_lc_0_47_0_SHA256_TransformBlocks"]
5751    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5752}
5753#[repr(C)]
5754#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5755pub struct sha256_state_st {
5756    pub h: [u32; 8usize],
5757    pub Nl: u32,
5758    pub Nh: u32,
5759    pub data: [u8; 64usize],
5760    pub num: ::std::os::raw::c_uint,
5761    pub md_len: ::std::os::raw::c_uint,
5762}
5763#[test]
5764fn bindgen_test_layout_sha256_state_st() {
5765    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5766    let ptr = UNINIT.as_ptr();
5767    assert_eq!(
5768        ::std::mem::size_of::<sha256_state_st>(),
5769        112usize,
5770        "Size of sha256_state_st"
5771    );
5772    assert_eq!(
5773        ::std::mem::align_of::<sha256_state_st>(),
5774        4usize,
5775        "Alignment of sha256_state_st"
5776    );
5777    assert_eq!(
5778        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5779        0usize,
5780        "Offset of field: sha256_state_st::h"
5781    );
5782    assert_eq!(
5783        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5784        32usize,
5785        "Offset of field: sha256_state_st::Nl"
5786    );
5787    assert_eq!(
5788        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5789        36usize,
5790        "Offset of field: sha256_state_st::Nh"
5791    );
5792    assert_eq!(
5793        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5794        40usize,
5795        "Offset of field: sha256_state_st::data"
5796    );
5797    assert_eq!(
5798        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5799        104usize,
5800        "Offset of field: sha256_state_st::num"
5801    );
5802    assert_eq!(
5803        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5804        108usize,
5805        "Offset of field: sha256_state_st::md_len"
5806    );
5807}
5808impl Default for sha256_state_st {
5809    fn default() -> Self {
5810        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5811        unsafe {
5812            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5813            s.assume_init()
5814        }
5815    }
5816}
5817extern "C" {
5818    #[link_name = "aws_lc_0_47_0_SHA384_Init"]
5819    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5820}
5821extern "C" {
5822    #[link_name = "aws_lc_0_47_0_SHA384_Update"]
5823    pub fn SHA384_Update(
5824        sha: *mut SHA512_CTX,
5825        data: *const ::std::os::raw::c_void,
5826        len: usize,
5827    ) -> ::std::os::raw::c_int;
5828}
5829extern "C" {
5830    #[link_name = "aws_lc_0_47_0_SHA384_Final"]
5831    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5832}
5833extern "C" {
5834    #[link_name = "aws_lc_0_47_0_SHA384"]
5835    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5836}
5837extern "C" {
5838    #[link_name = "aws_lc_0_47_0_SHA512_Init"]
5839    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5840}
5841extern "C" {
5842    #[link_name = "aws_lc_0_47_0_SHA512_Update"]
5843    pub fn SHA512_Update(
5844        sha: *mut SHA512_CTX,
5845        data: *const ::std::os::raw::c_void,
5846        len: usize,
5847    ) -> ::std::os::raw::c_int;
5848}
5849extern "C" {
5850    #[link_name = "aws_lc_0_47_0_SHA512_Final"]
5851    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5852}
5853extern "C" {
5854    #[link_name = "aws_lc_0_47_0_SHA512"]
5855    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5856}
5857extern "C" {
5858    #[link_name = "aws_lc_0_47_0_SHA512_Transform"]
5859    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5860}
5861#[repr(C)]
5862#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5863pub struct sha512_state_st {
5864    pub h: [u64; 8usize],
5865    pub Nl: u64,
5866    pub Nh: u64,
5867    pub p: [u8; 128usize],
5868    pub num: ::std::os::raw::c_uint,
5869    pub md_len: ::std::os::raw::c_uint,
5870}
5871#[test]
5872fn bindgen_test_layout_sha512_state_st() {
5873    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5874    let ptr = UNINIT.as_ptr();
5875    assert_eq!(
5876        ::std::mem::size_of::<sha512_state_st>(),
5877        216usize,
5878        "Size of sha512_state_st"
5879    );
5880    assert_eq!(
5881        ::std::mem::align_of::<sha512_state_st>(),
5882        8usize,
5883        "Alignment of sha512_state_st"
5884    );
5885    assert_eq!(
5886        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5887        0usize,
5888        "Offset of field: sha512_state_st::h"
5889    );
5890    assert_eq!(
5891        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5892        64usize,
5893        "Offset of field: sha512_state_st::Nl"
5894    );
5895    assert_eq!(
5896        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5897        72usize,
5898        "Offset of field: sha512_state_st::Nh"
5899    );
5900    assert_eq!(
5901        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5902        80usize,
5903        "Offset of field: sha512_state_st::p"
5904    );
5905    assert_eq!(
5906        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5907        208usize,
5908        "Offset of field: sha512_state_st::num"
5909    );
5910    assert_eq!(
5911        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5912        212usize,
5913        "Offset of field: sha512_state_st::md_len"
5914    );
5915}
5916impl Default for sha512_state_st {
5917    fn default() -> Self {
5918        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5919        unsafe {
5920            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5921            s.assume_init()
5922        }
5923    }
5924}
5925extern "C" {
5926    #[link_name = "aws_lc_0_47_0_SHA512_224_Init"]
5927    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5928}
5929extern "C" {
5930    #[link_name = "aws_lc_0_47_0_SHA512_224_Update"]
5931    pub fn SHA512_224_Update(
5932        sha: *mut SHA512_CTX,
5933        data: *const ::std::os::raw::c_void,
5934        len: usize,
5935    ) -> ::std::os::raw::c_int;
5936}
5937extern "C" {
5938    #[link_name = "aws_lc_0_47_0_SHA512_224_Final"]
5939    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5940}
5941extern "C" {
5942    #[link_name = "aws_lc_0_47_0_SHA512_224"]
5943    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5944}
5945extern "C" {
5946    #[link_name = "aws_lc_0_47_0_SHA512_256_Init"]
5947    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5948}
5949extern "C" {
5950    #[link_name = "aws_lc_0_47_0_SHA512_256_Update"]
5951    pub fn SHA512_256_Update(
5952        sha: *mut SHA512_CTX,
5953        data: *const ::std::os::raw::c_void,
5954        len: usize,
5955    ) -> ::std::os::raw::c_int;
5956}
5957extern "C" {
5958    #[link_name = "aws_lc_0_47_0_SHA512_256_Final"]
5959    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5960}
5961extern "C" {
5962    #[link_name = "aws_lc_0_47_0_SHA512_256"]
5963    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5964}
5965extern "C" {
5966    #[link_name = "aws_lc_0_47_0_OPENSSL_malloc"]
5967    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5968}
5969extern "C" {
5970    #[link_name = "aws_lc_0_47_0_OPENSSL_zalloc"]
5971    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5972}
5973extern "C" {
5974    #[link_name = "aws_lc_0_47_0_OPENSSL_calloc"]
5975    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5976}
5977extern "C" {
5978    #[link_name = "aws_lc_0_47_0_OPENSSL_realloc"]
5979    pub fn OPENSSL_realloc(
5980        ptr: *mut ::std::os::raw::c_void,
5981        new_size: usize,
5982    ) -> *mut ::std::os::raw::c_void;
5983}
5984extern "C" {
5985    #[link_name = "aws_lc_0_47_0_OPENSSL_free"]
5986    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5987}
5988extern "C" {
5989    #[link_name = "aws_lc_0_47_0_OPENSSL_cleanse"]
5990    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5991}
5992extern "C" {
5993    #[link_name = "aws_lc_0_47_0_CRYPTO_memcmp"]
5994    pub fn CRYPTO_memcmp(
5995        a: *const ::std::os::raw::c_void,
5996        b: *const ::std::os::raw::c_void,
5997        len: usize,
5998    ) -> ::std::os::raw::c_int;
5999}
6000extern "C" {
6001    #[link_name = "aws_lc_0_47_0_OPENSSL_hash32"]
6002    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
6003}
6004extern "C" {
6005    #[link_name = "aws_lc_0_47_0_OPENSSL_strhash"]
6006    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
6007}
6008extern "C" {
6009    #[link_name = "aws_lc_0_47_0_OPENSSL_strdup"]
6010    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6011}
6012extern "C" {
6013    #[link_name = "aws_lc_0_47_0_OPENSSL_strnlen"]
6014    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
6015}
6016extern "C" {
6017    #[link_name = "aws_lc_0_47_0_OPENSSL_isalpha"]
6018    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6019}
6020extern "C" {
6021    #[link_name = "aws_lc_0_47_0_OPENSSL_isdigit"]
6022    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6023}
6024extern "C" {
6025    #[link_name = "aws_lc_0_47_0_OPENSSL_isxdigit"]
6026    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6027}
6028extern "C" {
6029    #[link_name = "aws_lc_0_47_0_OPENSSL_fromxdigit"]
6030    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6031}
6032extern "C" {
6033    #[link_name = "aws_lc_0_47_0_OPENSSL_hexstr2buf"]
6034    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
6035}
6036extern "C" {
6037    #[link_name = "aws_lc_0_47_0_OPENSSL_isalnum"]
6038    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6039}
6040extern "C" {
6041    #[link_name = "aws_lc_0_47_0_OPENSSL_tolower"]
6042    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6043}
6044extern "C" {
6045    #[link_name = "aws_lc_0_47_0_OPENSSL_isspace"]
6046    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6047}
6048extern "C" {
6049    #[link_name = "aws_lc_0_47_0_OPENSSL_strcasecmp"]
6050    pub fn OPENSSL_strcasecmp(
6051        a: *const ::std::os::raw::c_char,
6052        b: *const ::std::os::raw::c_char,
6053    ) -> ::std::os::raw::c_int;
6054}
6055extern "C" {
6056    #[link_name = "aws_lc_0_47_0_OPENSSL_strncasecmp"]
6057    pub fn OPENSSL_strncasecmp(
6058        a: *const ::std::os::raw::c_char,
6059        b: *const ::std::os::raw::c_char,
6060        n: usize,
6061    ) -> ::std::os::raw::c_int;
6062}
6063extern "C" {
6064    #[link_name = "aws_lc_0_47_0_BIO_snprintf"]
6065    pub fn BIO_snprintf(
6066        buf: *mut ::std::os::raw::c_char,
6067        n: usize,
6068        format: *const ::std::os::raw::c_char,
6069        ...
6070    ) -> ::std::os::raw::c_int;
6071}
6072extern "C" {
6073    #[link_name = "aws_lc_0_47_0_BIO_vsnprintf"]
6074    pub fn BIO_vsnprintf(
6075        buf: *mut ::std::os::raw::c_char,
6076        n: usize,
6077        format: *const ::std::os::raw::c_char,
6078        args: *mut __va_list_tag,
6079    ) -> ::std::os::raw::c_int;
6080}
6081extern "C" {
6082    #[link_name = "aws_lc_0_47_0_OPENSSL_vasprintf"]
6083    pub fn OPENSSL_vasprintf(
6084        str_: *mut *mut ::std::os::raw::c_char,
6085        format: *const ::std::os::raw::c_char,
6086        args: *mut __va_list_tag,
6087    ) -> ::std::os::raw::c_int;
6088}
6089extern "C" {
6090    #[link_name = "aws_lc_0_47_0_OPENSSL_asprintf"]
6091    pub fn OPENSSL_asprintf(
6092        str_: *mut *mut ::std::os::raw::c_char,
6093        format: *const ::std::os::raw::c_char,
6094        ...
6095    ) -> ::std::os::raw::c_int;
6096}
6097extern "C" {
6098    #[link_name = "aws_lc_0_47_0_OPENSSL_strndup"]
6099    pub fn OPENSSL_strndup(
6100        str_: *const ::std::os::raw::c_char,
6101        size: usize,
6102    ) -> *mut ::std::os::raw::c_char;
6103}
6104extern "C" {
6105    #[link_name = "aws_lc_0_47_0_OPENSSL_memdup"]
6106    pub fn OPENSSL_memdup(
6107        data: *const ::std::os::raw::c_void,
6108        size: usize,
6109    ) -> *mut ::std::os::raw::c_void;
6110}
6111extern "C" {
6112    #[link_name = "aws_lc_0_47_0_OPENSSL_strlcpy"]
6113    pub fn OPENSSL_strlcpy(
6114        dst: *mut ::std::os::raw::c_char,
6115        src: *const ::std::os::raw::c_char,
6116        dst_size: usize,
6117    ) -> usize;
6118}
6119extern "C" {
6120    #[link_name = "aws_lc_0_47_0_OPENSSL_strlcat"]
6121    pub fn OPENSSL_strlcat(
6122        dst: *mut ::std::os::raw::c_char,
6123        src: *const ::std::os::raw::c_char,
6124        dst_size: usize,
6125    ) -> usize;
6126}
6127extern "C" {
6128    #[link_name = "aws_lc_0_47_0_CRYPTO_malloc"]
6129    pub fn CRYPTO_malloc(
6130        size: usize,
6131        file: *const ::std::os::raw::c_char,
6132        line: ::std::os::raw::c_int,
6133    ) -> *mut ::std::os::raw::c_void;
6134}
6135extern "C" {
6136    #[link_name = "aws_lc_0_47_0_CRYPTO_realloc"]
6137    pub fn CRYPTO_realloc(
6138        ptr: *mut ::std::os::raw::c_void,
6139        new_size: usize,
6140        file: *const ::std::os::raw::c_char,
6141        line: ::std::os::raw::c_int,
6142    ) -> *mut ::std::os::raw::c_void;
6143}
6144extern "C" {
6145    #[link_name = "aws_lc_0_47_0_CRYPTO_free"]
6146    pub fn CRYPTO_free(
6147        ptr: *mut ::std::os::raw::c_void,
6148        file: *const ::std::os::raw::c_char,
6149        line: ::std::os::raw::c_int,
6150    );
6151}
6152extern "C" {
6153    #[link_name = "aws_lc_0_47_0_OPENSSL_clear_free"]
6154    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
6155}
6156extern "C" {
6157    #[link_name = "aws_lc_0_47_0_CRYPTO_set_mem_functions"]
6158    pub fn CRYPTO_set_mem_functions(
6159        m: ::std::option::Option<
6160            unsafe extern "C" fn(
6161                arg1: usize,
6162                arg2: *const ::std::os::raw::c_char,
6163                arg3: ::std::os::raw::c_int,
6164            ) -> *mut ::std::os::raw::c_void,
6165        >,
6166        r: ::std::option::Option<
6167            unsafe extern "C" fn(
6168                arg1: *mut ::std::os::raw::c_void,
6169                arg2: usize,
6170                arg3: *const ::std::os::raw::c_char,
6171                arg4: ::std::os::raw::c_int,
6172            ) -> *mut ::std::os::raw::c_void,
6173        >,
6174        f: ::std::option::Option<
6175            unsafe extern "C" fn(
6176                arg1: *mut ::std::os::raw::c_void,
6177                arg2: *const ::std::os::raw::c_char,
6178                arg3: ::std::os::raw::c_int,
6179            ),
6180        >,
6181    ) -> ::std::os::raw::c_int;
6182}
6183extern "C" {
6184    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_malloc_init"]
6185    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
6186}
6187extern "C" {
6188    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_malloc_initialized"]
6189    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
6190}
6191extern "C" {
6192    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_used"]
6193    pub fn CRYPTO_secure_used() -> usize;
6194}
6195extern "C" {
6196    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_malloc"]
6197    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
6198}
6199extern "C" {
6200    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_zalloc"]
6201    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
6202}
6203extern "C" {
6204    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_clear_free"]
6205    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
6206}
6207#[repr(C)]
6208#[derive(Copy, Clone)]
6209pub union crypto_mutex_st {
6210    pub alignment: f64,
6211    pub padding: [u8; 56usize],
6212}
6213#[test]
6214fn bindgen_test_layout_crypto_mutex_st() {
6215    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
6216    let ptr = UNINIT.as_ptr();
6217    assert_eq!(
6218        ::std::mem::size_of::<crypto_mutex_st>(),
6219        56usize,
6220        "Size of crypto_mutex_st"
6221    );
6222    assert_eq!(
6223        ::std::mem::align_of::<crypto_mutex_st>(),
6224        8usize,
6225        "Alignment of crypto_mutex_st"
6226    );
6227    assert_eq!(
6228        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
6229        0usize,
6230        "Offset of field: crypto_mutex_st::alignment"
6231    );
6232    assert_eq!(
6233        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
6234        0usize,
6235        "Offset of field: crypto_mutex_st::padding"
6236    );
6237}
6238impl Default for crypto_mutex_st {
6239    fn default() -> Self {
6240        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6241        unsafe {
6242            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6243            s.assume_init()
6244        }
6245    }
6246}
6247pub type CRYPTO_MUTEX = crypto_mutex_st;
6248pub type CRYPTO_refcount_t = u32;
6249extern "C" {
6250    #[link_name = "aws_lc_0_47_0_AWSLC_thread_local_clear"]
6251    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
6252}
6253extern "C" {
6254    #[link_name = "aws_lc_0_47_0_AWSLC_thread_local_shutdown"]
6255    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
6256}
6257extern "C" {
6258    #[link_name = "aws_lc_0_47_0_CRYPTO_num_locks"]
6259    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
6260}
6261extern "C" {
6262    #[link_name = "aws_lc_0_47_0_CRYPTO_set_locking_callback"]
6263    pub fn CRYPTO_set_locking_callback(
6264        func: ::std::option::Option<
6265            unsafe extern "C" fn(
6266                mode: ::std::os::raw::c_int,
6267                lock_num: ::std::os::raw::c_int,
6268                file: *const ::std::os::raw::c_char,
6269                line: ::std::os::raw::c_int,
6270            ),
6271        >,
6272    );
6273}
6274extern "C" {
6275    #[link_name = "aws_lc_0_47_0_CRYPTO_set_add_lock_callback"]
6276    pub fn CRYPTO_set_add_lock_callback(
6277        func: ::std::option::Option<
6278            unsafe extern "C" fn(
6279                num: *mut ::std::os::raw::c_int,
6280                amount: ::std::os::raw::c_int,
6281                lock_num: ::std::os::raw::c_int,
6282                file: *const ::std::os::raw::c_char,
6283                line: ::std::os::raw::c_int,
6284            ) -> ::std::os::raw::c_int,
6285        >,
6286    );
6287}
6288extern "C" {
6289    #[link_name = "aws_lc_0_47_0_CRYPTO_get_locking_callback"]
6290    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
6291        unsafe extern "C" fn(
6292            arg1: ::std::os::raw::c_int,
6293            arg2: ::std::os::raw::c_int,
6294            arg3: *const ::std::os::raw::c_char,
6295            arg4: ::std::os::raw::c_int,
6296        ),
6297    >;
6298}
6299extern "C" {
6300    #[link_name = "aws_lc_0_47_0_CRYPTO_get_lock_name"]
6301    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6302}
6303extern "C" {
6304    #[link_name = "aws_lc_0_47_0_CRYPTO_THREADID_set_callback"]
6305    pub fn CRYPTO_THREADID_set_callback(
6306        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
6307    ) -> ::std::os::raw::c_int;
6308}
6309extern "C" {
6310    #[link_name = "aws_lc_0_47_0_CRYPTO_THREADID_set_numeric"]
6311    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
6312}
6313extern "C" {
6314    #[link_name = "aws_lc_0_47_0_CRYPTO_THREADID_set_pointer"]
6315    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
6316}
6317extern "C" {
6318    #[link_name = "aws_lc_0_47_0_CRYPTO_THREADID_current"]
6319    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
6320}
6321extern "C" {
6322    #[link_name = "aws_lc_0_47_0_CRYPTO_set_id_callback"]
6323    pub fn CRYPTO_set_id_callback(
6324        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
6325    );
6326}
6327#[repr(C)]
6328#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6329pub struct CRYPTO_dynlock {
6330    pub references: ::std::os::raw::c_int,
6331    pub data: *mut CRYPTO_dynlock_value,
6332}
6333#[test]
6334fn bindgen_test_layout_CRYPTO_dynlock() {
6335    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
6336    let ptr = UNINIT.as_ptr();
6337    assert_eq!(
6338        ::std::mem::size_of::<CRYPTO_dynlock>(),
6339        16usize,
6340        "Size of CRYPTO_dynlock"
6341    );
6342    assert_eq!(
6343        ::std::mem::align_of::<CRYPTO_dynlock>(),
6344        8usize,
6345        "Alignment of CRYPTO_dynlock"
6346    );
6347    assert_eq!(
6348        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
6349        0usize,
6350        "Offset of field: CRYPTO_dynlock::references"
6351    );
6352    assert_eq!(
6353        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6354        8usize,
6355        "Offset of field: CRYPTO_dynlock::data"
6356    );
6357}
6358impl Default for CRYPTO_dynlock {
6359    fn default() -> Self {
6360        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6361        unsafe {
6362            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6363            s.assume_init()
6364        }
6365    }
6366}
6367extern "C" {
6368    #[link_name = "aws_lc_0_47_0_CRYPTO_set_dynlock_create_callback"]
6369    pub fn CRYPTO_set_dynlock_create_callback(
6370        dyn_create_function: ::std::option::Option<
6371            unsafe extern "C" fn(
6372                file: *const ::std::os::raw::c_char,
6373                line: ::std::os::raw::c_int,
6374            ) -> *mut CRYPTO_dynlock_value,
6375        >,
6376    );
6377}
6378extern "C" {
6379    #[link_name = "aws_lc_0_47_0_CRYPTO_set_dynlock_lock_callback"]
6380    pub fn CRYPTO_set_dynlock_lock_callback(
6381        dyn_lock_function: ::std::option::Option<
6382            unsafe extern "C" fn(
6383                mode: ::std::os::raw::c_int,
6384                l: *mut CRYPTO_dynlock_value,
6385                file: *const ::std::os::raw::c_char,
6386                line: ::std::os::raw::c_int,
6387            ),
6388        >,
6389    );
6390}
6391extern "C" {
6392    #[link_name = "aws_lc_0_47_0_CRYPTO_set_dynlock_destroy_callback"]
6393    pub fn CRYPTO_set_dynlock_destroy_callback(
6394        dyn_destroy_function: ::std::option::Option<
6395            unsafe extern "C" fn(
6396                l: *mut CRYPTO_dynlock_value,
6397                file: *const ::std::os::raw::c_char,
6398                line: ::std::os::raw::c_int,
6399            ),
6400        >,
6401    );
6402}
6403extern "C" {
6404    #[link_name = "aws_lc_0_47_0_CRYPTO_get_dynlock_create_callback"]
6405    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
6406        unsafe extern "C" fn(
6407            arg1: *const ::std::os::raw::c_char,
6408            arg2: ::std::os::raw::c_int,
6409        ) -> *mut CRYPTO_dynlock_value,
6410    >;
6411}
6412extern "C" {
6413    #[link_name = "aws_lc_0_47_0_CRYPTO_get_dynlock_lock_callback"]
6414    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
6415        unsafe extern "C" fn(
6416            arg1: ::std::os::raw::c_int,
6417            arg2: *mut CRYPTO_dynlock_value,
6418            arg3: *const ::std::os::raw::c_char,
6419            arg4: ::std::os::raw::c_int,
6420        ),
6421    >;
6422}
6423extern "C" {
6424    #[link_name = "aws_lc_0_47_0_CRYPTO_get_dynlock_destroy_callback"]
6425    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
6426        unsafe extern "C" fn(
6427            arg1: *mut CRYPTO_dynlock_value,
6428            arg2: *const ::std::os::raw::c_char,
6429            arg3: ::std::os::raw::c_int,
6430        ),
6431    >;
6432}
6433extern "C" {
6434    #[link_name = "aws_lc_0_47_0_CRYPTO_library_init"]
6435    pub fn CRYPTO_library_init();
6436}
6437extern "C" {
6438    #[link_name = "aws_lc_0_47_0_CRYPTO_is_confidential_build"]
6439    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
6440}
6441extern "C" {
6442    #[link_name = "aws_lc_0_47_0_CRYPTO_has_asm"]
6443    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
6444}
6445extern "C" {
6446    #[link_name = "aws_lc_0_47_0_BORINGSSL_self_test"]
6447    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6448}
6449extern "C" {
6450    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6451}
6452extern "C" {
6453    #[link_name = "aws_lc_0_47_0_CRYPTO_pre_sandbox_init"]
6454    pub fn CRYPTO_pre_sandbox_init();
6455}
6456extern "C" {
6457    #[link_name = "aws_lc_0_47_0_FIPS_mode"]
6458    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6459}
6460extern "C" {
6461    #[link_name = "aws_lc_0_47_0_FIPS_is_entropy_cpu_jitter"]
6462    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6463}
6464extern "C" {
6465    #[link_name = "aws_lc_0_47_0_FIPS_version"]
6466    pub fn FIPS_version() -> u32;
6467}
6468extern "C" {
6469    #[link_name = "aws_lc_0_47_0_FIPS_module_name"]
6470    pub fn FIPS_module_name() -> *const ::std::os::raw::c_char;
6471}
6472extern "C" {
6473    #[link_name = "aws_lc_0_47_0_OpenSSL_version"]
6474    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6475}
6476extern "C" {
6477    #[link_name = "aws_lc_0_47_0_SSLeay_version"]
6478    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6479}
6480extern "C" {
6481    #[link_name = "aws_lc_0_47_0_SSLeay"]
6482    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6483}
6484extern "C" {
6485    #[link_name = "aws_lc_0_47_0_OpenSSL_version_num"]
6486    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6487}
6488extern "C" {
6489    #[link_name = "aws_lc_0_47_0_awslc_api_version_num"]
6490    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6491}
6492extern "C" {
6493    #[link_name = "aws_lc_0_47_0_CRYPTO_malloc_init"]
6494    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6495}
6496extern "C" {
6497    #[link_name = "aws_lc_0_47_0_OPENSSL_malloc_init"]
6498    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6499}
6500extern "C" {
6501    #[link_name = "aws_lc_0_47_0_ENGINE_load_builtin_engines"]
6502    pub fn ENGINE_load_builtin_engines();
6503}
6504extern "C" {
6505    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_ciphers"]
6506    pub fn ENGINE_register_all_ciphers();
6507}
6508extern "C" {
6509    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_digests"]
6510    pub fn ENGINE_register_all_digests();
6511}
6512extern "C" {
6513    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_complete"]
6514    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6515}
6516extern "C" {
6517    #[link_name = "aws_lc_0_47_0_OPENSSL_load_builtin_modules"]
6518    pub fn OPENSSL_load_builtin_modules();
6519}
6520extern "C" {
6521    #[link_name = "aws_lc_0_47_0_OPENSSL_init_crypto"]
6522    pub fn OPENSSL_init_crypto(
6523        opts: u64,
6524        settings: *const OPENSSL_INIT_SETTINGS,
6525    ) -> ::std::os::raw::c_int;
6526}
6527extern "C" {
6528    #[link_name = "aws_lc_0_47_0_OPENSSL_init"]
6529    pub fn OPENSSL_init();
6530}
6531extern "C" {
6532    #[link_name = "aws_lc_0_47_0_OPENSSL_cleanup"]
6533    pub fn OPENSSL_cleanup();
6534}
6535extern "C" {
6536    #[link_name = "aws_lc_0_47_0_FIPS_mode_set"]
6537    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6538}
6539extern "C" {
6540    #[link_name = "aws_lc_0_47_0_CRYPTO_mem_ctrl"]
6541    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6542}
6543extern "C" {
6544    #[link_name = "aws_lc_0_47_0_ERR_load_BIO_strings"]
6545    pub fn ERR_load_BIO_strings();
6546}
6547extern "C" {
6548    #[link_name = "aws_lc_0_47_0_ERR_load_ERR_strings"]
6549    pub fn ERR_load_ERR_strings();
6550}
6551extern "C" {
6552    #[link_name = "aws_lc_0_47_0_ERR_load_CRYPTO_strings"]
6553    pub fn ERR_load_CRYPTO_strings();
6554}
6555extern "C" {
6556    #[link_name = "aws_lc_0_47_0_ERR_load_crypto_strings"]
6557    pub fn ERR_load_crypto_strings();
6558}
6559extern "C" {
6560    #[link_name = "aws_lc_0_47_0_ERR_load_RAND_strings"]
6561    pub fn ERR_load_RAND_strings();
6562}
6563extern "C" {
6564    #[link_name = "aws_lc_0_47_0_ERR_free_strings"]
6565    pub fn ERR_free_strings();
6566}
6567extern "C" {
6568    #[link_name = "aws_lc_0_47_0_ERR_get_error"]
6569    pub fn ERR_get_error() -> u32;
6570}
6571extern "C" {
6572    #[link_name = "aws_lc_0_47_0_ERR_get_error_line"]
6573    pub fn ERR_get_error_line(
6574        file: *mut *const ::std::os::raw::c_char,
6575        line: *mut ::std::os::raw::c_int,
6576    ) -> u32;
6577}
6578extern "C" {
6579    #[link_name = "aws_lc_0_47_0_ERR_get_error_line_data"]
6580    pub fn ERR_get_error_line_data(
6581        file: *mut *const ::std::os::raw::c_char,
6582        line: *mut ::std::os::raw::c_int,
6583        data: *mut *const ::std::os::raw::c_char,
6584        flags: *mut ::std::os::raw::c_int,
6585    ) -> u32;
6586}
6587extern "C" {
6588    #[link_name = "aws_lc_0_47_0_ERR_peek_error"]
6589    pub fn ERR_peek_error() -> u32;
6590}
6591extern "C" {
6592    #[link_name = "aws_lc_0_47_0_ERR_peek_error_line"]
6593    pub fn ERR_peek_error_line(
6594        file: *mut *const ::std::os::raw::c_char,
6595        line: *mut ::std::os::raw::c_int,
6596    ) -> u32;
6597}
6598extern "C" {
6599    #[link_name = "aws_lc_0_47_0_ERR_peek_error_line_data"]
6600    pub fn ERR_peek_error_line_data(
6601        file: *mut *const ::std::os::raw::c_char,
6602        line: *mut ::std::os::raw::c_int,
6603        data: *mut *const ::std::os::raw::c_char,
6604        flags: *mut ::std::os::raw::c_int,
6605    ) -> u32;
6606}
6607extern "C" {
6608    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error"]
6609    pub fn ERR_peek_last_error() -> u32;
6610}
6611extern "C" {
6612    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error_line"]
6613    pub fn ERR_peek_last_error_line(
6614        file: *mut *const ::std::os::raw::c_char,
6615        line: *mut ::std::os::raw::c_int,
6616    ) -> u32;
6617}
6618extern "C" {
6619    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error_line_data"]
6620    pub fn ERR_peek_last_error_line_data(
6621        file: *mut *const ::std::os::raw::c_char,
6622        line: *mut ::std::os::raw::c_int,
6623        data: *mut *const ::std::os::raw::c_char,
6624        flags: *mut ::std::os::raw::c_int,
6625    ) -> u32;
6626}
6627extern "C" {
6628    #[link_name = "aws_lc_0_47_0_ERR_error_string_n"]
6629    pub fn ERR_error_string_n(
6630        packed_error: u32,
6631        buf: *mut ::std::os::raw::c_char,
6632        len: usize,
6633    ) -> *mut ::std::os::raw::c_char;
6634}
6635extern "C" {
6636    #[link_name = "aws_lc_0_47_0_ERR_lib_error_string"]
6637    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6638}
6639extern "C" {
6640    #[link_name = "aws_lc_0_47_0_ERR_reason_error_string"]
6641    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6642}
6643pub type ERR_print_errors_callback_t = ::std::option::Option<
6644    unsafe extern "C" fn(
6645        str_: *const ::std::os::raw::c_char,
6646        len: usize,
6647        ctx: *mut ::std::os::raw::c_void,
6648    ) -> ::std::os::raw::c_int,
6649>;
6650extern "C" {
6651    #[link_name = "aws_lc_0_47_0_ERR_print_errors_cb"]
6652    pub fn ERR_print_errors_cb(
6653        callback: ERR_print_errors_callback_t,
6654        ctx: *mut ::std::os::raw::c_void,
6655    );
6656}
6657extern "C" {
6658    #[link_name = "aws_lc_0_47_0_ERR_print_errors_fp"]
6659    pub fn ERR_print_errors_fp(file: *mut FILE);
6660}
6661extern "C" {
6662    #[link_name = "aws_lc_0_47_0_ERR_clear_error"]
6663    pub fn ERR_clear_error();
6664}
6665extern "C" {
6666    #[link_name = "aws_lc_0_47_0_ERR_set_mark"]
6667    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6668}
6669extern "C" {
6670    #[link_name = "aws_lc_0_47_0_ERR_pop_to_mark"]
6671    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6672}
6673extern "C" {
6674    #[link_name = "aws_lc_0_47_0_ERR_get_next_error_library"]
6675    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6676}
6677extern "C" {
6678    #[link_name = "aws_lc_0_47_0_ERR_remove_state"]
6679    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6680}
6681extern "C" {
6682    #[link_name = "aws_lc_0_47_0_ERR_remove_thread_state"]
6683    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6684}
6685extern "C" {
6686    #[link_name = "aws_lc_0_47_0_ERR_func_error_string"]
6687    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6688}
6689extern "C" {
6690    #[link_name = "aws_lc_0_47_0_ERR_error_string"]
6691    pub fn ERR_error_string(
6692        packed_error: u32,
6693        buf: *mut ::std::os::raw::c_char,
6694    ) -> *mut ::std::os::raw::c_char;
6695}
6696extern "C" {
6697    #[link_name = "aws_lc_0_47_0_ERR_clear_system_error"]
6698    pub fn ERR_clear_system_error();
6699}
6700extern "C" {
6701    #[link_name = "aws_lc_0_47_0_ERR_put_error"]
6702    pub fn ERR_put_error(
6703        library: ::std::os::raw::c_int,
6704        unused: ::std::os::raw::c_int,
6705        reason: ::std::os::raw::c_int,
6706        file: *const ::std::os::raw::c_char,
6707        line: ::std::os::raw::c_uint,
6708    );
6709}
6710extern "C" {
6711    #[link_name = "aws_lc_0_47_0_ERR_add_error_data"]
6712    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6713}
6714extern "C" {
6715    #[link_name = "aws_lc_0_47_0_ERR_add_error_dataf"]
6716    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6717}
6718extern "C" {
6719    #[link_name = "aws_lc_0_47_0_ERR_set_error_data"]
6720    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6721}
6722pub type OPENSSL_sk_free_func =
6723    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6724pub type OPENSSL_sk_copy_func = ::std::option::Option<
6725    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6726>;
6727pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6728    unsafe extern "C" fn(
6729        a: *const *const ::std::os::raw::c_void,
6730        b: *const *const ::std::os::raw::c_void,
6731    ) -> ::std::os::raw::c_int,
6732>;
6733pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6734    unsafe extern "C" fn(
6735        obj: *mut ::std::os::raw::c_void,
6736        data: *mut ::std::os::raw::c_void,
6737    ) -> ::std::os::raw::c_int,
6738>;
6739pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6740    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6741>;
6742pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6743    unsafe extern "C" fn(
6744        arg1: OPENSSL_sk_copy_func,
6745        arg2: *const ::std::os::raw::c_void,
6746    ) -> *mut ::std::os::raw::c_void,
6747>;
6748pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6749    unsafe extern "C" fn(
6750        arg1: OPENSSL_sk_cmp_func,
6751        arg2: *const ::std::os::raw::c_void,
6752        arg3: *const ::std::os::raw::c_void,
6753    ) -> ::std::os::raw::c_int,
6754>;
6755pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6756    unsafe extern "C" fn(
6757        arg1: OPENSSL_sk_delete_if_func,
6758        arg2: *mut ::std::os::raw::c_void,
6759        arg3: *mut ::std::os::raw::c_void,
6760    ) -> ::std::os::raw::c_int,
6761>;
6762#[repr(C)]
6763#[derive(Debug)]
6764pub struct stack_st {
6765    _unused: [u8; 0],
6766}
6767pub type OPENSSL_STACK = stack_st;
6768extern "C" {
6769    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_new"]
6770    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6771}
6772extern "C" {
6773    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_new_null"]
6774    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6775}
6776extern "C" {
6777    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_num"]
6778    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6779}
6780extern "C" {
6781    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_zero"]
6782    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6783}
6784extern "C" {
6785    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_value"]
6786    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6787}
6788extern "C" {
6789    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_set"]
6790    pub fn OPENSSL_sk_set(
6791        sk: *mut OPENSSL_STACK,
6792        i: usize,
6793        p: *mut ::std::os::raw::c_void,
6794    ) -> *mut ::std::os::raw::c_void;
6795}
6796extern "C" {
6797    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_free"]
6798    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6799}
6800extern "C" {
6801    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_pop_free_ex"]
6802    pub fn OPENSSL_sk_pop_free_ex(
6803        sk: *mut OPENSSL_STACK,
6804        call_free_func: OPENSSL_sk_call_free_func,
6805        free_func: OPENSSL_sk_free_func,
6806    );
6807}
6808extern "C" {
6809    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_insert"]
6810    pub fn OPENSSL_sk_insert(
6811        sk: *mut OPENSSL_STACK,
6812        p: *mut ::std::os::raw::c_void,
6813        where_: usize,
6814    ) -> usize;
6815}
6816extern "C" {
6817    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_delete"]
6818    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6819}
6820extern "C" {
6821    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_delete_ptr"]
6822    pub fn OPENSSL_sk_delete_ptr(
6823        sk: *mut OPENSSL_STACK,
6824        p: *const ::std::os::raw::c_void,
6825    ) -> *mut ::std::os::raw::c_void;
6826}
6827extern "C" {
6828    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_delete_if"]
6829    pub fn OPENSSL_sk_delete_if(
6830        sk: *mut OPENSSL_STACK,
6831        call_func: OPENSSL_sk_call_delete_if_func,
6832        func: OPENSSL_sk_delete_if_func,
6833        data: *mut ::std::os::raw::c_void,
6834    );
6835}
6836extern "C" {
6837    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_find"]
6838    pub fn OPENSSL_sk_find(
6839        sk: *const OPENSSL_STACK,
6840        out_index: *mut usize,
6841        p: *const ::std::os::raw::c_void,
6842        call_cmp_func: OPENSSL_sk_call_cmp_func,
6843    ) -> ::std::os::raw::c_int;
6844}
6845extern "C" {
6846    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_unshift"]
6847    pub fn OPENSSL_sk_unshift(
6848        sk: *mut OPENSSL_STACK,
6849        data: *mut ::std::os::raw::c_void,
6850    ) -> ::std::os::raw::c_int;
6851}
6852extern "C" {
6853    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_shift"]
6854    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6855}
6856extern "C" {
6857    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_push"]
6858    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6859}
6860extern "C" {
6861    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_pop"]
6862    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6863}
6864extern "C" {
6865    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_dup"]
6866    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6867}
6868extern "C" {
6869    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_sort"]
6870    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6871}
6872extern "C" {
6873    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_is_sorted"]
6874    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6875}
6876extern "C" {
6877    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_set_cmp_func"]
6878    pub fn OPENSSL_sk_set_cmp_func(
6879        sk: *mut OPENSSL_STACK,
6880        comp: OPENSSL_sk_cmp_func,
6881    ) -> OPENSSL_sk_cmp_func;
6882}
6883extern "C" {
6884    #[link_name = "aws_lc_0_47_0_OPENSSL_sk_deep_copy"]
6885    pub fn OPENSSL_sk_deep_copy(
6886        sk: *const OPENSSL_STACK,
6887        call_copy_func: OPENSSL_sk_call_copy_func,
6888        copy_func: OPENSSL_sk_copy_func,
6889        call_free_func: OPENSSL_sk_call_free_func,
6890        free_func: OPENSSL_sk_free_func,
6891    ) -> *mut OPENSSL_STACK;
6892}
6893pub type _STACK = OPENSSL_STACK;
6894extern "C" {
6895    #[link_name = "aws_lc_0_47_0_sk_pop_free"]
6896    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6897}
6898pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6899#[repr(C)]
6900#[derive(Debug)]
6901pub struct stack_st_void {
6902    _unused: [u8; 0],
6903}
6904pub type sk_void_free_func =
6905    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6906pub type sk_void_copy_func = ::std::option::Option<
6907    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6908>;
6909pub type sk_void_cmp_func = ::std::option::Option<
6910    unsafe extern "C" fn(
6911        arg1: *const *const ::std::os::raw::c_void,
6912        arg2: *const *const ::std::os::raw::c_void,
6913    ) -> ::std::os::raw::c_int,
6914>;
6915pub type sk_void_delete_if_func = ::std::option::Option<
6916    unsafe extern "C" fn(
6917        arg1: *mut ::std::os::raw::c_void,
6918        arg2: *mut ::std::os::raw::c_void,
6919    ) -> ::std::os::raw::c_int,
6920>;
6921#[repr(C)]
6922#[derive(Debug)]
6923pub struct stack_st_OPENSSL_STRING {
6924    _unused: [u8; 0],
6925}
6926pub type sk_OPENSSL_STRING_free_func =
6927    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6928pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6929    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6930>;
6931pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6932    unsafe extern "C" fn(
6933        arg1: *const *const ::std::os::raw::c_char,
6934        arg2: *const *const ::std::os::raw::c_char,
6935    ) -> ::std::os::raw::c_int,
6936>;
6937pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6938    unsafe extern "C" fn(
6939        arg1: *mut ::std::os::raw::c_char,
6940        arg2: *mut ::std::os::raw::c_void,
6941    ) -> ::std::os::raw::c_int,
6942>;
6943pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6944pub type CRYPTO_EX_free = ::std::option::Option<
6945    unsafe extern "C" fn(
6946        parent: *mut ::std::os::raw::c_void,
6947        ptr: *mut ::std::os::raw::c_void,
6948        ad: *mut CRYPTO_EX_DATA,
6949        index: ::std::os::raw::c_int,
6950        argl: ::std::os::raw::c_long,
6951        argp: *mut ::std::os::raw::c_void,
6952    ),
6953>;
6954extern "C" {
6955    #[link_name = "aws_lc_0_47_0_CRYPTO_cleanup_all_ex_data"]
6956    pub fn CRYPTO_cleanup_all_ex_data();
6957}
6958pub type CRYPTO_EX_dup = ::std::option::Option<
6959    unsafe extern "C" fn(
6960        to: *mut CRYPTO_EX_DATA,
6961        from: *const CRYPTO_EX_DATA,
6962        from_d: *mut *mut ::std::os::raw::c_void,
6963        index: ::std::os::raw::c_int,
6964        argl: ::std::os::raw::c_long,
6965        argp: *mut ::std::os::raw::c_void,
6966    ) -> ::std::os::raw::c_int,
6967>;
6968pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6969#[repr(C)]
6970#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6971pub struct crypto_ex_data_st {
6972    pub sk: *mut stack_st_void,
6973}
6974#[test]
6975fn bindgen_test_layout_crypto_ex_data_st() {
6976    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6977    let ptr = UNINIT.as_ptr();
6978    assert_eq!(
6979        ::std::mem::size_of::<crypto_ex_data_st>(),
6980        8usize,
6981        "Size of crypto_ex_data_st"
6982    );
6983    assert_eq!(
6984        ::std::mem::align_of::<crypto_ex_data_st>(),
6985        8usize,
6986        "Alignment of crypto_ex_data_st"
6987    );
6988    assert_eq!(
6989        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6990        0usize,
6991        "Offset of field: crypto_ex_data_st::sk"
6992    );
6993}
6994impl Default for crypto_ex_data_st {
6995    fn default() -> Self {
6996        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6997        unsafe {
6998            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6999            s.assume_init()
7000        }
7001    }
7002}
7003#[repr(C)]
7004#[derive(Debug)]
7005pub struct stack_st_BIO {
7006    _unused: [u8; 0],
7007}
7008pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
7009pub type sk_BIO_copy_func =
7010    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
7011pub type sk_BIO_cmp_func = ::std::option::Option<
7012    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
7013>;
7014pub type sk_BIO_delete_if_func = ::std::option::Option<
7015    unsafe extern "C" fn(
7016        arg1: *mut BIO,
7017        arg2: *mut ::std::os::raw::c_void,
7018    ) -> ::std::os::raw::c_int,
7019>;
7020extern "C" {
7021    #[link_name = "aws_lc_0_47_0_BIO_new"]
7022    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
7023}
7024extern "C" {
7025    #[link_name = "aws_lc_0_47_0_BIO_free"]
7026    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
7027}
7028extern "C" {
7029    #[link_name = "aws_lc_0_47_0_BIO_vfree"]
7030    pub fn BIO_vfree(bio: *mut BIO);
7031}
7032extern "C" {
7033    #[link_name = "aws_lc_0_47_0_BIO_up_ref"]
7034    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
7035}
7036extern "C" {
7037    #[link_name = "aws_lc_0_47_0_BIO_read"]
7038    pub fn BIO_read(
7039        bio: *mut BIO,
7040        data: *mut ::std::os::raw::c_void,
7041        len: ::std::os::raw::c_int,
7042    ) -> ::std::os::raw::c_int;
7043}
7044extern "C" {
7045    #[link_name = "aws_lc_0_47_0_BIO_read_ex"]
7046    pub fn BIO_read_ex(
7047        bio: *mut BIO,
7048        data: *mut ::std::os::raw::c_void,
7049        data_len: usize,
7050        read_bytes: *mut usize,
7051    ) -> ::std::os::raw::c_int;
7052}
7053extern "C" {
7054    #[link_name = "aws_lc_0_47_0_BIO_gets"]
7055    pub fn BIO_gets(
7056        bio: *mut BIO,
7057        buf: *mut ::std::os::raw::c_char,
7058        size: ::std::os::raw::c_int,
7059    ) -> ::std::os::raw::c_int;
7060}
7061extern "C" {
7062    #[link_name = "aws_lc_0_47_0_BIO_write"]
7063    pub fn BIO_write(
7064        bio: *mut BIO,
7065        data: *const ::std::os::raw::c_void,
7066        len: ::std::os::raw::c_int,
7067    ) -> ::std::os::raw::c_int;
7068}
7069extern "C" {
7070    #[link_name = "aws_lc_0_47_0_BIO_write_ex"]
7071    pub fn BIO_write_ex(
7072        bio: *mut BIO,
7073        data: *const ::std::os::raw::c_void,
7074        data_len: usize,
7075        written_bytes: *mut usize,
7076    ) -> ::std::os::raw::c_int;
7077}
7078extern "C" {
7079    #[link_name = "aws_lc_0_47_0_BIO_write_all"]
7080    pub fn BIO_write_all(
7081        bio: *mut BIO,
7082        data: *const ::std::os::raw::c_void,
7083        len: usize,
7084    ) -> ::std::os::raw::c_int;
7085}
7086extern "C" {
7087    #[link_name = "aws_lc_0_47_0_BIO_puts"]
7088    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7089}
7090extern "C" {
7091    #[link_name = "aws_lc_0_47_0_BIO_flush"]
7092    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
7093}
7094extern "C" {
7095    #[link_name = "aws_lc_0_47_0_BIO_ctrl"]
7096    pub fn BIO_ctrl(
7097        bio: *mut BIO,
7098        cmd: ::std::os::raw::c_int,
7099        larg: ::std::os::raw::c_long,
7100        parg: *mut ::std::os::raw::c_void,
7101    ) -> ::std::os::raw::c_long;
7102}
7103extern "C" {
7104    #[link_name = "aws_lc_0_47_0_BIO_ptr_ctrl"]
7105    pub fn BIO_ptr_ctrl(
7106        bp: *mut BIO,
7107        cmd: ::std::os::raw::c_int,
7108        larg: ::std::os::raw::c_long,
7109    ) -> *mut ::std::os::raw::c_char;
7110}
7111extern "C" {
7112    #[link_name = "aws_lc_0_47_0_BIO_int_ctrl"]
7113    pub fn BIO_int_ctrl(
7114        bp: *mut BIO,
7115        cmd: ::std::os::raw::c_int,
7116        larg: ::std::os::raw::c_long,
7117        iarg: ::std::os::raw::c_int,
7118    ) -> ::std::os::raw::c_long;
7119}
7120extern "C" {
7121    #[link_name = "aws_lc_0_47_0_BIO_reset"]
7122    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
7123}
7124extern "C" {
7125    #[link_name = "aws_lc_0_47_0_BIO_eof"]
7126    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
7127}
7128extern "C" {
7129    #[link_name = "aws_lc_0_47_0_BIO_set_flags"]
7130    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
7131}
7132extern "C" {
7133    #[link_name = "aws_lc_0_47_0_BIO_test_flags"]
7134    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7135}
7136extern "C" {
7137    #[link_name = "aws_lc_0_47_0_BIO_should_read"]
7138    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
7139}
7140extern "C" {
7141    #[link_name = "aws_lc_0_47_0_BIO_should_write"]
7142    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
7143}
7144extern "C" {
7145    #[link_name = "aws_lc_0_47_0_BIO_should_retry"]
7146    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
7147}
7148extern "C" {
7149    #[link_name = "aws_lc_0_47_0_BIO_should_io_special"]
7150    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
7151}
7152extern "C" {
7153    #[link_name = "aws_lc_0_47_0_BIO_get_retry_reason"]
7154    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
7155}
7156extern "C" {
7157    #[link_name = "aws_lc_0_47_0_BIO_set_retry_reason"]
7158    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
7159}
7160extern "C" {
7161    #[link_name = "aws_lc_0_47_0_BIO_clear_flags"]
7162    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
7163}
7164extern "C" {
7165    #[link_name = "aws_lc_0_47_0_BIO_set_retry_read"]
7166    pub fn BIO_set_retry_read(bio: *mut BIO);
7167}
7168extern "C" {
7169    #[link_name = "aws_lc_0_47_0_BIO_set_retry_write"]
7170    pub fn BIO_set_retry_write(bio: *mut BIO);
7171}
7172extern "C" {
7173    #[link_name = "aws_lc_0_47_0_BIO_get_retry_flags"]
7174    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
7175}
7176extern "C" {
7177    #[link_name = "aws_lc_0_47_0_BIO_clear_retry_flags"]
7178    pub fn BIO_clear_retry_flags(bio: *mut BIO);
7179}
7180extern "C" {
7181    #[link_name = "aws_lc_0_47_0_BIO_method_type"]
7182    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
7183}
7184extern "C" {
7185    #[link_name = "aws_lc_0_47_0_BIO_method_name"]
7186    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
7187}
7188pub type bio_info_cb = ::std::option::Option<
7189    unsafe extern "C" fn(
7190        b: *mut BIO,
7191        state: ::std::os::raw::c_int,
7192        res: ::std::os::raw::c_int,
7193    ) -> ::std::os::raw::c_long,
7194>;
7195pub type BIO_callback_fn_ex = ::std::option::Option<
7196    unsafe extern "C" fn(
7197        bio: *mut BIO,
7198        oper: ::std::os::raw::c_int,
7199        argp: *const ::std::os::raw::c_char,
7200        len: usize,
7201        argi: ::std::os::raw::c_int,
7202        argl: ::std::os::raw::c_long,
7203        bio_ret: ::std::os::raw::c_int,
7204        processed: *mut usize,
7205    ) -> ::std::os::raw::c_long,
7206>;
7207pub type BIO_callback_fn = ::std::option::Option<
7208    unsafe extern "C" fn(
7209        bio: *mut BIO,
7210        oper: ::std::os::raw::c_int,
7211        argp: *const ::std::os::raw::c_char,
7212        argi: ::std::os::raw::c_int,
7213        argl: ::std::os::raw::c_long,
7214        bio_ret: ::std::os::raw::c_long,
7215    ) -> ::std::os::raw::c_long,
7216>;
7217extern "C" {
7218    #[link_name = "aws_lc_0_47_0_BIO_callback_ctrl"]
7219    pub fn BIO_callback_ctrl(
7220        bio: *mut BIO,
7221        cmd: ::std::os::raw::c_int,
7222        fp: bio_info_cb,
7223    ) -> ::std::os::raw::c_long;
7224}
7225extern "C" {
7226    #[link_name = "aws_lc_0_47_0_BIO_pending"]
7227    pub fn BIO_pending(bio: *const BIO) -> usize;
7228}
7229extern "C" {
7230    #[link_name = "aws_lc_0_47_0_BIO_ctrl_pending"]
7231    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
7232}
7233extern "C" {
7234    #[link_name = "aws_lc_0_47_0_BIO_wpending"]
7235    pub fn BIO_wpending(bio: *const BIO) -> usize;
7236}
7237extern "C" {
7238    #[link_name = "aws_lc_0_47_0_BIO_set_close"]
7239    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
7240        -> ::std::os::raw::c_int;
7241}
7242extern "C" {
7243    #[link_name = "aws_lc_0_47_0_BIO_get_close"]
7244    pub fn BIO_get_close(bio: *mut BIO) -> ::std::os::raw::c_int;
7245}
7246extern "C" {
7247    #[link_name = "aws_lc_0_47_0_BIO_number_read"]
7248    pub fn BIO_number_read(bio: *const BIO) -> u64;
7249}
7250extern "C" {
7251    #[link_name = "aws_lc_0_47_0_BIO_number_written"]
7252    pub fn BIO_number_written(bio: *const BIO) -> u64;
7253}
7254extern "C" {
7255    #[link_name = "aws_lc_0_47_0_BIO_set_callback_ex"]
7256    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
7257}
7258extern "C" {
7259    #[link_name = "aws_lc_0_47_0_BIO_set_callback"]
7260    pub fn BIO_set_callback(bio: *mut BIO, callback: BIO_callback_fn);
7261}
7262extern "C" {
7263    #[link_name = "aws_lc_0_47_0_BIO_set_callback_arg"]
7264    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
7265}
7266extern "C" {
7267    #[link_name = "aws_lc_0_47_0_BIO_get_callback_arg"]
7268    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
7269}
7270extern "C" {
7271    #[link_name = "aws_lc_0_47_0_BIO_push"]
7272    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
7273}
7274extern "C" {
7275    #[link_name = "aws_lc_0_47_0_BIO_pop"]
7276    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
7277}
7278extern "C" {
7279    #[link_name = "aws_lc_0_47_0_BIO_next"]
7280    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
7281}
7282extern "C" {
7283    #[link_name = "aws_lc_0_47_0_BIO_free_all"]
7284    pub fn BIO_free_all(bio: *mut BIO);
7285}
7286extern "C" {
7287    #[link_name = "aws_lc_0_47_0_BIO_find_type"]
7288    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
7289}
7290extern "C" {
7291    #[link_name = "aws_lc_0_47_0_BIO_copy_next_retry"]
7292    pub fn BIO_copy_next_retry(bio: *mut BIO);
7293}
7294extern "C" {
7295    #[link_name = "aws_lc_0_47_0_BIO_printf"]
7296    pub fn BIO_printf(
7297        bio: *mut BIO,
7298        format: *const ::std::os::raw::c_char,
7299        ...
7300    ) -> ::std::os::raw::c_int;
7301}
7302extern "C" {
7303    #[link_name = "aws_lc_0_47_0_BIO_indent"]
7304    pub fn BIO_indent(
7305        bio: *mut BIO,
7306        indent: ::std::os::raw::c_uint,
7307        max_indent: ::std::os::raw::c_uint,
7308    ) -> ::std::os::raw::c_int;
7309}
7310extern "C" {
7311    #[link_name = "aws_lc_0_47_0_BIO_hexdump"]
7312    pub fn BIO_hexdump(
7313        bio: *mut BIO,
7314        data: *const u8,
7315        len: usize,
7316        indent: ::std::os::raw::c_uint,
7317    ) -> ::std::os::raw::c_int;
7318}
7319extern "C" {
7320    #[link_name = "aws_lc_0_47_0_BIO_dump"]
7321    pub fn BIO_dump(
7322        bio: *mut BIO,
7323        data: *const ::std::os::raw::c_void,
7324        len: ::std::os::raw::c_int,
7325    ) -> ::std::os::raw::c_int;
7326}
7327extern "C" {
7328    #[link_name = "aws_lc_0_47_0_ERR_print_errors"]
7329    pub fn ERR_print_errors(bio: *mut BIO);
7330}
7331extern "C" {
7332    #[link_name = "aws_lc_0_47_0_BIO_read_asn1"]
7333    pub fn BIO_read_asn1(
7334        bio: *mut BIO,
7335        out: *mut *mut u8,
7336        out_len: *mut usize,
7337        max_len: usize,
7338    ) -> ::std::os::raw::c_int;
7339}
7340extern "C" {
7341    #[link_name = "aws_lc_0_47_0_BIO_s_mem"]
7342    pub fn BIO_s_mem() -> *const BIO_METHOD;
7343}
7344extern "C" {
7345    #[link_name = "aws_lc_0_47_0_BIO_new_mem_buf"]
7346    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
7347}
7348extern "C" {
7349    #[link_name = "aws_lc_0_47_0_BIO_mem_contents"]
7350    pub fn BIO_mem_contents(
7351        bio: *const BIO,
7352        out_contents: *mut *const u8,
7353        out_len: *mut usize,
7354    ) -> ::std::os::raw::c_int;
7355}
7356extern "C" {
7357    #[link_name = "aws_lc_0_47_0_BIO_get_mem_ptr"]
7358    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
7359}
7360extern "C" {
7361    #[link_name = "aws_lc_0_47_0_BIO_set_mem_buf"]
7362    pub fn BIO_set_mem_buf(
7363        bio: *mut BIO,
7364        b: *mut BUF_MEM,
7365        take_ownership: ::std::os::raw::c_int,
7366    ) -> ::std::os::raw::c_int;
7367}
7368extern "C" {
7369    #[link_name = "aws_lc_0_47_0_BIO_set_mem_eof_return"]
7370    pub fn BIO_set_mem_eof_return(
7371        bio: *mut BIO,
7372        eof_value: ::std::os::raw::c_int,
7373    ) -> ::std::os::raw::c_int;
7374}
7375extern "C" {
7376    #[link_name = "aws_lc_0_47_0_BIO_s_fd"]
7377    pub fn BIO_s_fd() -> *const BIO_METHOD;
7378}
7379extern "C" {
7380    #[link_name = "aws_lc_0_47_0_BIO_new_fd"]
7381    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7382}
7383extern "C" {
7384    #[link_name = "aws_lc_0_47_0_BIO_set_fd"]
7385    pub fn BIO_set_fd(
7386        bio: *mut BIO,
7387        fd: ::std::os::raw::c_int,
7388        close_flag: ::std::os::raw::c_int,
7389    ) -> ::std::os::raw::c_int;
7390}
7391extern "C" {
7392    #[link_name = "aws_lc_0_47_0_BIO_get_fd"]
7393    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7394}
7395extern "C" {
7396    #[link_name = "aws_lc_0_47_0_BIO_s_file"]
7397    pub fn BIO_s_file() -> *const BIO_METHOD;
7398}
7399extern "C" {
7400    #[link_name = "aws_lc_0_47_0_BIO_new_file"]
7401    pub fn BIO_new_file(
7402        filename: *const ::std::os::raw::c_char,
7403        mode: *const ::std::os::raw::c_char,
7404    ) -> *mut BIO;
7405}
7406extern "C" {
7407    #[link_name = "aws_lc_0_47_0_BIO_new_fp"]
7408    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7409}
7410extern "C" {
7411    #[link_name = "aws_lc_0_47_0_BIO_get_fp"]
7412    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
7413}
7414extern "C" {
7415    #[link_name = "aws_lc_0_47_0_BIO_set_fp"]
7416    pub fn BIO_set_fp(
7417        bio: *mut BIO,
7418        file: *mut FILE,
7419        close_flag: ::std::os::raw::c_int,
7420    ) -> ::std::os::raw::c_int;
7421}
7422extern "C" {
7423    #[link_name = "aws_lc_0_47_0_BIO_read_filename"]
7424    pub fn BIO_read_filename(
7425        bio: *mut BIO,
7426        filename: *const ::std::os::raw::c_char,
7427    ) -> ::std::os::raw::c_int;
7428}
7429extern "C" {
7430    #[link_name = "aws_lc_0_47_0_BIO_write_filename"]
7431    pub fn BIO_write_filename(
7432        bio: *mut BIO,
7433        filename: *const ::std::os::raw::c_char,
7434    ) -> ::std::os::raw::c_int;
7435}
7436extern "C" {
7437    #[link_name = "aws_lc_0_47_0_BIO_append_filename"]
7438    pub fn BIO_append_filename(
7439        bio: *mut BIO,
7440        filename: *const ::std::os::raw::c_char,
7441    ) -> ::std::os::raw::c_int;
7442}
7443extern "C" {
7444    #[link_name = "aws_lc_0_47_0_BIO_rw_filename"]
7445    pub fn BIO_rw_filename(
7446        bio: *mut BIO,
7447        filename: *const ::std::os::raw::c_char,
7448    ) -> ::std::os::raw::c_int;
7449}
7450extern "C" {
7451    #[link_name = "aws_lc_0_47_0_BIO_tell"]
7452    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7453}
7454extern "C" {
7455    #[link_name = "aws_lc_0_47_0_BIO_seek"]
7456    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7457}
7458extern "C" {
7459    #[link_name = "aws_lc_0_47_0_BIO_s_socket"]
7460    pub fn BIO_s_socket() -> *const BIO_METHOD;
7461}
7462extern "C" {
7463    #[link_name = "aws_lc_0_47_0_BIO_new_socket"]
7464    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7465        -> *mut BIO;
7466}
7467extern "C" {
7468    #[link_name = "aws_lc_0_47_0_BIO_s_connect"]
7469    pub fn BIO_s_connect() -> *const BIO_METHOD;
7470}
7471extern "C" {
7472    #[link_name = "aws_lc_0_47_0_BIO_new_connect"]
7473    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7474}
7475extern "C" {
7476    #[link_name = "aws_lc_0_47_0_BIO_set_conn_hostname"]
7477    pub fn BIO_set_conn_hostname(
7478        bio: *mut BIO,
7479        host_and_optional_port: *const ::std::os::raw::c_char,
7480    ) -> ::std::os::raw::c_int;
7481}
7482extern "C" {
7483    #[link_name = "aws_lc_0_47_0_BIO_set_conn_port"]
7484    pub fn BIO_set_conn_port(
7485        bio: *mut BIO,
7486        port_str: *const ::std::os::raw::c_char,
7487    ) -> ::std::os::raw::c_int;
7488}
7489extern "C" {
7490    #[link_name = "aws_lc_0_47_0_BIO_set_conn_int_port"]
7491    pub fn BIO_set_conn_int_port(
7492        bio: *mut BIO,
7493        port: *const ::std::os::raw::c_int,
7494    ) -> ::std::os::raw::c_int;
7495}
7496extern "C" {
7497    #[link_name = "aws_lc_0_47_0_BIO_set_nbio"]
7498    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7499}
7500extern "C" {
7501    #[link_name = "aws_lc_0_47_0_BIO_do_connect"]
7502    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7503}
7504extern "C" {
7505    #[link_name = "aws_lc_0_47_0_BIO_f_md"]
7506    pub fn BIO_f_md() -> *const BIO_METHOD;
7507}
7508extern "C" {
7509    #[link_name = "aws_lc_0_47_0_BIO_get_md_ctx"]
7510    pub fn BIO_get_md_ctx(b: *mut BIO, ctx: *mut *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
7511}
7512extern "C" {
7513    #[link_name = "aws_lc_0_47_0_BIO_set_md"]
7514    pub fn BIO_set_md(b: *mut BIO, md: *const EVP_MD) -> ::std::os::raw::c_int;
7515}
7516extern "C" {
7517    #[link_name = "aws_lc_0_47_0_BIO_get_md"]
7518    pub fn BIO_get_md(b: *mut BIO, md: *mut *mut EVP_MD) -> ::std::os::raw::c_int;
7519}
7520#[repr(C)]
7521#[derive(Debug)]
7522pub struct bio_addr_st {
7523    _unused: [u8; 0],
7524}
7525pub type BIO_ADDR = bio_addr_st;
7526extern "C" {
7527    #[link_name = "aws_lc_0_47_0_BIO_s_datagram"]
7528    pub fn BIO_s_datagram() -> *const BIO_METHOD;
7529}
7530extern "C" {
7531    #[link_name = "aws_lc_0_47_0_BIO_new_dgram"]
7532    pub fn BIO_new_dgram(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7533}
7534extern "C" {
7535    #[link_name = "aws_lc_0_47_0_BIO_ctrl_dgram_connect"]
7536    pub fn BIO_ctrl_dgram_connect(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7537}
7538extern "C" {
7539    #[link_name = "aws_lc_0_47_0_BIO_ctrl_set_connected"]
7540    pub fn BIO_ctrl_set_connected(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7541}
7542extern "C" {
7543    #[link_name = "aws_lc_0_47_0_BIO_dgram_recv_timedout"]
7544    pub fn BIO_dgram_recv_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7545}
7546extern "C" {
7547    #[link_name = "aws_lc_0_47_0_BIO_dgram_send_timedout"]
7548    pub fn BIO_dgram_send_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7549}
7550extern "C" {
7551    #[link_name = "aws_lc_0_47_0_BIO_dgram_get_peer"]
7552    pub fn BIO_dgram_get_peer(bp: *mut BIO, peer: *mut BIO_ADDR) -> ::std::os::raw::c_int;
7553}
7554extern "C" {
7555    #[link_name = "aws_lc_0_47_0_BIO_dgram_set_peer"]
7556    pub fn BIO_dgram_set_peer(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7557}
7558extern "C" {
7559    #[link_name = "aws_lc_0_47_0_BIO_ADDR_new"]
7560    pub fn BIO_ADDR_new() -> *mut BIO_ADDR;
7561}
7562extern "C" {
7563    #[link_name = "aws_lc_0_47_0_BIO_ADDR_copy"]
7564    pub fn BIO_ADDR_copy(dst: *mut BIO_ADDR, src: *const BIO_ADDR) -> ::std::os::raw::c_int;
7565}
7566extern "C" {
7567    #[link_name = "aws_lc_0_47_0_BIO_ADDR_dup"]
7568    pub fn BIO_ADDR_dup(ap: *const BIO_ADDR) -> *mut BIO_ADDR;
7569}
7570extern "C" {
7571    #[link_name = "aws_lc_0_47_0_BIO_ADDR_free"]
7572    pub fn BIO_ADDR_free(ap: *mut BIO_ADDR);
7573}
7574extern "C" {
7575    #[link_name = "aws_lc_0_47_0_BIO_ADDR_clear"]
7576    pub fn BIO_ADDR_clear(ap: *mut BIO_ADDR);
7577}
7578extern "C" {
7579    #[link_name = "aws_lc_0_47_0_BIO_ADDR_rawmake"]
7580    pub fn BIO_ADDR_rawmake(
7581        ap: *mut BIO_ADDR,
7582        family: ::std::os::raw::c_int,
7583        where_: *const ::std::os::raw::c_void,
7584        wherelen: usize,
7585        port: ::std::os::raw::c_ushort,
7586    ) -> ::std::os::raw::c_int;
7587}
7588extern "C" {
7589    #[link_name = "aws_lc_0_47_0_BIO_ADDR_family"]
7590    pub fn BIO_ADDR_family(ap: *const BIO_ADDR) -> ::std::os::raw::c_int;
7591}
7592extern "C" {
7593    #[link_name = "aws_lc_0_47_0_BIO_ADDR_rawaddress"]
7594    pub fn BIO_ADDR_rawaddress(
7595        ap: *const BIO_ADDR,
7596        p: *mut ::std::os::raw::c_void,
7597        l: *mut usize,
7598    ) -> ::std::os::raw::c_int;
7599}
7600extern "C" {
7601    #[link_name = "aws_lc_0_47_0_BIO_ADDR_rawport"]
7602    pub fn BIO_ADDR_rawport(ap: *const BIO_ADDR) -> ::std::os::raw::c_ushort;
7603}
7604extern "C" {
7605    #[link_name = "aws_lc_0_47_0_BIO_new_bio_pair"]
7606    pub fn BIO_new_bio_pair(
7607        out1: *mut *mut BIO,
7608        writebuf1: usize,
7609        out2: *mut *mut BIO,
7610        writebuf2: usize,
7611    ) -> ::std::os::raw::c_int;
7612}
7613extern "C" {
7614    #[link_name = "aws_lc_0_47_0_BIO_destroy_bio_pair"]
7615    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7616}
7617extern "C" {
7618    #[link_name = "aws_lc_0_47_0_BIO_ctrl_get_read_request"]
7619    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7620}
7621extern "C" {
7622    #[link_name = "aws_lc_0_47_0_BIO_ctrl_get_write_guarantee"]
7623    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7624}
7625extern "C" {
7626    #[link_name = "aws_lc_0_47_0_BIO_shutdown_wr"]
7627    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7628}
7629extern "C" {
7630    #[link_name = "aws_lc_0_47_0_BIO_get_new_index"]
7631    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7632}
7633extern "C" {
7634    #[link_name = "aws_lc_0_47_0_BIO_meth_new"]
7635    pub fn BIO_meth_new(
7636        type_: ::std::os::raw::c_int,
7637        name: *const ::std::os::raw::c_char,
7638    ) -> *mut BIO_METHOD;
7639}
7640extern "C" {
7641    #[link_name = "aws_lc_0_47_0_BIO_meth_free"]
7642    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7643}
7644extern "C" {
7645    #[link_name = "aws_lc_0_47_0_BIO_meth_set_create"]
7646    pub fn BIO_meth_set_create(
7647        method: *mut BIO_METHOD,
7648        create: ::std::option::Option<
7649            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7650        >,
7651    ) -> ::std::os::raw::c_int;
7652}
7653extern "C" {
7654    #[link_name = "aws_lc_0_47_0_BIO_meth_get_create"]
7655    pub fn BIO_meth_get_create(
7656        method: *const BIO_METHOD,
7657    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7658}
7659extern "C" {
7660    #[link_name = "aws_lc_0_47_0_BIO_meth_set_destroy"]
7661    pub fn BIO_meth_set_destroy(
7662        method: *mut BIO_METHOD,
7663        destroy: ::std::option::Option<
7664            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7665        >,
7666    ) -> ::std::os::raw::c_int;
7667}
7668extern "C" {
7669    #[link_name = "aws_lc_0_47_0_BIO_meth_get_destroy"]
7670    pub fn BIO_meth_get_destroy(
7671        method: *const BIO_METHOD,
7672    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7673}
7674extern "C" {
7675    #[link_name = "aws_lc_0_47_0_BIO_meth_set_write"]
7676    pub fn BIO_meth_set_write(
7677        method: *mut BIO_METHOD,
7678        write: ::std::option::Option<
7679            unsafe extern "C" fn(
7680                arg1: *mut BIO,
7681                arg2: *const ::std::os::raw::c_char,
7682                arg3: ::std::os::raw::c_int,
7683            ) -> ::std::os::raw::c_int,
7684        >,
7685    ) -> ::std::os::raw::c_int;
7686}
7687extern "C" {
7688    #[link_name = "aws_lc_0_47_0_BIO_meth_set_read"]
7689    pub fn BIO_meth_set_read(
7690        method: *mut BIO_METHOD,
7691        read: ::std::option::Option<
7692            unsafe extern "C" fn(
7693                arg1: *mut BIO,
7694                arg2: *mut ::std::os::raw::c_char,
7695                arg3: ::std::os::raw::c_int,
7696            ) -> ::std::os::raw::c_int,
7697        >,
7698    ) -> ::std::os::raw::c_int;
7699}
7700extern "C" {
7701    #[link_name = "aws_lc_0_47_0_BIO_meth_set_gets"]
7702    pub fn BIO_meth_set_gets(
7703        method: *mut BIO_METHOD,
7704        gets: ::std::option::Option<
7705            unsafe extern "C" fn(
7706                arg1: *mut BIO,
7707                arg2: *mut ::std::os::raw::c_char,
7708                arg3: ::std::os::raw::c_int,
7709            ) -> ::std::os::raw::c_int,
7710        >,
7711    ) -> ::std::os::raw::c_int;
7712}
7713extern "C" {
7714    #[link_name = "aws_lc_0_47_0_BIO_meth_get_gets"]
7715    pub fn BIO_meth_get_gets(
7716        method: *const BIO_METHOD,
7717    ) -> ::std::option::Option<
7718        unsafe extern "C" fn(
7719            method: *mut BIO,
7720            arg1: *mut ::std::os::raw::c_char,
7721            arg2: ::std::os::raw::c_int,
7722        ) -> ::std::os::raw::c_int,
7723    >;
7724}
7725extern "C" {
7726    #[link_name = "aws_lc_0_47_0_BIO_meth_set_ctrl"]
7727    pub fn BIO_meth_set_ctrl(
7728        method: *mut BIO_METHOD,
7729        ctrl: ::std::option::Option<
7730            unsafe extern "C" fn(
7731                arg1: *mut BIO,
7732                arg2: ::std::os::raw::c_int,
7733                arg3: ::std::os::raw::c_long,
7734                arg4: *mut ::std::os::raw::c_void,
7735            ) -> ::std::os::raw::c_long,
7736        >,
7737    ) -> ::std::os::raw::c_int;
7738}
7739extern "C" {
7740    #[link_name = "aws_lc_0_47_0_BIO_meth_get_ctrl"]
7741    pub fn BIO_meth_get_ctrl(
7742        method: *const BIO_METHOD,
7743    ) -> ::std::option::Option<
7744        unsafe extern "C" fn(
7745            method: *mut BIO,
7746            arg1: ::std::os::raw::c_int,
7747            arg2: ::std::os::raw::c_long,
7748            arg3: *mut ::std::os::raw::c_void,
7749        ) -> ::std::os::raw::c_long,
7750    >;
7751}
7752extern "C" {
7753    #[link_name = "aws_lc_0_47_0_BIO_meth_set_callback_ctrl"]
7754    pub fn BIO_meth_set_callback_ctrl(
7755        method: *mut BIO_METHOD,
7756        callback_ctrl: ::std::option::Option<
7757            unsafe extern "C" fn(
7758                arg1: *mut BIO,
7759                arg2: ::std::os::raw::c_int,
7760                arg3: bio_info_cb,
7761            ) -> ::std::os::raw::c_long,
7762        >,
7763    ) -> ::std::os::raw::c_int;
7764}
7765extern "C" {
7766    #[link_name = "aws_lc_0_47_0_BIO_meth_get_callback_ctrl"]
7767    pub fn BIO_meth_get_callback_ctrl(
7768        method: *const BIO_METHOD,
7769    ) -> ::std::option::Option<
7770        unsafe extern "C" fn(
7771            method: *mut BIO,
7772            arg1: ::std::os::raw::c_int,
7773            arg2: bio_info_cb,
7774        ) -> ::std::os::raw::c_long,
7775    >;
7776}
7777extern "C" {
7778    #[link_name = "aws_lc_0_47_0_BIO_set_data"]
7779    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7780}
7781extern "C" {
7782    #[link_name = "aws_lc_0_47_0_BIO_get_data"]
7783    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7784}
7785extern "C" {
7786    #[link_name = "aws_lc_0_47_0_BIO_set_init"]
7787    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7788}
7789extern "C" {
7790    #[link_name = "aws_lc_0_47_0_BIO_get_init"]
7791    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7792}
7793extern "C" {
7794    #[link_name = "aws_lc_0_47_0_BIO_get_ex_new_index"]
7795    pub fn BIO_get_ex_new_index(
7796        argl: ::std::os::raw::c_long,
7797        argp: *mut ::std::os::raw::c_void,
7798        unused: *mut CRYPTO_EX_unused,
7799        dup_unused: CRYPTO_EX_dup,
7800        free_func: CRYPTO_EX_free,
7801    ) -> ::std::os::raw::c_int;
7802}
7803extern "C" {
7804    #[link_name = "aws_lc_0_47_0_BIO_set_ex_data"]
7805    pub fn BIO_set_ex_data(
7806        bio: *mut BIO,
7807        idx: ::std::os::raw::c_int,
7808        arg: *mut ::std::os::raw::c_void,
7809    ) -> ::std::os::raw::c_int;
7810}
7811extern "C" {
7812    #[link_name = "aws_lc_0_47_0_BIO_get_ex_data"]
7813    pub fn BIO_get_ex_data(
7814        bio: *const BIO,
7815        idx: ::std::os::raw::c_int,
7816    ) -> *mut ::std::os::raw::c_void;
7817}
7818extern "C" {
7819    #[link_name = "aws_lc_0_47_0_BIO_f_base64"]
7820    pub fn BIO_f_base64() -> *const BIO_METHOD;
7821}
7822extern "C" {
7823    #[link_name = "aws_lc_0_47_0_BIO_set_retry_special"]
7824    pub fn BIO_set_retry_special(bio: *mut BIO);
7825}
7826extern "C" {
7827    #[link_name = "aws_lc_0_47_0_BIO_set_shutdown"]
7828    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7829}
7830extern "C" {
7831    #[link_name = "aws_lc_0_47_0_BIO_get_shutdown"]
7832    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7833}
7834extern "C" {
7835    #[link_name = "aws_lc_0_47_0_BIO_meth_set_puts"]
7836    pub fn BIO_meth_set_puts(
7837        method: *mut BIO_METHOD,
7838        puts: ::std::option::Option<
7839            unsafe extern "C" fn(
7840                arg1: *mut BIO,
7841                arg2: *const ::std::os::raw::c_char,
7842            ) -> ::std::os::raw::c_int,
7843        >,
7844    ) -> ::std::os::raw::c_int;
7845}
7846extern "C" {
7847    #[link_name = "aws_lc_0_47_0_BIO_meth_get_puts"]
7848    pub fn BIO_meth_get_puts(
7849        method: *const BIO_METHOD,
7850    ) -> ::std::option::Option<
7851        unsafe extern "C" fn(
7852            method: *mut BIO,
7853            arg1: *const ::std::os::raw::c_char,
7854        ) -> ::std::os::raw::c_int,
7855    >;
7856}
7857extern "C" {
7858    #[link_name = "aws_lc_0_47_0_BIO_s_secmem"]
7859    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7860}
7861extern "C" {
7862    #[link_name = "aws_lc_0_47_0_BIO_set_write_buffer_size"]
7863    pub fn BIO_set_write_buffer_size(
7864        bio: *mut BIO,
7865        buffer_size: ::std::os::raw::c_int,
7866    ) -> ::std::os::raw::c_int;
7867}
7868#[repr(C)]
7869#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7870pub struct bio_method_st {
7871    pub type_: ::std::os::raw::c_int,
7872    pub name: *const ::std::os::raw::c_char,
7873    pub bwrite: ::std::option::Option<
7874        unsafe extern "C" fn(
7875            arg1: *mut BIO,
7876            arg2: *const ::std::os::raw::c_char,
7877            arg3: ::std::os::raw::c_int,
7878        ) -> ::std::os::raw::c_int,
7879    >,
7880    pub bread: ::std::option::Option<
7881        unsafe extern "C" fn(
7882            arg1: *mut BIO,
7883            arg2: *mut ::std::os::raw::c_char,
7884            arg3: ::std::os::raw::c_int,
7885        ) -> ::std::os::raw::c_int,
7886    >,
7887    pub bputs: ::std::option::Option<
7888        unsafe extern "C" fn(
7889            arg1: *mut BIO,
7890            arg2: *const ::std::os::raw::c_char,
7891        ) -> ::std::os::raw::c_int,
7892    >,
7893    pub bgets: ::std::option::Option<
7894        unsafe extern "C" fn(
7895            arg1: *mut BIO,
7896            arg2: *mut ::std::os::raw::c_char,
7897            arg3: ::std::os::raw::c_int,
7898        ) -> ::std::os::raw::c_int,
7899    >,
7900    pub ctrl: ::std::option::Option<
7901        unsafe extern "C" fn(
7902            arg1: *mut BIO,
7903            arg2: ::std::os::raw::c_int,
7904            arg3: ::std::os::raw::c_long,
7905            arg4: *mut ::std::os::raw::c_void,
7906        ) -> ::std::os::raw::c_long,
7907    >,
7908    pub create:
7909        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7910    pub destroy:
7911        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7912    pub callback_ctrl: ::std::option::Option<
7913        unsafe extern "C" fn(
7914            arg1: *mut BIO,
7915            arg2: ::std::os::raw::c_int,
7916            arg3: bio_info_cb,
7917        ) -> ::std::os::raw::c_long,
7918    >,
7919}
7920#[test]
7921fn bindgen_test_layout_bio_method_st() {
7922    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7923    let ptr = UNINIT.as_ptr();
7924    assert_eq!(
7925        ::std::mem::size_of::<bio_method_st>(),
7926        80usize,
7927        "Size of bio_method_st"
7928    );
7929    assert_eq!(
7930        ::std::mem::align_of::<bio_method_st>(),
7931        8usize,
7932        "Alignment of bio_method_st"
7933    );
7934    assert_eq!(
7935        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7936        0usize,
7937        "Offset of field: bio_method_st::type_"
7938    );
7939    assert_eq!(
7940        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7941        8usize,
7942        "Offset of field: bio_method_st::name"
7943    );
7944    assert_eq!(
7945        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7946        16usize,
7947        "Offset of field: bio_method_st::bwrite"
7948    );
7949    assert_eq!(
7950        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7951        24usize,
7952        "Offset of field: bio_method_st::bread"
7953    );
7954    assert_eq!(
7955        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7956        32usize,
7957        "Offset of field: bio_method_st::bputs"
7958    );
7959    assert_eq!(
7960        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7961        40usize,
7962        "Offset of field: bio_method_st::bgets"
7963    );
7964    assert_eq!(
7965        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7966        48usize,
7967        "Offset of field: bio_method_st::ctrl"
7968    );
7969    assert_eq!(
7970        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7971        56usize,
7972        "Offset of field: bio_method_st::create"
7973    );
7974    assert_eq!(
7975        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7976        64usize,
7977        "Offset of field: bio_method_st::destroy"
7978    );
7979    assert_eq!(
7980        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7981        72usize,
7982        "Offset of field: bio_method_st::callback_ctrl"
7983    );
7984}
7985impl Default for bio_method_st {
7986    fn default() -> Self {
7987        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7988        unsafe {
7989            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7990            s.assume_init()
7991        }
7992    }
7993}
7994#[repr(C)]
7995#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7996pub struct bio_st {
7997    pub method: *const BIO_METHOD,
7998    pub ex_data: CRYPTO_EX_DATA,
7999    pub callback_ex: BIO_callback_fn_ex,
8000    pub callback: BIO_callback_fn,
8001    pub cb_arg: *mut ::std::os::raw::c_char,
8002    pub init: ::std::os::raw::c_int,
8003    pub shutdown: ::std::os::raw::c_int,
8004    pub flags: ::std::os::raw::c_int,
8005    pub retry_reason: ::std::os::raw::c_int,
8006    pub num: ::std::os::raw::c_int,
8007    pub references: CRYPTO_refcount_t,
8008    pub ptr: *mut ::std::os::raw::c_void,
8009    pub next_bio: *mut BIO,
8010    pub num_read: u64,
8011    pub num_write: u64,
8012}
8013#[test]
8014fn bindgen_test_layout_bio_st() {
8015    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
8016    let ptr = UNINIT.as_ptr();
8017    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
8018    assert_eq!(
8019        ::std::mem::align_of::<bio_st>(),
8020        8usize,
8021        "Alignment of bio_st"
8022    );
8023    assert_eq!(
8024        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
8025        0usize,
8026        "Offset of field: bio_st::method"
8027    );
8028    assert_eq!(
8029        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
8030        8usize,
8031        "Offset of field: bio_st::ex_data"
8032    );
8033    assert_eq!(
8034        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
8035        16usize,
8036        "Offset of field: bio_st::callback_ex"
8037    );
8038    assert_eq!(
8039        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8040        24usize,
8041        "Offset of field: bio_st::callback"
8042    );
8043    assert_eq!(
8044        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
8045        32usize,
8046        "Offset of field: bio_st::cb_arg"
8047    );
8048    assert_eq!(
8049        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
8050        40usize,
8051        "Offset of field: bio_st::init"
8052    );
8053    assert_eq!(
8054        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
8055        44usize,
8056        "Offset of field: bio_st::shutdown"
8057    );
8058    assert_eq!(
8059        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8060        48usize,
8061        "Offset of field: bio_st::flags"
8062    );
8063    assert_eq!(
8064        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
8065        52usize,
8066        "Offset of field: bio_st::retry_reason"
8067    );
8068    assert_eq!(
8069        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8070        56usize,
8071        "Offset of field: bio_st::num"
8072    );
8073    assert_eq!(
8074        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
8075        60usize,
8076        "Offset of field: bio_st::references"
8077    );
8078    assert_eq!(
8079        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
8080        64usize,
8081        "Offset of field: bio_st::ptr"
8082    );
8083    assert_eq!(
8084        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
8085        72usize,
8086        "Offset of field: bio_st::next_bio"
8087    );
8088    assert_eq!(
8089        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
8090        80usize,
8091        "Offset of field: bio_st::num_read"
8092    );
8093    assert_eq!(
8094        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
8095        88usize,
8096        "Offset of field: bio_st::num_write"
8097    );
8098}
8099impl Default for bio_st {
8100    fn default() -> Self {
8101        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8102        unsafe {
8103            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8104            s.assume_init()
8105        }
8106    }
8107}
8108pub type BN_ULONG = u64;
8109extern "C" {
8110    #[link_name = "aws_lc_0_47_0_BN_new"]
8111    pub fn BN_new() -> *mut BIGNUM;
8112}
8113extern "C" {
8114    #[link_name = "aws_lc_0_47_0_BN_init"]
8115    pub fn BN_init(bn: *mut BIGNUM);
8116}
8117extern "C" {
8118    #[link_name = "aws_lc_0_47_0_BN_free"]
8119    pub fn BN_free(bn: *mut BIGNUM);
8120}
8121extern "C" {
8122    #[link_name = "aws_lc_0_47_0_BN_clear_free"]
8123    pub fn BN_clear_free(bn: *mut BIGNUM);
8124}
8125extern "C" {
8126    #[link_name = "aws_lc_0_47_0_BN_dup"]
8127    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
8128}
8129extern "C" {
8130    #[link_name = "aws_lc_0_47_0_BN_copy"]
8131    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
8132}
8133extern "C" {
8134    #[link_name = "aws_lc_0_47_0_BN_clear"]
8135    pub fn BN_clear(bn: *mut BIGNUM);
8136}
8137extern "C" {
8138    #[link_name = "aws_lc_0_47_0_BN_value_one"]
8139    pub fn BN_value_one() -> *const BIGNUM;
8140}
8141extern "C" {
8142    #[link_name = "aws_lc_0_47_0_BN_num_bits"]
8143    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8144}
8145extern "C" {
8146    #[link_name = "aws_lc_0_47_0_BN_num_bytes"]
8147    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8148}
8149extern "C" {
8150    #[link_name = "aws_lc_0_47_0_BN_get_minimal_width"]
8151    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8152}
8153extern "C" {
8154    #[link_name = "aws_lc_0_47_0_BN_zero"]
8155    pub fn BN_zero(bn: *mut BIGNUM);
8156}
8157extern "C" {
8158    #[link_name = "aws_lc_0_47_0_BN_one"]
8159    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
8160}
8161extern "C" {
8162    #[link_name = "aws_lc_0_47_0_BN_set_word"]
8163    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
8164}
8165extern "C" {
8166    #[link_name = "aws_lc_0_47_0_BN_set_u64"]
8167    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
8168}
8169extern "C" {
8170    #[link_name = "aws_lc_0_47_0_BN_set_negative"]
8171    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
8172}
8173extern "C" {
8174    #[link_name = "aws_lc_0_47_0_BN_is_negative"]
8175    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8176}
8177extern "C" {
8178    #[link_name = "aws_lc_0_47_0_BN_bin2bn"]
8179    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8180}
8181extern "C" {
8182    #[link_name = "aws_lc_0_47_0_BN_bn2bin"]
8183    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
8184}
8185extern "C" {
8186    #[link_name = "aws_lc_0_47_0_BN_le2bn"]
8187    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8188}
8189extern "C" {
8190    #[link_name = "aws_lc_0_47_0_BN_bn2le_padded"]
8191    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8192}
8193extern "C" {
8194    #[link_name = "aws_lc_0_47_0_BN_bn2bin_padded"]
8195    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8196}
8197extern "C" {
8198    #[link_name = "aws_lc_0_47_0_BN_bn2cbb_padded"]
8199    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
8200        -> ::std::os::raw::c_int;
8201}
8202extern "C" {
8203    #[link_name = "aws_lc_0_47_0_BN_bn2hex"]
8204    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8205}
8206extern "C" {
8207    #[link_name = "aws_lc_0_47_0_BN_hex2bn"]
8208    pub fn BN_hex2bn(
8209        outp: *mut *mut BIGNUM,
8210        in_: *const ::std::os::raw::c_char,
8211    ) -> ::std::os::raw::c_int;
8212}
8213extern "C" {
8214    #[link_name = "aws_lc_0_47_0_BN_bn2dec"]
8215    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8216}
8217extern "C" {
8218    #[link_name = "aws_lc_0_47_0_BN_dec2bn"]
8219    pub fn BN_dec2bn(
8220        outp: *mut *mut BIGNUM,
8221        in_: *const ::std::os::raw::c_char,
8222    ) -> ::std::os::raw::c_int;
8223}
8224extern "C" {
8225    #[link_name = "aws_lc_0_47_0_BN_asc2bn"]
8226    pub fn BN_asc2bn(
8227        outp: *mut *mut BIGNUM,
8228        in_: *const ::std::os::raw::c_char,
8229    ) -> ::std::os::raw::c_int;
8230}
8231extern "C" {
8232    #[link_name = "aws_lc_0_47_0_BN_print"]
8233    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
8234}
8235extern "C" {
8236    #[link_name = "aws_lc_0_47_0_BN_print_fp"]
8237    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
8238}
8239extern "C" {
8240    #[link_name = "aws_lc_0_47_0_BN_get_word"]
8241    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
8242}
8243extern "C" {
8244    #[link_name = "aws_lc_0_47_0_BN_get_u64"]
8245    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
8246}
8247extern "C" {
8248    #[link_name = "aws_lc_0_47_0_BN_get_flags"]
8249    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8250}
8251extern "C" {
8252    #[link_name = "aws_lc_0_47_0_BN_parse_asn1_unsigned"]
8253    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
8254}
8255extern "C" {
8256    #[link_name = "aws_lc_0_47_0_BN_marshal_asn1"]
8257    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
8258}
8259extern "C" {
8260    #[link_name = "aws_lc_0_47_0_BN_CTX_new"]
8261    pub fn BN_CTX_new() -> *mut BN_CTX;
8262}
8263extern "C" {
8264    #[link_name = "aws_lc_0_47_0_BN_CTX_free"]
8265    pub fn BN_CTX_free(ctx: *mut BN_CTX);
8266}
8267extern "C" {
8268    #[link_name = "aws_lc_0_47_0_BN_CTX_start"]
8269    pub fn BN_CTX_start(ctx: *mut BN_CTX);
8270}
8271extern "C" {
8272    #[link_name = "aws_lc_0_47_0_BN_CTX_get"]
8273    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
8274}
8275extern "C" {
8276    #[link_name = "aws_lc_0_47_0_BN_CTX_end"]
8277    pub fn BN_CTX_end(ctx: *mut BN_CTX);
8278}
8279extern "C" {
8280    #[link_name = "aws_lc_0_47_0_BN_add"]
8281    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8282}
8283extern "C" {
8284    #[link_name = "aws_lc_0_47_0_BN_uadd"]
8285    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8286}
8287extern "C" {
8288    #[link_name = "aws_lc_0_47_0_BN_add_word"]
8289    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8290}
8291extern "C" {
8292    #[link_name = "aws_lc_0_47_0_BN_sub"]
8293    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8294}
8295extern "C" {
8296    #[link_name = "aws_lc_0_47_0_BN_usub"]
8297    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8298}
8299extern "C" {
8300    #[link_name = "aws_lc_0_47_0_BN_sub_word"]
8301    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8302}
8303extern "C" {
8304    #[link_name = "aws_lc_0_47_0_BN_mul"]
8305    pub fn BN_mul(
8306        r: *mut BIGNUM,
8307        a: *const BIGNUM,
8308        b: *const BIGNUM,
8309        ctx: *mut BN_CTX,
8310    ) -> ::std::os::raw::c_int;
8311}
8312extern "C" {
8313    #[link_name = "aws_lc_0_47_0_BN_mul_word"]
8314    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8315}
8316extern "C" {
8317    #[link_name = "aws_lc_0_47_0_BN_sqr"]
8318    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
8319}
8320extern "C" {
8321    #[link_name = "aws_lc_0_47_0_BN_div"]
8322    pub fn BN_div(
8323        quotient: *mut BIGNUM,
8324        rem: *mut BIGNUM,
8325        numerator: *const BIGNUM,
8326        divisor: *const BIGNUM,
8327        ctx: *mut BN_CTX,
8328    ) -> ::std::os::raw::c_int;
8329}
8330extern "C" {
8331    #[link_name = "aws_lc_0_47_0_BN_div_word"]
8332    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
8333}
8334extern "C" {
8335    #[link_name = "aws_lc_0_47_0_BN_sqrt"]
8336    pub fn BN_sqrt(
8337        out_sqrt: *mut BIGNUM,
8338        in_: *const BIGNUM,
8339        ctx: *mut BN_CTX,
8340    ) -> ::std::os::raw::c_int;
8341}
8342extern "C" {
8343    #[link_name = "aws_lc_0_47_0_BN_cmp"]
8344    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8345}
8346extern "C" {
8347    #[link_name = "aws_lc_0_47_0_BN_cmp_word"]
8348    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
8349}
8350extern "C" {
8351    #[link_name = "aws_lc_0_47_0_BN_ucmp"]
8352    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8353}
8354extern "C" {
8355    #[link_name = "aws_lc_0_47_0_BN_equal_consttime"]
8356    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8357}
8358extern "C" {
8359    #[link_name = "aws_lc_0_47_0_BN_abs_is_word"]
8360    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8361}
8362extern "C" {
8363    #[link_name = "aws_lc_0_47_0_BN_is_zero"]
8364    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8365}
8366extern "C" {
8367    #[link_name = "aws_lc_0_47_0_BN_is_one"]
8368    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8369}
8370extern "C" {
8371    #[link_name = "aws_lc_0_47_0_BN_is_word"]
8372    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8373}
8374extern "C" {
8375    #[link_name = "aws_lc_0_47_0_BN_is_odd"]
8376    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8377}
8378extern "C" {
8379    #[link_name = "aws_lc_0_47_0_BN_is_pow2"]
8380    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
8381}
8382extern "C" {
8383    #[link_name = "aws_lc_0_47_0_BN_lshift"]
8384    pub fn BN_lshift(
8385        r: *mut BIGNUM,
8386        a: *const BIGNUM,
8387        n: ::std::os::raw::c_int,
8388    ) -> ::std::os::raw::c_int;
8389}
8390extern "C" {
8391    #[link_name = "aws_lc_0_47_0_BN_lshift1"]
8392    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8393}
8394extern "C" {
8395    #[link_name = "aws_lc_0_47_0_BN_rshift"]
8396    pub fn BN_rshift(
8397        r: *mut BIGNUM,
8398        a: *const BIGNUM,
8399        n: ::std::os::raw::c_int,
8400    ) -> ::std::os::raw::c_int;
8401}
8402extern "C" {
8403    #[link_name = "aws_lc_0_47_0_BN_rshift1"]
8404    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8405}
8406extern "C" {
8407    #[link_name = "aws_lc_0_47_0_BN_set_bit"]
8408    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8409}
8410extern "C" {
8411    #[link_name = "aws_lc_0_47_0_BN_clear_bit"]
8412    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8413}
8414extern "C" {
8415    #[link_name = "aws_lc_0_47_0_BN_is_bit_set"]
8416    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8417}
8418extern "C" {
8419    #[link_name = "aws_lc_0_47_0_BN_mask_bits"]
8420    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8421}
8422extern "C" {
8423    #[link_name = "aws_lc_0_47_0_BN_count_low_zero_bits"]
8424    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8425}
8426extern "C" {
8427    #[link_name = "aws_lc_0_47_0_BN_mod_word"]
8428    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
8429}
8430extern "C" {
8431    #[link_name = "aws_lc_0_47_0_BN_mod_pow2"]
8432    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8433}
8434extern "C" {
8435    #[link_name = "aws_lc_0_47_0_BN_nnmod_pow2"]
8436    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8437}
8438extern "C" {
8439    #[link_name = "aws_lc_0_47_0_BN_nnmod"]
8440    pub fn BN_nnmod(
8441        rem: *mut BIGNUM,
8442        numerator: *const BIGNUM,
8443        divisor: *const BIGNUM,
8444        ctx: *mut BN_CTX,
8445    ) -> ::std::os::raw::c_int;
8446}
8447extern "C" {
8448    #[link_name = "aws_lc_0_47_0_BN_mod_add"]
8449    pub fn BN_mod_add(
8450        r: *mut BIGNUM,
8451        a: *const BIGNUM,
8452        b: *const BIGNUM,
8453        m: *const BIGNUM,
8454        ctx: *mut BN_CTX,
8455    ) -> ::std::os::raw::c_int;
8456}
8457extern "C" {
8458    #[link_name = "aws_lc_0_47_0_BN_mod_add_quick"]
8459    pub fn BN_mod_add_quick(
8460        r: *mut BIGNUM,
8461        a: *const BIGNUM,
8462        b: *const BIGNUM,
8463        m: *const BIGNUM,
8464    ) -> ::std::os::raw::c_int;
8465}
8466extern "C" {
8467    #[link_name = "aws_lc_0_47_0_BN_mod_sub"]
8468    pub fn BN_mod_sub(
8469        r: *mut BIGNUM,
8470        a: *const BIGNUM,
8471        b: *const BIGNUM,
8472        m: *const BIGNUM,
8473        ctx: *mut BN_CTX,
8474    ) -> ::std::os::raw::c_int;
8475}
8476extern "C" {
8477    #[link_name = "aws_lc_0_47_0_BN_mod_sub_quick"]
8478    pub fn BN_mod_sub_quick(
8479        r: *mut BIGNUM,
8480        a: *const BIGNUM,
8481        b: *const BIGNUM,
8482        m: *const BIGNUM,
8483    ) -> ::std::os::raw::c_int;
8484}
8485extern "C" {
8486    #[link_name = "aws_lc_0_47_0_BN_mod_mul"]
8487    pub fn BN_mod_mul(
8488        r: *mut BIGNUM,
8489        a: *const BIGNUM,
8490        b: *const BIGNUM,
8491        m: *const BIGNUM,
8492        ctx: *mut BN_CTX,
8493    ) -> ::std::os::raw::c_int;
8494}
8495extern "C" {
8496    #[link_name = "aws_lc_0_47_0_BN_mod_sqr"]
8497    pub fn BN_mod_sqr(
8498        r: *mut BIGNUM,
8499        a: *const BIGNUM,
8500        m: *const BIGNUM,
8501        ctx: *mut BN_CTX,
8502    ) -> ::std::os::raw::c_int;
8503}
8504extern "C" {
8505    #[link_name = "aws_lc_0_47_0_BN_mod_lshift"]
8506    pub fn BN_mod_lshift(
8507        r: *mut BIGNUM,
8508        a: *const BIGNUM,
8509        n: ::std::os::raw::c_int,
8510        m: *const BIGNUM,
8511        ctx: *mut BN_CTX,
8512    ) -> ::std::os::raw::c_int;
8513}
8514extern "C" {
8515    #[link_name = "aws_lc_0_47_0_BN_mod_lshift_quick"]
8516    pub fn BN_mod_lshift_quick(
8517        r: *mut BIGNUM,
8518        a: *const BIGNUM,
8519        n: ::std::os::raw::c_int,
8520        m: *const BIGNUM,
8521    ) -> ::std::os::raw::c_int;
8522}
8523extern "C" {
8524    #[link_name = "aws_lc_0_47_0_BN_mod_lshift1"]
8525    pub fn BN_mod_lshift1(
8526        r: *mut BIGNUM,
8527        a: *const BIGNUM,
8528        m: *const BIGNUM,
8529        ctx: *mut BN_CTX,
8530    ) -> ::std::os::raw::c_int;
8531}
8532extern "C" {
8533    #[link_name = "aws_lc_0_47_0_BN_mod_lshift1_quick"]
8534    pub fn BN_mod_lshift1_quick(
8535        r: *mut BIGNUM,
8536        a: *const BIGNUM,
8537        m: *const BIGNUM,
8538    ) -> ::std::os::raw::c_int;
8539}
8540extern "C" {
8541    #[link_name = "aws_lc_0_47_0_BN_mod_sqrt"]
8542    pub fn BN_mod_sqrt(
8543        in_: *mut BIGNUM,
8544        a: *const BIGNUM,
8545        p: *const BIGNUM,
8546        ctx: *mut BN_CTX,
8547    ) -> *mut BIGNUM;
8548}
8549extern "C" {
8550    #[link_name = "aws_lc_0_47_0_BN_rand"]
8551    pub fn BN_rand(
8552        rnd: *mut BIGNUM,
8553        bits: ::std::os::raw::c_int,
8554        top: ::std::os::raw::c_int,
8555        bottom: ::std::os::raw::c_int,
8556    ) -> ::std::os::raw::c_int;
8557}
8558extern "C" {
8559    #[link_name = "aws_lc_0_47_0_BN_pseudo_rand"]
8560    pub fn BN_pseudo_rand(
8561        rnd: *mut BIGNUM,
8562        bits: ::std::os::raw::c_int,
8563        top: ::std::os::raw::c_int,
8564        bottom: ::std::os::raw::c_int,
8565    ) -> ::std::os::raw::c_int;
8566}
8567extern "C" {
8568    #[link_name = "aws_lc_0_47_0_BN_rand_range"]
8569    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8570}
8571extern "C" {
8572    #[link_name = "aws_lc_0_47_0_BN_rand_range_ex"]
8573    pub fn BN_rand_range_ex(
8574        r: *mut BIGNUM,
8575        min_inclusive: BN_ULONG,
8576        max_exclusive: *const BIGNUM,
8577    ) -> ::std::os::raw::c_int;
8578}
8579extern "C" {
8580    #[link_name = "aws_lc_0_47_0_BN_pseudo_rand_range"]
8581    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8582}
8583#[repr(C)]
8584#[derive(Copy, Clone)]
8585pub struct bn_gencb_st {
8586    pub type_: u8,
8587    pub arg: *mut ::std::os::raw::c_void,
8588    pub callback: bn_gencb_st__bindgen_ty_1,
8589}
8590#[repr(C)]
8591#[derive(Copy, Clone)]
8592pub union bn_gencb_st__bindgen_ty_1 {
8593    pub new_style: ::std::option::Option<
8594        unsafe extern "C" fn(
8595            event: ::std::os::raw::c_int,
8596            n: ::std::os::raw::c_int,
8597            arg1: *mut bn_gencb_st,
8598        ) -> ::std::os::raw::c_int,
8599    >,
8600    pub old_style: ::std::option::Option<
8601        unsafe extern "C" fn(
8602            arg1: ::std::os::raw::c_int,
8603            arg2: ::std::os::raw::c_int,
8604            arg3: *mut ::std::os::raw::c_void,
8605        ),
8606    >,
8607}
8608#[test]
8609fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8610    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8611        ::std::mem::MaybeUninit::uninit();
8612    let ptr = UNINIT.as_ptr();
8613    assert_eq!(
8614        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8615        8usize,
8616        "Size of bn_gencb_st__bindgen_ty_1"
8617    );
8618    assert_eq!(
8619        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8620        8usize,
8621        "Alignment of bn_gencb_st__bindgen_ty_1"
8622    );
8623    assert_eq!(
8624        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8625        0usize,
8626        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
8627    );
8628    assert_eq!(
8629        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8630        0usize,
8631        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
8632    );
8633}
8634impl Default for bn_gencb_st__bindgen_ty_1 {
8635    fn default() -> Self {
8636        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8637        unsafe {
8638            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8639            s.assume_init()
8640        }
8641    }
8642}
8643#[test]
8644fn bindgen_test_layout_bn_gencb_st() {
8645    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8646    let ptr = UNINIT.as_ptr();
8647    assert_eq!(
8648        ::std::mem::size_of::<bn_gencb_st>(),
8649        24usize,
8650        "Size of bn_gencb_st"
8651    );
8652    assert_eq!(
8653        ::std::mem::align_of::<bn_gencb_st>(),
8654        8usize,
8655        "Alignment of bn_gencb_st"
8656    );
8657    assert_eq!(
8658        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8659        0usize,
8660        "Offset of field: bn_gencb_st::type_"
8661    );
8662    assert_eq!(
8663        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8664        8usize,
8665        "Offset of field: bn_gencb_st::arg"
8666    );
8667    assert_eq!(
8668        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8669        16usize,
8670        "Offset of field: bn_gencb_st::callback"
8671    );
8672}
8673impl Default for bn_gencb_st {
8674    fn default() -> Self {
8675        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8676        unsafe {
8677            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8678            s.assume_init()
8679        }
8680    }
8681}
8682extern "C" {
8683    #[link_name = "aws_lc_0_47_0_BN_GENCB_new"]
8684    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8685}
8686extern "C" {
8687    #[link_name = "aws_lc_0_47_0_BN_GENCB_free"]
8688    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8689}
8690extern "C" {
8691    #[link_name = "aws_lc_0_47_0_BN_GENCB_set"]
8692    pub fn BN_GENCB_set(
8693        callback: *mut BN_GENCB,
8694        f: ::std::option::Option<
8695            unsafe extern "C" fn(
8696                event: ::std::os::raw::c_int,
8697                n: ::std::os::raw::c_int,
8698                arg1: *mut BN_GENCB,
8699            ) -> ::std::os::raw::c_int,
8700        >,
8701        arg: *mut ::std::os::raw::c_void,
8702    );
8703}
8704extern "C" {
8705    #[link_name = "aws_lc_0_47_0_BN_GENCB_call"]
8706    pub fn BN_GENCB_call(
8707        callback: *mut BN_GENCB,
8708        event: ::std::os::raw::c_int,
8709        n: ::std::os::raw::c_int,
8710    ) -> ::std::os::raw::c_int;
8711}
8712extern "C" {
8713    #[link_name = "aws_lc_0_47_0_BN_GENCB_get_arg"]
8714    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8715}
8716extern "C" {
8717    #[link_name = "aws_lc_0_47_0_BN_generate_prime_ex"]
8718    pub fn BN_generate_prime_ex(
8719        ret: *mut BIGNUM,
8720        bits: ::std::os::raw::c_int,
8721        safe: ::std::os::raw::c_int,
8722        add: *const BIGNUM,
8723        rem: *const BIGNUM,
8724        cb: *mut BN_GENCB,
8725    ) -> ::std::os::raw::c_int;
8726}
8727pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8728pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8729pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8730pub type bn_primality_result_t = ::std::os::raw::c_uint;
8731extern "C" {
8732    #[link_name = "aws_lc_0_47_0_BN_enhanced_miller_rabin_primality_test"]
8733    pub fn BN_enhanced_miller_rabin_primality_test(
8734        out_result: *mut bn_primality_result_t,
8735        w: *const BIGNUM,
8736        checks: ::std::os::raw::c_int,
8737        ctx: *mut BN_CTX,
8738        cb: *mut BN_GENCB,
8739    ) -> ::std::os::raw::c_int;
8740}
8741extern "C" {
8742    #[link_name = "aws_lc_0_47_0_BN_primality_test"]
8743    pub fn BN_primality_test(
8744        is_probably_prime: *mut ::std::os::raw::c_int,
8745        candidate: *const BIGNUM,
8746        checks: ::std::os::raw::c_int,
8747        ctx: *mut BN_CTX,
8748        do_trial_division: ::std::os::raw::c_int,
8749        cb: *mut BN_GENCB,
8750    ) -> ::std::os::raw::c_int;
8751}
8752extern "C" {
8753    #[link_name = "aws_lc_0_47_0_BN_is_prime_fasttest_ex"]
8754    pub fn BN_is_prime_fasttest_ex(
8755        candidate: *const BIGNUM,
8756        checks: ::std::os::raw::c_int,
8757        ctx: *mut BN_CTX,
8758        do_trial_division: ::std::os::raw::c_int,
8759        cb: *mut BN_GENCB,
8760    ) -> ::std::os::raw::c_int;
8761}
8762extern "C" {
8763    #[link_name = "aws_lc_0_47_0_BN_is_prime_ex"]
8764    pub fn BN_is_prime_ex(
8765        candidate: *const BIGNUM,
8766        checks: ::std::os::raw::c_int,
8767        ctx: *mut BN_CTX,
8768        cb: *mut BN_GENCB,
8769    ) -> ::std::os::raw::c_int;
8770}
8771extern "C" {
8772    #[link_name = "aws_lc_0_47_0_BN_gcd"]
8773    pub fn BN_gcd(
8774        r: *mut BIGNUM,
8775        a: *const BIGNUM,
8776        b: *const BIGNUM,
8777        ctx: *mut BN_CTX,
8778    ) -> ::std::os::raw::c_int;
8779}
8780extern "C" {
8781    #[link_name = "aws_lc_0_47_0_BN_mod_inverse"]
8782    pub fn BN_mod_inverse(
8783        out: *mut BIGNUM,
8784        a: *const BIGNUM,
8785        n: *const BIGNUM,
8786        ctx: *mut BN_CTX,
8787    ) -> *mut BIGNUM;
8788}
8789extern "C" {
8790    #[link_name = "aws_lc_0_47_0_BN_mod_inverse_blinded"]
8791    pub fn BN_mod_inverse_blinded(
8792        out: *mut BIGNUM,
8793        out_no_inverse: *mut ::std::os::raw::c_int,
8794        a: *const BIGNUM,
8795        mont: *const BN_MONT_CTX,
8796        ctx: *mut BN_CTX,
8797    ) -> ::std::os::raw::c_int;
8798}
8799extern "C" {
8800    #[link_name = "aws_lc_0_47_0_BN_mod_inverse_odd"]
8801    pub fn BN_mod_inverse_odd(
8802        out: *mut BIGNUM,
8803        out_no_inverse: *mut ::std::os::raw::c_int,
8804        a: *const BIGNUM,
8805        n: *const BIGNUM,
8806        ctx: *mut BN_CTX,
8807    ) -> ::std::os::raw::c_int;
8808}
8809extern "C" {
8810    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new_for_modulus"]
8811    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8812}
8813extern "C" {
8814    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new_consttime"]
8815    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8816}
8817extern "C" {
8818    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_free"]
8819    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8820}
8821extern "C" {
8822    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_copy"]
8823    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8824}
8825extern "C" {
8826    #[link_name = "aws_lc_0_47_0_BN_to_montgomery"]
8827    pub fn BN_to_montgomery(
8828        ret: *mut BIGNUM,
8829        a: *const BIGNUM,
8830        mont: *const BN_MONT_CTX,
8831        ctx: *mut BN_CTX,
8832    ) -> ::std::os::raw::c_int;
8833}
8834extern "C" {
8835    #[link_name = "aws_lc_0_47_0_BN_from_montgomery"]
8836    pub fn BN_from_montgomery(
8837        ret: *mut BIGNUM,
8838        a: *const BIGNUM,
8839        mont: *const BN_MONT_CTX,
8840        ctx: *mut BN_CTX,
8841    ) -> ::std::os::raw::c_int;
8842}
8843extern "C" {
8844    #[link_name = "aws_lc_0_47_0_BN_mod_mul_montgomery"]
8845    pub fn BN_mod_mul_montgomery(
8846        r: *mut BIGNUM,
8847        a: *const BIGNUM,
8848        b: *const BIGNUM,
8849        mont: *const BN_MONT_CTX,
8850        ctx: *mut BN_CTX,
8851    ) -> ::std::os::raw::c_int;
8852}
8853extern "C" {
8854    #[link_name = "aws_lc_0_47_0_BN_exp"]
8855    pub fn BN_exp(
8856        r: *mut BIGNUM,
8857        a: *const BIGNUM,
8858        p: *const BIGNUM,
8859        ctx: *mut BN_CTX,
8860    ) -> ::std::os::raw::c_int;
8861}
8862extern "C" {
8863    #[link_name = "aws_lc_0_47_0_BN_mod_exp"]
8864    pub fn BN_mod_exp(
8865        r: *mut BIGNUM,
8866        a: *const BIGNUM,
8867        p: *const BIGNUM,
8868        m: *const BIGNUM,
8869        ctx: *mut BN_CTX,
8870    ) -> ::std::os::raw::c_int;
8871}
8872extern "C" {
8873    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont"]
8874    pub fn BN_mod_exp_mont(
8875        r: *mut BIGNUM,
8876        a: *const BIGNUM,
8877        p: *const BIGNUM,
8878        m: *const BIGNUM,
8879        ctx: *mut BN_CTX,
8880        mont: *const BN_MONT_CTX,
8881    ) -> ::std::os::raw::c_int;
8882}
8883extern "C" {
8884    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_consttime"]
8885    pub fn BN_mod_exp_mont_consttime(
8886        rr: *mut BIGNUM,
8887        a: *const BIGNUM,
8888        p: *const BIGNUM,
8889        m: *const BIGNUM,
8890        ctx: *mut BN_CTX,
8891        mont: *const BN_MONT_CTX,
8892    ) -> ::std::os::raw::c_int;
8893}
8894extern "C" {
8895    #[link_name = "aws_lc_0_47_0_BN_GENCB_set_old"]
8896    pub fn BN_GENCB_set_old(
8897        callback: *mut BN_GENCB,
8898        f: ::std::option::Option<
8899            unsafe extern "C" fn(
8900                arg1: ::std::os::raw::c_int,
8901                arg2: ::std::os::raw::c_int,
8902                arg3: *mut ::std::os::raw::c_void,
8903            ),
8904        >,
8905        cb_arg: *mut ::std::os::raw::c_void,
8906    );
8907}
8908extern "C" {
8909    #[link_name = "aws_lc_0_47_0_BN_bn2mpi"]
8910    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8911}
8912extern "C" {
8913    #[link_name = "aws_lc_0_47_0_BN_mpi2bn"]
8914    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8915}
8916extern "C" {
8917    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_word"]
8918    pub fn BN_mod_exp_mont_word(
8919        r: *mut BIGNUM,
8920        a: BN_ULONG,
8921        p: *const BIGNUM,
8922        m: *const BIGNUM,
8923        ctx: *mut BN_CTX,
8924        mont: *const BN_MONT_CTX,
8925    ) -> ::std::os::raw::c_int;
8926}
8927extern "C" {
8928    #[link_name = "aws_lc_0_47_0_BN_mod_exp2_mont"]
8929    pub fn BN_mod_exp2_mont(
8930        r: *mut BIGNUM,
8931        a1: *const BIGNUM,
8932        p1: *const BIGNUM,
8933        a2: *const BIGNUM,
8934        p2: *const BIGNUM,
8935        m: *const BIGNUM,
8936        ctx: *mut BN_CTX,
8937        mont: *const BN_MONT_CTX,
8938    ) -> ::std::os::raw::c_int;
8939}
8940extern "C" {
8941    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new"]
8942    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8943}
8944extern "C" {
8945    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_set"]
8946    pub fn BN_MONT_CTX_set(
8947        mont: *mut BN_MONT_CTX,
8948        mod_: *const BIGNUM,
8949        ctx: *mut BN_CTX,
8950    ) -> ::std::os::raw::c_int;
8951}
8952extern "C" {
8953    #[link_name = "aws_lc_0_47_0_BN_bn2binpad"]
8954    pub fn BN_bn2binpad(
8955        in_: *const BIGNUM,
8956        out: *mut u8,
8957        len: ::std::os::raw::c_int,
8958    ) -> ::std::os::raw::c_int;
8959}
8960extern "C" {
8961    #[link_name = "aws_lc_0_47_0_BN_secure_new"]
8962    pub fn BN_secure_new() -> *mut BIGNUM;
8963}
8964extern "C" {
8965    #[link_name = "aws_lc_0_47_0_BN_CTX_secure_new"]
8966    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8967}
8968extern "C" {
8969    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_consttime_x2"]
8970    pub fn BN_mod_exp_mont_consttime_x2(
8971        rr1: *mut BIGNUM,
8972        a1: *const BIGNUM,
8973        p1: *const BIGNUM,
8974        m1: *const BIGNUM,
8975        in_mont1: *const BN_MONT_CTX,
8976        rr2: *mut BIGNUM,
8977        a2: *const BIGNUM,
8978        p2: *const BIGNUM,
8979        m2: *const BIGNUM,
8980        in_mont2: *const BN_MONT_CTX,
8981        ctx: *mut BN_CTX,
8982    ) -> ::std::os::raw::c_int;
8983}
8984extern "C" {
8985    #[link_name = "aws_lc_0_47_0_BN_set_flags"]
8986    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8987}
8988#[repr(C)]
8989#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8990pub struct bignum_st {
8991    pub d: *mut BN_ULONG,
8992    pub width: ::std::os::raw::c_int,
8993    pub dmax: ::std::os::raw::c_int,
8994    pub neg: ::std::os::raw::c_int,
8995    pub flags: ::std::os::raw::c_int,
8996}
8997#[test]
8998fn bindgen_test_layout_bignum_st() {
8999    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
9000    let ptr = UNINIT.as_ptr();
9001    assert_eq!(
9002        ::std::mem::size_of::<bignum_st>(),
9003        24usize,
9004        "Size of bignum_st"
9005    );
9006    assert_eq!(
9007        ::std::mem::align_of::<bignum_st>(),
9008        8usize,
9009        "Alignment of bignum_st"
9010    );
9011    assert_eq!(
9012        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
9013        0usize,
9014        "Offset of field: bignum_st::d"
9015    );
9016    assert_eq!(
9017        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
9018        8usize,
9019        "Offset of field: bignum_st::width"
9020    );
9021    assert_eq!(
9022        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
9023        12usize,
9024        "Offset of field: bignum_st::dmax"
9025    );
9026    assert_eq!(
9027        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
9028        16usize,
9029        "Offset of field: bignum_st::neg"
9030    );
9031    assert_eq!(
9032        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9033        20usize,
9034        "Offset of field: bignum_st::flags"
9035    );
9036}
9037impl Default for bignum_st {
9038    fn default() -> Self {
9039        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9040        unsafe {
9041            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9042            s.assume_init()
9043        }
9044    }
9045}
9046#[repr(C)]
9047#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9048pub struct bn_mont_ctx_st {
9049    pub RR: BIGNUM,
9050    pub N: BIGNUM,
9051    pub n0: [BN_ULONG; 2usize],
9052}
9053#[test]
9054fn bindgen_test_layout_bn_mont_ctx_st() {
9055    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
9056    let ptr = UNINIT.as_ptr();
9057    assert_eq!(
9058        ::std::mem::size_of::<bn_mont_ctx_st>(),
9059        64usize,
9060        "Size of bn_mont_ctx_st"
9061    );
9062    assert_eq!(
9063        ::std::mem::align_of::<bn_mont_ctx_st>(),
9064        8usize,
9065        "Alignment of bn_mont_ctx_st"
9066    );
9067    assert_eq!(
9068        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
9069        0usize,
9070        "Offset of field: bn_mont_ctx_st::RR"
9071    );
9072    assert_eq!(
9073        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
9074        24usize,
9075        "Offset of field: bn_mont_ctx_st::N"
9076    );
9077    assert_eq!(
9078        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
9079        48usize,
9080        "Offset of field: bn_mont_ctx_st::n0"
9081    );
9082}
9083impl Default for bn_mont_ctx_st {
9084    fn default() -> Self {
9085        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9086        unsafe {
9087            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9088            s.assume_init()
9089        }
9090    }
9091}
9092extern "C" {
9093    #[link_name = "aws_lc_0_47_0_BN_num_bits_word"]
9094    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
9095}
9096extern "C" {
9097    #[link_name = "aws_lc_0_47_0_ASN1_tag2bit"]
9098    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
9099}
9100extern "C" {
9101    #[link_name = "aws_lc_0_47_0_ASN1_tag2str"]
9102    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9103}
9104pub type d2i_of_void = ::std::option::Option<
9105    unsafe extern "C" fn(
9106        arg1: *mut *mut ::std::os::raw::c_void,
9107        arg2: *mut *const ::std::os::raw::c_uchar,
9108        arg3: ::std::os::raw::c_long,
9109    ) -> *mut ::std::os::raw::c_void,
9110>;
9111pub type i2d_of_void = ::std::option::Option<
9112    unsafe extern "C" fn(
9113        arg1: *const ::std::os::raw::c_void,
9114        arg2: *mut *mut ::std::os::raw::c_uchar,
9115    ) -> ::std::os::raw::c_int,
9116>;
9117pub type ASN1_ITEM_EXP = ASN1_ITEM;
9118#[repr(C)]
9119#[derive(Debug)]
9120pub struct ASN1_VALUE_st {
9121    _unused: [u8; 0],
9122}
9123pub type ASN1_VALUE = ASN1_VALUE_st;
9124extern "C" {
9125    #[link_name = "aws_lc_0_47_0_ASN1_parse"]
9126    pub fn ASN1_parse(
9127        bp: *mut BIO,
9128        pp: *const ::std::os::raw::c_uchar,
9129        len: ::std::os::raw::c_long,
9130        indent: ::std::os::raw::c_int,
9131    ) -> ::std::os::raw::c_int;
9132}
9133extern "C" {
9134    #[link_name = "aws_lc_0_47_0_ASN1_item_new"]
9135    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
9136}
9137extern "C" {
9138    #[link_name = "aws_lc_0_47_0_ASN1_item_free"]
9139    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
9140}
9141extern "C" {
9142    #[link_name = "aws_lc_0_47_0_ASN1_item_d2i"]
9143    pub fn ASN1_item_d2i(
9144        out: *mut *mut ASN1_VALUE,
9145        inp: *mut *const ::std::os::raw::c_uchar,
9146        len: ::std::os::raw::c_long,
9147        it: *const ASN1_ITEM,
9148    ) -> *mut ASN1_VALUE;
9149}
9150extern "C" {
9151    #[link_name = "aws_lc_0_47_0_ASN1_item_i2d"]
9152    pub fn ASN1_item_i2d(
9153        val: *mut ASN1_VALUE,
9154        outp: *mut *mut ::std::os::raw::c_uchar,
9155        it: *const ASN1_ITEM,
9156    ) -> ::std::os::raw::c_int;
9157}
9158extern "C" {
9159    #[link_name = "aws_lc_0_47_0_ASN1_dup"]
9160    pub fn ASN1_dup(
9161        i2d: i2d_of_void,
9162        d2i: d2i_of_void,
9163        x: *mut ::std::os::raw::c_void,
9164    ) -> *mut ::std::os::raw::c_void;
9165}
9166extern "C" {
9167    #[link_name = "aws_lc_0_47_0_ASN1_item_dup"]
9168    pub fn ASN1_item_dup(
9169        it: *const ASN1_ITEM,
9170        x: *mut ::std::os::raw::c_void,
9171    ) -> *mut ::std::os::raw::c_void;
9172}
9173extern "C" {
9174    #[link_name = "aws_lc_0_47_0_ASN1_item_d2i_fp"]
9175    pub fn ASN1_item_d2i_fp(
9176        it: *const ASN1_ITEM,
9177        in_: *mut FILE,
9178        out: *mut ::std::os::raw::c_void,
9179    ) -> *mut ::std::os::raw::c_void;
9180}
9181extern "C" {
9182    #[link_name = "aws_lc_0_47_0_ASN1_item_d2i_bio"]
9183    pub fn ASN1_item_d2i_bio(
9184        it: *const ASN1_ITEM,
9185        in_: *mut BIO,
9186        out: *mut ::std::os::raw::c_void,
9187    ) -> *mut ::std::os::raw::c_void;
9188}
9189extern "C" {
9190    #[link_name = "aws_lc_0_47_0_ASN1_item_i2d_fp"]
9191    pub fn ASN1_item_i2d_fp(
9192        it: *const ASN1_ITEM,
9193        out: *mut FILE,
9194        in_: *mut ::std::os::raw::c_void,
9195    ) -> ::std::os::raw::c_int;
9196}
9197extern "C" {
9198    #[link_name = "aws_lc_0_47_0_ASN1_item_i2d_bio"]
9199    pub fn ASN1_item_i2d_bio(
9200        it: *const ASN1_ITEM,
9201        out: *mut BIO,
9202        in_: *mut ::std::os::raw::c_void,
9203    ) -> ::std::os::raw::c_int;
9204}
9205extern "C" {
9206    #[link_name = "aws_lc_0_47_0_ASN1_i2d_bio"]
9207    pub fn ASN1_i2d_bio(
9208        i2d: i2d_of_void,
9209        out: *mut BIO,
9210        in_: *mut ::std::os::raw::c_void,
9211    ) -> ::std::os::raw::c_int;
9212}
9213extern "C" {
9214    #[link_name = "aws_lc_0_47_0_ASN1_item_unpack"]
9215    pub fn ASN1_item_unpack(
9216        oct: *const ASN1_STRING,
9217        it: *const ASN1_ITEM,
9218    ) -> *mut ::std::os::raw::c_void;
9219}
9220extern "C" {
9221    #[link_name = "aws_lc_0_47_0_ASN1_item_pack"]
9222    pub fn ASN1_item_pack(
9223        obj: *mut ::std::os::raw::c_void,
9224        it: *const ASN1_ITEM,
9225        out: *mut *mut ASN1_STRING,
9226    ) -> *mut ASN1_STRING;
9227}
9228extern "C" {
9229    #[link_name = "aws_lc_0_47_0_d2i_ASN1_BOOLEAN"]
9230    pub fn d2i_ASN1_BOOLEAN(
9231        out: *mut ASN1_BOOLEAN,
9232        inp: *mut *const ::std::os::raw::c_uchar,
9233        len: ::std::os::raw::c_long,
9234    ) -> ASN1_BOOLEAN;
9235}
9236extern "C" {
9237    #[link_name = "aws_lc_0_47_0_i2d_ASN1_BOOLEAN"]
9238    pub fn i2d_ASN1_BOOLEAN(
9239        a: ASN1_BOOLEAN,
9240        outp: *mut *mut ::std::os::raw::c_uchar,
9241    ) -> ::std::os::raw::c_int;
9242}
9243extern "C" {
9244    #[link_name = "aws_lc_0_47_0_ASN1_BOOLEAN_it"]
9245    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
9246}
9247extern "C" {
9248    #[link_name = "aws_lc_0_47_0_ASN1_TBOOLEAN_it"]
9249    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
9250}
9251extern "C" {
9252    #[link_name = "aws_lc_0_47_0_ASN1_FBOOLEAN_it"]
9253    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
9254}
9255#[repr(C)]
9256#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9257pub struct asn1_string_st {
9258    pub length: ::std::os::raw::c_int,
9259    pub type_: ::std::os::raw::c_int,
9260    pub data: *mut ::std::os::raw::c_uchar,
9261    pub flags: ::std::os::raw::c_long,
9262}
9263#[test]
9264fn bindgen_test_layout_asn1_string_st() {
9265    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
9266    let ptr = UNINIT.as_ptr();
9267    assert_eq!(
9268        ::std::mem::size_of::<asn1_string_st>(),
9269        24usize,
9270        "Size of asn1_string_st"
9271    );
9272    assert_eq!(
9273        ::std::mem::align_of::<asn1_string_st>(),
9274        8usize,
9275        "Alignment of asn1_string_st"
9276    );
9277    assert_eq!(
9278        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
9279        0usize,
9280        "Offset of field: asn1_string_st::length"
9281    );
9282    assert_eq!(
9283        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9284        4usize,
9285        "Offset of field: asn1_string_st::type_"
9286    );
9287    assert_eq!(
9288        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
9289        8usize,
9290        "Offset of field: asn1_string_st::data"
9291    );
9292    assert_eq!(
9293        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9294        16usize,
9295        "Offset of field: asn1_string_st::flags"
9296    );
9297}
9298impl Default for asn1_string_st {
9299    fn default() -> Self {
9300        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9301        unsafe {
9302            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9303            s.assume_init()
9304        }
9305    }
9306}
9307extern "C" {
9308    #[link_name = "aws_lc_0_47_0_ASN1_STRING_type_new"]
9309    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
9310}
9311extern "C" {
9312    #[link_name = "aws_lc_0_47_0_ASN1_STRING_new"]
9313    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
9314}
9315extern "C" {
9316    #[link_name = "aws_lc_0_47_0_ASN1_STRING_free"]
9317    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
9318}
9319extern "C" {
9320    #[link_name = "aws_lc_0_47_0_ASN1_STRING_clear_free"]
9321    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
9322}
9323extern "C" {
9324    #[link_name = "aws_lc_0_47_0_ASN1_STRING_copy"]
9325    pub fn ASN1_STRING_copy(
9326        dst: *mut ASN1_STRING,
9327        str_: *const ASN1_STRING,
9328    ) -> ::std::os::raw::c_int;
9329}
9330extern "C" {
9331    #[link_name = "aws_lc_0_47_0_ASN1_STRING_dup"]
9332    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
9333}
9334extern "C" {
9335    #[link_name = "aws_lc_0_47_0_ASN1_STRING_type"]
9336    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9337}
9338extern "C" {
9339    #[link_name = "aws_lc_0_47_0_ASN1_STRING_get0_data"]
9340    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
9341}
9342extern "C" {
9343    #[link_name = "aws_lc_0_47_0_ASN1_STRING_data"]
9344    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
9345}
9346extern "C" {
9347    #[link_name = "aws_lc_0_47_0_ASN1_STRING_length"]
9348    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9349}
9350extern "C" {
9351    #[link_name = "aws_lc_0_47_0_ASN1_STRING_cmp"]
9352    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
9353}
9354extern "C" {
9355    #[link_name = "aws_lc_0_47_0_ASN1_STRING_set"]
9356    pub fn ASN1_STRING_set(
9357        str_: *mut ASN1_STRING,
9358        data: *const ::std::os::raw::c_void,
9359        len: ossl_ssize_t,
9360    ) -> ::std::os::raw::c_int;
9361}
9362extern "C" {
9363    #[link_name = "aws_lc_0_47_0_ASN1_STRING_set0"]
9364    pub fn ASN1_STRING_set0(
9365        str_: *mut ASN1_STRING,
9366        data: *mut ::std::os::raw::c_void,
9367        len: ::std::os::raw::c_int,
9368    );
9369}
9370extern "C" {
9371    #[link_name = "aws_lc_0_47_0_ASN1_BMPSTRING_new"]
9372    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
9373}
9374extern "C" {
9375    #[link_name = "aws_lc_0_47_0_ASN1_GENERALSTRING_new"]
9376    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
9377}
9378extern "C" {
9379    #[link_name = "aws_lc_0_47_0_ASN1_IA5STRING_new"]
9380    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
9381}
9382extern "C" {
9383    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_new"]
9384    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
9385}
9386extern "C" {
9387    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLESTRING_new"]
9388    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
9389}
9390extern "C" {
9391    #[link_name = "aws_lc_0_47_0_ASN1_T61STRING_new"]
9392    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
9393}
9394extern "C" {
9395    #[link_name = "aws_lc_0_47_0_ASN1_UNIVERSALSTRING_new"]
9396    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
9397}
9398extern "C" {
9399    #[link_name = "aws_lc_0_47_0_ASN1_UTF8STRING_new"]
9400    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
9401}
9402extern "C" {
9403    #[link_name = "aws_lc_0_47_0_ASN1_VISIBLESTRING_new"]
9404    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
9405}
9406extern "C" {
9407    #[link_name = "aws_lc_0_47_0_ASN1_BMPSTRING_free"]
9408    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
9409}
9410extern "C" {
9411    #[link_name = "aws_lc_0_47_0_ASN1_GENERALSTRING_free"]
9412    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
9413}
9414extern "C" {
9415    #[link_name = "aws_lc_0_47_0_ASN1_IA5STRING_free"]
9416    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
9417}
9418extern "C" {
9419    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_free"]
9420    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
9421}
9422extern "C" {
9423    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLESTRING_free"]
9424    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
9425}
9426extern "C" {
9427    #[link_name = "aws_lc_0_47_0_ASN1_T61STRING_free"]
9428    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
9429}
9430extern "C" {
9431    #[link_name = "aws_lc_0_47_0_ASN1_UNIVERSALSTRING_free"]
9432    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
9433}
9434extern "C" {
9435    #[link_name = "aws_lc_0_47_0_ASN1_UTF8STRING_free"]
9436    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
9437}
9438extern "C" {
9439    #[link_name = "aws_lc_0_47_0_ASN1_VISIBLESTRING_free"]
9440    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
9441}
9442extern "C" {
9443    #[link_name = "aws_lc_0_47_0_d2i_ASN1_BMPSTRING"]
9444    pub fn d2i_ASN1_BMPSTRING(
9445        out: *mut *mut ASN1_BMPSTRING,
9446        inp: *mut *const u8,
9447        len: ::std::os::raw::c_long,
9448    ) -> *mut ASN1_BMPSTRING;
9449}
9450extern "C" {
9451    #[link_name = "aws_lc_0_47_0_d2i_ASN1_GENERALSTRING"]
9452    pub fn d2i_ASN1_GENERALSTRING(
9453        out: *mut *mut ASN1_GENERALSTRING,
9454        inp: *mut *const u8,
9455        len: ::std::os::raw::c_long,
9456    ) -> *mut ASN1_GENERALSTRING;
9457}
9458extern "C" {
9459    #[link_name = "aws_lc_0_47_0_d2i_ASN1_IA5STRING"]
9460    pub fn d2i_ASN1_IA5STRING(
9461        out: *mut *mut ASN1_IA5STRING,
9462        inp: *mut *const u8,
9463        len: ::std::os::raw::c_long,
9464    ) -> *mut ASN1_IA5STRING;
9465}
9466extern "C" {
9467    #[link_name = "aws_lc_0_47_0_d2i_ASN1_OCTET_STRING"]
9468    pub fn d2i_ASN1_OCTET_STRING(
9469        out: *mut *mut ASN1_OCTET_STRING,
9470        inp: *mut *const u8,
9471        len: ::std::os::raw::c_long,
9472    ) -> *mut ASN1_OCTET_STRING;
9473}
9474extern "C" {
9475    #[link_name = "aws_lc_0_47_0_d2i_ASN1_PRINTABLESTRING"]
9476    pub fn d2i_ASN1_PRINTABLESTRING(
9477        out: *mut *mut ASN1_PRINTABLESTRING,
9478        inp: *mut *const u8,
9479        len: ::std::os::raw::c_long,
9480    ) -> *mut ASN1_PRINTABLESTRING;
9481}
9482extern "C" {
9483    #[link_name = "aws_lc_0_47_0_d2i_ASN1_T61STRING"]
9484    pub fn d2i_ASN1_T61STRING(
9485        out: *mut *mut ASN1_T61STRING,
9486        inp: *mut *const u8,
9487        len: ::std::os::raw::c_long,
9488    ) -> *mut ASN1_T61STRING;
9489}
9490extern "C" {
9491    #[link_name = "aws_lc_0_47_0_d2i_ASN1_UNIVERSALSTRING"]
9492    pub fn d2i_ASN1_UNIVERSALSTRING(
9493        out: *mut *mut ASN1_UNIVERSALSTRING,
9494        inp: *mut *const u8,
9495        len: ::std::os::raw::c_long,
9496    ) -> *mut ASN1_UNIVERSALSTRING;
9497}
9498extern "C" {
9499    #[link_name = "aws_lc_0_47_0_d2i_ASN1_UTF8STRING"]
9500    pub fn d2i_ASN1_UTF8STRING(
9501        out: *mut *mut ASN1_UTF8STRING,
9502        inp: *mut *const u8,
9503        len: ::std::os::raw::c_long,
9504    ) -> *mut ASN1_UTF8STRING;
9505}
9506extern "C" {
9507    #[link_name = "aws_lc_0_47_0_d2i_ASN1_VISIBLESTRING"]
9508    pub fn d2i_ASN1_VISIBLESTRING(
9509        out: *mut *mut ASN1_VISIBLESTRING,
9510        inp: *mut *const u8,
9511        len: ::std::os::raw::c_long,
9512    ) -> *mut ASN1_VISIBLESTRING;
9513}
9514extern "C" {
9515    #[link_name = "aws_lc_0_47_0_i2d_ASN1_BMPSTRING"]
9516    pub fn i2d_ASN1_BMPSTRING(
9517        in_: *const ASN1_BMPSTRING,
9518        outp: *mut *mut u8,
9519    ) -> ::std::os::raw::c_int;
9520}
9521extern "C" {
9522    #[link_name = "aws_lc_0_47_0_i2d_ASN1_GENERALSTRING"]
9523    pub fn i2d_ASN1_GENERALSTRING(
9524        in_: *const ASN1_GENERALSTRING,
9525        outp: *mut *mut u8,
9526    ) -> ::std::os::raw::c_int;
9527}
9528extern "C" {
9529    #[link_name = "aws_lc_0_47_0_i2d_ASN1_IA5STRING"]
9530    pub fn i2d_ASN1_IA5STRING(
9531        in_: *const ASN1_IA5STRING,
9532        outp: *mut *mut u8,
9533    ) -> ::std::os::raw::c_int;
9534}
9535extern "C" {
9536    #[link_name = "aws_lc_0_47_0_i2d_ASN1_OCTET_STRING"]
9537    pub fn i2d_ASN1_OCTET_STRING(
9538        in_: *const ASN1_OCTET_STRING,
9539        outp: *mut *mut u8,
9540    ) -> ::std::os::raw::c_int;
9541}
9542extern "C" {
9543    #[link_name = "aws_lc_0_47_0_i2d_ASN1_PRINTABLESTRING"]
9544    pub fn i2d_ASN1_PRINTABLESTRING(
9545        in_: *const ASN1_PRINTABLESTRING,
9546        outp: *mut *mut u8,
9547    ) -> ::std::os::raw::c_int;
9548}
9549extern "C" {
9550    #[link_name = "aws_lc_0_47_0_i2d_ASN1_T61STRING"]
9551    pub fn i2d_ASN1_T61STRING(
9552        in_: *const ASN1_T61STRING,
9553        outp: *mut *mut u8,
9554    ) -> ::std::os::raw::c_int;
9555}
9556extern "C" {
9557    #[link_name = "aws_lc_0_47_0_i2d_ASN1_UNIVERSALSTRING"]
9558    pub fn i2d_ASN1_UNIVERSALSTRING(
9559        in_: *const ASN1_UNIVERSALSTRING,
9560        outp: *mut *mut u8,
9561    ) -> ::std::os::raw::c_int;
9562}
9563extern "C" {
9564    #[link_name = "aws_lc_0_47_0_i2d_ASN1_UTF8STRING"]
9565    pub fn i2d_ASN1_UTF8STRING(
9566        in_: *const ASN1_UTF8STRING,
9567        outp: *mut *mut u8,
9568    ) -> ::std::os::raw::c_int;
9569}
9570extern "C" {
9571    #[link_name = "aws_lc_0_47_0_i2d_ASN1_VISIBLESTRING"]
9572    pub fn i2d_ASN1_VISIBLESTRING(
9573        in_: *const ASN1_VISIBLESTRING,
9574        outp: *mut *mut u8,
9575    ) -> ::std::os::raw::c_int;
9576}
9577extern "C" {
9578    #[link_name = "aws_lc_0_47_0_ASN1_BMPSTRING_it"]
9579    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9580}
9581extern "C" {
9582    #[link_name = "aws_lc_0_47_0_ASN1_GENERALSTRING_it"]
9583    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9584}
9585extern "C" {
9586    #[link_name = "aws_lc_0_47_0_ASN1_IA5STRING_it"]
9587    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9588}
9589extern "C" {
9590    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_it"]
9591    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9592}
9593extern "C" {
9594    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLESTRING_it"]
9595    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9596}
9597extern "C" {
9598    #[link_name = "aws_lc_0_47_0_ASN1_T61STRING_it"]
9599    pub static ASN1_T61STRING_it: ASN1_ITEM;
9600}
9601extern "C" {
9602    #[link_name = "aws_lc_0_47_0_ASN1_UNIVERSALSTRING_it"]
9603    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9604}
9605extern "C" {
9606    #[link_name = "aws_lc_0_47_0_ASN1_UTF8STRING_it"]
9607    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9608}
9609extern "C" {
9610    #[link_name = "aws_lc_0_47_0_ASN1_VISIBLESTRING_it"]
9611    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9612}
9613extern "C" {
9614    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_dup"]
9615    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9616}
9617extern "C" {
9618    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_cmp"]
9619    pub fn ASN1_OCTET_STRING_cmp(
9620        a: *const ASN1_OCTET_STRING,
9621        b: *const ASN1_OCTET_STRING,
9622    ) -> ::std::os::raw::c_int;
9623}
9624extern "C" {
9625    #[link_name = "aws_lc_0_47_0_ASN1_OCTET_STRING_set"]
9626    pub fn ASN1_OCTET_STRING_set(
9627        str_: *mut ASN1_OCTET_STRING,
9628        data: *const ::std::os::raw::c_uchar,
9629        len: ::std::os::raw::c_int,
9630    ) -> ::std::os::raw::c_int;
9631}
9632extern "C" {
9633    #[link_name = "aws_lc_0_47_0_ASN1_STRING_to_UTF8"]
9634    pub fn ASN1_STRING_to_UTF8(
9635        out: *mut *mut ::std::os::raw::c_uchar,
9636        in_: *const ASN1_STRING,
9637    ) -> ::std::os::raw::c_int;
9638}
9639extern "C" {
9640    #[link_name = "aws_lc_0_47_0_ASN1_mbstring_copy"]
9641    pub fn ASN1_mbstring_copy(
9642        out: *mut *mut ASN1_STRING,
9643        in_: *const u8,
9644        len: ossl_ssize_t,
9645        inform: ::std::os::raw::c_int,
9646        mask: ::std::os::raw::c_ulong,
9647    ) -> ::std::os::raw::c_int;
9648}
9649extern "C" {
9650    #[link_name = "aws_lc_0_47_0_ASN1_mbstring_ncopy"]
9651    pub fn ASN1_mbstring_ncopy(
9652        out: *mut *mut ASN1_STRING,
9653        in_: *const u8,
9654        len: ossl_ssize_t,
9655        inform: ::std::os::raw::c_int,
9656        mask: ::std::os::raw::c_ulong,
9657        minsize: ossl_ssize_t,
9658        maxsize: ossl_ssize_t,
9659    ) -> ::std::os::raw::c_int;
9660}
9661extern "C" {
9662    #[link_name = "aws_lc_0_47_0_ASN1_STRING_set_by_NID"]
9663    pub fn ASN1_STRING_set_by_NID(
9664        out: *mut *mut ASN1_STRING,
9665        in_: *const ::std::os::raw::c_uchar,
9666        len: ossl_ssize_t,
9667        inform: ::std::os::raw::c_int,
9668        nid: ::std::os::raw::c_int,
9669    ) -> *mut ASN1_STRING;
9670}
9671extern "C" {
9672    #[link_name = "aws_lc_0_47_0_ASN1_STRING_TABLE_add"]
9673    pub fn ASN1_STRING_TABLE_add(
9674        nid: ::std::os::raw::c_int,
9675        minsize: ::std::os::raw::c_long,
9676        maxsize: ::std::os::raw::c_long,
9677        mask: ::std::os::raw::c_ulong,
9678        flags: ::std::os::raw::c_ulong,
9679    ) -> ::std::os::raw::c_int;
9680}
9681extern "C" {
9682    #[link_name = "aws_lc_0_47_0_DIRECTORYSTRING_new"]
9683    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9684}
9685extern "C" {
9686    #[link_name = "aws_lc_0_47_0_DIRECTORYSTRING_free"]
9687    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9688}
9689extern "C" {
9690    #[link_name = "aws_lc_0_47_0_d2i_DIRECTORYSTRING"]
9691    pub fn d2i_DIRECTORYSTRING(
9692        out: *mut *mut ASN1_STRING,
9693        inp: *mut *const u8,
9694        len: ::std::os::raw::c_long,
9695    ) -> *mut ASN1_STRING;
9696}
9697extern "C" {
9698    #[link_name = "aws_lc_0_47_0_i2d_DIRECTORYSTRING"]
9699    pub fn i2d_DIRECTORYSTRING(
9700        in_: *const ASN1_STRING,
9701        outp: *mut *mut u8,
9702    ) -> ::std::os::raw::c_int;
9703}
9704extern "C" {
9705    #[link_name = "aws_lc_0_47_0_DIRECTORYSTRING_it"]
9706    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9707}
9708extern "C" {
9709    #[link_name = "aws_lc_0_47_0_DISPLAYTEXT_new"]
9710    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9711}
9712extern "C" {
9713    #[link_name = "aws_lc_0_47_0_DISPLAYTEXT_free"]
9714    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9715}
9716extern "C" {
9717    #[link_name = "aws_lc_0_47_0_d2i_DISPLAYTEXT"]
9718    pub fn d2i_DISPLAYTEXT(
9719        out: *mut *mut ASN1_STRING,
9720        inp: *mut *const u8,
9721        len: ::std::os::raw::c_long,
9722    ) -> *mut ASN1_STRING;
9723}
9724extern "C" {
9725    #[link_name = "aws_lc_0_47_0_i2d_DISPLAYTEXT"]
9726    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9727}
9728extern "C" {
9729    #[link_name = "aws_lc_0_47_0_DISPLAYTEXT_it"]
9730    pub static DISPLAYTEXT_it: ASN1_ITEM;
9731}
9732extern "C" {
9733    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_new"]
9734    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9735}
9736extern "C" {
9737    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_free"]
9738    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9739}
9740extern "C" {
9741    #[link_name = "aws_lc_0_47_0_d2i_ASN1_BIT_STRING"]
9742    pub fn d2i_ASN1_BIT_STRING(
9743        out: *mut *mut ASN1_BIT_STRING,
9744        inp: *mut *const u8,
9745        len: ::std::os::raw::c_long,
9746    ) -> *mut ASN1_BIT_STRING;
9747}
9748extern "C" {
9749    #[link_name = "aws_lc_0_47_0_i2d_ASN1_BIT_STRING"]
9750    pub fn i2d_ASN1_BIT_STRING(
9751        in_: *const ASN1_BIT_STRING,
9752        outp: *mut *mut u8,
9753    ) -> ::std::os::raw::c_int;
9754}
9755extern "C" {
9756    #[link_name = "aws_lc_0_47_0_c2i_ASN1_BIT_STRING"]
9757    pub fn c2i_ASN1_BIT_STRING(
9758        out: *mut *mut ASN1_BIT_STRING,
9759        inp: *mut *const u8,
9760        len: ::std::os::raw::c_long,
9761    ) -> *mut ASN1_BIT_STRING;
9762}
9763extern "C" {
9764    #[link_name = "aws_lc_0_47_0_i2c_ASN1_BIT_STRING"]
9765    pub fn i2c_ASN1_BIT_STRING(
9766        in_: *const ASN1_BIT_STRING,
9767        outp: *mut *mut u8,
9768    ) -> ::std::os::raw::c_int;
9769}
9770extern "C" {
9771    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_it"]
9772    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9773}
9774extern "C" {
9775    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_num_bytes"]
9776    pub fn ASN1_BIT_STRING_num_bytes(
9777        str_: *const ASN1_BIT_STRING,
9778        out: *mut usize,
9779    ) -> ::std::os::raw::c_int;
9780}
9781extern "C" {
9782    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_set"]
9783    pub fn ASN1_BIT_STRING_set(
9784        str_: *mut ASN1_BIT_STRING,
9785        d: *const ::std::os::raw::c_uchar,
9786        length: ossl_ssize_t,
9787    ) -> ::std::os::raw::c_int;
9788}
9789extern "C" {
9790    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_set_bit"]
9791    pub fn ASN1_BIT_STRING_set_bit(
9792        str_: *mut ASN1_BIT_STRING,
9793        n: ::std::os::raw::c_int,
9794        value: ::std::os::raw::c_int,
9795    ) -> ::std::os::raw::c_int;
9796}
9797extern "C" {
9798    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_get_bit"]
9799    pub fn ASN1_BIT_STRING_get_bit(
9800        str_: *const ASN1_BIT_STRING,
9801        n: ::std::os::raw::c_int,
9802    ) -> ::std::os::raw::c_int;
9803}
9804extern "C" {
9805    #[link_name = "aws_lc_0_47_0_ASN1_BIT_STRING_check"]
9806    pub fn ASN1_BIT_STRING_check(
9807        str_: *const ASN1_BIT_STRING,
9808        flags: *const ::std::os::raw::c_uchar,
9809        flags_len: ::std::os::raw::c_int,
9810    ) -> ::std::os::raw::c_int;
9811}
9812#[repr(C)]
9813#[derive(Debug)]
9814pub struct stack_st_ASN1_INTEGER {
9815    _unused: [u8; 0],
9816}
9817pub type sk_ASN1_INTEGER_free_func =
9818    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9819pub type sk_ASN1_INTEGER_copy_func =
9820    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9821pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9822    unsafe extern "C" fn(
9823        arg1: *const *const ASN1_INTEGER,
9824        arg2: *const *const ASN1_INTEGER,
9825    ) -> ::std::os::raw::c_int,
9826>;
9827pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9828    unsafe extern "C" fn(
9829        arg1: *mut ASN1_INTEGER,
9830        arg2: *mut ::std::os::raw::c_void,
9831    ) -> ::std::os::raw::c_int,
9832>;
9833extern "C" {
9834    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_new"]
9835    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9836}
9837extern "C" {
9838    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_free"]
9839    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9840}
9841extern "C" {
9842    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_dup"]
9843    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9844}
9845extern "C" {
9846    #[link_name = "aws_lc_0_47_0_d2i_ASN1_INTEGER"]
9847    pub fn d2i_ASN1_INTEGER(
9848        out: *mut *mut ASN1_INTEGER,
9849        inp: *mut *const u8,
9850        len: ::std::os::raw::c_long,
9851    ) -> *mut ASN1_INTEGER;
9852}
9853extern "C" {
9854    #[link_name = "aws_lc_0_47_0_i2d_ASN1_INTEGER"]
9855    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9856}
9857extern "C" {
9858    #[link_name = "aws_lc_0_47_0_c2i_ASN1_INTEGER"]
9859    pub fn c2i_ASN1_INTEGER(
9860        in_: *mut *mut ASN1_INTEGER,
9861        outp: *mut *const u8,
9862        len: ::std::os::raw::c_long,
9863    ) -> *mut ASN1_INTEGER;
9864}
9865extern "C" {
9866    #[link_name = "aws_lc_0_47_0_i2c_ASN1_INTEGER"]
9867    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9868}
9869extern "C" {
9870    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_it"]
9871    pub static ASN1_INTEGER_it: ASN1_ITEM;
9872}
9873extern "C" {
9874    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_set_uint64"]
9875    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9876}
9877extern "C" {
9878    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_set_int64"]
9879    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9880}
9881extern "C" {
9882    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_get_uint64"]
9883    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9884}
9885extern "C" {
9886    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_get_int64"]
9887    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9888}
9889extern "C" {
9890    #[link_name = "aws_lc_0_47_0_BN_to_ASN1_INTEGER"]
9891    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9892}
9893extern "C" {
9894    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_to_BN"]
9895    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9896}
9897extern "C" {
9898    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_cmp"]
9899    pub fn ASN1_INTEGER_cmp(
9900        x: *const ASN1_INTEGER,
9901        y: *const ASN1_INTEGER,
9902    ) -> ::std::os::raw::c_int;
9903}
9904extern "C" {
9905    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_new"]
9906    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9907}
9908extern "C" {
9909    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_free"]
9910    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9911}
9912extern "C" {
9913    #[link_name = "aws_lc_0_47_0_d2i_ASN1_ENUMERATED"]
9914    pub fn d2i_ASN1_ENUMERATED(
9915        out: *mut *mut ASN1_ENUMERATED,
9916        inp: *mut *const u8,
9917        len: ::std::os::raw::c_long,
9918    ) -> *mut ASN1_ENUMERATED;
9919}
9920extern "C" {
9921    #[link_name = "aws_lc_0_47_0_i2d_ASN1_ENUMERATED"]
9922    pub fn i2d_ASN1_ENUMERATED(
9923        in_: *const ASN1_ENUMERATED,
9924        outp: *mut *mut u8,
9925    ) -> ::std::os::raw::c_int;
9926}
9927extern "C" {
9928    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_it"]
9929    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9930}
9931extern "C" {
9932    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_set_uint64"]
9933    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9934}
9935extern "C" {
9936    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_set_int64"]
9937    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9938}
9939extern "C" {
9940    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_get_uint64"]
9941    pub fn ASN1_ENUMERATED_get_uint64(
9942        out: *mut u64,
9943        a: *const ASN1_ENUMERATED,
9944    ) -> ::std::os::raw::c_int;
9945}
9946extern "C" {
9947    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_get_int64"]
9948    pub fn ASN1_ENUMERATED_get_int64(
9949        out: *mut i64,
9950        a: *const ASN1_ENUMERATED,
9951    ) -> ::std::os::raw::c_int;
9952}
9953extern "C" {
9954    #[link_name = "aws_lc_0_47_0_BN_to_ASN1_ENUMERATED"]
9955    pub fn BN_to_ASN1_ENUMERATED(
9956        bn: *const BIGNUM,
9957        ai: *mut ASN1_ENUMERATED,
9958    ) -> *mut ASN1_ENUMERATED;
9959}
9960extern "C" {
9961    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_to_BN"]
9962    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9963}
9964extern "C" {
9965    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_new"]
9966    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9967}
9968extern "C" {
9969    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_free"]
9970    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9971}
9972extern "C" {
9973    #[link_name = "aws_lc_0_47_0_d2i_ASN1_UTCTIME"]
9974    pub fn d2i_ASN1_UTCTIME(
9975        out: *mut *mut ASN1_UTCTIME,
9976        inp: *mut *const u8,
9977        len: ::std::os::raw::c_long,
9978    ) -> *mut ASN1_UTCTIME;
9979}
9980extern "C" {
9981    #[link_name = "aws_lc_0_47_0_i2d_ASN1_UTCTIME"]
9982    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9983}
9984extern "C" {
9985    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_it"]
9986    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9987}
9988extern "C" {
9989    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_check"]
9990    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9991}
9992extern "C" {
9993    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_set"]
9994    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9995}
9996extern "C" {
9997    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_adj"]
9998    pub fn ASN1_UTCTIME_adj(
9999        s: *mut ASN1_UTCTIME,
10000        posix_time: i64,
10001        offset_day: ::std::os::raw::c_int,
10002        offset_sec: ::std::os::raw::c_long,
10003    ) -> *mut ASN1_UTCTIME;
10004}
10005extern "C" {
10006    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_set_string"]
10007    pub fn ASN1_UTCTIME_set_string(
10008        s: *mut ASN1_UTCTIME,
10009        str_: *const ::std::os::raw::c_char,
10010    ) -> ::std::os::raw::c_int;
10011}
10012extern "C" {
10013    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_cmp_time_t"]
10014    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
10015}
10016extern "C" {
10017    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_new"]
10018    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
10019}
10020extern "C" {
10021    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_free"]
10022    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
10023}
10024extern "C" {
10025    #[link_name = "aws_lc_0_47_0_d2i_ASN1_GENERALIZEDTIME"]
10026    pub fn d2i_ASN1_GENERALIZEDTIME(
10027        out: *mut *mut ASN1_GENERALIZEDTIME,
10028        inp: *mut *const u8,
10029        len: ::std::os::raw::c_long,
10030    ) -> *mut ASN1_GENERALIZEDTIME;
10031}
10032extern "C" {
10033    #[link_name = "aws_lc_0_47_0_i2d_ASN1_GENERALIZEDTIME"]
10034    pub fn i2d_ASN1_GENERALIZEDTIME(
10035        in_: *const ASN1_GENERALIZEDTIME,
10036        outp: *mut *mut u8,
10037    ) -> ::std::os::raw::c_int;
10038}
10039extern "C" {
10040    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_it"]
10041    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
10042}
10043extern "C" {
10044    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_check"]
10045    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
10046}
10047extern "C" {
10048    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_set"]
10049    pub fn ASN1_GENERALIZEDTIME_set(
10050        s: *mut ASN1_GENERALIZEDTIME,
10051        posix_time: i64,
10052    ) -> *mut ASN1_GENERALIZEDTIME;
10053}
10054extern "C" {
10055    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_adj"]
10056    pub fn ASN1_GENERALIZEDTIME_adj(
10057        s: *mut ASN1_GENERALIZEDTIME,
10058        posix_time: i64,
10059        offset_day: ::std::os::raw::c_int,
10060        offset_sec: ::std::os::raw::c_long,
10061    ) -> *mut ASN1_GENERALIZEDTIME;
10062}
10063extern "C" {
10064    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_set_string"]
10065    pub fn ASN1_GENERALIZEDTIME_set_string(
10066        s: *mut ASN1_GENERALIZEDTIME,
10067        str_: *const ::std::os::raw::c_char,
10068    ) -> ::std::os::raw::c_int;
10069}
10070extern "C" {
10071    #[link_name = "aws_lc_0_47_0_ASN1_TIME_new"]
10072    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
10073}
10074extern "C" {
10075    #[link_name = "aws_lc_0_47_0_ASN1_TIME_free"]
10076    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
10077}
10078extern "C" {
10079    #[link_name = "aws_lc_0_47_0_d2i_ASN1_TIME"]
10080    pub fn d2i_ASN1_TIME(
10081        out: *mut *mut ASN1_TIME,
10082        inp: *mut *const u8,
10083        len: ::std::os::raw::c_long,
10084    ) -> *mut ASN1_TIME;
10085}
10086extern "C" {
10087    #[link_name = "aws_lc_0_47_0_i2d_ASN1_TIME"]
10088    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10089}
10090extern "C" {
10091    #[link_name = "aws_lc_0_47_0_ASN1_TIME_it"]
10092    pub static ASN1_TIME_it: ASN1_ITEM;
10093}
10094extern "C" {
10095    #[link_name = "aws_lc_0_47_0_ASN1_TIME_diff"]
10096    pub fn ASN1_TIME_diff(
10097        out_days: *mut ::std::os::raw::c_int,
10098        out_seconds: *mut ::std::os::raw::c_int,
10099        from: *const ASN1_TIME,
10100        to: *const ASN1_TIME,
10101    ) -> ::std::os::raw::c_int;
10102}
10103extern "C" {
10104    #[link_name = "aws_lc_0_47_0_ASN1_TIME_set_posix"]
10105    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
10106}
10107extern "C" {
10108    #[link_name = "aws_lc_0_47_0_ASN1_TIME_set"]
10109    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
10110}
10111extern "C" {
10112    #[link_name = "aws_lc_0_47_0_ASN1_TIME_adj"]
10113    pub fn ASN1_TIME_adj(
10114        s: *mut ASN1_TIME,
10115        posix_time: i64,
10116        offset_day: ::std::os::raw::c_int,
10117        offset_sec: ::std::os::raw::c_long,
10118    ) -> *mut ASN1_TIME;
10119}
10120extern "C" {
10121    #[link_name = "aws_lc_0_47_0_ASN1_TIME_check"]
10122    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
10123}
10124extern "C" {
10125    #[link_name = "aws_lc_0_47_0_ASN1_TIME_to_generalizedtime"]
10126    pub fn ASN1_TIME_to_generalizedtime(
10127        t: *const ASN1_TIME,
10128        out: *mut *mut ASN1_GENERALIZEDTIME,
10129    ) -> *mut ASN1_GENERALIZEDTIME;
10130}
10131extern "C" {
10132    #[link_name = "aws_lc_0_47_0_ASN1_TIME_set_string"]
10133    pub fn ASN1_TIME_set_string(
10134        s: *mut ASN1_TIME,
10135        str_: *const ::std::os::raw::c_char,
10136    ) -> ::std::os::raw::c_int;
10137}
10138extern "C" {
10139    #[link_name = "aws_lc_0_47_0_ASN1_TIME_to_tm"]
10140    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
10141}
10142extern "C" {
10143    #[link_name = "aws_lc_0_47_0_ASN1_TIME_set_string_X509"]
10144    pub fn ASN1_TIME_set_string_X509(
10145        s: *mut ASN1_TIME,
10146        str_: *const ::std::os::raw::c_char,
10147    ) -> ::std::os::raw::c_int;
10148}
10149extern "C" {
10150    #[link_name = "aws_lc_0_47_0_ASN1_TIME_to_time_t"]
10151    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
10152}
10153extern "C" {
10154    #[link_name = "aws_lc_0_47_0_ASN1_TIME_to_posix"]
10155    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
10156}
10157extern "C" {
10158    #[link_name = "aws_lc_0_47_0_ASN1_NULL_new"]
10159    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
10160}
10161extern "C" {
10162    #[link_name = "aws_lc_0_47_0_ASN1_NULL_free"]
10163    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
10164}
10165extern "C" {
10166    #[link_name = "aws_lc_0_47_0_d2i_ASN1_NULL"]
10167    pub fn d2i_ASN1_NULL(
10168        out: *mut *mut ASN1_NULL,
10169        inp: *mut *const u8,
10170        len: ::std::os::raw::c_long,
10171    ) -> *mut ASN1_NULL;
10172}
10173extern "C" {
10174    #[link_name = "aws_lc_0_47_0_i2d_ASN1_NULL"]
10175    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10176}
10177extern "C" {
10178    #[link_name = "aws_lc_0_47_0_ASN1_NULL_it"]
10179    pub static ASN1_NULL_it: ASN1_ITEM;
10180}
10181#[repr(C)]
10182#[derive(Debug)]
10183pub struct stack_st_ASN1_OBJECT {
10184    _unused: [u8; 0],
10185}
10186pub type sk_ASN1_OBJECT_free_func =
10187    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
10188pub type sk_ASN1_OBJECT_copy_func =
10189    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
10190pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
10191    unsafe extern "C" fn(
10192        arg1: *const *const ASN1_OBJECT,
10193        arg2: *const *const ASN1_OBJECT,
10194    ) -> ::std::os::raw::c_int,
10195>;
10196pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
10197    unsafe extern "C" fn(
10198        arg1: *mut ASN1_OBJECT,
10199        arg2: *mut ::std::os::raw::c_void,
10200    ) -> ::std::os::raw::c_int,
10201>;
10202extern "C" {
10203    #[link_name = "aws_lc_0_47_0_ASN1_OBJECT_create"]
10204    pub fn ASN1_OBJECT_create(
10205        nid: ::std::os::raw::c_int,
10206        data: *const u8,
10207        len: usize,
10208        sn: *const ::std::os::raw::c_char,
10209        ln: *const ::std::os::raw::c_char,
10210    ) -> *mut ASN1_OBJECT;
10211}
10212extern "C" {
10213    #[link_name = "aws_lc_0_47_0_ASN1_OBJECT_free"]
10214    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
10215}
10216extern "C" {
10217    #[link_name = "aws_lc_0_47_0_d2i_ASN1_OBJECT"]
10218    pub fn d2i_ASN1_OBJECT(
10219        out: *mut *mut ASN1_OBJECT,
10220        inp: *mut *const u8,
10221        len: ::std::os::raw::c_long,
10222    ) -> *mut ASN1_OBJECT;
10223}
10224extern "C" {
10225    #[link_name = "aws_lc_0_47_0_i2d_ASN1_OBJECT"]
10226    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10227}
10228extern "C" {
10229    #[link_name = "aws_lc_0_47_0_c2i_ASN1_OBJECT"]
10230    pub fn c2i_ASN1_OBJECT(
10231        out: *mut *mut ASN1_OBJECT,
10232        inp: *mut *const u8,
10233        len: ::std::os::raw::c_long,
10234    ) -> *mut ASN1_OBJECT;
10235}
10236extern "C" {
10237    #[link_name = "aws_lc_0_47_0_ASN1_OBJECT_it"]
10238    pub static ASN1_OBJECT_it: ASN1_ITEM;
10239}
10240#[repr(C)]
10241#[derive(Copy, Clone)]
10242pub struct asn1_type_st {
10243    pub type_: ::std::os::raw::c_int,
10244    pub value: asn1_type_st__bindgen_ty_1,
10245}
10246#[repr(C)]
10247#[derive(Copy, Clone)]
10248pub union asn1_type_st__bindgen_ty_1 {
10249    pub ptr: *mut ::std::os::raw::c_char,
10250    pub boolean: ASN1_BOOLEAN,
10251    pub asn1_string: *mut ASN1_STRING,
10252    pub object: *mut ASN1_OBJECT,
10253    pub integer: *mut ASN1_INTEGER,
10254    pub enumerated: *mut ASN1_ENUMERATED,
10255    pub bit_string: *mut ASN1_BIT_STRING,
10256    pub octet_string: *mut ASN1_OCTET_STRING,
10257    pub printablestring: *mut ASN1_PRINTABLESTRING,
10258    pub t61string: *mut ASN1_T61STRING,
10259    pub ia5string: *mut ASN1_IA5STRING,
10260    pub generalstring: *mut ASN1_GENERALSTRING,
10261    pub bmpstring: *mut ASN1_BMPSTRING,
10262    pub universalstring: *mut ASN1_UNIVERSALSTRING,
10263    pub utctime: *mut ASN1_UTCTIME,
10264    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
10265    pub visiblestring: *mut ASN1_VISIBLESTRING,
10266    pub utf8string: *mut ASN1_UTF8STRING,
10267    pub set: *mut ASN1_STRING,
10268    pub sequence: *mut ASN1_STRING,
10269    pub asn1_value: *mut ASN1_VALUE,
10270}
10271#[test]
10272fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
10273    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
10274        ::std::mem::MaybeUninit::uninit();
10275    let ptr = UNINIT.as_ptr();
10276    assert_eq!(
10277        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
10278        8usize,
10279        "Size of asn1_type_st__bindgen_ty_1"
10280    );
10281    assert_eq!(
10282        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
10283        8usize,
10284        "Alignment of asn1_type_st__bindgen_ty_1"
10285    );
10286    assert_eq!(
10287        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10288        0usize,
10289        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
10290    );
10291    assert_eq!(
10292        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
10293        0usize,
10294        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
10295    );
10296    assert_eq!(
10297        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
10298        0usize,
10299        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
10300    );
10301    assert_eq!(
10302        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
10303        0usize,
10304        "Offset of field: asn1_type_st__bindgen_ty_1::object"
10305    );
10306    assert_eq!(
10307        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
10308        0usize,
10309        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
10310    );
10311    assert_eq!(
10312        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
10313        0usize,
10314        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
10315    );
10316    assert_eq!(
10317        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
10318        0usize,
10319        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
10320    );
10321    assert_eq!(
10322        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
10323        0usize,
10324        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
10325    );
10326    assert_eq!(
10327        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
10328        0usize,
10329        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
10330    );
10331    assert_eq!(
10332        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
10333        0usize,
10334        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
10335    );
10336    assert_eq!(
10337        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
10338        0usize,
10339        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
10340    );
10341    assert_eq!(
10342        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
10343        0usize,
10344        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
10345    );
10346    assert_eq!(
10347        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
10348        0usize,
10349        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
10350    );
10351    assert_eq!(
10352        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
10353        0usize,
10354        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
10355    );
10356    assert_eq!(
10357        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
10358        0usize,
10359        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
10360    );
10361    assert_eq!(
10362        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
10363        0usize,
10364        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
10365    );
10366    assert_eq!(
10367        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
10368        0usize,
10369        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
10370    );
10371    assert_eq!(
10372        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
10373        0usize,
10374        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
10375    );
10376    assert_eq!(
10377        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
10378        0usize,
10379        "Offset of field: asn1_type_st__bindgen_ty_1::set"
10380    );
10381    assert_eq!(
10382        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
10383        0usize,
10384        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
10385    );
10386    assert_eq!(
10387        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
10388        0usize,
10389        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
10390    );
10391}
10392impl Default for asn1_type_st__bindgen_ty_1 {
10393    fn default() -> Self {
10394        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10395        unsafe {
10396            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10397            s.assume_init()
10398        }
10399    }
10400}
10401#[test]
10402fn bindgen_test_layout_asn1_type_st() {
10403    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
10404    let ptr = UNINIT.as_ptr();
10405    assert_eq!(
10406        ::std::mem::size_of::<asn1_type_st>(),
10407        16usize,
10408        "Size of asn1_type_st"
10409    );
10410    assert_eq!(
10411        ::std::mem::align_of::<asn1_type_st>(),
10412        8usize,
10413        "Alignment of asn1_type_st"
10414    );
10415    assert_eq!(
10416        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
10417        0usize,
10418        "Offset of field: asn1_type_st::type_"
10419    );
10420    assert_eq!(
10421        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10422        8usize,
10423        "Offset of field: asn1_type_st::value"
10424    );
10425}
10426impl Default for asn1_type_st {
10427    fn default() -> Self {
10428        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10429        unsafe {
10430            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10431            s.assume_init()
10432        }
10433    }
10434}
10435#[repr(C)]
10436#[derive(Debug)]
10437pub struct stack_st_ASN1_TYPE {
10438    _unused: [u8; 0],
10439}
10440pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
10441pub type sk_ASN1_TYPE_copy_func =
10442    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
10443pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
10444    unsafe extern "C" fn(
10445        arg1: *const *const ASN1_TYPE,
10446        arg2: *const *const ASN1_TYPE,
10447    ) -> ::std::os::raw::c_int,
10448>;
10449pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10450    unsafe extern "C" fn(
10451        arg1: *mut ASN1_TYPE,
10452        arg2: *mut ::std::os::raw::c_void,
10453    ) -> ::std::os::raw::c_int,
10454>;
10455extern "C" {
10456    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_new"]
10457    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10458}
10459extern "C" {
10460    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_free"]
10461    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10462}
10463extern "C" {
10464    #[link_name = "aws_lc_0_47_0_d2i_ASN1_TYPE"]
10465    pub fn d2i_ASN1_TYPE(
10466        out: *mut *mut ASN1_TYPE,
10467        inp: *mut *const u8,
10468        len: ::std::os::raw::c_long,
10469    ) -> *mut ASN1_TYPE;
10470}
10471extern "C" {
10472    #[link_name = "aws_lc_0_47_0_i2d_ASN1_TYPE"]
10473    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10474}
10475extern "C" {
10476    #[link_name = "aws_lc_0_47_0_ASN1_ANY_it"]
10477    pub static ASN1_ANY_it: ASN1_ITEM;
10478}
10479extern "C" {
10480    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_get"]
10481    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10482}
10483extern "C" {
10484    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_set"]
10485    pub fn ASN1_TYPE_set(
10486        a: *mut ASN1_TYPE,
10487        type_: ::std::os::raw::c_int,
10488        value: *mut ::std::os::raw::c_void,
10489    );
10490}
10491extern "C" {
10492    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_set1"]
10493    pub fn ASN1_TYPE_set1(
10494        a: *mut ASN1_TYPE,
10495        type_: ::std::os::raw::c_int,
10496        value: *const ::std::os::raw::c_void,
10497    ) -> ::std::os::raw::c_int;
10498}
10499extern "C" {
10500    #[link_name = "aws_lc_0_47_0_ASN1_TYPE_cmp"]
10501    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10502}
10503pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10504extern "C" {
10505    #[link_name = "aws_lc_0_47_0_d2i_ASN1_SEQUENCE_ANY"]
10506    pub fn d2i_ASN1_SEQUENCE_ANY(
10507        out: *mut *mut ASN1_SEQUENCE_ANY,
10508        inp: *mut *const u8,
10509        len: ::std::os::raw::c_long,
10510    ) -> *mut ASN1_SEQUENCE_ANY;
10511}
10512extern "C" {
10513    #[link_name = "aws_lc_0_47_0_i2d_ASN1_SEQUENCE_ANY"]
10514    pub fn i2d_ASN1_SEQUENCE_ANY(
10515        in_: *const ASN1_SEQUENCE_ANY,
10516        outp: *mut *mut u8,
10517    ) -> ::std::os::raw::c_int;
10518}
10519extern "C" {
10520    #[link_name = "aws_lc_0_47_0_d2i_ASN1_SET_ANY"]
10521    pub fn d2i_ASN1_SET_ANY(
10522        out: *mut *mut ASN1_SEQUENCE_ANY,
10523        inp: *mut *const u8,
10524        len: ::std::os::raw::c_long,
10525    ) -> *mut ASN1_SEQUENCE_ANY;
10526}
10527extern "C" {
10528    #[link_name = "aws_lc_0_47_0_i2d_ASN1_SET_ANY"]
10529    pub fn i2d_ASN1_SET_ANY(
10530        in_: *const ASN1_SEQUENCE_ANY,
10531        outp: *mut *mut u8,
10532    ) -> ::std::os::raw::c_int;
10533}
10534extern "C" {
10535    #[link_name = "aws_lc_0_47_0_ASN1_UTCTIME_print"]
10536    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10537}
10538extern "C" {
10539    #[link_name = "aws_lc_0_47_0_ASN1_GENERALIZEDTIME_print"]
10540    pub fn ASN1_GENERALIZEDTIME_print(
10541        out: *mut BIO,
10542        a: *const ASN1_GENERALIZEDTIME,
10543    ) -> ::std::os::raw::c_int;
10544}
10545extern "C" {
10546    #[link_name = "aws_lc_0_47_0_ASN1_TIME_print"]
10547    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10548}
10549extern "C" {
10550    #[link_name = "aws_lc_0_47_0_ASN1_STRING_print"]
10551    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10552}
10553extern "C" {
10554    #[link_name = "aws_lc_0_47_0_ASN1_STRING_print_ex"]
10555    pub fn ASN1_STRING_print_ex(
10556        out: *mut BIO,
10557        str_: *const ASN1_STRING,
10558        flags: ::std::os::raw::c_ulong,
10559    ) -> ::std::os::raw::c_int;
10560}
10561extern "C" {
10562    #[link_name = "aws_lc_0_47_0_ASN1_STRING_print_ex_fp"]
10563    pub fn ASN1_STRING_print_ex_fp(
10564        fp: *mut FILE,
10565        str_: *const ASN1_STRING,
10566        flags: ::std::os::raw::c_ulong,
10567    ) -> ::std::os::raw::c_int;
10568}
10569extern "C" {
10570    #[link_name = "aws_lc_0_47_0_a2i_ASN1_INTEGER"]
10571    pub fn a2i_ASN1_INTEGER(
10572        bp: *mut BIO,
10573        bs: *mut ASN1_INTEGER,
10574        buf: *mut ::std::os::raw::c_char,
10575        size: ::std::os::raw::c_int,
10576    ) -> ::std::os::raw::c_int;
10577}
10578extern "C" {
10579    #[link_name = "aws_lc_0_47_0_i2a_ASN1_INTEGER"]
10580    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10581}
10582extern "C" {
10583    #[link_name = "aws_lc_0_47_0_i2a_ASN1_ENUMERATED"]
10584    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10585}
10586extern "C" {
10587    #[link_name = "aws_lc_0_47_0_i2a_ASN1_OBJECT"]
10588    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10589}
10590extern "C" {
10591    #[link_name = "aws_lc_0_47_0_i2a_ASN1_STRING"]
10592    pub fn i2a_ASN1_STRING(
10593        bp: *mut BIO,
10594        a: *const ASN1_STRING,
10595        type_: ::std::os::raw::c_int,
10596    ) -> ::std::os::raw::c_int;
10597}
10598extern "C" {
10599    #[link_name = "aws_lc_0_47_0_i2t_ASN1_OBJECT"]
10600    pub fn i2t_ASN1_OBJECT(
10601        buf: *mut ::std::os::raw::c_char,
10602        buf_len: ::std::os::raw::c_int,
10603        a: *const ASN1_OBJECT,
10604    ) -> ::std::os::raw::c_int;
10605}
10606extern "C" {
10607    #[link_name = "aws_lc_0_47_0_ASN1_get_object"]
10608    pub fn ASN1_get_object(
10609        inp: *mut *const ::std::os::raw::c_uchar,
10610        out_length: *mut ::std::os::raw::c_long,
10611        out_tag: *mut ::std::os::raw::c_int,
10612        out_class: *mut ::std::os::raw::c_int,
10613        max_len: ::std::os::raw::c_long,
10614    ) -> ::std::os::raw::c_int;
10615}
10616extern "C" {
10617    #[link_name = "aws_lc_0_47_0_ASN1_put_object"]
10618    pub fn ASN1_put_object(
10619        outp: *mut *mut ::std::os::raw::c_uchar,
10620        constructed: ::std::os::raw::c_int,
10621        length: ::std::os::raw::c_int,
10622        tag: ::std::os::raw::c_int,
10623        xclass: ::std::os::raw::c_int,
10624    );
10625}
10626extern "C" {
10627    #[link_name = "aws_lc_0_47_0_ASN1_put_eoc"]
10628    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10629}
10630extern "C" {
10631    #[link_name = "aws_lc_0_47_0_ASN1_object_size"]
10632    pub fn ASN1_object_size(
10633        constructed: ::std::os::raw::c_int,
10634        length: ::std::os::raw::c_int,
10635        tag: ::std::os::raw::c_int,
10636    ) -> ::std::os::raw::c_int;
10637}
10638extern "C" {
10639    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLE_new"]
10640    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10641}
10642extern "C" {
10643    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLE_free"]
10644    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10645}
10646extern "C" {
10647    #[link_name = "aws_lc_0_47_0_d2i_ASN1_PRINTABLE"]
10648    pub fn d2i_ASN1_PRINTABLE(
10649        out: *mut *mut ASN1_STRING,
10650        inp: *mut *const u8,
10651        len: ::std::os::raw::c_long,
10652    ) -> *mut ASN1_STRING;
10653}
10654extern "C" {
10655    #[link_name = "aws_lc_0_47_0_i2d_ASN1_PRINTABLE"]
10656    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10657        -> ::std::os::raw::c_int;
10658}
10659extern "C" {
10660    #[link_name = "aws_lc_0_47_0_ASN1_PRINTABLE_it"]
10661    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10662}
10663extern "C" {
10664    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_set"]
10665    pub fn ASN1_INTEGER_set(
10666        a: *mut ASN1_INTEGER,
10667        v: ::std::os::raw::c_long,
10668    ) -> ::std::os::raw::c_int;
10669}
10670extern "C" {
10671    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_set"]
10672    pub fn ASN1_ENUMERATED_set(
10673        a: *mut ASN1_ENUMERATED,
10674        v: ::std::os::raw::c_long,
10675    ) -> ::std::os::raw::c_int;
10676}
10677extern "C" {
10678    #[link_name = "aws_lc_0_47_0_ASN1_INTEGER_get"]
10679    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10680}
10681extern "C" {
10682    #[link_name = "aws_lc_0_47_0_ASN1_ENUMERATED_get"]
10683    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10684}
10685extern "C" {
10686    #[link_name = "aws_lc_0_47_0_ASN1_STRING_set_default_mask"]
10687    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10688}
10689extern "C" {
10690    #[link_name = "aws_lc_0_47_0_ASN1_STRING_set_default_mask_asc"]
10691    pub fn ASN1_STRING_set_default_mask_asc(
10692        p: *const ::std::os::raw::c_char,
10693    ) -> ::std::os::raw::c_int;
10694}
10695extern "C" {
10696    #[link_name = "aws_lc_0_47_0_ASN1_STRING_get_default_mask"]
10697    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10698}
10699extern "C" {
10700    #[link_name = "aws_lc_0_47_0_ASN1_STRING_TABLE_cleanup"]
10701    pub fn ASN1_STRING_TABLE_cleanup();
10702}
10703pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10704#[repr(C)]
10705#[derive(Debug)]
10706pub struct ASN1_TLC_st {
10707    _unused: [u8; 0],
10708}
10709pub type ASN1_TLC = ASN1_TLC_st;
10710#[repr(C)]
10711#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10712pub struct ASN1_TEMPLATE_st {
10713    pub flags: u32,
10714    pub tag: ::std::os::raw::c_int,
10715    pub offset: ::std::os::raw::c_ulong,
10716    pub field_name: *const ::std::os::raw::c_char,
10717    pub item: *const ASN1_ITEM_st,
10718}
10719#[test]
10720fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10721    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10722    let ptr = UNINIT.as_ptr();
10723    assert_eq!(
10724        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10725        32usize,
10726        "Size of ASN1_TEMPLATE_st"
10727    );
10728    assert_eq!(
10729        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10730        8usize,
10731        "Alignment of ASN1_TEMPLATE_st"
10732    );
10733    assert_eq!(
10734        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10735        0usize,
10736        "Offset of field: ASN1_TEMPLATE_st::flags"
10737    );
10738    assert_eq!(
10739        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10740        4usize,
10741        "Offset of field: ASN1_TEMPLATE_st::tag"
10742    );
10743    assert_eq!(
10744        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10745        8usize,
10746        "Offset of field: ASN1_TEMPLATE_st::offset"
10747    );
10748    assert_eq!(
10749        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10750        16usize,
10751        "Offset of field: ASN1_TEMPLATE_st::field_name"
10752    );
10753    assert_eq!(
10754        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10755        24usize,
10756        "Offset of field: ASN1_TEMPLATE_st::item"
10757    );
10758}
10759impl Default for ASN1_TEMPLATE_st {
10760    fn default() -> Self {
10761        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10762        unsafe {
10763            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10764            s.assume_init()
10765        }
10766    }
10767}
10768pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10769pub type ASN1_ADB = ASN1_ADB_st;
10770#[repr(C)]
10771#[derive(Debug)]
10772pub struct asn1_must_be_null_st {
10773    _unused: [u8; 0],
10774}
10775pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10776#[repr(C)]
10777#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10778pub struct ASN1_ADB_st {
10779    pub flags: u32,
10780    pub offset: ::std::os::raw::c_ulong,
10781    pub unused: *mut ASN1_MUST_BE_NULL,
10782    pub tbl: *const ASN1_ADB_TABLE,
10783    pub tblcount: ::std::os::raw::c_long,
10784    pub default_tt: *const ASN1_TEMPLATE,
10785    pub null_tt: *const ASN1_TEMPLATE,
10786}
10787#[test]
10788fn bindgen_test_layout_ASN1_ADB_st() {
10789    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10790    let ptr = UNINIT.as_ptr();
10791    assert_eq!(
10792        ::std::mem::size_of::<ASN1_ADB_st>(),
10793        56usize,
10794        "Size of ASN1_ADB_st"
10795    );
10796    assert_eq!(
10797        ::std::mem::align_of::<ASN1_ADB_st>(),
10798        8usize,
10799        "Alignment of ASN1_ADB_st"
10800    );
10801    assert_eq!(
10802        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10803        0usize,
10804        "Offset of field: ASN1_ADB_st::flags"
10805    );
10806    assert_eq!(
10807        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10808        8usize,
10809        "Offset of field: ASN1_ADB_st::offset"
10810    );
10811    assert_eq!(
10812        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10813        16usize,
10814        "Offset of field: ASN1_ADB_st::unused"
10815    );
10816    assert_eq!(
10817        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10818        24usize,
10819        "Offset of field: ASN1_ADB_st::tbl"
10820    );
10821    assert_eq!(
10822        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10823        32usize,
10824        "Offset of field: ASN1_ADB_st::tblcount"
10825    );
10826    assert_eq!(
10827        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10828        40usize,
10829        "Offset of field: ASN1_ADB_st::default_tt"
10830    );
10831    assert_eq!(
10832        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10833        48usize,
10834        "Offset of field: ASN1_ADB_st::null_tt"
10835    );
10836}
10837impl Default for ASN1_ADB_st {
10838    fn default() -> Self {
10839        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10840        unsafe {
10841            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10842            s.assume_init()
10843        }
10844    }
10845}
10846#[repr(C)]
10847#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10848pub struct ASN1_ADB_TABLE_st {
10849    pub value: ::std::os::raw::c_int,
10850    pub tt: ASN1_TEMPLATE,
10851}
10852#[test]
10853fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10854    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10855    let ptr = UNINIT.as_ptr();
10856    assert_eq!(
10857        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10858        40usize,
10859        "Size of ASN1_ADB_TABLE_st"
10860    );
10861    assert_eq!(
10862        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10863        8usize,
10864        "Alignment of ASN1_ADB_TABLE_st"
10865    );
10866    assert_eq!(
10867        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10868        0usize,
10869        "Offset of field: ASN1_ADB_TABLE_st::value"
10870    );
10871    assert_eq!(
10872        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10873        8usize,
10874        "Offset of field: ASN1_ADB_TABLE_st::tt"
10875    );
10876}
10877impl Default for ASN1_ADB_TABLE_st {
10878    fn default() -> Self {
10879        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10880        unsafe {
10881            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10882            s.assume_init()
10883        }
10884    }
10885}
10886#[repr(C)]
10887#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10888pub struct ASN1_ITEM_st {
10889    pub itype: ::std::os::raw::c_char,
10890    pub utype: ::std::os::raw::c_int,
10891    pub templates: *const ASN1_TEMPLATE,
10892    pub tcount: ::std::os::raw::c_long,
10893    pub funcs: *const ::std::os::raw::c_void,
10894    pub size: ::std::os::raw::c_long,
10895    pub sname: *const ::std::os::raw::c_char,
10896}
10897#[test]
10898fn bindgen_test_layout_ASN1_ITEM_st() {
10899    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10900    let ptr = UNINIT.as_ptr();
10901    assert_eq!(
10902        ::std::mem::size_of::<ASN1_ITEM_st>(),
10903        48usize,
10904        "Size of ASN1_ITEM_st"
10905    );
10906    assert_eq!(
10907        ::std::mem::align_of::<ASN1_ITEM_st>(),
10908        8usize,
10909        "Alignment of ASN1_ITEM_st"
10910    );
10911    assert_eq!(
10912        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10913        0usize,
10914        "Offset of field: ASN1_ITEM_st::itype"
10915    );
10916    assert_eq!(
10917        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10918        4usize,
10919        "Offset of field: ASN1_ITEM_st::utype"
10920    );
10921    assert_eq!(
10922        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10923        8usize,
10924        "Offset of field: ASN1_ITEM_st::templates"
10925    );
10926    assert_eq!(
10927        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10928        16usize,
10929        "Offset of field: ASN1_ITEM_st::tcount"
10930    );
10931    assert_eq!(
10932        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10933        24usize,
10934        "Offset of field: ASN1_ITEM_st::funcs"
10935    );
10936    assert_eq!(
10937        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10938        32usize,
10939        "Offset of field: ASN1_ITEM_st::size"
10940    );
10941    assert_eq!(
10942        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
10943        40usize,
10944        "Offset of field: ASN1_ITEM_st::sname"
10945    );
10946}
10947impl Default for ASN1_ITEM_st {
10948    fn default() -> Self {
10949        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10950        unsafe {
10951            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10952            s.assume_init()
10953        }
10954    }
10955}
10956pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
10957pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
10958pub type ASN1_d2i_func = ::std::option::Option<
10959    unsafe extern "C" fn(
10960        a: *mut *mut ASN1_VALUE,
10961        in_: *mut *const ::std::os::raw::c_uchar,
10962        length: ::std::os::raw::c_long,
10963    ) -> *mut ASN1_VALUE,
10964>;
10965pub type ASN1_i2d_func = ::std::option::Option<
10966    unsafe extern "C" fn(
10967        a: *mut ASN1_VALUE,
10968        in_: *mut *mut ::std::os::raw::c_uchar,
10969    ) -> ::std::os::raw::c_int,
10970>;
10971pub type ASN1_ex_d2i = ::std::option::Option<
10972    unsafe extern "C" fn(
10973        pval: *mut *mut ASN1_VALUE,
10974        in_: *mut *const ::std::os::raw::c_uchar,
10975        len: ::std::os::raw::c_long,
10976        it: *const ASN1_ITEM,
10977        tag: ::std::os::raw::c_int,
10978        aclass: ::std::os::raw::c_int,
10979        opt: ::std::os::raw::c_char,
10980        ctx: *mut ASN1_TLC,
10981    ) -> ::std::os::raw::c_int,
10982>;
10983pub type ASN1_ex_i2d = ::std::option::Option<
10984    unsafe extern "C" fn(
10985        pval: *mut *mut ASN1_VALUE,
10986        out: *mut *mut ::std::os::raw::c_uchar,
10987        it: *const ASN1_ITEM,
10988        tag: ::std::os::raw::c_int,
10989        aclass: ::std::os::raw::c_int,
10990    ) -> ::std::os::raw::c_int,
10991>;
10992pub type ASN1_ex_new_func = ::std::option::Option<
10993    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
10994>;
10995pub type ASN1_ex_free_func =
10996    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
10997pub type ASN1_ex_print_func = ::std::option::Option<
10998    unsafe extern "C" fn(
10999        out: *mut BIO,
11000        pval: *mut *mut ASN1_VALUE,
11001        indent: ::std::os::raw::c_int,
11002        fname: *const ::std::os::raw::c_char,
11003        pctx: *const ASN1_PCTX,
11004    ) -> ::std::os::raw::c_int,
11005>;
11006#[repr(C)]
11007#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11008pub struct ASN1_EXTERN_FUNCS_st {
11009    pub app_data: *mut ::std::os::raw::c_void,
11010    pub asn1_ex_new: ASN1_ex_new_func,
11011    pub asn1_ex_free: ASN1_ex_free_func,
11012    pub asn1_ex_d2i: ASN1_ex_d2i,
11013    pub asn1_ex_i2d: ASN1_ex_i2d,
11014    pub asn1_ex_print: ASN1_ex_print_func,
11015}
11016#[test]
11017fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
11018    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
11019    let ptr = UNINIT.as_ptr();
11020    assert_eq!(
11021        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
11022        48usize,
11023        "Size of ASN1_EXTERN_FUNCS_st"
11024    );
11025    assert_eq!(
11026        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
11027        8usize,
11028        "Alignment of ASN1_EXTERN_FUNCS_st"
11029    );
11030    assert_eq!(
11031        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11032        0usize,
11033        "Offset of field: ASN1_EXTERN_FUNCS_st::app_data"
11034    );
11035    assert_eq!(
11036        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
11037        8usize,
11038        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_new"
11039    );
11040    assert_eq!(
11041        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
11042        16usize,
11043        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_free"
11044    );
11045    assert_eq!(
11046        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
11047        24usize,
11048        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_d2i"
11049    );
11050    assert_eq!(
11051        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
11052        32usize,
11053        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_i2d"
11054    );
11055    assert_eq!(
11056        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
11057        40usize,
11058        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_print"
11059    );
11060}
11061impl Default for ASN1_EXTERN_FUNCS_st {
11062    fn default() -> Self {
11063        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11064        unsafe {
11065            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11066            s.assume_init()
11067        }
11068    }
11069}
11070pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
11071pub type ASN1_aux_cb = ::std::option::Option<
11072    unsafe extern "C" fn(
11073        operation: ::std::os::raw::c_int,
11074        in_: *mut *mut ASN1_VALUE,
11075        it: *const ASN1_ITEM,
11076        exarg: *mut ::std::os::raw::c_void,
11077    ) -> ::std::os::raw::c_int,
11078>;
11079#[repr(C)]
11080#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11081pub struct ASN1_AUX_st {
11082    pub app_data: *mut ::std::os::raw::c_void,
11083    pub flags: u32,
11084    pub ref_offset: ::std::os::raw::c_int,
11085    pub asn1_cb: ASN1_aux_cb,
11086    pub enc_offset: ::std::os::raw::c_int,
11087}
11088#[test]
11089fn bindgen_test_layout_ASN1_AUX_st() {
11090    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
11091    let ptr = UNINIT.as_ptr();
11092    assert_eq!(
11093        ::std::mem::size_of::<ASN1_AUX_st>(),
11094        32usize,
11095        "Size of ASN1_AUX_st"
11096    );
11097    assert_eq!(
11098        ::std::mem::align_of::<ASN1_AUX_st>(),
11099        8usize,
11100        "Alignment of ASN1_AUX_st"
11101    );
11102    assert_eq!(
11103        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11104        0usize,
11105        "Offset of field: ASN1_AUX_st::app_data"
11106    );
11107    assert_eq!(
11108        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11109        8usize,
11110        "Offset of field: ASN1_AUX_st::flags"
11111    );
11112    assert_eq!(
11113        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
11114        12usize,
11115        "Offset of field: ASN1_AUX_st::ref_offset"
11116    );
11117    assert_eq!(
11118        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
11119        16usize,
11120        "Offset of field: ASN1_AUX_st::asn1_cb"
11121    );
11122    assert_eq!(
11123        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
11124        24usize,
11125        "Offset of field: ASN1_AUX_st::enc_offset"
11126    );
11127}
11128impl Default for ASN1_AUX_st {
11129    fn default() -> Self {
11130        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11131        unsafe {
11132            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11133            s.assume_init()
11134        }
11135    }
11136}
11137pub type ASN1_AUX = ASN1_AUX_st;
11138extern "C" {
11139    #[link_name = "aws_lc_0_47_0_ASN1_SEQUENCE_it"]
11140    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
11141}
11142#[repr(C)]
11143#[derive(Debug)]
11144pub struct stack_st_ASN1_VALUE {
11145    _unused: [u8; 0],
11146}
11147pub type sk_ASN1_VALUE_free_func =
11148    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
11149pub type sk_ASN1_VALUE_copy_func =
11150    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
11151pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
11152    unsafe extern "C" fn(
11153        arg1: *const *const ASN1_VALUE,
11154        arg2: *const *const ASN1_VALUE,
11155    ) -> ::std::os::raw::c_int,
11156>;
11157pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
11158    unsafe extern "C" fn(
11159        arg1: *mut ASN1_VALUE,
11160        arg2: *mut ::std::os::raw::c_void,
11161    ) -> ::std::os::raw::c_int,
11162>;
11163extern "C" {
11164    #[link_name = "aws_lc_0_47_0_EVP_EncodeBlock"]
11165    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
11166}
11167extern "C" {
11168    #[link_name = "aws_lc_0_47_0_EVP_EncodedLength"]
11169    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11170}
11171extern "C" {
11172    #[link_name = "aws_lc_0_47_0_EVP_DecodedLength"]
11173    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11174}
11175extern "C" {
11176    #[link_name = "aws_lc_0_47_0_EVP_DecodeBase64"]
11177    pub fn EVP_DecodeBase64(
11178        out: *mut u8,
11179        out_len: *mut usize,
11180        max_out: usize,
11181        in_: *const u8,
11182        in_len: usize,
11183    ) -> ::std::os::raw::c_int;
11184}
11185extern "C" {
11186    #[link_name = "aws_lc_0_47_0_EVP_ENCODE_CTX_new"]
11187    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
11188}
11189extern "C" {
11190    #[link_name = "aws_lc_0_47_0_EVP_ENCODE_CTX_free"]
11191    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
11192}
11193extern "C" {
11194    #[link_name = "aws_lc_0_47_0_EVP_EncodeInit"]
11195    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
11196}
11197extern "C" {
11198    #[link_name = "aws_lc_0_47_0_EVP_EncodeUpdate"]
11199    pub fn EVP_EncodeUpdate(
11200        ctx: *mut EVP_ENCODE_CTX,
11201        out: *mut u8,
11202        out_len: *mut ::std::os::raw::c_int,
11203        in_: *const u8,
11204        in_len: usize,
11205    ) -> ::std::os::raw::c_int;
11206}
11207extern "C" {
11208    #[link_name = "aws_lc_0_47_0_EVP_EncodeFinal"]
11209    pub fn EVP_EncodeFinal(
11210        ctx: *mut EVP_ENCODE_CTX,
11211        out: *mut u8,
11212        out_len: *mut ::std::os::raw::c_int,
11213    );
11214}
11215extern "C" {
11216    #[link_name = "aws_lc_0_47_0_EVP_DecodeInit"]
11217    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
11218}
11219extern "C" {
11220    #[link_name = "aws_lc_0_47_0_EVP_DecodeUpdate"]
11221    pub fn EVP_DecodeUpdate(
11222        ctx: *mut EVP_ENCODE_CTX,
11223        out: *mut u8,
11224        out_len: *mut ::std::os::raw::c_int,
11225        in_: *const u8,
11226        in_len: usize,
11227    ) -> ::std::os::raw::c_int;
11228}
11229extern "C" {
11230    #[link_name = "aws_lc_0_47_0_EVP_DecodeFinal"]
11231    pub fn EVP_DecodeFinal(
11232        ctx: *mut EVP_ENCODE_CTX,
11233        out: *mut u8,
11234        out_len: *mut ::std::os::raw::c_int,
11235    ) -> ::std::os::raw::c_int;
11236}
11237extern "C" {
11238    #[link_name = "aws_lc_0_47_0_EVP_DecodeBlock"]
11239    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
11240}
11241#[repr(C)]
11242#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11243pub struct evp_encode_ctx_st {
11244    pub data_used: ::std::os::raw::c_uint,
11245    pub data: [u8; 48usize],
11246    pub eof_seen: ::std::os::raw::c_char,
11247    pub error_encountered: ::std::os::raw::c_char,
11248}
11249#[test]
11250fn bindgen_test_layout_evp_encode_ctx_st() {
11251    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
11252    let ptr = UNINIT.as_ptr();
11253    assert_eq!(
11254        ::std::mem::size_of::<evp_encode_ctx_st>(),
11255        56usize,
11256        "Size of evp_encode_ctx_st"
11257    );
11258    assert_eq!(
11259        ::std::mem::align_of::<evp_encode_ctx_st>(),
11260        4usize,
11261        "Alignment of evp_encode_ctx_st"
11262    );
11263    assert_eq!(
11264        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
11265        0usize,
11266        "Offset of field: evp_encode_ctx_st::data_used"
11267    );
11268    assert_eq!(
11269        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11270        4usize,
11271        "Offset of field: evp_encode_ctx_st::data"
11272    );
11273    assert_eq!(
11274        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
11275        52usize,
11276        "Offset of field: evp_encode_ctx_st::eof_seen"
11277    );
11278    assert_eq!(
11279        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
11280        53usize,
11281        "Offset of field: evp_encode_ctx_st::error_encountered"
11282    );
11283}
11284impl Default for evp_encode_ctx_st {
11285    fn default() -> Self {
11286        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11287        unsafe {
11288            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11289            s.assume_init()
11290        }
11291    }
11292}
11293#[repr(C)]
11294#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11295pub struct blake2b_state_st {
11296    pub h: [u64; 8usize],
11297    pub t_low: u64,
11298    pub t_high: u64,
11299    pub block: [u8; 128usize],
11300    pub block_used: usize,
11301}
11302#[test]
11303fn bindgen_test_layout_blake2b_state_st() {
11304    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
11305    let ptr = UNINIT.as_ptr();
11306    assert_eq!(
11307        ::std::mem::size_of::<blake2b_state_st>(),
11308        216usize,
11309        "Size of blake2b_state_st"
11310    );
11311    assert_eq!(
11312        ::std::mem::align_of::<blake2b_state_st>(),
11313        8usize,
11314        "Alignment of blake2b_state_st"
11315    );
11316    assert_eq!(
11317        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11318        0usize,
11319        "Offset of field: blake2b_state_st::h"
11320    );
11321    assert_eq!(
11322        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
11323        64usize,
11324        "Offset of field: blake2b_state_st::t_low"
11325    );
11326    assert_eq!(
11327        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
11328        72usize,
11329        "Offset of field: blake2b_state_st::t_high"
11330    );
11331    assert_eq!(
11332        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
11333        80usize,
11334        "Offset of field: blake2b_state_st::block"
11335    );
11336    assert_eq!(
11337        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
11338        208usize,
11339        "Offset of field: blake2b_state_st::block_used"
11340    );
11341}
11342impl Default for blake2b_state_st {
11343    fn default() -> Self {
11344        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11345        unsafe {
11346            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11347            s.assume_init()
11348        }
11349    }
11350}
11351extern "C" {
11352    #[link_name = "aws_lc_0_47_0_BLAKE2B256_Init"]
11353    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
11354}
11355extern "C" {
11356    #[link_name = "aws_lc_0_47_0_BLAKE2B256_Update"]
11357    pub fn BLAKE2B256_Update(
11358        b2b: *mut BLAKE2B_CTX,
11359        data: *const ::std::os::raw::c_void,
11360        len: usize,
11361    );
11362}
11363extern "C" {
11364    #[link_name = "aws_lc_0_47_0_BLAKE2B256_Final"]
11365    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
11366}
11367extern "C" {
11368    #[link_name = "aws_lc_0_47_0_BLAKE2B256"]
11369    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
11370}
11371#[repr(C)]
11372#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11373pub struct bf_key_st {
11374    pub P: [u32; 18usize],
11375    pub S: [u32; 1024usize],
11376}
11377#[test]
11378fn bindgen_test_layout_bf_key_st() {
11379    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
11380    let ptr = UNINIT.as_ptr();
11381    assert_eq!(
11382        ::std::mem::size_of::<bf_key_st>(),
11383        4168usize,
11384        "Size of bf_key_st"
11385    );
11386    assert_eq!(
11387        ::std::mem::align_of::<bf_key_st>(),
11388        4usize,
11389        "Alignment of bf_key_st"
11390    );
11391    assert_eq!(
11392        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
11393        0usize,
11394        "Offset of field: bf_key_st::P"
11395    );
11396    assert_eq!(
11397        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
11398        72usize,
11399        "Offset of field: bf_key_st::S"
11400    );
11401}
11402impl Default for bf_key_st {
11403    fn default() -> Self {
11404        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11405        unsafe {
11406            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11407            s.assume_init()
11408        }
11409    }
11410}
11411pub type BF_KEY = bf_key_st;
11412extern "C" {
11413    #[link_name = "aws_lc_0_47_0_BF_set_key"]
11414    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
11415}
11416extern "C" {
11417    #[link_name = "aws_lc_0_47_0_BF_encrypt"]
11418    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
11419}
11420extern "C" {
11421    #[link_name = "aws_lc_0_47_0_BF_decrypt"]
11422    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
11423}
11424extern "C" {
11425    #[link_name = "aws_lc_0_47_0_BF_ecb_encrypt"]
11426    pub fn BF_ecb_encrypt(
11427        in_: *const u8,
11428        out: *mut u8,
11429        key: *const BF_KEY,
11430        enc: ::std::os::raw::c_int,
11431    );
11432}
11433extern "C" {
11434    #[link_name = "aws_lc_0_47_0_BF_cbc_encrypt"]
11435    pub fn BF_cbc_encrypt(
11436        in_: *const u8,
11437        out: *mut u8,
11438        length: usize,
11439        schedule: *const BF_KEY,
11440        ivec: *mut u8,
11441        enc: ::std::os::raw::c_int,
11442    );
11443}
11444extern "C" {
11445    #[link_name = "aws_lc_0_47_0_BF_cfb64_encrypt"]
11446    pub fn BF_cfb64_encrypt(
11447        in_: *const u8,
11448        out: *mut u8,
11449        length: usize,
11450        schedule: *const BF_KEY,
11451        ivec: *mut u8,
11452        num: *mut ::std::os::raw::c_int,
11453        encrypt: ::std::os::raw::c_int,
11454    );
11455}
11456extern "C" {
11457    #[link_name = "aws_lc_0_47_0_BF_ofb64_encrypt"]
11458    pub fn BF_ofb64_encrypt(
11459        in_: *const u8,
11460        out: *mut u8,
11461        length: usize,
11462        schedule: *const BF_KEY,
11463        ivec: *mut u8,
11464        num: *mut ::std::os::raw::c_int,
11465    );
11466}
11467#[repr(C)]
11468#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11469pub struct cbs_st {
11470    pub data: *const u8,
11471    pub len: usize,
11472}
11473#[test]
11474fn bindgen_test_layout_cbs_st() {
11475    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11476    let ptr = UNINIT.as_ptr();
11477    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
11478    assert_eq!(
11479        ::std::mem::align_of::<cbs_st>(),
11480        8usize,
11481        "Alignment of cbs_st"
11482    );
11483    assert_eq!(
11484        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11485        0usize,
11486        "Offset of field: cbs_st::data"
11487    );
11488    assert_eq!(
11489        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11490        8usize,
11491        "Offset of field: cbs_st::len"
11492    );
11493}
11494impl Default for cbs_st {
11495    fn default() -> Self {
11496        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11497        unsafe {
11498            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11499            s.assume_init()
11500        }
11501    }
11502}
11503extern "C" {
11504    #[link_name = "aws_lc_0_47_0_CBS_init"]
11505    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11506}
11507extern "C" {
11508    #[link_name = "aws_lc_0_47_0_CBS_skip"]
11509    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11510}
11511extern "C" {
11512    #[link_name = "aws_lc_0_47_0_CBS_data"]
11513    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11514}
11515extern "C" {
11516    #[link_name = "aws_lc_0_47_0_CBS_len"]
11517    pub fn CBS_len(cbs: *const CBS) -> usize;
11518}
11519extern "C" {
11520    #[link_name = "aws_lc_0_47_0_CBS_stow"]
11521    pub fn CBS_stow(
11522        cbs: *const CBS,
11523        out_ptr: *mut *mut u8,
11524        out_len: *mut usize,
11525    ) -> ::std::os::raw::c_int;
11526}
11527extern "C" {
11528    #[link_name = "aws_lc_0_47_0_CBS_strdup"]
11529    pub fn CBS_strdup(
11530        cbs: *const CBS,
11531        out_ptr: *mut *mut ::std::os::raw::c_char,
11532    ) -> ::std::os::raw::c_int;
11533}
11534extern "C" {
11535    #[link_name = "aws_lc_0_47_0_CBS_contains_zero_byte"]
11536    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11537}
11538extern "C" {
11539    #[link_name = "aws_lc_0_47_0_CBS_mem_equal"]
11540    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11541}
11542extern "C" {
11543    #[link_name = "aws_lc_0_47_0_CBS_get_u8"]
11544    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11545}
11546extern "C" {
11547    #[link_name = "aws_lc_0_47_0_CBS_get_u16"]
11548    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11549}
11550extern "C" {
11551    #[link_name = "aws_lc_0_47_0_CBS_get_u16le"]
11552    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11553}
11554extern "C" {
11555    #[link_name = "aws_lc_0_47_0_CBS_get_u24"]
11556    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11557}
11558extern "C" {
11559    #[link_name = "aws_lc_0_47_0_CBS_get_u32"]
11560    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11561}
11562extern "C" {
11563    #[link_name = "aws_lc_0_47_0_CBS_get_u32le"]
11564    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11565}
11566extern "C" {
11567    #[link_name = "aws_lc_0_47_0_CBS_get_u64"]
11568    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11569}
11570extern "C" {
11571    #[link_name = "aws_lc_0_47_0_CBS_get_u64le"]
11572    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11573}
11574extern "C" {
11575    #[link_name = "aws_lc_0_47_0_CBS_get_last_u8"]
11576    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11577}
11578extern "C" {
11579    #[link_name = "aws_lc_0_47_0_CBS_get_bytes"]
11580    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11581}
11582extern "C" {
11583    #[link_name = "aws_lc_0_47_0_CBS_copy_bytes"]
11584    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11585}
11586extern "C" {
11587    #[link_name = "aws_lc_0_47_0_CBS_get_u8_length_prefixed"]
11588    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11589}
11590extern "C" {
11591    #[link_name = "aws_lc_0_47_0_CBS_get_u16_length_prefixed"]
11592    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11593}
11594extern "C" {
11595    #[link_name = "aws_lc_0_47_0_CBS_get_u24_length_prefixed"]
11596    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11597}
11598extern "C" {
11599    #[link_name = "aws_lc_0_47_0_CBS_get_until_first"]
11600    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11601}
11602extern "C" {
11603    #[link_name = "aws_lc_0_47_0_CBS_get_u64_decimal"]
11604    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11605}
11606extern "C" {
11607    #[link_name = "aws_lc_0_47_0_CBS_get_asn1"]
11608    pub fn CBS_get_asn1(
11609        cbs: *mut CBS,
11610        out: *mut CBS,
11611        tag_value: CBS_ASN1_TAG,
11612    ) -> ::std::os::raw::c_int;
11613}
11614extern "C" {
11615    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_element"]
11616    pub fn CBS_get_asn1_element(
11617        cbs: *mut CBS,
11618        out: *mut CBS,
11619        tag_value: CBS_ASN1_TAG,
11620    ) -> ::std::os::raw::c_int;
11621}
11622extern "C" {
11623    #[link_name = "aws_lc_0_47_0_CBS_peek_asn1_tag"]
11624    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11625}
11626extern "C" {
11627    #[link_name = "aws_lc_0_47_0_CBS_get_any_asn1"]
11628    pub fn CBS_get_any_asn1(
11629        cbs: *mut CBS,
11630        out: *mut CBS,
11631        out_tag: *mut CBS_ASN1_TAG,
11632    ) -> ::std::os::raw::c_int;
11633}
11634extern "C" {
11635    #[link_name = "aws_lc_0_47_0_CBS_get_any_asn1_element"]
11636    pub fn CBS_get_any_asn1_element(
11637        cbs: *mut CBS,
11638        out: *mut CBS,
11639        out_tag: *mut CBS_ASN1_TAG,
11640        out_header_len: *mut usize,
11641    ) -> ::std::os::raw::c_int;
11642}
11643extern "C" {
11644    #[link_name = "aws_lc_0_47_0_CBS_get_any_ber_asn1_element"]
11645    pub fn CBS_get_any_ber_asn1_element(
11646        cbs: *mut CBS,
11647        out: *mut CBS,
11648        out_tag: *mut CBS_ASN1_TAG,
11649        out_header_len: *mut usize,
11650        out_ber_found: *mut ::std::os::raw::c_int,
11651        out_indefinite: *mut ::std::os::raw::c_int,
11652    ) -> ::std::os::raw::c_int;
11653}
11654extern "C" {
11655    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_uint64"]
11656    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11657}
11658extern "C" {
11659    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_int64"]
11660    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11661}
11662extern "C" {
11663    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_bool"]
11664    pub fn CBS_get_asn1_bool(
11665        cbs: *mut CBS,
11666        out: *mut ::std::os::raw::c_int,
11667    ) -> ::std::os::raw::c_int;
11668}
11669extern "C" {
11670    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1"]
11671    pub fn CBS_get_optional_asn1(
11672        cbs: *mut CBS,
11673        out: *mut CBS,
11674        out_present: *mut ::std::os::raw::c_int,
11675        tag: CBS_ASN1_TAG,
11676    ) -> ::std::os::raw::c_int;
11677}
11678extern "C" {
11679    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_octet_string"]
11680    pub fn CBS_get_optional_asn1_octet_string(
11681        cbs: *mut CBS,
11682        out: *mut CBS,
11683        out_present: *mut ::std::os::raw::c_int,
11684        tag: CBS_ASN1_TAG,
11685    ) -> ::std::os::raw::c_int;
11686}
11687extern "C" {
11688    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_uint64"]
11689    pub fn CBS_get_optional_asn1_uint64(
11690        cbs: *mut CBS,
11691        out: *mut u64,
11692        tag: CBS_ASN1_TAG,
11693        default_value: u64,
11694    ) -> ::std::os::raw::c_int;
11695}
11696extern "C" {
11697    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_bool"]
11698    pub fn CBS_get_optional_asn1_bool(
11699        cbs: *mut CBS,
11700        out: *mut ::std::os::raw::c_int,
11701        tag: CBS_ASN1_TAG,
11702        default_value: ::std::os::raw::c_int,
11703    ) -> ::std::os::raw::c_int;
11704}
11705extern "C" {
11706    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_bitstring"]
11707    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11708}
11709extern "C" {
11710    #[link_name = "aws_lc_0_47_0_CBS_asn1_bitstring_has_bit"]
11711    pub fn CBS_asn1_bitstring_has_bit(
11712        cbs: *const CBS,
11713        bit: ::std::os::raw::c_uint,
11714    ) -> ::std::os::raw::c_int;
11715}
11716extern "C" {
11717    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_integer"]
11718    pub fn CBS_is_valid_asn1_integer(
11719        cbs: *const CBS,
11720        out_is_negative: *mut ::std::os::raw::c_int,
11721    ) -> ::std::os::raw::c_int;
11722}
11723extern "C" {
11724    #[link_name = "aws_lc_0_47_0_CBS_is_unsigned_asn1_integer"]
11725    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11726}
11727extern "C" {
11728    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_oid"]
11729    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11730}
11731extern "C" {
11732    #[link_name = "aws_lc_0_47_0_CBS_asn1_oid_to_text"]
11733    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11734}
11735extern "C" {
11736    #[link_name = "aws_lc_0_47_0_CBS_parse_generalized_time"]
11737    pub fn CBS_parse_generalized_time(
11738        cbs: *const CBS,
11739        out_tm: *mut tm,
11740        allow_timezone_offset: ::std::os::raw::c_int,
11741    ) -> ::std::os::raw::c_int;
11742}
11743extern "C" {
11744    #[link_name = "aws_lc_0_47_0_CBS_parse_utc_time"]
11745    pub fn CBS_parse_utc_time(
11746        cbs: *const CBS,
11747        out_tm: *mut tm,
11748        allow_timezone_offset: ::std::os::raw::c_int,
11749    ) -> ::std::os::raw::c_int;
11750}
11751extern "C" {
11752    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_int64"]
11753    pub fn CBS_get_optional_asn1_int64(
11754        cbs: *mut CBS,
11755        out: *mut i64,
11756        tag: CBS_ASN1_TAG,
11757        default_value: i64,
11758    ) -> ::std::os::raw::c_int;
11759}
11760#[repr(C)]
11761#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11762pub struct cbb_buffer_st {
11763    pub buf: *mut u8,
11764    pub len: usize,
11765    pub cap: usize,
11766    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11767    pub __bindgen_padding_0: [u8; 7usize],
11768}
11769#[test]
11770fn bindgen_test_layout_cbb_buffer_st() {
11771    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11772    let ptr = UNINIT.as_ptr();
11773    assert_eq!(
11774        ::std::mem::size_of::<cbb_buffer_st>(),
11775        32usize,
11776        "Size of cbb_buffer_st"
11777    );
11778    assert_eq!(
11779        ::std::mem::align_of::<cbb_buffer_st>(),
11780        8usize,
11781        "Alignment of cbb_buffer_st"
11782    );
11783    assert_eq!(
11784        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11785        0usize,
11786        "Offset of field: cbb_buffer_st::buf"
11787    );
11788    assert_eq!(
11789        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11790        8usize,
11791        "Offset of field: cbb_buffer_st::len"
11792    );
11793    assert_eq!(
11794        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11795        16usize,
11796        "Offset of field: cbb_buffer_st::cap"
11797    );
11798}
11799impl Default for cbb_buffer_st {
11800    fn default() -> Self {
11801        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11802        unsafe {
11803            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11804            s.assume_init()
11805        }
11806    }
11807}
11808impl cbb_buffer_st {
11809    #[inline]
11810    #[allow(unnecessary_transmutes)]
11811    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
11812        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
11813    }
11814    #[inline]
11815    #[allow(unnecessary_transmutes)]
11816    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
11817        unsafe {
11818            let val: u32 = ::std::mem::transmute(val);
11819            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
11820        }
11821    }
11822    #[inline]
11823    #[allow(unnecessary_transmutes)]
11824    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
11825        unsafe {
11826            ::std::mem::transmute(
11827                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
11828                    ::std::ptr::addr_of!((*this)._bitfield_1),
11829                ) as u32,
11830            )
11831        }
11832    }
11833    #[inline]
11834    #[allow(unnecessary_transmutes)]
11835    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11836        unsafe {
11837            let val: u32 = ::std::mem::transmute(val);
11838            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
11839                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11840                val as u64,
11841            )
11842        }
11843    }
11844    #[inline]
11845    #[allow(unnecessary_transmutes)]
11846    pub fn error(&self) -> ::std::os::raw::c_uint {
11847        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<1usize, 1u8>() as u32) }
11848    }
11849    #[inline]
11850    #[allow(unnecessary_transmutes)]
11851    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
11852        unsafe {
11853            let val: u32 = ::std::mem::transmute(val);
11854            self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
11855        }
11856    }
11857    #[inline]
11858    #[allow(unnecessary_transmutes)]
11859    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
11860        unsafe {
11861            ::std::mem::transmute(
11862                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
11863                    ::std::ptr::addr_of!((*this)._bitfield_1),
11864                ) as u32,
11865            )
11866        }
11867    }
11868    #[inline]
11869    #[allow(unnecessary_transmutes)]
11870    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11871        unsafe {
11872            let val: u32 = ::std::mem::transmute(val);
11873            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
11874                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11875                val as u64,
11876            )
11877        }
11878    }
11879    #[inline]
11880    #[allow(unnecessary_transmutes)]
11881    pub fn new_bitfield_1(
11882        can_resize: ::std::os::raw::c_uint,
11883        error: ::std::os::raw::c_uint,
11884    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11885        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11886        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
11887            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
11888            can_resize as u64
11889        });
11890        __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
11891            let error: u32 = unsafe { ::std::mem::transmute(error) };
11892            error as u64
11893        });
11894        __bindgen_bitfield_unit
11895    }
11896}
11897#[repr(C)]
11898#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11899pub struct cbb_child_st {
11900    pub base: *mut cbb_buffer_st,
11901    pub offset: usize,
11902    pub pending_len_len: u8,
11903    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11904    pub __bindgen_padding_0: [u16; 3usize],
11905}
11906#[test]
11907fn bindgen_test_layout_cbb_child_st() {
11908    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
11909    let ptr = UNINIT.as_ptr();
11910    assert_eq!(
11911        ::std::mem::size_of::<cbb_child_st>(),
11912        24usize,
11913        "Size of cbb_child_st"
11914    );
11915    assert_eq!(
11916        ::std::mem::align_of::<cbb_child_st>(),
11917        8usize,
11918        "Alignment of cbb_child_st"
11919    );
11920    assert_eq!(
11921        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11922        0usize,
11923        "Offset of field: cbb_child_st::base"
11924    );
11925    assert_eq!(
11926        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
11927        8usize,
11928        "Offset of field: cbb_child_st::offset"
11929    );
11930    assert_eq!(
11931        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
11932        16usize,
11933        "Offset of field: cbb_child_st::pending_len_len"
11934    );
11935}
11936impl Default for cbb_child_st {
11937    fn default() -> Self {
11938        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11939        unsafe {
11940            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11941            s.assume_init()
11942        }
11943    }
11944}
11945impl cbb_child_st {
11946    #[inline]
11947    #[allow(unnecessary_transmutes)]
11948    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
11949        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
11950    }
11951    #[inline]
11952    #[allow(unnecessary_transmutes)]
11953    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
11954        unsafe {
11955            let val: u32 = ::std::mem::transmute(val);
11956            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
11957        }
11958    }
11959    #[inline]
11960    #[allow(unnecessary_transmutes)]
11961    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
11962        unsafe {
11963            ::std::mem::transmute(
11964                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
11965                    ::std::ptr::addr_of!((*this)._bitfield_1),
11966                ) as u32,
11967            )
11968        }
11969    }
11970    #[inline]
11971    #[allow(unnecessary_transmutes)]
11972    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11973        unsafe {
11974            let val: u32 = ::std::mem::transmute(val);
11975            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
11976                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11977                val as u64,
11978            )
11979        }
11980    }
11981    #[inline]
11982    #[allow(unnecessary_transmutes)]
11983    pub fn new_bitfield_1(
11984        pending_is_asn1: ::std::os::raw::c_uint,
11985    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11986        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11987        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
11988            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
11989            pending_is_asn1 as u64
11990        });
11991        __bindgen_bitfield_unit
11992    }
11993}
11994#[repr(C)]
11995#[derive(Copy, Clone)]
11996pub struct cbb_st {
11997    pub child: *mut CBB,
11998    pub is_child: ::std::os::raw::c_char,
11999    pub u: cbb_st__bindgen_ty_1,
12000}
12001#[repr(C)]
12002#[derive(Copy, Clone)]
12003pub union cbb_st__bindgen_ty_1 {
12004    pub base: cbb_buffer_st,
12005    pub child: cbb_child_st,
12006}
12007#[test]
12008fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
12009    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
12010    let ptr = UNINIT.as_ptr();
12011    assert_eq!(
12012        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
12013        32usize,
12014        "Size of cbb_st__bindgen_ty_1"
12015    );
12016    assert_eq!(
12017        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
12018        8usize,
12019        "Alignment of cbb_st__bindgen_ty_1"
12020    );
12021    assert_eq!(
12022        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12023        0usize,
12024        "Offset of field: cbb_st__bindgen_ty_1::base"
12025    );
12026    assert_eq!(
12027        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12028        0usize,
12029        "Offset of field: cbb_st__bindgen_ty_1::child"
12030    );
12031}
12032impl Default for cbb_st__bindgen_ty_1 {
12033    fn default() -> Self {
12034        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12035        unsafe {
12036            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12037            s.assume_init()
12038        }
12039    }
12040}
12041#[test]
12042fn bindgen_test_layout_cbb_st() {
12043    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
12044    let ptr = UNINIT.as_ptr();
12045    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
12046    assert_eq!(
12047        ::std::mem::align_of::<cbb_st>(),
12048        8usize,
12049        "Alignment of cbb_st"
12050    );
12051    assert_eq!(
12052        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12053        0usize,
12054        "Offset of field: cbb_st::child"
12055    );
12056    assert_eq!(
12057        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
12058        8usize,
12059        "Offset of field: cbb_st::is_child"
12060    );
12061    assert_eq!(
12062        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12063        16usize,
12064        "Offset of field: cbb_st::u"
12065    );
12066}
12067impl Default for cbb_st {
12068    fn default() -> Self {
12069        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12070        unsafe {
12071            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12072            s.assume_init()
12073        }
12074    }
12075}
12076extern "C" {
12077    #[link_name = "aws_lc_0_47_0_CBB_zero"]
12078    pub fn CBB_zero(cbb: *mut CBB);
12079}
12080extern "C" {
12081    #[link_name = "aws_lc_0_47_0_CBB_init"]
12082    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
12083}
12084extern "C" {
12085    #[link_name = "aws_lc_0_47_0_CBB_init_fixed"]
12086    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
12087}
12088extern "C" {
12089    #[link_name = "aws_lc_0_47_0_CBB_cleanup"]
12090    pub fn CBB_cleanup(cbb: *mut CBB);
12091}
12092extern "C" {
12093    #[link_name = "aws_lc_0_47_0_CBB_finish"]
12094    pub fn CBB_finish(
12095        cbb: *mut CBB,
12096        out_data: *mut *mut u8,
12097        out_len: *mut usize,
12098    ) -> ::std::os::raw::c_int;
12099}
12100extern "C" {
12101    #[link_name = "aws_lc_0_47_0_CBB_flush"]
12102    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
12103}
12104extern "C" {
12105    #[link_name = "aws_lc_0_47_0_CBB_data"]
12106    pub fn CBB_data(cbb: *const CBB) -> *const u8;
12107}
12108extern "C" {
12109    #[link_name = "aws_lc_0_47_0_CBB_len"]
12110    pub fn CBB_len(cbb: *const CBB) -> usize;
12111}
12112extern "C" {
12113    #[link_name = "aws_lc_0_47_0_CBB_add_u8_length_prefixed"]
12114    pub fn CBB_add_u8_length_prefixed(
12115        cbb: *mut CBB,
12116        out_contents: *mut CBB,
12117    ) -> ::std::os::raw::c_int;
12118}
12119extern "C" {
12120    #[link_name = "aws_lc_0_47_0_CBB_add_u16_length_prefixed"]
12121    pub fn CBB_add_u16_length_prefixed(
12122        cbb: *mut CBB,
12123        out_contents: *mut CBB,
12124    ) -> ::std::os::raw::c_int;
12125}
12126extern "C" {
12127    #[link_name = "aws_lc_0_47_0_CBB_add_u24_length_prefixed"]
12128    pub fn CBB_add_u24_length_prefixed(
12129        cbb: *mut CBB,
12130        out_contents: *mut CBB,
12131    ) -> ::std::os::raw::c_int;
12132}
12133extern "C" {
12134    #[link_name = "aws_lc_0_47_0_CBB_add_asn1"]
12135    pub fn CBB_add_asn1(
12136        cbb: *mut CBB,
12137        out_contents: *mut CBB,
12138        tag: CBS_ASN1_TAG,
12139    ) -> ::std::os::raw::c_int;
12140}
12141extern "C" {
12142    #[link_name = "aws_lc_0_47_0_CBB_add_bytes"]
12143    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
12144}
12145extern "C" {
12146    #[link_name = "aws_lc_0_47_0_CBB_add_zeros"]
12147    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12148}
12149extern "C" {
12150    #[link_name = "aws_lc_0_47_0_CBB_add_space"]
12151    pub fn CBB_add_space(
12152        cbb: *mut CBB,
12153        out_data: *mut *mut u8,
12154        len: usize,
12155    ) -> ::std::os::raw::c_int;
12156}
12157extern "C" {
12158    #[link_name = "aws_lc_0_47_0_CBB_reserve"]
12159    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
12160}
12161extern "C" {
12162    #[link_name = "aws_lc_0_47_0_CBB_did_write"]
12163    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12164}
12165extern "C" {
12166    #[link_name = "aws_lc_0_47_0_CBB_add_u8"]
12167    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
12168}
12169extern "C" {
12170    #[link_name = "aws_lc_0_47_0_CBB_add_u16"]
12171    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12172}
12173extern "C" {
12174    #[link_name = "aws_lc_0_47_0_CBB_add_u16le"]
12175    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12176}
12177extern "C" {
12178    #[link_name = "aws_lc_0_47_0_CBB_add_u24"]
12179    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12180}
12181extern "C" {
12182    #[link_name = "aws_lc_0_47_0_CBB_add_u32"]
12183    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12184}
12185extern "C" {
12186    #[link_name = "aws_lc_0_47_0_CBB_add_u32le"]
12187    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12188}
12189extern "C" {
12190    #[link_name = "aws_lc_0_47_0_CBB_add_u64"]
12191    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12192}
12193extern "C" {
12194    #[link_name = "aws_lc_0_47_0_CBB_add_u64le"]
12195    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12196}
12197extern "C" {
12198    #[link_name = "aws_lc_0_47_0_CBB_discard_child"]
12199    pub fn CBB_discard_child(cbb: *mut CBB);
12200}
12201extern "C" {
12202    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_uint64"]
12203    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12204}
12205extern "C" {
12206    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_uint64_with_tag"]
12207    pub fn CBB_add_asn1_uint64_with_tag(
12208        cbb: *mut CBB,
12209        value: u64,
12210        tag: CBS_ASN1_TAG,
12211    ) -> ::std::os::raw::c_int;
12212}
12213extern "C" {
12214    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_int64"]
12215    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
12216}
12217extern "C" {
12218    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_int64_with_tag"]
12219    pub fn CBB_add_asn1_int64_with_tag(
12220        cbb: *mut CBB,
12221        value: i64,
12222        tag: CBS_ASN1_TAG,
12223    ) -> ::std::os::raw::c_int;
12224}
12225extern "C" {
12226    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_octet_string"]
12227    pub fn CBB_add_asn1_octet_string(
12228        cbb: *mut CBB,
12229        data: *const u8,
12230        data_len: usize,
12231    ) -> ::std::os::raw::c_int;
12232}
12233extern "C" {
12234    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_bool"]
12235    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12236}
12237extern "C" {
12238    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_oid_from_text"]
12239    pub fn CBB_add_asn1_oid_from_text(
12240        cbb: *mut CBB,
12241        text: *const ::std::os::raw::c_char,
12242        len: usize,
12243    ) -> ::std::os::raw::c_int;
12244}
12245extern "C" {
12246    #[link_name = "aws_lc_0_47_0_CBB_flush_asn1_set_of"]
12247    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
12248}
12249extern "C" {
12250    #[link_name = "aws_lc_0_47_0_CRYPTO_chacha_20"]
12251    pub fn CRYPTO_chacha_20(
12252        out: *mut u8,
12253        in_: *const u8,
12254        in_len: usize,
12255        key: *const u8,
12256        nonce: *const u8,
12257        counter: u32,
12258    );
12259}
12260extern "C" {
12261    #[link_name = "aws_lc_0_47_0_EVP_rc4"]
12262    pub fn EVP_rc4() -> *const EVP_CIPHER;
12263}
12264extern "C" {
12265    #[link_name = "aws_lc_0_47_0_EVP_des_cbc"]
12266    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
12267}
12268extern "C" {
12269    #[link_name = "aws_lc_0_47_0_EVP_des_ecb"]
12270    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
12271}
12272extern "C" {
12273    #[link_name = "aws_lc_0_47_0_EVP_des_ede"]
12274    pub fn EVP_des_ede() -> *const EVP_CIPHER;
12275}
12276extern "C" {
12277    #[link_name = "aws_lc_0_47_0_EVP_des_ede3"]
12278    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
12279}
12280extern "C" {
12281    #[link_name = "aws_lc_0_47_0_EVP_des_ede_cbc"]
12282    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
12283}
12284extern "C" {
12285    #[link_name = "aws_lc_0_47_0_EVP_des_ede3_cbc"]
12286    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
12287}
12288extern "C" {
12289    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ecb"]
12290    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
12291}
12292extern "C" {
12293    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc"]
12294    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
12295}
12296extern "C" {
12297    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ctr"]
12298    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
12299}
12300extern "C" {
12301    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ofb"]
12302    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
12303}
12304extern "C" {
12305    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ecb"]
12306    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
12307}
12308extern "C" {
12309    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc"]
12310    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
12311}
12312extern "C" {
12313    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ctr"]
12314    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
12315}
12316extern "C" {
12317    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ofb"]
12318    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
12319}
12320extern "C" {
12321    #[link_name = "aws_lc_0_47_0_EVP_aes_256_xts"]
12322    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
12323}
12324extern "C" {
12325    #[link_name = "aws_lc_0_47_0_EVP_aes_256_wrap"]
12326    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
12327}
12328extern "C" {
12329    #[link_name = "aws_lc_0_47_0_EVP_enc_null"]
12330    pub fn EVP_enc_null() -> *const EVP_CIPHER;
12331}
12332extern "C" {
12333    #[link_name = "aws_lc_0_47_0_EVP_rc2_cbc"]
12334    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
12335}
12336extern "C" {
12337    #[link_name = "aws_lc_0_47_0_EVP_rc2_40_cbc"]
12338    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
12339}
12340extern "C" {
12341    #[link_name = "aws_lc_0_47_0_EVP_chacha20_poly1305"]
12342    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
12343}
12344extern "C" {
12345    #[link_name = "aws_lc_0_47_0_EVP_get_cipherbynid"]
12346    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
12347}
12348extern "C" {
12349    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_init"]
12350    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
12351}
12352extern "C" {
12353    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_new"]
12354    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
12355}
12356extern "C" {
12357    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_cleanup"]
12358    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12359}
12360extern "C" {
12361    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_free"]
12362    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
12363}
12364extern "C" {
12365    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_copy"]
12366    pub fn EVP_CIPHER_CTX_copy(
12367        out: *mut EVP_CIPHER_CTX,
12368        in_: *const EVP_CIPHER_CTX,
12369    ) -> ::std::os::raw::c_int;
12370}
12371extern "C" {
12372    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_reset"]
12373    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12374}
12375extern "C" {
12376    #[link_name = "aws_lc_0_47_0_EVP_CipherInit_ex"]
12377    pub fn EVP_CipherInit_ex(
12378        ctx: *mut EVP_CIPHER_CTX,
12379        cipher: *const EVP_CIPHER,
12380        engine: *mut ENGINE,
12381        key: *const u8,
12382        iv: *const u8,
12383        enc: ::std::os::raw::c_int,
12384    ) -> ::std::os::raw::c_int;
12385}
12386extern "C" {
12387    #[link_name = "aws_lc_0_47_0_EVP_EncryptInit_ex"]
12388    pub fn EVP_EncryptInit_ex(
12389        ctx: *mut EVP_CIPHER_CTX,
12390        cipher: *const EVP_CIPHER,
12391        impl_: *mut ENGINE,
12392        key: *const u8,
12393        iv: *const u8,
12394    ) -> ::std::os::raw::c_int;
12395}
12396extern "C" {
12397    #[link_name = "aws_lc_0_47_0_EVP_DecryptInit_ex"]
12398    pub fn EVP_DecryptInit_ex(
12399        ctx: *mut EVP_CIPHER_CTX,
12400        cipher: *const EVP_CIPHER,
12401        impl_: *mut ENGINE,
12402        key: *const u8,
12403        iv: *const u8,
12404    ) -> ::std::os::raw::c_int;
12405}
12406extern "C" {
12407    #[link_name = "aws_lc_0_47_0_EVP_EncryptUpdate"]
12408    pub fn EVP_EncryptUpdate(
12409        ctx: *mut EVP_CIPHER_CTX,
12410        out: *mut u8,
12411        out_len: *mut ::std::os::raw::c_int,
12412        in_: *const u8,
12413        in_len: ::std::os::raw::c_int,
12414    ) -> ::std::os::raw::c_int;
12415}
12416extern "C" {
12417    #[link_name = "aws_lc_0_47_0_EVP_EncryptFinal_ex"]
12418    pub fn EVP_EncryptFinal_ex(
12419        ctx: *mut EVP_CIPHER_CTX,
12420        out: *mut u8,
12421        out_len: *mut ::std::os::raw::c_int,
12422    ) -> ::std::os::raw::c_int;
12423}
12424extern "C" {
12425    #[link_name = "aws_lc_0_47_0_EVP_DecryptUpdate"]
12426    pub fn EVP_DecryptUpdate(
12427        ctx: *mut EVP_CIPHER_CTX,
12428        out: *mut u8,
12429        out_len: *mut ::std::os::raw::c_int,
12430        in_: *const u8,
12431        in_len: ::std::os::raw::c_int,
12432    ) -> ::std::os::raw::c_int;
12433}
12434extern "C" {
12435    #[link_name = "aws_lc_0_47_0_EVP_DecryptFinal_ex"]
12436    pub fn EVP_DecryptFinal_ex(
12437        ctx: *mut EVP_CIPHER_CTX,
12438        out: *mut u8,
12439        out_len: *mut ::std::os::raw::c_int,
12440    ) -> ::std::os::raw::c_int;
12441}
12442extern "C" {
12443    #[link_name = "aws_lc_0_47_0_EVP_CipherUpdate"]
12444    pub fn EVP_CipherUpdate(
12445        ctx: *mut EVP_CIPHER_CTX,
12446        out: *mut u8,
12447        out_len: *mut ::std::os::raw::c_int,
12448        in_: *const u8,
12449        in_len: ::std::os::raw::c_int,
12450    ) -> ::std::os::raw::c_int;
12451}
12452extern "C" {
12453    #[link_name = "aws_lc_0_47_0_EVP_CipherFinal_ex"]
12454    pub fn EVP_CipherFinal_ex(
12455        ctx: *mut EVP_CIPHER_CTX,
12456        out: *mut u8,
12457        out_len: *mut ::std::os::raw::c_int,
12458    ) -> ::std::os::raw::c_int;
12459}
12460extern "C" {
12461    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_cipher"]
12462    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12463}
12464extern "C" {
12465    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_nid"]
12466    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12467}
12468extern "C" {
12469    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_encrypting"]
12470    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12471}
12472extern "C" {
12473    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_block_size"]
12474    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12475}
12476extern "C" {
12477    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_key_length"]
12478    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12479}
12480extern "C" {
12481    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_iv_length"]
12482    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12483}
12484extern "C" {
12485    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_get_app_data"]
12486    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12487}
12488extern "C" {
12489    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_app_data"]
12490    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12491}
12492extern "C" {
12493    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_flags"]
12494    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12495}
12496extern "C" {
12497    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_mode"]
12498    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12499}
12500extern "C" {
12501    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_ctrl"]
12502    pub fn EVP_CIPHER_CTX_ctrl(
12503        ctx: *mut EVP_CIPHER_CTX,
12504        command: ::std::os::raw::c_int,
12505        arg: ::std::os::raw::c_int,
12506        ptr: *mut ::std::os::raw::c_void,
12507    ) -> ::std::os::raw::c_int;
12508}
12509extern "C" {
12510    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_padding"]
12511    pub fn EVP_CIPHER_CTX_set_padding(
12512        ctx: *mut EVP_CIPHER_CTX,
12513        pad: ::std::os::raw::c_int,
12514    ) -> ::std::os::raw::c_int;
12515}
12516extern "C" {
12517    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_key_length"]
12518    pub fn EVP_CIPHER_CTX_set_key_length(
12519        ctx: *mut EVP_CIPHER_CTX,
12520        key_len: ::std::os::raw::c_uint,
12521    ) -> ::std::os::raw::c_int;
12522}
12523extern "C" {
12524    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_nid"]
12525    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12526}
12527extern "C" {
12528    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_name"]
12529    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12530}
12531extern "C" {
12532    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_block_size"]
12533    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12534}
12535extern "C" {
12536    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_key_length"]
12537    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12538}
12539extern "C" {
12540    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_iv_length"]
12541    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12542}
12543extern "C" {
12544    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_flags"]
12545    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12546}
12547extern "C" {
12548    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_mode"]
12549    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12550}
12551extern "C" {
12552    #[link_name = "aws_lc_0_47_0_EVP_BytesToKey"]
12553    pub fn EVP_BytesToKey(
12554        type_: *const EVP_CIPHER,
12555        md: *const EVP_MD,
12556        salt: *const u8,
12557        data: *const u8,
12558        data_len: usize,
12559        count: ::std::os::raw::c_uint,
12560        key: *mut u8,
12561        iv: *mut u8,
12562    ) -> ::std::os::raw::c_int;
12563}
12564extern "C" {
12565    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc_hmac_sha1"]
12566    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12567}
12568extern "C" {
12569    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc_hmac_sha1"]
12570    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12571}
12572extern "C" {
12573    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc_hmac_sha256"]
12574    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12575}
12576extern "C" {
12577    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc_hmac_sha256"]
12578    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12579}
12580extern "C" {
12581    #[link_name = "aws_lc_0_47_0_EVP_CipherInit"]
12582    pub fn EVP_CipherInit(
12583        ctx: *mut EVP_CIPHER_CTX,
12584        cipher: *const EVP_CIPHER,
12585        key: *const u8,
12586        iv: *const u8,
12587        enc: ::std::os::raw::c_int,
12588    ) -> ::std::os::raw::c_int;
12589}
12590extern "C" {
12591    #[link_name = "aws_lc_0_47_0_EVP_EncryptInit"]
12592    pub fn EVP_EncryptInit(
12593        ctx: *mut EVP_CIPHER_CTX,
12594        cipher: *const EVP_CIPHER,
12595        key: *const u8,
12596        iv: *const u8,
12597    ) -> ::std::os::raw::c_int;
12598}
12599extern "C" {
12600    #[link_name = "aws_lc_0_47_0_EVP_DecryptInit"]
12601    pub fn EVP_DecryptInit(
12602        ctx: *mut EVP_CIPHER_CTX,
12603        cipher: *const EVP_CIPHER,
12604        key: *const u8,
12605        iv: *const u8,
12606    ) -> ::std::os::raw::c_int;
12607}
12608extern "C" {
12609    #[link_name = "aws_lc_0_47_0_EVP_CipherFinal"]
12610    pub fn EVP_CipherFinal(
12611        ctx: *mut EVP_CIPHER_CTX,
12612        out: *mut u8,
12613        out_len: *mut ::std::os::raw::c_int,
12614    ) -> ::std::os::raw::c_int;
12615}
12616extern "C" {
12617    #[link_name = "aws_lc_0_47_0_EVP_EncryptFinal"]
12618    pub fn EVP_EncryptFinal(
12619        ctx: *mut EVP_CIPHER_CTX,
12620        out: *mut u8,
12621        out_len: *mut ::std::os::raw::c_int,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    #[link_name = "aws_lc_0_47_0_EVP_DecryptFinal"]
12626    pub fn EVP_DecryptFinal(
12627        ctx: *mut EVP_CIPHER_CTX,
12628        out: *mut u8,
12629        out_len: *mut ::std::os::raw::c_int,
12630    ) -> ::std::os::raw::c_int;
12631}
12632extern "C" {
12633    #[link_name = "aws_lc_0_47_0_EVP_Cipher"]
12634    pub fn EVP_Cipher(
12635        ctx: *mut EVP_CIPHER_CTX,
12636        out: *mut u8,
12637        in_: *const u8,
12638        in_len: usize,
12639    ) -> ::std::os::raw::c_int;
12640}
12641extern "C" {
12642    #[link_name = "aws_lc_0_47_0_EVP_get_cipherbyname"]
12643    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12644}
12645extern "C" {
12646    #[link_name = "aws_lc_0_47_0_EVP_aes_128_gcm"]
12647    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12648}
12649extern "C" {
12650    #[link_name = "aws_lc_0_47_0_EVP_aes_256_gcm"]
12651    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12652}
12653extern "C" {
12654    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ccm"]
12655    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12656}
12657extern "C" {
12658    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ccm"]
12659    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12660}
12661extern "C" {
12662    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ccm"]
12663    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12664}
12665extern "C" {
12666    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ecb"]
12667    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12668}
12669extern "C" {
12670    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cbc"]
12671    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12672}
12673extern "C" {
12674    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ctr"]
12675    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12676}
12677extern "C" {
12678    #[link_name = "aws_lc_0_47_0_EVP_aes_192_gcm"]
12679    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12680}
12681extern "C" {
12682    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ofb"]
12683    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12684}
12685extern "C" {
12686    #[link_name = "aws_lc_0_47_0_EVP_des_ede3_ecb"]
12687    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12688}
12689extern "C" {
12690    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb128"]
12691    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12692}
12693extern "C" {
12694    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb"]
12695    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12696}
12697extern "C" {
12698    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb1"]
12699    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12700}
12701extern "C" {
12702    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb8"]
12703    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12704}
12705extern "C" {
12706    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb128"]
12707    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12708}
12709extern "C" {
12710    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb"]
12711    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12712}
12713extern "C" {
12714    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb1"]
12715    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12716}
12717extern "C" {
12718    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb8"]
12719    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12720}
12721extern "C" {
12722    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb128"]
12723    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12724}
12725extern "C" {
12726    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb"]
12727    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12728}
12729extern "C" {
12730    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb1"]
12731    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12732}
12733extern "C" {
12734    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb8"]
12735    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12736}
12737extern "C" {
12738    #[link_name = "aws_lc_0_47_0_EVP_bf_ecb"]
12739    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12740}
12741extern "C" {
12742    #[link_name = "aws_lc_0_47_0_EVP_bf_cbc"]
12743    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12744}
12745extern "C" {
12746    #[link_name = "aws_lc_0_47_0_EVP_bf_cfb"]
12747    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12748}
12749extern "C" {
12750    #[link_name = "aws_lc_0_47_0_EVP_bf_cfb64"]
12751    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
12752}
12753extern "C" {
12754    #[link_name = "aws_lc_0_47_0_EVP_bf_ofb"]
12755    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
12756}
12757extern "C" {
12758    #[link_name = "aws_lc_0_47_0_EVP_cast5_ecb"]
12759    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12760}
12761extern "C" {
12762    #[link_name = "aws_lc_0_47_0_EVP_cast5_cbc"]
12763    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12764}
12765extern "C" {
12766    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_flags"]
12767    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12768}
12769extern "C" {
12770    #[link_name = "aws_lc_0_47_0_EVP_add_cipher"]
12771    pub fn EVP_add_cipher(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12772}
12773extern "C" {
12774    #[link_name = "aws_lc_0_47_0_EVP_add_cipher_alias"]
12775    pub fn EVP_add_cipher_alias(
12776        a: *const ::std::os::raw::c_char,
12777        b: *const ::std::os::raw::c_char,
12778    ) -> ::std::os::raw::c_int;
12779}
12780#[repr(C)]
12781#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12782pub struct evp_cipher_ctx_st {
12783    pub cipher: *const EVP_CIPHER,
12784    pub app_data: *mut ::std::os::raw::c_void,
12785    pub cipher_data: *mut ::std::os::raw::c_void,
12786    pub key_len: ::std::os::raw::c_uint,
12787    pub encrypt: ::std::os::raw::c_int,
12788    pub flags: u32,
12789    pub oiv: [u8; 16usize],
12790    pub iv: [u8; 16usize],
12791    pub buf: [u8; 32usize],
12792    pub buf_len: ::std::os::raw::c_int,
12793    pub num: ::std::os::raw::c_uint,
12794    pub final_used: ::std::os::raw::c_int,
12795    pub final_: [u8; 32usize],
12796    pub poisoned: ::std::os::raw::c_int,
12797}
12798#[test]
12799fn bindgen_test_layout_evp_cipher_ctx_st() {
12800    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12801    let ptr = UNINIT.as_ptr();
12802    assert_eq!(
12803        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12804        152usize,
12805        "Size of evp_cipher_ctx_st"
12806    );
12807    assert_eq!(
12808        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12809        8usize,
12810        "Alignment of evp_cipher_ctx_st"
12811    );
12812    assert_eq!(
12813        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12814        0usize,
12815        "Offset of field: evp_cipher_ctx_st::cipher"
12816    );
12817    assert_eq!(
12818        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12819        8usize,
12820        "Offset of field: evp_cipher_ctx_st::app_data"
12821    );
12822    assert_eq!(
12823        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
12824        16usize,
12825        "Offset of field: evp_cipher_ctx_st::cipher_data"
12826    );
12827    assert_eq!(
12828        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
12829        24usize,
12830        "Offset of field: evp_cipher_ctx_st::key_len"
12831    );
12832    assert_eq!(
12833        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
12834        28usize,
12835        "Offset of field: evp_cipher_ctx_st::encrypt"
12836    );
12837    assert_eq!(
12838        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12839        32usize,
12840        "Offset of field: evp_cipher_ctx_st::flags"
12841    );
12842    assert_eq!(
12843        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
12844        36usize,
12845        "Offset of field: evp_cipher_ctx_st::oiv"
12846    );
12847    assert_eq!(
12848        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12849        52usize,
12850        "Offset of field: evp_cipher_ctx_st::iv"
12851    );
12852    assert_eq!(
12853        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12854        68usize,
12855        "Offset of field: evp_cipher_ctx_st::buf"
12856    );
12857    assert_eq!(
12858        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
12859        100usize,
12860        "Offset of field: evp_cipher_ctx_st::buf_len"
12861    );
12862    assert_eq!(
12863        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
12864        104usize,
12865        "Offset of field: evp_cipher_ctx_st::num"
12866    );
12867    assert_eq!(
12868        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
12869        108usize,
12870        "Offset of field: evp_cipher_ctx_st::final_used"
12871    );
12872    assert_eq!(
12873        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
12874        112usize,
12875        "Offset of field: evp_cipher_ctx_st::final_"
12876    );
12877    assert_eq!(
12878        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
12879        144usize,
12880        "Offset of field: evp_cipher_ctx_st::poisoned"
12881    );
12882}
12883impl Default for evp_cipher_ctx_st {
12884    fn default() -> Self {
12885        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12886        unsafe {
12887            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12888            s.assume_init()
12889        }
12890    }
12891}
12892#[repr(C)]
12893#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12894pub struct evp_cipher_info_st {
12895    pub cipher: *const EVP_CIPHER,
12896    pub iv: [::std::os::raw::c_uchar; 16usize],
12897}
12898#[test]
12899fn bindgen_test_layout_evp_cipher_info_st() {
12900    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
12901    let ptr = UNINIT.as_ptr();
12902    assert_eq!(
12903        ::std::mem::size_of::<evp_cipher_info_st>(),
12904        24usize,
12905        "Size of evp_cipher_info_st"
12906    );
12907    assert_eq!(
12908        ::std::mem::align_of::<evp_cipher_info_st>(),
12909        8usize,
12910        "Alignment of evp_cipher_info_st"
12911    );
12912    assert_eq!(
12913        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12914        0usize,
12915        "Offset of field: evp_cipher_info_st::cipher"
12916    );
12917    assert_eq!(
12918        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12919        8usize,
12920        "Offset of field: evp_cipher_info_st::iv"
12921    );
12922}
12923impl Default for evp_cipher_info_st {
12924    fn default() -> Self {
12925        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12926        unsafe {
12927            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12928            s.assume_init()
12929        }
12930    }
12931}
12932pub type EVP_CIPHER_INFO = evp_cipher_info_st;
12933extern "C" {
12934    #[link_name = "aws_lc_0_47_0_AES_CMAC"]
12935    pub fn AES_CMAC(
12936        out: *mut u8,
12937        key: *const u8,
12938        key_len: usize,
12939        in_: *const u8,
12940        in_len: usize,
12941    ) -> ::std::os::raw::c_int;
12942}
12943extern "C" {
12944    #[link_name = "aws_lc_0_47_0_CMAC_CTX_new"]
12945    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
12946}
12947extern "C" {
12948    #[link_name = "aws_lc_0_47_0_CMAC_CTX_free"]
12949    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
12950}
12951extern "C" {
12952    #[link_name = "aws_lc_0_47_0_CMAC_CTX_copy"]
12953    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
12954}
12955extern "C" {
12956    #[link_name = "aws_lc_0_47_0_CMAC_Init"]
12957    pub fn CMAC_Init(
12958        ctx: *mut CMAC_CTX,
12959        key: *const ::std::os::raw::c_void,
12960        key_len: usize,
12961        cipher: *const EVP_CIPHER,
12962        engine: *mut ENGINE,
12963    ) -> ::std::os::raw::c_int;
12964}
12965extern "C" {
12966    #[link_name = "aws_lc_0_47_0_CMAC_Reset"]
12967    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
12968}
12969extern "C" {
12970    #[link_name = "aws_lc_0_47_0_CMAC_Update"]
12971    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
12972}
12973extern "C" {
12974    #[link_name = "aws_lc_0_47_0_CMAC_Final"]
12975    pub fn CMAC_Final(
12976        ctx: *mut CMAC_CTX,
12977        out: *mut u8,
12978        out_len: *mut usize,
12979    ) -> ::std::os::raw::c_int;
12980}
12981extern "C" {
12982    #[link_name = "aws_lc_0_47_0_CMAC_CTX_get0_cipher_ctx"]
12983    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
12984}
12985#[repr(C)]
12986#[derive(Debug)]
12987pub struct lhash_st {
12988    _unused: [u8; 0],
12989}
12990pub type _LHASH = lhash_st;
12991extern "C" {
12992    #[link_name = "aws_lc_0_47_0_lh_doall_arg"]
12993    pub fn lh_doall_arg(
12994        lh: *mut _LHASH,
12995        func: ::std::option::Option<
12996            unsafe extern "C" fn(
12997                arg1: *mut ::std::os::raw::c_void,
12998                arg2: *mut ::std::os::raw::c_void,
12999            ),
13000        >,
13001        arg: *mut ::std::os::raw::c_void,
13002    );
13003}
13004#[repr(C)]
13005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13006pub struct conf_value_st {
13007    pub section: *mut ::std::os::raw::c_char,
13008    pub name: *mut ::std::os::raw::c_char,
13009    pub value: *mut ::std::os::raw::c_char,
13010}
13011#[test]
13012fn bindgen_test_layout_conf_value_st() {
13013    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
13014    let ptr = UNINIT.as_ptr();
13015    assert_eq!(
13016        ::std::mem::size_of::<conf_value_st>(),
13017        24usize,
13018        "Size of conf_value_st"
13019    );
13020    assert_eq!(
13021        ::std::mem::align_of::<conf_value_st>(),
13022        8usize,
13023        "Alignment of conf_value_st"
13024    );
13025    assert_eq!(
13026        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
13027        0usize,
13028        "Offset of field: conf_value_st::section"
13029    );
13030    assert_eq!(
13031        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13032        8usize,
13033        "Offset of field: conf_value_st::name"
13034    );
13035    assert_eq!(
13036        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13037        16usize,
13038        "Offset of field: conf_value_st::value"
13039    );
13040}
13041impl Default for conf_value_st {
13042    fn default() -> Self {
13043        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13044        unsafe {
13045            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13046            s.assume_init()
13047        }
13048    }
13049}
13050#[repr(C)]
13051#[derive(Debug)]
13052pub struct stack_st_CONF_VALUE {
13053    _unused: [u8; 0],
13054}
13055pub type sk_CONF_VALUE_free_func =
13056    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
13057pub type sk_CONF_VALUE_copy_func =
13058    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
13059pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
13060    unsafe extern "C" fn(
13061        arg1: *const *const CONF_VALUE,
13062        arg2: *const *const CONF_VALUE,
13063    ) -> ::std::os::raw::c_int,
13064>;
13065pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
13066    unsafe extern "C" fn(
13067        arg1: *mut CONF_VALUE,
13068        arg2: *mut ::std::os::raw::c_void,
13069    ) -> ::std::os::raw::c_int,
13070>;
13071#[repr(C)]
13072#[derive(Debug)]
13073pub struct lhash_st_CONF_VALUE {
13074    _unused: [u8; 0],
13075}
13076#[repr(C)]
13077#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13078pub struct conf_st {
13079    pub data: *mut lhash_st_CONF_VALUE,
13080}
13081#[test]
13082fn bindgen_test_layout_conf_st() {
13083    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
13084    let ptr = UNINIT.as_ptr();
13085    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
13086    assert_eq!(
13087        ::std::mem::align_of::<conf_st>(),
13088        8usize,
13089        "Alignment of conf_st"
13090    );
13091    assert_eq!(
13092        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13093        0usize,
13094        "Offset of field: conf_st::data"
13095    );
13096}
13097impl Default for conf_st {
13098    fn default() -> Self {
13099        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13100        unsafe {
13101            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13102            s.assume_init()
13103        }
13104    }
13105}
13106extern "C" {
13107    #[link_name = "aws_lc_0_47_0_NCONF_new"]
13108    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
13109}
13110extern "C" {
13111    #[link_name = "aws_lc_0_47_0_NCONF_free"]
13112    pub fn NCONF_free(conf: *mut CONF);
13113}
13114extern "C" {
13115    #[link_name = "aws_lc_0_47_0_NCONF_load"]
13116    pub fn NCONF_load(
13117        conf: *mut CONF,
13118        filename: *const ::std::os::raw::c_char,
13119        out_error_line: *mut ::std::os::raw::c_long,
13120    ) -> ::std::os::raw::c_int;
13121}
13122extern "C" {
13123    #[link_name = "aws_lc_0_47_0_NCONF_load_bio"]
13124    pub fn NCONF_load_bio(
13125        conf: *mut CONF,
13126        bio: *mut BIO,
13127        out_error_line: *mut ::std::os::raw::c_long,
13128    ) -> ::std::os::raw::c_int;
13129}
13130extern "C" {
13131    #[link_name = "aws_lc_0_47_0_NCONF_get_section"]
13132    pub fn NCONF_get_section(
13133        conf: *const CONF,
13134        section: *const ::std::os::raw::c_char,
13135    ) -> *const stack_st_CONF_VALUE;
13136}
13137extern "C" {
13138    #[link_name = "aws_lc_0_47_0_NCONF_get_string"]
13139    pub fn NCONF_get_string(
13140        conf: *const CONF,
13141        section: *const ::std::os::raw::c_char,
13142        name: *const ::std::os::raw::c_char,
13143    ) -> *const ::std::os::raw::c_char;
13144}
13145extern "C" {
13146    #[link_name = "aws_lc_0_47_0_CONF_modules_load_file"]
13147    pub fn CONF_modules_load_file(
13148        filename: *const ::std::os::raw::c_char,
13149        appname: *const ::std::os::raw::c_char,
13150        flags: ::std::os::raw::c_ulong,
13151    ) -> ::std::os::raw::c_int;
13152}
13153extern "C" {
13154    #[link_name = "aws_lc_0_47_0_CONF_get1_default_config_file"]
13155    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
13156}
13157extern "C" {
13158    #[link_name = "aws_lc_0_47_0_CONF_modules_free"]
13159    pub fn CONF_modules_free();
13160}
13161extern "C" {
13162    #[link_name = "aws_lc_0_47_0_CONF_modules_unload"]
13163    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
13164}
13165extern "C" {
13166    #[link_name = "aws_lc_0_47_0_CONF_modules_finish"]
13167    pub fn CONF_modules_finish();
13168}
13169extern "C" {
13170    #[link_name = "aws_lc_0_47_0_OPENSSL_config"]
13171    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
13172}
13173extern "C" {
13174    #[link_name = "aws_lc_0_47_0_OPENSSL_no_config"]
13175    pub fn OPENSSL_no_config();
13176}
13177extern "C" {
13178    #[link_name = "aws_lc_0_47_0_CTR_DRBG_new"]
13179    pub fn CTR_DRBG_new(
13180        entropy: *const u8,
13181        personalization: *const u8,
13182        personalization_len: usize,
13183    ) -> *mut CTR_DRBG_STATE;
13184}
13185extern "C" {
13186    #[link_name = "aws_lc_0_47_0_CTR_DRBG_free"]
13187    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
13188}
13189extern "C" {
13190    #[link_name = "aws_lc_0_47_0_CTR_DRBG_reseed"]
13191    pub fn CTR_DRBG_reseed(
13192        drbg: *mut CTR_DRBG_STATE,
13193        entropy: *const u8,
13194        additional_data: *const u8,
13195        additional_data_len: usize,
13196    ) -> ::std::os::raw::c_int;
13197}
13198extern "C" {
13199    #[link_name = "aws_lc_0_47_0_CTR_DRBG_generate"]
13200    pub fn CTR_DRBG_generate(
13201        drbg: *mut CTR_DRBG_STATE,
13202        out: *mut u8,
13203        out_len: usize,
13204        additional_data: *const u8,
13205        additional_data_len: usize,
13206    ) -> ::std::os::raw::c_int;
13207}
13208extern "C" {
13209    #[link_name = "aws_lc_0_47_0_CTR_DRBG_clear"]
13210    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
13211}
13212extern "C" {
13213    #[link_name = "aws_lc_0_47_0_X25519_keypair"]
13214    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
13215}
13216extern "C" {
13217    #[link_name = "aws_lc_0_47_0_X25519"]
13218    pub fn X25519(
13219        out_shared_key: *mut u8,
13220        private_key: *const u8,
13221        peer_public_value: *const u8,
13222    ) -> ::std::os::raw::c_int;
13223}
13224extern "C" {
13225    #[link_name = "aws_lc_0_47_0_X25519_public_from_private"]
13226    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
13227}
13228extern "C" {
13229    #[link_name = "aws_lc_0_47_0_ED25519_keypair"]
13230    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
13231}
13232extern "C" {
13233    #[link_name = "aws_lc_0_47_0_ED25519_sign"]
13234    pub fn ED25519_sign(
13235        out_sig: *mut u8,
13236        message: *const u8,
13237        message_len: usize,
13238        private_key: *const u8,
13239    ) -> ::std::os::raw::c_int;
13240}
13241extern "C" {
13242    #[link_name = "aws_lc_0_47_0_ED25519_verify"]
13243    pub fn ED25519_verify(
13244        message: *const u8,
13245        message_len: usize,
13246        signature: *const u8,
13247        public_key: *const u8,
13248    ) -> ::std::os::raw::c_int;
13249}
13250extern "C" {
13251    #[link_name = "aws_lc_0_47_0_ED25519ctx_sign"]
13252    pub fn ED25519ctx_sign(
13253        out_sig: *mut u8,
13254        message: *const u8,
13255        message_len: usize,
13256        private_key: *const u8,
13257        context: *const u8,
13258        context_len: usize,
13259    ) -> ::std::os::raw::c_int;
13260}
13261extern "C" {
13262    #[link_name = "aws_lc_0_47_0_ED25519ctx_verify"]
13263    pub fn ED25519ctx_verify(
13264        message: *const u8,
13265        message_len: usize,
13266        signature: *const u8,
13267        public_key: *const u8,
13268        context: *const u8,
13269        context_len: usize,
13270    ) -> ::std::os::raw::c_int;
13271}
13272extern "C" {
13273    #[link_name = "aws_lc_0_47_0_ED25519ph_sign"]
13274    pub fn ED25519ph_sign(
13275        out_sig: *mut u8,
13276        message: *const u8,
13277        message_len: usize,
13278        private_key: *const u8,
13279        context: *const u8,
13280        context_len: usize,
13281    ) -> ::std::os::raw::c_int;
13282}
13283extern "C" {
13284    #[link_name = "aws_lc_0_47_0_ED25519ph_verify"]
13285    pub fn ED25519ph_verify(
13286        message: *const u8,
13287        message_len: usize,
13288        signature: *const u8,
13289        public_key: *const u8,
13290        context: *const u8,
13291        context_len: usize,
13292    ) -> ::std::os::raw::c_int;
13293}
13294extern "C" {
13295    #[link_name = "aws_lc_0_47_0_ED25519ph_sign_digest"]
13296    pub fn ED25519ph_sign_digest(
13297        out_sig: *mut u8,
13298        digest: *const u8,
13299        private_key: *const u8,
13300        context: *const u8,
13301        context_len: usize,
13302    ) -> ::std::os::raw::c_int;
13303}
13304extern "C" {
13305    #[link_name = "aws_lc_0_47_0_ED25519ph_verify_digest"]
13306    pub fn ED25519ph_verify_digest(
13307        digest: *const u8,
13308        signature: *const u8,
13309        public_key: *const u8,
13310        context: *const u8,
13311        context_len: usize,
13312    ) -> ::std::os::raw::c_int;
13313}
13314extern "C" {
13315    #[link_name = "aws_lc_0_47_0_ED25519_keypair_from_seed"]
13316    pub fn ED25519_keypair_from_seed(
13317        out_public_key: *mut u8,
13318        out_private_key: *mut u8,
13319        seed: *const u8,
13320    );
13321}
13322pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
13323pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
13324pub type spake2_role_t = ::std::os::raw::c_uint;
13325extern "C" {
13326    #[link_name = "aws_lc_0_47_0_SPAKE2_CTX_new"]
13327    pub fn SPAKE2_CTX_new(
13328        my_role: spake2_role_t,
13329        my_name: *const u8,
13330        my_name_len: usize,
13331        their_name: *const u8,
13332        their_name_len: usize,
13333    ) -> *mut SPAKE2_CTX;
13334}
13335extern "C" {
13336    #[link_name = "aws_lc_0_47_0_SPAKE2_CTX_free"]
13337    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
13338}
13339extern "C" {
13340    #[link_name = "aws_lc_0_47_0_SPAKE2_generate_msg"]
13341    pub fn SPAKE2_generate_msg(
13342        ctx: *mut SPAKE2_CTX,
13343        out: *mut u8,
13344        out_len: *mut usize,
13345        max_out_len: usize,
13346        password: *const u8,
13347        password_len: usize,
13348    ) -> ::std::os::raw::c_int;
13349}
13350extern "C" {
13351    #[link_name = "aws_lc_0_47_0_SPAKE2_process_msg"]
13352    pub fn SPAKE2_process_msg(
13353        ctx: *mut SPAKE2_CTX,
13354        out_key: *mut u8,
13355        out_key_len: *mut usize,
13356        max_out_key_len: usize,
13357        their_msg: *const u8,
13358        their_msg_len: usize,
13359    ) -> ::std::os::raw::c_int;
13360}
13361#[repr(C)]
13362#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13363pub struct DES_cblock_st {
13364    pub bytes: [u8; 8usize],
13365}
13366#[test]
13367fn bindgen_test_layout_DES_cblock_st() {
13368    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
13369    let ptr = UNINIT.as_ptr();
13370    assert_eq!(
13371        ::std::mem::size_of::<DES_cblock_st>(),
13372        8usize,
13373        "Size of DES_cblock_st"
13374    );
13375    assert_eq!(
13376        ::std::mem::align_of::<DES_cblock_st>(),
13377        1usize,
13378        "Alignment of DES_cblock_st"
13379    );
13380    assert_eq!(
13381        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
13382        0usize,
13383        "Offset of field: DES_cblock_st::bytes"
13384    );
13385}
13386pub type DES_cblock = DES_cblock_st;
13387pub type const_DES_cblock = DES_cblock_st;
13388#[repr(C)]
13389#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13390pub struct DES_ks {
13391    pub subkeys: [[u32; 2usize]; 16usize],
13392}
13393#[test]
13394fn bindgen_test_layout_DES_ks() {
13395    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
13396    let ptr = UNINIT.as_ptr();
13397    assert_eq!(::std::mem::size_of::<DES_ks>(), 128usize, "Size of DES_ks");
13398    assert_eq!(
13399        ::std::mem::align_of::<DES_ks>(),
13400        4usize,
13401        "Alignment of DES_ks"
13402    );
13403    assert_eq!(
13404        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
13405        0usize,
13406        "Offset of field: DES_ks::subkeys"
13407    );
13408}
13409pub type DES_key_schedule = DES_ks;
13410extern "C" {
13411    #[link_name = "aws_lc_0_47_0_DES_is_weak_key"]
13412    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
13413}
13414extern "C" {
13415    #[link_name = "aws_lc_0_47_0_DES_set_key"]
13416    pub fn DES_set_key(
13417        key: *const DES_cblock,
13418        schedule: *mut DES_key_schedule,
13419    ) -> ::std::os::raw::c_int;
13420}
13421extern "C" {
13422    #[link_name = "aws_lc_0_47_0_DES_set_key_unchecked"]
13423    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
13424}
13425extern "C" {
13426    #[link_name = "aws_lc_0_47_0_DES_key_sched"]
13427    pub fn DES_key_sched(
13428        key: *const DES_cblock,
13429        schedule: *mut DES_key_schedule,
13430    ) -> ::std::os::raw::c_int;
13431}
13432extern "C" {
13433    #[link_name = "aws_lc_0_47_0_DES_set_odd_parity"]
13434    pub fn DES_set_odd_parity(key: *mut DES_cblock);
13435}
13436extern "C" {
13437    #[link_name = "aws_lc_0_47_0_DES_ecb_encrypt"]
13438    pub fn DES_ecb_encrypt(
13439        in_: *const DES_cblock,
13440        out: *mut DES_cblock,
13441        schedule: *const DES_key_schedule,
13442        is_encrypt: ::std::os::raw::c_int,
13443    );
13444}
13445extern "C" {
13446    #[link_name = "aws_lc_0_47_0_DES_ncbc_encrypt"]
13447    pub fn DES_ncbc_encrypt(
13448        in_: *const u8,
13449        out: *mut u8,
13450        len: usize,
13451        schedule: *const DES_key_schedule,
13452        ivec: *mut DES_cblock,
13453        enc: ::std::os::raw::c_int,
13454    );
13455}
13456extern "C" {
13457    #[link_name = "aws_lc_0_47_0_DES_ecb3_encrypt"]
13458    pub fn DES_ecb3_encrypt(
13459        input: *const DES_cblock,
13460        output: *mut DES_cblock,
13461        ks1: *const DES_key_schedule,
13462        ks2: *const DES_key_schedule,
13463        ks3: *const DES_key_schedule,
13464        enc: ::std::os::raw::c_int,
13465    );
13466}
13467extern "C" {
13468    #[link_name = "aws_lc_0_47_0_DES_ede3_cbc_encrypt"]
13469    pub fn DES_ede3_cbc_encrypt(
13470        in_: *const u8,
13471        out: *mut u8,
13472        len: usize,
13473        ks1: *const DES_key_schedule,
13474        ks2: *const DES_key_schedule,
13475        ks3: *const DES_key_schedule,
13476        ivec: *mut DES_cblock,
13477        enc: ::std::os::raw::c_int,
13478    );
13479}
13480extern "C" {
13481    #[link_name = "aws_lc_0_47_0_DES_ede2_cbc_encrypt"]
13482    pub fn DES_ede2_cbc_encrypt(
13483        in_: *const u8,
13484        out: *mut u8,
13485        len: usize,
13486        ks1: *const DES_key_schedule,
13487        ks2: *const DES_key_schedule,
13488        ivec: *mut DES_cblock,
13489        enc: ::std::os::raw::c_int,
13490    );
13491}
13492extern "C" {
13493    #[link_name = "aws_lc_0_47_0_DH_new"]
13494    pub fn DH_new() -> *mut DH;
13495}
13496extern "C" {
13497    #[link_name = "aws_lc_0_47_0_DH_new_by_nid"]
13498    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13499}
13500extern "C" {
13501    #[link_name = "aws_lc_0_47_0_DH_free"]
13502    pub fn DH_free(dh: *mut DH);
13503}
13504extern "C" {
13505    #[link_name = "aws_lc_0_47_0_DH_up_ref"]
13506    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13507}
13508extern "C" {
13509    #[link_name = "aws_lc_0_47_0_DH_bits"]
13510    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13511}
13512extern "C" {
13513    #[link_name = "aws_lc_0_47_0_DH_get0_pub_key"]
13514    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13515}
13516extern "C" {
13517    #[link_name = "aws_lc_0_47_0_DH_get0_priv_key"]
13518    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13519}
13520extern "C" {
13521    #[link_name = "aws_lc_0_47_0_DH_get0_p"]
13522    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13523}
13524extern "C" {
13525    #[link_name = "aws_lc_0_47_0_DH_get0_q"]
13526    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13527}
13528extern "C" {
13529    #[link_name = "aws_lc_0_47_0_DH_get0_g"]
13530    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13531}
13532extern "C" {
13533    #[link_name = "aws_lc_0_47_0_DH_get0_key"]
13534    pub fn DH_get0_key(
13535        dh: *const DH,
13536        out_pub_key: *mut *const BIGNUM,
13537        out_priv_key: *mut *const BIGNUM,
13538    );
13539}
13540extern "C" {
13541    #[link_name = "aws_lc_0_47_0_DH_set0_key"]
13542    pub fn DH_set0_key(
13543        dh: *mut DH,
13544        pub_key: *mut BIGNUM,
13545        priv_key: *mut BIGNUM,
13546    ) -> ::std::os::raw::c_int;
13547}
13548extern "C" {
13549    #[link_name = "aws_lc_0_47_0_DH_get0_pqg"]
13550    pub fn DH_get0_pqg(
13551        dh: *const DH,
13552        out_p: *mut *const BIGNUM,
13553        out_q: *mut *const BIGNUM,
13554        out_g: *mut *const BIGNUM,
13555    );
13556}
13557extern "C" {
13558    #[link_name = "aws_lc_0_47_0_DH_set0_pqg"]
13559    pub fn DH_set0_pqg(
13560        dh: *mut DH,
13561        p: *mut BIGNUM,
13562        q: *mut BIGNUM,
13563        g: *mut BIGNUM,
13564    ) -> ::std::os::raw::c_int;
13565}
13566extern "C" {
13567    #[link_name = "aws_lc_0_47_0_DH_set_length"]
13568    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13569        -> ::std::os::raw::c_int;
13570}
13571extern "C" {
13572    #[link_name = "aws_lc_0_47_0_DH_get_rfc7919_2048"]
13573    pub fn DH_get_rfc7919_2048() -> *mut DH;
13574}
13575extern "C" {
13576    #[link_name = "aws_lc_0_47_0_DH_get_rfc7919_4096"]
13577    pub fn DH_get_rfc7919_4096() -> *mut DH;
13578}
13579extern "C" {
13580    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_1536"]
13581    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13582}
13583extern "C" {
13584    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_2048"]
13585    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13586}
13587extern "C" {
13588    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_3072"]
13589    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13590}
13591extern "C" {
13592    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_4096"]
13593    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13594}
13595extern "C" {
13596    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_6144"]
13597    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13598}
13599extern "C" {
13600    #[link_name = "aws_lc_0_47_0_BN_get_rfc3526_prime_8192"]
13601    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13602}
13603extern "C" {
13604    #[link_name = "aws_lc_0_47_0_DH_generate_parameters_ex"]
13605    pub fn DH_generate_parameters_ex(
13606        dh: *mut DH,
13607        prime_bits: ::std::os::raw::c_int,
13608        generator: ::std::os::raw::c_int,
13609        cb: *mut BN_GENCB,
13610    ) -> ::std::os::raw::c_int;
13611}
13612extern "C" {
13613    #[link_name = "aws_lc_0_47_0_DH_generate_key"]
13614    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13615}
13616extern "C" {
13617    #[link_name = "aws_lc_0_47_0_DH_compute_key_padded"]
13618    pub fn DH_compute_key_padded(
13619        out: *mut u8,
13620        peers_key: *const BIGNUM,
13621        dh: *mut DH,
13622    ) -> ::std::os::raw::c_int;
13623}
13624extern "C" {
13625    #[link_name = "aws_lc_0_47_0_DH_compute_key_hashed"]
13626    pub fn DH_compute_key_hashed(
13627        dh: *mut DH,
13628        out: *mut u8,
13629        out_len: *mut usize,
13630        max_out_len: usize,
13631        peers_key: *const BIGNUM,
13632        digest: *const EVP_MD,
13633    ) -> ::std::os::raw::c_int;
13634}
13635extern "C" {
13636    #[link_name = "aws_lc_0_47_0_DH_size"]
13637    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13638}
13639extern "C" {
13640    #[link_name = "aws_lc_0_47_0_DH_num_bits"]
13641    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13642}
13643extern "C" {
13644    #[link_name = "aws_lc_0_47_0_DH_check"]
13645    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13646}
13647extern "C" {
13648    #[link_name = "aws_lc_0_47_0_DH_check_pub_key"]
13649    pub fn DH_check_pub_key(
13650        dh: *const DH,
13651        pub_key: *const BIGNUM,
13652        out_flags: *mut ::std::os::raw::c_int,
13653    ) -> ::std::os::raw::c_int;
13654}
13655extern "C" {
13656    #[link_name = "aws_lc_0_47_0_DHparams_dup"]
13657    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13658}
13659extern "C" {
13660    #[link_name = "aws_lc_0_47_0_DH_parse_parameters"]
13661    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13662}
13663extern "C" {
13664    #[link_name = "aws_lc_0_47_0_DH_marshal_parameters"]
13665    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13666}
13667extern "C" {
13668    #[link_name = "aws_lc_0_47_0_DH_generate_parameters"]
13669    pub fn DH_generate_parameters(
13670        prime_len: ::std::os::raw::c_int,
13671        generator: ::std::os::raw::c_int,
13672        callback: ::std::option::Option<
13673            unsafe extern "C" fn(
13674                arg1: ::std::os::raw::c_int,
13675                arg2: ::std::os::raw::c_int,
13676                arg3: *mut ::std::os::raw::c_void,
13677            ),
13678        >,
13679        cb_arg: *mut ::std::os::raw::c_void,
13680    ) -> *mut DH;
13681}
13682extern "C" {
13683    #[link_name = "aws_lc_0_47_0_d2i_DHparams"]
13684    pub fn d2i_DHparams(
13685        ret: *mut *mut DH,
13686        inp: *mut *const ::std::os::raw::c_uchar,
13687        len: ::std::os::raw::c_long,
13688    ) -> *mut DH;
13689}
13690extern "C" {
13691    #[link_name = "aws_lc_0_47_0_i2d_DHparams"]
13692    pub fn i2d_DHparams(
13693        in_: *const DH,
13694        outp: *mut *mut ::std::os::raw::c_uchar,
13695    ) -> ::std::os::raw::c_int;
13696}
13697extern "C" {
13698    #[link_name = "aws_lc_0_47_0_DH_compute_key"]
13699    pub fn DH_compute_key(
13700        out: *mut u8,
13701        peers_key: *const BIGNUM,
13702        dh: *mut DH,
13703    ) -> ::std::os::raw::c_int;
13704}
13705extern "C" {
13706    #[link_name = "aws_lc_0_47_0_DH_get_2048_256"]
13707    pub fn DH_get_2048_256() -> *mut DH;
13708}
13709extern "C" {
13710    #[link_name = "aws_lc_0_47_0_DH_clear_flags"]
13711    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
13712}
13713extern "C" {
13714    #[link_name = "aws_lc_0_47_0_EVP_md4"]
13715    pub fn EVP_md4() -> *const EVP_MD;
13716}
13717extern "C" {
13718    #[link_name = "aws_lc_0_47_0_EVP_md5"]
13719    pub fn EVP_md5() -> *const EVP_MD;
13720}
13721extern "C" {
13722    #[link_name = "aws_lc_0_47_0_EVP_ripemd160"]
13723    pub fn EVP_ripemd160() -> *const EVP_MD;
13724}
13725extern "C" {
13726    #[link_name = "aws_lc_0_47_0_EVP_sha1"]
13727    pub fn EVP_sha1() -> *const EVP_MD;
13728}
13729extern "C" {
13730    #[link_name = "aws_lc_0_47_0_EVP_sha224"]
13731    pub fn EVP_sha224() -> *const EVP_MD;
13732}
13733extern "C" {
13734    #[link_name = "aws_lc_0_47_0_EVP_sha256"]
13735    pub fn EVP_sha256() -> *const EVP_MD;
13736}
13737extern "C" {
13738    #[link_name = "aws_lc_0_47_0_EVP_sha384"]
13739    pub fn EVP_sha384() -> *const EVP_MD;
13740}
13741extern "C" {
13742    #[link_name = "aws_lc_0_47_0_EVP_sha512"]
13743    pub fn EVP_sha512() -> *const EVP_MD;
13744}
13745extern "C" {
13746    #[link_name = "aws_lc_0_47_0_EVP_sha512_224"]
13747    pub fn EVP_sha512_224() -> *const EVP_MD;
13748}
13749extern "C" {
13750    #[link_name = "aws_lc_0_47_0_EVP_sha512_256"]
13751    pub fn EVP_sha512_256() -> *const EVP_MD;
13752}
13753extern "C" {
13754    #[link_name = "aws_lc_0_47_0_EVP_sha3_224"]
13755    pub fn EVP_sha3_224() -> *const EVP_MD;
13756}
13757extern "C" {
13758    #[link_name = "aws_lc_0_47_0_EVP_sha3_256"]
13759    pub fn EVP_sha3_256() -> *const EVP_MD;
13760}
13761extern "C" {
13762    #[link_name = "aws_lc_0_47_0_EVP_sha3_384"]
13763    pub fn EVP_sha3_384() -> *const EVP_MD;
13764}
13765extern "C" {
13766    #[link_name = "aws_lc_0_47_0_EVP_sha3_512"]
13767    pub fn EVP_sha3_512() -> *const EVP_MD;
13768}
13769extern "C" {
13770    #[link_name = "aws_lc_0_47_0_EVP_shake128"]
13771    pub fn EVP_shake128() -> *const EVP_MD;
13772}
13773extern "C" {
13774    #[link_name = "aws_lc_0_47_0_EVP_shake256"]
13775    pub fn EVP_shake256() -> *const EVP_MD;
13776}
13777extern "C" {
13778    #[link_name = "aws_lc_0_47_0_EVP_blake2b256"]
13779    pub fn EVP_blake2b256() -> *const EVP_MD;
13780}
13781extern "C" {
13782    #[link_name = "aws_lc_0_47_0_EVP_keccak256"]
13783    pub fn EVP_keccak256() -> *const EVP_MD;
13784}
13785extern "C" {
13786    #[link_name = "aws_lc_0_47_0_EVP_md5_sha1"]
13787    pub fn EVP_md5_sha1() -> *const EVP_MD;
13788}
13789extern "C" {
13790    #[link_name = "aws_lc_0_47_0_EVP_get_digestbynid"]
13791    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
13792}
13793extern "C" {
13794    #[link_name = "aws_lc_0_47_0_EVP_get_digestbyobj"]
13795    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
13796}
13797extern "C" {
13798    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_init"]
13799    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
13800}
13801extern "C" {
13802    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_new"]
13803    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
13804}
13805extern "C" {
13806    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_cleanup"]
13807    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13808}
13809extern "C" {
13810    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_cleanse"]
13811    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
13812}
13813extern "C" {
13814    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_free"]
13815    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
13816}
13817extern "C" {
13818    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_copy_ex"]
13819    pub fn EVP_MD_CTX_copy_ex(
13820        out: *mut EVP_MD_CTX,
13821        in_: *const EVP_MD_CTX,
13822    ) -> ::std::os::raw::c_int;
13823}
13824extern "C" {
13825    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_move"]
13826    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
13827}
13828extern "C" {
13829    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_reset"]
13830    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13831}
13832extern "C" {
13833    #[link_name = "aws_lc_0_47_0_EVP_DigestInit_ex"]
13834    pub fn EVP_DigestInit_ex(
13835        ctx: *mut EVP_MD_CTX,
13836        type_: *const EVP_MD,
13837        engine: *mut ENGINE,
13838    ) -> ::std::os::raw::c_int;
13839}
13840extern "C" {
13841    #[link_name = "aws_lc_0_47_0_EVP_DigestInit"]
13842    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
13843}
13844extern "C" {
13845    #[link_name = "aws_lc_0_47_0_EVP_DigestUpdate"]
13846    pub fn EVP_DigestUpdate(
13847        ctx: *mut EVP_MD_CTX,
13848        data: *const ::std::os::raw::c_void,
13849        len: usize,
13850    ) -> ::std::os::raw::c_int;
13851}
13852extern "C" {
13853    #[link_name = "aws_lc_0_47_0_EVP_DigestFinal_ex"]
13854    pub fn EVP_DigestFinal_ex(
13855        ctx: *mut EVP_MD_CTX,
13856        md_out: *mut u8,
13857        out_size: *mut ::std::os::raw::c_uint,
13858    ) -> ::std::os::raw::c_int;
13859}
13860extern "C" {
13861    #[link_name = "aws_lc_0_47_0_EVP_DigestFinal"]
13862    pub fn EVP_DigestFinal(
13863        ctx: *mut EVP_MD_CTX,
13864        md_out: *mut u8,
13865        out_size: *mut ::std::os::raw::c_uint,
13866    ) -> ::std::os::raw::c_int;
13867}
13868extern "C" {
13869    #[link_name = "aws_lc_0_47_0_EVP_Digest"]
13870    pub fn EVP_Digest(
13871        data: *const ::std::os::raw::c_void,
13872        len: usize,
13873        md_out: *mut u8,
13874        out_size: *mut ::std::os::raw::c_uint,
13875        type_: *const EVP_MD,
13876        impl_: *mut ENGINE,
13877    ) -> ::std::os::raw::c_int;
13878}
13879extern "C" {
13880    #[link_name = "aws_lc_0_47_0_EVP_MD_type"]
13881    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
13882}
13883extern "C" {
13884    #[link_name = "aws_lc_0_47_0_EVP_MD_flags"]
13885    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
13886}
13887extern "C" {
13888    #[link_name = "aws_lc_0_47_0_EVP_MD_size"]
13889    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
13890}
13891extern "C" {
13892    #[link_name = "aws_lc_0_47_0_EVP_MD_block_size"]
13893    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
13894}
13895extern "C" {
13896    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_md"]
13897    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
13898}
13899extern "C" {
13900    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_size"]
13901    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
13902}
13903extern "C" {
13904    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_block_size"]
13905    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
13906}
13907extern "C" {
13908    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_type"]
13909    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13910}
13911extern "C" {
13912    #[link_name = "aws_lc_0_47_0_EVP_parse_digest_algorithm"]
13913    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
13914}
13915extern "C" {
13916    #[link_name = "aws_lc_0_47_0_EVP_marshal_digest_algorithm"]
13917    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
13918}
13919extern "C" {
13920    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_copy"]
13921    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13922}
13923extern "C" {
13924    #[link_name = "aws_lc_0_47_0_EVP_get_digestbyname"]
13925    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
13926}
13927extern "C" {
13928    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_create"]
13929    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
13930}
13931extern "C" {
13932    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_destroy"]
13933    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
13934}
13935extern "C" {
13936    #[link_name = "aws_lc_0_47_0_EVP_DigestFinalXOF"]
13937    pub fn EVP_DigestFinalXOF(
13938        ctx: *mut EVP_MD_CTX,
13939        out: *mut u8,
13940        len: usize,
13941    ) -> ::std::os::raw::c_int;
13942}
13943extern "C" {
13944    #[link_name = "aws_lc_0_47_0_EVP_DigestSqueeze"]
13945    pub fn EVP_DigestSqueeze(
13946        ctx: *mut EVP_MD_CTX,
13947        out: *mut u8,
13948        len: usize,
13949    ) -> ::std::os::raw::c_int;
13950}
13951extern "C" {
13952    #[link_name = "aws_lc_0_47_0_EVP_MD_meth_get_flags"]
13953    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
13954}
13955extern "C" {
13956    #[link_name = "aws_lc_0_47_0_EVP_MD_nid"]
13957    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
13958}
13959extern "C" {
13960    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_set_pkey_ctx"]
13961    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
13962}
13963extern "C" {
13964    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_get_pkey_ctx"]
13965    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13966}
13967extern "C" {
13968    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_pkey_ctx"]
13969    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13970}
13971#[repr(C)]
13972#[derive(Debug)]
13973pub struct evp_md_pctx_ops {
13974    _unused: [u8; 0],
13975}
13976#[repr(C)]
13977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13978pub struct env_md_ctx_st {
13979    pub digest: *const EVP_MD,
13980    pub md_data: *mut ::std::os::raw::c_void,
13981    pub update: ::std::option::Option<
13982        unsafe extern "C" fn(
13983            ctx: *mut EVP_MD_CTX,
13984            data: *const ::std::os::raw::c_void,
13985            count: usize,
13986        ) -> ::std::os::raw::c_int,
13987    >,
13988    pub pctx: *mut EVP_PKEY_CTX,
13989    pub pctx_ops: *const evp_md_pctx_ops,
13990    pub flags: ::std::os::raw::c_ulong,
13991}
13992#[test]
13993fn bindgen_test_layout_env_md_ctx_st() {
13994    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
13995    let ptr = UNINIT.as_ptr();
13996    assert_eq!(
13997        ::std::mem::size_of::<env_md_ctx_st>(),
13998        48usize,
13999        "Size of env_md_ctx_st"
14000    );
14001    assert_eq!(
14002        ::std::mem::align_of::<env_md_ctx_st>(),
14003        8usize,
14004        "Alignment of env_md_ctx_st"
14005    );
14006    assert_eq!(
14007        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
14008        0usize,
14009        "Offset of field: env_md_ctx_st::digest"
14010    );
14011    assert_eq!(
14012        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
14013        8usize,
14014        "Offset of field: env_md_ctx_st::md_data"
14015    );
14016    assert_eq!(
14017        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
14018        16usize,
14019        "Offset of field: env_md_ctx_st::update"
14020    );
14021    assert_eq!(
14022        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
14023        24usize,
14024        "Offset of field: env_md_ctx_st::pctx"
14025    );
14026    assert_eq!(
14027        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
14028        32usize,
14029        "Offset of field: env_md_ctx_st::pctx_ops"
14030    );
14031    assert_eq!(
14032        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
14033        40usize,
14034        "Offset of field: env_md_ctx_st::flags"
14035    );
14036}
14037impl Default for env_md_ctx_st {
14038    fn default() -> Self {
14039        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14040        unsafe {
14041            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14042            s.assume_init()
14043        }
14044    }
14045}
14046extern "C" {
14047    #[link_name = "aws_lc_0_47_0_EVP_MD_unstable_sha3_enable"]
14048    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
14049}
14050extern "C" {
14051    #[link_name = "aws_lc_0_47_0_EVP_MD_unstable_sha3_is_enabled"]
14052    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
14053}
14054extern "C" {
14055    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_set_flags"]
14056    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
14057}
14058extern "C" {
14059    #[link_name = "aws_lc_0_47_0_EVP_add_digest"]
14060    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
14061}
14062extern "C" {
14063    #[link_name = "aws_lc_0_47_0_EVP_md_null"]
14064    pub fn EVP_md_null() -> *const EVP_MD;
14065}
14066extern "C" {
14067    #[link_name = "aws_lc_0_47_0_DSA_new"]
14068    pub fn DSA_new() -> *mut DSA;
14069}
14070extern "C" {
14071    #[link_name = "aws_lc_0_47_0_DSA_free"]
14072    pub fn DSA_free(dsa: *mut DSA);
14073}
14074extern "C" {
14075    #[link_name = "aws_lc_0_47_0_DSA_up_ref"]
14076    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
14077}
14078extern "C" {
14079    #[link_name = "aws_lc_0_47_0_DSA_print"]
14080    pub fn DSA_print(
14081        bio: *mut BIO,
14082        dsa: *const DSA,
14083        indent: ::std::os::raw::c_int,
14084    ) -> ::std::os::raw::c_int;
14085}
14086extern "C" {
14087    #[link_name = "aws_lc_0_47_0_DSA_print_fp"]
14088    pub fn DSA_print_fp(
14089        fp: *mut FILE,
14090        dsa: *const DSA,
14091        indent: ::std::os::raw::c_int,
14092    ) -> ::std::os::raw::c_int;
14093}
14094extern "C" {
14095    #[link_name = "aws_lc_0_47_0_DSA_bits"]
14096    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
14097}
14098extern "C" {
14099    #[link_name = "aws_lc_0_47_0_DSA_get0_pub_key"]
14100    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
14101}
14102extern "C" {
14103    #[link_name = "aws_lc_0_47_0_DSA_get0_priv_key"]
14104    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
14105}
14106extern "C" {
14107    #[link_name = "aws_lc_0_47_0_DSA_get0_p"]
14108    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
14109}
14110extern "C" {
14111    #[link_name = "aws_lc_0_47_0_DSA_get0_q"]
14112    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
14113}
14114extern "C" {
14115    #[link_name = "aws_lc_0_47_0_DSA_get0_g"]
14116    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
14117}
14118extern "C" {
14119    #[link_name = "aws_lc_0_47_0_DSA_get0_key"]
14120    pub fn DSA_get0_key(
14121        dsa: *const DSA,
14122        out_pub_key: *mut *const BIGNUM,
14123        out_priv_key: *mut *const BIGNUM,
14124    );
14125}
14126extern "C" {
14127    #[link_name = "aws_lc_0_47_0_DSA_get0_pqg"]
14128    pub fn DSA_get0_pqg(
14129        dsa: *const DSA,
14130        out_p: *mut *const BIGNUM,
14131        out_q: *mut *const BIGNUM,
14132        out_g: *mut *const BIGNUM,
14133    );
14134}
14135extern "C" {
14136    #[link_name = "aws_lc_0_47_0_DSA_set0_key"]
14137    pub fn DSA_set0_key(
14138        dsa: *mut DSA,
14139        pub_key: *mut BIGNUM,
14140        priv_key: *mut BIGNUM,
14141    ) -> ::std::os::raw::c_int;
14142}
14143extern "C" {
14144    #[link_name = "aws_lc_0_47_0_DSA_set0_pqg"]
14145    pub fn DSA_set0_pqg(
14146        dsa: *mut DSA,
14147        p: *mut BIGNUM,
14148        q: *mut BIGNUM,
14149        g: *mut BIGNUM,
14150    ) -> ::std::os::raw::c_int;
14151}
14152extern "C" {
14153    #[link_name = "aws_lc_0_47_0_DSA_generate_parameters_ex"]
14154    pub fn DSA_generate_parameters_ex(
14155        dsa: *mut DSA,
14156        bits: ::std::os::raw::c_uint,
14157        seed: *const u8,
14158        seed_len: usize,
14159        out_counter: *mut ::std::os::raw::c_int,
14160        out_h: *mut ::std::os::raw::c_ulong,
14161        cb: *mut BN_GENCB,
14162    ) -> ::std::os::raw::c_int;
14163}
14164extern "C" {
14165    #[link_name = "aws_lc_0_47_0_DSAparams_dup"]
14166    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
14167}
14168extern "C" {
14169    #[link_name = "aws_lc_0_47_0_DSA_generate_key"]
14170    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
14171}
14172#[repr(C)]
14173#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14174pub struct DSA_SIG_st {
14175    pub r: *mut BIGNUM,
14176    pub s: *mut BIGNUM,
14177}
14178#[test]
14179fn bindgen_test_layout_DSA_SIG_st() {
14180    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
14181    let ptr = UNINIT.as_ptr();
14182    assert_eq!(
14183        ::std::mem::size_of::<DSA_SIG_st>(),
14184        16usize,
14185        "Size of DSA_SIG_st"
14186    );
14187    assert_eq!(
14188        ::std::mem::align_of::<DSA_SIG_st>(),
14189        8usize,
14190        "Alignment of DSA_SIG_st"
14191    );
14192    assert_eq!(
14193        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14194        0usize,
14195        "Offset of field: DSA_SIG_st::r"
14196    );
14197    assert_eq!(
14198        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14199        8usize,
14200        "Offset of field: DSA_SIG_st::s"
14201    );
14202}
14203impl Default for DSA_SIG_st {
14204    fn default() -> Self {
14205        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14206        unsafe {
14207            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14208            s.assume_init()
14209        }
14210    }
14211}
14212extern "C" {
14213    #[link_name = "aws_lc_0_47_0_DSA_SIG_new"]
14214    pub fn DSA_SIG_new() -> *mut DSA_SIG;
14215}
14216extern "C" {
14217    #[link_name = "aws_lc_0_47_0_DSA_SIG_free"]
14218    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
14219}
14220extern "C" {
14221    #[link_name = "aws_lc_0_47_0_DSA_SIG_get0"]
14222    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
14223}
14224extern "C" {
14225    #[link_name = "aws_lc_0_47_0_DSA_SIG_set0"]
14226    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
14227        -> ::std::os::raw::c_int;
14228}
14229extern "C" {
14230    #[link_name = "aws_lc_0_47_0_DSA_do_sign"]
14231    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
14232}
14233extern "C" {
14234    #[link_name = "aws_lc_0_47_0_DSA_do_verify"]
14235    pub fn DSA_do_verify(
14236        digest: *const u8,
14237        digest_len: usize,
14238        sig: *const DSA_SIG,
14239        dsa: *const DSA,
14240    ) -> ::std::os::raw::c_int;
14241}
14242extern "C" {
14243    #[link_name = "aws_lc_0_47_0_DSA_do_check_signature"]
14244    pub fn DSA_do_check_signature(
14245        out_valid: *mut ::std::os::raw::c_int,
14246        digest: *const u8,
14247        digest_len: usize,
14248        sig: *const DSA_SIG,
14249        dsa: *const DSA,
14250    ) -> ::std::os::raw::c_int;
14251}
14252extern "C" {
14253    #[link_name = "aws_lc_0_47_0_DSA_sign"]
14254    pub fn DSA_sign(
14255        type_: ::std::os::raw::c_int,
14256        digest: *const u8,
14257        digest_len: usize,
14258        out_sig: *mut u8,
14259        out_siglen: *mut ::std::os::raw::c_uint,
14260        dsa: *const DSA,
14261    ) -> ::std::os::raw::c_int;
14262}
14263extern "C" {
14264    #[link_name = "aws_lc_0_47_0_DSA_verify"]
14265    pub fn DSA_verify(
14266        type_: ::std::os::raw::c_int,
14267        digest: *const u8,
14268        digest_len: usize,
14269        sig: *const u8,
14270        sig_len: usize,
14271        dsa: *const DSA,
14272    ) -> ::std::os::raw::c_int;
14273}
14274extern "C" {
14275    #[link_name = "aws_lc_0_47_0_DSA_check_signature"]
14276    pub fn DSA_check_signature(
14277        out_valid: *mut ::std::os::raw::c_int,
14278        digest: *const u8,
14279        digest_len: usize,
14280        sig: *const u8,
14281        sig_len: usize,
14282        dsa: *const DSA,
14283    ) -> ::std::os::raw::c_int;
14284}
14285extern "C" {
14286    #[link_name = "aws_lc_0_47_0_DSA_size"]
14287    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
14288}
14289extern "C" {
14290    #[link_name = "aws_lc_0_47_0_DSA_SIG_parse"]
14291    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
14292}
14293extern "C" {
14294    #[link_name = "aws_lc_0_47_0_DSA_SIG_marshal"]
14295    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
14296}
14297extern "C" {
14298    #[link_name = "aws_lc_0_47_0_DSA_parse_public_key"]
14299    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
14300}
14301extern "C" {
14302    #[link_name = "aws_lc_0_47_0_DSA_marshal_public_key"]
14303    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14304}
14305extern "C" {
14306    #[link_name = "aws_lc_0_47_0_DSA_parse_private_key"]
14307    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
14308}
14309extern "C" {
14310    #[link_name = "aws_lc_0_47_0_DSA_marshal_private_key"]
14311    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14312}
14313extern "C" {
14314    #[link_name = "aws_lc_0_47_0_DSA_parse_parameters"]
14315    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
14316}
14317extern "C" {
14318    #[link_name = "aws_lc_0_47_0_DSA_marshal_parameters"]
14319    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14320}
14321extern "C" {
14322    #[link_name = "aws_lc_0_47_0_DSA_dup_DH"]
14323    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
14324}
14325extern "C" {
14326    #[link_name = "aws_lc_0_47_0_DSA_get_ex_new_index"]
14327    pub fn DSA_get_ex_new_index(
14328        argl: ::std::os::raw::c_long,
14329        argp: *mut ::std::os::raw::c_void,
14330        unused: *mut CRYPTO_EX_unused,
14331        dup_unused: CRYPTO_EX_dup,
14332        free_func: CRYPTO_EX_free,
14333    ) -> ::std::os::raw::c_int;
14334}
14335extern "C" {
14336    #[link_name = "aws_lc_0_47_0_DSA_set_ex_data"]
14337    pub fn DSA_set_ex_data(
14338        dsa: *mut DSA,
14339        idx: ::std::os::raw::c_int,
14340        arg: *mut ::std::os::raw::c_void,
14341    ) -> ::std::os::raw::c_int;
14342}
14343extern "C" {
14344    #[link_name = "aws_lc_0_47_0_DSA_get_ex_data"]
14345    pub fn DSA_get_ex_data(
14346        dsa: *const DSA,
14347        idx: ::std::os::raw::c_int,
14348    ) -> *mut ::std::os::raw::c_void;
14349}
14350extern "C" {
14351    #[link_name = "aws_lc_0_47_0_d2i_DSA_SIG"]
14352    pub fn d2i_DSA_SIG(
14353        out_sig: *mut *mut DSA_SIG,
14354        inp: *mut *const u8,
14355        len: ::std::os::raw::c_long,
14356    ) -> *mut DSA_SIG;
14357}
14358extern "C" {
14359    #[link_name = "aws_lc_0_47_0_i2d_DSA_SIG"]
14360    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14361}
14362extern "C" {
14363    #[link_name = "aws_lc_0_47_0_d2i_DSAPublicKey"]
14364    pub fn d2i_DSAPublicKey(
14365        out: *mut *mut DSA,
14366        inp: *mut *const u8,
14367        len: ::std::os::raw::c_long,
14368    ) -> *mut DSA;
14369}
14370extern "C" {
14371    #[link_name = "aws_lc_0_47_0_i2d_DSAPublicKey"]
14372    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14373}
14374extern "C" {
14375    #[link_name = "aws_lc_0_47_0_d2i_DSAPrivateKey"]
14376    pub fn d2i_DSAPrivateKey(
14377        out: *mut *mut DSA,
14378        inp: *mut *const u8,
14379        len: ::std::os::raw::c_long,
14380    ) -> *mut DSA;
14381}
14382extern "C" {
14383    #[link_name = "aws_lc_0_47_0_i2d_DSAPrivateKey"]
14384    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14385}
14386extern "C" {
14387    #[link_name = "aws_lc_0_47_0_d2i_DSAparams"]
14388    pub fn d2i_DSAparams(
14389        out: *mut *mut DSA,
14390        inp: *mut *const u8,
14391        len: ::std::os::raw::c_long,
14392    ) -> *mut DSA;
14393}
14394extern "C" {
14395    #[link_name = "aws_lc_0_47_0_i2d_DSAparams"]
14396    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14397}
14398#[repr(u32)]
14399#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14400pub enum point_conversion_form_t {
14401    POINT_CONVERSION_COMPRESSED = 2,
14402    POINT_CONVERSION_UNCOMPRESSED = 4,
14403    POINT_CONVERSION_HYBRID = 6,
14404}
14405extern "C" {
14406    #[link_name = "aws_lc_0_47_0_EC_group_p224"]
14407    pub fn EC_group_p224() -> *const EC_GROUP;
14408}
14409extern "C" {
14410    #[link_name = "aws_lc_0_47_0_EC_group_p256"]
14411    pub fn EC_group_p256() -> *const EC_GROUP;
14412}
14413extern "C" {
14414    #[link_name = "aws_lc_0_47_0_EC_group_p384"]
14415    pub fn EC_group_p384() -> *const EC_GROUP;
14416}
14417extern "C" {
14418    #[link_name = "aws_lc_0_47_0_EC_group_p521"]
14419    pub fn EC_group_p521() -> *const EC_GROUP;
14420}
14421extern "C" {
14422    #[link_name = "aws_lc_0_47_0_EC_group_secp256k1"]
14423    pub fn EC_group_secp256k1() -> *const EC_GROUP;
14424}
14425extern "C" {
14426    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP224r1"]
14427    pub fn EC_group_brainpoolP224r1() -> *const EC_GROUP;
14428}
14429extern "C" {
14430    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP256r1"]
14431    pub fn EC_group_brainpoolP256r1() -> *const EC_GROUP;
14432}
14433extern "C" {
14434    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP320r1"]
14435    pub fn EC_group_brainpoolP320r1() -> *const EC_GROUP;
14436}
14437extern "C" {
14438    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP384r1"]
14439    pub fn EC_group_brainpoolP384r1() -> *const EC_GROUP;
14440}
14441extern "C" {
14442    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP512r1"]
14443    pub fn EC_group_brainpoolP512r1() -> *const EC_GROUP;
14444}
14445extern "C" {
14446    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_by_curve_name"]
14447    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14448}
14449extern "C" {
14450    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_by_curve_name_mutable"]
14451    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14452}
14453extern "C" {
14454    #[link_name = "aws_lc_0_47_0_EC_GROUP_cmp"]
14455    pub fn EC_GROUP_cmp(
14456        a: *const EC_GROUP,
14457        b: *const EC_GROUP,
14458        ignored: *mut BN_CTX,
14459    ) -> ::std::os::raw::c_int;
14460}
14461extern "C" {
14462    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_generator"]
14463    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14464}
14465extern "C" {
14466    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_order"]
14467    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14468}
14469extern "C" {
14470    #[link_name = "aws_lc_0_47_0_EC_GROUP_order_bits"]
14471    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14472}
14473extern "C" {
14474    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_cofactor"]
14475    pub fn EC_GROUP_get_cofactor(
14476        group: *const EC_GROUP,
14477        cofactor: *mut BIGNUM,
14478        ctx: *mut BN_CTX,
14479    ) -> ::std::os::raw::c_int;
14480}
14481extern "C" {
14482    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_curve_GFp"]
14483    pub fn EC_GROUP_get_curve_GFp(
14484        group: *const EC_GROUP,
14485        out_p: *mut BIGNUM,
14486        out_a: *mut BIGNUM,
14487        out_b: *mut BIGNUM,
14488        ctx: *mut BN_CTX,
14489    ) -> ::std::os::raw::c_int;
14490}
14491extern "C" {
14492    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_curve_name"]
14493    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14494}
14495extern "C" {
14496    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_degree"]
14497    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14498}
14499extern "C" {
14500    #[link_name = "aws_lc_0_47_0_EC_curve_nid2nist"]
14501    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14502}
14503extern "C" {
14504    #[link_name = "aws_lc_0_47_0_EC_curve_nist2nid"]
14505    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14506}
14507extern "C" {
14508    #[link_name = "aws_lc_0_47_0_EC_POINT_new"]
14509    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14510}
14511extern "C" {
14512    #[link_name = "aws_lc_0_47_0_EC_POINT_free"]
14513    pub fn EC_POINT_free(point: *mut EC_POINT);
14514}
14515extern "C" {
14516    #[link_name = "aws_lc_0_47_0_EC_POINT_copy"]
14517    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14518}
14519extern "C" {
14520    #[link_name = "aws_lc_0_47_0_EC_POINT_dup"]
14521    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14522}
14523extern "C" {
14524    #[link_name = "aws_lc_0_47_0_EC_POINT_set_to_infinity"]
14525    pub fn EC_POINT_set_to_infinity(
14526        group: *const EC_GROUP,
14527        point: *mut EC_POINT,
14528    ) -> ::std::os::raw::c_int;
14529}
14530extern "C" {
14531    #[link_name = "aws_lc_0_47_0_EC_POINT_is_at_infinity"]
14532    pub fn EC_POINT_is_at_infinity(
14533        group: *const EC_GROUP,
14534        point: *const EC_POINT,
14535    ) -> ::std::os::raw::c_int;
14536}
14537extern "C" {
14538    #[link_name = "aws_lc_0_47_0_EC_POINT_is_on_curve"]
14539    pub fn EC_POINT_is_on_curve(
14540        group: *const EC_GROUP,
14541        point: *const EC_POINT,
14542        ctx: *mut BN_CTX,
14543    ) -> ::std::os::raw::c_int;
14544}
14545extern "C" {
14546    #[link_name = "aws_lc_0_47_0_EC_POINT_cmp"]
14547    pub fn EC_POINT_cmp(
14548        group: *const EC_GROUP,
14549        a: *const EC_POINT,
14550        b: *const EC_POINT,
14551        ctx: *mut BN_CTX,
14552    ) -> ::std::os::raw::c_int;
14553}
14554extern "C" {
14555    #[link_name = "aws_lc_0_47_0_EC_POINT_get_affine_coordinates_GFp"]
14556    pub fn EC_POINT_get_affine_coordinates_GFp(
14557        group: *const EC_GROUP,
14558        point: *const EC_POINT,
14559        x: *mut BIGNUM,
14560        y: *mut BIGNUM,
14561        ctx: *mut BN_CTX,
14562    ) -> ::std::os::raw::c_int;
14563}
14564extern "C" {
14565    #[link_name = "aws_lc_0_47_0_EC_POINT_get_affine_coordinates"]
14566    pub fn EC_POINT_get_affine_coordinates(
14567        group: *const EC_GROUP,
14568        point: *const EC_POINT,
14569        x: *mut BIGNUM,
14570        y: *mut BIGNUM,
14571        ctx: *mut BN_CTX,
14572    ) -> ::std::os::raw::c_int;
14573}
14574extern "C" {
14575    #[link_name = "aws_lc_0_47_0_EC_POINT_set_affine_coordinates_GFp"]
14576    pub fn EC_POINT_set_affine_coordinates_GFp(
14577        group: *const EC_GROUP,
14578        point: *mut EC_POINT,
14579        x: *const BIGNUM,
14580        y: *const BIGNUM,
14581        ctx: *mut BN_CTX,
14582    ) -> ::std::os::raw::c_int;
14583}
14584extern "C" {
14585    #[link_name = "aws_lc_0_47_0_EC_POINT_set_affine_coordinates"]
14586    pub fn EC_POINT_set_affine_coordinates(
14587        group: *const EC_GROUP,
14588        point: *mut EC_POINT,
14589        x: *const BIGNUM,
14590        y: *const BIGNUM,
14591        ctx: *mut BN_CTX,
14592    ) -> ::std::os::raw::c_int;
14593}
14594extern "C" {
14595    #[link_name = "aws_lc_0_47_0_EC_POINT_point2oct"]
14596    pub fn EC_POINT_point2oct(
14597        group: *const EC_GROUP,
14598        point: *const EC_POINT,
14599        form: point_conversion_form_t,
14600        buf: *mut u8,
14601        len: usize,
14602        ctx: *mut BN_CTX,
14603    ) -> usize;
14604}
14605extern "C" {
14606    #[link_name = "aws_lc_0_47_0_EC_POINT_point2cbb"]
14607    pub fn EC_POINT_point2cbb(
14608        out: *mut CBB,
14609        group: *const EC_GROUP,
14610        point: *const EC_POINT,
14611        form: point_conversion_form_t,
14612        ctx: *mut BN_CTX,
14613    ) -> ::std::os::raw::c_int;
14614}
14615extern "C" {
14616    #[link_name = "aws_lc_0_47_0_EC_POINT_oct2point"]
14617    pub fn EC_POINT_oct2point(
14618        group: *const EC_GROUP,
14619        point: *mut EC_POINT,
14620        buf: *const u8,
14621        len: usize,
14622        ctx: *mut BN_CTX,
14623    ) -> ::std::os::raw::c_int;
14624}
14625extern "C" {
14626    #[link_name = "aws_lc_0_47_0_EC_POINT_set_compressed_coordinates_GFp"]
14627    pub fn EC_POINT_set_compressed_coordinates_GFp(
14628        group: *const EC_GROUP,
14629        point: *mut EC_POINT,
14630        x: *const BIGNUM,
14631        y_bit: ::std::os::raw::c_int,
14632        ctx: *mut BN_CTX,
14633    ) -> ::std::os::raw::c_int;
14634}
14635extern "C" {
14636    #[link_name = "aws_lc_0_47_0_EC_POINT_add"]
14637    pub fn EC_POINT_add(
14638        group: *const EC_GROUP,
14639        r: *mut EC_POINT,
14640        a: *const EC_POINT,
14641        b: *const EC_POINT,
14642        ctx: *mut BN_CTX,
14643    ) -> ::std::os::raw::c_int;
14644}
14645extern "C" {
14646    #[link_name = "aws_lc_0_47_0_EC_POINT_dbl"]
14647    pub fn EC_POINT_dbl(
14648        group: *const EC_GROUP,
14649        r: *mut EC_POINT,
14650        a: *const EC_POINT,
14651        ctx: *mut BN_CTX,
14652    ) -> ::std::os::raw::c_int;
14653}
14654extern "C" {
14655    #[link_name = "aws_lc_0_47_0_EC_POINT_invert"]
14656    pub fn EC_POINT_invert(
14657        group: *const EC_GROUP,
14658        a: *mut EC_POINT,
14659        ctx: *mut BN_CTX,
14660    ) -> ::std::os::raw::c_int;
14661}
14662extern "C" {
14663    #[link_name = "aws_lc_0_47_0_EC_POINT_mul"]
14664    pub fn EC_POINT_mul(
14665        group: *const EC_GROUP,
14666        r: *mut EC_POINT,
14667        n: *const BIGNUM,
14668        q: *const EC_POINT,
14669        m: *const BIGNUM,
14670        ctx: *mut BN_CTX,
14671    ) -> ::std::os::raw::c_int;
14672}
14673extern "C" {
14674    #[link_name = "aws_lc_0_47_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14675    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14676        group: *const EC_GROUP,
14677        out: *mut EC_POINT,
14678        dst: *const u8,
14679        dst_len: usize,
14680        msg: *const u8,
14681        msg_len: usize,
14682    ) -> ::std::os::raw::c_int;
14683}
14684extern "C" {
14685    #[link_name = "aws_lc_0_47_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14686    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14687        group: *const EC_GROUP,
14688        out: *mut EC_POINT,
14689        dst: *const u8,
14690        dst_len: usize,
14691        msg: *const u8,
14692        msg_len: usize,
14693    ) -> ::std::os::raw::c_int;
14694}
14695extern "C" {
14696    #[link_name = "aws_lc_0_47_0_EC_GROUP_free"]
14697    pub fn EC_GROUP_free(group: *mut EC_GROUP);
14698}
14699extern "C" {
14700    #[link_name = "aws_lc_0_47_0_EC_GROUP_dup"]
14701    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
14702}
14703extern "C" {
14704    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_curve_GFp"]
14705    pub fn EC_GROUP_new_curve_GFp(
14706        p: *const BIGNUM,
14707        a: *const BIGNUM,
14708        b: *const BIGNUM,
14709        ctx: *mut BN_CTX,
14710    ) -> *mut EC_GROUP;
14711}
14712extern "C" {
14713    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_generator"]
14714    pub fn EC_GROUP_set_generator(
14715        group: *mut EC_GROUP,
14716        generator: *const EC_POINT,
14717        order: *const BIGNUM,
14718        cofactor: *const BIGNUM,
14719    ) -> ::std::os::raw::c_int;
14720}
14721extern "C" {
14722    #[link_name = "aws_lc_0_47_0_EC_POINT_point2bn"]
14723    pub fn EC_POINT_point2bn(
14724        group: *const EC_GROUP,
14725        point: *const EC_POINT,
14726        form: point_conversion_form_t,
14727        ret: *mut BIGNUM,
14728        ctx: *mut BN_CTX,
14729    ) -> *mut BIGNUM;
14730}
14731extern "C" {
14732    #[link_name = "aws_lc_0_47_0_EC_POINT_bn2point"]
14733    pub fn EC_POINT_bn2point(
14734        group: *const EC_GROUP,
14735        bn: *const BIGNUM,
14736        point: *mut EC_POINT,
14737        ctx: *mut BN_CTX,
14738    ) -> *mut EC_POINT;
14739}
14740extern "C" {
14741    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_order"]
14742    pub fn EC_GROUP_get_order(
14743        group: *const EC_GROUP,
14744        order: *mut BIGNUM,
14745        ctx: *mut BN_CTX,
14746    ) -> ::std::os::raw::c_int;
14747}
14748#[repr(C)]
14749#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14750pub struct EC_builtin_curve {
14751    pub nid: ::std::os::raw::c_int,
14752    pub comment: *const ::std::os::raw::c_char,
14753}
14754#[test]
14755fn bindgen_test_layout_EC_builtin_curve() {
14756    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
14757    let ptr = UNINIT.as_ptr();
14758    assert_eq!(
14759        ::std::mem::size_of::<EC_builtin_curve>(),
14760        16usize,
14761        "Size of EC_builtin_curve"
14762    );
14763    assert_eq!(
14764        ::std::mem::align_of::<EC_builtin_curve>(),
14765        8usize,
14766        "Alignment of EC_builtin_curve"
14767    );
14768    assert_eq!(
14769        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
14770        0usize,
14771        "Offset of field: EC_builtin_curve::nid"
14772    );
14773    assert_eq!(
14774        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
14775        8usize,
14776        "Offset of field: EC_builtin_curve::comment"
14777    );
14778}
14779impl Default for EC_builtin_curve {
14780    fn default() -> Self {
14781        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14782        unsafe {
14783            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14784            s.assume_init()
14785        }
14786    }
14787}
14788extern "C" {
14789    #[link_name = "aws_lc_0_47_0_EC_get_builtin_curves"]
14790    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
14791        -> usize;
14792}
14793extern "C" {
14794    #[link_name = "aws_lc_0_47_0_EC_POINT_clear_free"]
14795    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
14796}
14797extern "C" {
14798    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_seed"]
14799    pub fn EC_GROUP_set_seed(
14800        group: *mut EC_GROUP,
14801        p: *const ::std::os::raw::c_uchar,
14802        len: usize,
14803    ) -> usize;
14804}
14805extern "C" {
14806    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_seed"]
14807    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
14808}
14809extern "C" {
14810    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_seed_len"]
14811    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
14812}
14813extern "C" {
14814    #[link_name = "aws_lc_0_47_0_ECPKParameters_print"]
14815    pub fn ECPKParameters_print(
14816        bio: *mut BIO,
14817        group: *const EC_GROUP,
14818        offset: ::std::os::raw::c_int,
14819    ) -> ::std::os::raw::c_int;
14820}
14821extern "C" {
14822    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_asn1_flag"]
14823    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
14824}
14825extern "C" {
14826    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_asn1_flag"]
14827    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_point_conversion_form"]
14831    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
14832}
14833extern "C" {
14834    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_point_conversion_form"]
14835    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
14836}
14837extern "C" {
14838    #[link_name = "aws_lc_0_47_0_EC_KEY_decoded_from_explicit_params"]
14839    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
14840}
14841#[repr(C)]
14842#[derive(Debug)]
14843pub struct ec_method_st {
14844    _unused: [u8; 0],
14845}
14846pub type EC_METHOD = ec_method_st;
14847extern "C" {
14848    #[link_name = "aws_lc_0_47_0_EC_GROUP_method_of"]
14849    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
14850}
14851extern "C" {
14852    #[link_name = "aws_lc_0_47_0_EC_METHOD_get_field_type"]
14853    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
14854}
14855extern "C" {
14856    #[link_name = "aws_lc_0_47_0_ENGINE_new"]
14857    pub fn ENGINE_new() -> *mut ENGINE;
14858}
14859extern "C" {
14860    #[link_name = "aws_lc_0_47_0_ENGINE_free"]
14861    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
14862}
14863extern "C" {
14864    #[link_name = "aws_lc_0_47_0_ENGINE_set_RSA"]
14865    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
14866}
14867extern "C" {
14868    #[link_name = "aws_lc_0_47_0_ENGINE_get_RSA"]
14869    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
14870}
14871extern "C" {
14872    #[link_name = "aws_lc_0_47_0_ENGINE_set_EC"]
14873    pub fn ENGINE_set_EC(
14874        engine: *mut ENGINE,
14875        method: *const EC_KEY_METHOD,
14876    ) -> ::std::os::raw::c_int;
14877}
14878extern "C" {
14879    #[link_name = "aws_lc_0_47_0_ENGINE_get_EC"]
14880    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
14881}
14882extern "C" {
14883    #[link_name = "aws_lc_0_47_0_ENGINE_cleanup"]
14884    pub fn ENGINE_cleanup();
14885}
14886extern "C" {
14887    #[link_name = "aws_lc_0_47_0_EC_KEY_new"]
14888    pub fn EC_KEY_new() -> *mut EC_KEY;
14889}
14890extern "C" {
14891    #[link_name = "aws_lc_0_47_0_EC_KEY_new_method"]
14892    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
14893}
14894extern "C" {
14895    #[link_name = "aws_lc_0_47_0_EC_KEY_new_by_curve_name"]
14896    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
14897}
14898extern "C" {
14899    #[link_name = "aws_lc_0_47_0_EC_KEY_free"]
14900    pub fn EC_KEY_free(key: *mut EC_KEY);
14901}
14902extern "C" {
14903    #[link_name = "aws_lc_0_47_0_EC_KEY_dup"]
14904    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
14905}
14906extern "C" {
14907    #[link_name = "aws_lc_0_47_0_EC_KEY_up_ref"]
14908    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14909}
14910extern "C" {
14911    #[link_name = "aws_lc_0_47_0_EC_KEY_is_opaque"]
14912    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
14913}
14914extern "C" {
14915    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_group"]
14916    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
14917}
14918extern "C" {
14919    #[link_name = "aws_lc_0_47_0_EC_KEY_set_group"]
14920    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14921}
14922extern "C" {
14923    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_private_key"]
14924    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
14925}
14926extern "C" {
14927    #[link_name = "aws_lc_0_47_0_EC_KEY_set_private_key"]
14928    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
14929}
14930extern "C" {
14931    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_public_key"]
14932    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
14933}
14934extern "C" {
14935    #[link_name = "aws_lc_0_47_0_EC_KEY_set_public_key"]
14936    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
14937}
14938extern "C" {
14939    #[link_name = "aws_lc_0_47_0_EC_KEY_get_enc_flags"]
14940    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
14941}
14942extern "C" {
14943    #[link_name = "aws_lc_0_47_0_EC_KEY_set_enc_flags"]
14944    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
14945}
14946extern "C" {
14947    #[link_name = "aws_lc_0_47_0_EC_KEY_get_conv_form"]
14948    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
14949}
14950extern "C" {
14951    #[link_name = "aws_lc_0_47_0_EC_KEY_set_conv_form"]
14952    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
14953}
14954extern "C" {
14955    #[link_name = "aws_lc_0_47_0_EC_KEY_check_key"]
14956    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
14957}
14958extern "C" {
14959    #[link_name = "aws_lc_0_47_0_EC_KEY_check_fips"]
14960    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
14961}
14962extern "C" {
14963    #[link_name = "aws_lc_0_47_0_EC_KEY_set_public_key_affine_coordinates"]
14964    pub fn EC_KEY_set_public_key_affine_coordinates(
14965        key: *mut EC_KEY,
14966        x: *const BIGNUM,
14967        y: *const BIGNUM,
14968    ) -> ::std::os::raw::c_int;
14969}
14970extern "C" {
14971    #[link_name = "aws_lc_0_47_0_EC_KEY_key2buf"]
14972    pub fn EC_KEY_key2buf(
14973        key: *const EC_KEY,
14974        form: point_conversion_form_t,
14975        out_buf: *mut *mut ::std::os::raw::c_uchar,
14976        ctx: *mut BN_CTX,
14977    ) -> usize;
14978}
14979extern "C" {
14980    #[link_name = "aws_lc_0_47_0_EC_KEY_generate_key"]
14981    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14982}
14983extern "C" {
14984    #[link_name = "aws_lc_0_47_0_EC_KEY_generate_key_fips"]
14985    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14986}
14987extern "C" {
14988    #[link_name = "aws_lc_0_47_0_EC_KEY_derive_from_secret"]
14989    pub fn EC_KEY_derive_from_secret(
14990        group: *const EC_GROUP,
14991        secret: *const u8,
14992        secret_len: usize,
14993    ) -> *mut EC_KEY;
14994}
14995extern "C" {
14996    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_private_key"]
14997    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
14998}
14999extern "C" {
15000    #[link_name = "aws_lc_0_47_0_EC_KEY_marshal_private_key"]
15001    pub fn EC_KEY_marshal_private_key(
15002        cbb: *mut CBB,
15003        key: *const EC_KEY,
15004        enc_flags: ::std::os::raw::c_uint,
15005    ) -> ::std::os::raw::c_int;
15006}
15007extern "C" {
15008    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_curve_name"]
15009    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
15010}
15011extern "C" {
15012    #[link_name = "aws_lc_0_47_0_EC_KEY_marshal_curve_name"]
15013    pub fn EC_KEY_marshal_curve_name(
15014        cbb: *mut CBB,
15015        group: *const EC_GROUP,
15016    ) -> ::std::os::raw::c_int;
15017}
15018extern "C" {
15019    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_parameters"]
15020    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
15021}
15022extern "C" {
15023    #[link_name = "aws_lc_0_47_0_EC_KEY_get_ex_new_index"]
15024    pub fn EC_KEY_get_ex_new_index(
15025        argl: ::std::os::raw::c_long,
15026        argp: *mut ::std::os::raw::c_void,
15027        unused: *mut CRYPTO_EX_unused,
15028        dup_unused: CRYPTO_EX_dup,
15029        free_func: CRYPTO_EX_free,
15030    ) -> ::std::os::raw::c_int;
15031}
15032extern "C" {
15033    #[link_name = "aws_lc_0_47_0_EC_KEY_set_ex_data"]
15034    pub fn EC_KEY_set_ex_data(
15035        r: *mut EC_KEY,
15036        idx: ::std::os::raw::c_int,
15037        arg: *mut ::std::os::raw::c_void,
15038    ) -> ::std::os::raw::c_int;
15039}
15040extern "C" {
15041    #[link_name = "aws_lc_0_47_0_EC_KEY_get_ex_data"]
15042    pub fn EC_KEY_get_ex_data(
15043        r: *const EC_KEY,
15044        idx: ::std::os::raw::c_int,
15045    ) -> *mut ::std::os::raw::c_void;
15046}
15047extern "C" {
15048    #[link_name = "aws_lc_0_47_0_d2i_ECPrivateKey"]
15049    pub fn d2i_ECPrivateKey(
15050        out_key: *mut *mut EC_KEY,
15051        inp: *mut *const u8,
15052        len: ::std::os::raw::c_long,
15053    ) -> *mut EC_KEY;
15054}
15055extern "C" {
15056    #[link_name = "aws_lc_0_47_0_i2d_ECPrivateKey"]
15057    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15058}
15059extern "C" {
15060    #[link_name = "aws_lc_0_47_0_d2i_ECParameters"]
15061    pub fn d2i_ECParameters(
15062        out_key: *mut *mut EC_KEY,
15063        inp: *mut *const u8,
15064        len: ::std::os::raw::c_long,
15065    ) -> *mut EC_KEY;
15066}
15067extern "C" {
15068    #[link_name = "aws_lc_0_47_0_i2d_ECParameters"]
15069    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15070}
15071extern "C" {
15072    #[link_name = "aws_lc_0_47_0_d2i_ECPKParameters"]
15073    pub fn d2i_ECPKParameters(
15074        out_group: *mut *mut EC_GROUP,
15075        inp: *mut *const u8,
15076        len: ::std::os::raw::c_long,
15077    ) -> *mut EC_GROUP;
15078}
15079extern "C" {
15080    #[link_name = "aws_lc_0_47_0_i2d_ECPKParameters"]
15081    pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15082}
15083extern "C" {
15084    #[link_name = "aws_lc_0_47_0_d2i_ECPKParameters_bio"]
15085    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
15086}
15087extern "C" {
15088    #[link_name = "aws_lc_0_47_0_i2d_ECPKParameters_bio"]
15089    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15090}
15091extern "C" {
15092    #[link_name = "aws_lc_0_47_0_o2i_ECPublicKey"]
15093    pub fn o2i_ECPublicKey(
15094        out_key: *mut *mut EC_KEY,
15095        inp: *mut *const u8,
15096        len: ::std::os::raw::c_long,
15097    ) -> *mut EC_KEY;
15098}
15099extern "C" {
15100    #[link_name = "aws_lc_0_47_0_i2o_ECPublicKey"]
15101    pub fn i2o_ECPublicKey(
15102        key: *const EC_KEY,
15103        outp: *mut *mut ::std::os::raw::c_uchar,
15104    ) -> ::std::os::raw::c_int;
15105}
15106extern "C" {
15107    #[link_name = "aws_lc_0_47_0_EC_KEY_get_default_method"]
15108    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
15109}
15110extern "C" {
15111    #[link_name = "aws_lc_0_47_0_EC_KEY_OpenSSL"]
15112    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
15113}
15114extern "C" {
15115    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_new"]
15116    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
15117}
15118extern "C" {
15119    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_free"]
15120    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
15121}
15122extern "C" {
15123    #[link_name = "aws_lc_0_47_0_EC_KEY_set_method"]
15124    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
15125}
15126extern "C" {
15127    #[link_name = "aws_lc_0_47_0_EC_KEY_get_method"]
15128    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
15129}
15130extern "C" {
15131    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_sign_awslc"]
15132    pub fn EC_KEY_METHOD_set_sign_awslc(
15133        meth: *mut EC_KEY_METHOD,
15134        sign: ::std::option::Option<
15135            unsafe extern "C" fn(
15136                type_: ::std::os::raw::c_int,
15137                digest: *const u8,
15138                digest_len: ::std::os::raw::c_int,
15139                sig: *mut u8,
15140                siglen: *mut ::std::os::raw::c_uint,
15141                k_inv: *const BIGNUM,
15142                r: *const BIGNUM,
15143                eckey: *mut EC_KEY,
15144            ) -> ::std::os::raw::c_int,
15145        >,
15146        sign_sig: ::std::option::Option<
15147            unsafe extern "C" fn(
15148                digest: *const u8,
15149                digest_len: ::std::os::raw::c_int,
15150                in_kinv: *const BIGNUM,
15151                in_r: *const BIGNUM,
15152                eckey: *mut EC_KEY,
15153            ) -> *mut ECDSA_SIG,
15154        >,
15155    );
15156}
15157extern "C" {
15158    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_init_awslc"]
15159    pub fn EC_KEY_METHOD_set_init_awslc(
15160        meth: *mut EC_KEY_METHOD,
15161        init: ::std::option::Option<
15162            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
15163        >,
15164        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
15165    );
15166}
15167extern "C" {
15168    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_flags"]
15169    pub fn EC_KEY_METHOD_set_flags(
15170        meth: *mut EC_KEY_METHOD,
15171        flags: ::std::os::raw::c_int,
15172    ) -> ::std::os::raw::c_int;
15173}
15174extern "C" {
15175    #[link_name = "aws_lc_0_47_0_EC_KEY_set_asn1_flag"]
15176    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
15177}
15178extern "C" {
15179    #[link_name = "aws_lc_0_47_0_ECDH_compute_key"]
15180    pub fn ECDH_compute_key(
15181        out: *mut ::std::os::raw::c_void,
15182        outlen: usize,
15183        pub_key: *const EC_POINT,
15184        priv_key: *const EC_KEY,
15185        kdf: ::std::option::Option<
15186            unsafe extern "C" fn(
15187                in_: *const ::std::os::raw::c_void,
15188                inlen: usize,
15189                out: *mut ::std::os::raw::c_void,
15190                outlen: *mut usize,
15191            ) -> *mut ::std::os::raw::c_void,
15192        >,
15193    ) -> ::std::os::raw::c_int;
15194}
15195extern "C" {
15196    #[link_name = "aws_lc_0_47_0_ECDH_compute_key_fips"]
15197    pub fn ECDH_compute_key_fips(
15198        out: *mut u8,
15199        out_len: usize,
15200        pub_key: *const EC_POINT,
15201        priv_key: *const EC_KEY,
15202    ) -> ::std::os::raw::c_int;
15203}
15204extern "C" {
15205    #[link_name = "aws_lc_0_47_0_ECDSA_sign"]
15206    pub fn ECDSA_sign(
15207        type_: ::std::os::raw::c_int,
15208        digest: *const u8,
15209        digest_len: usize,
15210        sig: *mut u8,
15211        sig_len: *mut ::std::os::raw::c_uint,
15212        key: *const EC_KEY,
15213    ) -> ::std::os::raw::c_int;
15214}
15215extern "C" {
15216    #[link_name = "aws_lc_0_47_0_ECDSA_verify"]
15217    pub fn ECDSA_verify(
15218        type_: ::std::os::raw::c_int,
15219        digest: *const u8,
15220        digest_len: usize,
15221        sig: *const u8,
15222        sig_len: usize,
15223        key: *const EC_KEY,
15224    ) -> ::std::os::raw::c_int;
15225}
15226extern "C" {
15227    #[link_name = "aws_lc_0_47_0_ECDSA_size"]
15228    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
15229}
15230#[repr(C)]
15231#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15232pub struct ecdsa_sig_st {
15233    pub r: *mut BIGNUM,
15234    pub s: *mut BIGNUM,
15235}
15236#[test]
15237fn bindgen_test_layout_ecdsa_sig_st() {
15238    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
15239    let ptr = UNINIT.as_ptr();
15240    assert_eq!(
15241        ::std::mem::size_of::<ecdsa_sig_st>(),
15242        16usize,
15243        "Size of ecdsa_sig_st"
15244    );
15245    assert_eq!(
15246        ::std::mem::align_of::<ecdsa_sig_st>(),
15247        8usize,
15248        "Alignment of ecdsa_sig_st"
15249    );
15250    assert_eq!(
15251        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
15252        0usize,
15253        "Offset of field: ecdsa_sig_st::r"
15254    );
15255    assert_eq!(
15256        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15257        8usize,
15258        "Offset of field: ecdsa_sig_st::s"
15259    );
15260}
15261impl Default for ecdsa_sig_st {
15262    fn default() -> Self {
15263        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15264        unsafe {
15265            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15266            s.assume_init()
15267        }
15268    }
15269}
15270extern "C" {
15271    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_new"]
15272    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
15273}
15274extern "C" {
15275    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_free"]
15276    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
15277}
15278extern "C" {
15279    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0_r"]
15280    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
15281}
15282extern "C" {
15283    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0_s"]
15284    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
15285}
15286extern "C" {
15287    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0"]
15288    pub fn ECDSA_SIG_get0(
15289        sig: *const ECDSA_SIG,
15290        out_r: *mut *const BIGNUM,
15291        out_s: *mut *const BIGNUM,
15292    );
15293}
15294extern "C" {
15295    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_set0"]
15296    pub fn ECDSA_SIG_set0(
15297        sig: *mut ECDSA_SIG,
15298        r: *mut BIGNUM,
15299        s: *mut BIGNUM,
15300    ) -> ::std::os::raw::c_int;
15301}
15302extern "C" {
15303    #[link_name = "aws_lc_0_47_0_ECDSA_do_sign"]
15304    pub fn ECDSA_do_sign(
15305        digest: *const u8,
15306        digest_len: usize,
15307        key: *const EC_KEY,
15308    ) -> *mut ECDSA_SIG;
15309}
15310extern "C" {
15311    #[link_name = "aws_lc_0_47_0_ECDSA_do_verify"]
15312    pub fn ECDSA_do_verify(
15313        digest: *const u8,
15314        digest_len: usize,
15315        sig: *const ECDSA_SIG,
15316        key: *const EC_KEY,
15317    ) -> ::std::os::raw::c_int;
15318}
15319extern "C" {
15320    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_parse"]
15321    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
15322}
15323extern "C" {
15324    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_from_bytes"]
15325    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
15326}
15327extern "C" {
15328    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_marshal"]
15329    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
15330}
15331extern "C" {
15332    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_to_bytes"]
15333    pub fn ECDSA_SIG_to_bytes(
15334        out_bytes: *mut *mut u8,
15335        out_len: *mut usize,
15336        sig: *const ECDSA_SIG,
15337    ) -> ::std::os::raw::c_int;
15338}
15339extern "C" {
15340    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_max_len"]
15341    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
15342}
15343extern "C" {
15344    #[link_name = "aws_lc_0_47_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
15345    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
15346        digest: *const u8,
15347        digest_len: usize,
15348        eckey: *const EC_KEY,
15349        nonce: *const u8,
15350        nonce_len: usize,
15351    ) -> *mut ECDSA_SIG;
15352}
15353extern "C" {
15354    #[link_name = "aws_lc_0_47_0_d2i_ECDSA_SIG"]
15355    pub fn d2i_ECDSA_SIG(
15356        out: *mut *mut ECDSA_SIG,
15357        inp: *mut *const u8,
15358        len: ::std::os::raw::c_long,
15359    ) -> *mut ECDSA_SIG;
15360}
15361extern "C" {
15362    #[link_name = "aws_lc_0_47_0_i2d_ECDSA_SIG"]
15363    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15364}
15365extern "C" {
15366    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm"]
15367    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
15368}
15369extern "C" {
15370    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_192_gcm"]
15371    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
15372}
15373extern "C" {
15374    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm"]
15375    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
15376}
15377extern "C" {
15378    #[link_name = "aws_lc_0_47_0_EVP_aead_chacha20_poly1305"]
15379    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
15380}
15381extern "C" {
15382    #[link_name = "aws_lc_0_47_0_EVP_aead_xchacha20_poly1305"]
15383    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
15384}
15385extern "C" {
15386    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ctr_hmac_sha256"]
15387    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
15388}
15389extern "C" {
15390    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_ctr_hmac_sha256"]
15391    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
15392}
15393extern "C" {
15394    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_siv"]
15395    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
15396}
15397extern "C" {
15398    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_siv"]
15399    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
15400}
15401extern "C" {
15402    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_randnonce"]
15403    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
15404}
15405extern "C" {
15406    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_randnonce"]
15407    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
15408}
15409extern "C" {
15410    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_bluetooth"]
15411    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
15412}
15413extern "C" {
15414    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_bluetooth_8"]
15415    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
15416}
15417extern "C" {
15418    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_matter"]
15419    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
15420}
15421extern "C" {
15422    #[link_name = "aws_lc_0_47_0_EVP_has_aes_hardware"]
15423    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
15424}
15425extern "C" {
15426    #[link_name = "aws_lc_0_47_0_EVP_AEAD_key_length"]
15427    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
15428}
15429extern "C" {
15430    #[link_name = "aws_lc_0_47_0_EVP_AEAD_nonce_length"]
15431    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
15432}
15433extern "C" {
15434    #[link_name = "aws_lc_0_47_0_EVP_AEAD_max_overhead"]
15435    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
15436}
15437extern "C" {
15438    #[link_name = "aws_lc_0_47_0_EVP_AEAD_max_tag_len"]
15439    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
15440}
15441#[repr(C)]
15442#[derive(Copy, Clone)]
15443pub union evp_aead_ctx_st_state {
15444    pub opaque: [u8; 564usize],
15445    pub alignment: u64,
15446    pub ptr: *mut ::std::os::raw::c_void,
15447}
15448#[test]
15449fn bindgen_test_layout_evp_aead_ctx_st_state() {
15450    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
15451        ::std::mem::MaybeUninit::uninit();
15452    let ptr = UNINIT.as_ptr();
15453    assert_eq!(
15454        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
15455        568usize,
15456        "Size of evp_aead_ctx_st_state"
15457    );
15458    assert_eq!(
15459        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
15460        8usize,
15461        "Alignment of evp_aead_ctx_st_state"
15462    );
15463    assert_eq!(
15464        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
15465        0usize,
15466        "Offset of field: evp_aead_ctx_st_state::opaque"
15467    );
15468    assert_eq!(
15469        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
15470        0usize,
15471        "Offset of field: evp_aead_ctx_st_state::alignment"
15472    );
15473    assert_eq!(
15474        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15475        0usize,
15476        "Offset of field: evp_aead_ctx_st_state::ptr"
15477    );
15478}
15479impl Default for evp_aead_ctx_st_state {
15480    fn default() -> Self {
15481        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15482        unsafe {
15483            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15484            s.assume_init()
15485        }
15486    }
15487}
15488#[repr(C)]
15489#[derive(Copy, Clone)]
15490pub struct evp_aead_ctx_st {
15491    pub aead: *const EVP_AEAD,
15492    pub state: evp_aead_ctx_st_state,
15493    pub state_offset: u8,
15494    pub tag_len: u8,
15495}
15496#[test]
15497fn bindgen_test_layout_evp_aead_ctx_st() {
15498    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15499    let ptr = UNINIT.as_ptr();
15500    assert_eq!(
15501        ::std::mem::size_of::<evp_aead_ctx_st>(),
15502        584usize,
15503        "Size of evp_aead_ctx_st"
15504    );
15505    assert_eq!(
15506        ::std::mem::align_of::<evp_aead_ctx_st>(),
15507        8usize,
15508        "Alignment of evp_aead_ctx_st"
15509    );
15510    assert_eq!(
15511        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15512        0usize,
15513        "Offset of field: evp_aead_ctx_st::aead"
15514    );
15515    assert_eq!(
15516        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15517        8usize,
15518        "Offset of field: evp_aead_ctx_st::state"
15519    );
15520    assert_eq!(
15521        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15522        576usize,
15523        "Offset of field: evp_aead_ctx_st::state_offset"
15524    );
15525    assert_eq!(
15526        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15527        577usize,
15528        "Offset of field: evp_aead_ctx_st::tag_len"
15529    );
15530}
15531impl Default for evp_aead_ctx_st {
15532    fn default() -> Self {
15533        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15534        unsafe {
15535            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15536            s.assume_init()
15537        }
15538    }
15539}
15540extern "C" {
15541    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_zero"]
15542    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15543}
15544extern "C" {
15545    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_new"]
15546    pub fn EVP_AEAD_CTX_new(
15547        aead: *const EVP_AEAD,
15548        key: *const u8,
15549        key_len: usize,
15550        tag_len: usize,
15551    ) -> *mut EVP_AEAD_CTX;
15552}
15553extern "C" {
15554    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_free"]
15555    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15556}
15557extern "C" {
15558    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_init"]
15559    pub fn EVP_AEAD_CTX_init(
15560        ctx: *mut EVP_AEAD_CTX,
15561        aead: *const EVP_AEAD,
15562        key: *const u8,
15563        key_len: usize,
15564        tag_len: usize,
15565        impl_: *mut ENGINE,
15566    ) -> ::std::os::raw::c_int;
15567}
15568extern "C" {
15569    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_cleanup"]
15570    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15571}
15572extern "C" {
15573    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_copy"]
15574    pub fn EVP_AEAD_CTX_copy(
15575        out: *mut EVP_AEAD_CTX,
15576        in_: *const EVP_AEAD_CTX,
15577    ) -> ::std::os::raw::c_int;
15578}
15579extern "C" {
15580    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_seal"]
15581    pub fn EVP_AEAD_CTX_seal(
15582        ctx: *const EVP_AEAD_CTX,
15583        out: *mut u8,
15584        out_len: *mut usize,
15585        max_out_len: usize,
15586        nonce: *const u8,
15587        nonce_len: usize,
15588        in_: *const u8,
15589        in_len: usize,
15590        ad: *const u8,
15591        ad_len: usize,
15592    ) -> ::std::os::raw::c_int;
15593}
15594extern "C" {
15595    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_open"]
15596    pub fn EVP_AEAD_CTX_open(
15597        ctx: *const EVP_AEAD_CTX,
15598        out: *mut u8,
15599        out_len: *mut usize,
15600        max_out_len: usize,
15601        nonce: *const u8,
15602        nonce_len: usize,
15603        in_: *const u8,
15604        in_len: usize,
15605        ad: *const u8,
15606        ad_len: usize,
15607    ) -> ::std::os::raw::c_int;
15608}
15609extern "C" {
15610    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_seal_scatter"]
15611    pub fn EVP_AEAD_CTX_seal_scatter(
15612        ctx: *const EVP_AEAD_CTX,
15613        out: *mut u8,
15614        out_tag: *mut u8,
15615        out_tag_len: *mut usize,
15616        max_out_tag_len: usize,
15617        nonce: *const u8,
15618        nonce_len: usize,
15619        in_: *const u8,
15620        in_len: usize,
15621        extra_in: *const u8,
15622        extra_in_len: usize,
15623        ad: *const u8,
15624        ad_len: usize,
15625    ) -> ::std::os::raw::c_int;
15626}
15627extern "C" {
15628    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_open_gather"]
15629    pub fn EVP_AEAD_CTX_open_gather(
15630        ctx: *const EVP_AEAD_CTX,
15631        out: *mut u8,
15632        nonce: *const u8,
15633        nonce_len: usize,
15634        in_: *const u8,
15635        in_len: usize,
15636        in_tag: *const u8,
15637        in_tag_len: usize,
15638        ad: *const u8,
15639        ad_len: usize,
15640    ) -> ::std::os::raw::c_int;
15641}
15642extern "C" {
15643    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_aead"]
15644    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15645}
15646extern "C" {
15647    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha1_tls"]
15648    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15649}
15650extern "C" {
15651    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15652    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15653}
15654extern "C" {
15655    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha1_tls"]
15656    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
15657}
15658extern "C" {
15659    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
15660    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15661}
15662extern "C" {
15663    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha256_tls"]
15664    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
15665}
15666extern "C" {
15667    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
15668    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
15669}
15670extern "C" {
15671    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha384_tls"]
15672    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
15673}
15674extern "C" {
15675    #[link_name = "aws_lc_0_47_0_EVP_aead_des_ede3_cbc_sha1_tls"]
15676    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
15677}
15678extern "C" {
15679    #[link_name = "aws_lc_0_47_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
15680    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15681}
15682extern "C" {
15683    #[link_name = "aws_lc_0_47_0_EVP_aead_null_sha1_tls"]
15684    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
15685}
15686extern "C" {
15687    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_tls12"]
15688    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
15689}
15690extern "C" {
15691    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_tls12"]
15692    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
15693}
15694extern "C" {
15695    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_tls13"]
15696    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
15697}
15698extern "C" {
15699    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_tls13"]
15700    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
15701}
15702pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
15703pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
15704pub type evp_aead_direction_t = ::std::os::raw::c_uint;
15705extern "C" {
15706    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_init_with_direction"]
15707    pub fn EVP_AEAD_CTX_init_with_direction(
15708        ctx: *mut EVP_AEAD_CTX,
15709        aead: *const EVP_AEAD,
15710        key: *const u8,
15711        key_len: usize,
15712        tag_len: usize,
15713        dir: evp_aead_direction_t,
15714    ) -> ::std::os::raw::c_int;
15715}
15716extern "C" {
15717    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_get_iv"]
15718    pub fn EVP_AEAD_CTX_get_iv(
15719        ctx: *const EVP_AEAD_CTX,
15720        out_iv: *mut *const u8,
15721        out_len: *mut usize,
15722    ) -> ::std::os::raw::c_int;
15723}
15724extern "C" {
15725    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_tag_len"]
15726    pub fn EVP_AEAD_CTX_tag_len(
15727        ctx: *const EVP_AEAD_CTX,
15728        out_tag_len: *mut usize,
15729        in_len: usize,
15730        extra_in_len: usize,
15731    ) -> ::std::os::raw::c_int;
15732}
15733extern "C" {
15734    #[link_name = "aws_lc_0_47_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
15735    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
15736        ipv4_address: u32,
15737        nanosecs: u64,
15738        out_iv: *mut u8,
15739    ) -> ::std::os::raw::c_int;
15740}
15741extern "C" {
15742    #[link_name = "aws_lc_0_47_0_OBJ_dup"]
15743    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15744}
15745extern "C" {
15746    #[link_name = "aws_lc_0_47_0_OBJ_cmp"]
15747    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15748}
15749extern "C" {
15750    #[link_name = "aws_lc_0_47_0_OBJ_get0_data"]
15751    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15752}
15753extern "C" {
15754    #[link_name = "aws_lc_0_47_0_OBJ_length"]
15755    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15756}
15757extern "C" {
15758    #[link_name = "aws_lc_0_47_0_OBJ_obj2nid"]
15759    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15760}
15761extern "C" {
15762    #[link_name = "aws_lc_0_47_0_OBJ_cbs2nid"]
15763    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
15764}
15765extern "C" {
15766    #[link_name = "aws_lc_0_47_0_OBJ_sn2nid"]
15767    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15768}
15769extern "C" {
15770    #[link_name = "aws_lc_0_47_0_OBJ_ln2nid"]
15771    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15772}
15773extern "C" {
15774    #[link_name = "aws_lc_0_47_0_OBJ_txt2nid"]
15775    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15776}
15777extern "C" {
15778    #[link_name = "aws_lc_0_47_0_OBJ_nid2obj"]
15779    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
15780}
15781extern "C" {
15782    #[link_name = "aws_lc_0_47_0_OBJ_get_undef"]
15783    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15784}
15785extern "C" {
15786    #[link_name = "aws_lc_0_47_0_OBJ_nid2sn"]
15787    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15788}
15789extern "C" {
15790    #[link_name = "aws_lc_0_47_0_OBJ_nid2ln"]
15791    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15792}
15793extern "C" {
15794    #[link_name = "aws_lc_0_47_0_OBJ_nid2cbb"]
15795    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15796}
15797extern "C" {
15798    #[link_name = "aws_lc_0_47_0_OBJ_txt2obj"]
15799    pub fn OBJ_txt2obj(
15800        s: *const ::std::os::raw::c_char,
15801        dont_search_names: ::std::os::raw::c_int,
15802    ) -> *mut ASN1_OBJECT;
15803}
15804extern "C" {
15805    #[link_name = "aws_lc_0_47_0_OBJ_obj2txt"]
15806    pub fn OBJ_obj2txt(
15807        out: *mut ::std::os::raw::c_char,
15808        out_len: ::std::os::raw::c_int,
15809        obj: *const ASN1_OBJECT,
15810        always_return_oid: ::std::os::raw::c_int,
15811    ) -> ::std::os::raw::c_int;
15812}
15813extern "C" {
15814    #[link_name = "aws_lc_0_47_0_OBJ_create"]
15815    pub fn OBJ_create(
15816        oid: *const ::std::os::raw::c_char,
15817        short_name: *const ::std::os::raw::c_char,
15818        long_name: *const ::std::os::raw::c_char,
15819    ) -> ::std::os::raw::c_int;
15820}
15821extern "C" {
15822    #[link_name = "aws_lc_0_47_0_OBJ_find_sigid_algs"]
15823    pub fn OBJ_find_sigid_algs(
15824        sign_nid: ::std::os::raw::c_int,
15825        out_digest_nid: *mut ::std::os::raw::c_int,
15826        out_pkey_nid: *mut ::std::os::raw::c_int,
15827    ) -> ::std::os::raw::c_int;
15828}
15829extern "C" {
15830    #[link_name = "aws_lc_0_47_0_OBJ_find_sigid_by_algs"]
15831    pub fn OBJ_find_sigid_by_algs(
15832        out_sign_nid: *mut ::std::os::raw::c_int,
15833        digest_nid: ::std::os::raw::c_int,
15834        pkey_nid: ::std::os::raw::c_int,
15835    ) -> ::std::os::raw::c_int;
15836}
15837#[repr(C)]
15838#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15839pub struct obj_name_st {
15840    pub type_: ::std::os::raw::c_int,
15841    pub alias: ::std::os::raw::c_int,
15842    pub name: *const ::std::os::raw::c_char,
15843    pub data: *const ::std::os::raw::c_char,
15844}
15845#[test]
15846fn bindgen_test_layout_obj_name_st() {
15847    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
15848    let ptr = UNINIT.as_ptr();
15849    assert_eq!(
15850        ::std::mem::size_of::<obj_name_st>(),
15851        24usize,
15852        "Size of obj_name_st"
15853    );
15854    assert_eq!(
15855        ::std::mem::align_of::<obj_name_st>(),
15856        8usize,
15857        "Alignment of obj_name_st"
15858    );
15859    assert_eq!(
15860        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15861        0usize,
15862        "Offset of field: obj_name_st::type_"
15863    );
15864    assert_eq!(
15865        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
15866        4usize,
15867        "Offset of field: obj_name_st::alias"
15868    );
15869    assert_eq!(
15870        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
15871        8usize,
15872        "Offset of field: obj_name_st::name"
15873    );
15874    assert_eq!(
15875        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15876        16usize,
15877        "Offset of field: obj_name_st::data"
15878    );
15879}
15880impl Default for obj_name_st {
15881    fn default() -> Self {
15882        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15883        unsafe {
15884            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15885            s.assume_init()
15886        }
15887    }
15888}
15889pub type OBJ_NAME = obj_name_st;
15890extern "C" {
15891    #[link_name = "aws_lc_0_47_0_OBJ_NAME_do_all_sorted"]
15892    pub fn OBJ_NAME_do_all_sorted(
15893        type_: ::std::os::raw::c_int,
15894        callback: ::std::option::Option<
15895            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
15896        >,
15897        arg: *mut ::std::os::raw::c_void,
15898    );
15899}
15900extern "C" {
15901    #[link_name = "aws_lc_0_47_0_OBJ_cleanup"]
15902    pub fn OBJ_cleanup();
15903}
15904extern "C" {
15905    #[link_name = "aws_lc_0_47_0_MD5_Init"]
15906    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15907}
15908extern "C" {
15909    #[link_name = "aws_lc_0_47_0_MD5_Update"]
15910    pub fn MD5_Update(
15911        md5: *mut MD5_CTX,
15912        data: *const ::std::os::raw::c_void,
15913        len: usize,
15914    ) -> ::std::os::raw::c_int;
15915}
15916extern "C" {
15917    #[link_name = "aws_lc_0_47_0_MD5_Final"]
15918    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15919}
15920extern "C" {
15921    #[link_name = "aws_lc_0_47_0_MD5"]
15922    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15923}
15924extern "C" {
15925    #[link_name = "aws_lc_0_47_0_MD5_Transform"]
15926    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
15927}
15928#[repr(C)]
15929#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15930pub struct md5_state_st {
15931    pub h: [u32; 4usize],
15932    pub Nl: u32,
15933    pub Nh: u32,
15934    pub data: [u8; 64usize],
15935    pub num: ::std::os::raw::c_uint,
15936}
15937#[test]
15938fn bindgen_test_layout_md5_state_st() {
15939    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
15940    let ptr = UNINIT.as_ptr();
15941    assert_eq!(
15942        ::std::mem::size_of::<md5_state_st>(),
15943        92usize,
15944        "Size of md5_state_st"
15945    );
15946    assert_eq!(
15947        ::std::mem::align_of::<md5_state_st>(),
15948        4usize,
15949        "Alignment of md5_state_st"
15950    );
15951    assert_eq!(
15952        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
15953        0usize,
15954        "Offset of field: md5_state_st::h"
15955    );
15956    assert_eq!(
15957        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
15958        16usize,
15959        "Offset of field: md5_state_st::Nl"
15960    );
15961    assert_eq!(
15962        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
15963        20usize,
15964        "Offset of field: md5_state_st::Nh"
15965    );
15966    assert_eq!(
15967        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15968        24usize,
15969        "Offset of field: md5_state_st::data"
15970    );
15971    assert_eq!(
15972        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
15973        88usize,
15974        "Offset of field: md5_state_st::num"
15975    );
15976}
15977impl Default for md5_state_st {
15978    fn default() -> Self {
15979        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15980        unsafe {
15981            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15982            s.assume_init()
15983        }
15984    }
15985}
15986extern "C" {
15987    #[link_name = "aws_lc_0_47_0_HMAC"]
15988    pub fn HMAC(
15989        evp_md: *const EVP_MD,
15990        key: *const ::std::os::raw::c_void,
15991        key_len: usize,
15992        data: *const u8,
15993        data_len: usize,
15994        out: *mut u8,
15995        out_len: *mut ::std::os::raw::c_uint,
15996    ) -> *mut u8;
15997}
15998extern "C" {
15999    #[link_name = "aws_lc_0_47_0_HMAC_CTX_init"]
16000    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
16001}
16002extern "C" {
16003    #[link_name = "aws_lc_0_47_0_HMAC_CTX_new"]
16004    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
16005}
16006extern "C" {
16007    #[link_name = "aws_lc_0_47_0_HMAC_CTX_cleanup"]
16008    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
16009}
16010extern "C" {
16011    #[link_name = "aws_lc_0_47_0_HMAC_CTX_cleanse"]
16012    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
16013}
16014extern "C" {
16015    #[link_name = "aws_lc_0_47_0_HMAC_CTX_free"]
16016    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
16017}
16018extern "C" {
16019    #[link_name = "aws_lc_0_47_0_HMAC_Init_ex"]
16020    pub fn HMAC_Init_ex(
16021        ctx: *mut HMAC_CTX,
16022        key: *const ::std::os::raw::c_void,
16023        key_len: usize,
16024        md: *const EVP_MD,
16025        impl_: *mut ENGINE,
16026    ) -> ::std::os::raw::c_int;
16027}
16028extern "C" {
16029    #[link_name = "aws_lc_0_47_0_HMAC_Update"]
16030    pub fn HMAC_Update(
16031        ctx: *mut HMAC_CTX,
16032        data: *const u8,
16033        data_len: usize,
16034    ) -> ::std::os::raw::c_int;
16035}
16036extern "C" {
16037    #[link_name = "aws_lc_0_47_0_HMAC_Final"]
16038    pub fn HMAC_Final(
16039        ctx: *mut HMAC_CTX,
16040        out: *mut u8,
16041        out_len: *mut ::std::os::raw::c_uint,
16042    ) -> ::std::os::raw::c_int;
16043}
16044extern "C" {
16045    #[link_name = "aws_lc_0_47_0_HMAC_size"]
16046    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
16047}
16048extern "C" {
16049    #[link_name = "aws_lc_0_47_0_HMAC_CTX_get_md"]
16050    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
16051}
16052extern "C" {
16053    #[link_name = "aws_lc_0_47_0_HMAC_CTX_copy_ex"]
16054    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16055}
16056extern "C" {
16057    #[link_name = "aws_lc_0_47_0_HMAC_CTX_reset"]
16058    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
16059}
16060extern "C" {
16061    #[link_name = "aws_lc_0_47_0_HMAC_set_precomputed_key_export"]
16062    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
16063}
16064extern "C" {
16065    #[link_name = "aws_lc_0_47_0_HMAC_get_precomputed_key"]
16066    pub fn HMAC_get_precomputed_key(
16067        ctx: *mut HMAC_CTX,
16068        out: *mut u8,
16069        out_len: *mut usize,
16070    ) -> ::std::os::raw::c_int;
16071}
16072extern "C" {
16073    #[link_name = "aws_lc_0_47_0_HMAC_Init_from_precomputed_key"]
16074    pub fn HMAC_Init_from_precomputed_key(
16075        ctx: *mut HMAC_CTX,
16076        precomputed_key: *const u8,
16077        precompute_key_len: usize,
16078        md: *const EVP_MD,
16079    ) -> ::std::os::raw::c_int;
16080}
16081extern "C" {
16082    #[link_name = "aws_lc_0_47_0_HMAC_Init"]
16083    pub fn HMAC_Init(
16084        ctx: *mut HMAC_CTX,
16085        key: *const ::std::os::raw::c_void,
16086        key_len: ::std::os::raw::c_int,
16087        md: *const EVP_MD,
16088    ) -> ::std::os::raw::c_int;
16089}
16090extern "C" {
16091    #[link_name = "aws_lc_0_47_0_HMAC_CTX_copy"]
16092    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16093}
16094#[repr(C)]
16095#[derive(Debug)]
16096pub struct hmac_methods_st {
16097    _unused: [u8; 0],
16098}
16099pub type HmacMethods = hmac_methods_st;
16100#[repr(C)]
16101#[derive(Copy, Clone)]
16102pub union md_ctx_union {
16103    pub md5: MD5_CTX,
16104    pub sha1: SHA_CTX,
16105    pub sha256: SHA256_CTX,
16106    pub sha512: SHA512_CTX,
16107    pub sha3: [u8; 400usize],
16108}
16109#[test]
16110fn bindgen_test_layout_md_ctx_union() {
16111    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
16112    let ptr = UNINIT.as_ptr();
16113    assert_eq!(
16114        ::std::mem::size_of::<md_ctx_union>(),
16115        400usize,
16116        "Size of md_ctx_union"
16117    );
16118    assert_eq!(
16119        ::std::mem::align_of::<md_ctx_union>(),
16120        8usize,
16121        "Alignment of md_ctx_union"
16122    );
16123    assert_eq!(
16124        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
16125        0usize,
16126        "Offset of field: md_ctx_union::md5"
16127    );
16128    assert_eq!(
16129        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
16130        0usize,
16131        "Offset of field: md_ctx_union::sha1"
16132    );
16133    assert_eq!(
16134        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
16135        0usize,
16136        "Offset of field: md_ctx_union::sha256"
16137    );
16138    assert_eq!(
16139        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
16140        0usize,
16141        "Offset of field: md_ctx_union::sha512"
16142    );
16143    assert_eq!(
16144        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
16145        0usize,
16146        "Offset of field: md_ctx_union::sha3"
16147    );
16148}
16149impl Default for md_ctx_union {
16150    fn default() -> Self {
16151        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16152        unsafe {
16153            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16154            s.assume_init()
16155        }
16156    }
16157}
16158#[repr(C)]
16159#[derive(Copy, Clone)]
16160pub struct hmac_ctx_st {
16161    pub md: *const EVP_MD,
16162    pub methods: *const HmacMethods,
16163    pub md_ctx: md_ctx_union,
16164    pub i_ctx: md_ctx_union,
16165    pub o_ctx: md_ctx_union,
16166    pub state: i8,
16167}
16168#[test]
16169fn bindgen_test_layout_hmac_ctx_st() {
16170    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
16171    let ptr = UNINIT.as_ptr();
16172    assert_eq!(
16173        ::std::mem::size_of::<hmac_ctx_st>(),
16174        1224usize,
16175        "Size of hmac_ctx_st"
16176    );
16177    assert_eq!(
16178        ::std::mem::align_of::<hmac_ctx_st>(),
16179        8usize,
16180        "Alignment of hmac_ctx_st"
16181    );
16182    assert_eq!(
16183        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
16184        0usize,
16185        "Offset of field: hmac_ctx_st::md"
16186    );
16187    assert_eq!(
16188        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
16189        8usize,
16190        "Offset of field: hmac_ctx_st::methods"
16191    );
16192    assert_eq!(
16193        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
16194        16usize,
16195        "Offset of field: hmac_ctx_st::md_ctx"
16196    );
16197    assert_eq!(
16198        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
16199        416usize,
16200        "Offset of field: hmac_ctx_st::i_ctx"
16201    );
16202    assert_eq!(
16203        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
16204        816usize,
16205        "Offset of field: hmac_ctx_st::o_ctx"
16206    );
16207    assert_eq!(
16208        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
16209        1216usize,
16210        "Offset of field: hmac_ctx_st::state"
16211    );
16212}
16213impl Default for hmac_ctx_st {
16214    fn default() -> Self {
16215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16216        unsafe {
16217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16218            s.assume_init()
16219        }
16220    }
16221}
16222extern "C" {
16223    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new"]
16224    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
16225}
16226extern "C" {
16227    #[link_name = "aws_lc_0_47_0_EVP_PKEY_free"]
16228    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
16229}
16230extern "C" {
16231    #[link_name = "aws_lc_0_47_0_EVP_PKEY_up_ref"]
16232    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16233}
16234extern "C" {
16235    #[link_name = "aws_lc_0_47_0_EVP_PKEY_is_opaque"]
16236    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16237}
16238extern "C" {
16239    #[link_name = "aws_lc_0_47_0_EVP_PKEY_cmp"]
16240    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
16241}
16242extern "C" {
16243    #[link_name = "aws_lc_0_47_0_EVP_PKEY_copy_parameters"]
16244    pub fn EVP_PKEY_copy_parameters(
16245        to: *mut EVP_PKEY,
16246        from: *const EVP_PKEY,
16247    ) -> ::std::os::raw::c_int;
16248}
16249extern "C" {
16250    #[link_name = "aws_lc_0_47_0_EVP_PKEY_missing_parameters"]
16251    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16252}
16253extern "C" {
16254    #[link_name = "aws_lc_0_47_0_EVP_PKEY_size"]
16255    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16256}
16257extern "C" {
16258    #[link_name = "aws_lc_0_47_0_EVP_PKEY_bits"]
16259    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16260}
16261extern "C" {
16262    #[link_name = "aws_lc_0_47_0_EVP_PKEY_id"]
16263    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16264}
16265extern "C" {
16266    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_get_type"]
16267    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16268}
16269extern "C" {
16270    #[link_name = "aws_lc_0_47_0_EVP_MD_get0_name"]
16271    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16272}
16273extern "C" {
16274    #[link_name = "aws_lc_0_47_0_EVP_MD_name"]
16275    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16276}
16277extern "C" {
16278    #[link_name = "aws_lc_0_47_0_EVP_get_pw_prompt"]
16279    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
16280}
16281extern "C" {
16282    #[link_name = "aws_lc_0_47_0_EVP_read_pw_string"]
16283    pub fn EVP_read_pw_string(
16284        buf: *mut ::std::os::raw::c_char,
16285        length: ::std::os::raw::c_int,
16286        prompt: *const ::std::os::raw::c_char,
16287        verify: ::std::os::raw::c_int,
16288    ) -> ::std::os::raw::c_int;
16289}
16290extern "C" {
16291    #[link_name = "aws_lc_0_47_0_EVP_read_pw_string_min"]
16292    pub fn EVP_read_pw_string_min(
16293        buf: *mut ::std::os::raw::c_char,
16294        min_length: ::std::os::raw::c_int,
16295        length: ::std::os::raw::c_int,
16296        prompt: *const ::std::os::raw::c_char,
16297        verify: ::std::os::raw::c_int,
16298    ) -> ::std::os::raw::c_int;
16299}
16300extern "C" {
16301    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_RSA"]
16302    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16303}
16304extern "C" {
16305    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_RSA"]
16306    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16307}
16308extern "C" {
16309    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_RSA"]
16310    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16311}
16312extern "C" {
16313    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_RSA"]
16314    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16315}
16316extern "C" {
16317    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_DSA"]
16318    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16319}
16320extern "C" {
16321    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_DSA"]
16322    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16323}
16324extern "C" {
16325    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_DSA"]
16326    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16327}
16328extern "C" {
16329    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_DSA"]
16330    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16331}
16332extern "C" {
16333    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_EC_KEY"]
16334    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16335}
16336extern "C" {
16337    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_EC_KEY"]
16338    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16339}
16340extern "C" {
16341    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_EC_KEY"]
16342    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16343}
16344extern "C" {
16345    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_EC_KEY"]
16346    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16347}
16348extern "C" {
16349    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_DH"]
16350    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16351}
16352extern "C" {
16353    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_DH"]
16354    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16355}
16356extern "C" {
16357    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_DH"]
16358    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
16359}
16360extern "C" {
16361    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_DH"]
16362    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
16363}
16364extern "C" {
16365    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
16366    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
16367        ctx: *mut EVP_PKEY_CTX,
16368        pbits: ::std::os::raw::c_int,
16369    ) -> ::std::os::raw::c_int;
16370}
16371extern "C" {
16372    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
16373    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
16374        ctx: *mut EVP_PKEY_CTX,
16375        gen_: ::std::os::raw::c_int,
16376    ) -> ::std::os::raw::c_int;
16377}
16378extern "C" {
16379    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set_type"]
16380    pub fn EVP_PKEY_set_type(
16381        pkey: *mut EVP_PKEY,
16382        type_: ::std::os::raw::c_int,
16383    ) -> ::std::os::raw::c_int;
16384}
16385extern "C" {
16386    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set_type_str"]
16387    pub fn EVP_PKEY_set_type_str(
16388        pkey: *mut EVP_PKEY,
16389        str_: *const ::std::os::raw::c_char,
16390        len: ::std::os::raw::c_int,
16391    ) -> ::std::os::raw::c_int;
16392}
16393extern "C" {
16394    #[link_name = "aws_lc_0_47_0_EVP_PKEY_cmp_parameters"]
16395    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
16396        -> ::std::os::raw::c_int;
16397}
16398extern "C" {
16399    #[link_name = "aws_lc_0_47_0_EVP_parse_public_key"]
16400    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16401}
16402extern "C" {
16403    #[link_name = "aws_lc_0_47_0_EVP_marshal_public_key"]
16404    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16405}
16406extern "C" {
16407    #[link_name = "aws_lc_0_47_0_EVP_parse_private_key"]
16408    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16409}
16410extern "C" {
16411    #[link_name = "aws_lc_0_47_0_EVP_marshal_private_key"]
16412    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16413}
16414extern "C" {
16415    #[link_name = "aws_lc_0_47_0_EVP_marshal_private_key_v2"]
16416    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
16417        -> ::std::os::raw::c_int;
16418}
16419extern "C" {
16420    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_raw_private_key"]
16421    pub fn EVP_PKEY_new_raw_private_key(
16422        type_: ::std::os::raw::c_int,
16423        unused: *mut ENGINE,
16424        in_: *const u8,
16425        len: usize,
16426    ) -> *mut EVP_PKEY;
16427}
16428extern "C" {
16429    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_raw_public_key"]
16430    pub fn EVP_PKEY_new_raw_public_key(
16431        type_: ::std::os::raw::c_int,
16432        unused: *mut ENGINE,
16433        in_: *const u8,
16434        len: usize,
16435    ) -> *mut EVP_PKEY;
16436}
16437extern "C" {
16438    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_raw_private_key"]
16439    pub fn EVP_PKEY_get_raw_private_key(
16440        pkey: *const EVP_PKEY,
16441        out: *mut u8,
16442        out_len: *mut usize,
16443    ) -> ::std::os::raw::c_int;
16444}
16445extern "C" {
16446    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_raw_public_key"]
16447    pub fn EVP_PKEY_get_raw_public_key(
16448        pkey: *const EVP_PKEY,
16449        out: *mut u8,
16450        out_len: *mut usize,
16451    ) -> ::std::os::raw::c_int;
16452}
16453extern "C" {
16454    #[link_name = "aws_lc_0_47_0_EVP_DigestSignInit"]
16455    pub fn EVP_DigestSignInit(
16456        ctx: *mut EVP_MD_CTX,
16457        pctx: *mut *mut EVP_PKEY_CTX,
16458        type_: *const EVP_MD,
16459        e: *mut ENGINE,
16460        pkey: *mut EVP_PKEY,
16461    ) -> ::std::os::raw::c_int;
16462}
16463extern "C" {
16464    #[link_name = "aws_lc_0_47_0_EVP_DigestSignUpdate"]
16465    pub fn EVP_DigestSignUpdate(
16466        ctx: *mut EVP_MD_CTX,
16467        data: *const ::std::os::raw::c_void,
16468        len: usize,
16469    ) -> ::std::os::raw::c_int;
16470}
16471extern "C" {
16472    #[link_name = "aws_lc_0_47_0_EVP_DigestSignFinal"]
16473    pub fn EVP_DigestSignFinal(
16474        ctx: *mut EVP_MD_CTX,
16475        out_sig: *mut u8,
16476        out_sig_len: *mut usize,
16477    ) -> ::std::os::raw::c_int;
16478}
16479extern "C" {
16480    #[link_name = "aws_lc_0_47_0_EVP_DigestSign"]
16481    pub fn EVP_DigestSign(
16482        ctx: *mut EVP_MD_CTX,
16483        out_sig: *mut u8,
16484        out_sig_len: *mut usize,
16485        data: *const u8,
16486        data_len: usize,
16487    ) -> ::std::os::raw::c_int;
16488}
16489extern "C" {
16490    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyInit"]
16491    pub fn EVP_DigestVerifyInit(
16492        ctx: *mut EVP_MD_CTX,
16493        pctx: *mut *mut EVP_PKEY_CTX,
16494        type_: *const EVP_MD,
16495        e: *mut ENGINE,
16496        pkey: *mut EVP_PKEY,
16497    ) -> ::std::os::raw::c_int;
16498}
16499extern "C" {
16500    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyUpdate"]
16501    pub fn EVP_DigestVerifyUpdate(
16502        ctx: *mut EVP_MD_CTX,
16503        data: *const ::std::os::raw::c_void,
16504        len: usize,
16505    ) -> ::std::os::raw::c_int;
16506}
16507extern "C" {
16508    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyFinal"]
16509    pub fn EVP_DigestVerifyFinal(
16510        ctx: *mut EVP_MD_CTX,
16511        sig: *const u8,
16512        sig_len: usize,
16513    ) -> ::std::os::raw::c_int;
16514}
16515extern "C" {
16516    #[link_name = "aws_lc_0_47_0_EVP_DigestVerify"]
16517    pub fn EVP_DigestVerify(
16518        ctx: *mut EVP_MD_CTX,
16519        sig: *const u8,
16520        sig_len: usize,
16521        data: *const u8,
16522        len: usize,
16523    ) -> ::std::os::raw::c_int;
16524}
16525extern "C" {
16526    #[link_name = "aws_lc_0_47_0_EVP_SignInit_ex"]
16527    pub fn EVP_SignInit_ex(
16528        ctx: *mut EVP_MD_CTX,
16529        type_: *const EVP_MD,
16530        impl_: *mut ENGINE,
16531    ) -> ::std::os::raw::c_int;
16532}
16533extern "C" {
16534    #[link_name = "aws_lc_0_47_0_EVP_SignInit"]
16535    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16536}
16537extern "C" {
16538    #[link_name = "aws_lc_0_47_0_EVP_SignUpdate"]
16539    pub fn EVP_SignUpdate(
16540        ctx: *mut EVP_MD_CTX,
16541        data: *const ::std::os::raw::c_void,
16542        len: usize,
16543    ) -> ::std::os::raw::c_int;
16544}
16545extern "C" {
16546    #[link_name = "aws_lc_0_47_0_EVP_SignFinal"]
16547    pub fn EVP_SignFinal(
16548        ctx: *const EVP_MD_CTX,
16549        sig: *mut u8,
16550        out_sig_len: *mut ::std::os::raw::c_uint,
16551        pkey: *mut EVP_PKEY,
16552    ) -> ::std::os::raw::c_int;
16553}
16554extern "C" {
16555    #[link_name = "aws_lc_0_47_0_EVP_VerifyInit_ex"]
16556    pub fn EVP_VerifyInit_ex(
16557        ctx: *mut EVP_MD_CTX,
16558        type_: *const EVP_MD,
16559        impl_: *mut ENGINE,
16560    ) -> ::std::os::raw::c_int;
16561}
16562extern "C" {
16563    #[link_name = "aws_lc_0_47_0_EVP_VerifyInit"]
16564    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16565}
16566extern "C" {
16567    #[link_name = "aws_lc_0_47_0_EVP_VerifyUpdate"]
16568    pub fn EVP_VerifyUpdate(
16569        ctx: *mut EVP_MD_CTX,
16570        data: *const ::std::os::raw::c_void,
16571        len: usize,
16572    ) -> ::std::os::raw::c_int;
16573}
16574extern "C" {
16575    #[link_name = "aws_lc_0_47_0_EVP_VerifyFinal"]
16576    pub fn EVP_VerifyFinal(
16577        ctx: *mut EVP_MD_CTX,
16578        sig: *const u8,
16579        sig_len: usize,
16580        pkey: *mut EVP_PKEY,
16581    ) -> ::std::os::raw::c_int;
16582}
16583extern "C" {
16584    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_public"]
16585    pub fn EVP_PKEY_print_public(
16586        out: *mut BIO,
16587        pkey: *const EVP_PKEY,
16588        indent: ::std::os::raw::c_int,
16589        pctx: *mut ASN1_PCTX,
16590    ) -> ::std::os::raw::c_int;
16591}
16592extern "C" {
16593    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_private"]
16594    pub fn EVP_PKEY_print_private(
16595        out: *mut BIO,
16596        pkey: *const EVP_PKEY,
16597        indent: ::std::os::raw::c_int,
16598        pctx: *mut ASN1_PCTX,
16599    ) -> ::std::os::raw::c_int;
16600}
16601extern "C" {
16602    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_params"]
16603    pub fn EVP_PKEY_print_params(
16604        out: *mut BIO,
16605        pkey: *const EVP_PKEY,
16606        indent: ::std::os::raw::c_int,
16607        pctx: *mut ASN1_PCTX,
16608    ) -> ::std::os::raw::c_int;
16609}
16610extern "C" {
16611    #[link_name = "aws_lc_0_47_0_PKCS5_PBKDF2_HMAC"]
16612    pub fn PKCS5_PBKDF2_HMAC(
16613        password: *const ::std::os::raw::c_char,
16614        password_len: usize,
16615        salt: *const u8,
16616        salt_len: usize,
16617        iterations: u32,
16618        digest: *const EVP_MD,
16619        key_len: usize,
16620        out_key: *mut u8,
16621    ) -> ::std::os::raw::c_int;
16622}
16623extern "C" {
16624    #[link_name = "aws_lc_0_47_0_PKCS5_PBKDF2_HMAC_SHA1"]
16625    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16626        password: *const ::std::os::raw::c_char,
16627        password_len: usize,
16628        salt: *const u8,
16629        salt_len: usize,
16630        iterations: u32,
16631        key_len: usize,
16632        out_key: *mut u8,
16633    ) -> ::std::os::raw::c_int;
16634}
16635extern "C" {
16636    #[link_name = "aws_lc_0_47_0_EVP_PBE_scrypt"]
16637    pub fn EVP_PBE_scrypt(
16638        password: *const ::std::os::raw::c_char,
16639        password_len: usize,
16640        salt: *const u8,
16641        salt_len: usize,
16642        N: u64,
16643        r: u64,
16644        p: u64,
16645        max_mem: usize,
16646        out_key: *mut u8,
16647        key_len: usize,
16648    ) -> ::std::os::raw::c_int;
16649}
16650extern "C" {
16651    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_new"]
16652    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16653}
16654extern "C" {
16655    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_new_id"]
16656    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16657}
16658extern "C" {
16659    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_free"]
16660    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16661}
16662extern "C" {
16663    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_dup"]
16664    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16665}
16666extern "C" {
16667    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_pkey"]
16668    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16669}
16670extern "C" {
16671    #[link_name = "aws_lc_0_47_0_EVP_PKEY_sign_init"]
16672    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16673}
16674extern "C" {
16675    #[link_name = "aws_lc_0_47_0_EVP_PKEY_sign"]
16676    pub fn EVP_PKEY_sign(
16677        ctx: *mut EVP_PKEY_CTX,
16678        sig: *mut u8,
16679        sig_len: *mut usize,
16680        digest: *const u8,
16681        digest_len: usize,
16682    ) -> ::std::os::raw::c_int;
16683}
16684extern "C" {
16685    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_init"]
16686    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16687}
16688extern "C" {
16689    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify"]
16690    pub fn EVP_PKEY_verify(
16691        ctx: *mut EVP_PKEY_CTX,
16692        sig: *const u8,
16693        sig_len: usize,
16694        digest: *const u8,
16695        digest_len: usize,
16696    ) -> ::std::os::raw::c_int;
16697}
16698extern "C" {
16699    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encrypt_init"]
16700    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16701}
16702extern "C" {
16703    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encrypt"]
16704    pub fn EVP_PKEY_encrypt(
16705        ctx: *mut EVP_PKEY_CTX,
16706        out: *mut u8,
16707        out_len: *mut usize,
16708        in_: *const u8,
16709        in_len: usize,
16710    ) -> ::std::os::raw::c_int;
16711}
16712extern "C" {
16713    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decrypt_init"]
16714    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16715}
16716extern "C" {
16717    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decrypt"]
16718    pub fn EVP_PKEY_decrypt(
16719        ctx: *mut EVP_PKEY_CTX,
16720        out: *mut u8,
16721        out_len: *mut usize,
16722        in_: *const u8,
16723        in_len: usize,
16724    ) -> ::std::os::raw::c_int;
16725}
16726extern "C" {
16727    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_recover_init"]
16728    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16729}
16730extern "C" {
16731    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_recover"]
16732    pub fn EVP_PKEY_verify_recover(
16733        ctx: *mut EVP_PKEY_CTX,
16734        out: *mut u8,
16735        out_len: *mut usize,
16736        sig: *const u8,
16737        siglen: usize,
16738    ) -> ::std::os::raw::c_int;
16739}
16740extern "C" {
16741    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive_init"]
16742    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16743}
16744extern "C" {
16745    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive_set_peer"]
16746    pub fn EVP_PKEY_derive_set_peer(
16747        ctx: *mut EVP_PKEY_CTX,
16748        peer: *mut EVP_PKEY,
16749    ) -> ::std::os::raw::c_int;
16750}
16751extern "C" {
16752    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive"]
16753    pub fn EVP_PKEY_derive(
16754        ctx: *mut EVP_PKEY_CTX,
16755        key: *mut u8,
16756        out_key_len: *mut usize,
16757    ) -> ::std::os::raw::c_int;
16758}
16759extern "C" {
16760    #[link_name = "aws_lc_0_47_0_EVP_PKEY_check"]
16761    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16762}
16763extern "C" {
16764    #[link_name = "aws_lc_0_47_0_EVP_PKEY_public_check"]
16765    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16766}
16767extern "C" {
16768    #[link_name = "aws_lc_0_47_0_EVP_PKEY_param_check"]
16769    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16770}
16771extern "C" {
16772    #[link_name = "aws_lc_0_47_0_EVP_PKEY_keygen_init"]
16773    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16774}
16775extern "C" {
16776    #[link_name = "aws_lc_0_47_0_EVP_PKEY_keygen"]
16777    pub fn EVP_PKEY_keygen(
16778        ctx: *mut EVP_PKEY_CTX,
16779        out_pkey: *mut *mut EVP_PKEY,
16780    ) -> ::std::os::raw::c_int;
16781}
16782extern "C" {
16783    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encapsulate"]
16784    pub fn EVP_PKEY_encapsulate(
16785        ctx: *mut EVP_PKEY_CTX,
16786        ciphertext: *mut u8,
16787        ciphertext_len: *mut usize,
16788        shared_secret: *mut u8,
16789        shared_secret_len: *mut usize,
16790    ) -> ::std::os::raw::c_int;
16791}
16792extern "C" {
16793    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decapsulate"]
16794    pub fn EVP_PKEY_decapsulate(
16795        ctx: *mut EVP_PKEY_CTX,
16796        shared_secret: *mut u8,
16797        shared_secret_len: *mut usize,
16798        ciphertext: *const u8,
16799        ciphertext_len: usize,
16800    ) -> ::std::os::raw::c_int;
16801}
16802extern "C" {
16803    #[link_name = "aws_lc_0_47_0_EVP_PKEY_paramgen_init"]
16804    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16805}
16806extern "C" {
16807    #[link_name = "aws_lc_0_47_0_EVP_PKEY_paramgen"]
16808    pub fn EVP_PKEY_paramgen(
16809        ctx: *mut EVP_PKEY_CTX,
16810        out_pkey: *mut *mut EVP_PKEY,
16811    ) -> ::std::os::raw::c_int;
16812}
16813extern "C" {
16814    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_signature_md"]
16815    pub fn EVP_PKEY_CTX_set_signature_md(
16816        ctx: *mut EVP_PKEY_CTX,
16817        md: *const EVP_MD,
16818    ) -> ::std::os::raw::c_int;
16819}
16820extern "C" {
16821    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_signature_md"]
16822    pub fn EVP_PKEY_CTX_get_signature_md(
16823        ctx: *mut EVP_PKEY_CTX,
16824        out_md: *mut *const EVP_MD,
16825    ) -> ::std::os::raw::c_int;
16826}
16827extern "C" {
16828    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_signature_context_string"]
16829    pub fn EVP_PKEY_CTX_set1_signature_context_string(
16830        ctx: *mut EVP_PKEY_CTX,
16831        context: *const u8,
16832        context_len: usize,
16833    ) -> ::std::os::raw::c_int;
16834}
16835extern "C" {
16836    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_signature_context"]
16837    pub fn EVP_PKEY_CTX_set_signature_context(
16838        ctx: *mut EVP_PKEY_CTX,
16839        context: *const u8,
16840        context_len: usize,
16841    ) -> ::std::os::raw::c_int;
16842}
16843extern "C" {
16844    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_signature_context"]
16845    pub fn EVP_PKEY_CTX_get0_signature_context(
16846        ctx: *mut EVP_PKEY_CTX,
16847        context: *mut *const u8,
16848        context_len: *mut usize,
16849    ) -> ::std::os::raw::c_int;
16850}
16851extern "C" {
16852    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_padding"]
16853    pub fn EVP_PKEY_CTX_set_rsa_padding(
16854        ctx: *mut EVP_PKEY_CTX,
16855        padding: ::std::os::raw::c_int,
16856    ) -> ::std::os::raw::c_int;
16857}
16858extern "C" {
16859    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_padding"]
16860    pub fn EVP_PKEY_CTX_get_rsa_padding(
16861        ctx: *mut EVP_PKEY_CTX,
16862        out_padding: *mut ::std::os::raw::c_int,
16863    ) -> ::std::os::raw::c_int;
16864}
16865extern "C" {
16866    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16867    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16868        ctx: *mut EVP_PKEY_CTX,
16869        salt_len: ::std::os::raw::c_int,
16870    ) -> ::std::os::raw::c_int;
16871}
16872extern "C" {
16873    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16874    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16875        ctx: *mut EVP_PKEY_CTX,
16876        out_salt_len: *mut ::std::os::raw::c_int,
16877    ) -> ::std::os::raw::c_int;
16878}
16879extern "C" {
16880    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16881    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16882        ctx: *mut EVP_PKEY_CTX,
16883        bits: ::std::os::raw::c_int,
16884    ) -> ::std::os::raw::c_int;
16885}
16886extern "C" {
16887    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16888    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16889        ctx: *mut EVP_PKEY_CTX,
16890        e: *mut BIGNUM,
16891    ) -> ::std::os::raw::c_int;
16892}
16893extern "C" {
16894    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
16895    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16896        ctx: *mut EVP_PKEY_CTX,
16897        md: *const EVP_MD,
16898    ) -> ::std::os::raw::c_int;
16899}
16900extern "C" {
16901    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
16902    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16903        ctx: *mut EVP_PKEY_CTX,
16904        out_md: *mut *const EVP_MD,
16905    ) -> ::std::os::raw::c_int;
16906}
16907extern "C" {
16908    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16909    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16910        ctx: *mut EVP_PKEY_CTX,
16911        md: *const EVP_MD,
16912    ) -> ::std::os::raw::c_int;
16913}
16914extern "C" {
16915    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16916    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16917        ctx: *mut EVP_PKEY_CTX,
16918        out_md: *mut *const EVP_MD,
16919    ) -> ::std::os::raw::c_int;
16920}
16921extern "C" {
16922    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16923    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16924        ctx: *mut EVP_PKEY_CTX,
16925        label: *mut u8,
16926        label_len: usize,
16927    ) -> ::std::os::raw::c_int;
16928}
16929extern "C" {
16930    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16931    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16932        ctx: *mut EVP_PKEY_CTX,
16933        out_label: *mut *const u8,
16934    ) -> ::std::os::raw::c_int;
16935}
16936extern "C" {
16937    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16938    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16939        ctx: *mut EVP_PKEY_CTX,
16940        nid: ::std::os::raw::c_int,
16941    ) -> ::std::os::raw::c_int;
16942}
16943extern "C" {
16944    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_kem_set_params"]
16945    pub fn EVP_PKEY_CTX_kem_set_params(
16946        ctx: *mut EVP_PKEY_CTX,
16947        nid: ::std::os::raw::c_int,
16948    ) -> ::std::os::raw::c_int;
16949}
16950extern "C" {
16951    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_public_key"]
16952    pub fn EVP_PKEY_kem_new_raw_public_key(
16953        nid: ::std::os::raw::c_int,
16954        in_: *const u8,
16955        len: usize,
16956    ) -> *mut EVP_PKEY;
16957}
16958extern "C" {
16959    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_secret_key"]
16960    pub fn EVP_PKEY_kem_new_raw_secret_key(
16961        nid: ::std::os::raw::c_int,
16962        in_: *const u8,
16963        len: usize,
16964    ) -> *mut EVP_PKEY;
16965}
16966extern "C" {
16967    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_key"]
16968    pub fn EVP_PKEY_kem_new_raw_key(
16969        nid: ::std::os::raw::c_int,
16970        in_public: *const u8,
16971        len_public: usize,
16972        in_secret: *const u8,
16973        len_secret: usize,
16974    ) -> *mut EVP_PKEY;
16975}
16976extern "C" {
16977    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_check_key"]
16978    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16979}
16980extern "C" {
16981    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_get_type"]
16982    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16983}
16984extern "C" {
16985    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_pqdsa_set_params"]
16986    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16987        ctx: *mut EVP_PKEY_CTX,
16988        nid: ::std::os::raw::c_int,
16989    ) -> ::std::os::raw::c_int;
16990}
16991extern "C" {
16992    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_new_raw_public_key"]
16993    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
16994        nid: ::std::os::raw::c_int,
16995        in_: *const u8,
16996        len: usize,
16997    ) -> *mut EVP_PKEY;
16998}
16999extern "C" {
17000    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_new_raw_private_key"]
17001    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
17002        nid: ::std::os::raw::c_int,
17003        in_: *const u8,
17004        len: usize,
17005    ) -> *mut EVP_PKEY;
17006}
17007extern "C" {
17008    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_pad"]
17009    pub fn EVP_PKEY_CTX_set_dh_pad(
17010        ctx: *mut EVP_PKEY_CTX,
17011        pad: ::std::os::raw::c_int,
17012    ) -> ::std::os::raw::c_int;
17013}
17014extern "C" {
17015    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get_count"]
17016    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
17017}
17018extern "C" {
17019    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get0"]
17020    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
17021}
17022extern "C" {
17023    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_find"]
17024    pub fn EVP_PKEY_asn1_find(
17025        _pe: *mut *mut ENGINE,
17026        type_: ::std::os::raw::c_int,
17027    ) -> *const EVP_PKEY_ASN1_METHOD;
17028}
17029extern "C" {
17030    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_find_str"]
17031    pub fn EVP_PKEY_asn1_find_str(
17032        _pe: *mut *mut ENGINE,
17033        name: *const ::std::os::raw::c_char,
17034        len: ::std::os::raw::c_int,
17035    ) -> *const EVP_PKEY_ASN1_METHOD;
17036}
17037extern "C" {
17038    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get0_info"]
17039    pub fn EVP_PKEY_asn1_get0_info(
17040        ppkey_id: *mut ::std::os::raw::c_int,
17041        pkey_base_id: *mut ::std::os::raw::c_int,
17042        ppkey_flags: *mut ::std::os::raw::c_int,
17043        pinfo: *mut *const ::std::os::raw::c_char,
17044        ppem_str: *mut *const ::std::os::raw::c_char,
17045        ameth: *const EVP_PKEY_ASN1_METHOD,
17046    ) -> ::std::os::raw::c_int;
17047}
17048extern "C" {
17049    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_private_seed"]
17050    pub fn EVP_PKEY_get_private_seed(
17051        key: *const EVP_PKEY,
17052        out: *mut u8,
17053        out_len: *mut usize,
17054    ) -> ::std::os::raw::c_int;
17055}
17056pub type EVP_PKEY_gen_cb =
17057    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
17058extern "C" {
17059    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_cb"]
17060    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
17061}
17062extern "C" {
17063    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_keygen_info"]
17064    pub fn EVP_PKEY_CTX_get_keygen_info(
17065        ctx: *mut EVP_PKEY_CTX,
17066        idx: ::std::os::raw::c_int,
17067    ) -> ::std::os::raw::c_int;
17068}
17069extern "C" {
17070    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_app_data"]
17071    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
17072}
17073extern "C" {
17074    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_app_data"]
17075    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
17076}
17077extern "C" {
17078    #[link_name = "aws_lc_0_47_0_EVP_MD_get_pkey_type"]
17079    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17080}
17081extern "C" {
17082    #[link_name = "aws_lc_0_47_0_EVP_MD_pkey_type"]
17083    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17084}
17085extern "C" {
17086    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_do_all_sorted"]
17087    pub fn EVP_CIPHER_do_all_sorted(
17088        callback: ::std::option::Option<
17089            unsafe extern "C" fn(
17090                cipher: *const EVP_CIPHER,
17091                name: *const ::std::os::raw::c_char,
17092                unused: *const ::std::os::raw::c_char,
17093                arg: *mut ::std::os::raw::c_void,
17094            ),
17095        >,
17096        arg: *mut ::std::os::raw::c_void,
17097    );
17098}
17099extern "C" {
17100    #[link_name = "aws_lc_0_47_0_EVP_MD_do_all_sorted"]
17101    pub fn EVP_MD_do_all_sorted(
17102        callback: ::std::option::Option<
17103            unsafe extern "C" fn(
17104                cipher: *const EVP_MD,
17105                name: *const ::std::os::raw::c_char,
17106                unused: *const ::std::os::raw::c_char,
17107                arg: *mut ::std::os::raw::c_void,
17108            ),
17109        >,
17110        arg: *mut ::std::os::raw::c_void,
17111    );
17112}
17113extern "C" {
17114    #[link_name = "aws_lc_0_47_0_EVP_MD_do_all"]
17115    pub fn EVP_MD_do_all(
17116        callback: ::std::option::Option<
17117            unsafe extern "C" fn(
17118                cipher: *const EVP_MD,
17119                name: *const ::std::os::raw::c_char,
17120                unused: *const ::std::os::raw::c_char,
17121                arg: *mut ::std::os::raw::c_void,
17122            ),
17123        >,
17124        arg: *mut ::std::os::raw::c_void,
17125    );
17126}
17127extern "C" {
17128    #[link_name = "aws_lc_0_47_0_i2d_PrivateKey"]
17129    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17130}
17131extern "C" {
17132    #[link_name = "aws_lc_0_47_0_i2d_PublicKey"]
17133    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17134}
17135extern "C" {
17136    #[link_name = "aws_lc_0_47_0_d2i_PrivateKey"]
17137    pub fn d2i_PrivateKey(
17138        type_: ::std::os::raw::c_int,
17139        out: *mut *mut EVP_PKEY,
17140        inp: *mut *const u8,
17141        len: ::std::os::raw::c_long,
17142    ) -> *mut EVP_PKEY;
17143}
17144extern "C" {
17145    #[link_name = "aws_lc_0_47_0_d2i_AutoPrivateKey"]
17146    pub fn d2i_AutoPrivateKey(
17147        out: *mut *mut EVP_PKEY,
17148        inp: *mut *const u8,
17149        len: ::std::os::raw::c_long,
17150    ) -> *mut EVP_PKEY;
17151}
17152extern "C" {
17153    #[link_name = "aws_lc_0_47_0_d2i_PublicKey"]
17154    pub fn d2i_PublicKey(
17155        type_: ::std::os::raw::c_int,
17156        out: *mut *mut EVP_PKEY,
17157        inp: *mut *const u8,
17158        len: ::std::os::raw::c_long,
17159    ) -> *mut EVP_PKEY;
17160}
17161extern "C" {
17162    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_ec_param_enc"]
17163    pub fn EVP_PKEY_CTX_set_ec_param_enc(
17164        ctx: *mut EVP_PKEY_CTX,
17165        encoding: ::std::os::raw::c_int,
17166    ) -> ::std::os::raw::c_int;
17167}
17168extern "C" {
17169    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_tls_encodedpoint"]
17170    pub fn EVP_PKEY_set1_tls_encodedpoint(
17171        pkey: *mut EVP_PKEY,
17172        in_: *const u8,
17173        len: usize,
17174    ) -> ::std::os::raw::c_int;
17175}
17176extern "C" {
17177    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_tls_encodedpoint"]
17178    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
17179}
17180extern "C" {
17181    #[link_name = "aws_lc_0_47_0_EVP_PKEY_base_id"]
17182    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
17183}
17184extern "C" {
17185    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
17186    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
17187        ctx: *mut EVP_PKEY_CTX,
17188        md: *const EVP_MD,
17189    ) -> ::std::os::raw::c_int;
17190}
17191extern "C" {
17192    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
17193    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
17194        ctx: *mut EVP_PKEY_CTX,
17195        salt_len: ::std::os::raw::c_int,
17196    ) -> ::std::os::raw::c_int;
17197}
17198extern "C" {
17199    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
17200    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
17201        ctx: *mut EVP_PKEY_CTX,
17202        md: *const EVP_MD,
17203    ) -> ::std::os::raw::c_int;
17204}
17205extern "C" {
17206    #[link_name = "aws_lc_0_47_0_i2d_PUBKEY"]
17207    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17208}
17209extern "C" {
17210    #[link_name = "aws_lc_0_47_0_d2i_PUBKEY"]
17211    pub fn d2i_PUBKEY(
17212        out: *mut *mut EVP_PKEY,
17213        inp: *mut *const u8,
17214        len: ::std::os::raw::c_long,
17215    ) -> *mut EVP_PKEY;
17216}
17217extern "C" {
17218    #[link_name = "aws_lc_0_47_0_i2d_RSA_PUBKEY"]
17219    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17220}
17221extern "C" {
17222    #[link_name = "aws_lc_0_47_0_d2i_RSA_PUBKEY"]
17223    pub fn d2i_RSA_PUBKEY(
17224        out: *mut *mut RSA,
17225        inp: *mut *const u8,
17226        len: ::std::os::raw::c_long,
17227    ) -> *mut RSA;
17228}
17229extern "C" {
17230    #[link_name = "aws_lc_0_47_0_i2d_DSA_PUBKEY"]
17231    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17232}
17233extern "C" {
17234    #[link_name = "aws_lc_0_47_0_d2i_DSA_PUBKEY"]
17235    pub fn d2i_DSA_PUBKEY(
17236        out: *mut *mut DSA,
17237        inp: *mut *const u8,
17238        len: ::std::os::raw::c_long,
17239    ) -> *mut DSA;
17240}
17241extern "C" {
17242    #[link_name = "aws_lc_0_47_0_i2d_EC_PUBKEY"]
17243    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17244}
17245extern "C" {
17246    #[link_name = "aws_lc_0_47_0_d2i_EC_PUBKEY"]
17247    pub fn d2i_EC_PUBKEY(
17248        out: *mut *mut EC_KEY,
17249        inp: *mut *const u8,
17250        len: ::std::os::raw::c_long,
17251    ) -> *mut EC_KEY;
17252}
17253extern "C" {
17254    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign"]
17255    pub fn EVP_PKEY_assign(
17256        pkey: *mut EVP_PKEY,
17257        type_: ::std::os::raw::c_int,
17258        key: *mut ::std::os::raw::c_void,
17259    ) -> ::std::os::raw::c_int;
17260}
17261extern "C" {
17262    #[link_name = "aws_lc_0_47_0_EVP_PKEY_type"]
17263    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17264}
17265extern "C" {
17266    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_mac_key"]
17267    pub fn EVP_PKEY_new_mac_key(
17268        type_: ::std::os::raw::c_int,
17269        engine: *mut ENGINE,
17270        mac_key: *const u8,
17271        mac_key_len: usize,
17272    ) -> *mut EVP_PKEY;
17273}
17274extern "C" {
17275    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0"]
17276    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
17277}
17278extern "C" {
17279    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_algorithms"]
17280    pub fn OpenSSL_add_all_algorithms();
17281}
17282extern "C" {
17283    #[link_name = "aws_lc_0_47_0_OPENSSL_add_all_algorithms_conf"]
17284    pub fn OPENSSL_add_all_algorithms_conf();
17285}
17286extern "C" {
17287    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_ciphers"]
17288    pub fn OpenSSL_add_all_ciphers();
17289}
17290extern "C" {
17291    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_digests"]
17292    pub fn OpenSSL_add_all_digests();
17293}
17294extern "C" {
17295    #[link_name = "aws_lc_0_47_0_EVP_cleanup"]
17296    pub fn EVP_cleanup();
17297}
17298extern "C" {
17299    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
17300    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
17301        ctx: *mut EVP_PKEY_CTX,
17302        nbits: ::std::os::raw::c_int,
17303    ) -> ::std::os::raw::c_int;
17304}
17305extern "C" {
17306    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
17307    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
17308        ctx: *mut EVP_PKEY_CTX,
17309        md: *const EVP_MD,
17310    ) -> ::std::os::raw::c_int;
17311}
17312extern "C" {
17313    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
17314    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
17315        ctx: *mut EVP_PKEY_CTX,
17316        qbits: ::std::os::raw::c_int,
17317    ) -> ::std::os::raw::c_int;
17318}
17319extern "C" {
17320    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_ctrl_str"]
17321    pub fn EVP_PKEY_CTX_ctrl_str(
17322        ctx: *mut EVP_PKEY_CTX,
17323        type_: *const ::std::os::raw::c_char,
17324        value: *const ::std::os::raw::c_char,
17325    ) -> ::std::os::raw::c_int;
17326}
17327extern "C" {
17328    #[link_name = "aws_lc_0_47_0_CRYPTO_tls1_prf"]
17329    pub fn CRYPTO_tls1_prf(
17330        digest: *const EVP_MD,
17331        out: *mut u8,
17332        out_len: usize,
17333        secret: *const u8,
17334        secret_len: usize,
17335        label: *const ::std::os::raw::c_char,
17336        label_len: usize,
17337        seed1: *const u8,
17338        seed1_len: usize,
17339        seed2: *const u8,
17340        seed2_len: usize,
17341    ) -> ::std::os::raw::c_int;
17342}
17343extern "C" {
17344    #[link_name = "aws_lc_0_47_0_CRYPTO_tls13_hkdf_expand_label"]
17345    pub fn CRYPTO_tls13_hkdf_expand_label(
17346        out: *mut u8,
17347        out_len: usize,
17348        digest: *const EVP_MD,
17349        secret: *const u8,
17350        secret_len: usize,
17351        label: *const u8,
17352        label_len: usize,
17353        hash: *const u8,
17354        hash_len: usize,
17355    ) -> ::std::os::raw::c_int;
17356}
17357extern "C" {
17358    #[link_name = "aws_lc_0_47_0_SSKDF_digest"]
17359    pub fn SSKDF_digest(
17360        out_key: *mut u8,
17361        out_len: usize,
17362        digest: *const EVP_MD,
17363        secret: *const u8,
17364        secret_len: usize,
17365        info: *const u8,
17366        info_len: usize,
17367    ) -> ::std::os::raw::c_int;
17368}
17369extern "C" {
17370    #[link_name = "aws_lc_0_47_0_SSKDF_hmac"]
17371    pub fn SSKDF_hmac(
17372        out_key: *mut u8,
17373        out_len: usize,
17374        digest: *const EVP_MD,
17375        secret: *const u8,
17376        secret_len: usize,
17377        info: *const u8,
17378        info_len: usize,
17379        salt: *const u8,
17380        salt_len: usize,
17381    ) -> ::std::os::raw::c_int;
17382}
17383extern "C" {
17384    #[link_name = "aws_lc_0_47_0_KBKDF_ctr_hmac"]
17385    pub fn KBKDF_ctr_hmac(
17386        out_key: *mut u8,
17387        out_len: usize,
17388        digest: *const EVP_MD,
17389        secret: *const u8,
17390        secret_len: usize,
17391        info: *const u8,
17392        info_len: usize,
17393    ) -> ::std::os::raw::c_int;
17394}
17395extern "C" {
17396    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_hkdf_mode"]
17397    pub fn EVP_PKEY_CTX_hkdf_mode(
17398        ctx: *mut EVP_PKEY_CTX,
17399        mode: ::std::os::raw::c_int,
17400    ) -> ::std::os::raw::c_int;
17401}
17402extern "C" {
17403    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_hkdf_md"]
17404    pub fn EVP_PKEY_CTX_set_hkdf_md(
17405        ctx: *mut EVP_PKEY_CTX,
17406        md: *const EVP_MD,
17407    ) -> ::std::os::raw::c_int;
17408}
17409extern "C" {
17410    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_hkdf_key"]
17411    pub fn EVP_PKEY_CTX_set1_hkdf_key(
17412        ctx: *mut EVP_PKEY_CTX,
17413        key: *const u8,
17414        key_len: usize,
17415    ) -> ::std::os::raw::c_int;
17416}
17417extern "C" {
17418    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_hkdf_salt"]
17419    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
17420        ctx: *mut EVP_PKEY_CTX,
17421        salt: *const u8,
17422        salt_len: usize,
17423    ) -> ::std::os::raw::c_int;
17424}
17425extern "C" {
17426    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_add1_hkdf_info"]
17427    pub fn EVP_PKEY_CTX_add1_hkdf_info(
17428        ctx: *mut EVP_PKEY_CTX,
17429        info: *const u8,
17430        info_len: usize,
17431    ) -> ::std::os::raw::c_int;
17432}
17433extern "C" {
17434    #[link_name = "aws_lc_0_47_0_HKDF"]
17435    pub fn HKDF(
17436        out_key: *mut u8,
17437        out_len: usize,
17438        digest: *const EVP_MD,
17439        secret: *const u8,
17440        secret_len: usize,
17441        salt: *const u8,
17442        salt_len: usize,
17443        info: *const u8,
17444        info_len: usize,
17445    ) -> ::std::os::raw::c_int;
17446}
17447extern "C" {
17448    #[link_name = "aws_lc_0_47_0_HKDF_extract"]
17449    pub fn HKDF_extract(
17450        out_key: *mut u8,
17451        out_len: *mut usize,
17452        digest: *const EVP_MD,
17453        secret: *const u8,
17454        secret_len: usize,
17455        salt: *const u8,
17456        salt_len: usize,
17457    ) -> ::std::os::raw::c_int;
17458}
17459extern "C" {
17460    #[link_name = "aws_lc_0_47_0_HKDF_expand"]
17461    pub fn HKDF_expand(
17462        out_key: *mut u8,
17463        out_len: usize,
17464        digest: *const EVP_MD,
17465        prk: *const u8,
17466        prk_len: usize,
17467        info: *const u8,
17468        info_len: usize,
17469    ) -> ::std::os::raw::c_int;
17470}
17471extern "C" {
17472    #[link_name = "aws_lc_0_47_0_EVP_hpke_x25519_hkdf_sha256"]
17473    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
17474}
17475extern "C" {
17476    #[link_name = "aws_lc_0_47_0_EVP_hpke_mlkem512"]
17477    pub fn EVP_hpke_mlkem512() -> *const EVP_HPKE_KEM;
17478}
17479extern "C" {
17480    #[link_name = "aws_lc_0_47_0_EVP_hpke_mlkem768"]
17481    pub fn EVP_hpke_mlkem768() -> *const EVP_HPKE_KEM;
17482}
17483extern "C" {
17484    #[link_name = "aws_lc_0_47_0_EVP_hpke_mlkem1024"]
17485    pub fn EVP_hpke_mlkem1024() -> *const EVP_HPKE_KEM;
17486}
17487extern "C" {
17488    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEM_id"]
17489    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
17490}
17491extern "C" {
17492    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEM_public_key_len"]
17493    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17494}
17495extern "C" {
17496    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEM_private_key_len"]
17497    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17498}
17499extern "C" {
17500    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEM_enc_len"]
17501    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
17502}
17503extern "C" {
17504    #[link_name = "aws_lc_0_47_0_EVP_hpke_hkdf_sha256"]
17505    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
17506}
17507extern "C" {
17508    #[link_name = "aws_lc_0_47_0_EVP_hpke_hkdf_sha384"]
17509    pub fn EVP_hpke_hkdf_sha384() -> *const EVP_HPKE_KDF;
17510}
17511extern "C" {
17512    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KDF_id"]
17513    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
17514}
17515extern "C" {
17516    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KDF_hkdf_md"]
17517    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
17518}
17519extern "C" {
17520    #[link_name = "aws_lc_0_47_0_EVP_hpke_aes_128_gcm"]
17521    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
17522}
17523extern "C" {
17524    #[link_name = "aws_lc_0_47_0_EVP_hpke_aes_256_gcm"]
17525    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
17526}
17527extern "C" {
17528    #[link_name = "aws_lc_0_47_0_EVP_hpke_chacha20_poly1305"]
17529    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
17530}
17531extern "C" {
17532    #[link_name = "aws_lc_0_47_0_EVP_HPKE_AEAD_id"]
17533    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17534}
17535extern "C" {
17536    #[link_name = "aws_lc_0_47_0_EVP_HPKE_AEAD_aead"]
17537    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17538}
17539extern "C" {
17540    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_zero"]
17541    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17542}
17543extern "C" {
17544    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_cleanup"]
17545    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17546}
17547extern "C" {
17548    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_new"]
17549    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17550}
17551extern "C" {
17552    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_free"]
17553    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17554}
17555extern "C" {
17556    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_copy"]
17557    pub fn EVP_HPKE_KEY_copy(
17558        dst: *mut EVP_HPKE_KEY,
17559        src: *const EVP_HPKE_KEY,
17560    ) -> ::std::os::raw::c_int;
17561}
17562extern "C" {
17563    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_move"]
17564    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17565}
17566extern "C" {
17567    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_init"]
17568    pub fn EVP_HPKE_KEY_init(
17569        key: *mut EVP_HPKE_KEY,
17570        kem: *const EVP_HPKE_KEM,
17571        priv_key: *const u8,
17572        priv_key_len: usize,
17573    ) -> ::std::os::raw::c_int;
17574}
17575extern "C" {
17576    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_generate"]
17577    pub fn EVP_HPKE_KEY_generate(
17578        key: *mut EVP_HPKE_KEY,
17579        kem: *const EVP_HPKE_KEM,
17580    ) -> ::std::os::raw::c_int;
17581}
17582extern "C" {
17583    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_kem"]
17584    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17585}
17586extern "C" {
17587    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_public_key"]
17588    pub fn EVP_HPKE_KEY_public_key(
17589        key: *const EVP_HPKE_KEY,
17590        out: *mut u8,
17591        out_len: *mut usize,
17592        max_out: usize,
17593    ) -> ::std::os::raw::c_int;
17594}
17595extern "C" {
17596    #[link_name = "aws_lc_0_47_0_EVP_HPKE_KEY_private_key"]
17597    pub fn EVP_HPKE_KEY_private_key(
17598        key: *const EVP_HPKE_KEY,
17599        out: *mut u8,
17600        out_len: *mut usize,
17601        max_out: usize,
17602    ) -> ::std::os::raw::c_int;
17603}
17604extern "C" {
17605    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_zero"]
17606    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17607}
17608extern "C" {
17609    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_cleanup"]
17610    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17611}
17612extern "C" {
17613    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_new"]
17614    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17615}
17616extern "C" {
17617    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_free"]
17618    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17619}
17620extern "C" {
17621    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_sender"]
17622    pub fn EVP_HPKE_CTX_setup_sender(
17623        ctx: *mut EVP_HPKE_CTX,
17624        out_enc: *mut u8,
17625        out_enc_len: *mut usize,
17626        max_enc: usize,
17627        kem: *const EVP_HPKE_KEM,
17628        kdf: *const EVP_HPKE_KDF,
17629        aead: *const EVP_HPKE_AEAD,
17630        peer_public_key: *const u8,
17631        peer_public_key_len: usize,
17632        info: *const u8,
17633        info_len: usize,
17634    ) -> ::std::os::raw::c_int;
17635}
17636extern "C" {
17637    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17638    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17639        ctx: *mut EVP_HPKE_CTX,
17640        out_enc: *mut u8,
17641        out_enc_len: *mut usize,
17642        max_enc: usize,
17643        kem: *const EVP_HPKE_KEM,
17644        kdf: *const EVP_HPKE_KDF,
17645        aead: *const EVP_HPKE_AEAD,
17646        peer_public_key: *const u8,
17647        peer_public_key_len: usize,
17648        info: *const u8,
17649        info_len: usize,
17650        seed: *const u8,
17651        seed_len: usize,
17652    ) -> ::std::os::raw::c_int;
17653}
17654extern "C" {
17655    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_recipient"]
17656    pub fn EVP_HPKE_CTX_setup_recipient(
17657        ctx: *mut EVP_HPKE_CTX,
17658        key: *const EVP_HPKE_KEY,
17659        kdf: *const EVP_HPKE_KDF,
17660        aead: *const EVP_HPKE_AEAD,
17661        enc: *const u8,
17662        enc_len: usize,
17663        info: *const u8,
17664        info_len: usize,
17665    ) -> ::std::os::raw::c_int;
17666}
17667extern "C" {
17668    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_auth_sender"]
17669    pub fn EVP_HPKE_CTX_setup_auth_sender(
17670        ctx: *mut EVP_HPKE_CTX,
17671        out_enc: *mut u8,
17672        out_enc_len: *mut usize,
17673        max_enc: usize,
17674        key: *const EVP_HPKE_KEY,
17675        kdf: *const EVP_HPKE_KDF,
17676        aead: *const EVP_HPKE_AEAD,
17677        peer_public_key: *const u8,
17678        peer_public_key_len: usize,
17679        info: *const u8,
17680        info_len: usize,
17681    ) -> ::std::os::raw::c_int;
17682}
17683extern "C" {
17684    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17685    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17686        ctx: *mut EVP_HPKE_CTX,
17687        out_enc: *mut u8,
17688        out_enc_len: *mut usize,
17689        max_enc: usize,
17690        key: *const EVP_HPKE_KEY,
17691        kdf: *const EVP_HPKE_KDF,
17692        aead: *const EVP_HPKE_AEAD,
17693        peer_public_key: *const u8,
17694        peer_public_key_len: usize,
17695        info: *const u8,
17696        info_len: usize,
17697        seed: *const u8,
17698        seed_len: usize,
17699    ) -> ::std::os::raw::c_int;
17700}
17701extern "C" {
17702    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_setup_auth_recipient"]
17703    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17704        ctx: *mut EVP_HPKE_CTX,
17705        key: *const EVP_HPKE_KEY,
17706        kdf: *const EVP_HPKE_KDF,
17707        aead: *const EVP_HPKE_AEAD,
17708        enc: *const u8,
17709        enc_len: usize,
17710        info: *const u8,
17711        info_len: usize,
17712        peer_public_key: *const u8,
17713        peer_public_key_len: usize,
17714    ) -> ::std::os::raw::c_int;
17715}
17716extern "C" {
17717    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_open"]
17718    pub fn EVP_HPKE_CTX_open(
17719        ctx: *mut EVP_HPKE_CTX,
17720        out: *mut u8,
17721        out_len: *mut usize,
17722        max_out_len: usize,
17723        in_: *const u8,
17724        in_len: usize,
17725        ad: *const u8,
17726        ad_len: usize,
17727    ) -> ::std::os::raw::c_int;
17728}
17729extern "C" {
17730    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_seal"]
17731    pub fn EVP_HPKE_CTX_seal(
17732        ctx: *mut EVP_HPKE_CTX,
17733        out: *mut u8,
17734        out_len: *mut usize,
17735        max_out_len: usize,
17736        in_: *const u8,
17737        in_len: usize,
17738        ad: *const u8,
17739        ad_len: usize,
17740    ) -> ::std::os::raw::c_int;
17741}
17742extern "C" {
17743    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_export"]
17744    pub fn EVP_HPKE_CTX_export(
17745        ctx: *const EVP_HPKE_CTX,
17746        out: *mut u8,
17747        secret_len: usize,
17748        context: *const u8,
17749        context_len: usize,
17750    ) -> ::std::os::raw::c_int;
17751}
17752extern "C" {
17753    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_max_overhead"]
17754    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17755}
17756extern "C" {
17757    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_kem"]
17758    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
17759}
17760extern "C" {
17761    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_aead"]
17762    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
17763}
17764extern "C" {
17765    #[link_name = "aws_lc_0_47_0_EVP_HPKE_CTX_kdf"]
17766    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
17767}
17768#[repr(C)]
17769#[derive(Copy, Clone)]
17770pub struct evp_hpke_ctx_st {
17771    pub kem: *const EVP_HPKE_KEM,
17772    pub aead: *const EVP_HPKE_AEAD,
17773    pub kdf: *const EVP_HPKE_KDF,
17774    pub aead_ctx: EVP_AEAD_CTX,
17775    pub base_nonce: [u8; 24usize],
17776    pub exporter_secret: [u8; 64usize],
17777    pub seq: u64,
17778    pub is_sender: ::std::os::raw::c_int,
17779}
17780#[test]
17781fn bindgen_test_layout_evp_hpke_ctx_st() {
17782    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
17783    let ptr = UNINIT.as_ptr();
17784    assert_eq!(
17785        ::std::mem::size_of::<evp_hpke_ctx_st>(),
17786        712usize,
17787        "Size of evp_hpke_ctx_st"
17788    );
17789    assert_eq!(
17790        ::std::mem::align_of::<evp_hpke_ctx_st>(),
17791        8usize,
17792        "Alignment of evp_hpke_ctx_st"
17793    );
17794    assert_eq!(
17795        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17796        0usize,
17797        "Offset of field: evp_hpke_ctx_st::kem"
17798    );
17799    assert_eq!(
17800        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
17801        8usize,
17802        "Offset of field: evp_hpke_ctx_st::aead"
17803    );
17804    assert_eq!(
17805        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
17806        16usize,
17807        "Offset of field: evp_hpke_ctx_st::kdf"
17808    );
17809    assert_eq!(
17810        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
17811        24usize,
17812        "Offset of field: evp_hpke_ctx_st::aead_ctx"
17813    );
17814    assert_eq!(
17815        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
17816        608usize,
17817        "Offset of field: evp_hpke_ctx_st::base_nonce"
17818    );
17819    assert_eq!(
17820        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
17821        632usize,
17822        "Offset of field: evp_hpke_ctx_st::exporter_secret"
17823    );
17824    assert_eq!(
17825        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
17826        696usize,
17827        "Offset of field: evp_hpke_ctx_st::seq"
17828    );
17829    assert_eq!(
17830        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
17831        704usize,
17832        "Offset of field: evp_hpke_ctx_st::is_sender"
17833    );
17834}
17835impl Default for evp_hpke_ctx_st {
17836    fn default() -> Self {
17837        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17838        unsafe {
17839            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17840            s.assume_init()
17841        }
17842    }
17843}
17844#[repr(C)]
17845#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17846pub struct evp_hpke_key_st {
17847    pub kem: *const EVP_HPKE_KEM,
17848    pub private_key: *mut u8,
17849    pub public_key: *mut u8,
17850    pub expanded_private_key: *mut u8,
17851    pub reserved: [u8; 40usize],
17852}
17853#[test]
17854fn bindgen_test_layout_evp_hpke_key_st() {
17855    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
17856    let ptr = UNINIT.as_ptr();
17857    assert_eq!(
17858        ::std::mem::size_of::<evp_hpke_key_st>(),
17859        72usize,
17860        "Size of evp_hpke_key_st"
17861    );
17862    assert_eq!(
17863        ::std::mem::align_of::<evp_hpke_key_st>(),
17864        8usize,
17865        "Alignment of evp_hpke_key_st"
17866    );
17867    assert_eq!(
17868        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17869        0usize,
17870        "Offset of field: evp_hpke_key_st::kem"
17871    );
17872    assert_eq!(
17873        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
17874        8usize,
17875        "Offset of field: evp_hpke_key_st::private_key"
17876    );
17877    assert_eq!(
17878        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
17879        16usize,
17880        "Offset of field: evp_hpke_key_st::public_key"
17881    );
17882    assert_eq!(
17883        unsafe { ::std::ptr::addr_of!((*ptr).expanded_private_key) as usize - ptr as usize },
17884        24usize,
17885        "Offset of field: evp_hpke_key_st::expanded_private_key"
17886    );
17887    assert_eq!(
17888        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
17889        32usize,
17890        "Offset of field: evp_hpke_key_st::reserved"
17891    );
17892}
17893impl Default for evp_hpke_key_st {
17894    fn default() -> Self {
17895        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17896        unsafe {
17897            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17898            s.assume_init()
17899        }
17900    }
17901}
17902#[repr(C)]
17903#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17904pub struct HRSS_private_key {
17905    pub opaque: [u8; 1808usize],
17906}
17907#[test]
17908fn bindgen_test_layout_HRSS_private_key() {
17909    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
17910    let ptr = UNINIT.as_ptr();
17911    assert_eq!(
17912        ::std::mem::size_of::<HRSS_private_key>(),
17913        1808usize,
17914        "Size of HRSS_private_key"
17915    );
17916    assert_eq!(
17917        ::std::mem::align_of::<HRSS_private_key>(),
17918        1usize,
17919        "Alignment of HRSS_private_key"
17920    );
17921    assert_eq!(
17922        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17923        0usize,
17924        "Offset of field: HRSS_private_key::opaque"
17925    );
17926}
17927impl Default for HRSS_private_key {
17928    fn default() -> Self {
17929        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17930        unsafe {
17931            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17932            s.assume_init()
17933        }
17934    }
17935}
17936#[repr(C)]
17937#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17938pub struct HRSS_public_key {
17939    pub opaque: [u8; 1424usize],
17940}
17941#[test]
17942fn bindgen_test_layout_HRSS_public_key() {
17943    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
17944    let ptr = UNINIT.as_ptr();
17945    assert_eq!(
17946        ::std::mem::size_of::<HRSS_public_key>(),
17947        1424usize,
17948        "Size of HRSS_public_key"
17949    );
17950    assert_eq!(
17951        ::std::mem::align_of::<HRSS_public_key>(),
17952        1usize,
17953        "Alignment of HRSS_public_key"
17954    );
17955    assert_eq!(
17956        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17957        0usize,
17958        "Offset of field: HRSS_public_key::opaque"
17959    );
17960}
17961impl Default for HRSS_public_key {
17962    fn default() -> Self {
17963        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17964        unsafe {
17965            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17966            s.assume_init()
17967        }
17968    }
17969}
17970extern "C" {
17971    #[link_name = "aws_lc_0_47_0_HRSS_generate_key"]
17972    pub fn HRSS_generate_key(
17973        out_pub: *mut HRSS_public_key,
17974        out_priv: *mut HRSS_private_key,
17975        input: *const u8,
17976    ) -> ::std::os::raw::c_int;
17977}
17978extern "C" {
17979    #[link_name = "aws_lc_0_47_0_HRSS_encap"]
17980    pub fn HRSS_encap(
17981        out_ciphertext: *mut u8,
17982        out_shared_key: *mut u8,
17983        in_pub: *const HRSS_public_key,
17984        in_: *const u8,
17985    ) -> ::std::os::raw::c_int;
17986}
17987extern "C" {
17988    #[link_name = "aws_lc_0_47_0_HRSS_decap"]
17989    pub fn HRSS_decap(
17990        out_shared_key: *mut u8,
17991        in_priv: *const HRSS_private_key,
17992        ciphertext: *const u8,
17993        ciphertext_len: usize,
17994    ) -> ::std::os::raw::c_int;
17995}
17996extern "C" {
17997    #[link_name = "aws_lc_0_47_0_HRSS_marshal_public_key"]
17998    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
17999}
18000extern "C" {
18001    #[link_name = "aws_lc_0_47_0_HRSS_parse_public_key"]
18002    pub fn HRSS_parse_public_key(
18003        out: *mut HRSS_public_key,
18004        in_: *const u8,
18005    ) -> ::std::os::raw::c_int;
18006}
18007extern "C" {
18008    #[link_name = "aws_lc_0_47_0_MD4_Init"]
18009    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18010}
18011extern "C" {
18012    #[link_name = "aws_lc_0_47_0_MD4_Update"]
18013    pub fn MD4_Update(
18014        md4: *mut MD4_CTX,
18015        data: *const ::std::os::raw::c_void,
18016        len: usize,
18017    ) -> ::std::os::raw::c_int;
18018}
18019extern "C" {
18020    #[link_name = "aws_lc_0_47_0_MD4_Final"]
18021    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18022}
18023extern "C" {
18024    #[link_name = "aws_lc_0_47_0_MD4"]
18025    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
18026}
18027extern "C" {
18028    #[link_name = "aws_lc_0_47_0_MD4_Transform"]
18029    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
18030}
18031#[repr(C)]
18032#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18033pub struct md4_state_st {
18034    pub h: [u32; 4usize],
18035    pub Nl: u32,
18036    pub Nh: u32,
18037    pub data: [u8; 64usize],
18038    pub num: ::std::os::raw::c_uint,
18039}
18040#[test]
18041fn bindgen_test_layout_md4_state_st() {
18042    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
18043    let ptr = UNINIT.as_ptr();
18044    assert_eq!(
18045        ::std::mem::size_of::<md4_state_st>(),
18046        92usize,
18047        "Size of md4_state_st"
18048    );
18049    assert_eq!(
18050        ::std::mem::align_of::<md4_state_st>(),
18051        4usize,
18052        "Alignment of md4_state_st"
18053    );
18054    assert_eq!(
18055        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
18056        0usize,
18057        "Offset of field: md4_state_st::h"
18058    );
18059    assert_eq!(
18060        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
18061        16usize,
18062        "Offset of field: md4_state_st::Nl"
18063    );
18064    assert_eq!(
18065        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
18066        20usize,
18067        "Offset of field: md4_state_st::Nh"
18068    );
18069    assert_eq!(
18070        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18071        24usize,
18072        "Offset of field: md4_state_st::data"
18073    );
18074    assert_eq!(
18075        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
18076        88usize,
18077        "Offset of field: md4_state_st::num"
18078    );
18079}
18080impl Default for md4_state_st {
18081    fn default() -> Self {
18082        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18083        unsafe {
18084            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18085            s.assume_init()
18086        }
18087    }
18088}
18089#[repr(C)]
18090#[derive(Debug)]
18091pub struct stack_st_CRYPTO_BUFFER {
18092    _unused: [u8; 0],
18093}
18094#[repr(C)]
18095#[derive(Debug)]
18096pub struct stack_st_X509 {
18097    _unused: [u8; 0],
18098}
18099#[repr(C)]
18100#[derive(Debug)]
18101pub struct stack_st_X509_CRL {
18102    _unused: [u8; 0],
18103}
18104extern "C" {
18105    #[link_name = "aws_lc_0_47_0_PKCS7_get_raw_certificates"]
18106    pub fn PKCS7_get_raw_certificates(
18107        out_certs: *mut stack_st_CRYPTO_BUFFER,
18108        cbs: *mut CBS,
18109        pool: *mut CRYPTO_BUFFER_POOL,
18110    ) -> ::std::os::raw::c_int;
18111}
18112extern "C" {
18113    #[link_name = "aws_lc_0_47_0_PKCS7_get_certificates"]
18114    pub fn PKCS7_get_certificates(
18115        out_certs: *mut stack_st_X509,
18116        cbs: *mut CBS,
18117    ) -> ::std::os::raw::c_int;
18118}
18119extern "C" {
18120    #[link_name = "aws_lc_0_47_0_PKCS7_bundle_raw_certificates"]
18121    pub fn PKCS7_bundle_raw_certificates(
18122        out: *mut CBB,
18123        certs: *const stack_st_CRYPTO_BUFFER,
18124    ) -> ::std::os::raw::c_int;
18125}
18126extern "C" {
18127    #[link_name = "aws_lc_0_47_0_PKCS7_bundle_certificates"]
18128    pub fn PKCS7_bundle_certificates(
18129        out: *mut CBB,
18130        certs: *const stack_st_X509,
18131    ) -> ::std::os::raw::c_int;
18132}
18133extern "C" {
18134    #[link_name = "aws_lc_0_47_0_PKCS7_get_CRLs"]
18135    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
18136        -> ::std::os::raw::c_int;
18137}
18138extern "C" {
18139    #[link_name = "aws_lc_0_47_0_PKCS7_bundle_CRLs"]
18140    pub fn PKCS7_bundle_CRLs(
18141        out: *mut CBB,
18142        crls: *const stack_st_X509_CRL,
18143    ) -> ::std::os::raw::c_int;
18144}
18145extern "C" {
18146    #[link_name = "aws_lc_0_47_0_PKCS7_get_PEM_certificates"]
18147    pub fn PKCS7_get_PEM_certificates(
18148        out_certs: *mut stack_st_X509,
18149        pem_bio: *mut BIO,
18150    ) -> ::std::os::raw::c_int;
18151}
18152extern "C" {
18153    #[link_name = "aws_lc_0_47_0_PKCS7_get_PEM_CRLs"]
18154    pub fn PKCS7_get_PEM_CRLs(
18155        out_crls: *mut stack_st_X509_CRL,
18156        pem_bio: *mut BIO,
18157    ) -> ::std::os::raw::c_int;
18158}
18159extern "C" {
18160    #[link_name = "aws_lc_0_47_0_d2i_PKCS7_bio"]
18161    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
18162}
18163extern "C" {
18164    #[link_name = "aws_lc_0_47_0_i2d_PKCS7_bio"]
18165    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
18166}
18167extern "C" {
18168    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_data"]
18169    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
18170}
18171extern "C" {
18172    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_digest"]
18173    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
18174}
18175extern "C" {
18176    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_encrypted"]
18177    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
18178}
18179extern "C" {
18180    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_enveloped"]
18181    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18182}
18183extern "C" {
18184    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_signed"]
18185    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
18186}
18187extern "C" {
18188    #[link_name = "aws_lc_0_47_0_PKCS7_type_is_signedAndEnveloped"]
18189    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18190}
18191#[repr(C)]
18192#[derive(Copy, Clone)]
18193pub struct pkcs7_st {
18194    pub type_: *mut ASN1_OBJECT,
18195    pub d: pkcs7_st__bindgen_ty_1,
18196}
18197#[repr(C)]
18198#[derive(Copy, Clone)]
18199pub union pkcs7_st__bindgen_ty_1 {
18200    pub ptr: *mut ::std::os::raw::c_char,
18201    pub data: *mut ASN1_OCTET_STRING,
18202    pub sign: *mut PKCS7_SIGNED,
18203    pub enveloped: *mut PKCS7_ENVELOPE,
18204    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
18205    pub digest: *mut PKCS7_DIGEST,
18206    pub encrypted: *mut PKCS7_ENCRYPT,
18207    pub other: *mut ASN1_TYPE,
18208}
18209#[test]
18210fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
18211    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
18212        ::std::mem::MaybeUninit::uninit();
18213    let ptr = UNINIT.as_ptr();
18214    assert_eq!(
18215        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
18216        8usize,
18217        "Size of pkcs7_st__bindgen_ty_1"
18218    );
18219    assert_eq!(
18220        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
18221        8usize,
18222        "Alignment of pkcs7_st__bindgen_ty_1"
18223    );
18224    assert_eq!(
18225        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
18226        0usize,
18227        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
18228    );
18229    assert_eq!(
18230        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18231        0usize,
18232        "Offset of field: pkcs7_st__bindgen_ty_1::data"
18233    );
18234    assert_eq!(
18235        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
18236        0usize,
18237        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
18238    );
18239    assert_eq!(
18240        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
18241        0usize,
18242        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
18243    );
18244    assert_eq!(
18245        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
18246        0usize,
18247        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
18248    );
18249    assert_eq!(
18250        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
18251        0usize,
18252        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
18253    );
18254    assert_eq!(
18255        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
18256        0usize,
18257        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
18258    );
18259    assert_eq!(
18260        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
18261        0usize,
18262        "Offset of field: pkcs7_st__bindgen_ty_1::other"
18263    );
18264}
18265impl Default for pkcs7_st__bindgen_ty_1 {
18266    fn default() -> Self {
18267        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18268        unsafe {
18269            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18270            s.assume_init()
18271        }
18272    }
18273}
18274#[test]
18275fn bindgen_test_layout_pkcs7_st() {
18276    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
18277    let ptr = UNINIT.as_ptr();
18278    assert_eq!(
18279        ::std::mem::size_of::<pkcs7_st>(),
18280        16usize,
18281        "Size of pkcs7_st"
18282    );
18283    assert_eq!(
18284        ::std::mem::align_of::<pkcs7_st>(),
18285        8usize,
18286        "Alignment of pkcs7_st"
18287    );
18288    assert_eq!(
18289        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
18290        0usize,
18291        "Offset of field: pkcs7_st::type_"
18292    );
18293    assert_eq!(
18294        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
18295        8usize,
18296        "Offset of field: pkcs7_st::d"
18297    );
18298}
18299impl Default for pkcs7_st {
18300    fn default() -> Self {
18301        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18302        unsafe {
18303            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18304            s.assume_init()
18305        }
18306    }
18307}
18308#[repr(C)]
18309#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18310pub struct pkcs7_signed_st {
18311    pub version: *mut ASN1_INTEGER,
18312    pub md_algs: *mut stack_st_X509_ALGOR,
18313    pub contents: *mut PKCS7,
18314    pub cert: *mut stack_st_X509,
18315    pub crl: *mut stack_st_X509_CRL,
18316    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18317}
18318#[test]
18319fn bindgen_test_layout_pkcs7_signed_st() {
18320    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
18321    let ptr = UNINIT.as_ptr();
18322    assert_eq!(
18323        ::std::mem::size_of::<pkcs7_signed_st>(),
18324        48usize,
18325        "Size of pkcs7_signed_st"
18326    );
18327    assert_eq!(
18328        ::std::mem::align_of::<pkcs7_signed_st>(),
18329        8usize,
18330        "Alignment of pkcs7_signed_st"
18331    );
18332    assert_eq!(
18333        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18334        0usize,
18335        "Offset of field: pkcs7_signed_st::version"
18336    );
18337    assert_eq!(
18338        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18339        8usize,
18340        "Offset of field: pkcs7_signed_st::md_algs"
18341    );
18342    assert_eq!(
18343        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
18344        16usize,
18345        "Offset of field: pkcs7_signed_st::contents"
18346    );
18347    assert_eq!(
18348        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18349        24usize,
18350        "Offset of field: pkcs7_signed_st::cert"
18351    );
18352    assert_eq!(
18353        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18354        32usize,
18355        "Offset of field: pkcs7_signed_st::crl"
18356    );
18357    assert_eq!(
18358        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18359        40usize,
18360        "Offset of field: pkcs7_signed_st::signer_info"
18361    );
18362}
18363impl Default for pkcs7_signed_st {
18364    fn default() -> Self {
18365        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18366        unsafe {
18367            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18368            s.assume_init()
18369        }
18370    }
18371}
18372#[repr(C)]
18373#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18374pub struct pkcs7_signer_info_st {
18375    pub version: *mut ASN1_INTEGER,
18376    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18377    pub digest_alg: *mut X509_ALGOR,
18378    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
18379    pub digest_enc_alg: *mut X509_ALGOR,
18380    pub enc_digest: *mut ASN1_OCTET_STRING,
18381    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
18382    pub pkey: *mut EVP_PKEY,
18383}
18384#[test]
18385fn bindgen_test_layout_pkcs7_signer_info_st() {
18386    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
18387    let ptr = UNINIT.as_ptr();
18388    assert_eq!(
18389        ::std::mem::size_of::<pkcs7_signer_info_st>(),
18390        64usize,
18391        "Size of pkcs7_signer_info_st"
18392    );
18393    assert_eq!(
18394        ::std::mem::align_of::<pkcs7_signer_info_st>(),
18395        8usize,
18396        "Alignment of pkcs7_signer_info_st"
18397    );
18398    assert_eq!(
18399        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18400        0usize,
18401        "Offset of field: pkcs7_signer_info_st::version"
18402    );
18403    assert_eq!(
18404        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18405        8usize,
18406        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
18407    );
18408    assert_eq!(
18409        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
18410        16usize,
18411        "Offset of field: pkcs7_signer_info_st::digest_alg"
18412    );
18413    assert_eq!(
18414        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
18415        24usize,
18416        "Offset of field: pkcs7_signer_info_st::auth_attr"
18417    );
18418    assert_eq!(
18419        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
18420        32usize,
18421        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
18422    );
18423    assert_eq!(
18424        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
18425        40usize,
18426        "Offset of field: pkcs7_signer_info_st::enc_digest"
18427    );
18428    assert_eq!(
18429        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
18430        48usize,
18431        "Offset of field: pkcs7_signer_info_st::unauth_attr"
18432    );
18433    assert_eq!(
18434        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
18435        56usize,
18436        "Offset of field: pkcs7_signer_info_st::pkey"
18437    );
18438}
18439impl Default for pkcs7_signer_info_st {
18440    fn default() -> Self {
18441        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18442        unsafe {
18443            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18444            s.assume_init()
18445        }
18446    }
18447}
18448#[repr(C)]
18449#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18450pub struct pkcs7_sign_envelope_st {
18451    pub version: *mut ASN1_INTEGER,
18452    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18453    pub md_algs: *mut stack_st_X509_ALGOR,
18454    pub enc_data: *mut PKCS7_ENC_CONTENT,
18455    pub cert: *mut stack_st_X509,
18456    pub crl: *mut stack_st_X509_CRL,
18457    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18458}
18459#[test]
18460fn bindgen_test_layout_pkcs7_sign_envelope_st() {
18461    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
18462        ::std::mem::MaybeUninit::uninit();
18463    let ptr = UNINIT.as_ptr();
18464    assert_eq!(
18465        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
18466        56usize,
18467        "Size of pkcs7_sign_envelope_st"
18468    );
18469    assert_eq!(
18470        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
18471        8usize,
18472        "Alignment of pkcs7_sign_envelope_st"
18473    );
18474    assert_eq!(
18475        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18476        0usize,
18477        "Offset of field: pkcs7_sign_envelope_st::version"
18478    );
18479    assert_eq!(
18480        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18481        8usize,
18482        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
18483    );
18484    assert_eq!(
18485        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18486        16usize,
18487        "Offset of field: pkcs7_sign_envelope_st::md_algs"
18488    );
18489    assert_eq!(
18490        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
18491        24usize,
18492        "Offset of field: pkcs7_sign_envelope_st::enc_data"
18493    );
18494    assert_eq!(
18495        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18496        32usize,
18497        "Offset of field: pkcs7_sign_envelope_st::cert"
18498    );
18499    assert_eq!(
18500        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18501        40usize,
18502        "Offset of field: pkcs7_sign_envelope_st::crl"
18503    );
18504    assert_eq!(
18505        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18506        48usize,
18507        "Offset of field: pkcs7_sign_envelope_st::signer_info"
18508    );
18509}
18510impl Default for pkcs7_sign_envelope_st {
18511    fn default() -> Self {
18512        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18513        unsafe {
18514            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18515            s.assume_init()
18516        }
18517    }
18518}
18519#[repr(C)]
18520#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18521pub struct pkcs7_envelope_st {
18522    pub version: *mut ASN1_INTEGER,
18523    pub enc_data: *mut PKCS7_ENC_CONTENT,
18524    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18525}
18526#[test]
18527fn bindgen_test_layout_pkcs7_envelope_st() {
18528    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
18529    let ptr = UNINIT.as_ptr();
18530    assert_eq!(
18531        ::std::mem::size_of::<pkcs7_envelope_st>(),
18532        24usize,
18533        "Size of pkcs7_envelope_st"
18534    );
18535    assert_eq!(
18536        ::std::mem::align_of::<pkcs7_envelope_st>(),
18537        8usize,
18538        "Alignment of pkcs7_envelope_st"
18539    );
18540    assert_eq!(
18541        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18542        0usize,
18543        "Offset of field: pkcs7_envelope_st::version"
18544    );
18545    assert_eq!(
18546        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
18547        8usize,
18548        "Offset of field: pkcs7_envelope_st::enc_data"
18549    );
18550    assert_eq!(
18551        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18552        16usize,
18553        "Offset of field: pkcs7_envelope_st::recipientinfo"
18554    );
18555}
18556impl Default for pkcs7_envelope_st {
18557    fn default() -> Self {
18558        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18559        unsafe {
18560            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18561            s.assume_init()
18562        }
18563    }
18564}
18565#[repr(C)]
18566#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18567pub struct pkcs7_recip_info_st {
18568    pub version: *mut ASN1_INTEGER,
18569    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18570    pub key_enc_algor: *mut X509_ALGOR,
18571    pub enc_key: *mut ASN1_OCTET_STRING,
18572    pub cert: *mut X509,
18573}
18574#[test]
18575fn bindgen_test_layout_pkcs7_recip_info_st() {
18576    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
18577    let ptr = UNINIT.as_ptr();
18578    assert_eq!(
18579        ::std::mem::size_of::<pkcs7_recip_info_st>(),
18580        40usize,
18581        "Size of pkcs7_recip_info_st"
18582    );
18583    assert_eq!(
18584        ::std::mem::align_of::<pkcs7_recip_info_st>(),
18585        8usize,
18586        "Alignment of pkcs7_recip_info_st"
18587    );
18588    assert_eq!(
18589        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18590        0usize,
18591        "Offset of field: pkcs7_recip_info_st::version"
18592    );
18593    assert_eq!(
18594        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18595        8usize,
18596        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
18597    );
18598    assert_eq!(
18599        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
18600        16usize,
18601        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
18602    );
18603    assert_eq!(
18604        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
18605        24usize,
18606        "Offset of field: pkcs7_recip_info_st::enc_key"
18607    );
18608    assert_eq!(
18609        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18610        32usize,
18611        "Offset of field: pkcs7_recip_info_st::cert"
18612    );
18613}
18614impl Default for pkcs7_recip_info_st {
18615    fn default() -> Self {
18616        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18617        unsafe {
18618            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18619            s.assume_init()
18620        }
18621    }
18622}
18623#[repr(C)]
18624#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18625pub struct pkcs7_issuer_and_serial_st {
18626    pub issuer: *mut X509_NAME,
18627    pub serial: *mut ASN1_INTEGER,
18628}
18629#[test]
18630fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
18631    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
18632        ::std::mem::MaybeUninit::uninit();
18633    let ptr = UNINIT.as_ptr();
18634    assert_eq!(
18635        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
18636        16usize,
18637        "Size of pkcs7_issuer_and_serial_st"
18638    );
18639    assert_eq!(
18640        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
18641        8usize,
18642        "Alignment of pkcs7_issuer_and_serial_st"
18643    );
18644    assert_eq!(
18645        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
18646        0usize,
18647        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
18648    );
18649    assert_eq!(
18650        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
18651        8usize,
18652        "Offset of field: pkcs7_issuer_and_serial_st::serial"
18653    );
18654}
18655impl Default for pkcs7_issuer_and_serial_st {
18656    fn default() -> Self {
18657        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18658        unsafe {
18659            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18660            s.assume_init()
18661        }
18662    }
18663}
18664extern "C" {
18665    #[link_name = "aws_lc_0_47_0_PKCS7_new"]
18666    pub fn PKCS7_new() -> *mut PKCS7;
18667}
18668extern "C" {
18669    #[link_name = "aws_lc_0_47_0_PKCS7_free"]
18670    pub fn PKCS7_free(a: *mut PKCS7);
18671}
18672extern "C" {
18673    #[link_name = "aws_lc_0_47_0_d2i_PKCS7"]
18674    pub fn d2i_PKCS7(
18675        a: *mut *mut PKCS7,
18676        in_: *mut *const ::std::os::raw::c_uchar,
18677        len: ::std::os::raw::c_long,
18678    ) -> *mut PKCS7;
18679}
18680extern "C" {
18681    #[link_name = "aws_lc_0_47_0_i2d_PKCS7"]
18682    pub fn i2d_PKCS7(
18683        a: *mut PKCS7,
18684        out: *mut *mut ::std::os::raw::c_uchar,
18685    ) -> ::std::os::raw::c_int;
18686}
18687extern "C" {
18688    #[link_name = "aws_lc_0_47_0_PKCS7_it"]
18689    pub static PKCS7_it: ASN1_ITEM;
18690}
18691extern "C" {
18692    #[link_name = "aws_lc_0_47_0_PKCS7_RECIP_INFO_new"]
18693    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
18694}
18695extern "C" {
18696    #[link_name = "aws_lc_0_47_0_PKCS7_RECIP_INFO_free"]
18697    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
18698}
18699extern "C" {
18700    #[link_name = "aws_lc_0_47_0_d2i_PKCS7_RECIP_INFO"]
18701    pub fn d2i_PKCS7_RECIP_INFO(
18702        a: *mut *mut PKCS7_RECIP_INFO,
18703        in_: *mut *const ::std::os::raw::c_uchar,
18704        len: ::std::os::raw::c_long,
18705    ) -> *mut PKCS7_RECIP_INFO;
18706}
18707extern "C" {
18708    #[link_name = "aws_lc_0_47_0_i2d_PKCS7_RECIP_INFO"]
18709    pub fn i2d_PKCS7_RECIP_INFO(
18710        a: *mut PKCS7_RECIP_INFO,
18711        out: *mut *mut ::std::os::raw::c_uchar,
18712    ) -> ::std::os::raw::c_int;
18713}
18714extern "C" {
18715    #[link_name = "aws_lc_0_47_0_PKCS7_RECIP_INFO_it"]
18716    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
18717}
18718extern "C" {
18719    #[link_name = "aws_lc_0_47_0_PKCS7_SIGNER_INFO_new"]
18720    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
18721}
18722extern "C" {
18723    #[link_name = "aws_lc_0_47_0_PKCS7_SIGNER_INFO_free"]
18724    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
18725}
18726extern "C" {
18727    #[link_name = "aws_lc_0_47_0_d2i_PKCS7_SIGNER_INFO"]
18728    pub fn d2i_PKCS7_SIGNER_INFO(
18729        a: *mut *mut PKCS7_SIGNER_INFO,
18730        in_: *mut *const ::std::os::raw::c_uchar,
18731        len: ::std::os::raw::c_long,
18732    ) -> *mut PKCS7_SIGNER_INFO;
18733}
18734extern "C" {
18735    #[link_name = "aws_lc_0_47_0_i2d_PKCS7_SIGNER_INFO"]
18736    pub fn i2d_PKCS7_SIGNER_INFO(
18737        a: *mut PKCS7_SIGNER_INFO,
18738        out: *mut *mut ::std::os::raw::c_uchar,
18739    ) -> ::std::os::raw::c_int;
18740}
18741extern "C" {
18742    #[link_name = "aws_lc_0_47_0_PKCS7_SIGNER_INFO_it"]
18743    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
18744}
18745#[repr(C)]
18746#[derive(Debug)]
18747pub struct stack_st_PKCS7_RECIP_INFO {
18748    _unused: [u8; 0],
18749}
18750pub type sk_PKCS7_RECIP_INFO_free_func =
18751    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
18752pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
18753    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
18754>;
18755pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
18756    unsafe extern "C" fn(
18757        arg1: *const *const PKCS7_RECIP_INFO,
18758        arg2: *const *const PKCS7_RECIP_INFO,
18759    ) -> ::std::os::raw::c_int,
18760>;
18761pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
18762    unsafe extern "C" fn(
18763        arg1: *mut PKCS7_RECIP_INFO,
18764        arg2: *mut ::std::os::raw::c_void,
18765    ) -> ::std::os::raw::c_int,
18766>;
18767#[repr(C)]
18768#[derive(Debug)]
18769pub struct stack_st_PKCS7_SIGNER_INFO {
18770    _unused: [u8; 0],
18771}
18772pub type sk_PKCS7_SIGNER_INFO_free_func =
18773    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
18774pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
18775    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
18776>;
18777pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
18778    unsafe extern "C" fn(
18779        arg1: *const *const PKCS7_SIGNER_INFO,
18780        arg2: *const *const PKCS7_SIGNER_INFO,
18781    ) -> ::std::os::raw::c_int,
18782>;
18783pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
18784    unsafe extern "C" fn(
18785        arg1: *mut PKCS7_SIGNER_INFO,
18786        arg2: *mut ::std::os::raw::c_void,
18787    ) -> ::std::os::raw::c_int,
18788>;
18789extern "C" {
18790    #[link_name = "aws_lc_0_47_0_PKCS7_dup"]
18791    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
18792}
18793extern "C" {
18794    #[link_name = "aws_lc_0_47_0_PKCS7_get_signed_attribute"]
18795    pub fn PKCS7_get_signed_attribute(
18796        si: *const PKCS7_SIGNER_INFO,
18797        nid: ::std::os::raw::c_int,
18798    ) -> *mut ASN1_TYPE;
18799}
18800extern "C" {
18801    #[link_name = "aws_lc_0_47_0_PKCS7_get_signer_info"]
18802    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
18803}
18804extern "C" {
18805    #[link_name = "aws_lc_0_47_0_PKCS7_RECIP_INFO_set"]
18806    pub fn PKCS7_RECIP_INFO_set(
18807        p7i: *mut PKCS7_RECIP_INFO,
18808        x509: *mut X509,
18809    ) -> ::std::os::raw::c_int;
18810}
18811extern "C" {
18812    #[link_name = "aws_lc_0_47_0_PKCS7_SIGNER_INFO_set"]
18813    pub fn PKCS7_SIGNER_INFO_set(
18814        p7i: *mut PKCS7_SIGNER_INFO,
18815        x509: *mut X509,
18816        pkey: *mut EVP_PKEY,
18817        dgst: *const EVP_MD,
18818    ) -> ::std::os::raw::c_int;
18819}
18820extern "C" {
18821    #[link_name = "aws_lc_0_47_0_PKCS7_add_certificate"]
18822    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
18823}
18824extern "C" {
18825    #[link_name = "aws_lc_0_47_0_PKCS7_add_crl"]
18826    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
18827}
18828extern "C" {
18829    #[link_name = "aws_lc_0_47_0_PKCS7_add_recipient_info"]
18830    pub fn PKCS7_add_recipient_info(
18831        p7: *mut PKCS7,
18832        ri: *mut PKCS7_RECIP_INFO,
18833    ) -> ::std::os::raw::c_int;
18834}
18835extern "C" {
18836    #[link_name = "aws_lc_0_47_0_PKCS7_add_signer"]
18837    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
18838}
18839extern "C" {
18840    #[link_name = "aws_lc_0_47_0_PKCS7_content_new"]
18841    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18842}
18843extern "C" {
18844    #[link_name = "aws_lc_0_47_0_PKCS7_set_content"]
18845    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
18846}
18847extern "C" {
18848    #[link_name = "aws_lc_0_47_0_PKCS7_set_cipher"]
18849    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
18850}
18851extern "C" {
18852    #[link_name = "aws_lc_0_47_0_PKCS7_set_type"]
18853    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18854}
18855extern "C" {
18856    #[link_name = "aws_lc_0_47_0_PKCS7_RECIP_INFO_get0_alg"]
18857    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
18858}
18859extern "C" {
18860    #[link_name = "aws_lc_0_47_0_PKCS7_SIGNER_INFO_get0_algs"]
18861    pub fn PKCS7_SIGNER_INFO_get0_algs(
18862        si: *mut PKCS7_SIGNER_INFO,
18863        pk: *mut *mut EVP_PKEY,
18864        pdig: *mut *mut X509_ALGOR,
18865        psig: *mut *mut X509_ALGOR,
18866    );
18867}
18868extern "C" {
18869    #[link_name = "aws_lc_0_47_0_PKCS7_sign"]
18870    pub fn PKCS7_sign(
18871        sign_cert: *mut X509,
18872        pkey: *mut EVP_PKEY,
18873        certs: *mut stack_st_X509,
18874        data: *mut BIO,
18875        flags: ::std::os::raw::c_int,
18876    ) -> *mut PKCS7;
18877}
18878extern "C" {
18879    #[link_name = "aws_lc_0_47_0_PKCS7_verify"]
18880    pub fn PKCS7_verify(
18881        p7: *mut PKCS7,
18882        certs: *mut stack_st_X509,
18883        store: *mut X509_STORE,
18884        indata: *mut BIO,
18885        outdata: *mut BIO,
18886        flags: ::std::os::raw::c_int,
18887    ) -> ::std::os::raw::c_int;
18888}
18889extern "C" {
18890    #[link_name = "aws_lc_0_47_0_PKCS7_is_detached"]
18891    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18892}
18893extern "C" {
18894    #[link_name = "aws_lc_0_47_0_PKCS7_set_detached"]
18895    pub fn PKCS7_set_detached(
18896        p7: *mut PKCS7,
18897        detach: ::std::os::raw::c_int,
18898    ) -> ::std::os::raw::c_int;
18899}
18900extern "C" {
18901    #[link_name = "aws_lc_0_47_0_PKCS7_get_detached"]
18902    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18903}
18904extern "C" {
18905    #[link_name = "aws_lc_0_47_0_PKCS7_dataInit"]
18906    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
18907}
18908extern "C" {
18909    #[link_name = "aws_lc_0_47_0_PKCS7_dataFinal"]
18910    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
18911}
18912extern "C" {
18913    #[link_name = "aws_lc_0_47_0_PKCS7_set_digest"]
18914    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
18915}
18916extern "C" {
18917    #[link_name = "aws_lc_0_47_0_PKCS7_get_recipient_info"]
18918    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
18919}
18920extern "C" {
18921    #[link_name = "aws_lc_0_47_0_PKCS7_add_recipient"]
18922    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
18923}
18924extern "C" {
18925    #[link_name = "aws_lc_0_47_0_PKCS7_get0_signers"]
18926    pub fn PKCS7_get0_signers(
18927        p7: *mut PKCS7,
18928        certs: *mut stack_st_X509,
18929        flags: ::std::os::raw::c_int,
18930    ) -> *mut stack_st_X509;
18931}
18932extern "C" {
18933    #[link_name = "aws_lc_0_47_0_PKCS7_encrypt"]
18934    pub fn PKCS7_encrypt(
18935        certs: *mut stack_st_X509,
18936        in_: *mut BIO,
18937        cipher: *const EVP_CIPHER,
18938        flags: ::std::os::raw::c_int,
18939    ) -> *mut PKCS7;
18940}
18941extern "C" {
18942    #[link_name = "aws_lc_0_47_0_PKCS7_decrypt"]
18943    pub fn PKCS7_decrypt(
18944        p7: *mut PKCS7,
18945        pkey: *mut EVP_PKEY,
18946        cert: *mut X509,
18947        data: *mut BIO,
18948        flags: ::std::os::raw::c_int,
18949    ) -> ::std::os::raw::c_int;
18950}
18951extern "C" {
18952    #[link_name = "aws_lc_0_47_0_SMIME_read_PKCS7"]
18953    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
18954}
18955extern "C" {
18956    #[link_name = "aws_lc_0_47_0_SMIME_write_PKCS7"]
18957    pub fn SMIME_write_PKCS7(
18958        out: *mut BIO,
18959        p7: *mut PKCS7,
18960        data: *mut BIO,
18961        flags: ::std::os::raw::c_int,
18962    ) -> ::std::os::raw::c_int;
18963}
18964extern "C" {
18965    #[link_name = "aws_lc_0_47_0_PKCS7_print_ctx"]
18966    pub fn PKCS7_print_ctx(
18967        bio: *mut BIO,
18968        pkcs7: *mut PKCS7,
18969        indent: ::std::os::raw::c_int,
18970        pctx: *const ASN1_PCTX,
18971    ) -> ::std::os::raw::c_int;
18972}
18973pub type sk_CRYPTO_BUFFER_free_func =
18974    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
18975pub type sk_CRYPTO_BUFFER_copy_func =
18976    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
18977pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
18978    unsafe extern "C" fn(
18979        arg1: *const *const CRYPTO_BUFFER,
18980        arg2: *const *const CRYPTO_BUFFER,
18981    ) -> ::std::os::raw::c_int,
18982>;
18983pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
18984    unsafe extern "C" fn(
18985        arg1: *mut CRYPTO_BUFFER,
18986        arg2: *mut ::std::os::raw::c_void,
18987    ) -> ::std::os::raw::c_int,
18988>;
18989extern "C" {
18990    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_POOL_new"]
18991    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
18992}
18993extern "C" {
18994    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_POOL_free"]
18995    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
18996}
18997extern "C" {
18998    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_new"]
18999    pub fn CRYPTO_BUFFER_new(
19000        data: *const u8,
19001        len: usize,
19002        pool: *mut CRYPTO_BUFFER_POOL,
19003    ) -> *mut CRYPTO_BUFFER;
19004}
19005extern "C" {
19006    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_alloc"]
19007    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
19008}
19009extern "C" {
19010    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_new_from_CBS"]
19011    pub fn CRYPTO_BUFFER_new_from_CBS(
19012        cbs: *const CBS,
19013        pool: *mut CRYPTO_BUFFER_POOL,
19014    ) -> *mut CRYPTO_BUFFER;
19015}
19016extern "C" {
19017    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
19018    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
19019        data: *const u8,
19020        len: usize,
19021        pool: *mut CRYPTO_BUFFER_POOL,
19022    ) -> *mut CRYPTO_BUFFER;
19023}
19024extern "C" {
19025    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_free"]
19026    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
19027}
19028extern "C" {
19029    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_up_ref"]
19030    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
19031}
19032extern "C" {
19033    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_data"]
19034    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
19035}
19036extern "C" {
19037    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_len"]
19038    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
19039}
19040extern "C" {
19041    #[link_name = "aws_lc_0_47_0_CRYPTO_BUFFER_init_CBS"]
19042    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
19043}
19044extern "C" {
19045    #[link_name = "aws_lc_0_47_0_RSA_new_public_key"]
19046    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19047}
19048extern "C" {
19049    #[link_name = "aws_lc_0_47_0_RSA_new_private_key"]
19050    pub fn RSA_new_private_key(
19051        n: *const BIGNUM,
19052        e: *const BIGNUM,
19053        d: *const BIGNUM,
19054        p: *const BIGNUM,
19055        q: *const BIGNUM,
19056        dmp1: *const BIGNUM,
19057        dmq1: *const BIGNUM,
19058        iqmp: *const BIGNUM,
19059    ) -> *mut RSA;
19060}
19061extern "C" {
19062    #[link_name = "aws_lc_0_47_0_RSA_new"]
19063    pub fn RSA_new() -> *mut RSA;
19064}
19065extern "C" {
19066    #[link_name = "aws_lc_0_47_0_RSA_new_method"]
19067    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
19068}
19069extern "C" {
19070    #[link_name = "aws_lc_0_47_0_RSA_free"]
19071    pub fn RSA_free(rsa: *mut RSA);
19072}
19073extern "C" {
19074    #[link_name = "aws_lc_0_47_0_RSA_up_ref"]
19075    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
19076}
19077extern "C" {
19078    #[link_name = "aws_lc_0_47_0_RSA_bits"]
19079    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
19080}
19081extern "C" {
19082    #[link_name = "aws_lc_0_47_0_RSA_get0_n"]
19083    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
19084}
19085extern "C" {
19086    #[link_name = "aws_lc_0_47_0_RSA_get0_e"]
19087    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
19088}
19089extern "C" {
19090    #[link_name = "aws_lc_0_47_0_RSA_get0_d"]
19091    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
19092}
19093extern "C" {
19094    #[link_name = "aws_lc_0_47_0_RSA_get0_p"]
19095    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
19096}
19097extern "C" {
19098    #[link_name = "aws_lc_0_47_0_RSA_get0_q"]
19099    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
19100}
19101extern "C" {
19102    #[link_name = "aws_lc_0_47_0_RSA_get0_dmp1"]
19103    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
19104}
19105extern "C" {
19106    #[link_name = "aws_lc_0_47_0_RSA_get0_dmq1"]
19107    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
19108}
19109extern "C" {
19110    #[link_name = "aws_lc_0_47_0_RSA_get0_iqmp"]
19111    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
19112}
19113extern "C" {
19114    #[link_name = "aws_lc_0_47_0_RSA_get0_key"]
19115    pub fn RSA_get0_key(
19116        rsa: *const RSA,
19117        out_n: *mut *const BIGNUM,
19118        out_e: *mut *const BIGNUM,
19119        out_d: *mut *const BIGNUM,
19120    );
19121}
19122extern "C" {
19123    #[link_name = "aws_lc_0_47_0_RSA_get0_factors"]
19124    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
19125}
19126extern "C" {
19127    #[link_name = "aws_lc_0_47_0_RSA_get0_crt_params"]
19128    pub fn RSA_get0_crt_params(
19129        rsa: *const RSA,
19130        out_dmp1: *mut *const BIGNUM,
19131        out_dmq1: *mut *const BIGNUM,
19132        out_iqmp: *mut *const BIGNUM,
19133    );
19134}
19135extern "C" {
19136    #[link_name = "aws_lc_0_47_0_RSA_set0_key"]
19137    pub fn RSA_set0_key(
19138        rsa: *mut RSA,
19139        n: *mut BIGNUM,
19140        e: *mut BIGNUM,
19141        d: *mut BIGNUM,
19142    ) -> ::std::os::raw::c_int;
19143}
19144extern "C" {
19145    #[link_name = "aws_lc_0_47_0_RSA_set0_factors"]
19146    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
19147        -> ::std::os::raw::c_int;
19148}
19149extern "C" {
19150    #[link_name = "aws_lc_0_47_0_RSA_set0_crt_params"]
19151    pub fn RSA_set0_crt_params(
19152        rsa: *mut RSA,
19153        dmp1: *mut BIGNUM,
19154        dmq1: *mut BIGNUM,
19155        iqmp: *mut BIGNUM,
19156    ) -> ::std::os::raw::c_int;
19157}
19158extern "C" {
19159    #[link_name = "aws_lc_0_47_0_RSA_get_default_method"]
19160    pub fn RSA_get_default_method() -> *const RSA_METHOD;
19161}
19162extern "C" {
19163    #[link_name = "aws_lc_0_47_0_RSA_meth_new"]
19164    pub fn RSA_meth_new(
19165        name: *const ::std::os::raw::c_char,
19166        flags: ::std::os::raw::c_int,
19167    ) -> *mut RSA_METHOD;
19168}
19169extern "C" {
19170    #[link_name = "aws_lc_0_47_0_RSA_set_method"]
19171    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
19172}
19173extern "C" {
19174    #[link_name = "aws_lc_0_47_0_RSA_get_method"]
19175    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
19176}
19177extern "C" {
19178    #[link_name = "aws_lc_0_47_0_RSA_meth_free"]
19179    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
19180}
19181extern "C" {
19182    #[link_name = "aws_lc_0_47_0_RSA_meth_set_init"]
19183    pub fn RSA_meth_set_init(
19184        meth: *mut RSA_METHOD,
19185        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19186    ) -> ::std::os::raw::c_int;
19187}
19188extern "C" {
19189    #[link_name = "aws_lc_0_47_0_RSA_meth_set_finish"]
19190    pub fn RSA_meth_set_finish(
19191        meth: *mut RSA_METHOD,
19192        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19193    ) -> ::std::os::raw::c_int;
19194}
19195extern "C" {
19196    #[link_name = "aws_lc_0_47_0_RSA_meth_set_priv_dec"]
19197    pub fn RSA_meth_set_priv_dec(
19198        meth: *mut RSA_METHOD,
19199        priv_dec: ::std::option::Option<
19200            unsafe extern "C" fn(
19201                max_out: ::std::os::raw::c_int,
19202                from: *const u8,
19203                to: *mut u8,
19204                rsa: *mut RSA,
19205                padding: ::std::os::raw::c_int,
19206            ) -> ::std::os::raw::c_int,
19207        >,
19208    ) -> ::std::os::raw::c_int;
19209}
19210extern "C" {
19211    #[link_name = "aws_lc_0_47_0_RSA_meth_set_priv_enc"]
19212    pub fn RSA_meth_set_priv_enc(
19213        meth: *mut RSA_METHOD,
19214        priv_enc: ::std::option::Option<
19215            unsafe extern "C" fn(
19216                max_out: ::std::os::raw::c_int,
19217                from: *const u8,
19218                to: *mut u8,
19219                rsa: *mut RSA,
19220                padding: ::std::os::raw::c_int,
19221            ) -> ::std::os::raw::c_int,
19222        >,
19223    ) -> ::std::os::raw::c_int;
19224}
19225extern "C" {
19226    #[link_name = "aws_lc_0_47_0_RSA_meth_set_pub_dec"]
19227    pub fn RSA_meth_set_pub_dec(
19228        meth: *mut RSA_METHOD,
19229        pub_dec: ::std::option::Option<
19230            unsafe extern "C" fn(
19231                max_out: ::std::os::raw::c_int,
19232                from: *const u8,
19233                to: *mut u8,
19234                rsa: *mut RSA,
19235                padding: ::std::os::raw::c_int,
19236            ) -> ::std::os::raw::c_int,
19237        >,
19238    ) -> ::std::os::raw::c_int;
19239}
19240extern "C" {
19241    #[link_name = "aws_lc_0_47_0_RSA_meth_set_pub_enc"]
19242    pub fn RSA_meth_set_pub_enc(
19243        meth: *mut RSA_METHOD,
19244        pub_enc: ::std::option::Option<
19245            unsafe extern "C" fn(
19246                max_out: ::std::os::raw::c_int,
19247                from: *const u8,
19248                to: *mut u8,
19249                rsa: *mut RSA,
19250                padding: ::std::os::raw::c_int,
19251            ) -> ::std::os::raw::c_int,
19252        >,
19253    ) -> ::std::os::raw::c_int;
19254}
19255extern "C" {
19256    #[link_name = "aws_lc_0_47_0_RSA_meth_set0_app_data"]
19257    pub fn RSA_meth_set0_app_data(
19258        meth: *mut RSA_METHOD,
19259        app_data: *mut ::std::os::raw::c_void,
19260    ) -> ::std::os::raw::c_int;
19261}
19262extern "C" {
19263    #[link_name = "aws_lc_0_47_0_RSA_meth_set_sign"]
19264    pub fn RSA_meth_set_sign(
19265        meth: *mut RSA_METHOD,
19266        sign: ::std::option::Option<
19267            unsafe extern "C" fn(
19268                type_: ::std::os::raw::c_int,
19269                m: *const ::std::os::raw::c_uchar,
19270                m_length: ::std::os::raw::c_uint,
19271                sigret: *mut ::std::os::raw::c_uchar,
19272                siglen: *mut ::std::os::raw::c_uint,
19273                rsa: *const RSA,
19274            ) -> ::std::os::raw::c_int,
19275        >,
19276    ) -> ::std::os::raw::c_int;
19277}
19278extern "C" {
19279    #[link_name = "aws_lc_0_47_0_RSA_generate_key_ex"]
19280    pub fn RSA_generate_key_ex(
19281        rsa: *mut RSA,
19282        bits: ::std::os::raw::c_int,
19283        e: *const BIGNUM,
19284        cb: *mut BN_GENCB,
19285    ) -> ::std::os::raw::c_int;
19286}
19287extern "C" {
19288    #[link_name = "aws_lc_0_47_0_RSA_generate_key_fips"]
19289    pub fn RSA_generate_key_fips(
19290        rsa: *mut RSA,
19291        bits: ::std::os::raw::c_int,
19292        cb: *mut BN_GENCB,
19293    ) -> ::std::os::raw::c_int;
19294}
19295extern "C" {
19296    #[link_name = "aws_lc_0_47_0_RSA_encrypt"]
19297    pub fn RSA_encrypt(
19298        rsa: *mut RSA,
19299        out_len: *mut usize,
19300        out: *mut u8,
19301        max_out: usize,
19302        in_: *const u8,
19303        in_len: usize,
19304        padding: ::std::os::raw::c_int,
19305    ) -> ::std::os::raw::c_int;
19306}
19307extern "C" {
19308    #[link_name = "aws_lc_0_47_0_RSA_decrypt"]
19309    pub fn RSA_decrypt(
19310        rsa: *mut RSA,
19311        out_len: *mut usize,
19312        out: *mut u8,
19313        max_out: usize,
19314        in_: *const u8,
19315        in_len: usize,
19316        padding: ::std::os::raw::c_int,
19317    ) -> ::std::os::raw::c_int;
19318}
19319extern "C" {
19320    #[link_name = "aws_lc_0_47_0_RSA_public_encrypt"]
19321    pub fn RSA_public_encrypt(
19322        flen: usize,
19323        from: *const u8,
19324        to: *mut u8,
19325        rsa: *mut RSA,
19326        padding: ::std::os::raw::c_int,
19327    ) -> ::std::os::raw::c_int;
19328}
19329extern "C" {
19330    #[link_name = "aws_lc_0_47_0_RSA_private_decrypt"]
19331    pub fn RSA_private_decrypt(
19332        flen: usize,
19333        from: *const u8,
19334        to: *mut u8,
19335        rsa: *mut RSA,
19336        padding: ::std::os::raw::c_int,
19337    ) -> ::std::os::raw::c_int;
19338}
19339extern "C" {
19340    #[link_name = "aws_lc_0_47_0_RSA_sign"]
19341    pub fn RSA_sign(
19342        hash_nid: ::std::os::raw::c_int,
19343        digest: *const u8,
19344        digest_len: usize,
19345        out: *mut u8,
19346        out_len: *mut ::std::os::raw::c_uint,
19347        rsa: *mut RSA,
19348    ) -> ::std::os::raw::c_int;
19349}
19350extern "C" {
19351    #[link_name = "aws_lc_0_47_0_RSA_sign_pss_mgf1"]
19352    pub fn RSA_sign_pss_mgf1(
19353        rsa: *mut RSA,
19354        out_len: *mut usize,
19355        out: *mut u8,
19356        max_out: usize,
19357        digest: *const u8,
19358        digest_len: usize,
19359        md: *const EVP_MD,
19360        mgf1_md: *const EVP_MD,
19361        salt_len: ::std::os::raw::c_int,
19362    ) -> ::std::os::raw::c_int;
19363}
19364extern "C" {
19365    #[link_name = "aws_lc_0_47_0_RSA_sign_raw"]
19366    pub fn RSA_sign_raw(
19367        rsa: *mut RSA,
19368        out_len: *mut usize,
19369        out: *mut u8,
19370        max_out: usize,
19371        in_: *const u8,
19372        in_len: usize,
19373        padding: ::std::os::raw::c_int,
19374    ) -> ::std::os::raw::c_int;
19375}
19376extern "C" {
19377    #[link_name = "aws_lc_0_47_0_RSA_verify"]
19378    pub fn RSA_verify(
19379        hash_nid: ::std::os::raw::c_int,
19380        digest: *const u8,
19381        digest_len: usize,
19382        sig: *const u8,
19383        sig_len: usize,
19384        rsa: *mut RSA,
19385    ) -> ::std::os::raw::c_int;
19386}
19387extern "C" {
19388    #[link_name = "aws_lc_0_47_0_RSA_verify_pss_mgf1"]
19389    pub fn RSA_verify_pss_mgf1(
19390        rsa: *mut RSA,
19391        digest: *const u8,
19392        digest_len: usize,
19393        md: *const EVP_MD,
19394        mgf1_md: *const EVP_MD,
19395        salt_len: ::std::os::raw::c_int,
19396        sig: *const u8,
19397        sig_len: usize,
19398    ) -> ::std::os::raw::c_int;
19399}
19400extern "C" {
19401    #[link_name = "aws_lc_0_47_0_RSA_verify_raw"]
19402    pub fn RSA_verify_raw(
19403        rsa: *mut RSA,
19404        out_len: *mut usize,
19405        out: *mut u8,
19406        max_out: usize,
19407        in_: *const u8,
19408        in_len: usize,
19409        padding: ::std::os::raw::c_int,
19410    ) -> ::std::os::raw::c_int;
19411}
19412extern "C" {
19413    #[link_name = "aws_lc_0_47_0_RSA_private_encrypt"]
19414    pub fn RSA_private_encrypt(
19415        flen: usize,
19416        from: *const u8,
19417        to: *mut u8,
19418        rsa: *mut RSA,
19419        padding: ::std::os::raw::c_int,
19420    ) -> ::std::os::raw::c_int;
19421}
19422extern "C" {
19423    #[link_name = "aws_lc_0_47_0_RSA_public_decrypt"]
19424    pub fn RSA_public_decrypt(
19425        flen: usize,
19426        from: *const u8,
19427        to: *mut u8,
19428        rsa: *mut RSA,
19429        padding: ::std::os::raw::c_int,
19430    ) -> ::std::os::raw::c_int;
19431}
19432extern "C" {
19433    #[link_name = "aws_lc_0_47_0_RSA_size"]
19434    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
19435}
19436extern "C" {
19437    #[link_name = "aws_lc_0_47_0_RSA_is_opaque"]
19438    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
19439}
19440extern "C" {
19441    #[link_name = "aws_lc_0_47_0_RSAPublicKey_dup"]
19442    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
19443}
19444extern "C" {
19445    #[link_name = "aws_lc_0_47_0_RSAPrivateKey_dup"]
19446    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
19447}
19448extern "C" {
19449    #[link_name = "aws_lc_0_47_0_RSA_check_key"]
19450    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
19451}
19452extern "C" {
19453    #[link_name = "aws_lc_0_47_0_RSA_check_fips"]
19454    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
19455}
19456extern "C" {
19457    #[link_name = "aws_lc_0_47_0_RSA_verify_PKCS1_PSS_mgf1"]
19458    pub fn RSA_verify_PKCS1_PSS_mgf1(
19459        rsa: *const RSA,
19460        mHash: *const u8,
19461        Hash: *const EVP_MD,
19462        mgf1Hash: *const EVP_MD,
19463        EM: *const u8,
19464        sLen: ::std::os::raw::c_int,
19465    ) -> ::std::os::raw::c_int;
19466}
19467extern "C" {
19468    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_PSS_mgf1"]
19469    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
19470        rsa: *const RSA,
19471        EM: *mut u8,
19472        mHash: *const u8,
19473        Hash: *const EVP_MD,
19474        mgf1Hash: *const EVP_MD,
19475        sLen: ::std::os::raw::c_int,
19476    ) -> ::std::os::raw::c_int;
19477}
19478extern "C" {
19479    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
19480    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
19481        to: *mut u8,
19482        to_len: usize,
19483        from: *const u8,
19484        from_len: usize,
19485        param: *const u8,
19486        param_len: usize,
19487        md: *const EVP_MD,
19488        mgf1md: *const EVP_MD,
19489    ) -> ::std::os::raw::c_int;
19490}
19491extern "C" {
19492    #[link_name = "aws_lc_0_47_0_PKCS1_MGF1"]
19493    pub fn PKCS1_MGF1(
19494        out: *mut u8,
19495        len: usize,
19496        seed: *const u8,
19497        seed_len: usize,
19498        md: *const EVP_MD,
19499    ) -> ::std::os::raw::c_int;
19500}
19501extern "C" {
19502    #[link_name = "aws_lc_0_47_0_RSA_add_pkcs1_prefix"]
19503    pub fn RSA_add_pkcs1_prefix(
19504        out_msg: *mut *mut u8,
19505        out_msg_len: *mut usize,
19506        is_alloced: *mut ::std::os::raw::c_int,
19507        hash_nid: ::std::os::raw::c_int,
19508        digest: *const u8,
19509        digest_len: usize,
19510    ) -> ::std::os::raw::c_int;
19511}
19512extern "C" {
19513    #[link_name = "aws_lc_0_47_0_RSA_parse_public_key"]
19514    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
19515}
19516extern "C" {
19517    #[link_name = "aws_lc_0_47_0_RSA_public_key_from_bytes"]
19518    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
19519}
19520extern "C" {
19521    #[link_name = "aws_lc_0_47_0_RSA_marshal_public_key"]
19522    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
19523}
19524extern "C" {
19525    #[link_name = "aws_lc_0_47_0_RSA_public_key_to_bytes"]
19526    pub fn RSA_public_key_to_bytes(
19527        out_bytes: *mut *mut u8,
19528        out_len: *mut usize,
19529        rsa: *const RSA,
19530    ) -> ::std::os::raw::c_int;
19531}
19532extern "C" {
19533    #[link_name = "aws_lc_0_47_0_RSA_parse_private_key"]
19534    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
19535}
19536extern "C" {
19537    #[link_name = "aws_lc_0_47_0_RSA_private_key_from_bytes"]
19538    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
19539}
19540extern "C" {
19541    #[link_name = "aws_lc_0_47_0_RSA_marshal_private_key"]
19542    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
19543}
19544extern "C" {
19545    #[link_name = "aws_lc_0_47_0_RSA_private_key_to_bytes"]
19546    pub fn RSA_private_key_to_bytes(
19547        out_bytes: *mut *mut u8,
19548        out_len: *mut usize,
19549        rsa: *const RSA,
19550    ) -> ::std::os::raw::c_int;
19551}
19552extern "C" {
19553    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_no_crt"]
19554    pub fn RSA_new_private_key_no_crt(
19555        n: *const BIGNUM,
19556        e: *const BIGNUM,
19557        d: *const BIGNUM,
19558    ) -> *mut RSA;
19559}
19560extern "C" {
19561    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_no_e"]
19562    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
19563}
19564extern "C" {
19565    #[link_name = "aws_lc_0_47_0_RSA_new_public_key_large_e"]
19566    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19567}
19568extern "C" {
19569    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_large_e"]
19570    pub fn RSA_new_private_key_large_e(
19571        n: *const BIGNUM,
19572        e: *const BIGNUM,
19573        d: *const BIGNUM,
19574        p: *const BIGNUM,
19575        q: *const BIGNUM,
19576        dmp1: *const BIGNUM,
19577        dmq1: *const BIGNUM,
19578        iqmp: *const BIGNUM,
19579    ) -> *mut RSA;
19580}
19581extern "C" {
19582    #[link_name = "aws_lc_0_47_0_RSA_get_ex_new_index"]
19583    pub fn RSA_get_ex_new_index(
19584        argl: ::std::os::raw::c_long,
19585        argp: *mut ::std::os::raw::c_void,
19586        unused: *mut CRYPTO_EX_unused,
19587        dup_unused: CRYPTO_EX_dup,
19588        free_func: CRYPTO_EX_free,
19589    ) -> ::std::os::raw::c_int;
19590}
19591extern "C" {
19592    #[link_name = "aws_lc_0_47_0_RSA_set_ex_data"]
19593    pub fn RSA_set_ex_data(
19594        rsa: *mut RSA,
19595        idx: ::std::os::raw::c_int,
19596        arg: *mut ::std::os::raw::c_void,
19597    ) -> ::std::os::raw::c_int;
19598}
19599extern "C" {
19600    #[link_name = "aws_lc_0_47_0_RSA_get_ex_data"]
19601    pub fn RSA_get_ex_data(
19602        rsa: *const RSA,
19603        idx: ::std::os::raw::c_int,
19604    ) -> *mut ::std::os::raw::c_void;
19605}
19606extern "C" {
19607    #[link_name = "aws_lc_0_47_0_RSA_flags"]
19608    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
19609}
19610extern "C" {
19611    #[link_name = "aws_lc_0_47_0_RSA_set_flags"]
19612    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
19613}
19614extern "C" {
19615    #[link_name = "aws_lc_0_47_0_RSA_test_flags"]
19616    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19617}
19618extern "C" {
19619    #[link_name = "aws_lc_0_47_0_RSA_blinding_on"]
19620    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
19621}
19622extern "C" {
19623    #[link_name = "aws_lc_0_47_0_RSA_blinding_off_temp_for_accp_compatibility"]
19624    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
19625}
19626extern "C" {
19627    #[link_name = "aws_lc_0_47_0_RSA_pkey_ctx_ctrl"]
19628    pub fn RSA_pkey_ctx_ctrl(
19629        ctx: *mut EVP_PKEY_CTX,
19630        optype: ::std::os::raw::c_int,
19631        cmd: ::std::os::raw::c_int,
19632        p1: ::std::os::raw::c_int,
19633        p2: *mut ::std::os::raw::c_void,
19634    ) -> ::std::os::raw::c_int;
19635}
19636extern "C" {
19637    #[link_name = "aws_lc_0_47_0_RSA_generate_key"]
19638    pub fn RSA_generate_key(
19639        bits: ::std::os::raw::c_int,
19640        e: u64,
19641        callback: *mut ::std::os::raw::c_void,
19642        cb_arg: *mut ::std::os::raw::c_void,
19643    ) -> *mut RSA;
19644}
19645extern "C" {
19646    #[link_name = "aws_lc_0_47_0_d2i_RSAPublicKey"]
19647    pub fn d2i_RSAPublicKey(
19648        out: *mut *mut RSA,
19649        inp: *mut *const u8,
19650        len: ::std::os::raw::c_long,
19651    ) -> *mut RSA;
19652}
19653extern "C" {
19654    #[link_name = "aws_lc_0_47_0_i2d_RSAPublicKey"]
19655    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19656}
19657extern "C" {
19658    #[link_name = "aws_lc_0_47_0_d2i_RSAPrivateKey"]
19659    pub fn d2i_RSAPrivateKey(
19660        out: *mut *mut RSA,
19661        inp: *mut *const u8,
19662        len: ::std::os::raw::c_long,
19663    ) -> *mut RSA;
19664}
19665extern "C" {
19666    #[link_name = "aws_lc_0_47_0_i2d_RSAPrivateKey"]
19667    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19668}
19669extern "C" {
19670    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_PSS"]
19671    pub fn RSA_padding_add_PKCS1_PSS(
19672        rsa: *const RSA,
19673        EM: *mut u8,
19674        mHash: *const u8,
19675        Hash: *const EVP_MD,
19676        sLen: ::std::os::raw::c_int,
19677    ) -> ::std::os::raw::c_int;
19678}
19679extern "C" {
19680    #[link_name = "aws_lc_0_47_0_RSA_verify_PKCS1_PSS"]
19681    pub fn RSA_verify_PKCS1_PSS(
19682        rsa: *const RSA,
19683        mHash: *const u8,
19684        Hash: *const EVP_MD,
19685        EM: *const u8,
19686        sLen: ::std::os::raw::c_int,
19687    ) -> ::std::os::raw::c_int;
19688}
19689extern "C" {
19690    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_OAEP"]
19691    pub fn RSA_padding_add_PKCS1_OAEP(
19692        to: *mut u8,
19693        to_len: usize,
19694        from: *const u8,
19695        from_len: usize,
19696        param: *const u8,
19697        param_len: usize,
19698    ) -> ::std::os::raw::c_int;
19699}
19700extern "C" {
19701    #[link_name = "aws_lc_0_47_0_RSA_print"]
19702    pub fn RSA_print(
19703        bio: *mut BIO,
19704        rsa: *const RSA,
19705        indent: ::std::os::raw::c_int,
19706    ) -> ::std::os::raw::c_int;
19707}
19708extern "C" {
19709    #[link_name = "aws_lc_0_47_0_RSA_print_fp"]
19710    pub fn RSA_print_fp(
19711        fp: *mut FILE,
19712        rsa: *const RSA,
19713        indent: ::std::os::raw::c_int,
19714    ) -> ::std::os::raw::c_int;
19715}
19716extern "C" {
19717    #[link_name = "aws_lc_0_47_0_RSA_get0_pss_params"]
19718    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
19719}
19720extern "C" {
19721    #[link_name = "aws_lc_0_47_0_RSA_new_method_no_e"]
19722    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
19723}
19724pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
19725pub type sk_X509_copy_func =
19726    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
19727pub type sk_X509_cmp_func = ::std::option::Option<
19728    unsafe extern "C" fn(
19729        arg1: *const *const X509,
19730        arg2: *const *const X509,
19731    ) -> ::std::os::raw::c_int,
19732>;
19733pub type sk_X509_delete_if_func = ::std::option::Option<
19734    unsafe extern "C" fn(
19735        arg1: *mut X509,
19736        arg2: *mut ::std::os::raw::c_void,
19737    ) -> ::std::os::raw::c_int,
19738>;
19739extern "C" {
19740    #[link_name = "aws_lc_0_47_0_X509_it"]
19741    pub static X509_it: ASN1_ITEM;
19742}
19743extern "C" {
19744    #[link_name = "aws_lc_0_47_0_X509_up_ref"]
19745    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
19746}
19747extern "C" {
19748    #[link_name = "aws_lc_0_47_0_X509_chain_up_ref"]
19749    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
19750}
19751extern "C" {
19752    #[link_name = "aws_lc_0_47_0_X509_dup"]
19753    pub fn X509_dup(x509: *mut X509) -> *mut X509;
19754}
19755extern "C" {
19756    #[link_name = "aws_lc_0_47_0_X509_free"]
19757    pub fn X509_free(x509: *mut X509);
19758}
19759extern "C" {
19760    #[link_name = "aws_lc_0_47_0_d2i_X509"]
19761    pub fn d2i_X509(
19762        out: *mut *mut X509,
19763        inp: *mut *const u8,
19764        len: ::std::os::raw::c_long,
19765    ) -> *mut X509;
19766}
19767extern "C" {
19768    #[link_name = "aws_lc_0_47_0_X509_parse_from_buffer"]
19769    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
19770}
19771extern "C" {
19772    #[link_name = "aws_lc_0_47_0_i2d_X509"]
19773    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19774}
19775extern "C" {
19776    #[link_name = "aws_lc_0_47_0_X509_get_version"]
19777    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
19778}
19779extern "C" {
19780    #[link_name = "aws_lc_0_47_0_X509_get0_serialNumber"]
19781    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
19782}
19783extern "C" {
19784    #[link_name = "aws_lc_0_47_0_X509_get0_notBefore"]
19785    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
19786}
19787extern "C" {
19788    #[link_name = "aws_lc_0_47_0_X509_get0_notAfter"]
19789    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
19790}
19791extern "C" {
19792    #[link_name = "aws_lc_0_47_0_X509_get_issuer_name"]
19793    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
19794}
19795extern "C" {
19796    #[link_name = "aws_lc_0_47_0_X509_get_subject_name"]
19797    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
19798}
19799extern "C" {
19800    #[link_name = "aws_lc_0_47_0_X509_get_X509_PUBKEY"]
19801    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
19802}
19803extern "C" {
19804    #[link_name = "aws_lc_0_47_0_X509_get0_pubkey"]
19805    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19806}
19807extern "C" {
19808    #[link_name = "aws_lc_0_47_0_X509_get_pubkey"]
19809    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19810}
19811extern "C" {
19812    #[link_name = "aws_lc_0_47_0_X509_get0_pubkey_bitstr"]
19813    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
19814}
19815extern "C" {
19816    #[link_name = "aws_lc_0_47_0_X509_check_private_key"]
19817    pub fn X509_check_private_key(
19818        x509: *const X509,
19819        pkey: *const EVP_PKEY,
19820    ) -> ::std::os::raw::c_int;
19821}
19822extern "C" {
19823    #[link_name = "aws_lc_0_47_0_X509_get0_uids"]
19824    pub fn X509_get0_uids(
19825        x509: *const X509,
19826        out_issuer_uid: *mut *const ASN1_BIT_STRING,
19827        out_subject_uid: *mut *const ASN1_BIT_STRING,
19828    );
19829}
19830extern "C" {
19831    #[link_name = "aws_lc_0_47_0_X509_get_extension_flags"]
19832    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
19833}
19834extern "C" {
19835    #[link_name = "aws_lc_0_47_0_X509_get_pathlen"]
19836    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
19837}
19838extern "C" {
19839    #[link_name = "aws_lc_0_47_0_X509_get_key_usage"]
19840    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
19841}
19842extern "C" {
19843    #[link_name = "aws_lc_0_47_0_X509_get_extended_key_usage"]
19844    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
19845}
19846extern "C" {
19847    #[link_name = "aws_lc_0_47_0_X509_get0_subject_key_id"]
19848    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19849}
19850extern "C" {
19851    #[link_name = "aws_lc_0_47_0_X509_get0_authority_key_id"]
19852    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19853}
19854#[repr(C)]
19855#[derive(Debug)]
19856pub struct stack_st_GENERAL_NAME {
19857    _unused: [u8; 0],
19858}
19859pub type sk_GENERAL_NAME_free_func =
19860    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
19861pub type sk_GENERAL_NAME_copy_func =
19862    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
19863pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
19864    unsafe extern "C" fn(
19865        arg1: *const *const GENERAL_NAME,
19866        arg2: *const *const GENERAL_NAME,
19867    ) -> ::std::os::raw::c_int,
19868>;
19869pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
19870    unsafe extern "C" fn(
19871        arg1: *mut GENERAL_NAME,
19872        arg2: *mut ::std::os::raw::c_void,
19873    ) -> ::std::os::raw::c_int,
19874>;
19875pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
19876extern "C" {
19877    #[link_name = "aws_lc_0_47_0_X509_get0_authority_issuer"]
19878    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
19879}
19880extern "C" {
19881    #[link_name = "aws_lc_0_47_0_X509_get0_authority_serial"]
19882    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
19883}
19884#[repr(C)]
19885#[derive(Debug)]
19886pub struct stack_st_X509_EXTENSION {
19887    _unused: [u8; 0],
19888}
19889extern "C" {
19890    #[link_name = "aws_lc_0_47_0_X509_get0_extensions"]
19891    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
19892}
19893extern "C" {
19894    #[link_name = "aws_lc_0_47_0_X509_get_ext_count"]
19895    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
19896}
19897extern "C" {
19898    #[link_name = "aws_lc_0_47_0_X509_get_ext_by_NID"]
19899    pub fn X509_get_ext_by_NID(
19900        x: *const X509,
19901        nid: ::std::os::raw::c_int,
19902        lastpos: ::std::os::raw::c_int,
19903    ) -> ::std::os::raw::c_int;
19904}
19905extern "C" {
19906    #[link_name = "aws_lc_0_47_0_X509_get_ext_by_OBJ"]
19907    pub fn X509_get_ext_by_OBJ(
19908        x: *const X509,
19909        obj: *const ASN1_OBJECT,
19910        lastpos: ::std::os::raw::c_int,
19911    ) -> ::std::os::raw::c_int;
19912}
19913extern "C" {
19914    #[link_name = "aws_lc_0_47_0_X509_get_ext_by_critical"]
19915    pub fn X509_get_ext_by_critical(
19916        x: *const X509,
19917        crit: ::std::os::raw::c_int,
19918        lastpos: ::std::os::raw::c_int,
19919    ) -> ::std::os::raw::c_int;
19920}
19921extern "C" {
19922    #[link_name = "aws_lc_0_47_0_X509_get_ext"]
19923    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19924}
19925extern "C" {
19926    #[link_name = "aws_lc_0_47_0_X509_get_ext_d2i"]
19927    pub fn X509_get_ext_d2i(
19928        x509: *const X509,
19929        nid: ::std::os::raw::c_int,
19930        out_critical: *mut ::std::os::raw::c_int,
19931        out_idx: *mut ::std::os::raw::c_int,
19932    ) -> *mut ::std::os::raw::c_void;
19933}
19934extern "C" {
19935    #[link_name = "aws_lc_0_47_0_X509_get0_tbs_sigalg"]
19936    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
19937}
19938extern "C" {
19939    #[link_name = "aws_lc_0_47_0_X509_get_signature_info"]
19940    pub fn X509_get_signature_info(
19941        x509: *mut X509,
19942        digest_nid: *mut ::std::os::raw::c_int,
19943        pubkey_nid: *mut ::std::os::raw::c_int,
19944        sec_bits: *mut ::std::os::raw::c_int,
19945        flags: *mut u32,
19946    ) -> ::std::os::raw::c_int;
19947}
19948extern "C" {
19949    #[link_name = "aws_lc_0_47_0_X509_get0_signature"]
19950    pub fn X509_get0_signature(
19951        out_sig: *mut *const ASN1_BIT_STRING,
19952        out_alg: *mut *const X509_ALGOR,
19953        x509: *const X509,
19954    );
19955}
19956extern "C" {
19957    #[link_name = "aws_lc_0_47_0_X509_get_signature_nid"]
19958    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
19959}
19960extern "C" {
19961    #[link_name = "aws_lc_0_47_0_i2d_X509_tbs"]
19962    pub fn i2d_X509_tbs(
19963        x509: *mut X509,
19964        outp: *mut *mut ::std::os::raw::c_uchar,
19965    ) -> ::std::os::raw::c_int;
19966}
19967extern "C" {
19968    #[link_name = "aws_lc_0_47_0_X509_verify"]
19969    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19970}
19971extern "C" {
19972    #[link_name = "aws_lc_0_47_0_X509_get1_email"]
19973    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19974}
19975extern "C" {
19976    #[link_name = "aws_lc_0_47_0_X509_get1_ocsp"]
19977    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19978}
19979extern "C" {
19980    #[link_name = "aws_lc_0_47_0_X509_email_free"]
19981    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
19982}
19983extern "C" {
19984    #[link_name = "aws_lc_0_47_0_X509_cmp"]
19985    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
19986}
19987extern "C" {
19988    #[link_name = "aws_lc_0_47_0_X509_new"]
19989    pub fn X509_new() -> *mut X509;
19990}
19991extern "C" {
19992    #[link_name = "aws_lc_0_47_0_X509_set_version"]
19993    pub fn X509_set_version(
19994        x509: *mut X509,
19995        version: ::std::os::raw::c_long,
19996    ) -> ::std::os::raw::c_int;
19997}
19998extern "C" {
19999    #[link_name = "aws_lc_0_47_0_X509_set_serialNumber"]
20000    pub fn X509_set_serialNumber(
20001        x509: *mut X509,
20002        serial: *const ASN1_INTEGER,
20003    ) -> ::std::os::raw::c_int;
20004}
20005extern "C" {
20006    #[link_name = "aws_lc_0_47_0_X509_set1_notBefore"]
20007    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20008}
20009extern "C" {
20010    #[link_name = "aws_lc_0_47_0_X509_set1_notAfter"]
20011    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20012}
20013extern "C" {
20014    #[link_name = "aws_lc_0_47_0_X509_getm_notBefore"]
20015    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
20016}
20017extern "C" {
20018    #[link_name = "aws_lc_0_47_0_X509_getm_notAfter"]
20019    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
20020}
20021extern "C" {
20022    #[link_name = "aws_lc_0_47_0_X509_set_issuer_name"]
20023    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20024}
20025extern "C" {
20026    #[link_name = "aws_lc_0_47_0_X509_set_subject_name"]
20027    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20028}
20029extern "C" {
20030    #[link_name = "aws_lc_0_47_0_X509_set_pubkey"]
20031    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20032}
20033extern "C" {
20034    #[link_name = "aws_lc_0_47_0_X509_delete_ext"]
20035    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20036}
20037extern "C" {
20038    #[link_name = "aws_lc_0_47_0_X509_add_ext"]
20039    pub fn X509_add_ext(
20040        x: *mut X509,
20041        ex: *const X509_EXTENSION,
20042        loc: ::std::os::raw::c_int,
20043    ) -> ::std::os::raw::c_int;
20044}
20045extern "C" {
20046    #[link_name = "aws_lc_0_47_0_X509_add1_ext_i2d"]
20047    pub fn X509_add1_ext_i2d(
20048        x: *mut X509,
20049        nid: ::std::os::raw::c_int,
20050        value: *mut ::std::os::raw::c_void,
20051        crit: ::std::os::raw::c_int,
20052        flags: ::std::os::raw::c_ulong,
20053    ) -> ::std::os::raw::c_int;
20054}
20055extern "C" {
20056    #[link_name = "aws_lc_0_47_0_X509_sign"]
20057    pub fn X509_sign(
20058        x509: *mut X509,
20059        pkey: *mut EVP_PKEY,
20060        md: *const EVP_MD,
20061    ) -> ::std::os::raw::c_int;
20062}
20063extern "C" {
20064    #[link_name = "aws_lc_0_47_0_X509_sign_ctx"]
20065    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20066}
20067extern "C" {
20068    #[link_name = "aws_lc_0_47_0_i2d_re_X509_tbs"]
20069    pub fn i2d_re_X509_tbs(
20070        x509: *mut X509,
20071        outp: *mut *mut ::std::os::raw::c_uchar,
20072    ) -> ::std::os::raw::c_int;
20073}
20074extern "C" {
20075    #[link_name = "aws_lc_0_47_0_X509_set1_signature_algo"]
20076    pub fn X509_set1_signature_algo(
20077        x509: *mut X509,
20078        algo: *const X509_ALGOR,
20079    ) -> ::std::os::raw::c_int;
20080}
20081extern "C" {
20082    #[link_name = "aws_lc_0_47_0_X509_set1_signature_value"]
20083    pub fn X509_set1_signature_value(
20084        x509: *mut X509,
20085        sig: *const u8,
20086        sig_len: usize,
20087    ) -> ::std::os::raw::c_int;
20088}
20089extern "C" {
20090    #[link_name = "aws_lc_0_47_0_i2d_X509_AUX"]
20091    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20092}
20093extern "C" {
20094    #[link_name = "aws_lc_0_47_0_d2i_X509_AUX"]
20095    pub fn d2i_X509_AUX(
20096        x509: *mut *mut X509,
20097        inp: *mut *const u8,
20098        length: ::std::os::raw::c_long,
20099    ) -> *mut X509;
20100}
20101extern "C" {
20102    #[link_name = "aws_lc_0_47_0_X509_alias_set1"]
20103    pub fn X509_alias_set1(
20104        x509: *mut X509,
20105        name: *const u8,
20106        len: ossl_ssize_t,
20107    ) -> ::std::os::raw::c_int;
20108}
20109extern "C" {
20110    #[link_name = "aws_lc_0_47_0_X509_keyid_set1"]
20111    pub fn X509_keyid_set1(
20112        x509: *mut X509,
20113        id: *const u8,
20114        len: ossl_ssize_t,
20115    ) -> ::std::os::raw::c_int;
20116}
20117extern "C" {
20118    #[link_name = "aws_lc_0_47_0_X509_alias_get0"]
20119    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20120}
20121extern "C" {
20122    #[link_name = "aws_lc_0_47_0_X509_keyid_get0"]
20123    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20124}
20125extern "C" {
20126    #[link_name = "aws_lc_0_47_0_X509_add1_trust_object"]
20127    pub fn X509_add1_trust_object(
20128        x509: *mut X509,
20129        obj: *const ASN1_OBJECT,
20130    ) -> ::std::os::raw::c_int;
20131}
20132extern "C" {
20133    #[link_name = "aws_lc_0_47_0_X509_add1_reject_object"]
20134    pub fn X509_add1_reject_object(
20135        x509: *mut X509,
20136        obj: *const ASN1_OBJECT,
20137    ) -> ::std::os::raw::c_int;
20138}
20139extern "C" {
20140    #[link_name = "aws_lc_0_47_0_X509_trust_clear"]
20141    pub fn X509_trust_clear(x509: *mut X509);
20142}
20143extern "C" {
20144    #[link_name = "aws_lc_0_47_0_X509_reject_clear"]
20145    pub fn X509_reject_clear(x509: *mut X509);
20146}
20147pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
20148pub type sk_X509_CRL_copy_func =
20149    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
20150pub type sk_X509_CRL_cmp_func = ::std::option::Option<
20151    unsafe extern "C" fn(
20152        arg1: *const *const X509_CRL,
20153        arg2: *const *const X509_CRL,
20154    ) -> ::std::os::raw::c_int,
20155>;
20156pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
20157    unsafe extern "C" fn(
20158        arg1: *mut X509_CRL,
20159        arg2: *mut ::std::os::raw::c_void,
20160    ) -> ::std::os::raw::c_int,
20161>;
20162#[repr(C)]
20163#[derive(Debug)]
20164pub struct stack_st_X509_REVOKED {
20165    _unused: [u8; 0],
20166}
20167pub type sk_X509_REVOKED_free_func =
20168    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
20169pub type sk_X509_REVOKED_copy_func =
20170    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
20171pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
20172    unsafe extern "C" fn(
20173        arg1: *const *const X509_REVOKED,
20174        arg2: *const *const X509_REVOKED,
20175    ) -> ::std::os::raw::c_int,
20176>;
20177pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
20178    unsafe extern "C" fn(
20179        arg1: *mut X509_REVOKED,
20180        arg2: *mut ::std::os::raw::c_void,
20181    ) -> ::std::os::raw::c_int,
20182>;
20183extern "C" {
20184    #[link_name = "aws_lc_0_47_0_X509_CRL_it"]
20185    pub static X509_CRL_it: ASN1_ITEM;
20186}
20187extern "C" {
20188    #[link_name = "aws_lc_0_47_0_X509_CRL_up_ref"]
20189    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20190}
20191extern "C" {
20192    #[link_name = "aws_lc_0_47_0_X509_CRL_dup"]
20193    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
20194}
20195extern "C" {
20196    #[link_name = "aws_lc_0_47_0_X509_CRL_free"]
20197    pub fn X509_CRL_free(crl: *mut X509_CRL);
20198}
20199extern "C" {
20200    #[link_name = "aws_lc_0_47_0_d2i_X509_CRL"]
20201    pub fn d2i_X509_CRL(
20202        out: *mut *mut X509_CRL,
20203        inp: *mut *const u8,
20204        len: ::std::os::raw::c_long,
20205    ) -> *mut X509_CRL;
20206}
20207extern "C" {
20208    #[link_name = "aws_lc_0_47_0_i2d_X509_CRL"]
20209    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20210}
20211extern "C" {
20212    #[link_name = "aws_lc_0_47_0_X509_CRL_match"]
20213    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
20214}
20215extern "C" {
20216    #[link_name = "aws_lc_0_47_0_X509_CRL_get_version"]
20217    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
20218}
20219extern "C" {
20220    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_lastUpdate"]
20221    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20222}
20223extern "C" {
20224    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_nextUpdate"]
20225    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20226}
20227extern "C" {
20228    #[link_name = "aws_lc_0_47_0_X509_CRL_get_issuer"]
20229    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
20230}
20231extern "C" {
20232    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_by_serial"]
20233    pub fn X509_CRL_get0_by_serial(
20234        crl: *mut X509_CRL,
20235        out: *mut *mut X509_REVOKED,
20236        serial: *const ASN1_INTEGER,
20237    ) -> ::std::os::raw::c_int;
20238}
20239extern "C" {
20240    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_by_cert"]
20241    pub fn X509_CRL_get0_by_cert(
20242        crl: *mut X509_CRL,
20243        out: *mut *mut X509_REVOKED,
20244        x509: *mut X509,
20245    ) -> ::std::os::raw::c_int;
20246}
20247extern "C" {
20248    #[link_name = "aws_lc_0_47_0_X509_CRL_get_REVOKED"]
20249    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
20250}
20251extern "C" {
20252    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_extensions"]
20253    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
20254}
20255extern "C" {
20256    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext_count"]
20257    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
20258}
20259extern "C" {
20260    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext_by_NID"]
20261    pub fn X509_CRL_get_ext_by_NID(
20262        x: *const X509_CRL,
20263        nid: ::std::os::raw::c_int,
20264        lastpos: ::std::os::raw::c_int,
20265    ) -> ::std::os::raw::c_int;
20266}
20267extern "C" {
20268    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext_by_OBJ"]
20269    pub fn X509_CRL_get_ext_by_OBJ(
20270        x: *const X509_CRL,
20271        obj: *const ASN1_OBJECT,
20272        lastpos: ::std::os::raw::c_int,
20273    ) -> ::std::os::raw::c_int;
20274}
20275extern "C" {
20276    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext_by_critical"]
20277    pub fn X509_CRL_get_ext_by_critical(
20278        x: *const X509_CRL,
20279        crit: ::std::os::raw::c_int,
20280        lastpos: ::std::os::raw::c_int,
20281    ) -> ::std::os::raw::c_int;
20282}
20283extern "C" {
20284    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext"]
20285    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20286}
20287extern "C" {
20288    #[link_name = "aws_lc_0_47_0_X509_CRL_get_ext_d2i"]
20289    pub fn X509_CRL_get_ext_d2i(
20290        crl: *const X509_CRL,
20291        nid: ::std::os::raw::c_int,
20292        out_critical: *mut ::std::os::raw::c_int,
20293        out_idx: *mut ::std::os::raw::c_int,
20294    ) -> *mut ::std::os::raw::c_void;
20295}
20296extern "C" {
20297    #[link_name = "aws_lc_0_47_0_X509_CRL_get0_signature"]
20298    pub fn X509_CRL_get0_signature(
20299        crl: *const X509_CRL,
20300        out_sig: *mut *const ASN1_BIT_STRING,
20301        out_alg: *mut *const X509_ALGOR,
20302    );
20303}
20304extern "C" {
20305    #[link_name = "aws_lc_0_47_0_X509_CRL_get_signature_nid"]
20306    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
20307}
20308extern "C" {
20309    #[link_name = "aws_lc_0_47_0_i2d_X509_CRL_tbs"]
20310    pub fn i2d_X509_CRL_tbs(
20311        crl: *mut X509_CRL,
20312        outp: *mut *mut ::std::os::raw::c_uchar,
20313    ) -> ::std::os::raw::c_int;
20314}
20315extern "C" {
20316    #[link_name = "aws_lc_0_47_0_X509_CRL_verify"]
20317    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20318}
20319extern "C" {
20320    #[link_name = "aws_lc_0_47_0_X509_CRL_new"]
20321    pub fn X509_CRL_new() -> *mut X509_CRL;
20322}
20323extern "C" {
20324    #[link_name = "aws_lc_0_47_0_X509_CRL_set_version"]
20325    pub fn X509_CRL_set_version(
20326        crl: *mut X509_CRL,
20327        version: ::std::os::raw::c_long,
20328    ) -> ::std::os::raw::c_int;
20329}
20330extern "C" {
20331    #[link_name = "aws_lc_0_47_0_X509_CRL_set_issuer_name"]
20332    pub fn X509_CRL_set_issuer_name(
20333        crl: *mut X509_CRL,
20334        name: *mut X509_NAME,
20335    ) -> ::std::os::raw::c_int;
20336}
20337extern "C" {
20338    #[link_name = "aws_lc_0_47_0_X509_CRL_set1_lastUpdate"]
20339    pub fn X509_CRL_set1_lastUpdate(
20340        crl: *mut X509_CRL,
20341        tm: *const ASN1_TIME,
20342    ) -> ::std::os::raw::c_int;
20343}
20344extern "C" {
20345    #[link_name = "aws_lc_0_47_0_X509_CRL_set1_nextUpdate"]
20346    pub fn X509_CRL_set1_nextUpdate(
20347        crl: *mut X509_CRL,
20348        tm: *const ASN1_TIME,
20349    ) -> ::std::os::raw::c_int;
20350}
20351extern "C" {
20352    #[link_name = "aws_lc_0_47_0_X509_CRL_add0_revoked"]
20353    pub fn X509_CRL_add0_revoked(
20354        crl: *mut X509_CRL,
20355        rev: *mut X509_REVOKED,
20356    ) -> ::std::os::raw::c_int;
20357}
20358extern "C" {
20359    #[link_name = "aws_lc_0_47_0_X509_CRL_sort"]
20360    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20361}
20362extern "C" {
20363    #[link_name = "aws_lc_0_47_0_X509_CRL_delete_ext"]
20364    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
20365        -> *mut X509_EXTENSION;
20366}
20367extern "C" {
20368    #[link_name = "aws_lc_0_47_0_X509_CRL_add_ext"]
20369    pub fn X509_CRL_add_ext(
20370        x: *mut X509_CRL,
20371        ex: *const X509_EXTENSION,
20372        loc: ::std::os::raw::c_int,
20373    ) -> ::std::os::raw::c_int;
20374}
20375extern "C" {
20376    #[link_name = "aws_lc_0_47_0_X509_CRL_add1_ext_i2d"]
20377    pub fn X509_CRL_add1_ext_i2d(
20378        x: *mut X509_CRL,
20379        nid: ::std::os::raw::c_int,
20380        value: *mut ::std::os::raw::c_void,
20381        crit: ::std::os::raw::c_int,
20382        flags: ::std::os::raw::c_ulong,
20383    ) -> ::std::os::raw::c_int;
20384}
20385extern "C" {
20386    #[link_name = "aws_lc_0_47_0_X509_CRL_sign"]
20387    pub fn X509_CRL_sign(
20388        crl: *mut X509_CRL,
20389        pkey: *mut EVP_PKEY,
20390        md: *const EVP_MD,
20391    ) -> ::std::os::raw::c_int;
20392}
20393extern "C" {
20394    #[link_name = "aws_lc_0_47_0_X509_CRL_sign_ctx"]
20395    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20396}
20397extern "C" {
20398    #[link_name = "aws_lc_0_47_0_i2d_re_X509_CRL_tbs"]
20399    pub fn i2d_re_X509_CRL_tbs(
20400        crl: *mut X509_CRL,
20401        outp: *mut *mut ::std::os::raw::c_uchar,
20402    ) -> ::std::os::raw::c_int;
20403}
20404extern "C" {
20405    #[link_name = "aws_lc_0_47_0_X509_CRL_set1_signature_algo"]
20406    pub fn X509_CRL_set1_signature_algo(
20407        crl: *mut X509_CRL,
20408        algo: *const X509_ALGOR,
20409    ) -> ::std::os::raw::c_int;
20410}
20411extern "C" {
20412    #[link_name = "aws_lc_0_47_0_X509_CRL_set1_signature_value"]
20413    pub fn X509_CRL_set1_signature_value(
20414        crl: *mut X509_CRL,
20415        sig: *const u8,
20416        sig_len: usize,
20417    ) -> ::std::os::raw::c_int;
20418}
20419extern "C" {
20420    #[link_name = "aws_lc_0_47_0_X509_CRL_http_nbio"]
20421    pub fn X509_CRL_http_nbio(
20422        rctx: *mut OCSP_REQ_CTX,
20423        pcrl: *mut *mut X509_CRL,
20424    ) -> ::std::os::raw::c_int;
20425}
20426extern "C" {
20427    #[link_name = "aws_lc_0_47_0_X509_REVOKED_it"]
20428    pub static X509_REVOKED_it: ASN1_ITEM;
20429}
20430extern "C" {
20431    #[link_name = "aws_lc_0_47_0_X509_REVOKED_new"]
20432    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
20433}
20434extern "C" {
20435    #[link_name = "aws_lc_0_47_0_X509_REVOKED_free"]
20436    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
20437}
20438extern "C" {
20439    #[link_name = "aws_lc_0_47_0_d2i_X509_REVOKED"]
20440    pub fn d2i_X509_REVOKED(
20441        out: *mut *mut X509_REVOKED,
20442        inp: *mut *const u8,
20443        len: ::std::os::raw::c_long,
20444    ) -> *mut X509_REVOKED;
20445}
20446extern "C" {
20447    #[link_name = "aws_lc_0_47_0_i2d_X509_REVOKED"]
20448    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20449}
20450extern "C" {
20451    #[link_name = "aws_lc_0_47_0_X509_REVOKED_dup"]
20452    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
20453}
20454extern "C" {
20455    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get0_serialNumber"]
20456    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
20457}
20458extern "C" {
20459    #[link_name = "aws_lc_0_47_0_X509_REVOKED_set_serialNumber"]
20460    pub fn X509_REVOKED_set_serialNumber(
20461        revoked: *mut X509_REVOKED,
20462        serial: *const ASN1_INTEGER,
20463    ) -> ::std::os::raw::c_int;
20464}
20465extern "C" {
20466    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get0_revocationDate"]
20467    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
20468}
20469extern "C" {
20470    #[link_name = "aws_lc_0_47_0_X509_REVOKED_set_revocationDate"]
20471    pub fn X509_REVOKED_set_revocationDate(
20472        revoked: *mut X509_REVOKED,
20473        tm: *const ASN1_TIME,
20474    ) -> ::std::os::raw::c_int;
20475}
20476extern "C" {
20477    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get0_extensions"]
20478    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
20479}
20480extern "C" {
20481    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get_ext_count"]
20482    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
20483}
20484extern "C" {
20485    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get_ext_by_NID"]
20486    pub fn X509_REVOKED_get_ext_by_NID(
20487        x: *const X509_REVOKED,
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 = "aws_lc_0_47_0_X509_REVOKED_get_ext_by_OBJ"]
20494    pub fn X509_REVOKED_get_ext_by_OBJ(
20495        x: *const X509_REVOKED,
20496        obj: *const ASN1_OBJECT,
20497        lastpos: ::std::os::raw::c_int,
20498    ) -> ::std::os::raw::c_int;
20499}
20500extern "C" {
20501    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get_ext_by_critical"]
20502    pub fn X509_REVOKED_get_ext_by_critical(
20503        x: *const X509_REVOKED,
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 = "aws_lc_0_47_0_X509_REVOKED_get_ext"]
20510    pub fn X509_REVOKED_get_ext(
20511        x: *const X509_REVOKED,
20512        loc: ::std::os::raw::c_int,
20513    ) -> *mut X509_EXTENSION;
20514}
20515extern "C" {
20516    #[link_name = "aws_lc_0_47_0_X509_REVOKED_delete_ext"]
20517    pub fn X509_REVOKED_delete_ext(
20518        x: *mut X509_REVOKED,
20519        loc: ::std::os::raw::c_int,
20520    ) -> *mut X509_EXTENSION;
20521}
20522extern "C" {
20523    #[link_name = "aws_lc_0_47_0_X509_REVOKED_add_ext"]
20524    pub fn X509_REVOKED_add_ext(
20525        x: *mut X509_REVOKED,
20526        ex: *const X509_EXTENSION,
20527        loc: ::std::os::raw::c_int,
20528    ) -> ::std::os::raw::c_int;
20529}
20530extern "C" {
20531    #[link_name = "aws_lc_0_47_0_X509_REVOKED_get_ext_d2i"]
20532    pub fn X509_REVOKED_get_ext_d2i(
20533        revoked: *const X509_REVOKED,
20534        nid: ::std::os::raw::c_int,
20535        out_critical: *mut ::std::os::raw::c_int,
20536        out_idx: *mut ::std::os::raw::c_int,
20537    ) -> *mut ::std::os::raw::c_void;
20538}
20539extern "C" {
20540    #[link_name = "aws_lc_0_47_0_X509_REVOKED_add1_ext_i2d"]
20541    pub fn X509_REVOKED_add1_ext_i2d(
20542        x: *mut X509_REVOKED,
20543        nid: ::std::os::raw::c_int,
20544        value: *mut ::std::os::raw::c_void,
20545        crit: ::std::os::raw::c_int,
20546        flags: ::std::os::raw::c_ulong,
20547    ) -> ::std::os::raw::c_int;
20548}
20549extern "C" {
20550    #[link_name = "aws_lc_0_47_0_X509_REQ_it"]
20551    pub static X509_REQ_it: ASN1_ITEM;
20552}
20553extern "C" {
20554    #[link_name = "aws_lc_0_47_0_X509_REQ_dup"]
20555    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
20556}
20557extern "C" {
20558    #[link_name = "aws_lc_0_47_0_X509_REQ_free"]
20559    pub fn X509_REQ_free(req: *mut X509_REQ);
20560}
20561extern "C" {
20562    #[link_name = "aws_lc_0_47_0_d2i_X509_REQ"]
20563    pub fn d2i_X509_REQ(
20564        out: *mut *mut X509_REQ,
20565        inp: *mut *const u8,
20566        len: ::std::os::raw::c_long,
20567    ) -> *mut X509_REQ;
20568}
20569extern "C" {
20570    #[link_name = "aws_lc_0_47_0_i2d_X509_REQ"]
20571    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20572}
20573extern "C" {
20574    #[link_name = "aws_lc_0_47_0_X509_REQ_get_version"]
20575    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
20576}
20577extern "C" {
20578    #[link_name = "aws_lc_0_47_0_X509_REQ_get_subject_name"]
20579    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
20580}
20581extern "C" {
20582    #[link_name = "aws_lc_0_47_0_X509_REQ_get0_pubkey"]
20583    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20584}
20585extern "C" {
20586    #[link_name = "aws_lc_0_47_0_X509_REQ_get_pubkey"]
20587    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20588}
20589extern "C" {
20590    #[link_name = "aws_lc_0_47_0_X509_REQ_check_private_key"]
20591    pub fn X509_REQ_check_private_key(
20592        req: *const X509_REQ,
20593        pkey: *const EVP_PKEY,
20594    ) -> ::std::os::raw::c_int;
20595}
20596extern "C" {
20597    #[link_name = "aws_lc_0_47_0_X509_REQ_get_attr_count"]
20598    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
20599}
20600extern "C" {
20601    #[link_name = "aws_lc_0_47_0_X509_REQ_get_attr"]
20602    pub fn X509_REQ_get_attr(
20603        req: *const X509_REQ,
20604        loc: ::std::os::raw::c_int,
20605    ) -> *mut X509_ATTRIBUTE;
20606}
20607extern "C" {
20608    #[link_name = "aws_lc_0_47_0_X509_REQ_get_attr_by_NID"]
20609    pub fn X509_REQ_get_attr_by_NID(
20610        req: *const X509_REQ,
20611        nid: ::std::os::raw::c_int,
20612        lastpos: ::std::os::raw::c_int,
20613    ) -> ::std::os::raw::c_int;
20614}
20615extern "C" {
20616    #[link_name = "aws_lc_0_47_0_X509_REQ_get_attr_by_OBJ"]
20617    pub fn X509_REQ_get_attr_by_OBJ(
20618        req: *const X509_REQ,
20619        obj: *const ASN1_OBJECT,
20620        lastpos: ::std::os::raw::c_int,
20621    ) -> ::std::os::raw::c_int;
20622}
20623extern "C" {
20624    #[link_name = "aws_lc_0_47_0_X509_REQ_extension_nid"]
20625    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20626}
20627extern "C" {
20628    #[link_name = "aws_lc_0_47_0_X509_REQ_get_extensions"]
20629    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
20630}
20631extern "C" {
20632    #[link_name = "aws_lc_0_47_0_X509_REQ_get0_signature"]
20633    pub fn X509_REQ_get0_signature(
20634        req: *const X509_REQ,
20635        out_sig: *mut *const ASN1_BIT_STRING,
20636        out_alg: *mut *const X509_ALGOR,
20637    );
20638}
20639extern "C" {
20640    #[link_name = "aws_lc_0_47_0_X509_REQ_get_signature_nid"]
20641    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
20642}
20643extern "C" {
20644    #[link_name = "aws_lc_0_47_0_X509_REQ_verify"]
20645    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20646}
20647extern "C" {
20648    #[link_name = "aws_lc_0_47_0_X509_REQ_get1_email"]
20649    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
20650}
20651extern "C" {
20652    #[link_name = "aws_lc_0_47_0_X509_REQ_new"]
20653    pub fn X509_REQ_new() -> *mut X509_REQ;
20654}
20655extern "C" {
20656    #[link_name = "aws_lc_0_47_0_X509_REQ_set_version"]
20657    pub fn X509_REQ_set_version(
20658        req: *mut X509_REQ,
20659        version: ::std::os::raw::c_long,
20660    ) -> ::std::os::raw::c_int;
20661}
20662extern "C" {
20663    #[link_name = "aws_lc_0_47_0_X509_REQ_set_subject_name"]
20664    pub fn X509_REQ_set_subject_name(
20665        req: *mut X509_REQ,
20666        name: *mut X509_NAME,
20667    ) -> ::std::os::raw::c_int;
20668}
20669extern "C" {
20670    #[link_name = "aws_lc_0_47_0_X509_REQ_set_pubkey"]
20671    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20672}
20673extern "C" {
20674    #[link_name = "aws_lc_0_47_0_X509_REQ_delete_attr"]
20675    pub fn X509_REQ_delete_attr(
20676        req: *mut X509_REQ,
20677        loc: ::std::os::raw::c_int,
20678    ) -> *mut X509_ATTRIBUTE;
20679}
20680extern "C" {
20681    #[link_name = "aws_lc_0_47_0_X509_REQ_add1_attr"]
20682    pub fn X509_REQ_add1_attr(
20683        req: *mut X509_REQ,
20684        attr: *const X509_ATTRIBUTE,
20685    ) -> ::std::os::raw::c_int;
20686}
20687extern "C" {
20688    #[link_name = "aws_lc_0_47_0_X509_REQ_add1_attr_by_OBJ"]
20689    pub fn X509_REQ_add1_attr_by_OBJ(
20690        req: *mut X509_REQ,
20691        obj: *const ASN1_OBJECT,
20692        attrtype: ::std::os::raw::c_int,
20693        data: *const ::std::os::raw::c_uchar,
20694        len: ::std::os::raw::c_int,
20695    ) -> ::std::os::raw::c_int;
20696}
20697extern "C" {
20698    #[link_name = "aws_lc_0_47_0_X509_REQ_add1_attr_by_NID"]
20699    pub fn X509_REQ_add1_attr_by_NID(
20700        req: *mut X509_REQ,
20701        nid: ::std::os::raw::c_int,
20702        attrtype: ::std::os::raw::c_int,
20703        data: *const ::std::os::raw::c_uchar,
20704        len: ::std::os::raw::c_int,
20705    ) -> ::std::os::raw::c_int;
20706}
20707extern "C" {
20708    #[link_name = "aws_lc_0_47_0_X509_REQ_add1_attr_by_txt"]
20709    pub fn X509_REQ_add1_attr_by_txt(
20710        req: *mut X509_REQ,
20711        attrname: *const ::std::os::raw::c_char,
20712        attrtype: ::std::os::raw::c_int,
20713        data: *const ::std::os::raw::c_uchar,
20714        len: ::std::os::raw::c_int,
20715    ) -> ::std::os::raw::c_int;
20716}
20717extern "C" {
20718    #[link_name = "aws_lc_0_47_0_X509_REQ_add_extensions_nid"]
20719    pub fn X509_REQ_add_extensions_nid(
20720        req: *mut X509_REQ,
20721        exts: *const stack_st_X509_EXTENSION,
20722        nid: ::std::os::raw::c_int,
20723    ) -> ::std::os::raw::c_int;
20724}
20725extern "C" {
20726    #[link_name = "aws_lc_0_47_0_X509_REQ_add_extensions"]
20727    pub fn X509_REQ_add_extensions(
20728        req: *mut X509_REQ,
20729        exts: *const stack_st_X509_EXTENSION,
20730    ) -> ::std::os::raw::c_int;
20731}
20732extern "C" {
20733    #[link_name = "aws_lc_0_47_0_X509_REQ_sign"]
20734    pub fn X509_REQ_sign(
20735        req: *mut X509_REQ,
20736        pkey: *mut EVP_PKEY,
20737        md: *const EVP_MD,
20738    ) -> ::std::os::raw::c_int;
20739}
20740extern "C" {
20741    #[link_name = "aws_lc_0_47_0_X509_REQ_sign_ctx"]
20742    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20743}
20744extern "C" {
20745    #[link_name = "aws_lc_0_47_0_i2d_re_X509_REQ_tbs"]
20746    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20747}
20748extern "C" {
20749    #[link_name = "aws_lc_0_47_0_X509_REQ_set1_signature_algo"]
20750    pub fn X509_REQ_set1_signature_algo(
20751        req: *mut X509_REQ,
20752        algo: *const X509_ALGOR,
20753    ) -> ::std::os::raw::c_int;
20754}
20755extern "C" {
20756    #[link_name = "aws_lc_0_47_0_X509_REQ_set1_signature_value"]
20757    pub fn X509_REQ_set1_signature_value(
20758        req: *mut X509_REQ,
20759        sig: *const u8,
20760        sig_len: usize,
20761    ) -> ::std::os::raw::c_int;
20762}
20763#[repr(C)]
20764#[derive(Debug)]
20765pub struct stack_st_X509_NAME_ENTRY {
20766    _unused: [u8; 0],
20767}
20768pub type sk_X509_NAME_ENTRY_free_func =
20769    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
20770pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
20771    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
20772>;
20773pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
20774    unsafe extern "C" fn(
20775        arg1: *const *const X509_NAME_ENTRY,
20776        arg2: *const *const X509_NAME_ENTRY,
20777    ) -> ::std::os::raw::c_int,
20778>;
20779pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
20780    unsafe extern "C" fn(
20781        arg1: *mut X509_NAME_ENTRY,
20782        arg2: *mut ::std::os::raw::c_void,
20783    ) -> ::std::os::raw::c_int,
20784>;
20785#[repr(C)]
20786#[derive(Debug)]
20787pub struct stack_st_X509_NAME {
20788    _unused: [u8; 0],
20789}
20790pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
20791pub type sk_X509_NAME_copy_func =
20792    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
20793pub type sk_X509_NAME_cmp_func = ::std::option::Option<
20794    unsafe extern "C" fn(
20795        arg1: *const *const X509_NAME,
20796        arg2: *const *const X509_NAME,
20797    ) -> ::std::os::raw::c_int,
20798>;
20799pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
20800    unsafe extern "C" fn(
20801        arg1: *mut X509_NAME,
20802        arg2: *mut ::std::os::raw::c_void,
20803    ) -> ::std::os::raw::c_int,
20804>;
20805extern "C" {
20806    #[link_name = "aws_lc_0_47_0_X509_NAME_it"]
20807    pub static X509_NAME_it: ASN1_ITEM;
20808}
20809extern "C" {
20810    #[link_name = "aws_lc_0_47_0_X509_NAME_new"]
20811    pub fn X509_NAME_new() -> *mut X509_NAME;
20812}
20813extern "C" {
20814    #[link_name = "aws_lc_0_47_0_X509_NAME_free"]
20815    pub fn X509_NAME_free(name: *mut X509_NAME);
20816}
20817extern "C" {
20818    #[link_name = "aws_lc_0_47_0_d2i_X509_NAME"]
20819    pub fn d2i_X509_NAME(
20820        out: *mut *mut X509_NAME,
20821        inp: *mut *const u8,
20822        len: ::std::os::raw::c_long,
20823    ) -> *mut X509_NAME;
20824}
20825extern "C" {
20826    #[link_name = "aws_lc_0_47_0_i2d_X509_NAME"]
20827    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20828}
20829extern "C" {
20830    #[link_name = "aws_lc_0_47_0_X509_NAME_dup"]
20831    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
20832}
20833extern "C" {
20834    #[link_name = "aws_lc_0_47_0_X509_NAME_cmp"]
20835    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
20836}
20837extern "C" {
20838    #[link_name = "aws_lc_0_47_0_X509_NAME_get0_der"]
20839    pub fn X509_NAME_get0_der(
20840        name: *mut X509_NAME,
20841        out_der: *mut *const u8,
20842        out_der_len: *mut usize,
20843    ) -> ::std::os::raw::c_int;
20844}
20845extern "C" {
20846    #[link_name = "aws_lc_0_47_0_X509_NAME_set"]
20847    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20848}
20849extern "C" {
20850    #[link_name = "aws_lc_0_47_0_X509_NAME_entry_count"]
20851    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
20852}
20853extern "C" {
20854    #[link_name = "aws_lc_0_47_0_X509_NAME_get_index_by_NID"]
20855    pub fn X509_NAME_get_index_by_NID(
20856        name: *const X509_NAME,
20857        nid: ::std::os::raw::c_int,
20858        lastpos: ::std::os::raw::c_int,
20859    ) -> ::std::os::raw::c_int;
20860}
20861extern "C" {
20862    #[link_name = "aws_lc_0_47_0_X509_NAME_get_index_by_OBJ"]
20863    pub fn X509_NAME_get_index_by_OBJ(
20864        name: *const X509_NAME,
20865        obj: *const ASN1_OBJECT,
20866        lastpos: ::std::os::raw::c_int,
20867    ) -> ::std::os::raw::c_int;
20868}
20869extern "C" {
20870    #[link_name = "aws_lc_0_47_0_X509_NAME_get_entry"]
20871    pub fn X509_NAME_get_entry(
20872        name: *const X509_NAME,
20873        loc: ::std::os::raw::c_int,
20874    ) -> *mut X509_NAME_ENTRY;
20875}
20876extern "C" {
20877    #[link_name = "aws_lc_0_47_0_X509_NAME_delete_entry"]
20878    pub fn X509_NAME_delete_entry(
20879        name: *mut X509_NAME,
20880        loc: ::std::os::raw::c_int,
20881    ) -> *mut X509_NAME_ENTRY;
20882}
20883extern "C" {
20884    #[link_name = "aws_lc_0_47_0_X509_NAME_add_entry"]
20885    pub fn X509_NAME_add_entry(
20886        name: *mut X509_NAME,
20887        entry: *const X509_NAME_ENTRY,
20888        loc: ::std::os::raw::c_int,
20889        set: ::std::os::raw::c_int,
20890    ) -> ::std::os::raw::c_int;
20891}
20892extern "C" {
20893    #[link_name = "aws_lc_0_47_0_X509_NAME_add_entry_by_OBJ"]
20894    pub fn X509_NAME_add_entry_by_OBJ(
20895        name: *mut X509_NAME,
20896        obj: *const ASN1_OBJECT,
20897        type_: ::std::os::raw::c_int,
20898        bytes: *const u8,
20899        len: ossl_ssize_t,
20900        loc: ::std::os::raw::c_int,
20901        set: ::std::os::raw::c_int,
20902    ) -> ::std::os::raw::c_int;
20903}
20904extern "C" {
20905    #[link_name = "aws_lc_0_47_0_X509_NAME_add_entry_by_NID"]
20906    pub fn X509_NAME_add_entry_by_NID(
20907        name: *mut X509_NAME,
20908        nid: ::std::os::raw::c_int,
20909        type_: ::std::os::raw::c_int,
20910        bytes: *const u8,
20911        len: ossl_ssize_t,
20912        loc: ::std::os::raw::c_int,
20913        set: ::std::os::raw::c_int,
20914    ) -> ::std::os::raw::c_int;
20915}
20916extern "C" {
20917    #[link_name = "aws_lc_0_47_0_X509_NAME_add_entry_by_txt"]
20918    pub fn X509_NAME_add_entry_by_txt(
20919        name: *mut X509_NAME,
20920        field: *const ::std::os::raw::c_char,
20921        type_: ::std::os::raw::c_int,
20922        bytes: *const u8,
20923        len: ossl_ssize_t,
20924        loc: ::std::os::raw::c_int,
20925        set: ::std::os::raw::c_int,
20926    ) -> ::std::os::raw::c_int;
20927}
20928extern "C" {
20929    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_it"]
20930    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
20931}
20932extern "C" {
20933    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_new"]
20934    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
20935}
20936extern "C" {
20937    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_free"]
20938    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
20939}
20940extern "C" {
20941    #[link_name = "aws_lc_0_47_0_d2i_X509_NAME_ENTRY"]
20942    pub fn d2i_X509_NAME_ENTRY(
20943        out: *mut *mut X509_NAME_ENTRY,
20944        inp: *mut *const u8,
20945        len: ::std::os::raw::c_long,
20946    ) -> *mut X509_NAME_ENTRY;
20947}
20948extern "C" {
20949    #[link_name = "aws_lc_0_47_0_i2d_X509_NAME_ENTRY"]
20950    pub fn i2d_X509_NAME_ENTRY(
20951        in_: *const X509_NAME_ENTRY,
20952        outp: *mut *mut u8,
20953    ) -> ::std::os::raw::c_int;
20954}
20955extern "C" {
20956    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_dup"]
20957    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
20958}
20959extern "C" {
20960    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_get_object"]
20961    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
20962}
20963extern "C" {
20964    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_set_object"]
20965    pub fn X509_NAME_ENTRY_set_object(
20966        entry: *mut X509_NAME_ENTRY,
20967        obj: *const ASN1_OBJECT,
20968    ) -> ::std::os::raw::c_int;
20969}
20970extern "C" {
20971    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_get_data"]
20972    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
20973}
20974extern "C" {
20975    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_set_data"]
20976    pub fn X509_NAME_ENTRY_set_data(
20977        entry: *mut X509_NAME_ENTRY,
20978        type_: ::std::os::raw::c_int,
20979        bytes: *const u8,
20980        len: ossl_ssize_t,
20981    ) -> ::std::os::raw::c_int;
20982}
20983extern "C" {
20984    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_set"]
20985    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
20986}
20987extern "C" {
20988    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_create_by_OBJ"]
20989    pub fn X509_NAME_ENTRY_create_by_OBJ(
20990        out: *mut *mut X509_NAME_ENTRY,
20991        obj: *const ASN1_OBJECT,
20992        type_: ::std::os::raw::c_int,
20993        bytes: *const u8,
20994        len: ossl_ssize_t,
20995    ) -> *mut X509_NAME_ENTRY;
20996}
20997extern "C" {
20998    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_create_by_NID"]
20999    pub fn X509_NAME_ENTRY_create_by_NID(
21000        out: *mut *mut X509_NAME_ENTRY,
21001        nid: ::std::os::raw::c_int,
21002        type_: ::std::os::raw::c_int,
21003        bytes: *const u8,
21004        len: ossl_ssize_t,
21005    ) -> *mut X509_NAME_ENTRY;
21006}
21007extern "C" {
21008    #[link_name = "aws_lc_0_47_0_X509_NAME_ENTRY_create_by_txt"]
21009    pub fn X509_NAME_ENTRY_create_by_txt(
21010        out: *mut *mut X509_NAME_ENTRY,
21011        field: *const ::std::os::raw::c_char,
21012        type_: ::std::os::raw::c_int,
21013        bytes: *const u8,
21014        len: ossl_ssize_t,
21015    ) -> *mut X509_NAME_ENTRY;
21016}
21017extern "C" {
21018    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_it"]
21019    pub static X509_PUBKEY_it: ASN1_ITEM;
21020}
21021extern "C" {
21022    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_new"]
21023    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
21024}
21025extern "C" {
21026    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_free"]
21027    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
21028}
21029extern "C" {
21030    #[link_name = "aws_lc_0_47_0_d2i_X509_PUBKEY"]
21031    pub fn d2i_X509_PUBKEY(
21032        out: *mut *mut X509_PUBKEY,
21033        inp: *mut *const u8,
21034        len: ::std::os::raw::c_long,
21035    ) -> *mut X509_PUBKEY;
21036}
21037extern "C" {
21038    #[link_name = "aws_lc_0_47_0_i2d_X509_PUBKEY"]
21039    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21040}
21041extern "C" {
21042    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_set"]
21043    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21044}
21045extern "C" {
21046    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_get0"]
21047    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21048}
21049extern "C" {
21050    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_get"]
21051    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21052}
21053extern "C" {
21054    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_set0_param"]
21055    pub fn X509_PUBKEY_set0_param(
21056        pub_: *mut X509_PUBKEY,
21057        obj: *mut ASN1_OBJECT,
21058        param_type: ::std::os::raw::c_int,
21059        param_value: *mut ::std::os::raw::c_void,
21060        key: *mut u8,
21061        key_len: ::std::os::raw::c_int,
21062    ) -> ::std::os::raw::c_int;
21063}
21064extern "C" {
21065    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_get0_param"]
21066    pub fn X509_PUBKEY_get0_param(
21067        out_obj: *mut *mut ASN1_OBJECT,
21068        out_key: *mut *const u8,
21069        out_key_len: *mut ::std::os::raw::c_int,
21070        out_alg: *mut *mut X509_ALGOR,
21071        pub_: *mut X509_PUBKEY,
21072    ) -> ::std::os::raw::c_int;
21073}
21074extern "C" {
21075    #[link_name = "aws_lc_0_47_0_X509_PUBKEY_get0_public_key"]
21076    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
21077}
21078extern "C" {
21079    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_it"]
21080    pub static X509_EXTENSION_it: ASN1_ITEM;
21081}
21082extern "C" {
21083    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_new"]
21084    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
21085}
21086extern "C" {
21087    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_free"]
21088    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
21089}
21090extern "C" {
21091    #[link_name = "aws_lc_0_47_0_d2i_X509_EXTENSION"]
21092    pub fn d2i_X509_EXTENSION(
21093        out: *mut *mut X509_EXTENSION,
21094        inp: *mut *const u8,
21095        len: ::std::os::raw::c_long,
21096    ) -> *mut X509_EXTENSION;
21097}
21098extern "C" {
21099    #[link_name = "aws_lc_0_47_0_i2d_X509_EXTENSION"]
21100    pub fn i2d_X509_EXTENSION(
21101        ex: *const X509_EXTENSION,
21102        outp: *mut *mut u8,
21103    ) -> ::std::os::raw::c_int;
21104}
21105extern "C" {
21106    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_dup"]
21107    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
21108}
21109extern "C" {
21110    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_create_by_NID"]
21111    pub fn X509_EXTENSION_create_by_NID(
21112        ex: *mut *mut X509_EXTENSION,
21113        nid: ::std::os::raw::c_int,
21114        crit: ::std::os::raw::c_int,
21115        data: *const ASN1_OCTET_STRING,
21116    ) -> *mut X509_EXTENSION;
21117}
21118extern "C" {
21119    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_create_by_OBJ"]
21120    pub fn X509_EXTENSION_create_by_OBJ(
21121        ex: *mut *mut X509_EXTENSION,
21122        obj: *const ASN1_OBJECT,
21123        crit: ::std::os::raw::c_int,
21124        data: *const ASN1_OCTET_STRING,
21125    ) -> *mut X509_EXTENSION;
21126}
21127extern "C" {
21128    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_get_object"]
21129    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
21130}
21131extern "C" {
21132    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_get_data"]
21133    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
21134}
21135extern "C" {
21136    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_get_critical"]
21137    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21138}
21139extern "C" {
21140    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_set_object"]
21141    pub fn X509_EXTENSION_set_object(
21142        ex: *mut X509_EXTENSION,
21143        obj: *const ASN1_OBJECT,
21144    ) -> ::std::os::raw::c_int;
21145}
21146extern "C" {
21147    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_set_critical"]
21148    pub fn X509_EXTENSION_set_critical(
21149        ex: *mut X509_EXTENSION,
21150        crit: ::std::os::raw::c_int,
21151    ) -> ::std::os::raw::c_int;
21152}
21153extern "C" {
21154    #[link_name = "aws_lc_0_47_0_X509_EXTENSION_set_data"]
21155    pub fn X509_EXTENSION_set_data(
21156        ex: *mut X509_EXTENSION,
21157        data: *const ASN1_OCTET_STRING,
21158    ) -> ::std::os::raw::c_int;
21159}
21160pub type sk_X509_EXTENSION_free_func =
21161    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
21162pub type sk_X509_EXTENSION_copy_func =
21163    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
21164pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
21165    unsafe extern "C" fn(
21166        arg1: *const *const X509_EXTENSION,
21167        arg2: *const *const X509_EXTENSION,
21168    ) -> ::std::os::raw::c_int,
21169>;
21170pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
21171    unsafe extern "C" fn(
21172        arg1: *mut X509_EXTENSION,
21173        arg2: *mut ::std::os::raw::c_void,
21174    ) -> ::std::os::raw::c_int,
21175>;
21176pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
21177extern "C" {
21178    #[link_name = "aws_lc_0_47_0_X509_EXTENSIONS_it"]
21179    pub static X509_EXTENSIONS_it: ASN1_ITEM;
21180}
21181extern "C" {
21182    #[link_name = "aws_lc_0_47_0_d2i_X509_EXTENSIONS"]
21183    pub fn d2i_X509_EXTENSIONS(
21184        out: *mut *mut X509_EXTENSIONS,
21185        inp: *mut *const u8,
21186        len: ::std::os::raw::c_long,
21187    ) -> *mut X509_EXTENSIONS;
21188}
21189extern "C" {
21190    #[link_name = "aws_lc_0_47_0_i2d_X509_EXTENSIONS"]
21191    pub fn i2d_X509_EXTENSIONS(
21192        alg: *const X509_EXTENSIONS,
21193        outp: *mut *mut u8,
21194    ) -> ::std::os::raw::c_int;
21195}
21196extern "C" {
21197    #[link_name = "aws_lc_0_47_0_X509v3_get_ext_count"]
21198    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
21199}
21200extern "C" {
21201    #[link_name = "aws_lc_0_47_0_X509v3_get_ext_by_NID"]
21202    pub fn X509v3_get_ext_by_NID(
21203        x: *const stack_st_X509_EXTENSION,
21204        nid: ::std::os::raw::c_int,
21205        lastpos: ::std::os::raw::c_int,
21206    ) -> ::std::os::raw::c_int;
21207}
21208extern "C" {
21209    #[link_name = "aws_lc_0_47_0_X509v3_get_ext_by_OBJ"]
21210    pub fn X509v3_get_ext_by_OBJ(
21211        x: *const stack_st_X509_EXTENSION,
21212        obj: *const ASN1_OBJECT,
21213        lastpos: ::std::os::raw::c_int,
21214    ) -> ::std::os::raw::c_int;
21215}
21216extern "C" {
21217    #[link_name = "aws_lc_0_47_0_X509v3_get_ext_by_critical"]
21218    pub fn X509v3_get_ext_by_critical(
21219        x: *const stack_st_X509_EXTENSION,
21220        crit: ::std::os::raw::c_int,
21221        lastpos: ::std::os::raw::c_int,
21222    ) -> ::std::os::raw::c_int;
21223}
21224extern "C" {
21225    #[link_name = "aws_lc_0_47_0_X509v3_get_ext"]
21226    pub fn X509v3_get_ext(
21227        x: *const stack_st_X509_EXTENSION,
21228        loc: ::std::os::raw::c_int,
21229    ) -> *mut X509_EXTENSION;
21230}
21231extern "C" {
21232    #[link_name = "aws_lc_0_47_0_X509v3_delete_ext"]
21233    pub fn X509v3_delete_ext(
21234        x: *mut stack_st_X509_EXTENSION,
21235        loc: ::std::os::raw::c_int,
21236    ) -> *mut X509_EXTENSION;
21237}
21238extern "C" {
21239    #[link_name = "aws_lc_0_47_0_X509v3_add_ext"]
21240    pub fn X509v3_add_ext(
21241        x: *mut *mut stack_st_X509_EXTENSION,
21242        ex: *const X509_EXTENSION,
21243        loc: ::std::os::raw::c_int,
21244    ) -> *mut stack_st_X509_EXTENSION;
21245}
21246extern "C" {
21247    #[link_name = "aws_lc_0_47_0_X509V3_EXT_d2i"]
21248    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
21249}
21250extern "C" {
21251    #[link_name = "aws_lc_0_47_0_X509V3_get_d2i"]
21252    pub fn X509V3_get_d2i(
21253        extensions: *const stack_st_X509_EXTENSION,
21254        nid: ::std::os::raw::c_int,
21255        out_critical: *mut ::std::os::raw::c_int,
21256        out_idx: *mut ::std::os::raw::c_int,
21257    ) -> *mut ::std::os::raw::c_void;
21258}
21259extern "C" {
21260    #[link_name = "aws_lc_0_47_0_X509V3_EXT_free"]
21261    pub fn X509V3_EXT_free(
21262        nid: ::std::os::raw::c_int,
21263        ext_data: *mut ::std::os::raw::c_void,
21264    ) -> ::std::os::raw::c_int;
21265}
21266extern "C" {
21267    #[link_name = "aws_lc_0_47_0_X509V3_EXT_i2d"]
21268    pub fn X509V3_EXT_i2d(
21269        ext_nid: ::std::os::raw::c_int,
21270        crit: ::std::os::raw::c_int,
21271        ext_struc: *mut ::std::os::raw::c_void,
21272    ) -> *mut X509_EXTENSION;
21273}
21274extern "C" {
21275    #[link_name = "aws_lc_0_47_0_X509V3_add1_i2d"]
21276    pub fn X509V3_add1_i2d(
21277        x: *mut *mut stack_st_X509_EXTENSION,
21278        nid: ::std::os::raw::c_int,
21279        value: *mut ::std::os::raw::c_void,
21280        crit: ::std::os::raw::c_int,
21281        flags: ::std::os::raw::c_ulong,
21282    ) -> ::std::os::raw::c_int;
21283}
21284#[repr(C)]
21285#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21286pub struct otherName_st {
21287    pub type_id: *mut ASN1_OBJECT,
21288    pub value: *mut ASN1_TYPE,
21289}
21290#[test]
21291fn bindgen_test_layout_otherName_st() {
21292    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
21293    let ptr = UNINIT.as_ptr();
21294    assert_eq!(
21295        ::std::mem::size_of::<otherName_st>(),
21296        16usize,
21297        "Size of otherName_st"
21298    );
21299    assert_eq!(
21300        ::std::mem::align_of::<otherName_st>(),
21301        8usize,
21302        "Alignment of otherName_st"
21303    );
21304    assert_eq!(
21305        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
21306        0usize,
21307        "Offset of field: otherName_st::type_id"
21308    );
21309    assert_eq!(
21310        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
21311        8usize,
21312        "Offset of field: otherName_st::value"
21313    );
21314}
21315impl Default for otherName_st {
21316    fn default() -> Self {
21317        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21318        unsafe {
21319            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21320            s.assume_init()
21321        }
21322    }
21323}
21324pub type OTHERNAME = otherName_st;
21325#[repr(C)]
21326#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21327pub struct EDIPartyName_st {
21328    pub nameAssigner: *mut ASN1_STRING,
21329    pub partyName: *mut ASN1_STRING,
21330}
21331#[test]
21332fn bindgen_test_layout_EDIPartyName_st() {
21333    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
21334    let ptr = UNINIT.as_ptr();
21335    assert_eq!(
21336        ::std::mem::size_of::<EDIPartyName_st>(),
21337        16usize,
21338        "Size of EDIPartyName_st"
21339    );
21340    assert_eq!(
21341        ::std::mem::align_of::<EDIPartyName_st>(),
21342        8usize,
21343        "Alignment of EDIPartyName_st"
21344    );
21345    assert_eq!(
21346        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
21347        0usize,
21348        "Offset of field: EDIPartyName_st::nameAssigner"
21349    );
21350    assert_eq!(
21351        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
21352        8usize,
21353        "Offset of field: EDIPartyName_st::partyName"
21354    );
21355}
21356impl Default for EDIPartyName_st {
21357    fn default() -> Self {
21358        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21359        unsafe {
21360            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21361            s.assume_init()
21362        }
21363    }
21364}
21365pub type EDIPARTYNAME = EDIPartyName_st;
21366#[repr(C)]
21367#[derive(Copy, Clone)]
21368pub struct GENERAL_NAME_st {
21369    pub type_: ::std::os::raw::c_int,
21370    pub d: GENERAL_NAME_st__bindgen_ty_1,
21371}
21372#[repr(C)]
21373#[derive(Copy, Clone)]
21374pub union GENERAL_NAME_st__bindgen_ty_1 {
21375    pub ptr: *mut ::std::os::raw::c_char,
21376    pub otherName: *mut OTHERNAME,
21377    pub rfc822Name: *mut ASN1_IA5STRING,
21378    pub dNSName: *mut ASN1_IA5STRING,
21379    pub x400Address: *mut ASN1_STRING,
21380    pub directoryName: *mut X509_NAME,
21381    pub ediPartyName: *mut EDIPARTYNAME,
21382    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
21383    pub iPAddress: *mut ASN1_OCTET_STRING,
21384    pub registeredID: *mut ASN1_OBJECT,
21385    pub ip: *mut ASN1_OCTET_STRING,
21386    pub dirn: *mut X509_NAME,
21387    pub ia5: *mut ASN1_IA5STRING,
21388    pub rid: *mut ASN1_OBJECT,
21389}
21390#[test]
21391fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
21392    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
21393        ::std::mem::MaybeUninit::uninit();
21394    let ptr = UNINIT.as_ptr();
21395    assert_eq!(
21396        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
21397        8usize,
21398        "Size of GENERAL_NAME_st__bindgen_ty_1"
21399    );
21400    assert_eq!(
21401        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
21402        8usize,
21403        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
21404    );
21405    assert_eq!(
21406        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
21407        0usize,
21408        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
21409    );
21410    assert_eq!(
21411        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
21412        0usize,
21413        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
21414    );
21415    assert_eq!(
21416        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
21417        0usize,
21418        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
21419    );
21420    assert_eq!(
21421        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
21422        0usize,
21423        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
21424    );
21425    assert_eq!(
21426        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
21427        0usize,
21428        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
21429    );
21430    assert_eq!(
21431        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
21432        0usize,
21433        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
21434    );
21435    assert_eq!(
21436        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
21437        0usize,
21438        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
21439    );
21440    assert_eq!(
21441        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
21442        0usize,
21443        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
21444    );
21445    assert_eq!(
21446        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
21447        0usize,
21448        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
21449    );
21450    assert_eq!(
21451        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
21452        0usize,
21453        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
21454    );
21455    assert_eq!(
21456        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
21457        0usize,
21458        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
21459    );
21460    assert_eq!(
21461        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
21462        0usize,
21463        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
21464    );
21465    assert_eq!(
21466        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
21467        0usize,
21468        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
21469    );
21470    assert_eq!(
21471        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
21472        0usize,
21473        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
21474    );
21475}
21476impl Default for GENERAL_NAME_st__bindgen_ty_1 {
21477    fn default() -> Self {
21478        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21479        unsafe {
21480            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21481            s.assume_init()
21482        }
21483    }
21484}
21485#[test]
21486fn bindgen_test_layout_GENERAL_NAME_st() {
21487    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
21488    let ptr = UNINIT.as_ptr();
21489    assert_eq!(
21490        ::std::mem::size_of::<GENERAL_NAME_st>(),
21491        16usize,
21492        "Size of GENERAL_NAME_st"
21493    );
21494    assert_eq!(
21495        ::std::mem::align_of::<GENERAL_NAME_st>(),
21496        8usize,
21497        "Alignment of GENERAL_NAME_st"
21498    );
21499    assert_eq!(
21500        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21501        0usize,
21502        "Offset of field: GENERAL_NAME_st::type_"
21503    );
21504    assert_eq!(
21505        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
21506        8usize,
21507        "Offset of field: GENERAL_NAME_st::d"
21508    );
21509}
21510impl Default for GENERAL_NAME_st {
21511    fn default() -> Self {
21512        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21513        unsafe {
21514            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21515            s.assume_init()
21516        }
21517    }
21518}
21519extern "C" {
21520    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_new"]
21521    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
21522}
21523extern "C" {
21524    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_free"]
21525    pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
21526}
21527extern "C" {
21528    #[link_name = "aws_lc_0_47_0_d2i_GENERAL_NAME"]
21529    pub fn d2i_GENERAL_NAME(
21530        out: *mut *mut GENERAL_NAME,
21531        inp: *mut *const u8,
21532        len: ::std::os::raw::c_long,
21533    ) -> *mut GENERAL_NAME;
21534}
21535extern "C" {
21536    #[link_name = "aws_lc_0_47_0_i2d_GENERAL_NAME"]
21537    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21538}
21539extern "C" {
21540    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_dup"]
21541    pub fn GENERAL_NAME_dup(gen_: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
21542}
21543extern "C" {
21544    #[link_name = "aws_lc_0_47_0_GENERAL_NAMES_new"]
21545    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
21546}
21547extern "C" {
21548    #[link_name = "aws_lc_0_47_0_GENERAL_NAMES_free"]
21549    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
21550}
21551extern "C" {
21552    #[link_name = "aws_lc_0_47_0_d2i_GENERAL_NAMES"]
21553    pub fn d2i_GENERAL_NAMES(
21554        out: *mut *mut GENERAL_NAMES,
21555        inp: *mut *const u8,
21556        len: ::std::os::raw::c_long,
21557    ) -> *mut GENERAL_NAMES;
21558}
21559extern "C" {
21560    #[link_name = "aws_lc_0_47_0_i2d_GENERAL_NAMES"]
21561    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21562}
21563extern "C" {
21564    #[link_name = "aws_lc_0_47_0_OTHERNAME_new"]
21565    pub fn OTHERNAME_new() -> *mut OTHERNAME;
21566}
21567extern "C" {
21568    #[link_name = "aws_lc_0_47_0_OTHERNAME_free"]
21569    pub fn OTHERNAME_free(name: *mut OTHERNAME);
21570}
21571extern "C" {
21572    #[link_name = "aws_lc_0_47_0_EDIPARTYNAME_new"]
21573    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
21574}
21575extern "C" {
21576    #[link_name = "aws_lc_0_47_0_EDIPARTYNAME_free"]
21577    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
21578}
21579extern "C" {
21580    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_set0_value"]
21581    pub fn GENERAL_NAME_set0_value(
21582        gen_: *mut GENERAL_NAME,
21583        type_: ::std::os::raw::c_int,
21584        value: *mut ::std::os::raw::c_void,
21585    );
21586}
21587extern "C" {
21588    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_get0_value"]
21589    pub fn GENERAL_NAME_get0_value(
21590        gen_: *const GENERAL_NAME,
21591        out_type: *mut ::std::os::raw::c_int,
21592    ) -> *mut ::std::os::raw::c_void;
21593}
21594extern "C" {
21595    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_set0_othername"]
21596    pub fn GENERAL_NAME_set0_othername(
21597        gen_: *mut GENERAL_NAME,
21598        oid: *mut ASN1_OBJECT,
21599        value: *mut ASN1_TYPE,
21600    ) -> ::std::os::raw::c_int;
21601}
21602extern "C" {
21603    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_get0_otherName"]
21604    pub fn GENERAL_NAME_get0_otherName(
21605        gen_: *const GENERAL_NAME,
21606        out_oid: *mut *mut ASN1_OBJECT,
21607        out_value: *mut *mut ASN1_TYPE,
21608    ) -> ::std::os::raw::c_int;
21609}
21610#[repr(C)]
21611#[derive(Debug)]
21612pub struct stack_st_X509_ALGOR {
21613    _unused: [u8; 0],
21614}
21615pub type sk_X509_ALGOR_free_func =
21616    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
21617pub type sk_X509_ALGOR_copy_func =
21618    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
21619pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
21620    unsafe extern "C" fn(
21621        arg1: *const *const X509_ALGOR,
21622        arg2: *const *const X509_ALGOR,
21623    ) -> ::std::os::raw::c_int,
21624>;
21625pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
21626    unsafe extern "C" fn(
21627        arg1: *mut X509_ALGOR,
21628        arg2: *mut ::std::os::raw::c_void,
21629    ) -> ::std::os::raw::c_int,
21630>;
21631extern "C" {
21632    #[link_name = "aws_lc_0_47_0_X509_ALGOR_it"]
21633    pub static X509_ALGOR_it: ASN1_ITEM;
21634}
21635extern "C" {
21636    #[link_name = "aws_lc_0_47_0_X509_ALGOR_new"]
21637    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
21638}
21639extern "C" {
21640    #[link_name = "aws_lc_0_47_0_X509_ALGOR_dup"]
21641    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
21642}
21643extern "C" {
21644    #[link_name = "aws_lc_0_47_0_X509_ALGOR_free"]
21645    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
21646}
21647extern "C" {
21648    #[link_name = "aws_lc_0_47_0_d2i_X509_ALGOR"]
21649    pub fn d2i_X509_ALGOR(
21650        out: *mut *mut X509_ALGOR,
21651        inp: *mut *const u8,
21652        len: ::std::os::raw::c_long,
21653    ) -> *mut X509_ALGOR;
21654}
21655extern "C" {
21656    #[link_name = "aws_lc_0_47_0_i2d_X509_ALGOR"]
21657    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21658}
21659extern "C" {
21660    #[link_name = "aws_lc_0_47_0_X509_ALGOR_set0"]
21661    pub fn X509_ALGOR_set0(
21662        alg: *mut X509_ALGOR,
21663        obj: *mut ASN1_OBJECT,
21664        param_type: ::std::os::raw::c_int,
21665        param_value: *mut ::std::os::raw::c_void,
21666    ) -> ::std::os::raw::c_int;
21667}
21668extern "C" {
21669    #[link_name = "aws_lc_0_47_0_X509_ALGOR_get0"]
21670    pub fn X509_ALGOR_get0(
21671        out_obj: *mut *const ASN1_OBJECT,
21672        out_param_type: *mut ::std::os::raw::c_int,
21673        out_param_value: *mut *const ::std::os::raw::c_void,
21674        alg: *const X509_ALGOR,
21675    );
21676}
21677extern "C" {
21678    #[link_name = "aws_lc_0_47_0_X509_ALGOR_set_md"]
21679    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
21680}
21681extern "C" {
21682    #[link_name = "aws_lc_0_47_0_X509_ALGOR_cmp"]
21683    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
21684}
21685#[repr(C)]
21686#[derive(Debug)]
21687pub struct stack_st_X509_ATTRIBUTE {
21688    _unused: [u8; 0],
21689}
21690pub type sk_X509_ATTRIBUTE_free_func =
21691    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
21692pub type sk_X509_ATTRIBUTE_copy_func =
21693    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
21694pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
21695    unsafe extern "C" fn(
21696        arg1: *const *const X509_ATTRIBUTE,
21697        arg2: *const *const X509_ATTRIBUTE,
21698    ) -> ::std::os::raw::c_int,
21699>;
21700pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
21701    unsafe extern "C" fn(
21702        arg1: *mut X509_ATTRIBUTE,
21703        arg2: *mut ::std::os::raw::c_void,
21704    ) -> ::std::os::raw::c_int,
21705>;
21706extern "C" {
21707    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_it"]
21708    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
21709}
21710extern "C" {
21711    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_new"]
21712    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
21713}
21714extern "C" {
21715    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_dup"]
21716    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
21717}
21718extern "C" {
21719    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_free"]
21720    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
21721}
21722extern "C" {
21723    #[link_name = "aws_lc_0_47_0_d2i_X509_ATTRIBUTE"]
21724    pub fn d2i_X509_ATTRIBUTE(
21725        out: *mut *mut X509_ATTRIBUTE,
21726        inp: *mut *const u8,
21727        len: ::std::os::raw::c_long,
21728    ) -> *mut X509_ATTRIBUTE;
21729}
21730extern "C" {
21731    #[link_name = "aws_lc_0_47_0_i2d_X509_ATTRIBUTE"]
21732    pub fn i2d_X509_ATTRIBUTE(
21733        alg: *const X509_ATTRIBUTE,
21734        outp: *mut *mut u8,
21735    ) -> ::std::os::raw::c_int;
21736}
21737extern "C" {
21738    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_create"]
21739    pub fn X509_ATTRIBUTE_create(
21740        nid: ::std::os::raw::c_int,
21741        attrtype: ::std::os::raw::c_int,
21742        value: *mut ::std::os::raw::c_void,
21743    ) -> *mut X509_ATTRIBUTE;
21744}
21745extern "C" {
21746    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_create_by_NID"]
21747    pub fn X509_ATTRIBUTE_create_by_NID(
21748        attr: *mut *mut X509_ATTRIBUTE,
21749        nid: ::std::os::raw::c_int,
21750        attrtype: ::std::os::raw::c_int,
21751        data: *const ::std::os::raw::c_void,
21752        len: ::std::os::raw::c_int,
21753    ) -> *mut X509_ATTRIBUTE;
21754}
21755extern "C" {
21756    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_create_by_OBJ"]
21757    pub fn X509_ATTRIBUTE_create_by_OBJ(
21758        attr: *mut *mut X509_ATTRIBUTE,
21759        obj: *const ASN1_OBJECT,
21760        attrtype: ::std::os::raw::c_int,
21761        data: *const ::std::os::raw::c_void,
21762        len: ::std::os::raw::c_int,
21763    ) -> *mut X509_ATTRIBUTE;
21764}
21765extern "C" {
21766    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_create_by_txt"]
21767    pub fn X509_ATTRIBUTE_create_by_txt(
21768        attr: *mut *mut X509_ATTRIBUTE,
21769        attrname: *const ::std::os::raw::c_char,
21770        type_: ::std::os::raw::c_int,
21771        bytes: *const ::std::os::raw::c_uchar,
21772        len: ::std::os::raw::c_int,
21773    ) -> *mut X509_ATTRIBUTE;
21774}
21775extern "C" {
21776    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_set1_object"]
21777    pub fn X509_ATTRIBUTE_set1_object(
21778        attr: *mut X509_ATTRIBUTE,
21779        obj: *const ASN1_OBJECT,
21780    ) -> ::std::os::raw::c_int;
21781}
21782extern "C" {
21783    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_set1_data"]
21784    pub fn X509_ATTRIBUTE_set1_data(
21785        attr: *mut X509_ATTRIBUTE,
21786        attrtype: ::std::os::raw::c_int,
21787        data: *const ::std::os::raw::c_void,
21788        len: ::std::os::raw::c_int,
21789    ) -> ::std::os::raw::c_int;
21790}
21791extern "C" {
21792    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_get0_data"]
21793    pub fn X509_ATTRIBUTE_get0_data(
21794        attr: *mut X509_ATTRIBUTE,
21795        idx: ::std::os::raw::c_int,
21796        attrtype: ::std::os::raw::c_int,
21797        unused: *mut ::std::os::raw::c_void,
21798    ) -> *mut ::std::os::raw::c_void;
21799}
21800extern "C" {
21801    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_count"]
21802    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
21803}
21804extern "C" {
21805    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_get0_object"]
21806    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
21807}
21808extern "C" {
21809    #[link_name = "aws_lc_0_47_0_X509_ATTRIBUTE_get0_type"]
21810    pub fn X509_ATTRIBUTE_get0_type(
21811        attr: *mut X509_ATTRIBUTE,
21812        idx: ::std::os::raw::c_int,
21813    ) -> *mut ASN1_TYPE;
21814}
21815extern "C" {
21816    #[link_name = "aws_lc_0_47_0_X509_STORE_new"]
21817    pub fn X509_STORE_new() -> *mut X509_STORE;
21818}
21819extern "C" {
21820    #[link_name = "aws_lc_0_47_0_X509_STORE_up_ref"]
21821    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21822}
21823extern "C" {
21824    #[link_name = "aws_lc_0_47_0_X509_STORE_free"]
21825    pub fn X509_STORE_free(store: *mut X509_STORE);
21826}
21827extern "C" {
21828    #[link_name = "aws_lc_0_47_0_X509_STORE_add_cert"]
21829    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
21830}
21831extern "C" {
21832    #[link_name = "aws_lc_0_47_0_X509_STORE_add_crl"]
21833    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21834}
21835extern "C" {
21836    #[link_name = "aws_lc_0_47_0_X509_STORE_get0_param"]
21837    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
21838}
21839extern "C" {
21840    #[link_name = "aws_lc_0_47_0_X509_STORE_set1_param"]
21841    pub fn X509_STORE_set1_param(
21842        store: *mut X509_STORE,
21843        param: *const X509_VERIFY_PARAM,
21844    ) -> ::std::os::raw::c_int;
21845}
21846extern "C" {
21847    #[link_name = "aws_lc_0_47_0_X509_STORE_set_flags"]
21848    pub fn X509_STORE_set_flags(
21849        store: *mut X509_STORE,
21850        flags: ::std::os::raw::c_ulong,
21851    ) -> ::std::os::raw::c_int;
21852}
21853extern "C" {
21854    #[link_name = "aws_lc_0_47_0_X509_STORE_set_depth"]
21855    pub fn X509_STORE_set_depth(
21856        store: *mut X509_STORE,
21857        depth: ::std::os::raw::c_int,
21858    ) -> ::std::os::raw::c_int;
21859}
21860extern "C" {
21861    #[link_name = "aws_lc_0_47_0_X509_STORE_set_purpose"]
21862    pub fn X509_STORE_set_purpose(
21863        store: *mut X509_STORE,
21864        purpose: ::std::os::raw::c_int,
21865    ) -> ::std::os::raw::c_int;
21866}
21867extern "C" {
21868    #[link_name = "aws_lc_0_47_0_X509_STORE_set_trust"]
21869    pub fn X509_STORE_set_trust(
21870        store: *mut X509_STORE,
21871        trust: ::std::os::raw::c_int,
21872    ) -> ::std::os::raw::c_int;
21873}
21874#[repr(C)]
21875#[derive(Debug)]
21876pub struct stack_st_X509_OBJECT {
21877    _unused: [u8; 0],
21878}
21879pub type sk_X509_OBJECT_free_func =
21880    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
21881pub type sk_X509_OBJECT_copy_func =
21882    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
21883pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
21884    unsafe extern "C" fn(
21885        arg1: *const *const X509_OBJECT,
21886        arg2: *const *const X509_OBJECT,
21887    ) -> ::std::os::raw::c_int,
21888>;
21889pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
21890    unsafe extern "C" fn(
21891        arg1: *mut X509_OBJECT,
21892        arg2: *mut ::std::os::raw::c_void,
21893    ) -> ::std::os::raw::c_int,
21894>;
21895extern "C" {
21896    #[link_name = "aws_lc_0_47_0_X509_OBJECT_new"]
21897    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
21898}
21899extern "C" {
21900    #[link_name = "aws_lc_0_47_0_X509_OBJECT_free"]
21901    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
21902}
21903extern "C" {
21904    #[link_name = "aws_lc_0_47_0_X509_OBJECT_get_type"]
21905    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
21906}
21907extern "C" {
21908    #[link_name = "aws_lc_0_47_0_X509_OBJECT_get0_X509"]
21909    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
21910}
21911pub type X509_STORE_CTX_lookup_crls_fn = ::std::option::Option<
21912    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, nm: *mut X509_NAME) -> *mut stack_st_X509_CRL,
21913>;
21914extern "C" {
21915    #[link_name = "aws_lc_0_47_0_X509_STORE_get_lookup_crls"]
21916    pub fn X509_STORE_get_lookup_crls(ctx: *mut X509_STORE) -> X509_STORE_CTX_lookup_crls_fn;
21917}
21918extern "C" {
21919    #[link_name = "aws_lc_0_47_0_X509_STORE_set_lookup_crls"]
21920    pub fn X509_STORE_set_lookup_crls(
21921        ctx: *mut X509_STORE,
21922        lookup_crls: X509_STORE_CTX_lookup_crls_fn,
21923    );
21924}
21925extern "C" {
21926    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_new"]
21927    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
21928}
21929extern "C" {
21930    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_free"]
21931    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
21932}
21933extern "C" {
21934    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_init"]
21935    pub fn X509_STORE_CTX_init(
21936        ctx: *mut X509_STORE_CTX,
21937        store: *mut X509_STORE,
21938        x509: *mut X509,
21939        chain: *mut stack_st_X509,
21940    ) -> ::std::os::raw::c_int;
21941}
21942extern "C" {
21943    #[link_name = "aws_lc_0_47_0_X509_verify_cert"]
21944    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21945}
21946extern "C" {
21947    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_chain"]
21948    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21949}
21950extern "C" {
21951    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get1_chain"]
21952    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21953}
21954extern "C" {
21955    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_cert"]
21956    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
21957}
21958extern "C" {
21959    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_error"]
21960    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21961}
21962extern "C" {
21963    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_error"]
21964    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
21965}
21966extern "C" {
21967    #[link_name = "aws_lc_0_47_0_X509_verify_cert_error_string"]
21968    pub fn X509_verify_cert_error_string(
21969        err: ::std::os::raw::c_long,
21970    ) -> *const ::std::os::raw::c_char;
21971}
21972extern "C" {
21973    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_error_depth"]
21974    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21975}
21976extern "C" {
21977    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_current_cert"]
21978    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21979}
21980extern "C" {
21981    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_current_issuer"]
21982    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
21983}
21984extern "C" {
21985    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_current_crl"]
21986    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
21987}
21988extern "C" {
21989    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_store"]
21990    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
21991}
21992extern "C" {
21993    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_cert"]
21994    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21995}
21996extern "C" {
21997    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_untrusted"]
21998    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21999}
22000extern "C" {
22001    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set0_trusted_stack"]
22002    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22003}
22004extern "C" {
22005    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set0_crls"]
22006    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
22007}
22008extern "C" {
22009    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_default"]
22010    pub fn X509_STORE_CTX_set_default(
22011        ctx: *mut X509_STORE_CTX,
22012        name: *const ::std::os::raw::c_char,
22013    ) -> ::std::os::raw::c_int;
22014}
22015extern "C" {
22016    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_param"]
22017    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
22018}
22019extern "C" {
22020    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set0_param"]
22021    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
22022}
22023extern "C" {
22024    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_flags"]
22025    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
22026}
22027extern "C" {
22028    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_time"]
22029    pub fn X509_STORE_CTX_set_time(
22030        ctx: *mut X509_STORE_CTX,
22031        flags: ::std::os::raw::c_ulong,
22032        t: time_t,
22033    );
22034}
22035extern "C" {
22036    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_time_posix"]
22037    pub fn X509_STORE_CTX_set_time_posix(
22038        ctx: *mut X509_STORE_CTX,
22039        flags: ::std::os::raw::c_ulong,
22040        t: i64,
22041    );
22042}
22043extern "C" {
22044    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_depth"]
22045    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
22046}
22047extern "C" {
22048    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_purpose"]
22049    pub fn X509_STORE_CTX_set_purpose(
22050        ctx: *mut X509_STORE_CTX,
22051        purpose: ::std::os::raw::c_int,
22052    ) -> ::std::os::raw::c_int;
22053}
22054extern "C" {
22055    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_trust"]
22056    pub fn X509_STORE_CTX_set_trust(
22057        ctx: *mut X509_STORE_CTX,
22058        trust: ::std::os::raw::c_int,
22059    ) -> ::std::os::raw::c_int;
22060}
22061extern "C" {
22062    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_add_custom_crit_oid"]
22063    pub fn X509_STORE_CTX_add_custom_crit_oid(
22064        ctx: *mut X509_STORE_CTX,
22065        oid: *mut ASN1_OBJECT,
22066    ) -> ::std::os::raw::c_int;
22067}
22068pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
22069    unsafe extern "C" fn(
22070        ctx: *mut X509_STORE_CTX,
22071        x509: *mut X509,
22072        oids: *mut stack_st_ASN1_OBJECT,
22073    ) -> ::std::os::raw::c_int,
22074>;
22075extern "C" {
22076    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_verify_crit_oids"]
22077    pub fn X509_STORE_CTX_set_verify_crit_oids(
22078        ctx: *mut X509_STORE_CTX,
22079        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
22080    );
22081}
22082extern "C" {
22083    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_new"]
22084    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
22085}
22086extern "C" {
22087    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_free"]
22088    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
22089}
22090extern "C" {
22091    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_inherit"]
22092    pub fn X509_VERIFY_PARAM_inherit(
22093        to: *mut X509_VERIFY_PARAM,
22094        from: *const X509_VERIFY_PARAM,
22095    ) -> ::std::os::raw::c_int;
22096}
22097extern "C" {
22098    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1"]
22099    pub fn X509_VERIFY_PARAM_set1(
22100        to: *mut X509_VERIFY_PARAM,
22101        from: *const X509_VERIFY_PARAM,
22102    ) -> ::std::os::raw::c_int;
22103}
22104extern "C" {
22105    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_flags"]
22106    pub fn X509_VERIFY_PARAM_set_flags(
22107        param: *mut X509_VERIFY_PARAM,
22108        flags: ::std::os::raw::c_ulong,
22109    ) -> ::std::os::raw::c_int;
22110}
22111extern "C" {
22112    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_clear_flags"]
22113    pub fn X509_VERIFY_PARAM_clear_flags(
22114        param: *mut X509_VERIFY_PARAM,
22115        flags: ::std::os::raw::c_ulong,
22116    ) -> ::std::os::raw::c_int;
22117}
22118extern "C" {
22119    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_get_flags"]
22120    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
22121}
22122extern "C" {
22123    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_depth"]
22124    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
22125}
22126extern "C" {
22127    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_get_depth"]
22128    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
22129}
22130extern "C" {
22131    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_time"]
22132    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
22133}
22134extern "C" {
22135    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_time_posix"]
22136    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
22137}
22138extern "C" {
22139    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_add0_policy"]
22140    pub fn X509_VERIFY_PARAM_add0_policy(
22141        param: *mut X509_VERIFY_PARAM,
22142        policy: *mut ASN1_OBJECT,
22143    ) -> ::std::os::raw::c_int;
22144}
22145extern "C" {
22146    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1_policies"]
22147    pub fn X509_VERIFY_PARAM_set1_policies(
22148        param: *mut X509_VERIFY_PARAM,
22149        policies: *const stack_st_ASN1_OBJECT,
22150    ) -> ::std::os::raw::c_int;
22151}
22152extern "C" {
22153    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1_host"]
22154    pub fn X509_VERIFY_PARAM_set1_host(
22155        param: *mut X509_VERIFY_PARAM,
22156        name: *const ::std::os::raw::c_char,
22157        name_len: usize,
22158    ) -> ::std::os::raw::c_int;
22159}
22160extern "C" {
22161    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_add1_host"]
22162    pub fn X509_VERIFY_PARAM_add1_host(
22163        param: *mut X509_VERIFY_PARAM,
22164        name: *const ::std::os::raw::c_char,
22165        name_len: usize,
22166    ) -> ::std::os::raw::c_int;
22167}
22168extern "C" {
22169    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_hostflags"]
22170    pub fn X509_VERIFY_PARAM_set_hostflags(
22171        param: *mut X509_VERIFY_PARAM,
22172        flags: ::std::os::raw::c_uint,
22173    );
22174}
22175extern "C" {
22176    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_get_hostflags"]
22177    pub fn X509_VERIFY_PARAM_get_hostflags(
22178        param: *const X509_VERIFY_PARAM,
22179    ) -> ::std::os::raw::c_uint;
22180}
22181extern "C" {
22182    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1_email"]
22183    pub fn X509_VERIFY_PARAM_set1_email(
22184        param: *mut X509_VERIFY_PARAM,
22185        email: *const ::std::os::raw::c_char,
22186        email_len: usize,
22187    ) -> ::std::os::raw::c_int;
22188}
22189extern "C" {
22190    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1_ip"]
22191    pub fn X509_VERIFY_PARAM_set1_ip(
22192        param: *mut X509_VERIFY_PARAM,
22193        ip: *const u8,
22194        ip_len: usize,
22195    ) -> ::std::os::raw::c_int;
22196}
22197extern "C" {
22198    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set1_ip_asc"]
22199    pub fn X509_VERIFY_PARAM_set1_ip_asc(
22200        param: *mut X509_VERIFY_PARAM,
22201        ipasc: *const ::std::os::raw::c_char,
22202    ) -> ::std::os::raw::c_int;
22203}
22204extern "C" {
22205    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_purpose"]
22206    pub fn X509_VERIFY_PARAM_set_purpose(
22207        param: *mut X509_VERIFY_PARAM,
22208        purpose: ::std::os::raw::c_int,
22209    ) -> ::std::os::raw::c_int;
22210}
22211extern "C" {
22212    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_set_trust"]
22213    pub fn X509_VERIFY_PARAM_set_trust(
22214        param: *mut X509_VERIFY_PARAM,
22215        trust: ::std::os::raw::c_int,
22216    ) -> ::std::os::raw::c_int;
22217}
22218extern "C" {
22219    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_enable_ec_key_explicit_params"]
22220    pub fn X509_VERIFY_PARAM_enable_ec_key_explicit_params(
22221        param: *mut X509_VERIFY_PARAM,
22222    ) -> ::std::os::raw::c_int;
22223}
22224extern "C" {
22225    #[link_name = "aws_lc_0_47_0_X509_VERIFY_PARAM_disable_ec_key_explicit_params"]
22226    pub fn X509_VERIFY_PARAM_disable_ec_key_explicit_params(
22227        param: *mut X509_VERIFY_PARAM,
22228    ) -> ::std::os::raw::c_int;
22229}
22230extern "C" {
22231    #[link_name = "aws_lc_0_47_0_X509_STORE_load_locations"]
22232    pub fn X509_STORE_load_locations(
22233        store: *mut X509_STORE,
22234        file: *const ::std::os::raw::c_char,
22235        dir: *const ::std::os::raw::c_char,
22236    ) -> ::std::os::raw::c_int;
22237}
22238extern "C" {
22239    #[link_name = "aws_lc_0_47_0_X509_STORE_add_lookup"]
22240    pub fn X509_STORE_add_lookup(
22241        store: *mut X509_STORE,
22242        method: *const X509_LOOKUP_METHOD,
22243    ) -> *mut X509_LOOKUP;
22244}
22245extern "C" {
22246    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_hash_dir"]
22247    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
22248}
22249extern "C" {
22250    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_file"]
22251    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
22252}
22253extern "C" {
22254    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_load_file"]
22255    pub fn X509_LOOKUP_load_file(
22256        lookup: *mut X509_LOOKUP,
22257        file: *const ::std::os::raw::c_char,
22258        type_: ::std::os::raw::c_int,
22259    ) -> ::std::os::raw::c_int;
22260}
22261extern "C" {
22262    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_add_dir"]
22263    pub fn X509_LOOKUP_add_dir(
22264        lookup: *mut X509_LOOKUP,
22265        path: *const ::std::os::raw::c_char,
22266        type_: ::std::os::raw::c_int,
22267    ) -> ::std::os::raw::c_int;
22268}
22269extern "C" {
22270    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_ctrl"]
22271    pub fn X509_LOOKUP_ctrl(
22272        lookup: *mut X509_LOOKUP,
22273        cmd: ::std::os::raw::c_int,
22274        argc: *const ::std::os::raw::c_char,
22275        argl: ::std::os::raw::c_long,
22276        ret: *mut *mut ::std::os::raw::c_char,
22277    ) -> ::std::os::raw::c_int;
22278}
22279extern "C" {
22280    #[link_name = "aws_lc_0_47_0_X509_load_cert_file"]
22281    pub fn X509_load_cert_file(
22282        lookup: *mut X509_LOOKUP,
22283        file: *const ::std::os::raw::c_char,
22284        type_: ::std::os::raw::c_int,
22285    ) -> ::std::os::raw::c_int;
22286}
22287extern "C" {
22288    #[link_name = "aws_lc_0_47_0_X509_load_crl_file"]
22289    pub fn X509_load_crl_file(
22290        lookup: *mut X509_LOOKUP,
22291        file: *const ::std::os::raw::c_char,
22292        type_: ::std::os::raw::c_int,
22293    ) -> ::std::os::raw::c_int;
22294}
22295extern "C" {
22296    #[link_name = "aws_lc_0_47_0_X509_load_cert_crl_file"]
22297    pub fn X509_load_cert_crl_file(
22298        lookup: *mut X509_LOOKUP,
22299        file: *const ::std::os::raw::c_char,
22300        type_: ::std::os::raw::c_int,
22301    ) -> ::std::os::raw::c_int;
22302}
22303extern "C" {
22304    #[link_name = "aws_lc_0_47_0_X509_NAME_hash"]
22305    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
22306}
22307extern "C" {
22308    #[link_name = "aws_lc_0_47_0_X509_NAME_hash_old"]
22309    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
22310}
22311extern "C" {
22312    #[link_name = "aws_lc_0_47_0_X509_STORE_set_default_paths"]
22313    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22314}
22315extern "C" {
22316    #[link_name = "aws_lc_0_47_0_X509_get_default_cert_area"]
22317    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
22318}
22319extern "C" {
22320    #[link_name = "aws_lc_0_47_0_X509_get_default_cert_dir"]
22321    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
22322}
22323extern "C" {
22324    #[link_name = "aws_lc_0_47_0_X509_get_default_cert_file"]
22325    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
22326}
22327extern "C" {
22328    #[link_name = "aws_lc_0_47_0_X509_get_default_private_dir"]
22329    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
22330}
22331extern "C" {
22332    #[link_name = "aws_lc_0_47_0_X509_get_default_cert_dir_env"]
22333    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
22334}
22335extern "C" {
22336    #[link_name = "aws_lc_0_47_0_X509_get_default_cert_file_env"]
22337    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
22338}
22339#[repr(C)]
22340#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22341pub struct Netscape_spki_st {
22342    pub spkac: *mut NETSCAPE_SPKAC,
22343    pub sig_algor: *mut X509_ALGOR,
22344    pub signature: *mut ASN1_BIT_STRING,
22345}
22346#[test]
22347fn bindgen_test_layout_Netscape_spki_st() {
22348    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
22349    let ptr = UNINIT.as_ptr();
22350    assert_eq!(
22351        ::std::mem::size_of::<Netscape_spki_st>(),
22352        24usize,
22353        "Size of Netscape_spki_st"
22354    );
22355    assert_eq!(
22356        ::std::mem::align_of::<Netscape_spki_st>(),
22357        8usize,
22358        "Alignment of Netscape_spki_st"
22359    );
22360    assert_eq!(
22361        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
22362        0usize,
22363        "Offset of field: Netscape_spki_st::spkac"
22364    );
22365    assert_eq!(
22366        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
22367        8usize,
22368        "Offset of field: Netscape_spki_st::sig_algor"
22369    );
22370    assert_eq!(
22371        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
22372        16usize,
22373        "Offset of field: Netscape_spki_st::signature"
22374    );
22375}
22376impl Default for Netscape_spki_st {
22377    fn default() -> Self {
22378        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22379        unsafe {
22380            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22381            s.assume_init()
22382        }
22383    }
22384}
22385extern "C" {
22386    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_it"]
22387    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
22388}
22389extern "C" {
22390    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_new"]
22391    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
22392}
22393extern "C" {
22394    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_free"]
22395    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
22396}
22397extern "C" {
22398    #[link_name = "aws_lc_0_47_0_d2i_NETSCAPE_SPKI"]
22399    pub fn d2i_NETSCAPE_SPKI(
22400        out: *mut *mut NETSCAPE_SPKI,
22401        inp: *mut *const u8,
22402        len: ::std::os::raw::c_long,
22403    ) -> *mut NETSCAPE_SPKI;
22404}
22405extern "C" {
22406    #[link_name = "aws_lc_0_47_0_i2d_NETSCAPE_SPKI"]
22407    pub fn i2d_NETSCAPE_SPKI(
22408        spki: *const NETSCAPE_SPKI,
22409        outp: *mut *mut u8,
22410    ) -> ::std::os::raw::c_int;
22411}
22412extern "C" {
22413    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_verify"]
22414    pub fn NETSCAPE_SPKI_verify(
22415        spki: *mut NETSCAPE_SPKI,
22416        pkey: *mut EVP_PKEY,
22417    ) -> ::std::os::raw::c_int;
22418}
22419extern "C" {
22420    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_b64_decode"]
22421    pub fn NETSCAPE_SPKI_b64_decode(
22422        str_: *const ::std::os::raw::c_char,
22423        len: ossl_ssize_t,
22424    ) -> *mut NETSCAPE_SPKI;
22425}
22426extern "C" {
22427    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_b64_encode"]
22428    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
22429}
22430extern "C" {
22431    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_get_pubkey"]
22432    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
22433}
22434extern "C" {
22435    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_set_pubkey"]
22436    pub fn NETSCAPE_SPKI_set_pubkey(
22437        spki: *mut NETSCAPE_SPKI,
22438        pkey: *mut EVP_PKEY,
22439    ) -> ::std::os::raw::c_int;
22440}
22441extern "C" {
22442    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_sign"]
22443    pub fn NETSCAPE_SPKI_sign(
22444        spki: *mut NETSCAPE_SPKI,
22445        pkey: *mut EVP_PKEY,
22446        md: *const EVP_MD,
22447    ) -> ::std::os::raw::c_int;
22448}
22449#[repr(C)]
22450#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22451pub struct Netscape_spkac_st {
22452    pub pubkey: *mut X509_PUBKEY,
22453    pub challenge: *mut ASN1_IA5STRING,
22454}
22455#[test]
22456fn bindgen_test_layout_Netscape_spkac_st() {
22457    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
22458    let ptr = UNINIT.as_ptr();
22459    assert_eq!(
22460        ::std::mem::size_of::<Netscape_spkac_st>(),
22461        16usize,
22462        "Size of Netscape_spkac_st"
22463    );
22464    assert_eq!(
22465        ::std::mem::align_of::<Netscape_spkac_st>(),
22466        8usize,
22467        "Alignment of Netscape_spkac_st"
22468    );
22469    assert_eq!(
22470        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
22471        0usize,
22472        "Offset of field: Netscape_spkac_st::pubkey"
22473    );
22474    assert_eq!(
22475        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
22476        8usize,
22477        "Offset of field: Netscape_spkac_st::challenge"
22478    );
22479}
22480impl Default for Netscape_spkac_st {
22481    fn default() -> Self {
22482        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22483        unsafe {
22484            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22485            s.assume_init()
22486        }
22487    }
22488}
22489extern "C" {
22490    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKAC_it"]
22491    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
22492}
22493extern "C" {
22494    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKAC_new"]
22495    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
22496}
22497extern "C" {
22498    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKAC_free"]
22499    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
22500}
22501extern "C" {
22502    #[link_name = "aws_lc_0_47_0_d2i_NETSCAPE_SPKAC"]
22503    pub fn d2i_NETSCAPE_SPKAC(
22504        out: *mut *mut NETSCAPE_SPKAC,
22505        inp: *mut *const u8,
22506        len: ::std::os::raw::c_long,
22507    ) -> *mut NETSCAPE_SPKAC;
22508}
22509extern "C" {
22510    #[link_name = "aws_lc_0_47_0_i2d_NETSCAPE_SPKAC"]
22511    pub fn i2d_NETSCAPE_SPKAC(
22512        spkac: *const NETSCAPE_SPKAC,
22513        outp: *mut *mut u8,
22514    ) -> ::std::os::raw::c_int;
22515}
22516extern "C" {
22517    #[link_name = "aws_lc_0_47_0_NETSCAPE_SPKI_print"]
22518    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
22519}
22520#[repr(C)]
22521#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22522pub struct rsa_pss_params_st {
22523    pub hashAlgorithm: *mut X509_ALGOR,
22524    pub maskGenAlgorithm: *mut X509_ALGOR,
22525    pub saltLength: *mut ASN1_INTEGER,
22526    pub trailerField: *mut ASN1_INTEGER,
22527    pub maskHash: *mut X509_ALGOR,
22528}
22529#[test]
22530fn bindgen_test_layout_rsa_pss_params_st() {
22531    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
22532    let ptr = UNINIT.as_ptr();
22533    assert_eq!(
22534        ::std::mem::size_of::<rsa_pss_params_st>(),
22535        40usize,
22536        "Size of rsa_pss_params_st"
22537    );
22538    assert_eq!(
22539        ::std::mem::align_of::<rsa_pss_params_st>(),
22540        8usize,
22541        "Alignment of rsa_pss_params_st"
22542    );
22543    assert_eq!(
22544        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
22545        0usize,
22546        "Offset of field: rsa_pss_params_st::hashAlgorithm"
22547    );
22548    assert_eq!(
22549        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
22550        8usize,
22551        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
22552    );
22553    assert_eq!(
22554        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
22555        16usize,
22556        "Offset of field: rsa_pss_params_st::saltLength"
22557    );
22558    assert_eq!(
22559        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
22560        24usize,
22561        "Offset of field: rsa_pss_params_st::trailerField"
22562    );
22563    assert_eq!(
22564        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
22565        32usize,
22566        "Offset of field: rsa_pss_params_st::maskHash"
22567    );
22568}
22569impl Default for rsa_pss_params_st {
22570    fn default() -> Self {
22571        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22572        unsafe {
22573            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22574            s.assume_init()
22575        }
22576    }
22577}
22578extern "C" {
22579    #[link_name = "aws_lc_0_47_0_RSA_PSS_PARAMS_it"]
22580    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
22581}
22582extern "C" {
22583    #[link_name = "aws_lc_0_47_0_RSA_PSS_PARAMS_new"]
22584    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
22585}
22586extern "C" {
22587    #[link_name = "aws_lc_0_47_0_RSA_PSS_PARAMS_free"]
22588    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
22589}
22590extern "C" {
22591    #[link_name = "aws_lc_0_47_0_d2i_RSA_PSS_PARAMS"]
22592    pub fn d2i_RSA_PSS_PARAMS(
22593        out: *mut *mut RSA_PSS_PARAMS,
22594        inp: *mut *const u8,
22595        len: ::std::os::raw::c_long,
22596    ) -> *mut RSA_PSS_PARAMS;
22597}
22598extern "C" {
22599    #[link_name = "aws_lc_0_47_0_i2d_RSA_PSS_PARAMS"]
22600    pub fn i2d_RSA_PSS_PARAMS(
22601        in_: *const RSA_PSS_PARAMS,
22602        outp: *mut *mut u8,
22603    ) -> ::std::os::raw::c_int;
22604}
22605extern "C" {
22606    #[link_name = "aws_lc_0_47_0_PKCS8_PRIV_KEY_INFO_it"]
22607    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
22608}
22609extern "C" {
22610    #[link_name = "aws_lc_0_47_0_PKCS8_PRIV_KEY_INFO_new"]
22611    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
22612}
22613extern "C" {
22614    #[link_name = "aws_lc_0_47_0_PKCS8_PRIV_KEY_INFO_free"]
22615    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
22616}
22617extern "C" {
22618    #[link_name = "aws_lc_0_47_0_d2i_PKCS8_PRIV_KEY_INFO"]
22619    pub fn d2i_PKCS8_PRIV_KEY_INFO(
22620        out: *mut *mut PKCS8_PRIV_KEY_INFO,
22621        inp: *mut *const u8,
22622        len: ::std::os::raw::c_long,
22623    ) -> *mut PKCS8_PRIV_KEY_INFO;
22624}
22625extern "C" {
22626    #[link_name = "aws_lc_0_47_0_i2d_PKCS8_PRIV_KEY_INFO"]
22627    pub fn i2d_PKCS8_PRIV_KEY_INFO(
22628        key: *const PKCS8_PRIV_KEY_INFO,
22629        outp: *mut *mut u8,
22630    ) -> ::std::os::raw::c_int;
22631}
22632extern "C" {
22633    #[link_name = "aws_lc_0_47_0_EVP_PKCS82PKEY"]
22634    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
22635}
22636extern "C" {
22637    #[link_name = "aws_lc_0_47_0_EVP_PKEY2PKCS8"]
22638    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
22639}
22640extern "C" {
22641    #[link_name = "aws_lc_0_47_0_X509_SIG_it"]
22642    pub static X509_SIG_it: ASN1_ITEM;
22643}
22644extern "C" {
22645    #[link_name = "aws_lc_0_47_0_X509_SIG_new"]
22646    pub fn X509_SIG_new() -> *mut X509_SIG;
22647}
22648extern "C" {
22649    #[link_name = "aws_lc_0_47_0_X509_SIG_free"]
22650    pub fn X509_SIG_free(key: *mut X509_SIG);
22651}
22652extern "C" {
22653    #[link_name = "aws_lc_0_47_0_d2i_X509_SIG"]
22654    pub fn d2i_X509_SIG(
22655        out: *mut *mut X509_SIG,
22656        inp: *mut *const u8,
22657        len: ::std::os::raw::c_long,
22658    ) -> *mut X509_SIG;
22659}
22660extern "C" {
22661    #[link_name = "aws_lc_0_47_0_i2d_X509_SIG"]
22662    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22663}
22664extern "C" {
22665    #[link_name = "aws_lc_0_47_0_X509_SIG_get0"]
22666    pub fn X509_SIG_get0(
22667        sig: *const X509_SIG,
22668        out_alg: *mut *const X509_ALGOR,
22669        out_digest: *mut *const ASN1_OCTET_STRING,
22670    );
22671}
22672extern "C" {
22673    #[link_name = "aws_lc_0_47_0_X509_SIG_getm"]
22674    pub fn X509_SIG_getm(
22675        sig: *mut X509_SIG,
22676        out_alg: *mut *mut X509_ALGOR,
22677        out_digest: *mut *mut ASN1_OCTET_STRING,
22678    );
22679}
22680extern "C" {
22681    #[link_name = "aws_lc_0_47_0_X509_print_ex"]
22682    pub fn X509_print_ex(
22683        bp: *mut BIO,
22684        x: *mut X509,
22685        nmflag: ::std::os::raw::c_ulong,
22686        cflag: ::std::os::raw::c_ulong,
22687    ) -> ::std::os::raw::c_int;
22688}
22689extern "C" {
22690    #[link_name = "aws_lc_0_47_0_X509_print_ex_fp"]
22691    pub fn X509_print_ex_fp(
22692        fp: *mut FILE,
22693        x: *mut X509,
22694        nmflag: ::std::os::raw::c_ulong,
22695        cflag: ::std::os::raw::c_ulong,
22696    ) -> ::std::os::raw::c_int;
22697}
22698extern "C" {
22699    #[link_name = "aws_lc_0_47_0_X509_print"]
22700    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
22701}
22702extern "C" {
22703    #[link_name = "aws_lc_0_47_0_X509_print_fp"]
22704    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
22705}
22706extern "C" {
22707    #[link_name = "aws_lc_0_47_0_X509_CRL_print"]
22708    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22709}
22710extern "C" {
22711    #[link_name = "aws_lc_0_47_0_X509_CRL_print_fp"]
22712    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22713}
22714extern "C" {
22715    #[link_name = "aws_lc_0_47_0_X509_REQ_print_ex"]
22716    pub fn X509_REQ_print_ex(
22717        bp: *mut BIO,
22718        x: *mut X509_REQ,
22719        nmflag: ::std::os::raw::c_ulong,
22720        cflag: ::std::os::raw::c_ulong,
22721    ) -> ::std::os::raw::c_int;
22722}
22723extern "C" {
22724    #[link_name = "aws_lc_0_47_0_X509_REQ_print"]
22725    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22726}
22727extern "C" {
22728    #[link_name = "aws_lc_0_47_0_X509_REQ_print_fp"]
22729    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22730}
22731extern "C" {
22732    #[link_name = "aws_lc_0_47_0_X509_NAME_print_ex"]
22733    pub fn X509_NAME_print_ex(
22734        out: *mut BIO,
22735        nm: *const X509_NAME,
22736        indent: ::std::os::raw::c_int,
22737        flags: ::std::os::raw::c_ulong,
22738    ) -> ::std::os::raw::c_int;
22739}
22740extern "C" {
22741    #[link_name = "aws_lc_0_47_0_X509_NAME_print"]
22742    pub fn X509_NAME_print(
22743        bp: *mut BIO,
22744        name: *const X509_NAME,
22745        obase: ::std::os::raw::c_int,
22746    ) -> ::std::os::raw::c_int;
22747}
22748extern "C" {
22749    #[link_name = "aws_lc_0_47_0_X509_NAME_oneline"]
22750    pub fn X509_NAME_oneline(
22751        name: *const X509_NAME,
22752        buf: *mut ::std::os::raw::c_char,
22753        size: ::std::os::raw::c_int,
22754    ) -> *mut ::std::os::raw::c_char;
22755}
22756extern "C" {
22757    #[link_name = "aws_lc_0_47_0_X509_NAME_print_ex_fp"]
22758    pub fn X509_NAME_print_ex_fp(
22759        fp: *mut FILE,
22760        nm: *const X509_NAME,
22761        indent: ::std::os::raw::c_int,
22762        flags: ::std::os::raw::c_ulong,
22763    ) -> ::std::os::raw::c_int;
22764}
22765extern "C" {
22766    #[link_name = "aws_lc_0_47_0_X509_signature_dump"]
22767    pub fn X509_signature_dump(
22768        bio: *mut BIO,
22769        sig: *const ASN1_STRING,
22770        indent: ::std::os::raw::c_int,
22771    ) -> ::std::os::raw::c_int;
22772}
22773extern "C" {
22774    #[link_name = "aws_lc_0_47_0_X509_signature_print"]
22775    pub fn X509_signature_print(
22776        bio: *mut BIO,
22777        alg: *const X509_ALGOR,
22778        sig: *const ASN1_STRING,
22779    ) -> ::std::os::raw::c_int;
22780}
22781extern "C" {
22782    #[link_name = "aws_lc_0_47_0_X509V3_EXT_print"]
22783    pub fn X509V3_EXT_print(
22784        out: *mut BIO,
22785        ext: *const X509_EXTENSION,
22786        flag: ::std::os::raw::c_ulong,
22787        indent: ::std::os::raw::c_int,
22788    ) -> ::std::os::raw::c_int;
22789}
22790extern "C" {
22791    #[link_name = "aws_lc_0_47_0_X509V3_EXT_print_fp"]
22792    pub fn X509V3_EXT_print_fp(
22793        out: *mut FILE,
22794        ext: *const X509_EXTENSION,
22795        flag: ::std::os::raw::c_int,
22796        indent: ::std::os::raw::c_int,
22797    ) -> ::std::os::raw::c_int;
22798}
22799extern "C" {
22800    #[link_name = "aws_lc_0_47_0_X509V3_extensions_print"]
22801    pub fn X509V3_extensions_print(
22802        out: *mut BIO,
22803        title: *const ::std::os::raw::c_char,
22804        exts: *const stack_st_X509_EXTENSION,
22805        flag: ::std::os::raw::c_ulong,
22806        indent: ::std::os::raw::c_int,
22807    ) -> ::std::os::raw::c_int;
22808}
22809extern "C" {
22810    #[link_name = "aws_lc_0_47_0_GENERAL_NAME_print"]
22811    pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::std::os::raw::c_int;
22812}
22813extern "C" {
22814    #[link_name = "aws_lc_0_47_0_X509_pubkey_digest"]
22815    pub fn X509_pubkey_digest(
22816        x509: *const X509,
22817        md: *const EVP_MD,
22818        out: *mut u8,
22819        out_len: *mut ::std::os::raw::c_uint,
22820    ) -> ::std::os::raw::c_int;
22821}
22822extern "C" {
22823    #[link_name = "aws_lc_0_47_0_X509_digest"]
22824    pub fn X509_digest(
22825        x509: *const X509,
22826        md: *const EVP_MD,
22827        out: *mut u8,
22828        out_len: *mut ::std::os::raw::c_uint,
22829    ) -> ::std::os::raw::c_int;
22830}
22831extern "C" {
22832    #[link_name = "aws_lc_0_47_0_X509_CRL_digest"]
22833    pub fn X509_CRL_digest(
22834        crl: *const X509_CRL,
22835        md: *const EVP_MD,
22836        out: *mut u8,
22837        out_len: *mut ::std::os::raw::c_uint,
22838    ) -> ::std::os::raw::c_int;
22839}
22840extern "C" {
22841    #[link_name = "aws_lc_0_47_0_X509_REQ_digest"]
22842    pub fn X509_REQ_digest(
22843        req: *const X509_REQ,
22844        md: *const EVP_MD,
22845        out: *mut u8,
22846        out_len: *mut ::std::os::raw::c_uint,
22847    ) -> ::std::os::raw::c_int;
22848}
22849extern "C" {
22850    #[link_name = "aws_lc_0_47_0_X509_NAME_digest"]
22851    pub fn X509_NAME_digest(
22852        name: *const X509_NAME,
22853        md: *const EVP_MD,
22854        out: *mut u8,
22855        out_len: *mut ::std::os::raw::c_uint,
22856    ) -> ::std::os::raw::c_int;
22857}
22858extern "C" {
22859    #[link_name = "aws_lc_0_47_0_d2i_X509_bio"]
22860    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
22861}
22862extern "C" {
22863    #[link_name = "aws_lc_0_47_0_d2i_X509_CRL_bio"]
22864    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22865}
22866extern "C" {
22867    #[link_name = "aws_lc_0_47_0_d2i_X509_REQ_bio"]
22868    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22869}
22870extern "C" {
22871    #[link_name = "aws_lc_0_47_0_d2i_RSAPrivateKey_bio"]
22872    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22873}
22874extern "C" {
22875    #[link_name = "aws_lc_0_47_0_d2i_RSAPublicKey_bio"]
22876    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22877}
22878extern "C" {
22879    #[link_name = "aws_lc_0_47_0_d2i_RSA_PUBKEY_bio"]
22880    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22881}
22882extern "C" {
22883    #[link_name = "aws_lc_0_47_0_d2i_DSA_PUBKEY_bio"]
22884    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22885}
22886extern "C" {
22887    #[link_name = "aws_lc_0_47_0_d2i_DSAPrivateKey_bio"]
22888    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22889}
22890extern "C" {
22891    #[link_name = "aws_lc_0_47_0_d2i_EC_PUBKEY_bio"]
22892    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22893}
22894extern "C" {
22895    #[link_name = "aws_lc_0_47_0_d2i_ECPrivateKey_bio"]
22896    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22897}
22898extern "C" {
22899    #[link_name = "aws_lc_0_47_0_d2i_PKCS8_bio"]
22900    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22901}
22902extern "C" {
22903    #[link_name = "aws_lc_0_47_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
22904    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
22905        bp: *mut BIO,
22906        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22907    ) -> *mut PKCS8_PRIV_KEY_INFO;
22908}
22909extern "C" {
22910    #[link_name = "aws_lc_0_47_0_d2i_PUBKEY_bio"]
22911    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22912}
22913extern "C" {
22914    #[link_name = "aws_lc_0_47_0_d2i_DHparams_bio"]
22915    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
22916}
22917extern "C" {
22918    #[link_name = "aws_lc_0_47_0_d2i_PrivateKey_bio"]
22919    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22920}
22921extern "C" {
22922    #[link_name = "aws_lc_0_47_0_i2d_X509_bio"]
22923    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
22924}
22925extern "C" {
22926    #[link_name = "aws_lc_0_47_0_i2d_X509_CRL_bio"]
22927    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22928}
22929extern "C" {
22930    #[link_name = "aws_lc_0_47_0_i2d_X509_REQ_bio"]
22931    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22932}
22933extern "C" {
22934    #[link_name = "aws_lc_0_47_0_i2d_RSAPrivateKey_bio"]
22935    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22936}
22937extern "C" {
22938    #[link_name = "aws_lc_0_47_0_i2d_RSAPublicKey_bio"]
22939    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22940}
22941extern "C" {
22942    #[link_name = "aws_lc_0_47_0_i2d_RSA_PUBKEY_bio"]
22943    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22944}
22945extern "C" {
22946    #[link_name = "aws_lc_0_47_0_i2d_DSA_PUBKEY_bio"]
22947    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22948}
22949extern "C" {
22950    #[link_name = "aws_lc_0_47_0_i2d_DSAPrivateKey_bio"]
22951    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22952}
22953extern "C" {
22954    #[link_name = "aws_lc_0_47_0_i2d_EC_PUBKEY_bio"]
22955    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22956}
22957extern "C" {
22958    #[link_name = "aws_lc_0_47_0_i2d_ECPrivateKey_bio"]
22959    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22960}
22961extern "C" {
22962    #[link_name = "aws_lc_0_47_0_i2d_PKCS8_bio"]
22963    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22964}
22965extern "C" {
22966    #[link_name = "aws_lc_0_47_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
22967    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
22968        bp: *mut BIO,
22969        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22970    ) -> ::std::os::raw::c_int;
22971}
22972extern "C" {
22973    #[link_name = "aws_lc_0_47_0_i2d_PrivateKey_bio"]
22974    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22975}
22976extern "C" {
22977    #[link_name = "aws_lc_0_47_0_i2d_PUBKEY_bio"]
22978    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22979}
22980extern "C" {
22981    #[link_name = "aws_lc_0_47_0_i2d_DHparams_bio"]
22982    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
22983}
22984extern "C" {
22985    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKeyInfo_bio"]
22986    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22987}
22988extern "C" {
22989    #[link_name = "aws_lc_0_47_0_d2i_X509_fp"]
22990    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
22991}
22992extern "C" {
22993    #[link_name = "aws_lc_0_47_0_d2i_X509_CRL_fp"]
22994    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22995}
22996extern "C" {
22997    #[link_name = "aws_lc_0_47_0_d2i_X509_REQ_fp"]
22998    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22999}
23000extern "C" {
23001    #[link_name = "aws_lc_0_47_0_d2i_RSAPrivateKey_fp"]
23002    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23003}
23004extern "C" {
23005    #[link_name = "aws_lc_0_47_0_d2i_RSAPublicKey_fp"]
23006    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23007}
23008extern "C" {
23009    #[link_name = "aws_lc_0_47_0_d2i_RSA_PUBKEY_fp"]
23010    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23011}
23012extern "C" {
23013    #[link_name = "aws_lc_0_47_0_d2i_DSA_PUBKEY_fp"]
23014    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23015}
23016extern "C" {
23017    #[link_name = "aws_lc_0_47_0_d2i_DSAPrivateKey_fp"]
23018    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23019}
23020extern "C" {
23021    #[link_name = "aws_lc_0_47_0_d2i_EC_PUBKEY_fp"]
23022    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23023}
23024extern "C" {
23025    #[link_name = "aws_lc_0_47_0_d2i_ECPrivateKey_fp"]
23026    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23027}
23028extern "C" {
23029    #[link_name = "aws_lc_0_47_0_d2i_PKCS8_fp"]
23030    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23031}
23032extern "C" {
23033    #[link_name = "aws_lc_0_47_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
23034    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
23035        fp: *mut FILE,
23036        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23037    ) -> *mut PKCS8_PRIV_KEY_INFO;
23038}
23039extern "C" {
23040    #[link_name = "aws_lc_0_47_0_d2i_PrivateKey_fp"]
23041    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23042}
23043extern "C" {
23044    #[link_name = "aws_lc_0_47_0_d2i_PUBKEY_fp"]
23045    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23046}
23047extern "C" {
23048    #[link_name = "aws_lc_0_47_0_i2d_X509_fp"]
23049    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
23050}
23051extern "C" {
23052    #[link_name = "aws_lc_0_47_0_i2d_X509_CRL_fp"]
23053    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23054}
23055extern "C" {
23056    #[link_name = "aws_lc_0_47_0_i2d_X509_REQ_fp"]
23057    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23058}
23059extern "C" {
23060    #[link_name = "aws_lc_0_47_0_i2d_RSAPrivateKey_fp"]
23061    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23062}
23063extern "C" {
23064    #[link_name = "aws_lc_0_47_0_i2d_RSAPublicKey_fp"]
23065    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23066}
23067extern "C" {
23068    #[link_name = "aws_lc_0_47_0_i2d_RSA_PUBKEY_fp"]
23069    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23070}
23071extern "C" {
23072    #[link_name = "aws_lc_0_47_0_i2d_DSA_PUBKEY_fp"]
23073    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23074}
23075extern "C" {
23076    #[link_name = "aws_lc_0_47_0_i2d_DSAPrivateKey_fp"]
23077    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23078}
23079extern "C" {
23080    #[link_name = "aws_lc_0_47_0_i2d_EC_PUBKEY_fp"]
23081    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23082}
23083extern "C" {
23084    #[link_name = "aws_lc_0_47_0_i2d_ECPrivateKey_fp"]
23085    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23086}
23087extern "C" {
23088    #[link_name = "aws_lc_0_47_0_i2d_PKCS8_fp"]
23089    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23090}
23091extern "C" {
23092    #[link_name = "aws_lc_0_47_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
23093    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
23094        fp: *mut FILE,
23095        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23096    ) -> ::std::os::raw::c_int;
23097}
23098extern "C" {
23099    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKeyInfo_fp"]
23100    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23101}
23102extern "C" {
23103    #[link_name = "aws_lc_0_47_0_i2d_PrivateKey_fp"]
23104    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23105}
23106extern "C" {
23107    #[link_name = "aws_lc_0_47_0_i2d_PUBKEY_fp"]
23108    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23109}
23110extern "C" {
23111    #[link_name = "aws_lc_0_47_0_X509_find_by_issuer_and_serial"]
23112    pub fn X509_find_by_issuer_and_serial(
23113        sk: *const stack_st_X509,
23114        name: *mut X509_NAME,
23115        serial: *const ASN1_INTEGER,
23116    ) -> *mut X509;
23117}
23118extern "C" {
23119    #[link_name = "aws_lc_0_47_0_X509_find_by_subject"]
23120    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
23121}
23122extern "C" {
23123    #[link_name = "aws_lc_0_47_0_X509_cmp_time"]
23124    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
23125}
23126extern "C" {
23127    #[link_name = "aws_lc_0_47_0_X509_cmp_time_posix"]
23128    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
23129}
23130extern "C" {
23131    #[link_name = "aws_lc_0_47_0_X509_cmp_current_time"]
23132    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
23133}
23134extern "C" {
23135    #[link_name = "aws_lc_0_47_0_X509_time_adj"]
23136    pub fn X509_time_adj(
23137        s: *mut ASN1_TIME,
23138        offset_sec: ::std::os::raw::c_long,
23139        t: *const time_t,
23140    ) -> *mut ASN1_TIME;
23141}
23142extern "C" {
23143    #[link_name = "aws_lc_0_47_0_X509_time_adj_ex"]
23144    pub fn X509_time_adj_ex(
23145        s: *mut ASN1_TIME,
23146        offset_day: ::std::os::raw::c_int,
23147        offset_sec: ::std::os::raw::c_long,
23148        t: *const time_t,
23149    ) -> *mut ASN1_TIME;
23150}
23151extern "C" {
23152    #[link_name = "aws_lc_0_47_0_X509_gmtime_adj"]
23153    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
23154        -> *mut ASN1_TIME;
23155}
23156extern "C" {
23157    #[link_name = "aws_lc_0_47_0_X509_issuer_name_cmp"]
23158    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23159}
23160extern "C" {
23161    #[link_name = "aws_lc_0_47_0_X509_subject_name_cmp"]
23162    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23163}
23164extern "C" {
23165    #[link_name = "aws_lc_0_47_0_X509_CRL_cmp"]
23166    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
23167}
23168extern "C" {
23169    #[link_name = "aws_lc_0_47_0_X509_issuer_name_hash"]
23170    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
23171}
23172extern "C" {
23173    #[link_name = "aws_lc_0_47_0_X509_subject_name_hash"]
23174    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
23175}
23176extern "C" {
23177    #[link_name = "aws_lc_0_47_0_X509_issuer_name_hash_old"]
23178    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
23179}
23180extern "C" {
23181    #[link_name = "aws_lc_0_47_0_X509_subject_name_hash_old"]
23182    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
23183}
23184extern "C" {
23185    #[link_name = "aws_lc_0_47_0_X509_get_ex_new_index"]
23186    pub fn X509_get_ex_new_index(
23187        argl: ::std::os::raw::c_long,
23188        argp: *mut ::std::os::raw::c_void,
23189        unused: *mut CRYPTO_EX_unused,
23190        dup_unused: CRYPTO_EX_dup,
23191        free_func: CRYPTO_EX_free,
23192    ) -> ::std::os::raw::c_int;
23193}
23194extern "C" {
23195    #[link_name = "aws_lc_0_47_0_X509_set_ex_data"]
23196    pub fn X509_set_ex_data(
23197        r: *mut X509,
23198        idx: ::std::os::raw::c_int,
23199        arg: *mut ::std::os::raw::c_void,
23200    ) -> ::std::os::raw::c_int;
23201}
23202extern "C" {
23203    #[link_name = "aws_lc_0_47_0_X509_get_ex_data"]
23204    pub fn X509_get_ex_data(
23205        r: *mut X509,
23206        idx: ::std::os::raw::c_int,
23207    ) -> *mut ::std::os::raw::c_void;
23208}
23209extern "C" {
23210    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_ex_new_index"]
23211    pub fn X509_STORE_CTX_get_ex_new_index(
23212        argl: ::std::os::raw::c_long,
23213        argp: *mut ::std::os::raw::c_void,
23214        unused: *mut CRYPTO_EX_unused,
23215        dup_unused: CRYPTO_EX_dup,
23216        free_func: CRYPTO_EX_free,
23217    ) -> ::std::os::raw::c_int;
23218}
23219extern "C" {
23220    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_ex_data"]
23221    pub fn X509_STORE_CTX_set_ex_data(
23222        ctx: *mut X509_STORE_CTX,
23223        idx: ::std::os::raw::c_int,
23224        data: *mut ::std::os::raw::c_void,
23225    ) -> ::std::os::raw::c_int;
23226}
23227extern "C" {
23228    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_ex_data"]
23229    pub fn X509_STORE_CTX_get_ex_data(
23230        ctx: *mut X509_STORE_CTX,
23231        idx: ::std::os::raw::c_int,
23232    ) -> *mut ::std::os::raw::c_void;
23233}
23234extern "C" {
23235    #[link_name = "aws_lc_0_47_0_X509_STORE_get_ex_new_index"]
23236    pub fn X509_STORE_get_ex_new_index(
23237        argl: ::std::os::raw::c_long,
23238        argp: *mut ::std::os::raw::c_void,
23239        unused: *mut CRYPTO_EX_unused,
23240        dup_unused: CRYPTO_EX_dup,
23241        free_func: CRYPTO_EX_free,
23242    ) -> ::std::os::raw::c_int;
23243}
23244extern "C" {
23245    #[link_name = "aws_lc_0_47_0_X509_STORE_set_ex_data"]
23246    pub fn X509_STORE_set_ex_data(
23247        ctx: *mut X509_STORE,
23248        idx: ::std::os::raw::c_int,
23249        data: *mut ::std::os::raw::c_void,
23250    ) -> ::std::os::raw::c_int;
23251}
23252extern "C" {
23253    #[link_name = "aws_lc_0_47_0_X509_STORE_get_ex_data"]
23254    pub fn X509_STORE_get_ex_data(
23255        ctx: *mut X509_STORE,
23256        idx: ::std::os::raw::c_int,
23257    ) -> *mut ::std::os::raw::c_void;
23258}
23259extern "C" {
23260    #[link_name = "aws_lc_0_47_0_ASN1_digest"]
23261    pub fn ASN1_digest(
23262        i2d: i2d_of_void,
23263        type_: *const EVP_MD,
23264        data: *mut ::std::os::raw::c_char,
23265        md: *mut ::std::os::raw::c_uchar,
23266        len: *mut ::std::os::raw::c_uint,
23267    ) -> ::std::os::raw::c_int;
23268}
23269extern "C" {
23270    #[link_name = "aws_lc_0_47_0_ASN1_item_digest"]
23271    pub fn ASN1_item_digest(
23272        it: *const ASN1_ITEM,
23273        type_: *const EVP_MD,
23274        data: *mut ::std::os::raw::c_void,
23275        md: *mut ::std::os::raw::c_uchar,
23276        len: *mut ::std::os::raw::c_uint,
23277    ) -> ::std::os::raw::c_int;
23278}
23279extern "C" {
23280    #[link_name = "aws_lc_0_47_0_ASN1_item_verify"]
23281    pub fn ASN1_item_verify(
23282        it: *const ASN1_ITEM,
23283        algor1: *const X509_ALGOR,
23284        signature: *const ASN1_BIT_STRING,
23285        data: *mut ::std::os::raw::c_void,
23286        pkey: *mut EVP_PKEY,
23287    ) -> ::std::os::raw::c_int;
23288}
23289extern "C" {
23290    #[link_name = "aws_lc_0_47_0_ASN1_item_sign"]
23291    pub fn ASN1_item_sign(
23292        it: *const ASN1_ITEM,
23293        algor1: *mut X509_ALGOR,
23294        algor2: *mut X509_ALGOR,
23295        signature: *mut ASN1_BIT_STRING,
23296        data: *mut ::std::os::raw::c_void,
23297        pkey: *mut EVP_PKEY,
23298        type_: *const EVP_MD,
23299    ) -> ::std::os::raw::c_int;
23300}
23301extern "C" {
23302    #[link_name = "aws_lc_0_47_0_ASN1_item_sign_ctx"]
23303    pub fn ASN1_item_sign_ctx(
23304        it: *const ASN1_ITEM,
23305        algor1: *mut X509_ALGOR,
23306        algor2: *mut X509_ALGOR,
23307        signature: *mut ASN1_BIT_STRING,
23308        asn: *mut ::std::os::raw::c_void,
23309        ctx: *mut EVP_MD_CTX,
23310    ) -> ::std::os::raw::c_int;
23311}
23312extern "C" {
23313    #[link_name = "aws_lc_0_47_0_X509_supported_extension"]
23314    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
23315}
23316extern "C" {
23317    #[link_name = "aws_lc_0_47_0_X509_check_ca"]
23318    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
23319}
23320extern "C" {
23321    #[link_name = "aws_lc_0_47_0_X509_check_issued"]
23322    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
23323}
23324extern "C" {
23325    #[link_name = "aws_lc_0_47_0_NAME_CONSTRAINTS_check"]
23326    pub fn NAME_CONSTRAINTS_check(
23327        x509: *mut X509,
23328        nc: *mut NAME_CONSTRAINTS,
23329    ) -> ::std::os::raw::c_int;
23330}
23331extern "C" {
23332    #[link_name = "aws_lc_0_47_0_X509_check_host"]
23333    pub fn X509_check_host(
23334        x509: *const X509,
23335        chk: *const ::std::os::raw::c_char,
23336        chklen: usize,
23337        flags: ::std::os::raw::c_uint,
23338        out_peername: *mut *mut ::std::os::raw::c_char,
23339    ) -> ::std::os::raw::c_int;
23340}
23341extern "C" {
23342    #[link_name = "aws_lc_0_47_0_X509_check_email"]
23343    pub fn X509_check_email(
23344        x509: *const X509,
23345        chk: *const ::std::os::raw::c_char,
23346        chklen: usize,
23347        flags: ::std::os::raw::c_uint,
23348    ) -> ::std::os::raw::c_int;
23349}
23350extern "C" {
23351    #[link_name = "aws_lc_0_47_0_X509_check_ip"]
23352    pub fn X509_check_ip(
23353        x509: *const X509,
23354        chk: *const u8,
23355        chklen: usize,
23356        flags: ::std::os::raw::c_uint,
23357    ) -> ::std::os::raw::c_int;
23358}
23359extern "C" {
23360    #[link_name = "aws_lc_0_47_0_X509_check_ip_asc"]
23361    pub fn X509_check_ip_asc(
23362        x509: *const X509,
23363        ipasc: *const ::std::os::raw::c_char,
23364        flags: ::std::os::raw::c_uint,
23365    ) -> ::std::os::raw::c_int;
23366}
23367extern "C" {
23368    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get1_issuer"]
23369    pub fn X509_STORE_CTX_get1_issuer(
23370        out_issuer: *mut *mut X509,
23371        ctx: *mut X509_STORE_CTX,
23372        x509: *mut X509,
23373    ) -> ::std::os::raw::c_int;
23374}
23375extern "C" {
23376    #[link_name = "aws_lc_0_47_0_X509_check_purpose"]
23377    pub fn X509_check_purpose(
23378        x509: *mut X509,
23379        purpose: ::std::os::raw::c_int,
23380        ca: ::std::os::raw::c_int,
23381    ) -> ::std::os::raw::c_int;
23382}
23383extern "C" {
23384    #[link_name = "aws_lc_0_47_0_X509_check_trust"]
23385    pub fn X509_check_trust(
23386        x509: *mut X509,
23387        id: ::std::os::raw::c_int,
23388        flags: ::std::os::raw::c_int,
23389    ) -> ::std::os::raw::c_int;
23390}
23391#[repr(C)]
23392#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23393pub struct private_key_st {
23394    pub dec_pkey: *mut EVP_PKEY,
23395}
23396#[test]
23397fn bindgen_test_layout_private_key_st() {
23398    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
23399    let ptr = UNINIT.as_ptr();
23400    assert_eq!(
23401        ::std::mem::size_of::<private_key_st>(),
23402        8usize,
23403        "Size of private_key_st"
23404    );
23405    assert_eq!(
23406        ::std::mem::align_of::<private_key_st>(),
23407        8usize,
23408        "Alignment of private_key_st"
23409    );
23410    assert_eq!(
23411        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
23412        0usize,
23413        "Offset of field: private_key_st::dec_pkey"
23414    );
23415}
23416impl Default for private_key_st {
23417    fn default() -> Self {
23418        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23419        unsafe {
23420            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23421            s.assume_init()
23422        }
23423    }
23424}
23425#[repr(C)]
23426#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23427pub struct X509_info_st {
23428    pub x509: *mut X509,
23429    pub crl: *mut X509_CRL,
23430    pub x_pkey: *mut X509_PKEY,
23431    pub enc_cipher: EVP_CIPHER_INFO,
23432    pub enc_len: ::std::os::raw::c_int,
23433    pub enc_data: *mut ::std::os::raw::c_char,
23434}
23435#[test]
23436fn bindgen_test_layout_X509_info_st() {
23437    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
23438    let ptr = UNINIT.as_ptr();
23439    assert_eq!(
23440        ::std::mem::size_of::<X509_info_st>(),
23441        64usize,
23442        "Size of X509_info_st"
23443    );
23444    assert_eq!(
23445        ::std::mem::align_of::<X509_info_st>(),
23446        8usize,
23447        "Alignment of X509_info_st"
23448    );
23449    assert_eq!(
23450        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
23451        0usize,
23452        "Offset of field: X509_info_st::x509"
23453    );
23454    assert_eq!(
23455        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23456        8usize,
23457        "Offset of field: X509_info_st::crl"
23458    );
23459    assert_eq!(
23460        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
23461        16usize,
23462        "Offset of field: X509_info_st::x_pkey"
23463    );
23464    assert_eq!(
23465        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
23466        24usize,
23467        "Offset of field: X509_info_st::enc_cipher"
23468    );
23469    assert_eq!(
23470        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
23471        48usize,
23472        "Offset of field: X509_info_st::enc_len"
23473    );
23474    assert_eq!(
23475        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
23476        56usize,
23477        "Offset of field: X509_info_st::enc_data"
23478    );
23479}
23480impl Default for X509_info_st {
23481    fn default() -> Self {
23482        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23483        unsafe {
23484            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23485            s.assume_init()
23486        }
23487    }
23488}
23489#[repr(C)]
23490#[derive(Debug)]
23491pub struct stack_st_X509_INFO {
23492    _unused: [u8; 0],
23493}
23494pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
23495pub type sk_X509_INFO_copy_func =
23496    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
23497pub type sk_X509_INFO_cmp_func = ::std::option::Option<
23498    unsafe extern "C" fn(
23499        arg1: *const *const X509_INFO,
23500        arg2: *const *const X509_INFO,
23501    ) -> ::std::os::raw::c_int,
23502>;
23503pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
23504    unsafe extern "C" fn(
23505        arg1: *mut X509_INFO,
23506        arg2: *mut ::std::os::raw::c_void,
23507    ) -> ::std::os::raw::c_int,
23508>;
23509extern "C" {
23510    #[link_name = "aws_lc_0_47_0_X509_INFO_free"]
23511    pub fn X509_INFO_free(info: *mut X509_INFO);
23512}
23513pub type X509V3_EXT_NEW =
23514    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
23515pub type X509V3_EXT_FREE =
23516    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
23517pub type X509V3_EXT_D2I = ::std::option::Option<
23518    unsafe extern "C" fn(
23519        ext: *mut ::std::os::raw::c_void,
23520        inp: *mut *const u8,
23521        len: ::std::os::raw::c_long,
23522    ) -> *mut ::std::os::raw::c_void,
23523>;
23524pub type X509V3_EXT_I2D = ::std::option::Option<
23525    unsafe extern "C" fn(
23526        ext: *mut ::std::os::raw::c_void,
23527        outp: *mut *mut u8,
23528    ) -> ::std::os::raw::c_int,
23529>;
23530pub type X509V3_EXT_I2V = ::std::option::Option<
23531    unsafe extern "C" fn(
23532        method: *const X509V3_EXT_METHOD,
23533        ext: *mut ::std::os::raw::c_void,
23534        extlist: *mut stack_st_CONF_VALUE,
23535    ) -> *mut stack_st_CONF_VALUE,
23536>;
23537pub type X509V3_EXT_V2I = ::std::option::Option<
23538    unsafe extern "C" fn(
23539        method: *const X509V3_EXT_METHOD,
23540        ctx: *const X509V3_CTX,
23541        values: *const stack_st_CONF_VALUE,
23542    ) -> *mut ::std::os::raw::c_void,
23543>;
23544pub type X509V3_EXT_I2S = ::std::option::Option<
23545    unsafe extern "C" fn(
23546        method: *const X509V3_EXT_METHOD,
23547        ext: *mut ::std::os::raw::c_void,
23548    ) -> *mut ::std::os::raw::c_char,
23549>;
23550pub type X509V3_EXT_S2I = ::std::option::Option<
23551    unsafe extern "C" fn(
23552        method: *const X509V3_EXT_METHOD,
23553        ctx: *const X509V3_CTX,
23554        str_: *const ::std::os::raw::c_char,
23555    ) -> *mut ::std::os::raw::c_void,
23556>;
23557pub type X509V3_EXT_I2R = ::std::option::Option<
23558    unsafe extern "C" fn(
23559        method: *const X509V3_EXT_METHOD,
23560        ext: *mut ::std::os::raw::c_void,
23561        out: *mut BIO,
23562        indent: ::std::os::raw::c_int,
23563    ) -> ::std::os::raw::c_int,
23564>;
23565pub type X509V3_EXT_R2I = ::std::option::Option<
23566    unsafe extern "C" fn(
23567        method: *const X509V3_EXT_METHOD,
23568        ctx: *const X509V3_CTX,
23569        str_: *const ::std::os::raw::c_char,
23570    ) -> *mut ::std::os::raw::c_void,
23571>;
23572#[repr(C)]
23573#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23574pub struct v3_ext_method {
23575    pub ext_nid: ::std::os::raw::c_int,
23576    pub ext_flags: ::std::os::raw::c_int,
23577    pub it: *const ASN1_ITEM_st,
23578    pub ext_new: X509V3_EXT_NEW,
23579    pub ext_free: X509V3_EXT_FREE,
23580    pub d2i: X509V3_EXT_D2I,
23581    pub i2d: X509V3_EXT_I2D,
23582    pub i2s: X509V3_EXT_I2S,
23583    pub s2i: X509V3_EXT_S2I,
23584    pub i2v: X509V3_EXT_I2V,
23585    pub v2i: X509V3_EXT_V2I,
23586    pub i2r: X509V3_EXT_I2R,
23587    pub r2i: X509V3_EXT_R2I,
23588    pub usr_data: *mut ::std::os::raw::c_void,
23589}
23590#[test]
23591fn bindgen_test_layout_v3_ext_method() {
23592    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
23593    let ptr = UNINIT.as_ptr();
23594    assert_eq!(
23595        ::std::mem::size_of::<v3_ext_method>(),
23596        104usize,
23597        "Size of v3_ext_method"
23598    );
23599    assert_eq!(
23600        ::std::mem::align_of::<v3_ext_method>(),
23601        8usize,
23602        "Alignment of v3_ext_method"
23603    );
23604    assert_eq!(
23605        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
23606        0usize,
23607        "Offset of field: v3_ext_method::ext_nid"
23608    );
23609    assert_eq!(
23610        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
23611        4usize,
23612        "Offset of field: v3_ext_method::ext_flags"
23613    );
23614    assert_eq!(
23615        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
23616        8usize,
23617        "Offset of field: v3_ext_method::it"
23618    );
23619    assert_eq!(
23620        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
23621        16usize,
23622        "Offset of field: v3_ext_method::ext_new"
23623    );
23624    assert_eq!(
23625        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
23626        24usize,
23627        "Offset of field: v3_ext_method::ext_free"
23628    );
23629    assert_eq!(
23630        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
23631        32usize,
23632        "Offset of field: v3_ext_method::d2i"
23633    );
23634    assert_eq!(
23635        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
23636        40usize,
23637        "Offset of field: v3_ext_method::i2d"
23638    );
23639    assert_eq!(
23640        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
23641        48usize,
23642        "Offset of field: v3_ext_method::i2s"
23643    );
23644    assert_eq!(
23645        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
23646        56usize,
23647        "Offset of field: v3_ext_method::s2i"
23648    );
23649    assert_eq!(
23650        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
23651        64usize,
23652        "Offset of field: v3_ext_method::i2v"
23653    );
23654    assert_eq!(
23655        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
23656        72usize,
23657        "Offset of field: v3_ext_method::v2i"
23658    );
23659    assert_eq!(
23660        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
23661        80usize,
23662        "Offset of field: v3_ext_method::i2r"
23663    );
23664    assert_eq!(
23665        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
23666        88usize,
23667        "Offset of field: v3_ext_method::r2i"
23668    );
23669    assert_eq!(
23670        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23671        96usize,
23672        "Offset of field: v3_ext_method::usr_data"
23673    );
23674}
23675impl Default for v3_ext_method {
23676    fn default() -> Self {
23677        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23678        unsafe {
23679            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23680            s.assume_init()
23681        }
23682    }
23683}
23684extern "C" {
23685    #[link_name = "aws_lc_0_47_0_X509V3_EXT_get"]
23686    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
23687}
23688extern "C" {
23689    #[link_name = "aws_lc_0_47_0_X509V3_EXT_get_nid"]
23690    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
23691}
23692extern "C" {
23693    #[link_name = "aws_lc_0_47_0_X509V3_EXT_add"]
23694    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
23695}
23696extern "C" {
23697    #[link_name = "aws_lc_0_47_0_X509V3_EXT_add_alias"]
23698    pub fn X509V3_EXT_add_alias(
23699        nid_to: ::std::os::raw::c_int,
23700        nid_from: ::std::os::raw::c_int,
23701    ) -> ::std::os::raw::c_int;
23702}
23703#[repr(C)]
23704#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23705pub struct v3_ext_ctx {
23706    pub flags: ::std::os::raw::c_int,
23707    pub issuer_cert: *const X509,
23708    pub subject_cert: *const X509,
23709    pub subject_req: *const X509_REQ,
23710    pub crl: *const X509_CRL,
23711    pub db: *const CONF,
23712}
23713#[test]
23714fn bindgen_test_layout_v3_ext_ctx() {
23715    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
23716    let ptr = UNINIT.as_ptr();
23717    assert_eq!(
23718        ::std::mem::size_of::<v3_ext_ctx>(),
23719        48usize,
23720        "Size of v3_ext_ctx"
23721    );
23722    assert_eq!(
23723        ::std::mem::align_of::<v3_ext_ctx>(),
23724        8usize,
23725        "Alignment of v3_ext_ctx"
23726    );
23727    assert_eq!(
23728        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23729        0usize,
23730        "Offset of field: v3_ext_ctx::flags"
23731    );
23732    assert_eq!(
23733        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
23734        8usize,
23735        "Offset of field: v3_ext_ctx::issuer_cert"
23736    );
23737    assert_eq!(
23738        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
23739        16usize,
23740        "Offset of field: v3_ext_ctx::subject_cert"
23741    );
23742    assert_eq!(
23743        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
23744        24usize,
23745        "Offset of field: v3_ext_ctx::subject_req"
23746    );
23747    assert_eq!(
23748        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23749        32usize,
23750        "Offset of field: v3_ext_ctx::crl"
23751    );
23752    assert_eq!(
23753        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
23754        40usize,
23755        "Offset of field: v3_ext_ctx::db"
23756    );
23757}
23758impl Default for v3_ext_ctx {
23759    fn default() -> Self {
23760        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23761        unsafe {
23762            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23763            s.assume_init()
23764        }
23765    }
23766}
23767extern "C" {
23768    #[link_name = "aws_lc_0_47_0_X509V3_set_ctx"]
23769    pub fn X509V3_set_ctx(
23770        ctx: *mut X509V3_CTX,
23771        issuer: *const X509,
23772        subject: *const X509,
23773        req: *const X509_REQ,
23774        crl: *const X509_CRL,
23775        flags: ::std::os::raw::c_int,
23776    );
23777}
23778extern "C" {
23779    #[link_name = "aws_lc_0_47_0_X509V3_set_nconf"]
23780    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
23781}
23782extern "C" {
23783    #[link_name = "aws_lc_0_47_0_X509V3_EXT_nconf"]
23784    pub fn X509V3_EXT_nconf(
23785        conf: *const CONF,
23786        ctx: *const X509V3_CTX,
23787        name: *const ::std::os::raw::c_char,
23788        value: *const ::std::os::raw::c_char,
23789    ) -> *mut X509_EXTENSION;
23790}
23791extern "C" {
23792    #[link_name = "aws_lc_0_47_0_X509V3_EXT_nconf_nid"]
23793    pub fn X509V3_EXT_nconf_nid(
23794        conf: *const CONF,
23795        ctx: *const X509V3_CTX,
23796        ext_nid: ::std::os::raw::c_int,
23797        value: *const ::std::os::raw::c_char,
23798    ) -> *mut X509_EXTENSION;
23799}
23800extern "C" {
23801    #[link_name = "aws_lc_0_47_0_X509V3_EXT_conf_nid"]
23802    pub fn X509V3_EXT_conf_nid(
23803        conf: *mut lhash_st_CONF_VALUE,
23804        ctx: *const X509V3_CTX,
23805        ext_nid: ::std::os::raw::c_int,
23806        value: *const ::std::os::raw::c_char,
23807    ) -> *mut X509_EXTENSION;
23808}
23809extern "C" {
23810    #[link_name = "aws_lc_0_47_0_X509V3_EXT_add_nconf_sk"]
23811    pub fn X509V3_EXT_add_nconf_sk(
23812        conf: *const CONF,
23813        ctx: *const X509V3_CTX,
23814        section: *const ::std::os::raw::c_char,
23815        sk: *mut *mut stack_st_X509_EXTENSION,
23816    ) -> ::std::os::raw::c_int;
23817}
23818extern "C" {
23819    #[link_name = "aws_lc_0_47_0_X509V3_EXT_add_nconf"]
23820    pub fn X509V3_EXT_add_nconf(
23821        conf: *const CONF,
23822        ctx: *const X509V3_CTX,
23823        section: *const ::std::os::raw::c_char,
23824        cert: *mut X509,
23825    ) -> ::std::os::raw::c_int;
23826}
23827extern "C" {
23828    #[link_name = "aws_lc_0_47_0_X509V3_EXT_REQ_add_nconf"]
23829    pub fn X509V3_EXT_REQ_add_nconf(
23830        conf: *const CONF,
23831        ctx: *const X509V3_CTX,
23832        section: *const ::std::os::raw::c_char,
23833        req: *mut X509_REQ,
23834    ) -> ::std::os::raw::c_int;
23835}
23836extern "C" {
23837    #[link_name = "aws_lc_0_47_0_X509V3_EXT_CRL_add_nconf"]
23838    pub fn X509V3_EXT_CRL_add_nconf(
23839        conf: *const CONF,
23840        ctx: *const X509V3_CTX,
23841        section: *const ::std::os::raw::c_char,
23842        crl: *mut X509_CRL,
23843    ) -> ::std::os::raw::c_int;
23844}
23845extern "C" {
23846    #[link_name = "aws_lc_0_47_0_X509V3_EXT_conf"]
23847    pub fn X509V3_EXT_conf(
23848        conf: *mut lhash_st_CONF_VALUE,
23849        ctx: *mut X509V3_CTX,
23850        name: *const ::std::os::raw::c_char,
23851        value: *const ::std::os::raw::c_char,
23852    ) -> *mut X509_EXTENSION;
23853}
23854extern "C" {
23855    #[link_name = "aws_lc_0_47_0_i2s_ASN1_OCTET_STRING"]
23856    pub fn i2s_ASN1_OCTET_STRING(
23857        method: *const X509V3_EXT_METHOD,
23858        oct: *const ASN1_OCTET_STRING,
23859    ) -> *mut ::std::os::raw::c_char;
23860}
23861extern "C" {
23862    #[link_name = "aws_lc_0_47_0_s2i_ASN1_OCTET_STRING"]
23863    pub fn s2i_ASN1_OCTET_STRING(
23864        method: *const X509V3_EXT_METHOD,
23865        ctx: *const X509V3_CTX,
23866        str_: *const ::std::os::raw::c_char,
23867    ) -> *mut ASN1_OCTET_STRING;
23868}
23869extern "C" {
23870    #[link_name = "aws_lc_0_47_0_i2s_ASN1_INTEGER"]
23871    pub fn i2s_ASN1_INTEGER(
23872        method: *const X509V3_EXT_METHOD,
23873        aint: *const ASN1_INTEGER,
23874    ) -> *mut ::std::os::raw::c_char;
23875}
23876extern "C" {
23877    #[link_name = "aws_lc_0_47_0_s2i_ASN1_INTEGER"]
23878    pub fn s2i_ASN1_INTEGER(
23879        method: *const X509V3_EXT_METHOD,
23880        value: *const ::std::os::raw::c_char,
23881    ) -> *mut ASN1_INTEGER;
23882}
23883extern "C" {
23884    #[link_name = "aws_lc_0_47_0_i2s_ASN1_ENUMERATED"]
23885    pub fn i2s_ASN1_ENUMERATED(
23886        method: *const X509V3_EXT_METHOD,
23887        aint: *const ASN1_ENUMERATED,
23888    ) -> *mut ::std::os::raw::c_char;
23889}
23890extern "C" {
23891    #[link_name = "aws_lc_0_47_0_X509V3_conf_free"]
23892    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
23893}
23894extern "C" {
23895    #[link_name = "aws_lc_0_47_0_i2v_GENERAL_NAME"]
23896    pub fn i2v_GENERAL_NAME(
23897        method: *const X509V3_EXT_METHOD,
23898        gen_: *const GENERAL_NAME,
23899        ret: *mut stack_st_CONF_VALUE,
23900    ) -> *mut stack_st_CONF_VALUE;
23901}
23902extern "C" {
23903    #[link_name = "aws_lc_0_47_0_i2v_GENERAL_NAMES"]
23904    pub fn i2v_GENERAL_NAMES(
23905        method: *const X509V3_EXT_METHOD,
23906        gen_: *const GENERAL_NAMES,
23907        extlist: *mut stack_st_CONF_VALUE,
23908    ) -> *mut stack_st_CONF_VALUE;
23909}
23910extern "C" {
23911    #[link_name = "aws_lc_0_47_0_a2i_IPADDRESS"]
23912    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23913}
23914extern "C" {
23915    #[link_name = "aws_lc_0_47_0_a2i_IPADDRESS_NC"]
23916    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23917}
23918extern "C" {
23919    #[link_name = "aws_lc_0_47_0_X509_get_notBefore"]
23920    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
23921}
23922extern "C" {
23923    #[link_name = "aws_lc_0_47_0_X509_get_notAfter"]
23924    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
23925}
23926extern "C" {
23927    #[link_name = "aws_lc_0_47_0_X509_set_notBefore"]
23928    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23929}
23930extern "C" {
23931    #[link_name = "aws_lc_0_47_0_X509_set_notAfter"]
23932    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23933}
23934extern "C" {
23935    #[link_name = "aws_lc_0_47_0_X509_CRL_get_lastUpdate"]
23936    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23937}
23938extern "C" {
23939    #[link_name = "aws_lc_0_47_0_X509_CRL_get_nextUpdate"]
23940    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23941}
23942extern "C" {
23943    #[link_name = "aws_lc_0_47_0_X509_get_serialNumber"]
23944    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
23945}
23946extern "C" {
23947    #[link_name = "aws_lc_0_47_0_X509_NAME_get_text_by_OBJ"]
23948    pub fn X509_NAME_get_text_by_OBJ(
23949        name: *const X509_NAME,
23950        obj: *const ASN1_OBJECT,
23951        buf: *mut ::std::os::raw::c_char,
23952        len: ::std::os::raw::c_int,
23953    ) -> ::std::os::raw::c_int;
23954}
23955extern "C" {
23956    #[link_name = "aws_lc_0_47_0_X509_NAME_get_text_by_NID"]
23957    pub fn X509_NAME_get_text_by_NID(
23958        name: *const X509_NAME,
23959        nid: ::std::os::raw::c_int,
23960        buf: *mut ::std::os::raw::c_char,
23961        len: ::std::os::raw::c_int,
23962    ) -> ::std::os::raw::c_int;
23963}
23964extern "C" {
23965    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get0_parent_ctx"]
23966    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
23967}
23968extern "C" {
23969    #[link_name = "aws_lc_0_47_0_X509_LOOKUP_free"]
23970    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
23971}
23972extern "C" {
23973    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_cleanup"]
23974    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
23975}
23976extern "C" {
23977    #[link_name = "aws_lc_0_47_0_X509V3_add_standard_extensions"]
23978    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
23979}
23980extern "C" {
23981    #[link_name = "aws_lc_0_47_0_X509V3_parse_list"]
23982    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
23983}
23984extern "C" {
23985    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_chain"]
23986    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
23987}
23988extern "C" {
23989    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_trusted_stack"]
23990    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23991}
23992pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
23993    unsafe extern "C" fn(
23994        arg1: ::std::os::raw::c_int,
23995        arg2: *mut X509_STORE_CTX,
23996    ) -> ::std::os::raw::c_int,
23997>;
23998extern "C" {
23999    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_verify_cb"]
24000    pub fn X509_STORE_CTX_set_verify_cb(
24001        ctx: *mut X509_STORE_CTX,
24002        verify_cb: ::std::option::Option<
24003            unsafe extern "C" fn(
24004                ok: ::std::os::raw::c_int,
24005                ctx: *mut X509_STORE_CTX,
24006            ) -> ::std::os::raw::c_int,
24007        >,
24008    );
24009}
24010extern "C" {
24011    #[link_name = "aws_lc_0_47_0_X509_STORE_get_verify_cb"]
24012    pub fn X509_STORE_get_verify_cb(ctx: *mut X509_STORE) -> X509_STORE_CTX_verify_cb;
24013}
24014extern "C" {
24015    #[link_name = "aws_lc_0_47_0_X509_STORE_set_verify_cb"]
24016    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
24017}
24018pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
24019    unsafe extern "C" fn(
24020        ctx: *mut X509_STORE_CTX,
24021        crl: *mut *mut X509_CRL,
24022        x: *mut X509,
24023    ) -> ::std::os::raw::c_int,
24024>;
24025pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
24026    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
24027>;
24028extern "C" {
24029    #[link_name = "aws_lc_0_47_0_X509_STORE_set_get_crl"]
24030    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
24031}
24032extern "C" {
24033    #[link_name = "aws_lc_0_47_0_X509_STORE_set_check_crl"]
24034    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
24035}
24036extern "C" {
24037    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set_chain"]
24038    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24039}
24040extern "C" {
24041    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_set0_untrusted"]
24042    pub fn X509_STORE_CTX_set0_untrusted(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24043}
24044#[repr(C)]
24045#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24046pub struct x509_purpose_st {
24047    pub purpose: ::std::os::raw::c_int,
24048    pub trust: ::std::os::raw::c_int,
24049    pub flags: ::std::os::raw::c_int,
24050    pub check_purpose: ::std::option::Option<
24051        unsafe extern "C" fn(
24052            arg1: *const x509_purpose_st,
24053            arg2: *const X509,
24054            arg3: ::std::os::raw::c_int,
24055        ) -> ::std::os::raw::c_int,
24056    >,
24057    pub name: *mut ::std::os::raw::c_char,
24058    pub sname: *mut ::std::os::raw::c_char,
24059    pub usr_data: *mut ::std::os::raw::c_void,
24060}
24061#[test]
24062fn bindgen_test_layout_x509_purpose_st() {
24063    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
24064    let ptr = UNINIT.as_ptr();
24065    assert_eq!(
24066        ::std::mem::size_of::<x509_purpose_st>(),
24067        48usize,
24068        "Size of x509_purpose_st"
24069    );
24070    assert_eq!(
24071        ::std::mem::align_of::<x509_purpose_st>(),
24072        8usize,
24073        "Alignment of x509_purpose_st"
24074    );
24075    assert_eq!(
24076        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
24077        0usize,
24078        "Offset of field: x509_purpose_st::purpose"
24079    );
24080    assert_eq!(
24081        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24082        4usize,
24083        "Offset of field: x509_purpose_st::trust"
24084    );
24085    assert_eq!(
24086        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24087        8usize,
24088        "Offset of field: x509_purpose_st::flags"
24089    );
24090    assert_eq!(
24091        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
24092        16usize,
24093        "Offset of field: x509_purpose_st::check_purpose"
24094    );
24095    assert_eq!(
24096        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24097        24usize,
24098        "Offset of field: x509_purpose_st::name"
24099    );
24100    assert_eq!(
24101        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
24102        32usize,
24103        "Offset of field: x509_purpose_st::sname"
24104    );
24105    assert_eq!(
24106        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24107        40usize,
24108        "Offset of field: x509_purpose_st::usr_data"
24109    );
24110}
24111impl Default for x509_purpose_st {
24112    fn default() -> Self {
24113        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24114        unsafe {
24115            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24116            s.assume_init()
24117        }
24118    }
24119}
24120pub type X509_PURPOSE = x509_purpose_st;
24121#[repr(C)]
24122#[derive(Debug)]
24123pub struct stack_st_X509_PURPOSE {
24124    _unused: [u8; 0],
24125}
24126pub type sk_X509_PURPOSE_free_func =
24127    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
24128pub type sk_X509_PURPOSE_copy_func =
24129    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
24130pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
24131    unsafe extern "C" fn(
24132        arg1: *const *const X509_PURPOSE,
24133        arg2: *const *const X509_PURPOSE,
24134    ) -> ::std::os::raw::c_int,
24135>;
24136pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
24137    unsafe extern "C" fn(
24138        arg1: *mut X509_PURPOSE,
24139        arg2: *mut ::std::os::raw::c_void,
24140    ) -> ::std::os::raw::c_int,
24141>;
24142extern "C" {
24143    #[link_name = "aws_lc_0_47_0_X509_STORE_get0_objects"]
24144    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
24145}
24146extern "C" {
24147    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get_by_sname"]
24148    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
24149        -> ::std::os::raw::c_int;
24150}
24151extern "C" {
24152    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get0"]
24153    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
24154}
24155extern "C" {
24156    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get_id"]
24157    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24158}
24159#[repr(C)]
24160#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24161pub struct X509_algor_st {
24162    pub algorithm: *mut ASN1_OBJECT,
24163    pub parameter: *mut ASN1_TYPE,
24164}
24165#[test]
24166fn bindgen_test_layout_X509_algor_st() {
24167    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
24168    let ptr = UNINIT.as_ptr();
24169    assert_eq!(
24170        ::std::mem::size_of::<X509_algor_st>(),
24171        16usize,
24172        "Size of X509_algor_st"
24173    );
24174    assert_eq!(
24175        ::std::mem::align_of::<X509_algor_st>(),
24176        8usize,
24177        "Alignment of X509_algor_st"
24178    );
24179    assert_eq!(
24180        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
24181        0usize,
24182        "Offset of field: X509_algor_st::algorithm"
24183    );
24184    assert_eq!(
24185        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
24186        8usize,
24187        "Offset of field: X509_algor_st::parameter"
24188    );
24189}
24190impl Default for X509_algor_st {
24191    fn default() -> Self {
24192        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24193        unsafe {
24194            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24195            s.assume_init()
24196        }
24197    }
24198}
24199#[repr(C)]
24200#[derive(Debug)]
24201pub struct stack_st_DIST_POINT {
24202    _unused: [u8; 0],
24203}
24204#[repr(C)]
24205#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24206pub struct x509_trust_st {
24207    pub trust: ::std::os::raw::c_int,
24208    pub flags: ::std::os::raw::c_int,
24209    pub check_trust: ::std::option::Option<
24210        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
24211    >,
24212    pub name: *mut ::std::os::raw::c_char,
24213    pub arg1: ::std::os::raw::c_int,
24214    pub arg2: *mut ::std::os::raw::c_void,
24215}
24216#[test]
24217fn bindgen_test_layout_x509_trust_st() {
24218    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
24219    let ptr = UNINIT.as_ptr();
24220    assert_eq!(
24221        ::std::mem::size_of::<x509_trust_st>(),
24222        40usize,
24223        "Size of x509_trust_st"
24224    );
24225    assert_eq!(
24226        ::std::mem::align_of::<x509_trust_st>(),
24227        8usize,
24228        "Alignment of x509_trust_st"
24229    );
24230    assert_eq!(
24231        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24232        0usize,
24233        "Offset of field: x509_trust_st::trust"
24234    );
24235    assert_eq!(
24236        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24237        4usize,
24238        "Offset of field: x509_trust_st::flags"
24239    );
24240    assert_eq!(
24241        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
24242        8usize,
24243        "Offset of field: x509_trust_st::check_trust"
24244    );
24245    assert_eq!(
24246        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24247        16usize,
24248        "Offset of field: x509_trust_st::name"
24249    );
24250    assert_eq!(
24251        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
24252        24usize,
24253        "Offset of field: x509_trust_st::arg1"
24254    );
24255    assert_eq!(
24256        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
24257        32usize,
24258        "Offset of field: x509_trust_st::arg2"
24259    );
24260}
24261impl Default for x509_trust_st {
24262    fn default() -> Self {
24263        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24264        unsafe {
24265            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24266            s.assume_init()
24267        }
24268    }
24269}
24270#[repr(C)]
24271#[derive(Debug)]
24272pub struct stack_st_X509_TRUST {
24273    _unused: [u8; 0],
24274}
24275pub type sk_X509_TRUST_free_func =
24276    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
24277pub type sk_X509_TRUST_copy_func =
24278    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
24279pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
24280    unsafe extern "C" fn(
24281        arg1: *const *const X509_TRUST,
24282        arg2: *const *const X509_TRUST,
24283    ) -> ::std::os::raw::c_int,
24284>;
24285pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
24286    unsafe extern "C" fn(
24287        arg1: *mut X509_TRUST,
24288        arg2: *mut ::std::os::raw::c_void,
24289    ) -> ::std::os::raw::c_int,
24290>;
24291extern "C" {
24292    #[link_name = "aws_lc_0_47_0_X509_TRUST_set"]
24293    pub fn X509_TRUST_set(
24294        t: *mut ::std::os::raw::c_int,
24295        trust: ::std::os::raw::c_int,
24296    ) -> ::std::os::raw::c_int;
24297}
24298extern "C" {
24299    #[link_name = "aws_lc_0_47_0_X509_TRUST_get_count"]
24300    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
24301}
24302extern "C" {
24303    #[link_name = "aws_lc_0_47_0_X509_TRUST_get0"]
24304    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
24305}
24306extern "C" {
24307    #[link_name = "aws_lc_0_47_0_X509_TRUST_get_by_id"]
24308    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24309}
24310extern "C" {
24311    #[link_name = "aws_lc_0_47_0_X509_TRUST_get_flags"]
24312    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
24313}
24314extern "C" {
24315    #[link_name = "aws_lc_0_47_0_X509_TRUST_get0_name"]
24316    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
24317}
24318extern "C" {
24319    #[link_name = "aws_lc_0_47_0_X509_TRUST_get_trust"]
24320    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
24321}
24322extern "C" {
24323    #[link_name = "aws_lc_0_47_0_X509_TRUST_cleanup"]
24324    pub fn X509_TRUST_cleanup();
24325}
24326extern "C" {
24327    #[link_name = "aws_lc_0_47_0_X509_OBJECT_get0_X509_CRL"]
24328    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
24329}
24330extern "C" {
24331    #[link_name = "aws_lc_0_47_0_X509_OBJECT_set1_X509"]
24332    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
24333}
24334extern "C" {
24335    #[link_name = "aws_lc_0_47_0_X509_OBJECT_set1_X509_CRL"]
24336    pub fn X509_OBJECT_set1_X509_CRL(
24337        a: *mut X509_OBJECT,
24338        obj: *mut X509_CRL,
24339    ) -> ::std::os::raw::c_int;
24340}
24341extern "C" {
24342    #[link_name = "aws_lc_0_47_0_X509_STORE_lock"]
24343    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
24344}
24345extern "C" {
24346    #[link_name = "aws_lc_0_47_0_X509_STORE_unlock"]
24347    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
24348}
24349extern "C" {
24350    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get1_certs"]
24351    pub fn X509_STORE_CTX_get1_certs(
24352        st: *mut X509_STORE_CTX,
24353        nm: *mut X509_NAME,
24354    ) -> *mut stack_st_X509;
24355}
24356extern "C" {
24357    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get1_crls"]
24358    pub fn X509_STORE_CTX_get1_crls(
24359        st: *mut X509_STORE_CTX,
24360        nm: *mut X509_NAME,
24361    ) -> *mut stack_st_X509_CRL;
24362}
24363extern "C" {
24364    #[link_name = "aws_lc_0_47_0_X509_STORE_CTX_get_by_subject"]
24365    pub fn X509_STORE_CTX_get_by_subject(
24366        vs: *mut X509_STORE_CTX,
24367        type_: ::std::os::raw::c_int,
24368        name: *mut X509_NAME,
24369        ret: *mut X509_OBJECT,
24370    ) -> ::std::os::raw::c_int;
24371}
24372#[repr(C)]
24373#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24374pub struct BASIC_CONSTRAINTS_st {
24375    pub ca: ASN1_BOOLEAN,
24376    pub pathlen: *mut ASN1_INTEGER,
24377}
24378#[test]
24379fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
24380    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
24381    let ptr = UNINIT.as_ptr();
24382    assert_eq!(
24383        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
24384        16usize,
24385        "Size of BASIC_CONSTRAINTS_st"
24386    );
24387    assert_eq!(
24388        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
24389        8usize,
24390        "Alignment of BASIC_CONSTRAINTS_st"
24391    );
24392    assert_eq!(
24393        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
24394        0usize,
24395        "Offset of field: BASIC_CONSTRAINTS_st::ca"
24396    );
24397    assert_eq!(
24398        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
24399        8usize,
24400        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
24401    );
24402}
24403impl Default for BASIC_CONSTRAINTS_st {
24404    fn default() -> Self {
24405        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24406        unsafe {
24407            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24408            s.assume_init()
24409        }
24410    }
24411}
24412#[repr(C)]
24413#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24414pub struct ACCESS_DESCRIPTION_st {
24415    pub method: *mut ASN1_OBJECT,
24416    pub location: *mut GENERAL_NAME,
24417}
24418#[test]
24419fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
24420    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
24421        ::std::mem::MaybeUninit::uninit();
24422    let ptr = UNINIT.as_ptr();
24423    assert_eq!(
24424        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
24425        16usize,
24426        "Size of ACCESS_DESCRIPTION_st"
24427    );
24428    assert_eq!(
24429        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
24430        8usize,
24431        "Alignment of ACCESS_DESCRIPTION_st"
24432    );
24433    assert_eq!(
24434        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
24435        0usize,
24436        "Offset of field: ACCESS_DESCRIPTION_st::method"
24437    );
24438    assert_eq!(
24439        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
24440        8usize,
24441        "Offset of field: ACCESS_DESCRIPTION_st::location"
24442    );
24443}
24444impl Default for ACCESS_DESCRIPTION_st {
24445    fn default() -> Self {
24446        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24447        unsafe {
24448            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24449            s.assume_init()
24450        }
24451    }
24452}
24453pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
24454#[repr(C)]
24455#[derive(Debug)]
24456pub struct stack_st_ACCESS_DESCRIPTION {
24457    _unused: [u8; 0],
24458}
24459pub type sk_ACCESS_DESCRIPTION_free_func =
24460    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
24461pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
24462    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
24463>;
24464pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
24465    unsafe extern "C" fn(
24466        arg1: *const *const ACCESS_DESCRIPTION,
24467        arg2: *const *const ACCESS_DESCRIPTION,
24468    ) -> ::std::os::raw::c_int,
24469>;
24470pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
24471    unsafe extern "C" fn(
24472        arg1: *mut ACCESS_DESCRIPTION,
24473        arg2: *mut ::std::os::raw::c_void,
24474    ) -> ::std::os::raw::c_int,
24475>;
24476pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
24477pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
24478#[repr(C)]
24479#[derive(Copy, Clone)]
24480pub struct DIST_POINT_NAME_st {
24481    pub type_: ::std::os::raw::c_int,
24482    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
24483    pub dpname: *mut X509_NAME,
24484}
24485#[repr(C)]
24486#[derive(Copy, Clone)]
24487pub union DIST_POINT_NAME_st__bindgen_ty_1 {
24488    pub fullname: *mut GENERAL_NAMES,
24489    pub relativename: *mut stack_st_X509_NAME_ENTRY,
24490}
24491#[test]
24492fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
24493    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
24494        ::std::mem::MaybeUninit::uninit();
24495    let ptr = UNINIT.as_ptr();
24496    assert_eq!(
24497        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
24498        8usize,
24499        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
24500    );
24501    assert_eq!(
24502        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
24503        8usize,
24504        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
24505    );
24506    assert_eq!(
24507        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
24508        0usize,
24509        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
24510    );
24511    assert_eq!(
24512        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
24513        0usize,
24514        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
24515    );
24516}
24517impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
24518    fn default() -> Self {
24519        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24520        unsafe {
24521            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24522            s.assume_init()
24523        }
24524    }
24525}
24526#[test]
24527fn bindgen_test_layout_DIST_POINT_NAME_st() {
24528    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
24529    let ptr = UNINIT.as_ptr();
24530    assert_eq!(
24531        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
24532        24usize,
24533        "Size of DIST_POINT_NAME_st"
24534    );
24535    assert_eq!(
24536        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
24537        8usize,
24538        "Alignment of DIST_POINT_NAME_st"
24539    );
24540    assert_eq!(
24541        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
24542        0usize,
24543        "Offset of field: DIST_POINT_NAME_st::type_"
24544    );
24545    assert_eq!(
24546        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24547        8usize,
24548        "Offset of field: DIST_POINT_NAME_st::name"
24549    );
24550    assert_eq!(
24551        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
24552        16usize,
24553        "Offset of field: DIST_POINT_NAME_st::dpname"
24554    );
24555}
24556impl Default for DIST_POINT_NAME_st {
24557    fn default() -> Self {
24558        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24559        unsafe {
24560            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24561            s.assume_init()
24562        }
24563    }
24564}
24565pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
24566#[repr(C)]
24567#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24568pub struct DIST_POINT_st {
24569    pub distpoint: *mut DIST_POINT_NAME,
24570    pub reasons: *mut ASN1_BIT_STRING,
24571    pub CRLissuer: *mut GENERAL_NAMES,
24572}
24573#[test]
24574fn bindgen_test_layout_DIST_POINT_st() {
24575    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
24576    let ptr = UNINIT.as_ptr();
24577    assert_eq!(
24578        ::std::mem::size_of::<DIST_POINT_st>(),
24579        24usize,
24580        "Size of DIST_POINT_st"
24581    );
24582    assert_eq!(
24583        ::std::mem::align_of::<DIST_POINT_st>(),
24584        8usize,
24585        "Alignment of DIST_POINT_st"
24586    );
24587    assert_eq!(
24588        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24589        0usize,
24590        "Offset of field: DIST_POINT_st::distpoint"
24591    );
24592    assert_eq!(
24593        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
24594        8usize,
24595        "Offset of field: DIST_POINT_st::reasons"
24596    );
24597    assert_eq!(
24598        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
24599        16usize,
24600        "Offset of field: DIST_POINT_st::CRLissuer"
24601    );
24602}
24603impl Default for DIST_POINT_st {
24604    fn default() -> Self {
24605        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24606        unsafe {
24607            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24608            s.assume_init()
24609        }
24610    }
24611}
24612pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
24613pub type sk_DIST_POINT_free_func =
24614    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
24615pub type sk_DIST_POINT_copy_func =
24616    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
24617pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
24618    unsafe extern "C" fn(
24619        arg1: *const *const DIST_POINT,
24620        arg2: *const *const DIST_POINT,
24621    ) -> ::std::os::raw::c_int,
24622>;
24623pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
24624    unsafe extern "C" fn(
24625        arg1: *mut DIST_POINT,
24626        arg2: *mut ::std::os::raw::c_void,
24627    ) -> ::std::os::raw::c_int,
24628>;
24629#[repr(C)]
24630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24631pub struct AUTHORITY_KEYID_st {
24632    pub keyid: *mut ASN1_OCTET_STRING,
24633    pub issuer: *mut GENERAL_NAMES,
24634    pub serial: *mut ASN1_INTEGER,
24635}
24636#[test]
24637fn bindgen_test_layout_AUTHORITY_KEYID_st() {
24638    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
24639    let ptr = UNINIT.as_ptr();
24640    assert_eq!(
24641        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
24642        24usize,
24643        "Size of AUTHORITY_KEYID_st"
24644    );
24645    assert_eq!(
24646        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
24647        8usize,
24648        "Alignment of AUTHORITY_KEYID_st"
24649    );
24650    assert_eq!(
24651        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
24652        0usize,
24653        "Offset of field: AUTHORITY_KEYID_st::keyid"
24654    );
24655    assert_eq!(
24656        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
24657        8usize,
24658        "Offset of field: AUTHORITY_KEYID_st::issuer"
24659    );
24660    assert_eq!(
24661        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
24662        16usize,
24663        "Offset of field: AUTHORITY_KEYID_st::serial"
24664    );
24665}
24666impl Default for AUTHORITY_KEYID_st {
24667    fn default() -> Self {
24668        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24669        unsafe {
24670            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24671            s.assume_init()
24672        }
24673    }
24674}
24675#[repr(C)]
24676#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24677pub struct NOTICEREF_st {
24678    pub organization: *mut ASN1_STRING,
24679    pub noticenos: *mut stack_st_ASN1_INTEGER,
24680}
24681#[test]
24682fn bindgen_test_layout_NOTICEREF_st() {
24683    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
24684    let ptr = UNINIT.as_ptr();
24685    assert_eq!(
24686        ::std::mem::size_of::<NOTICEREF_st>(),
24687        16usize,
24688        "Size of NOTICEREF_st"
24689    );
24690    assert_eq!(
24691        ::std::mem::align_of::<NOTICEREF_st>(),
24692        8usize,
24693        "Alignment of NOTICEREF_st"
24694    );
24695    assert_eq!(
24696        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
24697        0usize,
24698        "Offset of field: NOTICEREF_st::organization"
24699    );
24700    assert_eq!(
24701        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
24702        8usize,
24703        "Offset of field: NOTICEREF_st::noticenos"
24704    );
24705}
24706impl Default for NOTICEREF_st {
24707    fn default() -> Self {
24708        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24709        unsafe {
24710            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24711            s.assume_init()
24712        }
24713    }
24714}
24715pub type NOTICEREF = NOTICEREF_st;
24716#[repr(C)]
24717#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24718pub struct USERNOTICE_st {
24719    pub noticeref: *mut NOTICEREF,
24720    pub exptext: *mut ASN1_STRING,
24721}
24722#[test]
24723fn bindgen_test_layout_USERNOTICE_st() {
24724    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
24725    let ptr = UNINIT.as_ptr();
24726    assert_eq!(
24727        ::std::mem::size_of::<USERNOTICE_st>(),
24728        16usize,
24729        "Size of USERNOTICE_st"
24730    );
24731    assert_eq!(
24732        ::std::mem::align_of::<USERNOTICE_st>(),
24733        8usize,
24734        "Alignment of USERNOTICE_st"
24735    );
24736    assert_eq!(
24737        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
24738        0usize,
24739        "Offset of field: USERNOTICE_st::noticeref"
24740    );
24741    assert_eq!(
24742        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
24743        8usize,
24744        "Offset of field: USERNOTICE_st::exptext"
24745    );
24746}
24747impl Default for USERNOTICE_st {
24748    fn default() -> Self {
24749        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24750        unsafe {
24751            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24752            s.assume_init()
24753        }
24754    }
24755}
24756pub type USERNOTICE = USERNOTICE_st;
24757#[repr(C)]
24758#[derive(Copy, Clone)]
24759pub struct POLICYQUALINFO_st {
24760    pub pqualid: *mut ASN1_OBJECT,
24761    pub d: POLICYQUALINFO_st__bindgen_ty_1,
24762}
24763#[repr(C)]
24764#[derive(Copy, Clone)]
24765pub union POLICYQUALINFO_st__bindgen_ty_1 {
24766    pub cpsuri: *mut ASN1_IA5STRING,
24767    pub usernotice: *mut USERNOTICE,
24768    pub other: *mut ASN1_TYPE,
24769}
24770#[test]
24771fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
24772    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
24773        ::std::mem::MaybeUninit::uninit();
24774    let ptr = UNINIT.as_ptr();
24775    assert_eq!(
24776        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24777        8usize,
24778        "Size of POLICYQUALINFO_st__bindgen_ty_1"
24779    );
24780    assert_eq!(
24781        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24782        8usize,
24783        "Alignment of POLICYQUALINFO_st__bindgen_ty_1"
24784    );
24785    assert_eq!(
24786        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
24787        0usize,
24788        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::cpsuri"
24789    );
24790    assert_eq!(
24791        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
24792        0usize,
24793        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::usernotice"
24794    );
24795    assert_eq!(
24796        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
24797        0usize,
24798        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::other"
24799    );
24800}
24801impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
24802    fn default() -> Self {
24803        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24804        unsafe {
24805            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24806            s.assume_init()
24807        }
24808    }
24809}
24810#[test]
24811fn bindgen_test_layout_POLICYQUALINFO_st() {
24812    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
24813    let ptr = UNINIT.as_ptr();
24814    assert_eq!(
24815        ::std::mem::size_of::<POLICYQUALINFO_st>(),
24816        16usize,
24817        "Size of POLICYQUALINFO_st"
24818    );
24819    assert_eq!(
24820        ::std::mem::align_of::<POLICYQUALINFO_st>(),
24821        8usize,
24822        "Alignment of POLICYQUALINFO_st"
24823    );
24824    assert_eq!(
24825        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
24826        0usize,
24827        "Offset of field: POLICYQUALINFO_st::pqualid"
24828    );
24829    assert_eq!(
24830        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
24831        8usize,
24832        "Offset of field: POLICYQUALINFO_st::d"
24833    );
24834}
24835impl Default for POLICYQUALINFO_st {
24836    fn default() -> Self {
24837        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24838        unsafe {
24839            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24840            s.assume_init()
24841        }
24842    }
24843}
24844pub type POLICYQUALINFO = POLICYQUALINFO_st;
24845#[repr(C)]
24846#[derive(Debug)]
24847pub struct stack_st_POLICYQUALINFO {
24848    _unused: [u8; 0],
24849}
24850pub type sk_POLICYQUALINFO_free_func =
24851    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
24852pub type sk_POLICYQUALINFO_copy_func =
24853    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
24854pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
24855    unsafe extern "C" fn(
24856        arg1: *const *const POLICYQUALINFO,
24857        arg2: *const *const POLICYQUALINFO,
24858    ) -> ::std::os::raw::c_int,
24859>;
24860pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
24861    unsafe extern "C" fn(
24862        arg1: *mut POLICYQUALINFO,
24863        arg2: *mut ::std::os::raw::c_void,
24864    ) -> ::std::os::raw::c_int,
24865>;
24866#[repr(C)]
24867#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24868pub struct POLICYINFO_st {
24869    pub policyid: *mut ASN1_OBJECT,
24870    pub qualifiers: *mut stack_st_POLICYQUALINFO,
24871}
24872#[test]
24873fn bindgen_test_layout_POLICYINFO_st() {
24874    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
24875    let ptr = UNINIT.as_ptr();
24876    assert_eq!(
24877        ::std::mem::size_of::<POLICYINFO_st>(),
24878        16usize,
24879        "Size of POLICYINFO_st"
24880    );
24881    assert_eq!(
24882        ::std::mem::align_of::<POLICYINFO_st>(),
24883        8usize,
24884        "Alignment of POLICYINFO_st"
24885    );
24886    assert_eq!(
24887        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
24888        0usize,
24889        "Offset of field: POLICYINFO_st::policyid"
24890    );
24891    assert_eq!(
24892        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
24893        8usize,
24894        "Offset of field: POLICYINFO_st::qualifiers"
24895    );
24896}
24897impl Default for POLICYINFO_st {
24898    fn default() -> Self {
24899        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24900        unsafe {
24901            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24902            s.assume_init()
24903        }
24904    }
24905}
24906pub type POLICYINFO = POLICYINFO_st;
24907#[repr(C)]
24908#[derive(Debug)]
24909pub struct stack_st_POLICYINFO {
24910    _unused: [u8; 0],
24911}
24912pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
24913pub type sk_POLICYINFO_free_func =
24914    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
24915pub type sk_POLICYINFO_copy_func =
24916    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
24917pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
24918    unsafe extern "C" fn(
24919        arg1: *const *const POLICYINFO,
24920        arg2: *const *const POLICYINFO,
24921    ) -> ::std::os::raw::c_int,
24922>;
24923pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
24924    unsafe extern "C" fn(
24925        arg1: *mut POLICYINFO,
24926        arg2: *mut ::std::os::raw::c_void,
24927    ) -> ::std::os::raw::c_int,
24928>;
24929#[repr(C)]
24930#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24931pub struct POLICY_MAPPING_st {
24932    pub issuerDomainPolicy: *mut ASN1_OBJECT,
24933    pub subjectDomainPolicy: *mut ASN1_OBJECT,
24934}
24935#[test]
24936fn bindgen_test_layout_POLICY_MAPPING_st() {
24937    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
24938    let ptr = UNINIT.as_ptr();
24939    assert_eq!(
24940        ::std::mem::size_of::<POLICY_MAPPING_st>(),
24941        16usize,
24942        "Size of POLICY_MAPPING_st"
24943    );
24944    assert_eq!(
24945        ::std::mem::align_of::<POLICY_MAPPING_st>(),
24946        8usize,
24947        "Alignment of POLICY_MAPPING_st"
24948    );
24949    assert_eq!(
24950        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
24951        0usize,
24952        "Offset of field: POLICY_MAPPING_st::issuerDomainPolicy"
24953    );
24954    assert_eq!(
24955        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
24956        8usize,
24957        "Offset of field: POLICY_MAPPING_st::subjectDomainPolicy"
24958    );
24959}
24960impl Default for POLICY_MAPPING_st {
24961    fn default() -> Self {
24962        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24963        unsafe {
24964            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24965            s.assume_init()
24966        }
24967    }
24968}
24969pub type POLICY_MAPPING = POLICY_MAPPING_st;
24970#[repr(C)]
24971#[derive(Debug)]
24972pub struct stack_st_POLICY_MAPPING {
24973    _unused: [u8; 0],
24974}
24975pub type sk_POLICY_MAPPING_free_func =
24976    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
24977pub type sk_POLICY_MAPPING_copy_func =
24978    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
24979pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
24980    unsafe extern "C" fn(
24981        arg1: *const *const POLICY_MAPPING,
24982        arg2: *const *const POLICY_MAPPING,
24983    ) -> ::std::os::raw::c_int,
24984>;
24985pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
24986    unsafe extern "C" fn(
24987        arg1: *mut POLICY_MAPPING,
24988        arg2: *mut ::std::os::raw::c_void,
24989    ) -> ::std::os::raw::c_int,
24990>;
24991pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
24992#[repr(C)]
24993#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24994pub struct GENERAL_SUBTREE_st {
24995    pub base: *mut GENERAL_NAME,
24996    pub minimum: *mut ASN1_INTEGER,
24997    pub maximum: *mut ASN1_INTEGER,
24998}
24999#[test]
25000fn bindgen_test_layout_GENERAL_SUBTREE_st() {
25001    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
25002    let ptr = UNINIT.as_ptr();
25003    assert_eq!(
25004        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
25005        24usize,
25006        "Size of GENERAL_SUBTREE_st"
25007    );
25008    assert_eq!(
25009        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
25010        8usize,
25011        "Alignment of GENERAL_SUBTREE_st"
25012    );
25013    assert_eq!(
25014        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
25015        0usize,
25016        "Offset of field: GENERAL_SUBTREE_st::base"
25017    );
25018    assert_eq!(
25019        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25020        8usize,
25021        "Offset of field: GENERAL_SUBTREE_st::minimum"
25022    );
25023    assert_eq!(
25024        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25025        16usize,
25026        "Offset of field: GENERAL_SUBTREE_st::maximum"
25027    );
25028}
25029impl Default for GENERAL_SUBTREE_st {
25030    fn default() -> Self {
25031        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25032        unsafe {
25033            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25034            s.assume_init()
25035        }
25036    }
25037}
25038pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
25039#[repr(C)]
25040#[derive(Debug)]
25041pub struct stack_st_GENERAL_SUBTREE {
25042    _unused: [u8; 0],
25043}
25044pub type sk_GENERAL_SUBTREE_free_func =
25045    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
25046pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
25047    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
25048>;
25049pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
25050    unsafe extern "C" fn(
25051        arg1: *const *const GENERAL_SUBTREE,
25052        arg2: *const *const GENERAL_SUBTREE,
25053    ) -> ::std::os::raw::c_int,
25054>;
25055pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
25056    unsafe extern "C" fn(
25057        arg1: *mut GENERAL_SUBTREE,
25058        arg2: *mut ::std::os::raw::c_void,
25059    ) -> ::std::os::raw::c_int,
25060>;
25061#[repr(C)]
25062#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25063pub struct NAME_CONSTRAINTS_st {
25064    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
25065    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
25066}
25067#[test]
25068fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
25069    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
25070    let ptr = UNINIT.as_ptr();
25071    assert_eq!(
25072        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
25073        16usize,
25074        "Size of NAME_CONSTRAINTS_st"
25075    );
25076    assert_eq!(
25077        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
25078        8usize,
25079        "Alignment of NAME_CONSTRAINTS_st"
25080    );
25081    assert_eq!(
25082        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
25083        0usize,
25084        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
25085    );
25086    assert_eq!(
25087        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
25088        8usize,
25089        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
25090    );
25091}
25092impl Default for NAME_CONSTRAINTS_st {
25093    fn default() -> Self {
25094        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25095        unsafe {
25096            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25097            s.assume_init()
25098        }
25099    }
25100}
25101#[repr(C)]
25102#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25103pub struct POLICY_CONSTRAINTS_st {
25104    pub requireExplicitPolicy: *mut ASN1_INTEGER,
25105    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
25106}
25107#[test]
25108fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
25109    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
25110        ::std::mem::MaybeUninit::uninit();
25111    let ptr = UNINIT.as_ptr();
25112    assert_eq!(
25113        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
25114        16usize,
25115        "Size of POLICY_CONSTRAINTS_st"
25116    );
25117    assert_eq!(
25118        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
25119        8usize,
25120        "Alignment of POLICY_CONSTRAINTS_st"
25121    );
25122    assert_eq!(
25123        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
25124        0usize,
25125        "Offset of field: POLICY_CONSTRAINTS_st::requireExplicitPolicy"
25126    );
25127    assert_eq!(
25128        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
25129        8usize,
25130        "Offset of field: POLICY_CONSTRAINTS_st::inhibitPolicyMapping"
25131    );
25132}
25133impl Default for POLICY_CONSTRAINTS_st {
25134    fn default() -> Self {
25135        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25136        unsafe {
25137            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25138            s.assume_init()
25139        }
25140    }
25141}
25142pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
25143#[repr(C)]
25144#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25145pub struct ISSUING_DIST_POINT_st {
25146    pub distpoint: *mut DIST_POINT_NAME,
25147    pub onlyuser: ASN1_BOOLEAN,
25148    pub onlyCA: ASN1_BOOLEAN,
25149    pub onlysomereasons: *mut ASN1_BIT_STRING,
25150    pub indirectCRL: ASN1_BOOLEAN,
25151    pub onlyattr: ASN1_BOOLEAN,
25152}
25153#[test]
25154fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
25155    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
25156        ::std::mem::MaybeUninit::uninit();
25157    let ptr = UNINIT.as_ptr();
25158    assert_eq!(
25159        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
25160        32usize,
25161        "Size of ISSUING_DIST_POINT_st"
25162    );
25163    assert_eq!(
25164        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
25165        8usize,
25166        "Alignment of ISSUING_DIST_POINT_st"
25167    );
25168    assert_eq!(
25169        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
25170        0usize,
25171        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
25172    );
25173    assert_eq!(
25174        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
25175        8usize,
25176        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
25177    );
25178    assert_eq!(
25179        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
25180        12usize,
25181        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
25182    );
25183    assert_eq!(
25184        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
25185        16usize,
25186        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
25187    );
25188    assert_eq!(
25189        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
25190        24usize,
25191        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
25192    );
25193    assert_eq!(
25194        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
25195        28usize,
25196        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
25197    );
25198}
25199impl Default for ISSUING_DIST_POINT_st {
25200    fn default() -> Self {
25201        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25202        unsafe {
25203            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25204            s.assume_init()
25205        }
25206    }
25207}
25208extern "C" {
25209    #[link_name = "aws_lc_0_47_0_BASIC_CONSTRAINTS_it"]
25210    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
25211}
25212extern "C" {
25213    #[link_name = "aws_lc_0_47_0_BASIC_CONSTRAINTS_new"]
25214    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
25215}
25216extern "C" {
25217    #[link_name = "aws_lc_0_47_0_BASIC_CONSTRAINTS_free"]
25218    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
25219}
25220extern "C" {
25221    #[link_name = "aws_lc_0_47_0_d2i_BASIC_CONSTRAINTS"]
25222    pub fn d2i_BASIC_CONSTRAINTS(
25223        out: *mut *mut BASIC_CONSTRAINTS,
25224        inp: *mut *const u8,
25225        len: ::std::os::raw::c_long,
25226    ) -> *mut BASIC_CONSTRAINTS;
25227}
25228extern "C" {
25229    #[link_name = "aws_lc_0_47_0_i2d_BASIC_CONSTRAINTS"]
25230    pub fn i2d_BASIC_CONSTRAINTS(
25231        bcons: *const BASIC_CONSTRAINTS,
25232        outp: *mut *mut u8,
25233    ) -> ::std::os::raw::c_int;
25234}
25235extern "C" {
25236    #[link_name = "aws_lc_0_47_0_AUTHORITY_KEYID_it"]
25237    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
25238}
25239extern "C" {
25240    #[link_name = "aws_lc_0_47_0_AUTHORITY_KEYID_new"]
25241    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
25242}
25243extern "C" {
25244    #[link_name = "aws_lc_0_47_0_AUTHORITY_KEYID_free"]
25245    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
25246}
25247extern "C" {
25248    #[link_name = "aws_lc_0_47_0_d2i_AUTHORITY_KEYID"]
25249    pub fn d2i_AUTHORITY_KEYID(
25250        out: *mut *mut AUTHORITY_KEYID,
25251        inp: *mut *const u8,
25252        len: ::std::os::raw::c_long,
25253    ) -> *mut AUTHORITY_KEYID;
25254}
25255extern "C" {
25256    #[link_name = "aws_lc_0_47_0_i2d_AUTHORITY_KEYID"]
25257    pub fn i2d_AUTHORITY_KEYID(
25258        akid: *mut AUTHORITY_KEYID,
25259        outp: *mut *mut u8,
25260    ) -> ::std::os::raw::c_int;
25261}
25262extern "C" {
25263    #[link_name = "aws_lc_0_47_0_EXTENDED_KEY_USAGE_it"]
25264    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
25265}
25266extern "C" {
25267    #[link_name = "aws_lc_0_47_0_EXTENDED_KEY_USAGE_new"]
25268    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
25269}
25270extern "C" {
25271    #[link_name = "aws_lc_0_47_0_EXTENDED_KEY_USAGE_free"]
25272    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
25273}
25274extern "C" {
25275    #[link_name = "aws_lc_0_47_0_d2i_EXTENDED_KEY_USAGE"]
25276    pub fn d2i_EXTENDED_KEY_USAGE(
25277        out: *mut *mut EXTENDED_KEY_USAGE,
25278        inp: *mut *const u8,
25279        len: ::std::os::raw::c_long,
25280    ) -> *mut EXTENDED_KEY_USAGE;
25281}
25282extern "C" {
25283    #[link_name = "aws_lc_0_47_0_i2d_EXTENDED_KEY_USAGE"]
25284    pub fn i2d_EXTENDED_KEY_USAGE(
25285        eku: *const EXTENDED_KEY_USAGE,
25286        outp: *mut *mut u8,
25287    ) -> ::std::os::raw::c_int;
25288}
25289extern "C" {
25290    #[link_name = "aws_lc_0_47_0_CERTIFICATEPOLICIES_it"]
25291    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
25292}
25293extern "C" {
25294    #[link_name = "aws_lc_0_47_0_CERTIFICATEPOLICIES_new"]
25295    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
25296}
25297extern "C" {
25298    #[link_name = "aws_lc_0_47_0_CERTIFICATEPOLICIES_free"]
25299    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
25300}
25301extern "C" {
25302    #[link_name = "aws_lc_0_47_0_d2i_CERTIFICATEPOLICIES"]
25303    pub fn d2i_CERTIFICATEPOLICIES(
25304        out: *mut *mut CERTIFICATEPOLICIES,
25305        inp: *mut *const u8,
25306        len: ::std::os::raw::c_long,
25307    ) -> *mut CERTIFICATEPOLICIES;
25308}
25309extern "C" {
25310    #[link_name = "aws_lc_0_47_0_i2d_CERTIFICATEPOLICIES"]
25311    pub fn i2d_CERTIFICATEPOLICIES(
25312        policies: *const CERTIFICATEPOLICIES,
25313        outp: *mut *mut u8,
25314    ) -> ::std::os::raw::c_int;
25315}
25316extern "C" {
25317    #[link_name = "aws_lc_0_47_0_POLICYINFO_new"]
25318    pub fn POLICYINFO_new() -> *mut POLICYINFO;
25319}
25320extern "C" {
25321    #[link_name = "aws_lc_0_47_0_POLICYINFO_free"]
25322    pub fn POLICYINFO_free(info: *mut POLICYINFO);
25323}
25324extern "C" {
25325    #[link_name = "aws_lc_0_47_0_POLICYQUALINFO_new"]
25326    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
25327}
25328extern "C" {
25329    #[link_name = "aws_lc_0_47_0_POLICYQUALINFO_free"]
25330    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
25331}
25332extern "C" {
25333    #[link_name = "aws_lc_0_47_0_USERNOTICE_new"]
25334    pub fn USERNOTICE_new() -> *mut USERNOTICE;
25335}
25336extern "C" {
25337    #[link_name = "aws_lc_0_47_0_USERNOTICE_free"]
25338    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
25339}
25340extern "C" {
25341    #[link_name = "aws_lc_0_47_0_NOTICEREF_new"]
25342    pub fn NOTICEREF_new() -> *mut NOTICEREF;
25343}
25344extern "C" {
25345    #[link_name = "aws_lc_0_47_0_NOTICEREF_free"]
25346    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
25347}
25348extern "C" {
25349    #[link_name = "aws_lc_0_47_0_CRL_DIST_POINTS_it"]
25350    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
25351}
25352extern "C" {
25353    #[link_name = "aws_lc_0_47_0_CRL_DIST_POINTS_new"]
25354    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
25355}
25356extern "C" {
25357    #[link_name = "aws_lc_0_47_0_CRL_DIST_POINTS_free"]
25358    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
25359}
25360extern "C" {
25361    #[link_name = "aws_lc_0_47_0_d2i_CRL_DIST_POINTS"]
25362    pub fn d2i_CRL_DIST_POINTS(
25363        out: *mut *mut CRL_DIST_POINTS,
25364        inp: *mut *const u8,
25365        len: ::std::os::raw::c_long,
25366    ) -> *mut CRL_DIST_POINTS;
25367}
25368extern "C" {
25369    #[link_name = "aws_lc_0_47_0_i2d_CRL_DIST_POINTS"]
25370    pub fn i2d_CRL_DIST_POINTS(
25371        crldp: *mut CRL_DIST_POINTS,
25372        outp: *mut *mut u8,
25373    ) -> ::std::os::raw::c_int;
25374}
25375extern "C" {
25376    #[link_name = "aws_lc_0_47_0_DIST_POINT_new"]
25377    pub fn DIST_POINT_new() -> *mut DIST_POINT;
25378}
25379extern "C" {
25380    #[link_name = "aws_lc_0_47_0_DIST_POINT_free"]
25381    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
25382}
25383extern "C" {
25384    #[link_name = "aws_lc_0_47_0_DIST_POINT_NAME_new"]
25385    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
25386}
25387extern "C" {
25388    #[link_name = "aws_lc_0_47_0_DIST_POINT_NAME_free"]
25389    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
25390}
25391extern "C" {
25392    #[link_name = "aws_lc_0_47_0_ISSUING_DIST_POINT_it"]
25393    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
25394}
25395extern "C" {
25396    #[link_name = "aws_lc_0_47_0_ISSUING_DIST_POINT_new"]
25397    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
25398}
25399extern "C" {
25400    #[link_name = "aws_lc_0_47_0_ISSUING_DIST_POINT_free"]
25401    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
25402}
25403extern "C" {
25404    #[link_name = "aws_lc_0_47_0_d2i_ISSUING_DIST_POINT"]
25405    pub fn d2i_ISSUING_DIST_POINT(
25406        out: *mut *mut ISSUING_DIST_POINT,
25407        inp: *mut *const u8,
25408        len: ::std::os::raw::c_long,
25409    ) -> *mut ISSUING_DIST_POINT;
25410}
25411extern "C" {
25412    #[link_name = "aws_lc_0_47_0_i2d_ISSUING_DIST_POINT"]
25413    pub fn i2d_ISSUING_DIST_POINT(
25414        idp: *mut ISSUING_DIST_POINT,
25415        outp: *mut *mut u8,
25416    ) -> ::std::os::raw::c_int;
25417}
25418extern "C" {
25419    #[link_name = "aws_lc_0_47_0_ACCESS_DESCRIPTION_new"]
25420    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
25421}
25422extern "C" {
25423    #[link_name = "aws_lc_0_47_0_ACCESS_DESCRIPTION_free"]
25424    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
25425}
25426extern "C" {
25427    #[link_name = "aws_lc_0_47_0_AUTHORITY_INFO_ACCESS_it"]
25428    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
25429}
25430extern "C" {
25431    #[link_name = "aws_lc_0_47_0_AUTHORITY_INFO_ACCESS_new"]
25432    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
25433}
25434extern "C" {
25435    #[link_name = "aws_lc_0_47_0_AUTHORITY_INFO_ACCESS_free"]
25436    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
25437}
25438extern "C" {
25439    #[link_name = "aws_lc_0_47_0_d2i_AUTHORITY_INFO_ACCESS"]
25440    pub fn d2i_AUTHORITY_INFO_ACCESS(
25441        out: *mut *mut AUTHORITY_INFO_ACCESS,
25442        inp: *mut *const u8,
25443        len: ::std::os::raw::c_long,
25444    ) -> *mut AUTHORITY_INFO_ACCESS;
25445}
25446extern "C" {
25447    #[link_name = "aws_lc_0_47_0_i2d_AUTHORITY_INFO_ACCESS"]
25448    pub fn i2d_AUTHORITY_INFO_ACCESS(
25449        aia: *mut AUTHORITY_INFO_ACCESS,
25450        outp: *mut *mut u8,
25451    ) -> ::std::os::raw::c_int;
25452}
25453extern "C" {
25454    #[link_name = "aws_lc_0_47_0_POLICY_MAPPING_new"]
25455    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
25456}
25457extern "C" {
25458    #[link_name = "aws_lc_0_47_0_POLICY_MAPPING_free"]
25459    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
25460}
25461extern "C" {
25462    #[link_name = "aws_lc_0_47_0_POLICY_MAPPINGS_it"]
25463    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
25464}
25465extern "C" {
25466    #[link_name = "aws_lc_0_47_0_GENERAL_SUBTREE_new"]
25467    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
25468}
25469extern "C" {
25470    #[link_name = "aws_lc_0_47_0_GENERAL_SUBTREE_free"]
25471    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
25472}
25473extern "C" {
25474    #[link_name = "aws_lc_0_47_0_NAME_CONSTRAINTS_it"]
25475    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
25476}
25477extern "C" {
25478    #[link_name = "aws_lc_0_47_0_NAME_CONSTRAINTS_new"]
25479    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
25480}
25481extern "C" {
25482    #[link_name = "aws_lc_0_47_0_NAME_CONSTRAINTS_free"]
25483    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
25484}
25485extern "C" {
25486    #[link_name = "aws_lc_0_47_0_POLICY_CONSTRAINTS_new"]
25487    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
25488}
25489extern "C" {
25490    #[link_name = "aws_lc_0_47_0_POLICY_CONSTRAINTS_free"]
25491    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
25492}
25493extern "C" {
25494    #[link_name = "aws_lc_0_47_0_POLICY_CONSTRAINTS_it"]
25495    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
25496}
25497extern "C" {
25498    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_set"]
25499    pub fn X509_PURPOSE_set(
25500        p: *mut ::std::os::raw::c_int,
25501        purpose: ::std::os::raw::c_int,
25502    ) -> ::std::os::raw::c_int;
25503}
25504extern "C" {
25505    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get_count"]
25506    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
25507}
25508extern "C" {
25509    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get_by_id"]
25510    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25511}
25512extern "C" {
25513    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get0_name"]
25514    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
25515}
25516extern "C" {
25517    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get0_sname"]
25518    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
25519}
25520extern "C" {
25521    #[link_name = "aws_lc_0_47_0_X509_PURPOSE_get_trust"]
25522    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
25523}
25524#[repr(C)]
25525#[derive(Debug)]
25526pub struct ocsp_cert_id_st {
25527    _unused: [u8; 0],
25528}
25529pub type OCSP_CERTID = ocsp_cert_id_st;
25530#[repr(C)]
25531#[derive(Debug)]
25532pub struct ocsp_one_request_st {
25533    _unused: [u8; 0],
25534}
25535pub type OCSP_ONEREQ = ocsp_one_request_st;
25536#[repr(C)]
25537#[derive(Debug)]
25538pub struct ocsp_req_info_st {
25539    _unused: [u8; 0],
25540}
25541pub type OCSP_REQINFO = ocsp_req_info_st;
25542#[repr(C)]
25543#[derive(Debug)]
25544pub struct ocsp_signature_st {
25545    _unused: [u8; 0],
25546}
25547pub type OCSP_SIGNATURE = ocsp_signature_st;
25548#[repr(C)]
25549#[derive(Debug)]
25550pub struct ocsp_request_st {
25551    _unused: [u8; 0],
25552}
25553pub type OCSP_REQUEST = ocsp_request_st;
25554#[repr(C)]
25555#[derive(Debug)]
25556pub struct ocsp_resp_bytes_st {
25557    _unused: [u8; 0],
25558}
25559pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
25560#[repr(C)]
25561#[derive(Debug)]
25562pub struct ocsp_revoked_info_st {
25563    _unused: [u8; 0],
25564}
25565pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
25566#[repr(C)]
25567#[derive(Debug)]
25568pub struct ocsp_cert_status_st {
25569    _unused: [u8; 0],
25570}
25571pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
25572#[repr(C)]
25573#[derive(Debug)]
25574pub struct ocsp_single_response_st {
25575    _unused: [u8; 0],
25576}
25577pub type OCSP_SINGLERESP = ocsp_single_response_st;
25578#[repr(C)]
25579#[derive(Debug)]
25580pub struct ocsp_response_data_st {
25581    _unused: [u8; 0],
25582}
25583pub type OCSP_RESPDATA = ocsp_response_data_st;
25584#[repr(C)]
25585#[derive(Debug)]
25586pub struct ocsp_response_st {
25587    _unused: [u8; 0],
25588}
25589pub type OCSP_RESPONSE = ocsp_response_st;
25590#[repr(C)]
25591#[derive(Debug)]
25592pub struct ocsp_responder_id_st {
25593    _unused: [u8; 0],
25594}
25595pub type OCSP_RESPID = ocsp_responder_id_st;
25596#[repr(C)]
25597#[derive(Debug)]
25598pub struct ocsp_basic_response_st {
25599    _unused: [u8; 0],
25600}
25601pub type OCSP_BASICRESP = ocsp_basic_response_st;
25602#[repr(C)]
25603#[derive(Debug)]
25604pub struct stack_st_OCSP_CERTID {
25605    _unused: [u8; 0],
25606}
25607pub type sk_OCSP_CERTID_free_func =
25608    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
25609pub type sk_OCSP_CERTID_copy_func =
25610    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
25611pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
25612    unsafe extern "C" fn(
25613        arg1: *const *const OCSP_CERTID,
25614        arg2: *const *const OCSP_CERTID,
25615    ) -> ::std::os::raw::c_int,
25616>;
25617pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
25618    unsafe extern "C" fn(
25619        arg1: *mut OCSP_CERTID,
25620        arg2: *mut ::std::os::raw::c_void,
25621    ) -> ::std::os::raw::c_int,
25622>;
25623#[repr(C)]
25624#[derive(Debug)]
25625pub struct stack_st_OCSP_ONEREQ {
25626    _unused: [u8; 0],
25627}
25628pub type sk_OCSP_ONEREQ_free_func =
25629    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
25630pub type sk_OCSP_ONEREQ_copy_func =
25631    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
25632pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
25633    unsafe extern "C" fn(
25634        arg1: *const *const OCSP_ONEREQ,
25635        arg2: *const *const OCSP_ONEREQ,
25636    ) -> ::std::os::raw::c_int,
25637>;
25638pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
25639    unsafe extern "C" fn(
25640        arg1: *mut OCSP_ONEREQ,
25641        arg2: *mut ::std::os::raw::c_void,
25642    ) -> ::std::os::raw::c_int,
25643>;
25644#[repr(C)]
25645#[derive(Debug)]
25646pub struct stack_st_OCSP_RESPID {
25647    _unused: [u8; 0],
25648}
25649pub type sk_OCSP_RESPID_free_func =
25650    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
25651pub type sk_OCSP_RESPID_copy_func =
25652    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
25653pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
25654    unsafe extern "C" fn(
25655        arg1: *const *const OCSP_RESPID,
25656        arg2: *const *const OCSP_RESPID,
25657    ) -> ::std::os::raw::c_int,
25658>;
25659pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
25660    unsafe extern "C" fn(
25661        arg1: *mut OCSP_RESPID,
25662        arg2: *mut ::std::os::raw::c_void,
25663    ) -> ::std::os::raw::c_int,
25664>;
25665#[repr(C)]
25666#[derive(Debug)]
25667pub struct stack_st_OCSP_SINGLERESP {
25668    _unused: [u8; 0],
25669}
25670pub type sk_OCSP_SINGLERESP_free_func =
25671    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
25672pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
25673    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
25674>;
25675pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
25676    unsafe extern "C" fn(
25677        arg1: *const *const OCSP_SINGLERESP,
25678        arg2: *const *const OCSP_SINGLERESP,
25679    ) -> ::std::os::raw::c_int,
25680>;
25681pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
25682    unsafe extern "C" fn(
25683        arg1: *mut OCSP_SINGLERESP,
25684        arg2: *mut ::std::os::raw::c_void,
25685    ) -> ::std::os::raw::c_int,
25686>;
25687extern "C" {
25688    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_new"]
25689    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
25690}
25691extern "C" {
25692    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_free"]
25693    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
25694}
25695extern "C" {
25696    #[link_name = "aws_lc_0_47_0_d2i_OCSP_BASICRESP"]
25697    pub fn d2i_OCSP_BASICRESP(
25698        a: *mut *mut OCSP_BASICRESP,
25699        in_: *mut *const ::std::os::raw::c_uchar,
25700        len: ::std::os::raw::c_long,
25701    ) -> *mut OCSP_BASICRESP;
25702}
25703extern "C" {
25704    #[link_name = "aws_lc_0_47_0_i2d_OCSP_BASICRESP"]
25705    pub fn i2d_OCSP_BASICRESP(
25706        a: *mut OCSP_BASICRESP,
25707        out: *mut *mut ::std::os::raw::c_uchar,
25708    ) -> ::std::os::raw::c_int;
25709}
25710extern "C" {
25711    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_it"]
25712    pub static OCSP_BASICRESP_it: ASN1_ITEM;
25713}
25714extern "C" {
25715    #[link_name = "aws_lc_0_47_0_OCSP_RESPONSE_new"]
25716    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
25717}
25718extern "C" {
25719    #[link_name = "aws_lc_0_47_0_OCSP_RESPONSE_free"]
25720    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
25721}
25722extern "C" {
25723    #[link_name = "aws_lc_0_47_0_d2i_OCSP_RESPONSE"]
25724    pub fn d2i_OCSP_RESPONSE(
25725        a: *mut *mut OCSP_RESPONSE,
25726        in_: *mut *const ::std::os::raw::c_uchar,
25727        len: ::std::os::raw::c_long,
25728    ) -> *mut OCSP_RESPONSE;
25729}
25730extern "C" {
25731    #[link_name = "aws_lc_0_47_0_i2d_OCSP_RESPONSE"]
25732    pub fn i2d_OCSP_RESPONSE(
25733        a: *mut OCSP_RESPONSE,
25734        out: *mut *mut ::std::os::raw::c_uchar,
25735    ) -> ::std::os::raw::c_int;
25736}
25737extern "C" {
25738    #[link_name = "aws_lc_0_47_0_OCSP_RESPONSE_it"]
25739    pub static OCSP_RESPONSE_it: ASN1_ITEM;
25740}
25741extern "C" {
25742    #[link_name = "aws_lc_0_47_0_OCSP_CERTID_new"]
25743    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
25744}
25745extern "C" {
25746    #[link_name = "aws_lc_0_47_0_OCSP_CERTID_free"]
25747    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
25748}
25749extern "C" {
25750    #[link_name = "aws_lc_0_47_0_d2i_OCSP_CERTID"]
25751    pub fn d2i_OCSP_CERTID(
25752        a: *mut *mut OCSP_CERTID,
25753        in_: *mut *const ::std::os::raw::c_uchar,
25754        len: ::std::os::raw::c_long,
25755    ) -> *mut OCSP_CERTID;
25756}
25757extern "C" {
25758    #[link_name = "aws_lc_0_47_0_i2d_OCSP_CERTID"]
25759    pub fn i2d_OCSP_CERTID(
25760        a: *mut OCSP_CERTID,
25761        out: *mut *mut ::std::os::raw::c_uchar,
25762    ) -> ::std::os::raw::c_int;
25763}
25764extern "C" {
25765    #[link_name = "aws_lc_0_47_0_OCSP_CERTID_it"]
25766    pub static OCSP_CERTID_it: ASN1_ITEM;
25767}
25768extern "C" {
25769    #[link_name = "aws_lc_0_47_0_OCSP_REQUEST_new"]
25770    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
25771}
25772extern "C" {
25773    #[link_name = "aws_lc_0_47_0_OCSP_REQUEST_free"]
25774    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
25775}
25776extern "C" {
25777    #[link_name = "aws_lc_0_47_0_d2i_OCSP_REQUEST"]
25778    pub fn d2i_OCSP_REQUEST(
25779        a: *mut *mut OCSP_REQUEST,
25780        in_: *mut *const ::std::os::raw::c_uchar,
25781        len: ::std::os::raw::c_long,
25782    ) -> *mut OCSP_REQUEST;
25783}
25784extern "C" {
25785    #[link_name = "aws_lc_0_47_0_i2d_OCSP_REQUEST"]
25786    pub fn i2d_OCSP_REQUEST(
25787        a: *mut OCSP_REQUEST,
25788        out: *mut *mut ::std::os::raw::c_uchar,
25789    ) -> ::std::os::raw::c_int;
25790}
25791extern "C" {
25792    #[link_name = "aws_lc_0_47_0_OCSP_REQUEST_it"]
25793    pub static OCSP_REQUEST_it: ASN1_ITEM;
25794}
25795extern "C" {
25796    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_new"]
25797    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
25798}
25799extern "C" {
25800    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_free"]
25801    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
25802}
25803extern "C" {
25804    #[link_name = "aws_lc_0_47_0_d2i_OCSP_SINGLERESP"]
25805    pub fn d2i_OCSP_SINGLERESP(
25806        a: *mut *mut OCSP_SINGLERESP,
25807        in_: *mut *const ::std::os::raw::c_uchar,
25808        len: ::std::os::raw::c_long,
25809    ) -> *mut OCSP_SINGLERESP;
25810}
25811extern "C" {
25812    #[link_name = "aws_lc_0_47_0_i2d_OCSP_SINGLERESP"]
25813    pub fn i2d_OCSP_SINGLERESP(
25814        a: *mut OCSP_SINGLERESP,
25815        out: *mut *mut ::std::os::raw::c_uchar,
25816    ) -> ::std::os::raw::c_int;
25817}
25818extern "C" {
25819    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_it"]
25820    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
25821}
25822extern "C" {
25823    #[link_name = "aws_lc_0_47_0_OCSP_ONEREQ_new"]
25824    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
25825}
25826extern "C" {
25827    #[link_name = "aws_lc_0_47_0_OCSP_ONEREQ_free"]
25828    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
25829}
25830extern "C" {
25831    #[link_name = "aws_lc_0_47_0_d2i_OCSP_ONEREQ"]
25832    pub fn d2i_OCSP_ONEREQ(
25833        a: *mut *mut OCSP_ONEREQ,
25834        in_: *mut *const ::std::os::raw::c_uchar,
25835        len: ::std::os::raw::c_long,
25836    ) -> *mut OCSP_ONEREQ;
25837}
25838extern "C" {
25839    #[link_name = "aws_lc_0_47_0_i2d_OCSP_ONEREQ"]
25840    pub fn i2d_OCSP_ONEREQ(
25841        a: *mut OCSP_ONEREQ,
25842        out: *mut *mut ::std::os::raw::c_uchar,
25843    ) -> ::std::os::raw::c_int;
25844}
25845extern "C" {
25846    #[link_name = "aws_lc_0_47_0_OCSP_ONEREQ_it"]
25847    pub static OCSP_ONEREQ_it: ASN1_ITEM;
25848}
25849extern "C" {
25850    #[link_name = "aws_lc_0_47_0_d2i_OCSP_REQUEST_bio"]
25851    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
25852}
25853extern "C" {
25854    #[link_name = "aws_lc_0_47_0_d2i_OCSP_RESPONSE_bio"]
25855    pub fn d2i_OCSP_RESPONSE_bio(
25856        bp: *mut BIO,
25857        presp: *mut *mut OCSP_RESPONSE,
25858    ) -> *mut OCSP_RESPONSE;
25859}
25860extern "C" {
25861    #[link_name = "aws_lc_0_47_0_i2d_OCSP_RESPONSE_bio"]
25862    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25863}
25864extern "C" {
25865    #[link_name = "aws_lc_0_47_0_i2d_OCSP_REQUEST_bio"]
25866    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25867}
25868extern "C" {
25869    #[link_name = "aws_lc_0_47_0_OCSP_CERTID_dup"]
25870    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
25871}
25872extern "C" {
25873    #[link_name = "aws_lc_0_47_0_OCSP_sendreq_bio"]
25874    pub fn OCSP_sendreq_bio(
25875        b: *mut BIO,
25876        path: *const ::std::os::raw::c_char,
25877        req: *mut OCSP_REQUEST,
25878    ) -> *mut OCSP_RESPONSE;
25879}
25880extern "C" {
25881    #[link_name = "aws_lc_0_47_0_OCSP_sendreq_new"]
25882    pub fn OCSP_sendreq_new(
25883        io: *mut BIO,
25884        path: *const ::std::os::raw::c_char,
25885        req: *mut OCSP_REQUEST,
25886        maxline: ::std::os::raw::c_int,
25887    ) -> *mut OCSP_REQ_CTX;
25888}
25889extern "C" {
25890    #[link_name = "aws_lc_0_47_0_OCSP_sendreq_nbio"]
25891    pub fn OCSP_sendreq_nbio(
25892        presp: *mut *mut OCSP_RESPONSE,
25893        rctx: *mut OCSP_REQ_CTX,
25894    ) -> ::std::os::raw::c_int;
25895}
25896extern "C" {
25897    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_new"]
25898    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
25899}
25900extern "C" {
25901    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_free"]
25902    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
25903}
25904extern "C" {
25905    #[link_name = "aws_lc_0_47_0_OCSP_set_max_response_length"]
25906    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
25907}
25908extern "C" {
25909    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_http"]
25910    pub fn OCSP_REQ_CTX_http(
25911        rctx: *mut OCSP_REQ_CTX,
25912        op: *const ::std::os::raw::c_char,
25913        path: *const ::std::os::raw::c_char,
25914    ) -> ::std::os::raw::c_int;
25915}
25916extern "C" {
25917    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_set1_req"]
25918    pub fn OCSP_REQ_CTX_set1_req(
25919        rctx: *mut OCSP_REQ_CTX,
25920        req: *mut OCSP_REQUEST,
25921    ) -> ::std::os::raw::c_int;
25922}
25923extern "C" {
25924    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_add1_header"]
25925    pub fn OCSP_REQ_CTX_add1_header(
25926        rctx: *mut OCSP_REQ_CTX,
25927        name: *const ::std::os::raw::c_char,
25928        value: *const ::std::os::raw::c_char,
25929    ) -> ::std::os::raw::c_int;
25930}
25931extern "C" {
25932    #[link_name = "aws_lc_0_47_0_OCSP_REQ_CTX_i2d"]
25933    pub fn OCSP_REQ_CTX_i2d(
25934        rctx: *mut OCSP_REQ_CTX,
25935        it: *const ASN1_ITEM,
25936        val: *mut ASN1_VALUE,
25937    ) -> ::std::os::raw::c_int;
25938}
25939extern "C" {
25940    #[link_name = "aws_lc_0_47_0_OCSP_request_add0_id"]
25941    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
25942}
25943extern "C" {
25944    #[link_name = "aws_lc_0_47_0_OCSP_onereq_get0_id"]
25945    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
25946}
25947extern "C" {
25948    #[link_name = "aws_lc_0_47_0_OCSP_request_add1_nonce"]
25949    pub fn OCSP_request_add1_nonce(
25950        req: *mut OCSP_REQUEST,
25951        val: *mut ::std::os::raw::c_uchar,
25952        len: ::std::os::raw::c_int,
25953    ) -> ::std::os::raw::c_int;
25954}
25955extern "C" {
25956    #[link_name = "aws_lc_0_47_0_OCSP_basic_add1_nonce"]
25957    pub fn OCSP_basic_add1_nonce(
25958        resp: *mut OCSP_BASICRESP,
25959        val: *mut ::std::os::raw::c_uchar,
25960        len: ::std::os::raw::c_int,
25961    ) -> ::std::os::raw::c_int;
25962}
25963extern "C" {
25964    #[link_name = "aws_lc_0_47_0_OCSP_check_nonce"]
25965    pub fn OCSP_check_nonce(
25966        req: *mut OCSP_REQUEST,
25967        bs: *mut OCSP_BASICRESP,
25968    ) -> ::std::os::raw::c_int;
25969}
25970extern "C" {
25971    #[link_name = "aws_lc_0_47_0_OCSP_copy_nonce"]
25972    pub fn OCSP_copy_nonce(
25973        resp: *mut OCSP_BASICRESP,
25974        req: *mut OCSP_REQUEST,
25975    ) -> ::std::os::raw::c_int;
25976}
25977extern "C" {
25978    #[link_name = "aws_lc_0_47_0_OCSP_request_set1_name"]
25979    pub fn OCSP_request_set1_name(
25980        req: *mut OCSP_REQUEST,
25981        nm: *mut X509_NAME,
25982    ) -> ::std::os::raw::c_int;
25983}
25984extern "C" {
25985    #[link_name = "aws_lc_0_47_0_OCSP_request_add1_cert"]
25986    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
25987        -> ::std::os::raw::c_int;
25988}
25989extern "C" {
25990    #[link_name = "aws_lc_0_47_0_OCSP_request_is_signed"]
25991    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25992}
25993extern "C" {
25994    #[link_name = "aws_lc_0_47_0_OCSP_request_onereq_count"]
25995    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25996}
25997extern "C" {
25998    #[link_name = "aws_lc_0_47_0_OCSP_request_onereq_get0"]
25999    pub fn OCSP_request_onereq_get0(
26000        req: *mut OCSP_REQUEST,
26001        i: ::std::os::raw::c_int,
26002    ) -> *mut OCSP_ONEREQ;
26003}
26004extern "C" {
26005    #[link_name = "aws_lc_0_47_0_OCSP_request_sign"]
26006    pub fn OCSP_request_sign(
26007        req: *mut OCSP_REQUEST,
26008        signer: *mut X509,
26009        key: *mut EVP_PKEY,
26010        dgst: *const EVP_MD,
26011        certs: *mut stack_st_X509,
26012        flags: ::std::os::raw::c_ulong,
26013    ) -> ::std::os::raw::c_int;
26014}
26015extern "C" {
26016    #[link_name = "aws_lc_0_47_0_OCSP_response_status"]
26017    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
26018}
26019extern "C" {
26020    #[link_name = "aws_lc_0_47_0_OCSP_response_get1_basic"]
26021    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
26022}
26023extern "C" {
26024    #[link_name = "aws_lc_0_47_0_OCSP_resp_count"]
26025    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
26026}
26027extern "C" {
26028    #[link_name = "aws_lc_0_47_0_OCSP_resp_get0"]
26029    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
26030}
26031extern "C" {
26032    #[link_name = "aws_lc_0_47_0_OCSP_single_get0_status"]
26033    pub fn OCSP_single_get0_status(
26034        single: *mut OCSP_SINGLERESP,
26035        reason: *mut ::std::os::raw::c_int,
26036        revtime: *mut *mut ASN1_GENERALIZEDTIME,
26037        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
26038        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
26039    ) -> ::std::os::raw::c_int;
26040}
26041extern "C" {
26042    #[link_name = "aws_lc_0_47_0_OCSP_resp_find"]
26043    pub fn OCSP_resp_find(
26044        bs: *mut OCSP_BASICRESP,
26045        id: *mut OCSP_CERTID,
26046        last: ::std::os::raw::c_int,
26047    ) -> ::std::os::raw::c_int;
26048}
26049extern "C" {
26050    #[link_name = "aws_lc_0_47_0_OCSP_resp_find_status"]
26051    pub fn OCSP_resp_find_status(
26052        bs: *mut OCSP_BASICRESP,
26053        id: *mut OCSP_CERTID,
26054        status: *mut ::std::os::raw::c_int,
26055        reason: *mut ::std::os::raw::c_int,
26056        revtime: *mut *mut ASN1_GENERALIZEDTIME,
26057        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
26058        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
26059    ) -> ::std::os::raw::c_int;
26060}
26061extern "C" {
26062    #[link_name = "aws_lc_0_47_0_OCSP_check_validity"]
26063    pub fn OCSP_check_validity(
26064        thisUpdate: *mut ASN1_GENERALIZEDTIME,
26065        nextUpdate: *mut ASN1_GENERALIZEDTIME,
26066        drift_num_seconds: ::std::os::raw::c_long,
26067        max_age_seconds: ::std::os::raw::c_long,
26068    ) -> ::std::os::raw::c_int;
26069}
26070extern "C" {
26071    #[link_name = "aws_lc_0_47_0_OCSP_basic_verify"]
26072    pub fn OCSP_basic_verify(
26073        bs: *mut OCSP_BASICRESP,
26074        certs: *mut stack_st_X509,
26075        st: *mut X509_STORE,
26076        flags: ::std::os::raw::c_ulong,
26077    ) -> ::std::os::raw::c_int;
26078}
26079extern "C" {
26080    #[link_name = "aws_lc_0_47_0_OCSP_request_verify"]
26081    pub fn OCSP_request_verify(
26082        req: *mut OCSP_REQUEST,
26083        certs: *mut stack_st_X509,
26084        st: *mut X509_STORE,
26085        flags: ::std::os::raw::c_ulong,
26086    ) -> ::std::os::raw::c_int;
26087}
26088extern "C" {
26089    #[link_name = "aws_lc_0_47_0_OCSP_cert_id_new"]
26090    pub fn OCSP_cert_id_new(
26091        dgst: *const EVP_MD,
26092        issuerName: *const X509_NAME,
26093        issuerKey: *const ASN1_BIT_STRING,
26094        serialNumber: *const ASN1_INTEGER,
26095    ) -> *mut OCSP_CERTID;
26096}
26097extern "C" {
26098    #[link_name = "aws_lc_0_47_0_OCSP_cert_to_id"]
26099    pub fn OCSP_cert_to_id(
26100        dgst: *const EVP_MD,
26101        subject: *const X509,
26102        issuer: *const X509,
26103    ) -> *mut OCSP_CERTID;
26104}
26105extern "C" {
26106    #[link_name = "aws_lc_0_47_0_OCSP_parse_url"]
26107    pub fn OCSP_parse_url(
26108        url: *const ::std::os::raw::c_char,
26109        phost: *mut *mut ::std::os::raw::c_char,
26110        pport: *mut *mut ::std::os::raw::c_char,
26111        ppath: *mut *mut ::std::os::raw::c_char,
26112        pssl: *mut ::std::os::raw::c_int,
26113    ) -> ::std::os::raw::c_int;
26114}
26115extern "C" {
26116    #[link_name = "aws_lc_0_47_0_OCSP_id_issuer_cmp"]
26117    pub fn OCSP_id_issuer_cmp(
26118        a: *const OCSP_CERTID,
26119        b: *const OCSP_CERTID,
26120    ) -> ::std::os::raw::c_int;
26121}
26122extern "C" {
26123    #[link_name = "aws_lc_0_47_0_OCSP_id_cmp"]
26124    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
26125}
26126extern "C" {
26127    #[link_name = "aws_lc_0_47_0_OCSP_id_get0_info"]
26128    pub fn OCSP_id_get0_info(
26129        nameHash: *mut *mut ASN1_OCTET_STRING,
26130        algor: *mut *mut ASN1_OBJECT,
26131        keyHash: *mut *mut ASN1_OCTET_STRING,
26132        serial: *mut *mut ASN1_INTEGER,
26133        cid: *mut OCSP_CERTID,
26134    ) -> ::std::os::raw::c_int;
26135}
26136extern "C" {
26137    #[link_name = "aws_lc_0_47_0_OCSP_basic_add1_cert"]
26138    pub fn OCSP_basic_add1_cert(
26139        resp: *mut OCSP_BASICRESP,
26140        cert: *mut X509,
26141    ) -> ::std::os::raw::c_int;
26142}
26143extern "C" {
26144    #[link_name = "aws_lc_0_47_0_OCSP_basic_add1_status"]
26145    pub fn OCSP_basic_add1_status(
26146        resp: *mut OCSP_BASICRESP,
26147        cid: *mut OCSP_CERTID,
26148        status: ::std::os::raw::c_int,
26149        revoked_reason: ::std::os::raw::c_int,
26150        revoked_time: *mut ASN1_TIME,
26151        this_update: *mut ASN1_TIME,
26152        next_update: *mut ASN1_TIME,
26153    ) -> *mut OCSP_SINGLERESP;
26154}
26155extern "C" {
26156    #[link_name = "aws_lc_0_47_0_OCSP_basic_sign"]
26157    pub fn OCSP_basic_sign(
26158        resp: *mut OCSP_BASICRESP,
26159        signer: *mut X509,
26160        key: *mut EVP_PKEY,
26161        dgst: *const EVP_MD,
26162        certs: *mut stack_st_X509,
26163        flags: ::std::os::raw::c_ulong,
26164    ) -> ::std::os::raw::c_int;
26165}
26166extern "C" {
26167    #[link_name = "aws_lc_0_47_0_OCSP_response_create"]
26168    pub fn OCSP_response_create(
26169        status: ::std::os::raw::c_int,
26170        bs: *mut OCSP_BASICRESP,
26171    ) -> *mut OCSP_RESPONSE;
26172}
26173extern "C" {
26174    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_get0_id"]
26175    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
26176}
26177extern "C" {
26178    #[link_name = "aws_lc_0_47_0_OCSP_response_status_str"]
26179    pub fn OCSP_response_status_str(
26180        status_code: ::std::os::raw::c_long,
26181    ) -> *const ::std::os::raw::c_char;
26182}
26183extern "C" {
26184    #[link_name = "aws_lc_0_47_0_OCSP_cert_status_str"]
26185    pub fn OCSP_cert_status_str(
26186        status_code: ::std::os::raw::c_long,
26187    ) -> *const ::std::os::raw::c_char;
26188}
26189extern "C" {
26190    #[link_name = "aws_lc_0_47_0_OCSP_crl_reason_str"]
26191    pub fn OCSP_crl_reason_str(
26192        status_code: ::std::os::raw::c_long,
26193    ) -> *const ::std::os::raw::c_char;
26194}
26195extern "C" {
26196    #[link_name = "aws_lc_0_47_0_OCSP_REQUEST_print"]
26197    pub fn OCSP_REQUEST_print(
26198        bp: *mut BIO,
26199        req: *mut OCSP_REQUEST,
26200        flags: ::std::os::raw::c_ulong,
26201    ) -> ::std::os::raw::c_int;
26202}
26203extern "C" {
26204    #[link_name = "aws_lc_0_47_0_OCSP_RESPONSE_print"]
26205    pub fn OCSP_RESPONSE_print(
26206        bp: *mut BIO,
26207        resp: *mut OCSP_RESPONSE,
26208        flags: ::std::os::raw::c_ulong,
26209    ) -> ::std::os::raw::c_int;
26210}
26211extern "C" {
26212    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_get_ext_by_NID"]
26213    pub fn OCSP_BASICRESP_get_ext_by_NID(
26214        bs: *mut OCSP_BASICRESP,
26215        nid: ::std::os::raw::c_int,
26216        lastpos: ::std::os::raw::c_int,
26217    ) -> ::std::os::raw::c_int;
26218}
26219extern "C" {
26220    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_get_ext"]
26221    pub fn OCSP_BASICRESP_get_ext(
26222        bs: *mut OCSP_BASICRESP,
26223        loc: ::std::os::raw::c_int,
26224    ) -> *mut X509_EXTENSION;
26225}
26226extern "C" {
26227    #[link_name = "aws_lc_0_47_0_OCSP_BASICRESP_delete_ext"]
26228    pub fn OCSP_BASICRESP_delete_ext(
26229        x: *mut OCSP_BASICRESP,
26230        loc: ::std::os::raw::c_int,
26231    ) -> *mut X509_EXTENSION;
26232}
26233extern "C" {
26234    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_add_ext"]
26235    pub fn OCSP_SINGLERESP_add_ext(
26236        sresp: *mut OCSP_SINGLERESP,
26237        ex: *mut X509_EXTENSION,
26238        loc: ::std::os::raw::c_int,
26239    ) -> ::std::os::raw::c_int;
26240}
26241extern "C" {
26242    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_get_ext_count"]
26243    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
26244}
26245extern "C" {
26246    #[link_name = "aws_lc_0_47_0_OCSP_SINGLERESP_get_ext"]
26247    pub fn OCSP_SINGLERESP_get_ext(
26248        sresp: *mut OCSP_SINGLERESP,
26249        loc: ::std::os::raw::c_int,
26250    ) -> *mut X509_EXTENSION;
26251}
26252pub type pem_password_cb = ::std::option::Option<
26253    unsafe extern "C" fn(
26254        buf: *mut ::std::os::raw::c_char,
26255        size: ::std::os::raw::c_int,
26256        rwflag: ::std::os::raw::c_int,
26257        userdata: *mut ::std::os::raw::c_void,
26258    ) -> ::std::os::raw::c_int,
26259>;
26260extern "C" {
26261    #[link_name = "aws_lc_0_47_0_PEM_get_EVP_CIPHER_INFO"]
26262    pub fn PEM_get_EVP_CIPHER_INFO(
26263        header: *mut ::std::os::raw::c_char,
26264        cipher: *mut EVP_CIPHER_INFO,
26265    ) -> ::std::os::raw::c_int;
26266}
26267extern "C" {
26268    #[link_name = "aws_lc_0_47_0_PEM_do_header"]
26269    pub fn PEM_do_header(
26270        cipher: *mut EVP_CIPHER_INFO,
26271        data: *mut ::std::os::raw::c_uchar,
26272        len: *mut ::std::os::raw::c_long,
26273        callback: pem_password_cb,
26274        u: *mut ::std::os::raw::c_void,
26275    ) -> ::std::os::raw::c_int;
26276}
26277extern "C" {
26278    #[link_name = "aws_lc_0_47_0_PEM_read_bio"]
26279    pub fn PEM_read_bio(
26280        bp: *mut BIO,
26281        name: *mut *mut ::std::os::raw::c_char,
26282        header: *mut *mut ::std::os::raw::c_char,
26283        data: *mut *mut ::std::os::raw::c_uchar,
26284        len: *mut ::std::os::raw::c_long,
26285    ) -> ::std::os::raw::c_int;
26286}
26287extern "C" {
26288    #[link_name = "aws_lc_0_47_0_PEM_write_bio"]
26289    pub fn PEM_write_bio(
26290        bp: *mut BIO,
26291        name: *const ::std::os::raw::c_char,
26292        hdr: *const ::std::os::raw::c_char,
26293        data: *const ::std::os::raw::c_uchar,
26294        len: ::std::os::raw::c_long,
26295    ) -> ::std::os::raw::c_int;
26296}
26297extern "C" {
26298    #[link_name = "aws_lc_0_47_0_PEM_bytes_read_bio"]
26299    pub fn PEM_bytes_read_bio(
26300        pdata: *mut *mut ::std::os::raw::c_uchar,
26301        plen: *mut ::std::os::raw::c_long,
26302        pnm: *mut *mut ::std::os::raw::c_char,
26303        name: *const ::std::os::raw::c_char,
26304        bp: *mut BIO,
26305        cb: pem_password_cb,
26306        u: *mut ::std::os::raw::c_void,
26307    ) -> ::std::os::raw::c_int;
26308}
26309extern "C" {
26310    #[link_name = "aws_lc_0_47_0_PEM_ASN1_read_bio"]
26311    pub fn PEM_ASN1_read_bio(
26312        d2i: d2i_of_void,
26313        name: *const ::std::os::raw::c_char,
26314        bp: *mut BIO,
26315        x: *mut *mut ::std::os::raw::c_void,
26316        cb: pem_password_cb,
26317        u: *mut ::std::os::raw::c_void,
26318    ) -> *mut ::std::os::raw::c_void;
26319}
26320extern "C" {
26321    #[link_name = "aws_lc_0_47_0_PEM_ASN1_write_bio"]
26322    pub fn PEM_ASN1_write_bio(
26323        i2d: i2d_of_void,
26324        name: *const ::std::os::raw::c_char,
26325        bp: *mut BIO,
26326        x: *mut ::std::os::raw::c_void,
26327        enc: *const EVP_CIPHER,
26328        pass: *const ::std::os::raw::c_uchar,
26329        pass_len: ::std::os::raw::c_int,
26330        cb: pem_password_cb,
26331        u: *mut ::std::os::raw::c_void,
26332    ) -> ::std::os::raw::c_int;
26333}
26334extern "C" {
26335    #[link_name = "aws_lc_0_47_0_PEM_X509_INFO_read_bio"]
26336    pub fn PEM_X509_INFO_read_bio(
26337        bp: *mut BIO,
26338        sk: *mut stack_st_X509_INFO,
26339        cb: pem_password_cb,
26340        u: *mut ::std::os::raw::c_void,
26341    ) -> *mut stack_st_X509_INFO;
26342}
26343extern "C" {
26344    #[link_name = "aws_lc_0_47_0_PEM_X509_INFO_write_bio"]
26345    pub fn PEM_X509_INFO_write_bio(
26346        bp: *mut BIO,
26347        xi: *mut X509_INFO,
26348        enc: *mut EVP_CIPHER,
26349        kstr: *mut ::std::os::raw::c_uchar,
26350        klen: ::std::os::raw::c_int,
26351        cd: pem_password_cb,
26352        u: *mut ::std::os::raw::c_void,
26353    ) -> ::std::os::raw::c_int;
26354}
26355extern "C" {
26356    #[link_name = "aws_lc_0_47_0_PEM_X509_INFO_read"]
26357    pub fn PEM_X509_INFO_read(
26358        fp: *mut FILE,
26359        sk: *mut stack_st_X509_INFO,
26360        cb: pem_password_cb,
26361        u: *mut ::std::os::raw::c_void,
26362    ) -> *mut stack_st_X509_INFO;
26363}
26364extern "C" {
26365    #[link_name = "aws_lc_0_47_0_PEM_read"]
26366    pub fn PEM_read(
26367        fp: *mut FILE,
26368        name: *mut *mut ::std::os::raw::c_char,
26369        header: *mut *mut ::std::os::raw::c_char,
26370        data: *mut *mut ::std::os::raw::c_uchar,
26371        len: *mut ::std::os::raw::c_long,
26372    ) -> ::std::os::raw::c_int;
26373}
26374extern "C" {
26375    #[link_name = "aws_lc_0_47_0_PEM_write"]
26376    pub fn PEM_write(
26377        fp: *mut FILE,
26378        name: *const ::std::os::raw::c_char,
26379        hdr: *const ::std::os::raw::c_char,
26380        data: *const ::std::os::raw::c_uchar,
26381        len: ::std::os::raw::c_long,
26382    ) -> ::std::os::raw::c_int;
26383}
26384extern "C" {
26385    #[link_name = "aws_lc_0_47_0_PEM_ASN1_read"]
26386    pub fn PEM_ASN1_read(
26387        d2i: d2i_of_void,
26388        name: *const ::std::os::raw::c_char,
26389        fp: *mut FILE,
26390        x: *mut *mut ::std::os::raw::c_void,
26391        cb: pem_password_cb,
26392        u: *mut ::std::os::raw::c_void,
26393    ) -> *mut ::std::os::raw::c_void;
26394}
26395extern "C" {
26396    #[link_name = "aws_lc_0_47_0_PEM_ASN1_write"]
26397    pub fn PEM_ASN1_write(
26398        i2d: i2d_of_void,
26399        name: *const ::std::os::raw::c_char,
26400        fp: *mut FILE,
26401        x: *mut ::std::os::raw::c_void,
26402        enc: *const EVP_CIPHER,
26403        pass: *const ::std::os::raw::c_uchar,
26404        pass_len: ::std::os::raw::c_int,
26405        callback: pem_password_cb,
26406        u: *mut ::std::os::raw::c_void,
26407    ) -> ::std::os::raw::c_int;
26408}
26409extern "C" {
26410    #[link_name = "aws_lc_0_47_0_PEM_def_callback"]
26411    pub fn PEM_def_callback(
26412        buf: *mut ::std::os::raw::c_char,
26413        size: ::std::os::raw::c_int,
26414        rwflag: ::std::os::raw::c_int,
26415        userdata: *mut ::std::os::raw::c_void,
26416    ) -> ::std::os::raw::c_int;
26417}
26418extern "C" {
26419    #[link_name = "aws_lc_0_47_0_PEM_read_bio_X509"]
26420    pub fn PEM_read_bio_X509(
26421        bp: *mut BIO,
26422        x: *mut *mut X509,
26423        cb: pem_password_cb,
26424        u: *mut ::std::os::raw::c_void,
26425    ) -> *mut X509;
26426}
26427extern "C" {
26428    #[link_name = "aws_lc_0_47_0_PEM_read_X509"]
26429    pub fn PEM_read_X509(
26430        fp: *mut FILE,
26431        x: *mut *mut X509,
26432        cb: pem_password_cb,
26433        u: *mut ::std::os::raw::c_void,
26434    ) -> *mut X509;
26435}
26436extern "C" {
26437    #[link_name = "aws_lc_0_47_0_PEM_write_bio_X509"]
26438    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
26439}
26440extern "C" {
26441    #[link_name = "aws_lc_0_47_0_PEM_write_X509"]
26442    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
26443}
26444extern "C" {
26445    #[link_name = "aws_lc_0_47_0_PEM_read_bio_X509_AUX"]
26446    pub fn PEM_read_bio_X509_AUX(
26447        bp: *mut BIO,
26448        x: *mut *mut X509,
26449        cb: pem_password_cb,
26450        u: *mut ::std::os::raw::c_void,
26451    ) -> *mut X509;
26452}
26453extern "C" {
26454    #[link_name = "aws_lc_0_47_0_PEM_read_X509_AUX"]
26455    pub fn PEM_read_X509_AUX(
26456        fp: *mut FILE,
26457        x: *mut *mut X509,
26458        cb: pem_password_cb,
26459        u: *mut ::std::os::raw::c_void,
26460    ) -> *mut X509;
26461}
26462extern "C" {
26463    #[link_name = "aws_lc_0_47_0_PEM_write_bio_X509_AUX"]
26464    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
26465}
26466extern "C" {
26467    #[link_name = "aws_lc_0_47_0_PEM_write_X509_AUX"]
26468    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
26469}
26470extern "C" {
26471    #[link_name = "aws_lc_0_47_0_PEM_read_bio_X509_REQ"]
26472    pub fn PEM_read_bio_X509_REQ(
26473        bp: *mut BIO,
26474        x: *mut *mut X509_REQ,
26475        cb: pem_password_cb,
26476        u: *mut ::std::os::raw::c_void,
26477    ) -> *mut X509_REQ;
26478}
26479extern "C" {
26480    #[link_name = "aws_lc_0_47_0_PEM_read_X509_REQ"]
26481    pub fn PEM_read_X509_REQ(
26482        fp: *mut FILE,
26483        x: *mut *mut X509_REQ,
26484        cb: pem_password_cb,
26485        u: *mut ::std::os::raw::c_void,
26486    ) -> *mut X509_REQ;
26487}
26488extern "C" {
26489    #[link_name = "aws_lc_0_47_0_PEM_write_bio_X509_REQ"]
26490    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26491}
26492extern "C" {
26493    #[link_name = "aws_lc_0_47_0_PEM_write_X509_REQ"]
26494    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26495}
26496extern "C" {
26497    #[link_name = "aws_lc_0_47_0_PEM_write_bio_X509_REQ_NEW"]
26498    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26499}
26500extern "C" {
26501    #[link_name = "aws_lc_0_47_0_PEM_write_X509_REQ_NEW"]
26502    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26503}
26504extern "C" {
26505    #[link_name = "aws_lc_0_47_0_PEM_read_bio_X509_CRL"]
26506    pub fn PEM_read_bio_X509_CRL(
26507        bp: *mut BIO,
26508        x: *mut *mut X509_CRL,
26509        cb: pem_password_cb,
26510        u: *mut ::std::os::raw::c_void,
26511    ) -> *mut X509_CRL;
26512}
26513extern "C" {
26514    #[link_name = "aws_lc_0_47_0_PEM_read_X509_CRL"]
26515    pub fn PEM_read_X509_CRL(
26516        fp: *mut FILE,
26517        x: *mut *mut X509_CRL,
26518        cb: pem_password_cb,
26519        u: *mut ::std::os::raw::c_void,
26520    ) -> *mut X509_CRL;
26521}
26522extern "C" {
26523    #[link_name = "aws_lc_0_47_0_PEM_write_bio_X509_CRL"]
26524    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
26525}
26526extern "C" {
26527    #[link_name = "aws_lc_0_47_0_PEM_write_X509_CRL"]
26528    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
26529}
26530extern "C" {
26531    #[link_name = "aws_lc_0_47_0_PEM_read_bio_PKCS7"]
26532    pub fn PEM_read_bio_PKCS7(
26533        bp: *mut BIO,
26534        x: *mut *mut PKCS7,
26535        cb: pem_password_cb,
26536        u: *mut ::std::os::raw::c_void,
26537    ) -> *mut PKCS7;
26538}
26539extern "C" {
26540    #[link_name = "aws_lc_0_47_0_PEM_read_PKCS7"]
26541    pub fn PEM_read_PKCS7(
26542        fp: *mut FILE,
26543        x: *mut *mut PKCS7,
26544        cb: pem_password_cb,
26545        u: *mut ::std::os::raw::c_void,
26546    ) -> *mut PKCS7;
26547}
26548extern "C" {
26549    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PKCS7"]
26550    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
26551}
26552extern "C" {
26553    #[link_name = "aws_lc_0_47_0_PEM_write_PKCS7"]
26554    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
26555}
26556extern "C" {
26557    #[link_name = "aws_lc_0_47_0_PEM_read_bio_PKCS8"]
26558    pub fn PEM_read_bio_PKCS8(
26559        bp: *mut BIO,
26560        x: *mut *mut X509_SIG,
26561        cb: pem_password_cb,
26562        u: *mut ::std::os::raw::c_void,
26563    ) -> *mut X509_SIG;
26564}
26565extern "C" {
26566    #[link_name = "aws_lc_0_47_0_PEM_read_PKCS8"]
26567    pub fn PEM_read_PKCS8(
26568        fp: *mut FILE,
26569        x: *mut *mut X509_SIG,
26570        cb: pem_password_cb,
26571        u: *mut ::std::os::raw::c_void,
26572    ) -> *mut X509_SIG;
26573}
26574extern "C" {
26575    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PKCS8"]
26576    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26577}
26578extern "C" {
26579    #[link_name = "aws_lc_0_47_0_PEM_write_PKCS8"]
26580    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26581}
26582extern "C" {
26583    #[link_name = "aws_lc_0_47_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
26584    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
26585        bp: *mut BIO,
26586        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26587        cb: pem_password_cb,
26588        u: *mut ::std::os::raw::c_void,
26589    ) -> *mut PKCS8_PRIV_KEY_INFO;
26590}
26591extern "C" {
26592    #[link_name = "aws_lc_0_47_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
26593    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
26594        fp: *mut FILE,
26595        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26596        cb: pem_password_cb,
26597        u: *mut ::std::os::raw::c_void,
26598    ) -> *mut PKCS8_PRIV_KEY_INFO;
26599}
26600extern "C" {
26601    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
26602    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
26603        bp: *mut BIO,
26604        x: *mut PKCS8_PRIV_KEY_INFO,
26605    ) -> ::std::os::raw::c_int;
26606}
26607extern "C" {
26608    #[link_name = "aws_lc_0_47_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
26609    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
26610        fp: *mut FILE,
26611        x: *mut PKCS8_PRIV_KEY_INFO,
26612    ) -> ::std::os::raw::c_int;
26613}
26614extern "C" {
26615    #[link_name = "aws_lc_0_47_0_PEM_read_bio_RSAPrivateKey"]
26616    pub fn PEM_read_bio_RSAPrivateKey(
26617        bp: *mut BIO,
26618        x: *mut *mut RSA,
26619        cb: pem_password_cb,
26620        u: *mut ::std::os::raw::c_void,
26621    ) -> *mut RSA;
26622}
26623extern "C" {
26624    #[link_name = "aws_lc_0_47_0_PEM_read_RSAPrivateKey"]
26625    pub fn PEM_read_RSAPrivateKey(
26626        fp: *mut FILE,
26627        x: *mut *mut RSA,
26628        cb: pem_password_cb,
26629        u: *mut ::std::os::raw::c_void,
26630    ) -> *mut RSA;
26631}
26632extern "C" {
26633    #[link_name = "aws_lc_0_47_0_PEM_write_bio_RSAPrivateKey"]
26634    pub fn PEM_write_bio_RSAPrivateKey(
26635        bp: *mut BIO,
26636        x: *mut RSA,
26637        enc: *const EVP_CIPHER,
26638        pass: *const ::std::os::raw::c_uchar,
26639        pass_len: ::std::os::raw::c_int,
26640        cb: pem_password_cb,
26641        u: *mut ::std::os::raw::c_void,
26642    ) -> ::std::os::raw::c_int;
26643}
26644extern "C" {
26645    #[link_name = "aws_lc_0_47_0_PEM_write_RSAPrivateKey"]
26646    pub fn PEM_write_RSAPrivateKey(
26647        fp: *mut FILE,
26648        x: *mut RSA,
26649        enc: *const EVP_CIPHER,
26650        pass: *const ::std::os::raw::c_uchar,
26651        pass_len: ::std::os::raw::c_int,
26652        cb: pem_password_cb,
26653        u: *mut ::std::os::raw::c_void,
26654    ) -> ::std::os::raw::c_int;
26655}
26656extern "C" {
26657    #[link_name = "aws_lc_0_47_0_PEM_read_bio_RSAPublicKey"]
26658    pub fn PEM_read_bio_RSAPublicKey(
26659        bp: *mut BIO,
26660        x: *mut *mut RSA,
26661        cb: pem_password_cb,
26662        u: *mut ::std::os::raw::c_void,
26663    ) -> *mut RSA;
26664}
26665extern "C" {
26666    #[link_name = "aws_lc_0_47_0_PEM_read_RSAPublicKey"]
26667    pub fn PEM_read_RSAPublicKey(
26668        fp: *mut FILE,
26669        x: *mut *mut RSA,
26670        cb: pem_password_cb,
26671        u: *mut ::std::os::raw::c_void,
26672    ) -> *mut RSA;
26673}
26674extern "C" {
26675    #[link_name = "aws_lc_0_47_0_PEM_write_bio_RSAPublicKey"]
26676    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
26677}
26678extern "C" {
26679    #[link_name = "aws_lc_0_47_0_PEM_write_RSAPublicKey"]
26680    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
26681}
26682extern "C" {
26683    #[link_name = "aws_lc_0_47_0_PEM_read_bio_RSA_PUBKEY"]
26684    pub fn PEM_read_bio_RSA_PUBKEY(
26685        bp: *mut BIO,
26686        x: *mut *mut RSA,
26687        cb: pem_password_cb,
26688        u: *mut ::std::os::raw::c_void,
26689    ) -> *mut RSA;
26690}
26691extern "C" {
26692    #[link_name = "aws_lc_0_47_0_PEM_read_RSA_PUBKEY"]
26693    pub fn PEM_read_RSA_PUBKEY(
26694        fp: *mut FILE,
26695        x: *mut *mut RSA,
26696        cb: pem_password_cb,
26697        u: *mut ::std::os::raw::c_void,
26698    ) -> *mut RSA;
26699}
26700extern "C" {
26701    #[link_name = "aws_lc_0_47_0_PEM_write_bio_RSA_PUBKEY"]
26702    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
26703}
26704extern "C" {
26705    #[link_name = "aws_lc_0_47_0_PEM_write_RSA_PUBKEY"]
26706    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
26707}
26708extern "C" {
26709    #[link_name = "aws_lc_0_47_0_PEM_read_bio_DSAPrivateKey"]
26710    pub fn PEM_read_bio_DSAPrivateKey(
26711        bp: *mut BIO,
26712        x: *mut *mut DSA,
26713        cb: pem_password_cb,
26714        u: *mut ::std::os::raw::c_void,
26715    ) -> *mut DSA;
26716}
26717extern "C" {
26718    #[link_name = "aws_lc_0_47_0_PEM_read_DSAPrivateKey"]
26719    pub fn PEM_read_DSAPrivateKey(
26720        fp: *mut FILE,
26721        x: *mut *mut DSA,
26722        cb: pem_password_cb,
26723        u: *mut ::std::os::raw::c_void,
26724    ) -> *mut DSA;
26725}
26726extern "C" {
26727    #[link_name = "aws_lc_0_47_0_PEM_write_bio_DSAPrivateKey"]
26728    pub fn PEM_write_bio_DSAPrivateKey(
26729        bp: *mut BIO,
26730        x: *mut DSA,
26731        enc: *const EVP_CIPHER,
26732        pass: *const ::std::os::raw::c_uchar,
26733        pass_len: ::std::os::raw::c_int,
26734        cb: pem_password_cb,
26735        u: *mut ::std::os::raw::c_void,
26736    ) -> ::std::os::raw::c_int;
26737}
26738extern "C" {
26739    #[link_name = "aws_lc_0_47_0_PEM_write_DSAPrivateKey"]
26740    pub fn PEM_write_DSAPrivateKey(
26741        fp: *mut FILE,
26742        x: *mut DSA,
26743        enc: *const EVP_CIPHER,
26744        pass: *const ::std::os::raw::c_uchar,
26745        pass_len: ::std::os::raw::c_int,
26746        cb: pem_password_cb,
26747        u: *mut ::std::os::raw::c_void,
26748    ) -> ::std::os::raw::c_int;
26749}
26750extern "C" {
26751    #[link_name = "aws_lc_0_47_0_PEM_read_bio_DSA_PUBKEY"]
26752    pub fn PEM_read_bio_DSA_PUBKEY(
26753        bp: *mut BIO,
26754        x: *mut *mut DSA,
26755        cb: pem_password_cb,
26756        u: *mut ::std::os::raw::c_void,
26757    ) -> *mut DSA;
26758}
26759extern "C" {
26760    #[link_name = "aws_lc_0_47_0_PEM_read_DSA_PUBKEY"]
26761    pub fn PEM_read_DSA_PUBKEY(
26762        fp: *mut FILE,
26763        x: *mut *mut DSA,
26764        cb: pem_password_cb,
26765        u: *mut ::std::os::raw::c_void,
26766    ) -> *mut DSA;
26767}
26768extern "C" {
26769    #[link_name = "aws_lc_0_47_0_PEM_write_bio_DSA_PUBKEY"]
26770    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
26771}
26772extern "C" {
26773    #[link_name = "aws_lc_0_47_0_PEM_write_DSA_PUBKEY"]
26774    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
26775}
26776extern "C" {
26777    #[link_name = "aws_lc_0_47_0_PEM_read_bio_DSAparams"]
26778    pub fn PEM_read_bio_DSAparams(
26779        bp: *mut BIO,
26780        x: *mut *mut DSA,
26781        cb: pem_password_cb,
26782        u: *mut ::std::os::raw::c_void,
26783    ) -> *mut DSA;
26784}
26785extern "C" {
26786    #[link_name = "aws_lc_0_47_0_PEM_read_DSAparams"]
26787    pub fn PEM_read_DSAparams(
26788        fp: *mut FILE,
26789        x: *mut *mut DSA,
26790        cb: pem_password_cb,
26791        u: *mut ::std::os::raw::c_void,
26792    ) -> *mut DSA;
26793}
26794extern "C" {
26795    #[link_name = "aws_lc_0_47_0_PEM_write_bio_DSAparams"]
26796    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
26797}
26798extern "C" {
26799    #[link_name = "aws_lc_0_47_0_PEM_write_DSAparams"]
26800    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
26801}
26802extern "C" {
26803    #[link_name = "aws_lc_0_47_0_PEM_read_bio_ECPrivateKey"]
26804    pub fn PEM_read_bio_ECPrivateKey(
26805        bp: *mut BIO,
26806        x: *mut *mut EC_KEY,
26807        cb: pem_password_cb,
26808        u: *mut ::std::os::raw::c_void,
26809    ) -> *mut EC_KEY;
26810}
26811extern "C" {
26812    #[link_name = "aws_lc_0_47_0_PEM_read_ECPrivateKey"]
26813    pub fn PEM_read_ECPrivateKey(
26814        fp: *mut FILE,
26815        x: *mut *mut EC_KEY,
26816        cb: pem_password_cb,
26817        u: *mut ::std::os::raw::c_void,
26818    ) -> *mut EC_KEY;
26819}
26820extern "C" {
26821    #[link_name = "aws_lc_0_47_0_PEM_write_bio_ECPrivateKey"]
26822    pub fn PEM_write_bio_ECPrivateKey(
26823        bp: *mut BIO,
26824        x: *mut EC_KEY,
26825        enc: *const EVP_CIPHER,
26826        pass: *const ::std::os::raw::c_uchar,
26827        pass_len: ::std::os::raw::c_int,
26828        cb: pem_password_cb,
26829        u: *mut ::std::os::raw::c_void,
26830    ) -> ::std::os::raw::c_int;
26831}
26832extern "C" {
26833    #[link_name = "aws_lc_0_47_0_PEM_write_ECPrivateKey"]
26834    pub fn PEM_write_ECPrivateKey(
26835        fp: *mut FILE,
26836        x: *mut EC_KEY,
26837        enc: *const EVP_CIPHER,
26838        pass: *const ::std::os::raw::c_uchar,
26839        pass_len: ::std::os::raw::c_int,
26840        cb: pem_password_cb,
26841        u: *mut ::std::os::raw::c_void,
26842    ) -> ::std::os::raw::c_int;
26843}
26844extern "C" {
26845    #[link_name = "aws_lc_0_47_0_PEM_read_bio_EC_PUBKEY"]
26846    pub fn PEM_read_bio_EC_PUBKEY(
26847        bp: *mut BIO,
26848        x: *mut *mut EC_KEY,
26849        cb: pem_password_cb,
26850        u: *mut ::std::os::raw::c_void,
26851    ) -> *mut EC_KEY;
26852}
26853extern "C" {
26854    #[link_name = "aws_lc_0_47_0_PEM_read_EC_PUBKEY"]
26855    pub fn PEM_read_EC_PUBKEY(
26856        fp: *mut FILE,
26857        x: *mut *mut EC_KEY,
26858        cb: pem_password_cb,
26859        u: *mut ::std::os::raw::c_void,
26860    ) -> *mut EC_KEY;
26861}
26862extern "C" {
26863    #[link_name = "aws_lc_0_47_0_PEM_write_bio_EC_PUBKEY"]
26864    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26865}
26866extern "C" {
26867    #[link_name = "aws_lc_0_47_0_PEM_write_EC_PUBKEY"]
26868    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26869}
26870extern "C" {
26871    #[link_name = "aws_lc_0_47_0_PEM_read_bio_DHparams"]
26872    pub fn PEM_read_bio_DHparams(
26873        bp: *mut BIO,
26874        x: *mut *mut DH,
26875        cb: pem_password_cb,
26876        u: *mut ::std::os::raw::c_void,
26877    ) -> *mut DH;
26878}
26879extern "C" {
26880    #[link_name = "aws_lc_0_47_0_PEM_read_DHparams"]
26881    pub fn PEM_read_DHparams(
26882        fp: *mut FILE,
26883        x: *mut *mut DH,
26884        cb: pem_password_cb,
26885        u: *mut ::std::os::raw::c_void,
26886    ) -> *mut DH;
26887}
26888extern "C" {
26889    #[link_name = "aws_lc_0_47_0_PEM_write_bio_DHparams"]
26890    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
26891}
26892extern "C" {
26893    #[link_name = "aws_lc_0_47_0_PEM_write_DHparams"]
26894    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
26895}
26896extern "C" {
26897    #[link_name = "aws_lc_0_47_0_PEM_read_bio_PrivateKey"]
26898    pub fn PEM_read_bio_PrivateKey(
26899        bp: *mut BIO,
26900        x: *mut *mut EVP_PKEY,
26901        cb: pem_password_cb,
26902        u: *mut ::std::os::raw::c_void,
26903    ) -> *mut EVP_PKEY;
26904}
26905extern "C" {
26906    #[link_name = "aws_lc_0_47_0_PEM_read_PrivateKey"]
26907    pub fn PEM_read_PrivateKey(
26908        fp: *mut FILE,
26909        x: *mut *mut EVP_PKEY,
26910        cb: pem_password_cb,
26911        u: *mut ::std::os::raw::c_void,
26912    ) -> *mut EVP_PKEY;
26913}
26914extern "C" {
26915    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PrivateKey"]
26916    pub fn PEM_write_bio_PrivateKey(
26917        bp: *mut BIO,
26918        x: *mut EVP_PKEY,
26919        enc: *const EVP_CIPHER,
26920        pass: *const ::std::os::raw::c_uchar,
26921        pass_len: ::std::os::raw::c_int,
26922        cb: pem_password_cb,
26923        u: *mut ::std::os::raw::c_void,
26924    ) -> ::std::os::raw::c_int;
26925}
26926extern "C" {
26927    #[link_name = "aws_lc_0_47_0_PEM_write_PrivateKey"]
26928    pub fn PEM_write_PrivateKey(
26929        fp: *mut FILE,
26930        x: *mut EVP_PKEY,
26931        enc: *const EVP_CIPHER,
26932        pass: *const ::std::os::raw::c_uchar,
26933        pass_len: ::std::os::raw::c_int,
26934        cb: pem_password_cb,
26935        u: *mut ::std::os::raw::c_void,
26936    ) -> ::std::os::raw::c_int;
26937}
26938extern "C" {
26939    #[link_name = "aws_lc_0_47_0_PEM_read_bio_PUBKEY"]
26940    pub fn PEM_read_bio_PUBKEY(
26941        bp: *mut BIO,
26942        x: *mut *mut EVP_PKEY,
26943        cb: pem_password_cb,
26944        u: *mut ::std::os::raw::c_void,
26945    ) -> *mut EVP_PKEY;
26946}
26947extern "C" {
26948    #[link_name = "aws_lc_0_47_0_PEM_read_PUBKEY"]
26949    pub fn PEM_read_PUBKEY(
26950        fp: *mut FILE,
26951        x: *mut *mut EVP_PKEY,
26952        cb: pem_password_cb,
26953        u: *mut ::std::os::raw::c_void,
26954    ) -> *mut EVP_PKEY;
26955}
26956extern "C" {
26957    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PUBKEY"]
26958    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26959}
26960extern "C" {
26961    #[link_name = "aws_lc_0_47_0_PEM_write_PUBKEY"]
26962    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26963}
26964extern "C" {
26965    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PKCS8PrivateKey_nid"]
26966    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
26967        bp: *mut BIO,
26968        x: *const EVP_PKEY,
26969        nid: ::std::os::raw::c_int,
26970        pass: *const ::std::os::raw::c_char,
26971        pass_len: ::std::os::raw::c_int,
26972        cb: pem_password_cb,
26973        u: *mut ::std::os::raw::c_void,
26974    ) -> ::std::os::raw::c_int;
26975}
26976extern "C" {
26977    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PKCS8PrivateKey"]
26978    pub fn PEM_write_bio_PKCS8PrivateKey(
26979        bp: *mut BIO,
26980        x: *const EVP_PKEY,
26981        enc: *const EVP_CIPHER,
26982        pass: *const ::std::os::raw::c_char,
26983        pass_len: ::std::os::raw::c_int,
26984        cb: pem_password_cb,
26985        u: *mut ::std::os::raw::c_void,
26986    ) -> ::std::os::raw::c_int;
26987}
26988extern "C" {
26989    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKey_bio"]
26990    pub fn i2d_PKCS8PrivateKey_bio(
26991        bp: *mut BIO,
26992        x: *const EVP_PKEY,
26993        enc: *const EVP_CIPHER,
26994        pass: *const ::std::os::raw::c_char,
26995        pass_len: ::std::os::raw::c_int,
26996        cb: pem_password_cb,
26997        u: *mut ::std::os::raw::c_void,
26998    ) -> ::std::os::raw::c_int;
26999}
27000extern "C" {
27001    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKey_nid_bio"]
27002    pub fn i2d_PKCS8PrivateKey_nid_bio(
27003        bp: *mut BIO,
27004        x: *const EVP_PKEY,
27005        nid: ::std::os::raw::c_int,
27006        pass: *const ::std::os::raw::c_char,
27007        pass_len: ::std::os::raw::c_int,
27008        cb: pem_password_cb,
27009        u: *mut ::std::os::raw::c_void,
27010    ) -> ::std::os::raw::c_int;
27011}
27012extern "C" {
27013    #[link_name = "aws_lc_0_47_0_d2i_PKCS8PrivateKey_bio"]
27014    pub fn d2i_PKCS8PrivateKey_bio(
27015        bp: *mut BIO,
27016        x: *mut *mut EVP_PKEY,
27017        cb: pem_password_cb,
27018        u: *mut ::std::os::raw::c_void,
27019    ) -> *mut EVP_PKEY;
27020}
27021extern "C" {
27022    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKey_fp"]
27023    pub fn i2d_PKCS8PrivateKey_fp(
27024        fp: *mut FILE,
27025        x: *const EVP_PKEY,
27026        enc: *const EVP_CIPHER,
27027        pass: *const ::std::os::raw::c_char,
27028        pass_len: ::std::os::raw::c_int,
27029        cb: pem_password_cb,
27030        u: *mut ::std::os::raw::c_void,
27031    ) -> ::std::os::raw::c_int;
27032}
27033extern "C" {
27034    #[link_name = "aws_lc_0_47_0_i2d_PKCS8PrivateKey_nid_fp"]
27035    pub fn i2d_PKCS8PrivateKey_nid_fp(
27036        fp: *mut FILE,
27037        x: *const EVP_PKEY,
27038        nid: ::std::os::raw::c_int,
27039        pass: *const ::std::os::raw::c_char,
27040        pass_len: ::std::os::raw::c_int,
27041        cb: pem_password_cb,
27042        u: *mut ::std::os::raw::c_void,
27043    ) -> ::std::os::raw::c_int;
27044}
27045extern "C" {
27046    #[link_name = "aws_lc_0_47_0_PEM_write_PKCS8PrivateKey_nid"]
27047    pub fn PEM_write_PKCS8PrivateKey_nid(
27048        fp: *mut FILE,
27049        x: *const EVP_PKEY,
27050        nid: ::std::os::raw::c_int,
27051        pass: *const ::std::os::raw::c_char,
27052        pass_len: ::std::os::raw::c_int,
27053        cb: pem_password_cb,
27054        u: *mut ::std::os::raw::c_void,
27055    ) -> ::std::os::raw::c_int;
27056}
27057extern "C" {
27058    #[link_name = "aws_lc_0_47_0_d2i_PKCS8PrivateKey_fp"]
27059    pub fn d2i_PKCS8PrivateKey_fp(
27060        fp: *mut FILE,
27061        x: *mut *mut EVP_PKEY,
27062        cb: pem_password_cb,
27063        u: *mut ::std::os::raw::c_void,
27064    ) -> *mut EVP_PKEY;
27065}
27066extern "C" {
27067    #[link_name = "aws_lc_0_47_0_PEM_write_PKCS8PrivateKey"]
27068    pub fn PEM_write_PKCS8PrivateKey(
27069        fp: *mut FILE,
27070        x: *const EVP_PKEY,
27071        enc: *const EVP_CIPHER,
27072        pass: *const ::std::os::raw::c_char,
27073        pass_len: ::std::os::raw::c_int,
27074        cd: pem_password_cb,
27075        u: *mut ::std::os::raw::c_void,
27076    ) -> ::std::os::raw::c_int;
27077}
27078extern "C" {
27079    #[link_name = "aws_lc_0_47_0_PEM_read_bio_Parameters"]
27080    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
27081}
27082extern "C" {
27083    #[link_name = "aws_lc_0_47_0_PEM_write_bio_Parameters"]
27084    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
27085}
27086extern "C" {
27087    #[link_name = "aws_lc_0_47_0_PEM_read_bio_ECPKParameters"]
27088    pub fn PEM_read_bio_ECPKParameters(
27089        bio: *mut BIO,
27090        out_group: *mut *mut EC_GROUP,
27091        cb: pem_password_cb,
27092        u: *mut ::std::os::raw::c_void,
27093    ) -> *mut EC_GROUP;
27094}
27095extern "C" {
27096    #[link_name = "aws_lc_0_47_0_PEM_write_bio_ECPKParameters"]
27097    pub fn PEM_write_bio_ECPKParameters(
27098        out: *mut BIO,
27099        group: *const EC_GROUP,
27100    ) -> ::std::os::raw::c_int;
27101}
27102extern "C" {
27103    #[link_name = "aws_lc_0_47_0_PEM_write_bio_PrivateKey_traditional"]
27104    pub fn PEM_write_bio_PrivateKey_traditional(
27105        bp: *mut BIO,
27106        x: *mut EVP_PKEY,
27107        enc: *const EVP_CIPHER,
27108        kstr: *mut ::std::os::raw::c_uchar,
27109        klen: ::std::os::raw::c_int,
27110        cb: pem_password_cb,
27111        u: *mut ::std::os::raw::c_void,
27112    ) -> ::std::os::raw::c_int;
27113}
27114extern "C" {
27115    #[link_name = "aws_lc_0_47_0_PKCS8_encrypt"]
27116    pub fn PKCS8_encrypt(
27117        pbe_nid: ::std::os::raw::c_int,
27118        cipher: *const EVP_CIPHER,
27119        pass: *const ::std::os::raw::c_char,
27120        pass_len: ::std::os::raw::c_int,
27121        salt: *const u8,
27122        salt_len: usize,
27123        iterations: ::std::os::raw::c_int,
27124        p8inf: *mut PKCS8_PRIV_KEY_INFO,
27125    ) -> *mut X509_SIG;
27126}
27127extern "C" {
27128    #[link_name = "aws_lc_0_47_0_PKCS8_marshal_encrypted_private_key"]
27129    pub fn PKCS8_marshal_encrypted_private_key(
27130        out: *mut CBB,
27131        pbe_nid: ::std::os::raw::c_int,
27132        cipher: *const EVP_CIPHER,
27133        pass: *const ::std::os::raw::c_char,
27134        pass_len: usize,
27135        salt: *const u8,
27136        salt_len: usize,
27137        iterations: ::std::os::raw::c_int,
27138        pkey: *const EVP_PKEY,
27139    ) -> ::std::os::raw::c_int;
27140}
27141extern "C" {
27142    #[link_name = "aws_lc_0_47_0_PKCS8_decrypt"]
27143    pub fn PKCS8_decrypt(
27144        pkcs8: *mut X509_SIG,
27145        pass: *const ::std::os::raw::c_char,
27146        pass_len: ::std::os::raw::c_int,
27147    ) -> *mut PKCS8_PRIV_KEY_INFO;
27148}
27149extern "C" {
27150    #[link_name = "aws_lc_0_47_0_PKCS8_parse_encrypted_private_key"]
27151    pub fn PKCS8_parse_encrypted_private_key(
27152        cbs: *mut CBS,
27153        pass: *const ::std::os::raw::c_char,
27154        pass_len: usize,
27155    ) -> *mut EVP_PKEY;
27156}
27157extern "C" {
27158    #[link_name = "aws_lc_0_47_0_PKCS12_get_key_and_certs"]
27159    pub fn PKCS12_get_key_and_certs(
27160        out_key: *mut *mut EVP_PKEY,
27161        out_certs: *mut stack_st_X509,
27162        in_: *mut CBS,
27163        password: *const ::std::os::raw::c_char,
27164    ) -> ::std::os::raw::c_int;
27165}
27166extern "C" {
27167    #[link_name = "aws_lc_0_47_0_PKCS12_PBE_add"]
27168    pub fn PKCS12_PBE_add();
27169}
27170extern "C" {
27171    #[link_name = "aws_lc_0_47_0_d2i_PKCS12"]
27172    pub fn d2i_PKCS12(
27173        out_p12: *mut *mut PKCS12,
27174        ber_bytes: *mut *const u8,
27175        ber_len: usize,
27176    ) -> *mut PKCS12;
27177}
27178extern "C" {
27179    #[link_name = "aws_lc_0_47_0_d2i_PKCS12_bio"]
27180    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
27181}
27182extern "C" {
27183    #[link_name = "aws_lc_0_47_0_d2i_PKCS12_fp"]
27184    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
27185}
27186extern "C" {
27187    #[link_name = "aws_lc_0_47_0_i2d_PKCS12"]
27188    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
27189}
27190extern "C" {
27191    #[link_name = "aws_lc_0_47_0_i2d_PKCS12_bio"]
27192    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
27193}
27194extern "C" {
27195    #[link_name = "aws_lc_0_47_0_i2d_PKCS12_fp"]
27196    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
27197}
27198extern "C" {
27199    #[link_name = "aws_lc_0_47_0_PKCS12_parse"]
27200    pub fn PKCS12_parse(
27201        p12: *const PKCS12,
27202        password: *const ::std::os::raw::c_char,
27203        out_pkey: *mut *mut EVP_PKEY,
27204        out_cert: *mut *mut X509,
27205        out_ca_certs: *mut *mut stack_st_X509,
27206    ) -> ::std::os::raw::c_int;
27207}
27208extern "C" {
27209    #[link_name = "aws_lc_0_47_0_PKCS12_set_mac"]
27210    pub fn PKCS12_set_mac(
27211        p12: *mut PKCS12,
27212        password: *const ::std::os::raw::c_char,
27213        password_len: ::std::os::raw::c_int,
27214        salt: *mut ::std::os::raw::c_uchar,
27215        salt_len: ::std::os::raw::c_int,
27216        mac_iterations: ::std::os::raw::c_int,
27217        md: *const EVP_MD,
27218    ) -> ::std::os::raw::c_int;
27219}
27220extern "C" {
27221    #[link_name = "aws_lc_0_47_0_PKCS12_verify_mac"]
27222    pub fn PKCS12_verify_mac(
27223        p12: *const PKCS12,
27224        password: *const ::std::os::raw::c_char,
27225        password_len: ::std::os::raw::c_int,
27226    ) -> ::std::os::raw::c_int;
27227}
27228extern "C" {
27229    #[link_name = "aws_lc_0_47_0_PKCS12_create"]
27230    pub fn PKCS12_create(
27231        password: *const ::std::os::raw::c_char,
27232        name: *const ::std::os::raw::c_char,
27233        pkey: *const EVP_PKEY,
27234        cert: *mut X509,
27235        chain: *const stack_st_X509,
27236        key_nid: ::std::os::raw::c_int,
27237        cert_nid: ::std::os::raw::c_int,
27238        iterations: ::std::os::raw::c_int,
27239        mac_iterations: ::std::os::raw::c_int,
27240        key_type: ::std::os::raw::c_int,
27241    ) -> *mut PKCS12;
27242}
27243extern "C" {
27244    #[link_name = "aws_lc_0_47_0_PKCS12_new"]
27245    pub fn PKCS12_new() -> *mut PKCS12;
27246}
27247extern "C" {
27248    #[link_name = "aws_lc_0_47_0_PKCS12_free"]
27249    pub fn PKCS12_free(p12: *mut PKCS12);
27250}
27251pub type poly1305_state = [u8; 512usize];
27252extern "C" {
27253    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_init"]
27254    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
27255}
27256extern "C" {
27257    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_update"]
27258    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
27259}
27260extern "C" {
27261    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_finish"]
27262    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
27263}
27264extern "C" {
27265    #[link_name = "aws_lc_0_47_0_RAND_bytes"]
27266    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27267}
27268extern "C" {
27269    #[link_name = "aws_lc_0_47_0_RAND_priv_bytes"]
27270    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27271}
27272extern "C" {
27273    #[link_name = "aws_lc_0_47_0_RAND_public_bytes"]
27274    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
27275}
27276extern "C" {
27277    #[link_name = "aws_lc_0_47_0_RAND_bytes_with_user_prediction_resistance"]
27278    pub fn RAND_bytes_with_user_prediction_resistance(
27279        out: *mut u8,
27280        out_len: usize,
27281        user_pred_resistance: *const u8,
27282    ) -> ::std::os::raw::c_int;
27283}
27284extern "C" {
27285    #[link_name = "aws_lc_0_47_0_RAND_pseudo_bytes"]
27286    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27287}
27288extern "C" {
27289    #[link_name = "aws_lc_0_47_0_RAND_seed"]
27290    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
27291}
27292extern "C" {
27293    #[link_name = "aws_lc_0_47_0_RAND_load_file"]
27294    pub fn RAND_load_file(
27295        path: *const ::std::os::raw::c_char,
27296        num: ::std::os::raw::c_long,
27297    ) -> ::std::os::raw::c_int;
27298}
27299extern "C" {
27300    #[link_name = "aws_lc_0_47_0_RAND_write_file"]
27301    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
27302}
27303extern "C" {
27304    #[link_name = "aws_lc_0_47_0_RAND_file_name"]
27305    pub fn RAND_file_name(
27306        buf: *mut ::std::os::raw::c_char,
27307        num: usize,
27308    ) -> *const ::std::os::raw::c_char;
27309}
27310extern "C" {
27311    #[link_name = "aws_lc_0_47_0_RAND_add"]
27312    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
27313}
27314extern "C" {
27315    #[link_name = "aws_lc_0_47_0_RAND_egd"]
27316    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
27317}
27318extern "C" {
27319    #[link_name = "aws_lc_0_47_0_RAND_egd_bytes"]
27320    pub fn RAND_egd_bytes(
27321        arg1: *const ::std::os::raw::c_char,
27322        bytes: ::std::os::raw::c_int,
27323    ) -> ::std::os::raw::c_int;
27324}
27325extern "C" {
27326    #[link_name = "aws_lc_0_47_0_RAND_poll"]
27327    pub fn RAND_poll() -> ::std::os::raw::c_int;
27328}
27329extern "C" {
27330    #[link_name = "aws_lc_0_47_0_RAND_status"]
27331    pub fn RAND_status() -> ::std::os::raw::c_int;
27332}
27333extern "C" {
27334    #[link_name = "aws_lc_0_47_0_RAND_cleanup"]
27335    pub fn RAND_cleanup();
27336}
27337#[repr(C)]
27338#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27339pub struct rand_meth_st {
27340    pub seed: ::std::option::Option<
27341        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
27342    >,
27343    pub bytes: ::std::option::Option<
27344        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
27345    >,
27346    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
27347    pub add: ::std::option::Option<
27348        unsafe extern "C" fn(
27349            buf: *const ::std::os::raw::c_void,
27350            num: ::std::os::raw::c_int,
27351            entropy: f64,
27352        ),
27353    >,
27354    pub pseudorand: ::std::option::Option<
27355        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
27356    >,
27357    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
27358}
27359#[test]
27360fn bindgen_test_layout_rand_meth_st() {
27361    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
27362    let ptr = UNINIT.as_ptr();
27363    assert_eq!(
27364        ::std::mem::size_of::<rand_meth_st>(),
27365        48usize,
27366        "Size of rand_meth_st"
27367    );
27368    assert_eq!(
27369        ::std::mem::align_of::<rand_meth_st>(),
27370        8usize,
27371        "Alignment of rand_meth_st"
27372    );
27373    assert_eq!(
27374        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
27375        0usize,
27376        "Offset of field: rand_meth_st::seed"
27377    );
27378    assert_eq!(
27379        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
27380        8usize,
27381        "Offset of field: rand_meth_st::bytes"
27382    );
27383    assert_eq!(
27384        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
27385        16usize,
27386        "Offset of field: rand_meth_st::cleanup"
27387    );
27388    assert_eq!(
27389        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
27390        24usize,
27391        "Offset of field: rand_meth_st::add"
27392    );
27393    assert_eq!(
27394        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
27395        32usize,
27396        "Offset of field: rand_meth_st::pseudorand"
27397    );
27398    assert_eq!(
27399        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
27400        40usize,
27401        "Offset of field: rand_meth_st::status"
27402    );
27403}
27404extern "C" {
27405    #[link_name = "aws_lc_0_47_0_RAND_SSLeay"]
27406    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
27407}
27408extern "C" {
27409    #[link_name = "aws_lc_0_47_0_RAND_OpenSSL"]
27410    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
27411}
27412extern "C" {
27413    #[link_name = "aws_lc_0_47_0_RAND_get_rand_method"]
27414    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
27415}
27416extern "C" {
27417    #[link_name = "aws_lc_0_47_0_RAND_set_rand_method"]
27418    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
27419}
27420extern "C" {
27421    #[link_name = "aws_lc_0_47_0_RAND_keep_random_devices_open"]
27422    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
27423}
27424#[repr(C)]
27425#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27426pub struct rc4_key_st {
27427    pub x: u32,
27428    pub y: u32,
27429    pub data: [u32; 256usize],
27430}
27431#[test]
27432fn bindgen_test_layout_rc4_key_st() {
27433    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
27434    let ptr = UNINIT.as_ptr();
27435    assert_eq!(
27436        ::std::mem::size_of::<rc4_key_st>(),
27437        1032usize,
27438        "Size of rc4_key_st"
27439    );
27440    assert_eq!(
27441        ::std::mem::align_of::<rc4_key_st>(),
27442        4usize,
27443        "Alignment of rc4_key_st"
27444    );
27445    assert_eq!(
27446        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
27447        0usize,
27448        "Offset of field: rc4_key_st::x"
27449    );
27450    assert_eq!(
27451        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
27452        4usize,
27453        "Offset of field: rc4_key_st::y"
27454    );
27455    assert_eq!(
27456        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27457        8usize,
27458        "Offset of field: rc4_key_st::data"
27459    );
27460}
27461impl Default for rc4_key_st {
27462    fn default() -> Self {
27463        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27464        unsafe {
27465            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27466            s.assume_init()
27467        }
27468    }
27469}
27470extern "C" {
27471    #[link_name = "aws_lc_0_47_0_RC4_set_key"]
27472    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
27473}
27474extern "C" {
27475    #[link_name = "aws_lc_0_47_0_RC4"]
27476    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
27477}
27478extern "C" {
27479    #[link_name = "aws_lc_0_47_0_RC4_options"]
27480    pub fn RC4_options() -> *const ::std::os::raw::c_char;
27481}
27482#[repr(C)]
27483#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27484pub struct RIPEMD160state_st {
27485    pub h: [u32; 5usize],
27486    pub Nl: u32,
27487    pub Nh: u32,
27488    pub data: [u8; 64usize],
27489    pub num: ::std::os::raw::c_uint,
27490}
27491#[test]
27492fn bindgen_test_layout_RIPEMD160state_st() {
27493    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
27494    let ptr = UNINIT.as_ptr();
27495    assert_eq!(
27496        ::std::mem::size_of::<RIPEMD160state_st>(),
27497        96usize,
27498        "Size of RIPEMD160state_st"
27499    );
27500    assert_eq!(
27501        ::std::mem::align_of::<RIPEMD160state_st>(),
27502        4usize,
27503        "Alignment of RIPEMD160state_st"
27504    );
27505    assert_eq!(
27506        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
27507        0usize,
27508        "Offset of field: RIPEMD160state_st::h"
27509    );
27510    assert_eq!(
27511        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
27512        20usize,
27513        "Offset of field: RIPEMD160state_st::Nl"
27514    );
27515    assert_eq!(
27516        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
27517        24usize,
27518        "Offset of field: RIPEMD160state_st::Nh"
27519    );
27520    assert_eq!(
27521        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27522        28usize,
27523        "Offset of field: RIPEMD160state_st::data"
27524    );
27525    assert_eq!(
27526        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
27527        92usize,
27528        "Offset of field: RIPEMD160state_st::num"
27529    );
27530}
27531impl Default for RIPEMD160state_st {
27532    fn default() -> Self {
27533        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27534        unsafe {
27535            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27536            s.assume_init()
27537        }
27538    }
27539}
27540extern "C" {
27541    #[link_name = "aws_lc_0_47_0_RIPEMD160_Init"]
27542    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
27543}
27544extern "C" {
27545    #[link_name = "aws_lc_0_47_0_RIPEMD160_Update"]
27546    pub fn RIPEMD160_Update(
27547        ctx: *mut RIPEMD160_CTX,
27548        data: *const ::std::os::raw::c_void,
27549        len: usize,
27550    ) -> ::std::os::raw::c_int;
27551}
27552extern "C" {
27553    #[link_name = "aws_lc_0_47_0_RIPEMD160_Final"]
27554    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
27555}
27556extern "C" {
27557    #[link_name = "aws_lc_0_47_0_RIPEMD160"]
27558    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
27559}
27560extern "C" {
27561    #[link_name = "aws_lc_0_47_0_SIPHASH_24"]
27562    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
27563}
27564extern "C" {
27565    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_experiment_v1"]
27566    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27567}
27568extern "C" {
27569    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_experiment_v2_voprf"]
27570    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27571}
27572extern "C" {
27573    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_experiment_v2_pmb"]
27574    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27575}
27576extern "C" {
27577    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_pst_v1_voprf"]
27578    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27579}
27580extern "C" {
27581    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_pst_v1_pmb"]
27582    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27583}
27584#[repr(C)]
27585#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27586pub struct trust_token_st {
27587    pub data: *mut u8,
27588    pub len: usize,
27589}
27590#[test]
27591fn bindgen_test_layout_trust_token_st() {
27592    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
27593    let ptr = UNINIT.as_ptr();
27594    assert_eq!(
27595        ::std::mem::size_of::<trust_token_st>(),
27596        16usize,
27597        "Size of trust_token_st"
27598    );
27599    assert_eq!(
27600        ::std::mem::align_of::<trust_token_st>(),
27601        8usize,
27602        "Alignment of trust_token_st"
27603    );
27604    assert_eq!(
27605        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27606        0usize,
27607        "Offset of field: trust_token_st::data"
27608    );
27609    assert_eq!(
27610        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
27611        8usize,
27612        "Offset of field: trust_token_st::len"
27613    );
27614}
27615impl Default for trust_token_st {
27616    fn default() -> Self {
27617        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27618        unsafe {
27619            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27620            s.assume_init()
27621        }
27622    }
27623}
27624#[repr(C)]
27625#[derive(Debug)]
27626pub struct stack_st_TRUST_TOKEN {
27627    _unused: [u8; 0],
27628}
27629pub type sk_TRUST_TOKEN_free_func =
27630    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27631pub type sk_TRUST_TOKEN_copy_func =
27632    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27633pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
27634    unsafe extern "C" fn(
27635        arg1: *const *const TRUST_TOKEN,
27636        arg2: *const *const TRUST_TOKEN,
27637    ) -> ::std::os::raw::c_int,
27638>;
27639pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
27640    unsafe extern "C" fn(
27641        arg1: *mut TRUST_TOKEN,
27642        arg2: *mut ::std::os::raw::c_void,
27643    ) -> ::std::os::raw::c_int,
27644>;
27645extern "C" {
27646    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_new"]
27647    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27648}
27649extern "C" {
27650    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_free"]
27651    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27652}
27653extern "C" {
27654    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_generate_key"]
27655    pub fn TRUST_TOKEN_generate_key(
27656        method: *const TRUST_TOKEN_METHOD,
27657        out_priv_key: *mut u8,
27658        out_priv_key_len: *mut usize,
27659        max_priv_key_len: usize,
27660        out_pub_key: *mut u8,
27661        out_pub_key_len: *mut usize,
27662        max_pub_key_len: usize,
27663        id: u32,
27664    ) -> ::std::os::raw::c_int;
27665}
27666extern "C" {
27667    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_derive_key_from_secret"]
27668    pub fn TRUST_TOKEN_derive_key_from_secret(
27669        method: *const TRUST_TOKEN_METHOD,
27670        out_priv_key: *mut u8,
27671        out_priv_key_len: *mut usize,
27672        max_priv_key_len: usize,
27673        out_pub_key: *mut u8,
27674        out_pub_key_len: *mut usize,
27675        max_pub_key_len: usize,
27676        id: u32,
27677        secret: *const u8,
27678        secret_len: usize,
27679    ) -> ::std::os::raw::c_int;
27680}
27681extern "C" {
27682    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_new"]
27683    pub fn TRUST_TOKEN_CLIENT_new(
27684        method: *const TRUST_TOKEN_METHOD,
27685        max_batchsize: usize,
27686    ) -> *mut TRUST_TOKEN_CLIENT;
27687}
27688extern "C" {
27689    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_free"]
27690    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27691}
27692extern "C" {
27693    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_add_key"]
27694    pub fn TRUST_TOKEN_CLIENT_add_key(
27695        ctx: *mut TRUST_TOKEN_CLIENT,
27696        out_key_index: *mut usize,
27697        key: *const u8,
27698        key_len: usize,
27699    ) -> ::std::os::raw::c_int;
27700}
27701extern "C" {
27702    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_set_srr_key"]
27703    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27704        ctx: *mut TRUST_TOKEN_CLIENT,
27705        key: *mut EVP_PKEY,
27706    ) -> ::std::os::raw::c_int;
27707}
27708extern "C" {
27709    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_begin_issuance"]
27710    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27711        ctx: *mut TRUST_TOKEN_CLIENT,
27712        out: *mut *mut u8,
27713        out_len: *mut usize,
27714        count: usize,
27715    ) -> ::std::os::raw::c_int;
27716}
27717extern "C" {
27718    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
27719    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27720        ctx: *mut TRUST_TOKEN_CLIENT,
27721        out: *mut *mut u8,
27722        out_len: *mut usize,
27723        count: usize,
27724        msg: *const u8,
27725        msg_len: usize,
27726    ) -> ::std::os::raw::c_int;
27727}
27728extern "C" {
27729    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_finish_issuance"]
27730    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27731        ctx: *mut TRUST_TOKEN_CLIENT,
27732        out_key_index: *mut usize,
27733        response: *const u8,
27734        response_len: usize,
27735    ) -> *mut stack_st_TRUST_TOKEN;
27736}
27737extern "C" {
27738    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_begin_redemption"]
27739    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27740        ctx: *mut TRUST_TOKEN_CLIENT,
27741        out: *mut *mut u8,
27742        out_len: *mut usize,
27743        token: *const TRUST_TOKEN,
27744        data: *const u8,
27745        data_len: usize,
27746        time: u64,
27747    ) -> ::std::os::raw::c_int;
27748}
27749extern "C" {
27750    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_CLIENT_finish_redemption"]
27751    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27752        ctx: *mut TRUST_TOKEN_CLIENT,
27753        out_rr: *mut *mut u8,
27754        out_rr_len: *mut usize,
27755        out_sig: *mut *mut u8,
27756        out_sig_len: *mut usize,
27757        response: *const u8,
27758        response_len: usize,
27759    ) -> ::std::os::raw::c_int;
27760}
27761extern "C" {
27762    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_new"]
27763    pub fn TRUST_TOKEN_ISSUER_new(
27764        method: *const TRUST_TOKEN_METHOD,
27765        max_batchsize: usize,
27766    ) -> *mut TRUST_TOKEN_ISSUER;
27767}
27768extern "C" {
27769    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_free"]
27770    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27771}
27772extern "C" {
27773    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_add_key"]
27774    pub fn TRUST_TOKEN_ISSUER_add_key(
27775        ctx: *mut TRUST_TOKEN_ISSUER,
27776        key: *const u8,
27777        key_len: usize,
27778    ) -> ::std::os::raw::c_int;
27779}
27780extern "C" {
27781    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_set_srr_key"]
27782    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27783        ctx: *mut TRUST_TOKEN_ISSUER,
27784        key: *mut EVP_PKEY,
27785    ) -> ::std::os::raw::c_int;
27786}
27787extern "C" {
27788    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
27789    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
27790        ctx: *mut TRUST_TOKEN_ISSUER,
27791        key: *const u8,
27792        len: usize,
27793    ) -> ::std::os::raw::c_int;
27794}
27795extern "C" {
27796    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_issue"]
27797    pub fn TRUST_TOKEN_ISSUER_issue(
27798        ctx: *const TRUST_TOKEN_ISSUER,
27799        out: *mut *mut u8,
27800        out_len: *mut usize,
27801        out_tokens_issued: *mut usize,
27802        request: *const u8,
27803        request_len: usize,
27804        public_metadata: u32,
27805        private_metadata: u8,
27806        max_issuance: usize,
27807    ) -> ::std::os::raw::c_int;
27808}
27809extern "C" {
27810    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_redeem"]
27811    pub fn TRUST_TOKEN_ISSUER_redeem(
27812        ctx: *const TRUST_TOKEN_ISSUER,
27813        out_public: *mut u32,
27814        out_private: *mut u8,
27815        out_token: *mut *mut TRUST_TOKEN,
27816        out_client_data: *mut *mut u8,
27817        out_client_data_len: *mut usize,
27818        request: *const u8,
27819        request_len: usize,
27820    ) -> ::std::os::raw::c_int;
27821}
27822extern "C" {
27823    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
27824    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27825        ctx: *const TRUST_TOKEN_ISSUER,
27826        out_public: *mut u32,
27827        out_private: *mut u8,
27828        out_token: *mut *mut TRUST_TOKEN,
27829        out_client_data: *mut *mut u8,
27830        out_client_data_len: *mut usize,
27831        request: *const u8,
27832        request_len: usize,
27833        msg: *const u8,
27834        msg_len: usize,
27835    ) -> ::std::os::raw::c_int;
27836}
27837extern "C" {
27838    #[link_name = "aws_lc_0_47_0_TRUST_TOKEN_decode_private_metadata"]
27839    pub fn TRUST_TOKEN_decode_private_metadata(
27840        method: *const TRUST_TOKEN_METHOD,
27841        out_value: *mut u8,
27842        key: *const u8,
27843        key_len: usize,
27844        nonce: *const u8,
27845        nonce_len: usize,
27846        encrypted_bit: u8,
27847    ) -> ::std::os::raw::c_int;
27848}
27849extern "C" {
27850    #[link_name = "aws_lc_0_47_0_EVP_PKEY_keygen_deterministic"]
27851    pub fn EVP_PKEY_keygen_deterministic(
27852        ctx: *mut EVP_PKEY_CTX,
27853        out_pkey: *mut *mut EVP_PKEY,
27854        seed: *const u8,
27855        seed_len: *mut usize,
27856    ) -> ::std::os::raw::c_int;
27857}
27858extern "C" {
27859    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encapsulate_deterministic"]
27860    pub fn EVP_PKEY_encapsulate_deterministic(
27861        ctx: *mut EVP_PKEY_CTX,
27862        ciphertext: *mut u8,
27863        ciphertext_len: *mut usize,
27864        shared_secret: *mut u8,
27865        shared_secret_len: *mut usize,
27866        seed: *const u8,
27867        seed_len: *mut usize,
27868    ) -> ::std::os::raw::c_int;
27869}
27870extern "C" {
27871    #[link_name = "aws_lc_0_47_0_ERR_GET_LIB_RUST"]
27872    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27873}
27874extern "C" {
27875    #[link_name = "aws_lc_0_47_0_ERR_GET_REASON_RUST"]
27876    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27877}
27878extern "C" {
27879    #[link_name = "aws_lc_0_47_0_ERR_GET_FUNC_RUST"]
27880    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27881}
27882pub type __builtin_va_list = [__va_list_tag; 1usize];
27883#[repr(C)]
27884#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27885pub struct __va_list_tag {
27886    pub gp_offset: ::std::os::raw::c_uint,
27887    pub fp_offset: ::std::os::raw::c_uint,
27888    pub overflow_arg_area: *mut ::std::os::raw::c_void,
27889    pub reg_save_area: *mut ::std::os::raw::c_void,
27890}
27891#[test]
27892fn bindgen_test_layout___va_list_tag() {
27893    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
27894    let ptr = UNINIT.as_ptr();
27895    assert_eq!(
27896        ::std::mem::size_of::<__va_list_tag>(),
27897        24usize,
27898        "Size of __va_list_tag"
27899    );
27900    assert_eq!(
27901        ::std::mem::align_of::<__va_list_tag>(),
27902        8usize,
27903        "Alignment of __va_list_tag"
27904    );
27905    assert_eq!(
27906        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
27907        0usize,
27908        "Offset of field: __va_list_tag::gp_offset"
27909    );
27910    assert_eq!(
27911        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
27912        4usize,
27913        "Offset of field: __va_list_tag::fp_offset"
27914    );
27915    assert_eq!(
27916        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
27917        8usize,
27918        "Offset of field: __va_list_tag::overflow_arg_area"
27919    );
27920    assert_eq!(
27921        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
27922        16usize,
27923        "Offset of field: __va_list_tag::reg_save_area"
27924    );
27925}
27926impl Default for __va_list_tag {
27927    fn default() -> Self {
27928        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27929        unsafe {
27930            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27931            s.assume_init()
27932        }
27933    }
27934}
27935#[repr(C)]
27936#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27937pub struct CRYPTO_dynlock_value {
27938    pub _address: u8,
27939}