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.11.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.11.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 EVP_HPKE_MAX_EXPANDED_PRIVATE_KEY_LENGTH: i32 = 3168;
3784pub const HRSS_SAMPLE_BYTES: i32 = 700;
3785pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3786pub const HRSS_ENCAP_BYTES: i32 = 1400;
3787pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3788pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3789pub const HRSS_KEY_BYTES: i32 = 32;
3790pub const HRSS_POLY3_BYTES: i32 = 140;
3791pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3792pub const MD4_CBLOCK: i32 = 64;
3793pub const MD4_DIGEST_LENGTH: i32 = 16;
3794pub const PKCS7_DETACHED: i32 = 64;
3795pub const PKCS7_BINARY: i32 = 128;
3796pub const PKCS7_NOINTERN: i32 = 16;
3797pub const PKCS7_NOATTR: i32 = 256;
3798pub const PKCS7_NOCERTS: i32 = 2;
3799pub const PKCS7_NOVERIFY: i32 = 32;
3800pub const PKCS7_TEXT: i32 = 1;
3801pub const PKCS7_NOSIGS: i32 = 4;
3802pub const PKCS7_NOCHAIN: i32 = 8;
3803pub const PKCS7_NOSMIMECAP: i32 = 512;
3804pub const PKCS7_STREAM: i32 = 4096;
3805pub const PKCS7_PARTIAL: i32 = 16384;
3806pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3807pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3808pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3809pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3810pub const PKCS7_R_INVALID_NULL_POINTER: i32 = 104;
3811pub const PKCS7_R_NO_CONTENT: i32 = 105;
3812pub const PKCS7_R_CIPHER_NOT_INITIALIZED: i32 = 106;
3813pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 107;
3814pub const PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST: i32 = 108;
3815pub const PKCS7_R_UNABLE_TO_FIND_MEM_BIO: i32 = 109;
3816pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 110;
3817pub const PKCS7_R_CONTENT_AND_DATA_PRESENT: i32 = 111;
3818pub const PKCS7_R_NO_SIGNATURES_ON_DATA: i32 = 112;
3819pub const PKCS7_R_CERTIFICATE_VERIFY_ERROR: i32 = 113;
3820pub const PKCS7_R_SMIME_TEXT_ERROR: i32 = 114;
3821pub const PKCS7_R_SIGNATURE_FAILURE: i32 = 115;
3822pub const PKCS7_R_NO_SIGNERS: i32 = 116;
3823pub const PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 117;
3824pub const PKCS7_R_ERROR_SETTING_CIPHER: i32 = 118;
3825pub const PKCS7_R_ERROR_ADDING_RECIPIENT: i32 = 119;
3826pub const PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 120;
3827pub const PKCS7_R_DECRYPT_ERROR: i32 = 121;
3828pub const PKCS7_R_PKCS7_DATASIGN: i32 = 122;
3829pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 123;
3830pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 124;
3831pub const PKCS7_R_UNKNOWN_DIGEST_TYPE: i32 = 125;
3832pub const PKCS7_R_INVALID_SIGNED_DATA_TYPE: i32 = 126;
3833pub const PKCS7_R_UNSUPPORTED_CIPHER_TYPE: i32 = 127;
3834pub const PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE: i32 = 128;
3835pub const PKCS7_R_DIGEST_FAILURE: i32 = 129;
3836pub const PKCS7_R_WRONG_PKCS7_TYPE: i32 = 130;
3837pub const PKCS7_R_PKCS7_ADD_SIGNER_ERROR: i32 = 131;
3838pub const PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR: i32 = 132;
3839pub const PKCS7_R_NO_DEFAULT_DIGEST: i32 = 133;
3840pub const PKCS7_R_CERT_MUST_BE_RSA: i32 = 134;
3841pub const PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE: i32 = 135;
3842pub const RSA_PKCS1_PADDING: i32 = 1;
3843pub const RSA_NO_PADDING: i32 = 3;
3844pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3845pub const RSA_X931_PADDING: i32 = 5;
3846pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3847pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
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 PEM_BUFSIZE: i32 = 1024;
4328pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
4329pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
4330pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
4331pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
4332pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
4333pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
4334pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
4335pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
4336pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
4337pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
4338pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
4339pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
4340pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
4341pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
4342pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
4343pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
4344pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
4345pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
4346pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
4347pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
4348pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
4349pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
4350pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
4351pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
4352pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
4353pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
4354pub const PEM_TYPE_ENCRYPTED: i32 = 10;
4355pub const PEM_TYPE_MIC_ONLY: i32 = 20;
4356pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
4357pub const PEM_TYPE_CLEAR: i32 = 40;
4358pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
4359pub const PEM_R_BAD_DECRYPT: i32 = 101;
4360pub const PEM_R_BAD_END_LINE: i32 = 102;
4361pub const PEM_R_BAD_IV_CHARS: i32 = 103;
4362pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
4363pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
4364pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
4365pub const PEM_R_NOT_DEK_INFO: i32 = 107;
4366pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
4367pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
4368pub const PEM_R_NO_START_LINE: i32 = 110;
4369pub const PEM_R_READ_KEY: i32 = 111;
4370pub const PEM_R_SHORT_HEADER: i32 = 112;
4371pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4372pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4373pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
4374pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4375pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4376pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4377pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4378pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4379pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4380pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4381pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4382pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4383pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4384pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4385pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4386pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4387pub const PKCS8_R_MISSING_MAC: i32 = 112;
4388pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4389pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4390pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4391pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4392pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4393pub const PKCS8_R_TOO_LONG: i32 = 118;
4394pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4395pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4396pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4397pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4398pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4399pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4400pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4401pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4402pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4403pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4404pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4405pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4406pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4407pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4408pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4409pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
4410pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
4411pub const RIPEMD160_CBLOCK: i32 = 64;
4412pub const RIPEMD160_LBLOCK: i32 = 16;
4413pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4414pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4415pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4416pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4417pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4418pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4419pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4420pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4421pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4422pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4423pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4424pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4425pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4426pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4427pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4428pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4429pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4430pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4431pub type __off_t = ::std::os::raw::c_long;
4432pub type __off64_t = ::std::os::raw::c_long;
4433pub type __time_t = ::std::os::raw::c_long;
4434pub type time_t = __time_t;
4435#[repr(C)]
4436#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
4437pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
4438    pub _bindgen_align: [u32; 0],
4439    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4440    pub __bindgen_padding_0: [u8; 3usize],
4441}
4442#[test]
4443fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4444) {
4445    assert_eq!(
4446        ::std::mem::size_of::<
4447            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
4448        >(),
4449        4usize,
4450        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
4451    );
4452    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");
4453}
4454impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
4455    #[inline]
4456    #[allow(unnecessary_transmutes)]
4457    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4458        &self,
4459    ) -> ::std::os::raw::c_uint {
4460        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
4461    }
4462    #[inline]
4463    #[allow(unnecessary_transmutes)]
4464    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
4465        &mut self,
4466        val: ::std::os::raw::c_uint,
4467    ) {
4468        unsafe {
4469            let val: u32 = ::std::mem::transmute(val);
4470            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
4471        }
4472    }
4473    #[inline]
4474    #[allow(unnecessary_transmutes)]
4475    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
4476        this: *const Self,
4477    ) -> ::std::os::raw::c_uint {
4478        unsafe {
4479            ::std::mem::transmute(
4480                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
4481                    ::std::ptr::addr_of!((*this)._bitfield_1),
4482                ) as u32,
4483            )
4484        }
4485    }
4486    #[inline]
4487    #[allow(unnecessary_transmutes)]
4488    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
4489        this: *mut Self,
4490        val: ::std::os::raw::c_uint,
4491    ) {
4492        unsafe {
4493            let val: u32 = ::std::mem::transmute(val);
4494            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
4495                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4496                val as u64,
4497            )
4498        }
4499    }
4500    #[inline]
4501    #[allow(unnecessary_transmutes)]
4502    pub fn new_bitfield_1(
4503        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
4504    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4505        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4506        __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 }) ;
4507        __bindgen_bitfield_unit
4508    }
4509}
4510pub type ossl_ssize_t = isize;
4511pub type CBS_ASN1_TAG = u32;
4512pub type CRYPTO_THREADID = ::std::os::raw::c_int;
4513#[repr(C)]
4514#[derive(Debug)]
4515pub struct asn1_null_st {
4516    _unused: [u8; 0],
4517}
4518pub type ASN1_NULL = asn1_null_st;
4519pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4520pub type ASN1_ITEM = ASN1_ITEM_st;
4521#[repr(C)]
4522#[derive(Debug)]
4523pub struct asn1_object_st {
4524    _unused: [u8; 0],
4525}
4526pub type ASN1_OBJECT = asn1_object_st;
4527#[repr(C)]
4528#[derive(Debug)]
4529pub struct asn1_pctx_st {
4530    _unused: [u8; 0],
4531}
4532pub type ASN1_PCTX = asn1_pctx_st;
4533pub type ASN1_BIT_STRING = asn1_string_st;
4534pub type ASN1_BMPSTRING = asn1_string_st;
4535pub type ASN1_ENUMERATED = asn1_string_st;
4536pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4537pub type ASN1_GENERALSTRING = asn1_string_st;
4538pub type ASN1_IA5STRING = asn1_string_st;
4539pub type ASN1_INTEGER = asn1_string_st;
4540pub type ASN1_OCTET_STRING = asn1_string_st;
4541pub type ASN1_PRINTABLESTRING = asn1_string_st;
4542pub type ASN1_STRING = asn1_string_st;
4543pub type ASN1_T61STRING = asn1_string_st;
4544pub type ASN1_TIME = asn1_string_st;
4545pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4546pub type ASN1_UTCTIME = asn1_string_st;
4547pub type ASN1_UTF8STRING = asn1_string_st;
4548pub type ASN1_VISIBLESTRING = asn1_string_st;
4549pub type ASN1_TYPE = asn1_type_st;
4550pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4551pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4552pub type DIST_POINT = DIST_POINT_st;
4553pub type DSA_SIG = DSA_SIG_st;
4554pub type GENERAL_NAME = GENERAL_NAME_st;
4555pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4556pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4557pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4558pub type NETSCAPE_SPKI = Netscape_spki_st;
4559pub type RIPEMD160_CTX = RIPEMD160state_st;
4560#[repr(C)]
4561#[derive(Debug)]
4562pub struct X509_VERIFY_PARAM_st {
4563    _unused: [u8; 0],
4564}
4565pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4566pub type X509_ALGOR = X509_algor_st;
4567#[repr(C)]
4568#[derive(Debug)]
4569pub struct X509_crl_st {
4570    _unused: [u8; 0],
4571}
4572pub type X509_CRL = X509_crl_st;
4573#[repr(C)]
4574#[derive(Debug)]
4575pub struct X509_extension_st {
4576    _unused: [u8; 0],
4577}
4578pub type X509_EXTENSION = X509_extension_st;
4579pub type X509_INFO = X509_info_st;
4580#[repr(C)]
4581#[derive(Debug)]
4582pub struct X509_name_entry_st {
4583    _unused: [u8; 0],
4584}
4585pub type X509_NAME_ENTRY = X509_name_entry_st;
4586#[repr(C)]
4587#[derive(Debug)]
4588pub struct X509_name_st {
4589    _unused: [u8; 0],
4590}
4591pub type X509_NAME = X509_name_st;
4592#[repr(C)]
4593#[derive(Debug)]
4594pub struct X509_pubkey_st {
4595    _unused: [u8; 0],
4596}
4597pub type X509_PUBKEY = X509_pubkey_st;
4598#[repr(C)]
4599#[derive(Debug)]
4600pub struct X509_req_st {
4601    _unused: [u8; 0],
4602}
4603pub type X509_REQ = X509_req_st;
4604#[repr(C)]
4605#[derive(Debug)]
4606pub struct x509_sig_info_st {
4607    _unused: [u8; 0],
4608}
4609pub type X509_SIG_INFO = x509_sig_info_st;
4610#[repr(C)]
4611#[derive(Debug)]
4612pub struct X509_sig_st {
4613    _unused: [u8; 0],
4614}
4615pub type X509_SIG = X509_sig_st;
4616#[repr(C)]
4617#[derive(Debug)]
4618pub struct bignum_ctx {
4619    _unused: [u8; 0],
4620}
4621pub type BN_CTX = bignum_ctx;
4622pub type BIGNUM = bignum_st;
4623pub type BIO_METHOD = bio_method_st;
4624pub type BIO = bio_st;
4625pub type BLAKE2B_CTX = blake2b_state_st;
4626pub type BN_GENCB = bn_gencb_st;
4627pub type BN_MONT_CTX = bn_mont_ctx_st;
4628pub type BUF_MEM = buf_mem_st;
4629#[repr(C)]
4630#[derive(Debug)]
4631pub struct cast_key_st {
4632    _unused: [u8; 0],
4633}
4634pub type CAST_KEY = cast_key_st;
4635pub type CBB = cbb_st;
4636pub type CBS = cbs_st;
4637#[repr(C)]
4638#[derive(Debug)]
4639pub struct cmac_ctx_st {
4640    _unused: [u8; 0],
4641}
4642pub type CMAC_CTX = cmac_ctx_st;
4643pub type CONF = conf_st;
4644pub type CONF_VALUE = conf_value_st;
4645#[repr(C)]
4646#[derive(Debug)]
4647pub struct crypto_buffer_pool_st {
4648    _unused: [u8; 0],
4649}
4650pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4651#[repr(C)]
4652#[derive(Debug)]
4653pub struct crypto_buffer_st {
4654    _unused: [u8; 0],
4655}
4656pub type CRYPTO_BUFFER = crypto_buffer_st;
4657#[repr(C)]
4658#[derive(Debug)]
4659pub struct ctr_drbg_state_st {
4660    _unused: [u8; 0],
4661}
4662pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4663#[repr(C)]
4664#[derive(Debug)]
4665pub struct dh_st {
4666    _unused: [u8; 0],
4667}
4668pub type DH = dh_st;
4669#[repr(C)]
4670#[derive(Debug)]
4671pub struct dsa_st {
4672    _unused: [u8; 0],
4673}
4674pub type DSA = dsa_st;
4675#[repr(C)]
4676#[derive(Debug)]
4677pub struct ec_group_st {
4678    _unused: [u8; 0],
4679}
4680pub type EC_GROUP = ec_group_st;
4681#[repr(C)]
4682#[derive(Debug)]
4683pub struct ec_key_st {
4684    _unused: [u8; 0],
4685}
4686pub type EC_KEY = ec_key_st;
4687#[repr(C)]
4688#[derive(Debug)]
4689pub struct ec_point_st {
4690    _unused: [u8; 0],
4691}
4692pub type EC_POINT = ec_point_st;
4693#[repr(C)]
4694#[derive(Debug)]
4695pub struct ec_key_method_st {
4696    _unused: [u8; 0],
4697}
4698pub type EC_KEY_METHOD = ec_key_method_st;
4699pub type ECDSA_SIG = ecdsa_sig_st;
4700#[repr(C)]
4701#[derive(Debug)]
4702pub struct engine_st {
4703    _unused: [u8; 0],
4704}
4705pub type ENGINE = engine_st;
4706pub type EVP_MD_CTX = env_md_ctx_st;
4707#[repr(C)]
4708#[derive(Debug)]
4709pub struct env_md_st {
4710    _unused: [u8; 0],
4711}
4712pub type EVP_MD = env_md_st;
4713#[repr(C)]
4714#[derive(Debug)]
4715pub struct evp_aead_st {
4716    _unused: [u8; 0],
4717}
4718pub type EVP_AEAD = evp_aead_st;
4719pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4720pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4721#[repr(C)]
4722#[derive(Debug)]
4723pub struct evp_cipher_st {
4724    _unused: [u8; 0],
4725}
4726pub type EVP_CIPHER = evp_cipher_st;
4727#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
4728pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4729#[repr(C)]
4730#[derive(Debug)]
4731pub struct evp_hpke_aead_st {
4732    _unused: [u8; 0],
4733}
4734pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4735pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4736#[repr(C)]
4737#[derive(Debug)]
4738pub struct evp_hpke_kdf_st {
4739    _unused: [u8; 0],
4740}
4741pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4742#[repr(C)]
4743#[derive(Debug)]
4744pub struct evp_hpke_kem_st {
4745    _unused: [u8; 0],
4746}
4747pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4748pub type EVP_HPKE_KEY = evp_hpke_key_st;
4749#[repr(C)]
4750#[derive(Debug)]
4751pub struct evp_kem_st {
4752    _unused: [u8; 0],
4753}
4754pub type EVP_KEM = evp_kem_st;
4755#[repr(C)]
4756#[derive(Debug)]
4757pub struct kem_key_st {
4758    _unused: [u8; 0],
4759}
4760pub type KEM_KEY = kem_key_st;
4761#[repr(C)]
4762#[derive(Debug)]
4763pub struct evp_pkey_ctx_st {
4764    _unused: [u8; 0],
4765}
4766pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4767#[repr(C)]
4768#[derive(Debug)]
4769pub struct evp_pkey_asn1_method_st {
4770    _unused: [u8; 0],
4771}
4772pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4773#[repr(C)]
4774#[derive(Debug)]
4775pub struct evp_pkey_st {
4776    _unused: [u8; 0],
4777}
4778pub type EVP_PKEY = evp_pkey_st;
4779#[repr(C)]
4780#[derive(Debug)]
4781pub struct evp_pkey_ctx_signature_context_params_st {
4782    _unused: [u8; 0],
4783}
4784pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4785pub type HMAC_CTX = hmac_ctx_st;
4786pub type MD4_CTX = md4_state_st;
4787pub type MD5_CTX = md5_state_st;
4788#[repr(C)]
4789#[derive(Debug)]
4790pub struct pqdsa_key_st {
4791    _unused: [u8; 0],
4792}
4793pub type PQDSA_KEY = pqdsa_key_st;
4794#[repr(C)]
4795#[derive(Debug)]
4796pub struct ocsp_req_ctx_st {
4797    _unused: [u8; 0],
4798}
4799pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4800#[repr(C)]
4801#[derive(Debug)]
4802pub struct ossl_init_settings_st {
4803    _unused: [u8; 0],
4804}
4805pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4806#[repr(C)]
4807#[derive(Debug)]
4808pub struct pkcs7_digest_st {
4809    _unused: [u8; 0],
4810}
4811pub type PKCS7_DIGEST = pkcs7_digest_st;
4812#[repr(C)]
4813#[derive(Debug)]
4814pub struct pkcs7_enc_content_st {
4815    _unused: [u8; 0],
4816}
4817pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4818#[repr(C)]
4819#[derive(Debug)]
4820pub struct pkcs7_encrypt_st {
4821    _unused: [u8; 0],
4822}
4823pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4824pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4825pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4826pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4827pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4828pub type PKCS7_SIGNED = pkcs7_signed_st;
4829pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4830pub type PKCS7 = pkcs7_st;
4831#[repr(C)]
4832#[derive(Debug)]
4833pub struct pkcs12_st {
4834    _unused: [u8; 0],
4835}
4836pub type PKCS12 = pkcs12_st;
4837#[repr(C)]
4838#[derive(Debug)]
4839pub struct pkcs8_priv_key_info_st {
4840    _unused: [u8; 0],
4841}
4842pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4843pub type X509_PKEY = private_key_st;
4844pub type RAND_METHOD = rand_meth_st;
4845pub type RC4_KEY = rc4_key_st;
4846#[repr(C)]
4847#[derive(Debug)]
4848pub struct rsa_meth_st {
4849    _unused: [u8; 0],
4850}
4851pub type RSA_METHOD = rsa_meth_st;
4852#[repr(C)]
4853#[derive(Debug)]
4854pub struct rsassa_pss_params_st {
4855    _unused: [u8; 0],
4856}
4857pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4858pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4859#[repr(C)]
4860#[derive(Debug)]
4861pub struct rsa_st {
4862    _unused: [u8; 0],
4863}
4864pub type RSA = rsa_st;
4865pub type SHA256_CTX = sha256_state_st;
4866pub type SHA512_CTX = sha512_state_st;
4867pub type SHA_CTX = sha_state_st;
4868#[repr(C)]
4869#[derive(Debug)]
4870pub struct spake2_ctx_st {
4871    _unused: [u8; 0],
4872}
4873pub type SPAKE2_CTX = spake2_ctx_st;
4874#[repr(C)]
4875#[derive(Debug)]
4876pub struct srtp_protection_profile_st {
4877    _unused: [u8; 0],
4878}
4879pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4880#[repr(C)]
4881#[derive(Debug)]
4882pub struct ssl_cipher_st {
4883    _unused: [u8; 0],
4884}
4885pub type SSL_CIPHER = ssl_cipher_st;
4886#[repr(C)]
4887#[derive(Debug)]
4888pub struct ssl_ctx_st {
4889    _unused: [u8; 0],
4890}
4891pub type SSL_CTX = ssl_ctx_st;
4892#[repr(C)]
4893#[derive(Debug)]
4894pub struct ssl_early_callback_ctx {
4895    _unused: [u8; 0],
4896}
4897pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4898#[repr(C)]
4899#[derive(Debug)]
4900pub struct ssl_ech_keys_st {
4901    _unused: [u8; 0],
4902}
4903pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4904#[repr(C)]
4905#[derive(Debug)]
4906pub struct ssl_method_st {
4907    _unused: [u8; 0],
4908}
4909pub type SSL_METHOD = ssl_method_st;
4910#[repr(C)]
4911#[derive(Debug)]
4912pub struct ssl_private_key_method_st {
4913    _unused: [u8; 0],
4914}
4915pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4916#[repr(C)]
4917#[derive(Debug)]
4918pub struct ssl_quic_method_st {
4919    _unused: [u8; 0],
4920}
4921pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4922#[repr(C)]
4923#[derive(Debug)]
4924pub struct ssl_session_st {
4925    _unused: [u8; 0],
4926}
4927pub type SSL_SESSION = ssl_session_st;
4928#[repr(C)]
4929#[derive(Debug)]
4930pub struct ssl_st {
4931    _unused: [u8; 0],
4932}
4933pub type SSL = ssl_st;
4934#[repr(C)]
4935#[derive(Debug)]
4936pub struct ssl_ticket_aead_method_st {
4937    _unused: [u8; 0],
4938}
4939pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4940#[repr(C)]
4941#[derive(Debug)]
4942pub struct st_ERR_FNS {
4943    _unused: [u8; 0],
4944}
4945pub type ERR_FNS = st_ERR_FNS;
4946pub type TRUST_TOKEN = trust_token_st;
4947#[repr(C)]
4948#[derive(Debug)]
4949pub struct trust_token_client_st {
4950    _unused: [u8; 0],
4951}
4952pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4953#[repr(C)]
4954#[derive(Debug)]
4955pub struct trust_token_issuer_st {
4956    _unused: [u8; 0],
4957}
4958pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4959#[repr(C)]
4960#[derive(Debug)]
4961pub struct trust_token_method_st {
4962    _unused: [u8; 0],
4963}
4964pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4965pub type X509V3_CTX = v3_ext_ctx;
4966pub type X509V3_EXT_METHOD = v3_ext_method;
4967#[repr(C)]
4968#[derive(Debug)]
4969pub struct x509_attributes_st {
4970    _unused: [u8; 0],
4971}
4972pub type X509_ATTRIBUTE = x509_attributes_st;
4973#[repr(C)]
4974#[derive(Debug)]
4975pub struct x509_lookup_st {
4976    _unused: [u8; 0],
4977}
4978pub type X509_LOOKUP = x509_lookup_st;
4979#[repr(C)]
4980#[derive(Debug)]
4981pub struct x509_lookup_method_st {
4982    _unused: [u8; 0],
4983}
4984pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4985#[repr(C)]
4986#[derive(Debug)]
4987pub struct x509_object_st {
4988    _unused: [u8; 0],
4989}
4990pub type X509_OBJECT = x509_object_st;
4991#[repr(C)]
4992#[derive(Debug)]
4993pub struct x509_revoked_st {
4994    _unused: [u8; 0],
4995}
4996pub type X509_REVOKED = x509_revoked_st;
4997#[repr(C)]
4998#[derive(Debug)]
4999pub struct x509_st {
5000    _unused: [u8; 0],
5001}
5002pub type X509 = x509_st;
5003#[repr(C)]
5004#[derive(Debug)]
5005pub struct x509_store_ctx_st {
5006    _unused: [u8; 0],
5007}
5008pub type X509_STORE_CTX = x509_store_ctx_st;
5009#[repr(C)]
5010#[derive(Debug)]
5011pub struct x509_store_st {
5012    _unused: [u8; 0],
5013}
5014pub type X509_STORE = x509_store_st;
5015pub type X509_TRUST = x509_trust_st;
5016pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
5017#[repr(C)]
5018#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5019pub struct aes_key_st {
5020    pub rd_key: [u32; 60usize],
5021    pub rounds: ::std::os::raw::c_uint,
5022}
5023#[test]
5024fn bindgen_test_layout_aes_key_st() {
5025    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
5026    let ptr = UNINIT.as_ptr();
5027    assert_eq!(
5028        ::std::mem::size_of::<aes_key_st>(),
5029        244usize,
5030        "Size of aes_key_st"
5031    );
5032    assert_eq!(
5033        ::std::mem::align_of::<aes_key_st>(),
5034        4usize,
5035        "Alignment of aes_key_st"
5036    );
5037    assert_eq!(
5038        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
5039        0usize,
5040        "Offset of field: aes_key_st::rd_key"
5041    );
5042    assert_eq!(
5043        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
5044        240usize,
5045        "Offset of field: aes_key_st::rounds"
5046    );
5047}
5048impl Default for aes_key_st {
5049    fn default() -> Self {
5050        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5051        unsafe {
5052            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5053            s.assume_init()
5054        }
5055    }
5056}
5057pub type AES_KEY = aes_key_st;
5058extern "C" {
5059    #[link_name = "aws_lc_0_46_0_AES_set_encrypt_key"]
5060    pub fn AES_set_encrypt_key(
5061        key: *const u8,
5062        bits: ::std::os::raw::c_uint,
5063        aeskey: *mut AES_KEY,
5064    ) -> ::std::os::raw::c_int;
5065}
5066extern "C" {
5067    #[link_name = "aws_lc_0_46_0_AES_set_decrypt_key"]
5068    pub fn AES_set_decrypt_key(
5069        key: *const u8,
5070        bits: ::std::os::raw::c_uint,
5071        aeskey: *mut AES_KEY,
5072    ) -> ::std::os::raw::c_int;
5073}
5074extern "C" {
5075    #[link_name = "aws_lc_0_46_0_AES_encrypt"]
5076    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5077}
5078extern "C" {
5079    #[link_name = "aws_lc_0_46_0_AES_decrypt"]
5080    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5081}
5082extern "C" {
5083    #[link_name = "aws_lc_0_46_0_AES_ctr128_encrypt"]
5084    pub fn AES_ctr128_encrypt(
5085        in_: *const u8,
5086        out: *mut u8,
5087        len: usize,
5088        key: *const AES_KEY,
5089        ivec: *mut u8,
5090        ecount_buf: *mut u8,
5091        num: *mut ::std::os::raw::c_uint,
5092    );
5093}
5094extern "C" {
5095    #[link_name = "aws_lc_0_46_0_AES_ecb_encrypt"]
5096    pub fn AES_ecb_encrypt(
5097        in_: *const u8,
5098        out: *mut u8,
5099        key: *const AES_KEY,
5100        enc: ::std::os::raw::c_int,
5101    );
5102}
5103extern "C" {
5104    #[link_name = "aws_lc_0_46_0_AES_cbc_encrypt"]
5105    pub fn AES_cbc_encrypt(
5106        in_: *const u8,
5107        out: *mut u8,
5108        len: usize,
5109        key: *const AES_KEY,
5110        ivec: *mut u8,
5111        enc: ::std::os::raw::c_int,
5112    );
5113}
5114extern "C" {
5115    #[link_name = "aws_lc_0_46_0_AES_ofb128_encrypt"]
5116    pub fn AES_ofb128_encrypt(
5117        in_: *const u8,
5118        out: *mut u8,
5119        len: usize,
5120        key: *const AES_KEY,
5121        ivec: *mut u8,
5122        num: *mut ::std::os::raw::c_int,
5123    );
5124}
5125extern "C" {
5126    #[link_name = "aws_lc_0_46_0_AES_cfb1_encrypt"]
5127    pub fn AES_cfb1_encrypt(
5128        in_: *const u8,
5129        out: *mut u8,
5130        bits: usize,
5131        key: *const AES_KEY,
5132        ivec: *mut u8,
5133        num: *mut ::std::os::raw::c_int,
5134        enc: ::std::os::raw::c_int,
5135    );
5136}
5137extern "C" {
5138    #[link_name = "aws_lc_0_46_0_AES_cfb8_encrypt"]
5139    pub fn AES_cfb8_encrypt(
5140        in_: *const u8,
5141        out: *mut u8,
5142        len: usize,
5143        key: *const AES_KEY,
5144        ivec: *mut u8,
5145        num: *mut ::std::os::raw::c_int,
5146        enc: ::std::os::raw::c_int,
5147    );
5148}
5149extern "C" {
5150    #[link_name = "aws_lc_0_46_0_AES_cfb128_encrypt"]
5151    pub fn AES_cfb128_encrypt(
5152        in_: *const u8,
5153        out: *mut u8,
5154        len: usize,
5155        key: *const AES_KEY,
5156        ivec: *mut u8,
5157        num: *mut ::std::os::raw::c_int,
5158        enc: ::std::os::raw::c_int,
5159    );
5160}
5161extern "C" {
5162    #[link_name = "aws_lc_0_46_0_AES_wrap_key"]
5163    pub fn AES_wrap_key(
5164        key: *const AES_KEY,
5165        iv: *const u8,
5166        out: *mut u8,
5167        in_: *const u8,
5168        in_len: usize,
5169    ) -> ::std::os::raw::c_int;
5170}
5171extern "C" {
5172    #[link_name = "aws_lc_0_46_0_AES_unwrap_key"]
5173    pub fn AES_unwrap_key(
5174        key: *const AES_KEY,
5175        iv: *const u8,
5176        out: *mut u8,
5177        in_: *const u8,
5178        in_len: usize,
5179    ) -> ::std::os::raw::c_int;
5180}
5181extern "C" {
5182    #[link_name = "aws_lc_0_46_0_AES_wrap_key_padded"]
5183    pub fn AES_wrap_key_padded(
5184        key: *const AES_KEY,
5185        out: *mut u8,
5186        out_len: *mut usize,
5187        max_out: usize,
5188        in_: *const u8,
5189        in_len: usize,
5190    ) -> ::std::os::raw::c_int;
5191}
5192extern "C" {
5193    #[link_name = "aws_lc_0_46_0_AES_unwrap_key_padded"]
5194    pub fn AES_unwrap_key_padded(
5195        key: *const AES_KEY,
5196        out: *mut u8,
5197        out_len: *mut usize,
5198        max_out: usize,
5199        in_: *const u8,
5200        in_len: usize,
5201    ) -> ::std::os::raw::c_int;
5202}
5203#[repr(C)]
5204#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5205pub struct tm {
5206    pub tm_sec: ::std::os::raw::c_int,
5207    pub tm_min: ::std::os::raw::c_int,
5208    pub tm_hour: ::std::os::raw::c_int,
5209    pub tm_mday: ::std::os::raw::c_int,
5210    pub tm_mon: ::std::os::raw::c_int,
5211    pub tm_year: ::std::os::raw::c_int,
5212    pub tm_wday: ::std::os::raw::c_int,
5213    pub tm_yday: ::std::os::raw::c_int,
5214    pub tm_isdst: ::std::os::raw::c_int,
5215    pub tm_gmtoff: ::std::os::raw::c_long,
5216    pub tm_zone: *const ::std::os::raw::c_char,
5217}
5218#[test]
5219fn bindgen_test_layout_tm() {
5220    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
5221    let ptr = UNINIT.as_ptr();
5222    assert_eq!(::std::mem::size_of::<tm>(), 56usize, "Size of tm");
5223    assert_eq!(::std::mem::align_of::<tm>(), 8usize, "Alignment of tm");
5224    assert_eq!(
5225        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
5226        0usize,
5227        "Offset of field: tm::tm_sec"
5228    );
5229    assert_eq!(
5230        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
5231        4usize,
5232        "Offset of field: tm::tm_min"
5233    );
5234    assert_eq!(
5235        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
5236        8usize,
5237        "Offset of field: tm::tm_hour"
5238    );
5239    assert_eq!(
5240        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
5241        12usize,
5242        "Offset of field: tm::tm_mday"
5243    );
5244    assert_eq!(
5245        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
5246        16usize,
5247        "Offset of field: tm::tm_mon"
5248    );
5249    assert_eq!(
5250        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
5251        20usize,
5252        "Offset of field: tm::tm_year"
5253    );
5254    assert_eq!(
5255        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
5256        24usize,
5257        "Offset of field: tm::tm_wday"
5258    );
5259    assert_eq!(
5260        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
5261        28usize,
5262        "Offset of field: tm::tm_yday"
5263    );
5264    assert_eq!(
5265        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
5266        32usize,
5267        "Offset of field: tm::tm_isdst"
5268    );
5269    assert_eq!(
5270        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
5271        40usize,
5272        "Offset of field: tm::tm_gmtoff"
5273    );
5274    assert_eq!(
5275        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
5276        48usize,
5277        "Offset of field: tm::tm_zone"
5278    );
5279}
5280impl Default for tm {
5281    fn default() -> Self {
5282        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5283        unsafe {
5284            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5285            s.assume_init()
5286        }
5287    }
5288}
5289pub type __gnuc_va_list = __builtin_va_list;
5290pub type FILE = _IO_FILE;
5291#[repr(C)]
5292#[derive(Debug)]
5293pub struct _IO_marker {
5294    _unused: [u8; 0],
5295}
5296#[repr(C)]
5297#[derive(Debug)]
5298pub struct _IO_codecvt {
5299    _unused: [u8; 0],
5300}
5301#[repr(C)]
5302#[derive(Debug)]
5303pub struct _IO_wide_data {
5304    _unused: [u8; 0],
5305}
5306pub type _IO_lock_t = ::std::os::raw::c_void;
5307#[repr(C)]
5308#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5309pub struct _IO_FILE {
5310    pub _flags: ::std::os::raw::c_int,
5311    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
5312    pub _IO_read_end: *mut ::std::os::raw::c_char,
5313    pub _IO_read_base: *mut ::std::os::raw::c_char,
5314    pub _IO_write_base: *mut ::std::os::raw::c_char,
5315    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
5316    pub _IO_write_end: *mut ::std::os::raw::c_char,
5317    pub _IO_buf_base: *mut ::std::os::raw::c_char,
5318    pub _IO_buf_end: *mut ::std::os::raw::c_char,
5319    pub _IO_save_base: *mut ::std::os::raw::c_char,
5320    pub _IO_backup_base: *mut ::std::os::raw::c_char,
5321    pub _IO_save_end: *mut ::std::os::raw::c_char,
5322    pub _markers: *mut _IO_marker,
5323    pub _chain: *mut _IO_FILE,
5324    pub _fileno: ::std::os::raw::c_int,
5325    pub _flags2: ::std::os::raw::c_int,
5326    pub _old_offset: __off_t,
5327    pub _cur_column: ::std::os::raw::c_ushort,
5328    pub _vtable_offset: ::std::os::raw::c_schar,
5329    pub _shortbuf: [::std::os::raw::c_char; 1usize],
5330    pub _lock: *mut _IO_lock_t,
5331    pub _offset: __off64_t,
5332    pub _codecvt: *mut _IO_codecvt,
5333    pub _wide_data: *mut _IO_wide_data,
5334    pub _freeres_list: *mut _IO_FILE,
5335    pub _freeres_buf: *mut ::std::os::raw::c_void,
5336    pub __pad5: usize,
5337    pub _mode: ::std::os::raw::c_int,
5338    pub _unused2: [::std::os::raw::c_char; 20usize],
5339}
5340#[test]
5341fn bindgen_test_layout__IO_FILE() {
5342    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
5343    let ptr = UNINIT.as_ptr();
5344    assert_eq!(
5345        ::std::mem::size_of::<_IO_FILE>(),
5346        216usize,
5347        "Size of _IO_FILE"
5348    );
5349    assert_eq!(
5350        ::std::mem::align_of::<_IO_FILE>(),
5351        8usize,
5352        "Alignment of _IO_FILE"
5353    );
5354    assert_eq!(
5355        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
5356        0usize,
5357        "Offset of field: _IO_FILE::_flags"
5358    );
5359    assert_eq!(
5360        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
5361        8usize,
5362        "Offset of field: _IO_FILE::_IO_read_ptr"
5363    );
5364    assert_eq!(
5365        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
5366        16usize,
5367        "Offset of field: _IO_FILE::_IO_read_end"
5368    );
5369    assert_eq!(
5370        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
5371        24usize,
5372        "Offset of field: _IO_FILE::_IO_read_base"
5373    );
5374    assert_eq!(
5375        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
5376        32usize,
5377        "Offset of field: _IO_FILE::_IO_write_base"
5378    );
5379    assert_eq!(
5380        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
5381        40usize,
5382        "Offset of field: _IO_FILE::_IO_write_ptr"
5383    );
5384    assert_eq!(
5385        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
5386        48usize,
5387        "Offset of field: _IO_FILE::_IO_write_end"
5388    );
5389    assert_eq!(
5390        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
5391        56usize,
5392        "Offset of field: _IO_FILE::_IO_buf_base"
5393    );
5394    assert_eq!(
5395        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
5396        64usize,
5397        "Offset of field: _IO_FILE::_IO_buf_end"
5398    );
5399    assert_eq!(
5400        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
5401        72usize,
5402        "Offset of field: _IO_FILE::_IO_save_base"
5403    );
5404    assert_eq!(
5405        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
5406        80usize,
5407        "Offset of field: _IO_FILE::_IO_backup_base"
5408    );
5409    assert_eq!(
5410        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
5411        88usize,
5412        "Offset of field: _IO_FILE::_IO_save_end"
5413    );
5414    assert_eq!(
5415        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
5416        96usize,
5417        "Offset of field: _IO_FILE::_markers"
5418    );
5419    assert_eq!(
5420        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
5421        104usize,
5422        "Offset of field: _IO_FILE::_chain"
5423    );
5424    assert_eq!(
5425        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
5426        112usize,
5427        "Offset of field: _IO_FILE::_fileno"
5428    );
5429    assert_eq!(
5430        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
5431        116usize,
5432        "Offset of field: _IO_FILE::_flags2"
5433    );
5434    assert_eq!(
5435        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
5436        120usize,
5437        "Offset of field: _IO_FILE::_old_offset"
5438    );
5439    assert_eq!(
5440        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
5441        128usize,
5442        "Offset of field: _IO_FILE::_cur_column"
5443    );
5444    assert_eq!(
5445        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5446        130usize,
5447        "Offset of field: _IO_FILE::_vtable_offset"
5448    );
5449    assert_eq!(
5450        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5451        131usize,
5452        "Offset of field: _IO_FILE::_shortbuf"
5453    );
5454    assert_eq!(
5455        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5456        136usize,
5457        "Offset of field: _IO_FILE::_lock"
5458    );
5459    assert_eq!(
5460        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5461        144usize,
5462        "Offset of field: _IO_FILE::_offset"
5463    );
5464    assert_eq!(
5465        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5466        152usize,
5467        "Offset of field: _IO_FILE::_codecvt"
5468    );
5469    assert_eq!(
5470        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5471        160usize,
5472        "Offset of field: _IO_FILE::_wide_data"
5473    );
5474    assert_eq!(
5475        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5476        168usize,
5477        "Offset of field: _IO_FILE::_freeres_list"
5478    );
5479    assert_eq!(
5480        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5481        176usize,
5482        "Offset of field: _IO_FILE::_freeres_buf"
5483    );
5484    assert_eq!(
5485        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5486        184usize,
5487        "Offset of field: _IO_FILE::__pad5"
5488    );
5489    assert_eq!(
5490        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5491        192usize,
5492        "Offset of field: _IO_FILE::_mode"
5493    );
5494    assert_eq!(
5495        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5496        196usize,
5497        "Offset of field: _IO_FILE::_unused2"
5498    );
5499}
5500impl Default for _IO_FILE {
5501    fn default() -> Self {
5502        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5503        unsafe {
5504            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5505            s.assume_init()
5506        }
5507    }
5508}
5509pub type va_list = __gnuc_va_list;
5510#[repr(C)]
5511#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5512pub struct buf_mem_st {
5513    pub length: usize,
5514    pub data: *mut ::std::os::raw::c_char,
5515    pub max: usize,
5516}
5517#[test]
5518fn bindgen_test_layout_buf_mem_st() {
5519    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5520    let ptr = UNINIT.as_ptr();
5521    assert_eq!(
5522        ::std::mem::size_of::<buf_mem_st>(),
5523        24usize,
5524        "Size of buf_mem_st"
5525    );
5526    assert_eq!(
5527        ::std::mem::align_of::<buf_mem_st>(),
5528        8usize,
5529        "Alignment of buf_mem_st"
5530    );
5531    assert_eq!(
5532        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5533        0usize,
5534        "Offset of field: buf_mem_st::length"
5535    );
5536    assert_eq!(
5537        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5538        8usize,
5539        "Offset of field: buf_mem_st::data"
5540    );
5541    assert_eq!(
5542        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5543        16usize,
5544        "Offset of field: buf_mem_st::max"
5545    );
5546}
5547impl Default for buf_mem_st {
5548    fn default() -> Self {
5549        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5550        unsafe {
5551            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5552            s.assume_init()
5553        }
5554    }
5555}
5556extern "C" {
5557    #[link_name = "aws_lc_0_46_0_BUF_MEM_new"]
5558    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5559}
5560extern "C" {
5561    #[link_name = "aws_lc_0_46_0_BUF_MEM_free"]
5562    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5563}
5564extern "C" {
5565    #[link_name = "aws_lc_0_46_0_BUF_MEM_reserve"]
5566    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5567}
5568extern "C" {
5569    #[link_name = "aws_lc_0_46_0_BUF_MEM_grow"]
5570    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5571}
5572extern "C" {
5573    #[link_name = "aws_lc_0_46_0_BUF_MEM_grow_clean"]
5574    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5575}
5576extern "C" {
5577    #[link_name = "aws_lc_0_46_0_BUF_MEM_append"]
5578    pub fn BUF_MEM_append(
5579        buf: *mut BUF_MEM,
5580        in_: *const ::std::os::raw::c_void,
5581        len: usize,
5582    ) -> ::std::os::raw::c_int;
5583}
5584extern "C" {
5585    #[link_name = "aws_lc_0_46_0_BUF_strdup"]
5586    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5587}
5588extern "C" {
5589    #[link_name = "aws_lc_0_46_0_BUF_strnlen"]
5590    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5591}
5592extern "C" {
5593    #[link_name = "aws_lc_0_46_0_BUF_strndup"]
5594    pub fn BUF_strndup(
5595        str_: *const ::std::os::raw::c_char,
5596        size: usize,
5597    ) -> *mut ::std::os::raw::c_char;
5598}
5599extern "C" {
5600    #[link_name = "aws_lc_0_46_0_BUF_memdup"]
5601    pub fn BUF_memdup(
5602        data: *const ::std::os::raw::c_void,
5603        size: usize,
5604    ) -> *mut ::std::os::raw::c_void;
5605}
5606extern "C" {
5607    #[link_name = "aws_lc_0_46_0_BUF_strlcpy"]
5608    pub fn BUF_strlcpy(
5609        dst: *mut ::std::os::raw::c_char,
5610        src: *const ::std::os::raw::c_char,
5611        dst_size: usize,
5612    ) -> usize;
5613}
5614extern "C" {
5615    #[link_name = "aws_lc_0_46_0_BUF_strlcat"]
5616    pub fn BUF_strlcat(
5617        dst: *mut ::std::os::raw::c_char,
5618        src: *const ::std::os::raw::c_char,
5619        dst_size: usize,
5620    ) -> usize;
5621}
5622extern "C" {
5623    #[link_name = "aws_lc_0_46_0_SHA1_Init"]
5624    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5625}
5626extern "C" {
5627    #[link_name = "aws_lc_0_46_0_SHA1_Update"]
5628    pub fn SHA1_Update(
5629        sha: *mut SHA_CTX,
5630        data: *const ::std::os::raw::c_void,
5631        len: usize,
5632    ) -> ::std::os::raw::c_int;
5633}
5634extern "C" {
5635    #[link_name = "aws_lc_0_46_0_SHA1_Final"]
5636    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5637}
5638extern "C" {
5639    #[link_name = "aws_lc_0_46_0_SHA1"]
5640    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5641}
5642extern "C" {
5643    #[link_name = "aws_lc_0_46_0_SHA1_Transform"]
5644    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5645}
5646#[repr(C)]
5647#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5648pub struct sha_state_st {
5649    pub h: [u32; 5usize],
5650    pub Nl: u32,
5651    pub Nh: u32,
5652    pub data: [u8; 64usize],
5653    pub num: ::std::os::raw::c_uint,
5654}
5655#[test]
5656fn bindgen_test_layout_sha_state_st() {
5657    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5658    let ptr = UNINIT.as_ptr();
5659    assert_eq!(
5660        ::std::mem::size_of::<sha_state_st>(),
5661        96usize,
5662        "Size of sha_state_st"
5663    );
5664    assert_eq!(
5665        ::std::mem::align_of::<sha_state_st>(),
5666        4usize,
5667        "Alignment of sha_state_st"
5668    );
5669    assert_eq!(
5670        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5671        0usize,
5672        "Offset of field: sha_state_st::h"
5673    );
5674    assert_eq!(
5675        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5676        20usize,
5677        "Offset of field: sha_state_st::Nl"
5678    );
5679    assert_eq!(
5680        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5681        24usize,
5682        "Offset of field: sha_state_st::Nh"
5683    );
5684    assert_eq!(
5685        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5686        28usize,
5687        "Offset of field: sha_state_st::data"
5688    );
5689    assert_eq!(
5690        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5691        92usize,
5692        "Offset of field: sha_state_st::num"
5693    );
5694}
5695impl Default for sha_state_st {
5696    fn default() -> Self {
5697        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5698        unsafe {
5699            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5700            s.assume_init()
5701        }
5702    }
5703}
5704extern "C" {
5705    #[link_name = "aws_lc_0_46_0_SHA224_Init"]
5706    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5707}
5708extern "C" {
5709    #[link_name = "aws_lc_0_46_0_SHA224_Update"]
5710    pub fn SHA224_Update(
5711        sha: *mut SHA256_CTX,
5712        data: *const ::std::os::raw::c_void,
5713        len: usize,
5714    ) -> ::std::os::raw::c_int;
5715}
5716extern "C" {
5717    #[link_name = "aws_lc_0_46_0_SHA224_Final"]
5718    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5719}
5720extern "C" {
5721    #[link_name = "aws_lc_0_46_0_SHA224"]
5722    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5723}
5724extern "C" {
5725    #[link_name = "aws_lc_0_46_0_SHA256_Init"]
5726    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5727}
5728extern "C" {
5729    #[link_name = "aws_lc_0_46_0_SHA256_Update"]
5730    pub fn SHA256_Update(
5731        sha: *mut SHA256_CTX,
5732        data: *const ::std::os::raw::c_void,
5733        len: usize,
5734    ) -> ::std::os::raw::c_int;
5735}
5736extern "C" {
5737    #[link_name = "aws_lc_0_46_0_SHA256_Final"]
5738    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5739}
5740extern "C" {
5741    #[link_name = "aws_lc_0_46_0_SHA256"]
5742    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5743}
5744extern "C" {
5745    #[link_name = "aws_lc_0_46_0_SHA256_Transform"]
5746    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5747}
5748extern "C" {
5749    #[link_name = "aws_lc_0_46_0_SHA256_TransformBlocks"]
5750    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5751}
5752#[repr(C)]
5753#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5754pub struct sha256_state_st {
5755    pub h: [u32; 8usize],
5756    pub Nl: u32,
5757    pub Nh: u32,
5758    pub data: [u8; 64usize],
5759    pub num: ::std::os::raw::c_uint,
5760    pub md_len: ::std::os::raw::c_uint,
5761}
5762#[test]
5763fn bindgen_test_layout_sha256_state_st() {
5764    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5765    let ptr = UNINIT.as_ptr();
5766    assert_eq!(
5767        ::std::mem::size_of::<sha256_state_st>(),
5768        112usize,
5769        "Size of sha256_state_st"
5770    );
5771    assert_eq!(
5772        ::std::mem::align_of::<sha256_state_st>(),
5773        4usize,
5774        "Alignment of sha256_state_st"
5775    );
5776    assert_eq!(
5777        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5778        0usize,
5779        "Offset of field: sha256_state_st::h"
5780    );
5781    assert_eq!(
5782        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5783        32usize,
5784        "Offset of field: sha256_state_st::Nl"
5785    );
5786    assert_eq!(
5787        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5788        36usize,
5789        "Offset of field: sha256_state_st::Nh"
5790    );
5791    assert_eq!(
5792        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5793        40usize,
5794        "Offset of field: sha256_state_st::data"
5795    );
5796    assert_eq!(
5797        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5798        104usize,
5799        "Offset of field: sha256_state_st::num"
5800    );
5801    assert_eq!(
5802        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5803        108usize,
5804        "Offset of field: sha256_state_st::md_len"
5805    );
5806}
5807impl Default for sha256_state_st {
5808    fn default() -> Self {
5809        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5810        unsafe {
5811            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5812            s.assume_init()
5813        }
5814    }
5815}
5816extern "C" {
5817    #[link_name = "aws_lc_0_46_0_SHA384_Init"]
5818    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5819}
5820extern "C" {
5821    #[link_name = "aws_lc_0_46_0_SHA384_Update"]
5822    pub fn SHA384_Update(
5823        sha: *mut SHA512_CTX,
5824        data: *const ::std::os::raw::c_void,
5825        len: usize,
5826    ) -> ::std::os::raw::c_int;
5827}
5828extern "C" {
5829    #[link_name = "aws_lc_0_46_0_SHA384_Final"]
5830    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5831}
5832extern "C" {
5833    #[link_name = "aws_lc_0_46_0_SHA384"]
5834    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5835}
5836extern "C" {
5837    #[link_name = "aws_lc_0_46_0_SHA512_Init"]
5838    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5839}
5840extern "C" {
5841    #[link_name = "aws_lc_0_46_0_SHA512_Update"]
5842    pub fn SHA512_Update(
5843        sha: *mut SHA512_CTX,
5844        data: *const ::std::os::raw::c_void,
5845        len: usize,
5846    ) -> ::std::os::raw::c_int;
5847}
5848extern "C" {
5849    #[link_name = "aws_lc_0_46_0_SHA512_Final"]
5850    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5851}
5852extern "C" {
5853    #[link_name = "aws_lc_0_46_0_SHA512"]
5854    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5855}
5856extern "C" {
5857    #[link_name = "aws_lc_0_46_0_SHA512_Transform"]
5858    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5859}
5860#[repr(C)]
5861#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5862pub struct sha512_state_st {
5863    pub h: [u64; 8usize],
5864    pub Nl: u64,
5865    pub Nh: u64,
5866    pub p: [u8; 128usize],
5867    pub num: ::std::os::raw::c_uint,
5868    pub md_len: ::std::os::raw::c_uint,
5869}
5870#[test]
5871fn bindgen_test_layout_sha512_state_st() {
5872    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5873    let ptr = UNINIT.as_ptr();
5874    assert_eq!(
5875        ::std::mem::size_of::<sha512_state_st>(),
5876        216usize,
5877        "Size of sha512_state_st"
5878    );
5879    assert_eq!(
5880        ::std::mem::align_of::<sha512_state_st>(),
5881        8usize,
5882        "Alignment of sha512_state_st"
5883    );
5884    assert_eq!(
5885        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5886        0usize,
5887        "Offset of field: sha512_state_st::h"
5888    );
5889    assert_eq!(
5890        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5891        64usize,
5892        "Offset of field: sha512_state_st::Nl"
5893    );
5894    assert_eq!(
5895        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5896        72usize,
5897        "Offset of field: sha512_state_st::Nh"
5898    );
5899    assert_eq!(
5900        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5901        80usize,
5902        "Offset of field: sha512_state_st::p"
5903    );
5904    assert_eq!(
5905        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5906        208usize,
5907        "Offset of field: sha512_state_st::num"
5908    );
5909    assert_eq!(
5910        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5911        212usize,
5912        "Offset of field: sha512_state_st::md_len"
5913    );
5914}
5915impl Default for sha512_state_st {
5916    fn default() -> Self {
5917        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5918        unsafe {
5919            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5920            s.assume_init()
5921        }
5922    }
5923}
5924extern "C" {
5925    #[link_name = "aws_lc_0_46_0_SHA512_224_Init"]
5926    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5927}
5928extern "C" {
5929    #[link_name = "aws_lc_0_46_0_SHA512_224_Update"]
5930    pub fn SHA512_224_Update(
5931        sha: *mut SHA512_CTX,
5932        data: *const ::std::os::raw::c_void,
5933        len: usize,
5934    ) -> ::std::os::raw::c_int;
5935}
5936extern "C" {
5937    #[link_name = "aws_lc_0_46_0_SHA512_224_Final"]
5938    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5939}
5940extern "C" {
5941    #[link_name = "aws_lc_0_46_0_SHA512_224"]
5942    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5943}
5944extern "C" {
5945    #[link_name = "aws_lc_0_46_0_SHA512_256_Init"]
5946    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5947}
5948extern "C" {
5949    #[link_name = "aws_lc_0_46_0_SHA512_256_Update"]
5950    pub fn SHA512_256_Update(
5951        sha: *mut SHA512_CTX,
5952        data: *const ::std::os::raw::c_void,
5953        len: usize,
5954    ) -> ::std::os::raw::c_int;
5955}
5956extern "C" {
5957    #[link_name = "aws_lc_0_46_0_SHA512_256_Final"]
5958    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5959}
5960extern "C" {
5961    #[link_name = "aws_lc_0_46_0_SHA512_256"]
5962    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5963}
5964extern "C" {
5965    #[link_name = "aws_lc_0_46_0_OPENSSL_malloc"]
5966    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5967}
5968extern "C" {
5969    #[link_name = "aws_lc_0_46_0_OPENSSL_zalloc"]
5970    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5971}
5972extern "C" {
5973    #[link_name = "aws_lc_0_46_0_OPENSSL_calloc"]
5974    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5975}
5976extern "C" {
5977    #[link_name = "aws_lc_0_46_0_OPENSSL_realloc"]
5978    pub fn OPENSSL_realloc(
5979        ptr: *mut ::std::os::raw::c_void,
5980        new_size: usize,
5981    ) -> *mut ::std::os::raw::c_void;
5982}
5983extern "C" {
5984    #[link_name = "aws_lc_0_46_0_OPENSSL_free"]
5985    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5986}
5987extern "C" {
5988    #[link_name = "aws_lc_0_46_0_OPENSSL_cleanse"]
5989    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5990}
5991extern "C" {
5992    #[link_name = "aws_lc_0_46_0_CRYPTO_memcmp"]
5993    pub fn CRYPTO_memcmp(
5994        a: *const ::std::os::raw::c_void,
5995        b: *const ::std::os::raw::c_void,
5996        len: usize,
5997    ) -> ::std::os::raw::c_int;
5998}
5999extern "C" {
6000    #[link_name = "aws_lc_0_46_0_OPENSSL_hash32"]
6001    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
6002}
6003extern "C" {
6004    #[link_name = "aws_lc_0_46_0_OPENSSL_strhash"]
6005    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
6006}
6007extern "C" {
6008    #[link_name = "aws_lc_0_46_0_OPENSSL_strdup"]
6009    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6010}
6011extern "C" {
6012    #[link_name = "aws_lc_0_46_0_OPENSSL_strnlen"]
6013    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
6014}
6015extern "C" {
6016    #[link_name = "aws_lc_0_46_0_OPENSSL_isalpha"]
6017    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6018}
6019extern "C" {
6020    #[link_name = "aws_lc_0_46_0_OPENSSL_isdigit"]
6021    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6022}
6023extern "C" {
6024    #[link_name = "aws_lc_0_46_0_OPENSSL_isxdigit"]
6025    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6026}
6027extern "C" {
6028    #[link_name = "aws_lc_0_46_0_OPENSSL_fromxdigit"]
6029    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6030}
6031extern "C" {
6032    #[link_name = "aws_lc_0_46_0_OPENSSL_hexstr2buf"]
6033    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
6034}
6035extern "C" {
6036    #[link_name = "aws_lc_0_46_0_OPENSSL_isalnum"]
6037    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6038}
6039extern "C" {
6040    #[link_name = "aws_lc_0_46_0_OPENSSL_tolower"]
6041    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6042}
6043extern "C" {
6044    #[link_name = "aws_lc_0_46_0_OPENSSL_isspace"]
6045    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6046}
6047extern "C" {
6048    #[link_name = "aws_lc_0_46_0_OPENSSL_strcasecmp"]
6049    pub fn OPENSSL_strcasecmp(
6050        a: *const ::std::os::raw::c_char,
6051        b: *const ::std::os::raw::c_char,
6052    ) -> ::std::os::raw::c_int;
6053}
6054extern "C" {
6055    #[link_name = "aws_lc_0_46_0_OPENSSL_strncasecmp"]
6056    pub fn OPENSSL_strncasecmp(
6057        a: *const ::std::os::raw::c_char,
6058        b: *const ::std::os::raw::c_char,
6059        n: usize,
6060    ) -> ::std::os::raw::c_int;
6061}
6062extern "C" {
6063    #[link_name = "aws_lc_0_46_0_BIO_snprintf"]
6064    pub fn BIO_snprintf(
6065        buf: *mut ::std::os::raw::c_char,
6066        n: usize,
6067        format: *const ::std::os::raw::c_char,
6068        ...
6069    ) -> ::std::os::raw::c_int;
6070}
6071extern "C" {
6072    #[link_name = "aws_lc_0_46_0_BIO_vsnprintf"]
6073    pub fn BIO_vsnprintf(
6074        buf: *mut ::std::os::raw::c_char,
6075        n: usize,
6076        format: *const ::std::os::raw::c_char,
6077        args: *mut __va_list_tag,
6078    ) -> ::std::os::raw::c_int;
6079}
6080extern "C" {
6081    #[link_name = "aws_lc_0_46_0_OPENSSL_vasprintf"]
6082    pub fn OPENSSL_vasprintf(
6083        str_: *mut *mut ::std::os::raw::c_char,
6084        format: *const ::std::os::raw::c_char,
6085        args: *mut __va_list_tag,
6086    ) -> ::std::os::raw::c_int;
6087}
6088extern "C" {
6089    #[link_name = "aws_lc_0_46_0_OPENSSL_asprintf"]
6090    pub fn OPENSSL_asprintf(
6091        str_: *mut *mut ::std::os::raw::c_char,
6092        format: *const ::std::os::raw::c_char,
6093        ...
6094    ) -> ::std::os::raw::c_int;
6095}
6096extern "C" {
6097    #[link_name = "aws_lc_0_46_0_OPENSSL_strndup"]
6098    pub fn OPENSSL_strndup(
6099        str_: *const ::std::os::raw::c_char,
6100        size: usize,
6101    ) -> *mut ::std::os::raw::c_char;
6102}
6103extern "C" {
6104    #[link_name = "aws_lc_0_46_0_OPENSSL_memdup"]
6105    pub fn OPENSSL_memdup(
6106        data: *const ::std::os::raw::c_void,
6107        size: usize,
6108    ) -> *mut ::std::os::raw::c_void;
6109}
6110extern "C" {
6111    #[link_name = "aws_lc_0_46_0_OPENSSL_strlcpy"]
6112    pub fn OPENSSL_strlcpy(
6113        dst: *mut ::std::os::raw::c_char,
6114        src: *const ::std::os::raw::c_char,
6115        dst_size: usize,
6116    ) -> usize;
6117}
6118extern "C" {
6119    #[link_name = "aws_lc_0_46_0_OPENSSL_strlcat"]
6120    pub fn OPENSSL_strlcat(
6121        dst: *mut ::std::os::raw::c_char,
6122        src: *const ::std::os::raw::c_char,
6123        dst_size: usize,
6124    ) -> usize;
6125}
6126extern "C" {
6127    #[link_name = "aws_lc_0_46_0_CRYPTO_malloc"]
6128    pub fn CRYPTO_malloc(
6129        size: usize,
6130        file: *const ::std::os::raw::c_char,
6131        line: ::std::os::raw::c_int,
6132    ) -> *mut ::std::os::raw::c_void;
6133}
6134extern "C" {
6135    #[link_name = "aws_lc_0_46_0_CRYPTO_realloc"]
6136    pub fn CRYPTO_realloc(
6137        ptr: *mut ::std::os::raw::c_void,
6138        new_size: usize,
6139        file: *const ::std::os::raw::c_char,
6140        line: ::std::os::raw::c_int,
6141    ) -> *mut ::std::os::raw::c_void;
6142}
6143extern "C" {
6144    #[link_name = "aws_lc_0_46_0_CRYPTO_free"]
6145    pub fn CRYPTO_free(
6146        ptr: *mut ::std::os::raw::c_void,
6147        file: *const ::std::os::raw::c_char,
6148        line: ::std::os::raw::c_int,
6149    );
6150}
6151extern "C" {
6152    #[link_name = "aws_lc_0_46_0_OPENSSL_clear_free"]
6153    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
6154}
6155extern "C" {
6156    #[link_name = "aws_lc_0_46_0_CRYPTO_set_mem_functions"]
6157    pub fn CRYPTO_set_mem_functions(
6158        m: ::std::option::Option<
6159            unsafe extern "C" fn(
6160                arg1: usize,
6161                arg2: *const ::std::os::raw::c_char,
6162                arg3: ::std::os::raw::c_int,
6163            ) -> *mut ::std::os::raw::c_void,
6164        >,
6165        r: ::std::option::Option<
6166            unsafe extern "C" fn(
6167                arg1: *mut ::std::os::raw::c_void,
6168                arg2: usize,
6169                arg3: *const ::std::os::raw::c_char,
6170                arg4: ::std::os::raw::c_int,
6171            ) -> *mut ::std::os::raw::c_void,
6172        >,
6173        f: ::std::option::Option<
6174            unsafe extern "C" fn(
6175                arg1: *mut ::std::os::raw::c_void,
6176                arg2: *const ::std::os::raw::c_char,
6177                arg3: ::std::os::raw::c_int,
6178            ),
6179        >,
6180    ) -> ::std::os::raw::c_int;
6181}
6182extern "C" {
6183    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_malloc_init"]
6184    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
6185}
6186extern "C" {
6187    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_malloc_initialized"]
6188    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
6189}
6190extern "C" {
6191    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_used"]
6192    pub fn CRYPTO_secure_used() -> usize;
6193}
6194extern "C" {
6195    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_malloc"]
6196    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
6197}
6198extern "C" {
6199    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_zalloc"]
6200    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
6201}
6202extern "C" {
6203    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_clear_free"]
6204    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
6205}
6206#[repr(C)]
6207#[derive(Copy, Clone)]
6208pub union crypto_mutex_st {
6209    pub alignment: f64,
6210    pub padding: [u8; 56usize],
6211}
6212#[test]
6213fn bindgen_test_layout_crypto_mutex_st() {
6214    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
6215    let ptr = UNINIT.as_ptr();
6216    assert_eq!(
6217        ::std::mem::size_of::<crypto_mutex_st>(),
6218        56usize,
6219        "Size of crypto_mutex_st"
6220    );
6221    assert_eq!(
6222        ::std::mem::align_of::<crypto_mutex_st>(),
6223        8usize,
6224        "Alignment of crypto_mutex_st"
6225    );
6226    assert_eq!(
6227        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
6228        0usize,
6229        "Offset of field: crypto_mutex_st::alignment"
6230    );
6231    assert_eq!(
6232        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
6233        0usize,
6234        "Offset of field: crypto_mutex_st::padding"
6235    );
6236}
6237impl Default for crypto_mutex_st {
6238    fn default() -> Self {
6239        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6240        unsafe {
6241            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6242            s.assume_init()
6243        }
6244    }
6245}
6246pub type CRYPTO_MUTEX = crypto_mutex_st;
6247pub type CRYPTO_refcount_t = u32;
6248extern "C" {
6249    #[link_name = "aws_lc_0_46_0_AWSLC_thread_local_clear"]
6250    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
6251}
6252extern "C" {
6253    #[link_name = "aws_lc_0_46_0_AWSLC_thread_local_shutdown"]
6254    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
6255}
6256extern "C" {
6257    #[link_name = "aws_lc_0_46_0_CRYPTO_num_locks"]
6258    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
6259}
6260extern "C" {
6261    #[link_name = "aws_lc_0_46_0_CRYPTO_set_locking_callback"]
6262    pub fn CRYPTO_set_locking_callback(
6263        func: ::std::option::Option<
6264            unsafe extern "C" fn(
6265                mode: ::std::os::raw::c_int,
6266                lock_num: ::std::os::raw::c_int,
6267                file: *const ::std::os::raw::c_char,
6268                line: ::std::os::raw::c_int,
6269            ),
6270        >,
6271    );
6272}
6273extern "C" {
6274    #[link_name = "aws_lc_0_46_0_CRYPTO_set_add_lock_callback"]
6275    pub fn CRYPTO_set_add_lock_callback(
6276        func: ::std::option::Option<
6277            unsafe extern "C" fn(
6278                num: *mut ::std::os::raw::c_int,
6279                amount: ::std::os::raw::c_int,
6280                lock_num: ::std::os::raw::c_int,
6281                file: *const ::std::os::raw::c_char,
6282                line: ::std::os::raw::c_int,
6283            ) -> ::std::os::raw::c_int,
6284        >,
6285    );
6286}
6287extern "C" {
6288    #[link_name = "aws_lc_0_46_0_CRYPTO_get_locking_callback"]
6289    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
6290        unsafe extern "C" fn(
6291            arg1: ::std::os::raw::c_int,
6292            arg2: ::std::os::raw::c_int,
6293            arg3: *const ::std::os::raw::c_char,
6294            arg4: ::std::os::raw::c_int,
6295        ),
6296    >;
6297}
6298extern "C" {
6299    #[link_name = "aws_lc_0_46_0_CRYPTO_get_lock_name"]
6300    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6301}
6302extern "C" {
6303    #[link_name = "aws_lc_0_46_0_CRYPTO_THREADID_set_callback"]
6304    pub fn CRYPTO_THREADID_set_callback(
6305        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
6306    ) -> ::std::os::raw::c_int;
6307}
6308extern "C" {
6309    #[link_name = "aws_lc_0_46_0_CRYPTO_THREADID_set_numeric"]
6310    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
6311}
6312extern "C" {
6313    #[link_name = "aws_lc_0_46_0_CRYPTO_THREADID_set_pointer"]
6314    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
6315}
6316extern "C" {
6317    #[link_name = "aws_lc_0_46_0_CRYPTO_THREADID_current"]
6318    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
6319}
6320extern "C" {
6321    #[link_name = "aws_lc_0_46_0_CRYPTO_set_id_callback"]
6322    pub fn CRYPTO_set_id_callback(
6323        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
6324    );
6325}
6326#[repr(C)]
6327#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6328pub struct CRYPTO_dynlock {
6329    pub references: ::std::os::raw::c_int,
6330    pub data: *mut CRYPTO_dynlock_value,
6331}
6332#[test]
6333fn bindgen_test_layout_CRYPTO_dynlock() {
6334    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
6335    let ptr = UNINIT.as_ptr();
6336    assert_eq!(
6337        ::std::mem::size_of::<CRYPTO_dynlock>(),
6338        16usize,
6339        "Size of CRYPTO_dynlock"
6340    );
6341    assert_eq!(
6342        ::std::mem::align_of::<CRYPTO_dynlock>(),
6343        8usize,
6344        "Alignment of CRYPTO_dynlock"
6345    );
6346    assert_eq!(
6347        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
6348        0usize,
6349        "Offset of field: CRYPTO_dynlock::references"
6350    );
6351    assert_eq!(
6352        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6353        8usize,
6354        "Offset of field: CRYPTO_dynlock::data"
6355    );
6356}
6357impl Default for CRYPTO_dynlock {
6358    fn default() -> Self {
6359        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6360        unsafe {
6361            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6362            s.assume_init()
6363        }
6364    }
6365}
6366extern "C" {
6367    #[link_name = "aws_lc_0_46_0_CRYPTO_set_dynlock_create_callback"]
6368    pub fn CRYPTO_set_dynlock_create_callback(
6369        dyn_create_function: ::std::option::Option<
6370            unsafe extern "C" fn(
6371                file: *const ::std::os::raw::c_char,
6372                line: ::std::os::raw::c_int,
6373            ) -> *mut CRYPTO_dynlock_value,
6374        >,
6375    );
6376}
6377extern "C" {
6378    #[link_name = "aws_lc_0_46_0_CRYPTO_set_dynlock_lock_callback"]
6379    pub fn CRYPTO_set_dynlock_lock_callback(
6380        dyn_lock_function: ::std::option::Option<
6381            unsafe extern "C" fn(
6382                mode: ::std::os::raw::c_int,
6383                l: *mut CRYPTO_dynlock_value,
6384                file: *const ::std::os::raw::c_char,
6385                line: ::std::os::raw::c_int,
6386            ),
6387        >,
6388    );
6389}
6390extern "C" {
6391    #[link_name = "aws_lc_0_46_0_CRYPTO_set_dynlock_destroy_callback"]
6392    pub fn CRYPTO_set_dynlock_destroy_callback(
6393        dyn_destroy_function: ::std::option::Option<
6394            unsafe extern "C" fn(
6395                l: *mut CRYPTO_dynlock_value,
6396                file: *const ::std::os::raw::c_char,
6397                line: ::std::os::raw::c_int,
6398            ),
6399        >,
6400    );
6401}
6402extern "C" {
6403    #[link_name = "aws_lc_0_46_0_CRYPTO_get_dynlock_create_callback"]
6404    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
6405        unsafe extern "C" fn(
6406            arg1: *const ::std::os::raw::c_char,
6407            arg2: ::std::os::raw::c_int,
6408        ) -> *mut CRYPTO_dynlock_value,
6409    >;
6410}
6411extern "C" {
6412    #[link_name = "aws_lc_0_46_0_CRYPTO_get_dynlock_lock_callback"]
6413    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
6414        unsafe extern "C" fn(
6415            arg1: ::std::os::raw::c_int,
6416            arg2: *mut CRYPTO_dynlock_value,
6417            arg3: *const ::std::os::raw::c_char,
6418            arg4: ::std::os::raw::c_int,
6419        ),
6420    >;
6421}
6422extern "C" {
6423    #[link_name = "aws_lc_0_46_0_CRYPTO_get_dynlock_destroy_callback"]
6424    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
6425        unsafe extern "C" fn(
6426            arg1: *mut CRYPTO_dynlock_value,
6427            arg2: *const ::std::os::raw::c_char,
6428            arg3: ::std::os::raw::c_int,
6429        ),
6430    >;
6431}
6432extern "C" {
6433    #[link_name = "aws_lc_0_46_0_CRYPTO_library_init"]
6434    pub fn CRYPTO_library_init();
6435}
6436extern "C" {
6437    #[link_name = "aws_lc_0_46_0_CRYPTO_is_confidential_build"]
6438    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
6439}
6440extern "C" {
6441    #[link_name = "aws_lc_0_46_0_CRYPTO_has_asm"]
6442    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
6443}
6444extern "C" {
6445    #[link_name = "aws_lc_0_46_0_BORINGSSL_self_test"]
6446    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6447}
6448extern "C" {
6449    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6450}
6451extern "C" {
6452    #[link_name = "aws_lc_0_46_0_CRYPTO_pre_sandbox_init"]
6453    pub fn CRYPTO_pre_sandbox_init();
6454}
6455extern "C" {
6456    #[link_name = "aws_lc_0_46_0_FIPS_mode"]
6457    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6458}
6459extern "C" {
6460    #[link_name = "aws_lc_0_46_0_FIPS_is_entropy_cpu_jitter"]
6461    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6462}
6463extern "C" {
6464    #[link_name = "aws_lc_0_46_0_FIPS_version"]
6465    pub fn FIPS_version() -> u32;
6466}
6467extern "C" {
6468    #[link_name = "aws_lc_0_46_0_FIPS_module_name"]
6469    pub fn FIPS_module_name() -> *const ::std::os::raw::c_char;
6470}
6471extern "C" {
6472    #[link_name = "aws_lc_0_46_0_OpenSSL_version"]
6473    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6474}
6475extern "C" {
6476    #[link_name = "aws_lc_0_46_0_SSLeay_version"]
6477    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6478}
6479extern "C" {
6480    #[link_name = "aws_lc_0_46_0_SSLeay"]
6481    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6482}
6483extern "C" {
6484    #[link_name = "aws_lc_0_46_0_OpenSSL_version_num"]
6485    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6486}
6487extern "C" {
6488    #[link_name = "aws_lc_0_46_0_awslc_api_version_num"]
6489    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6490}
6491extern "C" {
6492    #[link_name = "aws_lc_0_46_0_CRYPTO_malloc_init"]
6493    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6494}
6495extern "C" {
6496    #[link_name = "aws_lc_0_46_0_OPENSSL_malloc_init"]
6497    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6498}
6499extern "C" {
6500    #[link_name = "aws_lc_0_46_0_ENGINE_load_builtin_engines"]
6501    pub fn ENGINE_load_builtin_engines();
6502}
6503extern "C" {
6504    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_ciphers"]
6505    pub fn ENGINE_register_all_ciphers();
6506}
6507extern "C" {
6508    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_digests"]
6509    pub fn ENGINE_register_all_digests();
6510}
6511extern "C" {
6512    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_complete"]
6513    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6514}
6515extern "C" {
6516    #[link_name = "aws_lc_0_46_0_OPENSSL_load_builtin_modules"]
6517    pub fn OPENSSL_load_builtin_modules();
6518}
6519extern "C" {
6520    #[link_name = "aws_lc_0_46_0_OPENSSL_init_crypto"]
6521    pub fn OPENSSL_init_crypto(
6522        opts: u64,
6523        settings: *const OPENSSL_INIT_SETTINGS,
6524    ) -> ::std::os::raw::c_int;
6525}
6526extern "C" {
6527    #[link_name = "aws_lc_0_46_0_OPENSSL_init"]
6528    pub fn OPENSSL_init();
6529}
6530extern "C" {
6531    #[link_name = "aws_lc_0_46_0_OPENSSL_cleanup"]
6532    pub fn OPENSSL_cleanup();
6533}
6534extern "C" {
6535    #[link_name = "aws_lc_0_46_0_FIPS_mode_set"]
6536    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6537}
6538extern "C" {
6539    #[link_name = "aws_lc_0_46_0_CRYPTO_mem_ctrl"]
6540    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6541}
6542extern "C" {
6543    #[link_name = "aws_lc_0_46_0_ERR_load_BIO_strings"]
6544    pub fn ERR_load_BIO_strings();
6545}
6546extern "C" {
6547    #[link_name = "aws_lc_0_46_0_ERR_load_ERR_strings"]
6548    pub fn ERR_load_ERR_strings();
6549}
6550extern "C" {
6551    #[link_name = "aws_lc_0_46_0_ERR_load_CRYPTO_strings"]
6552    pub fn ERR_load_CRYPTO_strings();
6553}
6554extern "C" {
6555    #[link_name = "aws_lc_0_46_0_ERR_load_crypto_strings"]
6556    pub fn ERR_load_crypto_strings();
6557}
6558extern "C" {
6559    #[link_name = "aws_lc_0_46_0_ERR_load_RAND_strings"]
6560    pub fn ERR_load_RAND_strings();
6561}
6562extern "C" {
6563    #[link_name = "aws_lc_0_46_0_ERR_free_strings"]
6564    pub fn ERR_free_strings();
6565}
6566extern "C" {
6567    #[link_name = "aws_lc_0_46_0_ERR_get_error"]
6568    pub fn ERR_get_error() -> u32;
6569}
6570extern "C" {
6571    #[link_name = "aws_lc_0_46_0_ERR_get_error_line"]
6572    pub fn ERR_get_error_line(
6573        file: *mut *const ::std::os::raw::c_char,
6574        line: *mut ::std::os::raw::c_int,
6575    ) -> u32;
6576}
6577extern "C" {
6578    #[link_name = "aws_lc_0_46_0_ERR_get_error_line_data"]
6579    pub fn ERR_get_error_line_data(
6580        file: *mut *const ::std::os::raw::c_char,
6581        line: *mut ::std::os::raw::c_int,
6582        data: *mut *const ::std::os::raw::c_char,
6583        flags: *mut ::std::os::raw::c_int,
6584    ) -> u32;
6585}
6586extern "C" {
6587    #[link_name = "aws_lc_0_46_0_ERR_peek_error"]
6588    pub fn ERR_peek_error() -> u32;
6589}
6590extern "C" {
6591    #[link_name = "aws_lc_0_46_0_ERR_peek_error_line"]
6592    pub fn ERR_peek_error_line(
6593        file: *mut *const ::std::os::raw::c_char,
6594        line: *mut ::std::os::raw::c_int,
6595    ) -> u32;
6596}
6597extern "C" {
6598    #[link_name = "aws_lc_0_46_0_ERR_peek_error_line_data"]
6599    pub fn ERR_peek_error_line_data(
6600        file: *mut *const ::std::os::raw::c_char,
6601        line: *mut ::std::os::raw::c_int,
6602        data: *mut *const ::std::os::raw::c_char,
6603        flags: *mut ::std::os::raw::c_int,
6604    ) -> u32;
6605}
6606extern "C" {
6607    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error"]
6608    pub fn ERR_peek_last_error() -> u32;
6609}
6610extern "C" {
6611    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error_line"]
6612    pub fn ERR_peek_last_error_line(
6613        file: *mut *const ::std::os::raw::c_char,
6614        line: *mut ::std::os::raw::c_int,
6615    ) -> u32;
6616}
6617extern "C" {
6618    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error_line_data"]
6619    pub fn ERR_peek_last_error_line_data(
6620        file: *mut *const ::std::os::raw::c_char,
6621        line: *mut ::std::os::raw::c_int,
6622        data: *mut *const ::std::os::raw::c_char,
6623        flags: *mut ::std::os::raw::c_int,
6624    ) -> u32;
6625}
6626extern "C" {
6627    #[link_name = "aws_lc_0_46_0_ERR_error_string_n"]
6628    pub fn ERR_error_string_n(
6629        packed_error: u32,
6630        buf: *mut ::std::os::raw::c_char,
6631        len: usize,
6632    ) -> *mut ::std::os::raw::c_char;
6633}
6634extern "C" {
6635    #[link_name = "aws_lc_0_46_0_ERR_lib_error_string"]
6636    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6637}
6638extern "C" {
6639    #[link_name = "aws_lc_0_46_0_ERR_reason_error_string"]
6640    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6641}
6642pub type ERR_print_errors_callback_t = ::std::option::Option<
6643    unsafe extern "C" fn(
6644        str_: *const ::std::os::raw::c_char,
6645        len: usize,
6646        ctx: *mut ::std::os::raw::c_void,
6647    ) -> ::std::os::raw::c_int,
6648>;
6649extern "C" {
6650    #[link_name = "aws_lc_0_46_0_ERR_print_errors_cb"]
6651    pub fn ERR_print_errors_cb(
6652        callback: ERR_print_errors_callback_t,
6653        ctx: *mut ::std::os::raw::c_void,
6654    );
6655}
6656extern "C" {
6657    #[link_name = "aws_lc_0_46_0_ERR_print_errors_fp"]
6658    pub fn ERR_print_errors_fp(file: *mut FILE);
6659}
6660extern "C" {
6661    #[link_name = "aws_lc_0_46_0_ERR_clear_error"]
6662    pub fn ERR_clear_error();
6663}
6664extern "C" {
6665    #[link_name = "aws_lc_0_46_0_ERR_set_mark"]
6666    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6667}
6668extern "C" {
6669    #[link_name = "aws_lc_0_46_0_ERR_pop_to_mark"]
6670    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6671}
6672extern "C" {
6673    #[link_name = "aws_lc_0_46_0_ERR_get_next_error_library"]
6674    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6675}
6676extern "C" {
6677    #[link_name = "aws_lc_0_46_0_ERR_remove_state"]
6678    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6679}
6680extern "C" {
6681    #[link_name = "aws_lc_0_46_0_ERR_remove_thread_state"]
6682    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6683}
6684extern "C" {
6685    #[link_name = "aws_lc_0_46_0_ERR_func_error_string"]
6686    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6687}
6688extern "C" {
6689    #[link_name = "aws_lc_0_46_0_ERR_error_string"]
6690    pub fn ERR_error_string(
6691        packed_error: u32,
6692        buf: *mut ::std::os::raw::c_char,
6693    ) -> *mut ::std::os::raw::c_char;
6694}
6695extern "C" {
6696    #[link_name = "aws_lc_0_46_0_ERR_clear_system_error"]
6697    pub fn ERR_clear_system_error();
6698}
6699extern "C" {
6700    #[link_name = "aws_lc_0_46_0_ERR_put_error"]
6701    pub fn ERR_put_error(
6702        library: ::std::os::raw::c_int,
6703        unused: ::std::os::raw::c_int,
6704        reason: ::std::os::raw::c_int,
6705        file: *const ::std::os::raw::c_char,
6706        line: ::std::os::raw::c_uint,
6707    );
6708}
6709extern "C" {
6710    #[link_name = "aws_lc_0_46_0_ERR_add_error_data"]
6711    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6712}
6713extern "C" {
6714    #[link_name = "aws_lc_0_46_0_ERR_add_error_dataf"]
6715    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6716}
6717extern "C" {
6718    #[link_name = "aws_lc_0_46_0_ERR_set_error_data"]
6719    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6720}
6721pub type OPENSSL_sk_free_func =
6722    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6723pub type OPENSSL_sk_copy_func = ::std::option::Option<
6724    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6725>;
6726pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6727    unsafe extern "C" fn(
6728        a: *const *const ::std::os::raw::c_void,
6729        b: *const *const ::std::os::raw::c_void,
6730    ) -> ::std::os::raw::c_int,
6731>;
6732pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6733    unsafe extern "C" fn(
6734        obj: *mut ::std::os::raw::c_void,
6735        data: *mut ::std::os::raw::c_void,
6736    ) -> ::std::os::raw::c_int,
6737>;
6738pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6739    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6740>;
6741pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6742    unsafe extern "C" fn(
6743        arg1: OPENSSL_sk_copy_func,
6744        arg2: *const ::std::os::raw::c_void,
6745    ) -> *mut ::std::os::raw::c_void,
6746>;
6747pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6748    unsafe extern "C" fn(
6749        arg1: OPENSSL_sk_cmp_func,
6750        arg2: *const ::std::os::raw::c_void,
6751        arg3: *const ::std::os::raw::c_void,
6752    ) -> ::std::os::raw::c_int,
6753>;
6754pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6755    unsafe extern "C" fn(
6756        arg1: OPENSSL_sk_delete_if_func,
6757        arg2: *mut ::std::os::raw::c_void,
6758        arg3: *mut ::std::os::raw::c_void,
6759    ) -> ::std::os::raw::c_int,
6760>;
6761#[repr(C)]
6762#[derive(Debug)]
6763pub struct stack_st {
6764    _unused: [u8; 0],
6765}
6766pub type OPENSSL_STACK = stack_st;
6767extern "C" {
6768    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_new"]
6769    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6770}
6771extern "C" {
6772    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_new_null"]
6773    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6774}
6775extern "C" {
6776    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_num"]
6777    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6778}
6779extern "C" {
6780    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_zero"]
6781    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6782}
6783extern "C" {
6784    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_value"]
6785    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6786}
6787extern "C" {
6788    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_set"]
6789    pub fn OPENSSL_sk_set(
6790        sk: *mut OPENSSL_STACK,
6791        i: usize,
6792        p: *mut ::std::os::raw::c_void,
6793    ) -> *mut ::std::os::raw::c_void;
6794}
6795extern "C" {
6796    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_free"]
6797    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6798}
6799extern "C" {
6800    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_pop_free_ex"]
6801    pub fn OPENSSL_sk_pop_free_ex(
6802        sk: *mut OPENSSL_STACK,
6803        call_free_func: OPENSSL_sk_call_free_func,
6804        free_func: OPENSSL_sk_free_func,
6805    );
6806}
6807extern "C" {
6808    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_insert"]
6809    pub fn OPENSSL_sk_insert(
6810        sk: *mut OPENSSL_STACK,
6811        p: *mut ::std::os::raw::c_void,
6812        where_: usize,
6813    ) -> usize;
6814}
6815extern "C" {
6816    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_delete"]
6817    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6818}
6819extern "C" {
6820    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_delete_ptr"]
6821    pub fn OPENSSL_sk_delete_ptr(
6822        sk: *mut OPENSSL_STACK,
6823        p: *const ::std::os::raw::c_void,
6824    ) -> *mut ::std::os::raw::c_void;
6825}
6826extern "C" {
6827    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_delete_if"]
6828    pub fn OPENSSL_sk_delete_if(
6829        sk: *mut OPENSSL_STACK,
6830        call_func: OPENSSL_sk_call_delete_if_func,
6831        func: OPENSSL_sk_delete_if_func,
6832        data: *mut ::std::os::raw::c_void,
6833    );
6834}
6835extern "C" {
6836    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_find"]
6837    pub fn OPENSSL_sk_find(
6838        sk: *const OPENSSL_STACK,
6839        out_index: *mut usize,
6840        p: *const ::std::os::raw::c_void,
6841        call_cmp_func: OPENSSL_sk_call_cmp_func,
6842    ) -> ::std::os::raw::c_int;
6843}
6844extern "C" {
6845    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_unshift"]
6846    pub fn OPENSSL_sk_unshift(
6847        sk: *mut OPENSSL_STACK,
6848        data: *mut ::std::os::raw::c_void,
6849    ) -> ::std::os::raw::c_int;
6850}
6851extern "C" {
6852    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_shift"]
6853    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6854}
6855extern "C" {
6856    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_push"]
6857    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6858}
6859extern "C" {
6860    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_pop"]
6861    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6862}
6863extern "C" {
6864    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_dup"]
6865    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6866}
6867extern "C" {
6868    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_sort"]
6869    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6870}
6871extern "C" {
6872    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_is_sorted"]
6873    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6874}
6875extern "C" {
6876    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_set_cmp_func"]
6877    pub fn OPENSSL_sk_set_cmp_func(
6878        sk: *mut OPENSSL_STACK,
6879        comp: OPENSSL_sk_cmp_func,
6880    ) -> OPENSSL_sk_cmp_func;
6881}
6882extern "C" {
6883    #[link_name = "aws_lc_0_46_0_OPENSSL_sk_deep_copy"]
6884    pub fn OPENSSL_sk_deep_copy(
6885        sk: *const OPENSSL_STACK,
6886        call_copy_func: OPENSSL_sk_call_copy_func,
6887        copy_func: OPENSSL_sk_copy_func,
6888        call_free_func: OPENSSL_sk_call_free_func,
6889        free_func: OPENSSL_sk_free_func,
6890    ) -> *mut OPENSSL_STACK;
6891}
6892pub type _STACK = OPENSSL_STACK;
6893extern "C" {
6894    #[link_name = "aws_lc_0_46_0_sk_pop_free"]
6895    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6896}
6897pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6898#[repr(C)]
6899#[derive(Debug)]
6900pub struct stack_st_void {
6901    _unused: [u8; 0],
6902}
6903pub type sk_void_free_func =
6904    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6905pub type sk_void_copy_func = ::std::option::Option<
6906    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6907>;
6908pub type sk_void_cmp_func = ::std::option::Option<
6909    unsafe extern "C" fn(
6910        arg1: *const *const ::std::os::raw::c_void,
6911        arg2: *const *const ::std::os::raw::c_void,
6912    ) -> ::std::os::raw::c_int,
6913>;
6914pub type sk_void_delete_if_func = ::std::option::Option<
6915    unsafe extern "C" fn(
6916        arg1: *mut ::std::os::raw::c_void,
6917        arg2: *mut ::std::os::raw::c_void,
6918    ) -> ::std::os::raw::c_int,
6919>;
6920#[repr(C)]
6921#[derive(Debug)]
6922pub struct stack_st_OPENSSL_STRING {
6923    _unused: [u8; 0],
6924}
6925pub type sk_OPENSSL_STRING_free_func =
6926    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6927pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6928    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6929>;
6930pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6931    unsafe extern "C" fn(
6932        arg1: *const *const ::std::os::raw::c_char,
6933        arg2: *const *const ::std::os::raw::c_char,
6934    ) -> ::std::os::raw::c_int,
6935>;
6936pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6937    unsafe extern "C" fn(
6938        arg1: *mut ::std::os::raw::c_char,
6939        arg2: *mut ::std::os::raw::c_void,
6940    ) -> ::std::os::raw::c_int,
6941>;
6942pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6943pub type CRYPTO_EX_free = ::std::option::Option<
6944    unsafe extern "C" fn(
6945        parent: *mut ::std::os::raw::c_void,
6946        ptr: *mut ::std::os::raw::c_void,
6947        ad: *mut CRYPTO_EX_DATA,
6948        index: ::std::os::raw::c_int,
6949        argl: ::std::os::raw::c_long,
6950        argp: *mut ::std::os::raw::c_void,
6951    ),
6952>;
6953extern "C" {
6954    #[link_name = "aws_lc_0_46_0_CRYPTO_cleanup_all_ex_data"]
6955    pub fn CRYPTO_cleanup_all_ex_data();
6956}
6957pub type CRYPTO_EX_dup = ::std::option::Option<
6958    unsafe extern "C" fn(
6959        to: *mut CRYPTO_EX_DATA,
6960        from: *const CRYPTO_EX_DATA,
6961        from_d: *mut *mut ::std::os::raw::c_void,
6962        index: ::std::os::raw::c_int,
6963        argl: ::std::os::raw::c_long,
6964        argp: *mut ::std::os::raw::c_void,
6965    ) -> ::std::os::raw::c_int,
6966>;
6967pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6968#[repr(C)]
6969#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6970pub struct crypto_ex_data_st {
6971    pub sk: *mut stack_st_void,
6972}
6973#[test]
6974fn bindgen_test_layout_crypto_ex_data_st() {
6975    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6976    let ptr = UNINIT.as_ptr();
6977    assert_eq!(
6978        ::std::mem::size_of::<crypto_ex_data_st>(),
6979        8usize,
6980        "Size of crypto_ex_data_st"
6981    );
6982    assert_eq!(
6983        ::std::mem::align_of::<crypto_ex_data_st>(),
6984        8usize,
6985        "Alignment of crypto_ex_data_st"
6986    );
6987    assert_eq!(
6988        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6989        0usize,
6990        "Offset of field: crypto_ex_data_st::sk"
6991    );
6992}
6993impl Default for crypto_ex_data_st {
6994    fn default() -> Self {
6995        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6996        unsafe {
6997            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6998            s.assume_init()
6999        }
7000    }
7001}
7002#[repr(C)]
7003#[derive(Debug)]
7004pub struct stack_st_BIO {
7005    _unused: [u8; 0],
7006}
7007pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
7008pub type sk_BIO_copy_func =
7009    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
7010pub type sk_BIO_cmp_func = ::std::option::Option<
7011    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
7012>;
7013pub type sk_BIO_delete_if_func = ::std::option::Option<
7014    unsafe extern "C" fn(
7015        arg1: *mut BIO,
7016        arg2: *mut ::std::os::raw::c_void,
7017    ) -> ::std::os::raw::c_int,
7018>;
7019extern "C" {
7020    #[link_name = "aws_lc_0_46_0_BIO_new"]
7021    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
7022}
7023extern "C" {
7024    #[link_name = "aws_lc_0_46_0_BIO_free"]
7025    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
7026}
7027extern "C" {
7028    #[link_name = "aws_lc_0_46_0_BIO_vfree"]
7029    pub fn BIO_vfree(bio: *mut BIO);
7030}
7031extern "C" {
7032    #[link_name = "aws_lc_0_46_0_BIO_up_ref"]
7033    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
7034}
7035extern "C" {
7036    #[link_name = "aws_lc_0_46_0_BIO_read"]
7037    pub fn BIO_read(
7038        bio: *mut BIO,
7039        data: *mut ::std::os::raw::c_void,
7040        len: ::std::os::raw::c_int,
7041    ) -> ::std::os::raw::c_int;
7042}
7043extern "C" {
7044    #[link_name = "aws_lc_0_46_0_BIO_read_ex"]
7045    pub fn BIO_read_ex(
7046        bio: *mut BIO,
7047        data: *mut ::std::os::raw::c_void,
7048        data_len: usize,
7049        read_bytes: *mut usize,
7050    ) -> ::std::os::raw::c_int;
7051}
7052extern "C" {
7053    #[link_name = "aws_lc_0_46_0_BIO_gets"]
7054    pub fn BIO_gets(
7055        bio: *mut BIO,
7056        buf: *mut ::std::os::raw::c_char,
7057        size: ::std::os::raw::c_int,
7058    ) -> ::std::os::raw::c_int;
7059}
7060extern "C" {
7061    #[link_name = "aws_lc_0_46_0_BIO_write"]
7062    pub fn BIO_write(
7063        bio: *mut BIO,
7064        data: *const ::std::os::raw::c_void,
7065        len: ::std::os::raw::c_int,
7066    ) -> ::std::os::raw::c_int;
7067}
7068extern "C" {
7069    #[link_name = "aws_lc_0_46_0_BIO_write_ex"]
7070    pub fn BIO_write_ex(
7071        bio: *mut BIO,
7072        data: *const ::std::os::raw::c_void,
7073        data_len: usize,
7074        written_bytes: *mut usize,
7075    ) -> ::std::os::raw::c_int;
7076}
7077extern "C" {
7078    #[link_name = "aws_lc_0_46_0_BIO_write_all"]
7079    pub fn BIO_write_all(
7080        bio: *mut BIO,
7081        data: *const ::std::os::raw::c_void,
7082        len: usize,
7083    ) -> ::std::os::raw::c_int;
7084}
7085extern "C" {
7086    #[link_name = "aws_lc_0_46_0_BIO_puts"]
7087    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7088}
7089extern "C" {
7090    #[link_name = "aws_lc_0_46_0_BIO_flush"]
7091    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
7092}
7093extern "C" {
7094    #[link_name = "aws_lc_0_46_0_BIO_ctrl"]
7095    pub fn BIO_ctrl(
7096        bio: *mut BIO,
7097        cmd: ::std::os::raw::c_int,
7098        larg: ::std::os::raw::c_long,
7099        parg: *mut ::std::os::raw::c_void,
7100    ) -> ::std::os::raw::c_long;
7101}
7102extern "C" {
7103    #[link_name = "aws_lc_0_46_0_BIO_ptr_ctrl"]
7104    pub fn BIO_ptr_ctrl(
7105        bp: *mut BIO,
7106        cmd: ::std::os::raw::c_int,
7107        larg: ::std::os::raw::c_long,
7108    ) -> *mut ::std::os::raw::c_char;
7109}
7110extern "C" {
7111    #[link_name = "aws_lc_0_46_0_BIO_int_ctrl"]
7112    pub fn BIO_int_ctrl(
7113        bp: *mut BIO,
7114        cmd: ::std::os::raw::c_int,
7115        larg: ::std::os::raw::c_long,
7116        iarg: ::std::os::raw::c_int,
7117    ) -> ::std::os::raw::c_long;
7118}
7119extern "C" {
7120    #[link_name = "aws_lc_0_46_0_BIO_reset"]
7121    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
7122}
7123extern "C" {
7124    #[link_name = "aws_lc_0_46_0_BIO_eof"]
7125    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
7126}
7127extern "C" {
7128    #[link_name = "aws_lc_0_46_0_BIO_set_flags"]
7129    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
7130}
7131extern "C" {
7132    #[link_name = "aws_lc_0_46_0_BIO_test_flags"]
7133    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7134}
7135extern "C" {
7136    #[link_name = "aws_lc_0_46_0_BIO_should_read"]
7137    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
7138}
7139extern "C" {
7140    #[link_name = "aws_lc_0_46_0_BIO_should_write"]
7141    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
7142}
7143extern "C" {
7144    #[link_name = "aws_lc_0_46_0_BIO_should_retry"]
7145    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
7146}
7147extern "C" {
7148    #[link_name = "aws_lc_0_46_0_BIO_should_io_special"]
7149    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
7150}
7151extern "C" {
7152    #[link_name = "aws_lc_0_46_0_BIO_get_retry_reason"]
7153    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
7154}
7155extern "C" {
7156    #[link_name = "aws_lc_0_46_0_BIO_set_retry_reason"]
7157    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
7158}
7159extern "C" {
7160    #[link_name = "aws_lc_0_46_0_BIO_clear_flags"]
7161    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
7162}
7163extern "C" {
7164    #[link_name = "aws_lc_0_46_0_BIO_set_retry_read"]
7165    pub fn BIO_set_retry_read(bio: *mut BIO);
7166}
7167extern "C" {
7168    #[link_name = "aws_lc_0_46_0_BIO_set_retry_write"]
7169    pub fn BIO_set_retry_write(bio: *mut BIO);
7170}
7171extern "C" {
7172    #[link_name = "aws_lc_0_46_0_BIO_get_retry_flags"]
7173    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
7174}
7175extern "C" {
7176    #[link_name = "aws_lc_0_46_0_BIO_clear_retry_flags"]
7177    pub fn BIO_clear_retry_flags(bio: *mut BIO);
7178}
7179extern "C" {
7180    #[link_name = "aws_lc_0_46_0_BIO_method_type"]
7181    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
7182}
7183extern "C" {
7184    #[link_name = "aws_lc_0_46_0_BIO_method_name"]
7185    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
7186}
7187pub type bio_info_cb = ::std::option::Option<
7188    unsafe extern "C" fn(
7189        b: *mut BIO,
7190        state: ::std::os::raw::c_int,
7191        res: ::std::os::raw::c_int,
7192    ) -> ::std::os::raw::c_long,
7193>;
7194pub type BIO_callback_fn_ex = ::std::option::Option<
7195    unsafe extern "C" fn(
7196        bio: *mut BIO,
7197        oper: ::std::os::raw::c_int,
7198        argp: *const ::std::os::raw::c_char,
7199        len: usize,
7200        argi: ::std::os::raw::c_int,
7201        argl: ::std::os::raw::c_long,
7202        bio_ret: ::std::os::raw::c_int,
7203        processed: *mut usize,
7204    ) -> ::std::os::raw::c_long,
7205>;
7206pub type BIO_callback_fn = ::std::option::Option<
7207    unsafe extern "C" fn(
7208        bio: *mut BIO,
7209        oper: ::std::os::raw::c_int,
7210        argp: *const ::std::os::raw::c_char,
7211        argi: ::std::os::raw::c_int,
7212        argl: ::std::os::raw::c_long,
7213        bio_ret: ::std::os::raw::c_long,
7214    ) -> ::std::os::raw::c_long,
7215>;
7216extern "C" {
7217    #[link_name = "aws_lc_0_46_0_BIO_callback_ctrl"]
7218    pub fn BIO_callback_ctrl(
7219        bio: *mut BIO,
7220        cmd: ::std::os::raw::c_int,
7221        fp: bio_info_cb,
7222    ) -> ::std::os::raw::c_long;
7223}
7224extern "C" {
7225    #[link_name = "aws_lc_0_46_0_BIO_pending"]
7226    pub fn BIO_pending(bio: *const BIO) -> usize;
7227}
7228extern "C" {
7229    #[link_name = "aws_lc_0_46_0_BIO_ctrl_pending"]
7230    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
7231}
7232extern "C" {
7233    #[link_name = "aws_lc_0_46_0_BIO_wpending"]
7234    pub fn BIO_wpending(bio: *const BIO) -> usize;
7235}
7236extern "C" {
7237    #[link_name = "aws_lc_0_46_0_BIO_set_close"]
7238    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
7239        -> ::std::os::raw::c_int;
7240}
7241extern "C" {
7242    #[link_name = "aws_lc_0_46_0_BIO_get_close"]
7243    pub fn BIO_get_close(bio: *mut BIO) -> ::std::os::raw::c_int;
7244}
7245extern "C" {
7246    #[link_name = "aws_lc_0_46_0_BIO_number_read"]
7247    pub fn BIO_number_read(bio: *const BIO) -> u64;
7248}
7249extern "C" {
7250    #[link_name = "aws_lc_0_46_0_BIO_number_written"]
7251    pub fn BIO_number_written(bio: *const BIO) -> u64;
7252}
7253extern "C" {
7254    #[link_name = "aws_lc_0_46_0_BIO_set_callback_ex"]
7255    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
7256}
7257extern "C" {
7258    #[link_name = "aws_lc_0_46_0_BIO_set_callback"]
7259    pub fn BIO_set_callback(bio: *mut BIO, callback: BIO_callback_fn);
7260}
7261extern "C" {
7262    #[link_name = "aws_lc_0_46_0_BIO_set_callback_arg"]
7263    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
7264}
7265extern "C" {
7266    #[link_name = "aws_lc_0_46_0_BIO_get_callback_arg"]
7267    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
7268}
7269extern "C" {
7270    #[link_name = "aws_lc_0_46_0_BIO_push"]
7271    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
7272}
7273extern "C" {
7274    #[link_name = "aws_lc_0_46_0_BIO_pop"]
7275    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
7276}
7277extern "C" {
7278    #[link_name = "aws_lc_0_46_0_BIO_next"]
7279    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
7280}
7281extern "C" {
7282    #[link_name = "aws_lc_0_46_0_BIO_free_all"]
7283    pub fn BIO_free_all(bio: *mut BIO);
7284}
7285extern "C" {
7286    #[link_name = "aws_lc_0_46_0_BIO_find_type"]
7287    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
7288}
7289extern "C" {
7290    #[link_name = "aws_lc_0_46_0_BIO_copy_next_retry"]
7291    pub fn BIO_copy_next_retry(bio: *mut BIO);
7292}
7293extern "C" {
7294    #[link_name = "aws_lc_0_46_0_BIO_printf"]
7295    pub fn BIO_printf(
7296        bio: *mut BIO,
7297        format: *const ::std::os::raw::c_char,
7298        ...
7299    ) -> ::std::os::raw::c_int;
7300}
7301extern "C" {
7302    #[link_name = "aws_lc_0_46_0_BIO_indent"]
7303    pub fn BIO_indent(
7304        bio: *mut BIO,
7305        indent: ::std::os::raw::c_uint,
7306        max_indent: ::std::os::raw::c_uint,
7307    ) -> ::std::os::raw::c_int;
7308}
7309extern "C" {
7310    #[link_name = "aws_lc_0_46_0_BIO_hexdump"]
7311    pub fn BIO_hexdump(
7312        bio: *mut BIO,
7313        data: *const u8,
7314        len: usize,
7315        indent: ::std::os::raw::c_uint,
7316    ) -> ::std::os::raw::c_int;
7317}
7318extern "C" {
7319    #[link_name = "aws_lc_0_46_0_BIO_dump"]
7320    pub fn BIO_dump(
7321        bio: *mut BIO,
7322        data: *const ::std::os::raw::c_void,
7323        len: ::std::os::raw::c_int,
7324    ) -> ::std::os::raw::c_int;
7325}
7326extern "C" {
7327    #[link_name = "aws_lc_0_46_0_ERR_print_errors"]
7328    pub fn ERR_print_errors(bio: *mut BIO);
7329}
7330extern "C" {
7331    #[link_name = "aws_lc_0_46_0_BIO_read_asn1"]
7332    pub fn BIO_read_asn1(
7333        bio: *mut BIO,
7334        out: *mut *mut u8,
7335        out_len: *mut usize,
7336        max_len: usize,
7337    ) -> ::std::os::raw::c_int;
7338}
7339extern "C" {
7340    #[link_name = "aws_lc_0_46_0_BIO_s_mem"]
7341    pub fn BIO_s_mem() -> *const BIO_METHOD;
7342}
7343extern "C" {
7344    #[link_name = "aws_lc_0_46_0_BIO_new_mem_buf"]
7345    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
7346}
7347extern "C" {
7348    #[link_name = "aws_lc_0_46_0_BIO_mem_contents"]
7349    pub fn BIO_mem_contents(
7350        bio: *const BIO,
7351        out_contents: *mut *const u8,
7352        out_len: *mut usize,
7353    ) -> ::std::os::raw::c_int;
7354}
7355extern "C" {
7356    #[link_name = "aws_lc_0_46_0_BIO_get_mem_ptr"]
7357    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
7358}
7359extern "C" {
7360    #[link_name = "aws_lc_0_46_0_BIO_set_mem_buf"]
7361    pub fn BIO_set_mem_buf(
7362        bio: *mut BIO,
7363        b: *mut BUF_MEM,
7364        take_ownership: ::std::os::raw::c_int,
7365    ) -> ::std::os::raw::c_int;
7366}
7367extern "C" {
7368    #[link_name = "aws_lc_0_46_0_BIO_set_mem_eof_return"]
7369    pub fn BIO_set_mem_eof_return(
7370        bio: *mut BIO,
7371        eof_value: ::std::os::raw::c_int,
7372    ) -> ::std::os::raw::c_int;
7373}
7374extern "C" {
7375    #[link_name = "aws_lc_0_46_0_BIO_s_fd"]
7376    pub fn BIO_s_fd() -> *const BIO_METHOD;
7377}
7378extern "C" {
7379    #[link_name = "aws_lc_0_46_0_BIO_new_fd"]
7380    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7381}
7382extern "C" {
7383    #[link_name = "aws_lc_0_46_0_BIO_set_fd"]
7384    pub fn BIO_set_fd(
7385        bio: *mut BIO,
7386        fd: ::std::os::raw::c_int,
7387        close_flag: ::std::os::raw::c_int,
7388    ) -> ::std::os::raw::c_int;
7389}
7390extern "C" {
7391    #[link_name = "aws_lc_0_46_0_BIO_get_fd"]
7392    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7393}
7394extern "C" {
7395    #[link_name = "aws_lc_0_46_0_BIO_s_file"]
7396    pub fn BIO_s_file() -> *const BIO_METHOD;
7397}
7398extern "C" {
7399    #[link_name = "aws_lc_0_46_0_BIO_new_file"]
7400    pub fn BIO_new_file(
7401        filename: *const ::std::os::raw::c_char,
7402        mode: *const ::std::os::raw::c_char,
7403    ) -> *mut BIO;
7404}
7405extern "C" {
7406    #[link_name = "aws_lc_0_46_0_BIO_new_fp"]
7407    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7408}
7409extern "C" {
7410    #[link_name = "aws_lc_0_46_0_BIO_get_fp"]
7411    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
7412}
7413extern "C" {
7414    #[link_name = "aws_lc_0_46_0_BIO_set_fp"]
7415    pub fn BIO_set_fp(
7416        bio: *mut BIO,
7417        file: *mut FILE,
7418        close_flag: ::std::os::raw::c_int,
7419    ) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    #[link_name = "aws_lc_0_46_0_BIO_read_filename"]
7423    pub fn BIO_read_filename(
7424        bio: *mut BIO,
7425        filename: *const ::std::os::raw::c_char,
7426    ) -> ::std::os::raw::c_int;
7427}
7428extern "C" {
7429    #[link_name = "aws_lc_0_46_0_BIO_write_filename"]
7430    pub fn BIO_write_filename(
7431        bio: *mut BIO,
7432        filename: *const ::std::os::raw::c_char,
7433    ) -> ::std::os::raw::c_int;
7434}
7435extern "C" {
7436    #[link_name = "aws_lc_0_46_0_BIO_append_filename"]
7437    pub fn BIO_append_filename(
7438        bio: *mut BIO,
7439        filename: *const ::std::os::raw::c_char,
7440    ) -> ::std::os::raw::c_int;
7441}
7442extern "C" {
7443    #[link_name = "aws_lc_0_46_0_BIO_rw_filename"]
7444    pub fn BIO_rw_filename(
7445        bio: *mut BIO,
7446        filename: *const ::std::os::raw::c_char,
7447    ) -> ::std::os::raw::c_int;
7448}
7449extern "C" {
7450    #[link_name = "aws_lc_0_46_0_BIO_tell"]
7451    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7452}
7453extern "C" {
7454    #[link_name = "aws_lc_0_46_0_BIO_seek"]
7455    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7456}
7457extern "C" {
7458    #[link_name = "aws_lc_0_46_0_BIO_s_socket"]
7459    pub fn BIO_s_socket() -> *const BIO_METHOD;
7460}
7461extern "C" {
7462    #[link_name = "aws_lc_0_46_0_BIO_new_socket"]
7463    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7464        -> *mut BIO;
7465}
7466extern "C" {
7467    #[link_name = "aws_lc_0_46_0_BIO_s_connect"]
7468    pub fn BIO_s_connect() -> *const BIO_METHOD;
7469}
7470extern "C" {
7471    #[link_name = "aws_lc_0_46_0_BIO_new_connect"]
7472    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7473}
7474extern "C" {
7475    #[link_name = "aws_lc_0_46_0_BIO_set_conn_hostname"]
7476    pub fn BIO_set_conn_hostname(
7477        bio: *mut BIO,
7478        host_and_optional_port: *const ::std::os::raw::c_char,
7479    ) -> ::std::os::raw::c_int;
7480}
7481extern "C" {
7482    #[link_name = "aws_lc_0_46_0_BIO_set_conn_port"]
7483    pub fn BIO_set_conn_port(
7484        bio: *mut BIO,
7485        port_str: *const ::std::os::raw::c_char,
7486    ) -> ::std::os::raw::c_int;
7487}
7488extern "C" {
7489    #[link_name = "aws_lc_0_46_0_BIO_set_conn_int_port"]
7490    pub fn BIO_set_conn_int_port(
7491        bio: *mut BIO,
7492        port: *const ::std::os::raw::c_int,
7493    ) -> ::std::os::raw::c_int;
7494}
7495extern "C" {
7496    #[link_name = "aws_lc_0_46_0_BIO_set_nbio"]
7497    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7498}
7499extern "C" {
7500    #[link_name = "aws_lc_0_46_0_BIO_do_connect"]
7501    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7502}
7503extern "C" {
7504    #[link_name = "aws_lc_0_46_0_BIO_f_md"]
7505    pub fn BIO_f_md() -> *const BIO_METHOD;
7506}
7507extern "C" {
7508    #[link_name = "aws_lc_0_46_0_BIO_get_md_ctx"]
7509    pub fn BIO_get_md_ctx(b: *mut BIO, ctx: *mut *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
7510}
7511extern "C" {
7512    #[link_name = "aws_lc_0_46_0_BIO_set_md"]
7513    pub fn BIO_set_md(b: *mut BIO, md: *const EVP_MD) -> ::std::os::raw::c_int;
7514}
7515extern "C" {
7516    #[link_name = "aws_lc_0_46_0_BIO_get_md"]
7517    pub fn BIO_get_md(b: *mut BIO, md: *mut *mut EVP_MD) -> ::std::os::raw::c_int;
7518}
7519#[repr(C)]
7520#[derive(Debug)]
7521pub struct bio_addr_st {
7522    _unused: [u8; 0],
7523}
7524pub type BIO_ADDR = bio_addr_st;
7525extern "C" {
7526    #[link_name = "aws_lc_0_46_0_BIO_s_datagram"]
7527    pub fn BIO_s_datagram() -> *const BIO_METHOD;
7528}
7529extern "C" {
7530    #[link_name = "aws_lc_0_46_0_BIO_new_dgram"]
7531    pub fn BIO_new_dgram(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7532}
7533extern "C" {
7534    #[link_name = "aws_lc_0_46_0_BIO_ctrl_dgram_connect"]
7535    pub fn BIO_ctrl_dgram_connect(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7536}
7537extern "C" {
7538    #[link_name = "aws_lc_0_46_0_BIO_ctrl_set_connected"]
7539    pub fn BIO_ctrl_set_connected(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7540}
7541extern "C" {
7542    #[link_name = "aws_lc_0_46_0_BIO_dgram_recv_timedout"]
7543    pub fn BIO_dgram_recv_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7544}
7545extern "C" {
7546    #[link_name = "aws_lc_0_46_0_BIO_dgram_send_timedout"]
7547    pub fn BIO_dgram_send_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7548}
7549extern "C" {
7550    #[link_name = "aws_lc_0_46_0_BIO_dgram_get_peer"]
7551    pub fn BIO_dgram_get_peer(bp: *mut BIO, peer: *mut BIO_ADDR) -> ::std::os::raw::c_int;
7552}
7553extern "C" {
7554    #[link_name = "aws_lc_0_46_0_BIO_dgram_set_peer"]
7555    pub fn BIO_dgram_set_peer(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7556}
7557extern "C" {
7558    #[link_name = "aws_lc_0_46_0_BIO_ADDR_new"]
7559    pub fn BIO_ADDR_new() -> *mut BIO_ADDR;
7560}
7561extern "C" {
7562    #[link_name = "aws_lc_0_46_0_BIO_ADDR_copy"]
7563    pub fn BIO_ADDR_copy(dst: *mut BIO_ADDR, src: *const BIO_ADDR) -> ::std::os::raw::c_int;
7564}
7565extern "C" {
7566    #[link_name = "aws_lc_0_46_0_BIO_ADDR_dup"]
7567    pub fn BIO_ADDR_dup(ap: *const BIO_ADDR) -> *mut BIO_ADDR;
7568}
7569extern "C" {
7570    #[link_name = "aws_lc_0_46_0_BIO_ADDR_free"]
7571    pub fn BIO_ADDR_free(ap: *mut BIO_ADDR);
7572}
7573extern "C" {
7574    #[link_name = "aws_lc_0_46_0_BIO_ADDR_clear"]
7575    pub fn BIO_ADDR_clear(ap: *mut BIO_ADDR);
7576}
7577extern "C" {
7578    #[link_name = "aws_lc_0_46_0_BIO_ADDR_rawmake"]
7579    pub fn BIO_ADDR_rawmake(
7580        ap: *mut BIO_ADDR,
7581        family: ::std::os::raw::c_int,
7582        where_: *const ::std::os::raw::c_void,
7583        wherelen: usize,
7584        port: ::std::os::raw::c_ushort,
7585    ) -> ::std::os::raw::c_int;
7586}
7587extern "C" {
7588    #[link_name = "aws_lc_0_46_0_BIO_ADDR_family"]
7589    pub fn BIO_ADDR_family(ap: *const BIO_ADDR) -> ::std::os::raw::c_int;
7590}
7591extern "C" {
7592    #[link_name = "aws_lc_0_46_0_BIO_ADDR_rawaddress"]
7593    pub fn BIO_ADDR_rawaddress(
7594        ap: *const BIO_ADDR,
7595        p: *mut ::std::os::raw::c_void,
7596        l: *mut usize,
7597    ) -> ::std::os::raw::c_int;
7598}
7599extern "C" {
7600    #[link_name = "aws_lc_0_46_0_BIO_ADDR_rawport"]
7601    pub fn BIO_ADDR_rawport(ap: *const BIO_ADDR) -> ::std::os::raw::c_ushort;
7602}
7603extern "C" {
7604    #[link_name = "aws_lc_0_46_0_BIO_new_bio_pair"]
7605    pub fn BIO_new_bio_pair(
7606        out1: *mut *mut BIO,
7607        writebuf1: usize,
7608        out2: *mut *mut BIO,
7609        writebuf2: usize,
7610    ) -> ::std::os::raw::c_int;
7611}
7612extern "C" {
7613    #[link_name = "aws_lc_0_46_0_BIO_destroy_bio_pair"]
7614    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7615}
7616extern "C" {
7617    #[link_name = "aws_lc_0_46_0_BIO_ctrl_get_read_request"]
7618    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7619}
7620extern "C" {
7621    #[link_name = "aws_lc_0_46_0_BIO_ctrl_get_write_guarantee"]
7622    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7623}
7624extern "C" {
7625    #[link_name = "aws_lc_0_46_0_BIO_shutdown_wr"]
7626    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7627}
7628extern "C" {
7629    #[link_name = "aws_lc_0_46_0_BIO_get_new_index"]
7630    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7631}
7632extern "C" {
7633    #[link_name = "aws_lc_0_46_0_BIO_meth_new"]
7634    pub fn BIO_meth_new(
7635        type_: ::std::os::raw::c_int,
7636        name: *const ::std::os::raw::c_char,
7637    ) -> *mut BIO_METHOD;
7638}
7639extern "C" {
7640    #[link_name = "aws_lc_0_46_0_BIO_meth_free"]
7641    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7642}
7643extern "C" {
7644    #[link_name = "aws_lc_0_46_0_BIO_meth_set_create"]
7645    pub fn BIO_meth_set_create(
7646        method: *mut BIO_METHOD,
7647        create: ::std::option::Option<
7648            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7649        >,
7650    ) -> ::std::os::raw::c_int;
7651}
7652extern "C" {
7653    #[link_name = "aws_lc_0_46_0_BIO_meth_get_create"]
7654    pub fn BIO_meth_get_create(
7655        method: *const BIO_METHOD,
7656    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7657}
7658extern "C" {
7659    #[link_name = "aws_lc_0_46_0_BIO_meth_set_destroy"]
7660    pub fn BIO_meth_set_destroy(
7661        method: *mut BIO_METHOD,
7662        destroy: ::std::option::Option<
7663            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7664        >,
7665    ) -> ::std::os::raw::c_int;
7666}
7667extern "C" {
7668    #[link_name = "aws_lc_0_46_0_BIO_meth_get_destroy"]
7669    pub fn BIO_meth_get_destroy(
7670        method: *const BIO_METHOD,
7671    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7672}
7673extern "C" {
7674    #[link_name = "aws_lc_0_46_0_BIO_meth_set_write"]
7675    pub fn BIO_meth_set_write(
7676        method: *mut BIO_METHOD,
7677        write: ::std::option::Option<
7678            unsafe extern "C" fn(
7679                arg1: *mut BIO,
7680                arg2: *const ::std::os::raw::c_char,
7681                arg3: ::std::os::raw::c_int,
7682            ) -> ::std::os::raw::c_int,
7683        >,
7684    ) -> ::std::os::raw::c_int;
7685}
7686extern "C" {
7687    #[link_name = "aws_lc_0_46_0_BIO_meth_set_read"]
7688    pub fn BIO_meth_set_read(
7689        method: *mut BIO_METHOD,
7690        read: ::std::option::Option<
7691            unsafe extern "C" fn(
7692                arg1: *mut BIO,
7693                arg2: *mut ::std::os::raw::c_char,
7694                arg3: ::std::os::raw::c_int,
7695            ) -> ::std::os::raw::c_int,
7696        >,
7697    ) -> ::std::os::raw::c_int;
7698}
7699extern "C" {
7700    #[link_name = "aws_lc_0_46_0_BIO_meth_set_gets"]
7701    pub fn BIO_meth_set_gets(
7702        method: *mut BIO_METHOD,
7703        gets: ::std::option::Option<
7704            unsafe extern "C" fn(
7705                arg1: *mut BIO,
7706                arg2: *mut ::std::os::raw::c_char,
7707                arg3: ::std::os::raw::c_int,
7708            ) -> ::std::os::raw::c_int,
7709        >,
7710    ) -> ::std::os::raw::c_int;
7711}
7712extern "C" {
7713    #[link_name = "aws_lc_0_46_0_BIO_meth_get_gets"]
7714    pub fn BIO_meth_get_gets(
7715        method: *const BIO_METHOD,
7716    ) -> ::std::option::Option<
7717        unsafe extern "C" fn(
7718            method: *mut BIO,
7719            arg1: *mut ::std::os::raw::c_char,
7720            arg2: ::std::os::raw::c_int,
7721        ) -> ::std::os::raw::c_int,
7722    >;
7723}
7724extern "C" {
7725    #[link_name = "aws_lc_0_46_0_BIO_meth_set_ctrl"]
7726    pub fn BIO_meth_set_ctrl(
7727        method: *mut BIO_METHOD,
7728        ctrl: ::std::option::Option<
7729            unsafe extern "C" fn(
7730                arg1: *mut BIO,
7731                arg2: ::std::os::raw::c_int,
7732                arg3: ::std::os::raw::c_long,
7733                arg4: *mut ::std::os::raw::c_void,
7734            ) -> ::std::os::raw::c_long,
7735        >,
7736    ) -> ::std::os::raw::c_int;
7737}
7738extern "C" {
7739    #[link_name = "aws_lc_0_46_0_BIO_meth_get_ctrl"]
7740    pub fn BIO_meth_get_ctrl(
7741        method: *const BIO_METHOD,
7742    ) -> ::std::option::Option<
7743        unsafe extern "C" fn(
7744            method: *mut BIO,
7745            arg1: ::std::os::raw::c_int,
7746            arg2: ::std::os::raw::c_long,
7747            arg3: *mut ::std::os::raw::c_void,
7748        ) -> ::std::os::raw::c_long,
7749    >;
7750}
7751extern "C" {
7752    #[link_name = "aws_lc_0_46_0_BIO_meth_set_callback_ctrl"]
7753    pub fn BIO_meth_set_callback_ctrl(
7754        method: *mut BIO_METHOD,
7755        callback_ctrl: ::std::option::Option<
7756            unsafe extern "C" fn(
7757                arg1: *mut BIO,
7758                arg2: ::std::os::raw::c_int,
7759                arg3: bio_info_cb,
7760            ) -> ::std::os::raw::c_long,
7761        >,
7762    ) -> ::std::os::raw::c_int;
7763}
7764extern "C" {
7765    #[link_name = "aws_lc_0_46_0_BIO_meth_get_callback_ctrl"]
7766    pub fn BIO_meth_get_callback_ctrl(
7767        method: *const BIO_METHOD,
7768    ) -> ::std::option::Option<
7769        unsafe extern "C" fn(
7770            method: *mut BIO,
7771            arg1: ::std::os::raw::c_int,
7772            arg2: bio_info_cb,
7773        ) -> ::std::os::raw::c_long,
7774    >;
7775}
7776extern "C" {
7777    #[link_name = "aws_lc_0_46_0_BIO_set_data"]
7778    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7779}
7780extern "C" {
7781    #[link_name = "aws_lc_0_46_0_BIO_get_data"]
7782    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7783}
7784extern "C" {
7785    #[link_name = "aws_lc_0_46_0_BIO_set_init"]
7786    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7787}
7788extern "C" {
7789    #[link_name = "aws_lc_0_46_0_BIO_get_init"]
7790    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7791}
7792extern "C" {
7793    #[link_name = "aws_lc_0_46_0_BIO_get_ex_new_index"]
7794    pub fn BIO_get_ex_new_index(
7795        argl: ::std::os::raw::c_long,
7796        argp: *mut ::std::os::raw::c_void,
7797        unused: *mut CRYPTO_EX_unused,
7798        dup_unused: CRYPTO_EX_dup,
7799        free_func: CRYPTO_EX_free,
7800    ) -> ::std::os::raw::c_int;
7801}
7802extern "C" {
7803    #[link_name = "aws_lc_0_46_0_BIO_set_ex_data"]
7804    pub fn BIO_set_ex_data(
7805        bio: *mut BIO,
7806        idx: ::std::os::raw::c_int,
7807        arg: *mut ::std::os::raw::c_void,
7808    ) -> ::std::os::raw::c_int;
7809}
7810extern "C" {
7811    #[link_name = "aws_lc_0_46_0_BIO_get_ex_data"]
7812    pub fn BIO_get_ex_data(
7813        bio: *const BIO,
7814        idx: ::std::os::raw::c_int,
7815    ) -> *mut ::std::os::raw::c_void;
7816}
7817extern "C" {
7818    #[link_name = "aws_lc_0_46_0_BIO_f_base64"]
7819    pub fn BIO_f_base64() -> *const BIO_METHOD;
7820}
7821extern "C" {
7822    #[link_name = "aws_lc_0_46_0_BIO_set_retry_special"]
7823    pub fn BIO_set_retry_special(bio: *mut BIO);
7824}
7825extern "C" {
7826    #[link_name = "aws_lc_0_46_0_BIO_set_shutdown"]
7827    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7828}
7829extern "C" {
7830    #[link_name = "aws_lc_0_46_0_BIO_get_shutdown"]
7831    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7832}
7833extern "C" {
7834    #[link_name = "aws_lc_0_46_0_BIO_meth_set_puts"]
7835    pub fn BIO_meth_set_puts(
7836        method: *mut BIO_METHOD,
7837        puts: ::std::option::Option<
7838            unsafe extern "C" fn(
7839                arg1: *mut BIO,
7840                arg2: *const ::std::os::raw::c_char,
7841            ) -> ::std::os::raw::c_int,
7842        >,
7843    ) -> ::std::os::raw::c_int;
7844}
7845extern "C" {
7846    #[link_name = "aws_lc_0_46_0_BIO_meth_get_puts"]
7847    pub fn BIO_meth_get_puts(
7848        method: *const BIO_METHOD,
7849    ) -> ::std::option::Option<
7850        unsafe extern "C" fn(
7851            method: *mut BIO,
7852            arg1: *const ::std::os::raw::c_char,
7853        ) -> ::std::os::raw::c_int,
7854    >;
7855}
7856extern "C" {
7857    #[link_name = "aws_lc_0_46_0_BIO_s_secmem"]
7858    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7859}
7860extern "C" {
7861    #[link_name = "aws_lc_0_46_0_BIO_set_write_buffer_size"]
7862    pub fn BIO_set_write_buffer_size(
7863        bio: *mut BIO,
7864        buffer_size: ::std::os::raw::c_int,
7865    ) -> ::std::os::raw::c_int;
7866}
7867#[repr(C)]
7868#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7869pub struct bio_method_st {
7870    pub type_: ::std::os::raw::c_int,
7871    pub name: *const ::std::os::raw::c_char,
7872    pub bwrite: ::std::option::Option<
7873        unsafe extern "C" fn(
7874            arg1: *mut BIO,
7875            arg2: *const ::std::os::raw::c_char,
7876            arg3: ::std::os::raw::c_int,
7877        ) -> ::std::os::raw::c_int,
7878    >,
7879    pub bread: ::std::option::Option<
7880        unsafe extern "C" fn(
7881            arg1: *mut BIO,
7882            arg2: *mut ::std::os::raw::c_char,
7883            arg3: ::std::os::raw::c_int,
7884        ) -> ::std::os::raw::c_int,
7885    >,
7886    pub bputs: ::std::option::Option<
7887        unsafe extern "C" fn(
7888            arg1: *mut BIO,
7889            arg2: *const ::std::os::raw::c_char,
7890        ) -> ::std::os::raw::c_int,
7891    >,
7892    pub bgets: ::std::option::Option<
7893        unsafe extern "C" fn(
7894            arg1: *mut BIO,
7895            arg2: *mut ::std::os::raw::c_char,
7896            arg3: ::std::os::raw::c_int,
7897        ) -> ::std::os::raw::c_int,
7898    >,
7899    pub ctrl: ::std::option::Option<
7900        unsafe extern "C" fn(
7901            arg1: *mut BIO,
7902            arg2: ::std::os::raw::c_int,
7903            arg3: ::std::os::raw::c_long,
7904            arg4: *mut ::std::os::raw::c_void,
7905        ) -> ::std::os::raw::c_long,
7906    >,
7907    pub create:
7908        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7909    pub destroy:
7910        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7911    pub callback_ctrl: ::std::option::Option<
7912        unsafe extern "C" fn(
7913            arg1: *mut BIO,
7914            arg2: ::std::os::raw::c_int,
7915            arg3: bio_info_cb,
7916        ) -> ::std::os::raw::c_long,
7917    >,
7918}
7919#[test]
7920fn bindgen_test_layout_bio_method_st() {
7921    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7922    let ptr = UNINIT.as_ptr();
7923    assert_eq!(
7924        ::std::mem::size_of::<bio_method_st>(),
7925        80usize,
7926        "Size of bio_method_st"
7927    );
7928    assert_eq!(
7929        ::std::mem::align_of::<bio_method_st>(),
7930        8usize,
7931        "Alignment of bio_method_st"
7932    );
7933    assert_eq!(
7934        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7935        0usize,
7936        "Offset of field: bio_method_st::type_"
7937    );
7938    assert_eq!(
7939        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7940        8usize,
7941        "Offset of field: bio_method_st::name"
7942    );
7943    assert_eq!(
7944        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7945        16usize,
7946        "Offset of field: bio_method_st::bwrite"
7947    );
7948    assert_eq!(
7949        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7950        24usize,
7951        "Offset of field: bio_method_st::bread"
7952    );
7953    assert_eq!(
7954        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7955        32usize,
7956        "Offset of field: bio_method_st::bputs"
7957    );
7958    assert_eq!(
7959        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7960        40usize,
7961        "Offset of field: bio_method_st::bgets"
7962    );
7963    assert_eq!(
7964        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7965        48usize,
7966        "Offset of field: bio_method_st::ctrl"
7967    );
7968    assert_eq!(
7969        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7970        56usize,
7971        "Offset of field: bio_method_st::create"
7972    );
7973    assert_eq!(
7974        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7975        64usize,
7976        "Offset of field: bio_method_st::destroy"
7977    );
7978    assert_eq!(
7979        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7980        72usize,
7981        "Offset of field: bio_method_st::callback_ctrl"
7982    );
7983}
7984impl Default for bio_method_st {
7985    fn default() -> Self {
7986        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7987        unsafe {
7988            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7989            s.assume_init()
7990        }
7991    }
7992}
7993#[repr(C)]
7994#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7995pub struct bio_st {
7996    pub method: *const BIO_METHOD,
7997    pub ex_data: CRYPTO_EX_DATA,
7998    pub callback_ex: BIO_callback_fn_ex,
7999    pub callback: BIO_callback_fn,
8000    pub cb_arg: *mut ::std::os::raw::c_char,
8001    pub init: ::std::os::raw::c_int,
8002    pub shutdown: ::std::os::raw::c_int,
8003    pub flags: ::std::os::raw::c_int,
8004    pub retry_reason: ::std::os::raw::c_int,
8005    pub num: ::std::os::raw::c_int,
8006    pub references: CRYPTO_refcount_t,
8007    pub ptr: *mut ::std::os::raw::c_void,
8008    pub next_bio: *mut BIO,
8009    pub num_read: u64,
8010    pub num_write: u64,
8011}
8012#[test]
8013fn bindgen_test_layout_bio_st() {
8014    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
8015    let ptr = UNINIT.as_ptr();
8016    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
8017    assert_eq!(
8018        ::std::mem::align_of::<bio_st>(),
8019        8usize,
8020        "Alignment of bio_st"
8021    );
8022    assert_eq!(
8023        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
8024        0usize,
8025        "Offset of field: bio_st::method"
8026    );
8027    assert_eq!(
8028        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
8029        8usize,
8030        "Offset of field: bio_st::ex_data"
8031    );
8032    assert_eq!(
8033        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
8034        16usize,
8035        "Offset of field: bio_st::callback_ex"
8036    );
8037    assert_eq!(
8038        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8039        24usize,
8040        "Offset of field: bio_st::callback"
8041    );
8042    assert_eq!(
8043        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
8044        32usize,
8045        "Offset of field: bio_st::cb_arg"
8046    );
8047    assert_eq!(
8048        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
8049        40usize,
8050        "Offset of field: bio_st::init"
8051    );
8052    assert_eq!(
8053        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
8054        44usize,
8055        "Offset of field: bio_st::shutdown"
8056    );
8057    assert_eq!(
8058        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8059        48usize,
8060        "Offset of field: bio_st::flags"
8061    );
8062    assert_eq!(
8063        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
8064        52usize,
8065        "Offset of field: bio_st::retry_reason"
8066    );
8067    assert_eq!(
8068        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8069        56usize,
8070        "Offset of field: bio_st::num"
8071    );
8072    assert_eq!(
8073        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
8074        60usize,
8075        "Offset of field: bio_st::references"
8076    );
8077    assert_eq!(
8078        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
8079        64usize,
8080        "Offset of field: bio_st::ptr"
8081    );
8082    assert_eq!(
8083        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
8084        72usize,
8085        "Offset of field: bio_st::next_bio"
8086    );
8087    assert_eq!(
8088        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
8089        80usize,
8090        "Offset of field: bio_st::num_read"
8091    );
8092    assert_eq!(
8093        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
8094        88usize,
8095        "Offset of field: bio_st::num_write"
8096    );
8097}
8098impl Default for bio_st {
8099    fn default() -> Self {
8100        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8101        unsafe {
8102            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8103            s.assume_init()
8104        }
8105    }
8106}
8107pub type BN_ULONG = u64;
8108extern "C" {
8109    #[link_name = "aws_lc_0_46_0_BN_new"]
8110    pub fn BN_new() -> *mut BIGNUM;
8111}
8112extern "C" {
8113    #[link_name = "aws_lc_0_46_0_BN_init"]
8114    pub fn BN_init(bn: *mut BIGNUM);
8115}
8116extern "C" {
8117    #[link_name = "aws_lc_0_46_0_BN_free"]
8118    pub fn BN_free(bn: *mut BIGNUM);
8119}
8120extern "C" {
8121    #[link_name = "aws_lc_0_46_0_BN_clear_free"]
8122    pub fn BN_clear_free(bn: *mut BIGNUM);
8123}
8124extern "C" {
8125    #[link_name = "aws_lc_0_46_0_BN_dup"]
8126    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
8127}
8128extern "C" {
8129    #[link_name = "aws_lc_0_46_0_BN_copy"]
8130    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
8131}
8132extern "C" {
8133    #[link_name = "aws_lc_0_46_0_BN_clear"]
8134    pub fn BN_clear(bn: *mut BIGNUM);
8135}
8136extern "C" {
8137    #[link_name = "aws_lc_0_46_0_BN_value_one"]
8138    pub fn BN_value_one() -> *const BIGNUM;
8139}
8140extern "C" {
8141    #[link_name = "aws_lc_0_46_0_BN_num_bits"]
8142    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8143}
8144extern "C" {
8145    #[link_name = "aws_lc_0_46_0_BN_num_bytes"]
8146    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8147}
8148extern "C" {
8149    #[link_name = "aws_lc_0_46_0_BN_get_minimal_width"]
8150    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8151}
8152extern "C" {
8153    #[link_name = "aws_lc_0_46_0_BN_zero"]
8154    pub fn BN_zero(bn: *mut BIGNUM);
8155}
8156extern "C" {
8157    #[link_name = "aws_lc_0_46_0_BN_one"]
8158    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
8159}
8160extern "C" {
8161    #[link_name = "aws_lc_0_46_0_BN_set_word"]
8162    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
8163}
8164extern "C" {
8165    #[link_name = "aws_lc_0_46_0_BN_set_u64"]
8166    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
8167}
8168extern "C" {
8169    #[link_name = "aws_lc_0_46_0_BN_set_negative"]
8170    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
8171}
8172extern "C" {
8173    #[link_name = "aws_lc_0_46_0_BN_is_negative"]
8174    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8175}
8176extern "C" {
8177    #[link_name = "aws_lc_0_46_0_BN_bin2bn"]
8178    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8179}
8180extern "C" {
8181    #[link_name = "aws_lc_0_46_0_BN_bn2bin"]
8182    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
8183}
8184extern "C" {
8185    #[link_name = "aws_lc_0_46_0_BN_le2bn"]
8186    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8187}
8188extern "C" {
8189    #[link_name = "aws_lc_0_46_0_BN_bn2le_padded"]
8190    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8191}
8192extern "C" {
8193    #[link_name = "aws_lc_0_46_0_BN_bn2bin_padded"]
8194    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8195}
8196extern "C" {
8197    #[link_name = "aws_lc_0_46_0_BN_bn2cbb_padded"]
8198    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
8199        -> ::std::os::raw::c_int;
8200}
8201extern "C" {
8202    #[link_name = "aws_lc_0_46_0_BN_bn2hex"]
8203    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8204}
8205extern "C" {
8206    #[link_name = "aws_lc_0_46_0_BN_hex2bn"]
8207    pub fn BN_hex2bn(
8208        outp: *mut *mut BIGNUM,
8209        in_: *const ::std::os::raw::c_char,
8210    ) -> ::std::os::raw::c_int;
8211}
8212extern "C" {
8213    #[link_name = "aws_lc_0_46_0_BN_bn2dec"]
8214    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8215}
8216extern "C" {
8217    #[link_name = "aws_lc_0_46_0_BN_dec2bn"]
8218    pub fn BN_dec2bn(
8219        outp: *mut *mut BIGNUM,
8220        in_: *const ::std::os::raw::c_char,
8221    ) -> ::std::os::raw::c_int;
8222}
8223extern "C" {
8224    #[link_name = "aws_lc_0_46_0_BN_asc2bn"]
8225    pub fn BN_asc2bn(
8226        outp: *mut *mut BIGNUM,
8227        in_: *const ::std::os::raw::c_char,
8228    ) -> ::std::os::raw::c_int;
8229}
8230extern "C" {
8231    #[link_name = "aws_lc_0_46_0_BN_print"]
8232    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
8233}
8234extern "C" {
8235    #[link_name = "aws_lc_0_46_0_BN_print_fp"]
8236    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
8237}
8238extern "C" {
8239    #[link_name = "aws_lc_0_46_0_BN_get_word"]
8240    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
8241}
8242extern "C" {
8243    #[link_name = "aws_lc_0_46_0_BN_get_u64"]
8244    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
8245}
8246extern "C" {
8247    #[link_name = "aws_lc_0_46_0_BN_get_flags"]
8248    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8249}
8250extern "C" {
8251    #[link_name = "aws_lc_0_46_0_BN_parse_asn1_unsigned"]
8252    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
8253}
8254extern "C" {
8255    #[link_name = "aws_lc_0_46_0_BN_marshal_asn1"]
8256    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
8257}
8258extern "C" {
8259    #[link_name = "aws_lc_0_46_0_BN_CTX_new"]
8260    pub fn BN_CTX_new() -> *mut BN_CTX;
8261}
8262extern "C" {
8263    #[link_name = "aws_lc_0_46_0_BN_CTX_free"]
8264    pub fn BN_CTX_free(ctx: *mut BN_CTX);
8265}
8266extern "C" {
8267    #[link_name = "aws_lc_0_46_0_BN_CTX_start"]
8268    pub fn BN_CTX_start(ctx: *mut BN_CTX);
8269}
8270extern "C" {
8271    #[link_name = "aws_lc_0_46_0_BN_CTX_get"]
8272    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
8273}
8274extern "C" {
8275    #[link_name = "aws_lc_0_46_0_BN_CTX_end"]
8276    pub fn BN_CTX_end(ctx: *mut BN_CTX);
8277}
8278extern "C" {
8279    #[link_name = "aws_lc_0_46_0_BN_add"]
8280    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8281}
8282extern "C" {
8283    #[link_name = "aws_lc_0_46_0_BN_uadd"]
8284    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8285}
8286extern "C" {
8287    #[link_name = "aws_lc_0_46_0_BN_add_word"]
8288    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8289}
8290extern "C" {
8291    #[link_name = "aws_lc_0_46_0_BN_sub"]
8292    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8293}
8294extern "C" {
8295    #[link_name = "aws_lc_0_46_0_BN_usub"]
8296    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8297}
8298extern "C" {
8299    #[link_name = "aws_lc_0_46_0_BN_sub_word"]
8300    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8301}
8302extern "C" {
8303    #[link_name = "aws_lc_0_46_0_BN_mul"]
8304    pub fn BN_mul(
8305        r: *mut BIGNUM,
8306        a: *const BIGNUM,
8307        b: *const BIGNUM,
8308        ctx: *mut BN_CTX,
8309    ) -> ::std::os::raw::c_int;
8310}
8311extern "C" {
8312    #[link_name = "aws_lc_0_46_0_BN_mul_word"]
8313    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "aws_lc_0_46_0_BN_sqr"]
8317    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
8318}
8319extern "C" {
8320    #[link_name = "aws_lc_0_46_0_BN_div"]
8321    pub fn BN_div(
8322        quotient: *mut BIGNUM,
8323        rem: *mut BIGNUM,
8324        numerator: *const BIGNUM,
8325        divisor: *const BIGNUM,
8326        ctx: *mut BN_CTX,
8327    ) -> ::std::os::raw::c_int;
8328}
8329extern "C" {
8330    #[link_name = "aws_lc_0_46_0_BN_div_word"]
8331    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
8332}
8333extern "C" {
8334    #[link_name = "aws_lc_0_46_0_BN_sqrt"]
8335    pub fn BN_sqrt(
8336        out_sqrt: *mut BIGNUM,
8337        in_: *const BIGNUM,
8338        ctx: *mut BN_CTX,
8339    ) -> ::std::os::raw::c_int;
8340}
8341extern "C" {
8342    #[link_name = "aws_lc_0_46_0_BN_cmp"]
8343    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8344}
8345extern "C" {
8346    #[link_name = "aws_lc_0_46_0_BN_cmp_word"]
8347    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
8348}
8349extern "C" {
8350    #[link_name = "aws_lc_0_46_0_BN_ucmp"]
8351    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8352}
8353extern "C" {
8354    #[link_name = "aws_lc_0_46_0_BN_equal_consttime"]
8355    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8356}
8357extern "C" {
8358    #[link_name = "aws_lc_0_46_0_BN_abs_is_word"]
8359    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8360}
8361extern "C" {
8362    #[link_name = "aws_lc_0_46_0_BN_is_zero"]
8363    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8364}
8365extern "C" {
8366    #[link_name = "aws_lc_0_46_0_BN_is_one"]
8367    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8368}
8369extern "C" {
8370    #[link_name = "aws_lc_0_46_0_BN_is_word"]
8371    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8372}
8373extern "C" {
8374    #[link_name = "aws_lc_0_46_0_BN_is_odd"]
8375    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8376}
8377extern "C" {
8378    #[link_name = "aws_lc_0_46_0_BN_is_pow2"]
8379    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
8380}
8381extern "C" {
8382    #[link_name = "aws_lc_0_46_0_BN_lshift"]
8383    pub fn BN_lshift(
8384        r: *mut BIGNUM,
8385        a: *const BIGNUM,
8386        n: ::std::os::raw::c_int,
8387    ) -> ::std::os::raw::c_int;
8388}
8389extern "C" {
8390    #[link_name = "aws_lc_0_46_0_BN_lshift1"]
8391    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8392}
8393extern "C" {
8394    #[link_name = "aws_lc_0_46_0_BN_rshift"]
8395    pub fn BN_rshift(
8396        r: *mut BIGNUM,
8397        a: *const BIGNUM,
8398        n: ::std::os::raw::c_int,
8399    ) -> ::std::os::raw::c_int;
8400}
8401extern "C" {
8402    #[link_name = "aws_lc_0_46_0_BN_rshift1"]
8403    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8404}
8405extern "C" {
8406    #[link_name = "aws_lc_0_46_0_BN_set_bit"]
8407    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8408}
8409extern "C" {
8410    #[link_name = "aws_lc_0_46_0_BN_clear_bit"]
8411    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8412}
8413extern "C" {
8414    #[link_name = "aws_lc_0_46_0_BN_is_bit_set"]
8415    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8416}
8417extern "C" {
8418    #[link_name = "aws_lc_0_46_0_BN_mask_bits"]
8419    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8420}
8421extern "C" {
8422    #[link_name = "aws_lc_0_46_0_BN_count_low_zero_bits"]
8423    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8424}
8425extern "C" {
8426    #[link_name = "aws_lc_0_46_0_BN_mod_word"]
8427    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
8428}
8429extern "C" {
8430    #[link_name = "aws_lc_0_46_0_BN_mod_pow2"]
8431    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8432}
8433extern "C" {
8434    #[link_name = "aws_lc_0_46_0_BN_nnmod_pow2"]
8435    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8436}
8437extern "C" {
8438    #[link_name = "aws_lc_0_46_0_BN_nnmod"]
8439    pub fn BN_nnmod(
8440        rem: *mut BIGNUM,
8441        numerator: *const BIGNUM,
8442        divisor: *const BIGNUM,
8443        ctx: *mut BN_CTX,
8444    ) -> ::std::os::raw::c_int;
8445}
8446extern "C" {
8447    #[link_name = "aws_lc_0_46_0_BN_mod_add"]
8448    pub fn BN_mod_add(
8449        r: *mut BIGNUM,
8450        a: *const BIGNUM,
8451        b: *const BIGNUM,
8452        m: *const BIGNUM,
8453        ctx: *mut BN_CTX,
8454    ) -> ::std::os::raw::c_int;
8455}
8456extern "C" {
8457    #[link_name = "aws_lc_0_46_0_BN_mod_add_quick"]
8458    pub fn BN_mod_add_quick(
8459        r: *mut BIGNUM,
8460        a: *const BIGNUM,
8461        b: *const BIGNUM,
8462        m: *const BIGNUM,
8463    ) -> ::std::os::raw::c_int;
8464}
8465extern "C" {
8466    #[link_name = "aws_lc_0_46_0_BN_mod_sub"]
8467    pub fn BN_mod_sub(
8468        r: *mut BIGNUM,
8469        a: *const BIGNUM,
8470        b: *const BIGNUM,
8471        m: *const BIGNUM,
8472        ctx: *mut BN_CTX,
8473    ) -> ::std::os::raw::c_int;
8474}
8475extern "C" {
8476    #[link_name = "aws_lc_0_46_0_BN_mod_sub_quick"]
8477    pub fn BN_mod_sub_quick(
8478        r: *mut BIGNUM,
8479        a: *const BIGNUM,
8480        b: *const BIGNUM,
8481        m: *const BIGNUM,
8482    ) -> ::std::os::raw::c_int;
8483}
8484extern "C" {
8485    #[link_name = "aws_lc_0_46_0_BN_mod_mul"]
8486    pub fn BN_mod_mul(
8487        r: *mut BIGNUM,
8488        a: *const BIGNUM,
8489        b: *const BIGNUM,
8490        m: *const BIGNUM,
8491        ctx: *mut BN_CTX,
8492    ) -> ::std::os::raw::c_int;
8493}
8494extern "C" {
8495    #[link_name = "aws_lc_0_46_0_BN_mod_sqr"]
8496    pub fn BN_mod_sqr(
8497        r: *mut BIGNUM,
8498        a: *const BIGNUM,
8499        m: *const BIGNUM,
8500        ctx: *mut BN_CTX,
8501    ) -> ::std::os::raw::c_int;
8502}
8503extern "C" {
8504    #[link_name = "aws_lc_0_46_0_BN_mod_lshift"]
8505    pub fn BN_mod_lshift(
8506        r: *mut BIGNUM,
8507        a: *const BIGNUM,
8508        n: ::std::os::raw::c_int,
8509        m: *const BIGNUM,
8510        ctx: *mut BN_CTX,
8511    ) -> ::std::os::raw::c_int;
8512}
8513extern "C" {
8514    #[link_name = "aws_lc_0_46_0_BN_mod_lshift_quick"]
8515    pub fn BN_mod_lshift_quick(
8516        r: *mut BIGNUM,
8517        a: *const BIGNUM,
8518        n: ::std::os::raw::c_int,
8519        m: *const BIGNUM,
8520    ) -> ::std::os::raw::c_int;
8521}
8522extern "C" {
8523    #[link_name = "aws_lc_0_46_0_BN_mod_lshift1"]
8524    pub fn BN_mod_lshift1(
8525        r: *mut BIGNUM,
8526        a: *const BIGNUM,
8527        m: *const BIGNUM,
8528        ctx: *mut BN_CTX,
8529    ) -> ::std::os::raw::c_int;
8530}
8531extern "C" {
8532    #[link_name = "aws_lc_0_46_0_BN_mod_lshift1_quick"]
8533    pub fn BN_mod_lshift1_quick(
8534        r: *mut BIGNUM,
8535        a: *const BIGNUM,
8536        m: *const BIGNUM,
8537    ) -> ::std::os::raw::c_int;
8538}
8539extern "C" {
8540    #[link_name = "aws_lc_0_46_0_BN_mod_sqrt"]
8541    pub fn BN_mod_sqrt(
8542        in_: *mut BIGNUM,
8543        a: *const BIGNUM,
8544        p: *const BIGNUM,
8545        ctx: *mut BN_CTX,
8546    ) -> *mut BIGNUM;
8547}
8548extern "C" {
8549    #[link_name = "aws_lc_0_46_0_BN_rand"]
8550    pub fn BN_rand(
8551        rnd: *mut BIGNUM,
8552        bits: ::std::os::raw::c_int,
8553        top: ::std::os::raw::c_int,
8554        bottom: ::std::os::raw::c_int,
8555    ) -> ::std::os::raw::c_int;
8556}
8557extern "C" {
8558    #[link_name = "aws_lc_0_46_0_BN_pseudo_rand"]
8559    pub fn BN_pseudo_rand(
8560        rnd: *mut BIGNUM,
8561        bits: ::std::os::raw::c_int,
8562        top: ::std::os::raw::c_int,
8563        bottom: ::std::os::raw::c_int,
8564    ) -> ::std::os::raw::c_int;
8565}
8566extern "C" {
8567    #[link_name = "aws_lc_0_46_0_BN_rand_range"]
8568    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8569}
8570extern "C" {
8571    #[link_name = "aws_lc_0_46_0_BN_rand_range_ex"]
8572    pub fn BN_rand_range_ex(
8573        r: *mut BIGNUM,
8574        min_inclusive: BN_ULONG,
8575        max_exclusive: *const BIGNUM,
8576    ) -> ::std::os::raw::c_int;
8577}
8578extern "C" {
8579    #[link_name = "aws_lc_0_46_0_BN_pseudo_rand_range"]
8580    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8581}
8582#[repr(C)]
8583#[derive(Copy, Clone)]
8584pub struct bn_gencb_st {
8585    pub type_: u8,
8586    pub arg: *mut ::std::os::raw::c_void,
8587    pub callback: bn_gencb_st__bindgen_ty_1,
8588}
8589#[repr(C)]
8590#[derive(Copy, Clone)]
8591pub union bn_gencb_st__bindgen_ty_1 {
8592    pub new_style: ::std::option::Option<
8593        unsafe extern "C" fn(
8594            event: ::std::os::raw::c_int,
8595            n: ::std::os::raw::c_int,
8596            arg1: *mut bn_gencb_st,
8597        ) -> ::std::os::raw::c_int,
8598    >,
8599    pub old_style: ::std::option::Option<
8600        unsafe extern "C" fn(
8601            arg1: ::std::os::raw::c_int,
8602            arg2: ::std::os::raw::c_int,
8603            arg3: *mut ::std::os::raw::c_void,
8604        ),
8605    >,
8606}
8607#[test]
8608fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8609    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8610        ::std::mem::MaybeUninit::uninit();
8611    let ptr = UNINIT.as_ptr();
8612    assert_eq!(
8613        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8614        8usize,
8615        "Size of bn_gencb_st__bindgen_ty_1"
8616    );
8617    assert_eq!(
8618        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8619        8usize,
8620        "Alignment of bn_gencb_st__bindgen_ty_1"
8621    );
8622    assert_eq!(
8623        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8624        0usize,
8625        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
8626    );
8627    assert_eq!(
8628        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8629        0usize,
8630        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
8631    );
8632}
8633impl Default for bn_gencb_st__bindgen_ty_1 {
8634    fn default() -> Self {
8635        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8636        unsafe {
8637            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8638            s.assume_init()
8639        }
8640    }
8641}
8642#[test]
8643fn bindgen_test_layout_bn_gencb_st() {
8644    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8645    let ptr = UNINIT.as_ptr();
8646    assert_eq!(
8647        ::std::mem::size_of::<bn_gencb_st>(),
8648        24usize,
8649        "Size of bn_gencb_st"
8650    );
8651    assert_eq!(
8652        ::std::mem::align_of::<bn_gencb_st>(),
8653        8usize,
8654        "Alignment of bn_gencb_st"
8655    );
8656    assert_eq!(
8657        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8658        0usize,
8659        "Offset of field: bn_gencb_st::type_"
8660    );
8661    assert_eq!(
8662        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8663        8usize,
8664        "Offset of field: bn_gencb_st::arg"
8665    );
8666    assert_eq!(
8667        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8668        16usize,
8669        "Offset of field: bn_gencb_st::callback"
8670    );
8671}
8672impl Default for bn_gencb_st {
8673    fn default() -> Self {
8674        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8675        unsafe {
8676            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8677            s.assume_init()
8678        }
8679    }
8680}
8681extern "C" {
8682    #[link_name = "aws_lc_0_46_0_BN_GENCB_new"]
8683    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8684}
8685extern "C" {
8686    #[link_name = "aws_lc_0_46_0_BN_GENCB_free"]
8687    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8688}
8689extern "C" {
8690    #[link_name = "aws_lc_0_46_0_BN_GENCB_set"]
8691    pub fn BN_GENCB_set(
8692        callback: *mut BN_GENCB,
8693        f: ::std::option::Option<
8694            unsafe extern "C" fn(
8695                event: ::std::os::raw::c_int,
8696                n: ::std::os::raw::c_int,
8697                arg1: *mut BN_GENCB,
8698            ) -> ::std::os::raw::c_int,
8699        >,
8700        arg: *mut ::std::os::raw::c_void,
8701    );
8702}
8703extern "C" {
8704    #[link_name = "aws_lc_0_46_0_BN_GENCB_call"]
8705    pub fn BN_GENCB_call(
8706        callback: *mut BN_GENCB,
8707        event: ::std::os::raw::c_int,
8708        n: ::std::os::raw::c_int,
8709    ) -> ::std::os::raw::c_int;
8710}
8711extern "C" {
8712    #[link_name = "aws_lc_0_46_0_BN_GENCB_get_arg"]
8713    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8714}
8715extern "C" {
8716    #[link_name = "aws_lc_0_46_0_BN_generate_prime_ex"]
8717    pub fn BN_generate_prime_ex(
8718        ret: *mut BIGNUM,
8719        bits: ::std::os::raw::c_int,
8720        safe: ::std::os::raw::c_int,
8721        add: *const BIGNUM,
8722        rem: *const BIGNUM,
8723        cb: *mut BN_GENCB,
8724    ) -> ::std::os::raw::c_int;
8725}
8726pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8727pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8728pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8729pub type bn_primality_result_t = ::std::os::raw::c_uint;
8730extern "C" {
8731    #[link_name = "aws_lc_0_46_0_BN_enhanced_miller_rabin_primality_test"]
8732    pub fn BN_enhanced_miller_rabin_primality_test(
8733        out_result: *mut bn_primality_result_t,
8734        w: *const BIGNUM,
8735        checks: ::std::os::raw::c_int,
8736        ctx: *mut BN_CTX,
8737        cb: *mut BN_GENCB,
8738    ) -> ::std::os::raw::c_int;
8739}
8740extern "C" {
8741    #[link_name = "aws_lc_0_46_0_BN_primality_test"]
8742    pub fn BN_primality_test(
8743        is_probably_prime: *mut ::std::os::raw::c_int,
8744        candidate: *const BIGNUM,
8745        checks: ::std::os::raw::c_int,
8746        ctx: *mut BN_CTX,
8747        do_trial_division: ::std::os::raw::c_int,
8748        cb: *mut BN_GENCB,
8749    ) -> ::std::os::raw::c_int;
8750}
8751extern "C" {
8752    #[link_name = "aws_lc_0_46_0_BN_is_prime_fasttest_ex"]
8753    pub fn BN_is_prime_fasttest_ex(
8754        candidate: *const BIGNUM,
8755        checks: ::std::os::raw::c_int,
8756        ctx: *mut BN_CTX,
8757        do_trial_division: ::std::os::raw::c_int,
8758        cb: *mut BN_GENCB,
8759    ) -> ::std::os::raw::c_int;
8760}
8761extern "C" {
8762    #[link_name = "aws_lc_0_46_0_BN_is_prime_ex"]
8763    pub fn BN_is_prime_ex(
8764        candidate: *const BIGNUM,
8765        checks: ::std::os::raw::c_int,
8766        ctx: *mut BN_CTX,
8767        cb: *mut BN_GENCB,
8768    ) -> ::std::os::raw::c_int;
8769}
8770extern "C" {
8771    #[link_name = "aws_lc_0_46_0_BN_gcd"]
8772    pub fn BN_gcd(
8773        r: *mut BIGNUM,
8774        a: *const BIGNUM,
8775        b: *const BIGNUM,
8776        ctx: *mut BN_CTX,
8777    ) -> ::std::os::raw::c_int;
8778}
8779extern "C" {
8780    #[link_name = "aws_lc_0_46_0_BN_mod_inverse"]
8781    pub fn BN_mod_inverse(
8782        out: *mut BIGNUM,
8783        a: *const BIGNUM,
8784        n: *const BIGNUM,
8785        ctx: *mut BN_CTX,
8786    ) -> *mut BIGNUM;
8787}
8788extern "C" {
8789    #[link_name = "aws_lc_0_46_0_BN_mod_inverse_blinded"]
8790    pub fn BN_mod_inverse_blinded(
8791        out: *mut BIGNUM,
8792        out_no_inverse: *mut ::std::os::raw::c_int,
8793        a: *const BIGNUM,
8794        mont: *const BN_MONT_CTX,
8795        ctx: *mut BN_CTX,
8796    ) -> ::std::os::raw::c_int;
8797}
8798extern "C" {
8799    #[link_name = "aws_lc_0_46_0_BN_mod_inverse_odd"]
8800    pub fn BN_mod_inverse_odd(
8801        out: *mut BIGNUM,
8802        out_no_inverse: *mut ::std::os::raw::c_int,
8803        a: *const BIGNUM,
8804        n: *const BIGNUM,
8805        ctx: *mut BN_CTX,
8806    ) -> ::std::os::raw::c_int;
8807}
8808extern "C" {
8809    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new_for_modulus"]
8810    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8811}
8812extern "C" {
8813    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new_consttime"]
8814    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8815}
8816extern "C" {
8817    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_free"]
8818    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8819}
8820extern "C" {
8821    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_copy"]
8822    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8823}
8824extern "C" {
8825    #[link_name = "aws_lc_0_46_0_BN_to_montgomery"]
8826    pub fn BN_to_montgomery(
8827        ret: *mut BIGNUM,
8828        a: *const BIGNUM,
8829        mont: *const BN_MONT_CTX,
8830        ctx: *mut BN_CTX,
8831    ) -> ::std::os::raw::c_int;
8832}
8833extern "C" {
8834    #[link_name = "aws_lc_0_46_0_BN_from_montgomery"]
8835    pub fn BN_from_montgomery(
8836        ret: *mut BIGNUM,
8837        a: *const BIGNUM,
8838        mont: *const BN_MONT_CTX,
8839        ctx: *mut BN_CTX,
8840    ) -> ::std::os::raw::c_int;
8841}
8842extern "C" {
8843    #[link_name = "aws_lc_0_46_0_BN_mod_mul_montgomery"]
8844    pub fn BN_mod_mul_montgomery(
8845        r: *mut BIGNUM,
8846        a: *const BIGNUM,
8847        b: *const BIGNUM,
8848        mont: *const BN_MONT_CTX,
8849        ctx: *mut BN_CTX,
8850    ) -> ::std::os::raw::c_int;
8851}
8852extern "C" {
8853    #[link_name = "aws_lc_0_46_0_BN_exp"]
8854    pub fn BN_exp(
8855        r: *mut BIGNUM,
8856        a: *const BIGNUM,
8857        p: *const BIGNUM,
8858        ctx: *mut BN_CTX,
8859    ) -> ::std::os::raw::c_int;
8860}
8861extern "C" {
8862    #[link_name = "aws_lc_0_46_0_BN_mod_exp"]
8863    pub fn BN_mod_exp(
8864        r: *mut BIGNUM,
8865        a: *const BIGNUM,
8866        p: *const BIGNUM,
8867        m: *const BIGNUM,
8868        ctx: *mut BN_CTX,
8869    ) -> ::std::os::raw::c_int;
8870}
8871extern "C" {
8872    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont"]
8873    pub fn BN_mod_exp_mont(
8874        r: *mut BIGNUM,
8875        a: *const BIGNUM,
8876        p: *const BIGNUM,
8877        m: *const BIGNUM,
8878        ctx: *mut BN_CTX,
8879        mont: *const BN_MONT_CTX,
8880    ) -> ::std::os::raw::c_int;
8881}
8882extern "C" {
8883    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_consttime"]
8884    pub fn BN_mod_exp_mont_consttime(
8885        rr: *mut BIGNUM,
8886        a: *const BIGNUM,
8887        p: *const BIGNUM,
8888        m: *const BIGNUM,
8889        ctx: *mut BN_CTX,
8890        mont: *const BN_MONT_CTX,
8891    ) -> ::std::os::raw::c_int;
8892}
8893extern "C" {
8894    #[link_name = "aws_lc_0_46_0_BN_GENCB_set_old"]
8895    pub fn BN_GENCB_set_old(
8896        callback: *mut BN_GENCB,
8897        f: ::std::option::Option<
8898            unsafe extern "C" fn(
8899                arg1: ::std::os::raw::c_int,
8900                arg2: ::std::os::raw::c_int,
8901                arg3: *mut ::std::os::raw::c_void,
8902            ),
8903        >,
8904        cb_arg: *mut ::std::os::raw::c_void,
8905    );
8906}
8907extern "C" {
8908    #[link_name = "aws_lc_0_46_0_BN_bn2mpi"]
8909    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8910}
8911extern "C" {
8912    #[link_name = "aws_lc_0_46_0_BN_mpi2bn"]
8913    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8914}
8915extern "C" {
8916    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_word"]
8917    pub fn BN_mod_exp_mont_word(
8918        r: *mut BIGNUM,
8919        a: BN_ULONG,
8920        p: *const BIGNUM,
8921        m: *const BIGNUM,
8922        ctx: *mut BN_CTX,
8923        mont: *const BN_MONT_CTX,
8924    ) -> ::std::os::raw::c_int;
8925}
8926extern "C" {
8927    #[link_name = "aws_lc_0_46_0_BN_mod_exp2_mont"]
8928    pub fn BN_mod_exp2_mont(
8929        r: *mut BIGNUM,
8930        a1: *const BIGNUM,
8931        p1: *const BIGNUM,
8932        a2: *const BIGNUM,
8933        p2: *const BIGNUM,
8934        m: *const BIGNUM,
8935        ctx: *mut BN_CTX,
8936        mont: *const BN_MONT_CTX,
8937    ) -> ::std::os::raw::c_int;
8938}
8939extern "C" {
8940    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new"]
8941    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8942}
8943extern "C" {
8944    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_set"]
8945    pub fn BN_MONT_CTX_set(
8946        mont: *mut BN_MONT_CTX,
8947        mod_: *const BIGNUM,
8948        ctx: *mut BN_CTX,
8949    ) -> ::std::os::raw::c_int;
8950}
8951extern "C" {
8952    #[link_name = "aws_lc_0_46_0_BN_bn2binpad"]
8953    pub fn BN_bn2binpad(
8954        in_: *const BIGNUM,
8955        out: *mut u8,
8956        len: ::std::os::raw::c_int,
8957    ) -> ::std::os::raw::c_int;
8958}
8959extern "C" {
8960    #[link_name = "aws_lc_0_46_0_BN_secure_new"]
8961    pub fn BN_secure_new() -> *mut BIGNUM;
8962}
8963extern "C" {
8964    #[link_name = "aws_lc_0_46_0_BN_CTX_secure_new"]
8965    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8966}
8967extern "C" {
8968    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_consttime_x2"]
8969    pub fn BN_mod_exp_mont_consttime_x2(
8970        rr1: *mut BIGNUM,
8971        a1: *const BIGNUM,
8972        p1: *const BIGNUM,
8973        m1: *const BIGNUM,
8974        in_mont1: *const BN_MONT_CTX,
8975        rr2: *mut BIGNUM,
8976        a2: *const BIGNUM,
8977        p2: *const BIGNUM,
8978        m2: *const BIGNUM,
8979        in_mont2: *const BN_MONT_CTX,
8980        ctx: *mut BN_CTX,
8981    ) -> ::std::os::raw::c_int;
8982}
8983extern "C" {
8984    #[link_name = "aws_lc_0_46_0_BN_set_flags"]
8985    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8986}
8987#[repr(C)]
8988#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8989pub struct bignum_st {
8990    pub d: *mut BN_ULONG,
8991    pub width: ::std::os::raw::c_int,
8992    pub dmax: ::std::os::raw::c_int,
8993    pub neg: ::std::os::raw::c_int,
8994    pub flags: ::std::os::raw::c_int,
8995}
8996#[test]
8997fn bindgen_test_layout_bignum_st() {
8998    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8999    let ptr = UNINIT.as_ptr();
9000    assert_eq!(
9001        ::std::mem::size_of::<bignum_st>(),
9002        24usize,
9003        "Size of bignum_st"
9004    );
9005    assert_eq!(
9006        ::std::mem::align_of::<bignum_st>(),
9007        8usize,
9008        "Alignment of bignum_st"
9009    );
9010    assert_eq!(
9011        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
9012        0usize,
9013        "Offset of field: bignum_st::d"
9014    );
9015    assert_eq!(
9016        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
9017        8usize,
9018        "Offset of field: bignum_st::width"
9019    );
9020    assert_eq!(
9021        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
9022        12usize,
9023        "Offset of field: bignum_st::dmax"
9024    );
9025    assert_eq!(
9026        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
9027        16usize,
9028        "Offset of field: bignum_st::neg"
9029    );
9030    assert_eq!(
9031        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9032        20usize,
9033        "Offset of field: bignum_st::flags"
9034    );
9035}
9036impl Default for bignum_st {
9037    fn default() -> Self {
9038        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9039        unsafe {
9040            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9041            s.assume_init()
9042        }
9043    }
9044}
9045#[repr(C)]
9046#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9047pub struct bn_mont_ctx_st {
9048    pub RR: BIGNUM,
9049    pub N: BIGNUM,
9050    pub n0: [BN_ULONG; 2usize],
9051}
9052#[test]
9053fn bindgen_test_layout_bn_mont_ctx_st() {
9054    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
9055    let ptr = UNINIT.as_ptr();
9056    assert_eq!(
9057        ::std::mem::size_of::<bn_mont_ctx_st>(),
9058        64usize,
9059        "Size of bn_mont_ctx_st"
9060    );
9061    assert_eq!(
9062        ::std::mem::align_of::<bn_mont_ctx_st>(),
9063        8usize,
9064        "Alignment of bn_mont_ctx_st"
9065    );
9066    assert_eq!(
9067        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
9068        0usize,
9069        "Offset of field: bn_mont_ctx_st::RR"
9070    );
9071    assert_eq!(
9072        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
9073        24usize,
9074        "Offset of field: bn_mont_ctx_st::N"
9075    );
9076    assert_eq!(
9077        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
9078        48usize,
9079        "Offset of field: bn_mont_ctx_st::n0"
9080    );
9081}
9082impl Default for bn_mont_ctx_st {
9083    fn default() -> Self {
9084        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9085        unsafe {
9086            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9087            s.assume_init()
9088        }
9089    }
9090}
9091extern "C" {
9092    #[link_name = "aws_lc_0_46_0_BN_num_bits_word"]
9093    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
9094}
9095extern "C" {
9096    #[link_name = "aws_lc_0_46_0_ASN1_tag2bit"]
9097    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
9098}
9099extern "C" {
9100    #[link_name = "aws_lc_0_46_0_ASN1_tag2str"]
9101    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9102}
9103pub type d2i_of_void = ::std::option::Option<
9104    unsafe extern "C" fn(
9105        arg1: *mut *mut ::std::os::raw::c_void,
9106        arg2: *mut *const ::std::os::raw::c_uchar,
9107        arg3: ::std::os::raw::c_long,
9108    ) -> *mut ::std::os::raw::c_void,
9109>;
9110pub type i2d_of_void = ::std::option::Option<
9111    unsafe extern "C" fn(
9112        arg1: *const ::std::os::raw::c_void,
9113        arg2: *mut *mut ::std::os::raw::c_uchar,
9114    ) -> ::std::os::raw::c_int,
9115>;
9116pub type ASN1_ITEM_EXP = ASN1_ITEM;
9117#[repr(C)]
9118#[derive(Debug)]
9119pub struct ASN1_VALUE_st {
9120    _unused: [u8; 0],
9121}
9122pub type ASN1_VALUE = ASN1_VALUE_st;
9123extern "C" {
9124    #[link_name = "aws_lc_0_46_0_ASN1_parse"]
9125    pub fn ASN1_parse(
9126        bp: *mut BIO,
9127        pp: *const ::std::os::raw::c_uchar,
9128        len: ::std::os::raw::c_long,
9129        indent: ::std::os::raw::c_int,
9130    ) -> ::std::os::raw::c_int;
9131}
9132extern "C" {
9133    #[link_name = "aws_lc_0_46_0_ASN1_item_new"]
9134    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
9135}
9136extern "C" {
9137    #[link_name = "aws_lc_0_46_0_ASN1_item_free"]
9138    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
9139}
9140extern "C" {
9141    #[link_name = "aws_lc_0_46_0_ASN1_item_d2i"]
9142    pub fn ASN1_item_d2i(
9143        out: *mut *mut ASN1_VALUE,
9144        inp: *mut *const ::std::os::raw::c_uchar,
9145        len: ::std::os::raw::c_long,
9146        it: *const ASN1_ITEM,
9147    ) -> *mut ASN1_VALUE;
9148}
9149extern "C" {
9150    #[link_name = "aws_lc_0_46_0_ASN1_item_i2d"]
9151    pub fn ASN1_item_i2d(
9152        val: *mut ASN1_VALUE,
9153        outp: *mut *mut ::std::os::raw::c_uchar,
9154        it: *const ASN1_ITEM,
9155    ) -> ::std::os::raw::c_int;
9156}
9157extern "C" {
9158    #[link_name = "aws_lc_0_46_0_ASN1_dup"]
9159    pub fn ASN1_dup(
9160        i2d: i2d_of_void,
9161        d2i: d2i_of_void,
9162        x: *mut ::std::os::raw::c_void,
9163    ) -> *mut ::std::os::raw::c_void;
9164}
9165extern "C" {
9166    #[link_name = "aws_lc_0_46_0_ASN1_item_dup"]
9167    pub fn ASN1_item_dup(
9168        it: *const ASN1_ITEM,
9169        x: *mut ::std::os::raw::c_void,
9170    ) -> *mut ::std::os::raw::c_void;
9171}
9172extern "C" {
9173    #[link_name = "aws_lc_0_46_0_ASN1_item_d2i_fp"]
9174    pub fn ASN1_item_d2i_fp(
9175        it: *const ASN1_ITEM,
9176        in_: *mut FILE,
9177        out: *mut ::std::os::raw::c_void,
9178    ) -> *mut ::std::os::raw::c_void;
9179}
9180extern "C" {
9181    #[link_name = "aws_lc_0_46_0_ASN1_item_d2i_bio"]
9182    pub fn ASN1_item_d2i_bio(
9183        it: *const ASN1_ITEM,
9184        in_: *mut BIO,
9185        out: *mut ::std::os::raw::c_void,
9186    ) -> *mut ::std::os::raw::c_void;
9187}
9188extern "C" {
9189    #[link_name = "aws_lc_0_46_0_ASN1_item_i2d_fp"]
9190    pub fn ASN1_item_i2d_fp(
9191        it: *const ASN1_ITEM,
9192        out: *mut FILE,
9193        in_: *mut ::std::os::raw::c_void,
9194    ) -> ::std::os::raw::c_int;
9195}
9196extern "C" {
9197    #[link_name = "aws_lc_0_46_0_ASN1_item_i2d_bio"]
9198    pub fn ASN1_item_i2d_bio(
9199        it: *const ASN1_ITEM,
9200        out: *mut BIO,
9201        in_: *mut ::std::os::raw::c_void,
9202    ) -> ::std::os::raw::c_int;
9203}
9204extern "C" {
9205    #[link_name = "aws_lc_0_46_0_ASN1_i2d_bio"]
9206    pub fn ASN1_i2d_bio(
9207        i2d: i2d_of_void,
9208        out: *mut BIO,
9209        in_: *mut ::std::os::raw::c_void,
9210    ) -> ::std::os::raw::c_int;
9211}
9212extern "C" {
9213    #[link_name = "aws_lc_0_46_0_ASN1_item_unpack"]
9214    pub fn ASN1_item_unpack(
9215        oct: *const ASN1_STRING,
9216        it: *const ASN1_ITEM,
9217    ) -> *mut ::std::os::raw::c_void;
9218}
9219extern "C" {
9220    #[link_name = "aws_lc_0_46_0_ASN1_item_pack"]
9221    pub fn ASN1_item_pack(
9222        obj: *mut ::std::os::raw::c_void,
9223        it: *const ASN1_ITEM,
9224        out: *mut *mut ASN1_STRING,
9225    ) -> *mut ASN1_STRING;
9226}
9227extern "C" {
9228    #[link_name = "aws_lc_0_46_0_d2i_ASN1_BOOLEAN"]
9229    pub fn d2i_ASN1_BOOLEAN(
9230        out: *mut ASN1_BOOLEAN,
9231        inp: *mut *const ::std::os::raw::c_uchar,
9232        len: ::std::os::raw::c_long,
9233    ) -> ASN1_BOOLEAN;
9234}
9235extern "C" {
9236    #[link_name = "aws_lc_0_46_0_i2d_ASN1_BOOLEAN"]
9237    pub fn i2d_ASN1_BOOLEAN(
9238        a: ASN1_BOOLEAN,
9239        outp: *mut *mut ::std::os::raw::c_uchar,
9240    ) -> ::std::os::raw::c_int;
9241}
9242extern "C" {
9243    #[link_name = "aws_lc_0_46_0_ASN1_BOOLEAN_it"]
9244    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
9245}
9246extern "C" {
9247    #[link_name = "aws_lc_0_46_0_ASN1_TBOOLEAN_it"]
9248    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
9249}
9250extern "C" {
9251    #[link_name = "aws_lc_0_46_0_ASN1_FBOOLEAN_it"]
9252    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
9253}
9254#[repr(C)]
9255#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9256pub struct asn1_string_st {
9257    pub length: ::std::os::raw::c_int,
9258    pub type_: ::std::os::raw::c_int,
9259    pub data: *mut ::std::os::raw::c_uchar,
9260    pub flags: ::std::os::raw::c_long,
9261}
9262#[test]
9263fn bindgen_test_layout_asn1_string_st() {
9264    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
9265    let ptr = UNINIT.as_ptr();
9266    assert_eq!(
9267        ::std::mem::size_of::<asn1_string_st>(),
9268        24usize,
9269        "Size of asn1_string_st"
9270    );
9271    assert_eq!(
9272        ::std::mem::align_of::<asn1_string_st>(),
9273        8usize,
9274        "Alignment of asn1_string_st"
9275    );
9276    assert_eq!(
9277        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
9278        0usize,
9279        "Offset of field: asn1_string_st::length"
9280    );
9281    assert_eq!(
9282        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9283        4usize,
9284        "Offset of field: asn1_string_st::type_"
9285    );
9286    assert_eq!(
9287        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
9288        8usize,
9289        "Offset of field: asn1_string_st::data"
9290    );
9291    assert_eq!(
9292        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9293        16usize,
9294        "Offset of field: asn1_string_st::flags"
9295    );
9296}
9297impl Default for asn1_string_st {
9298    fn default() -> Self {
9299        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9300        unsafe {
9301            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9302            s.assume_init()
9303        }
9304    }
9305}
9306extern "C" {
9307    #[link_name = "aws_lc_0_46_0_ASN1_STRING_type_new"]
9308    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
9309}
9310extern "C" {
9311    #[link_name = "aws_lc_0_46_0_ASN1_STRING_new"]
9312    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
9313}
9314extern "C" {
9315    #[link_name = "aws_lc_0_46_0_ASN1_STRING_free"]
9316    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
9317}
9318extern "C" {
9319    #[link_name = "aws_lc_0_46_0_ASN1_STRING_clear_free"]
9320    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
9321}
9322extern "C" {
9323    #[link_name = "aws_lc_0_46_0_ASN1_STRING_copy"]
9324    pub fn ASN1_STRING_copy(
9325        dst: *mut ASN1_STRING,
9326        str_: *const ASN1_STRING,
9327    ) -> ::std::os::raw::c_int;
9328}
9329extern "C" {
9330    #[link_name = "aws_lc_0_46_0_ASN1_STRING_dup"]
9331    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
9332}
9333extern "C" {
9334    #[link_name = "aws_lc_0_46_0_ASN1_STRING_type"]
9335    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9336}
9337extern "C" {
9338    #[link_name = "aws_lc_0_46_0_ASN1_STRING_get0_data"]
9339    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
9340}
9341extern "C" {
9342    #[link_name = "aws_lc_0_46_0_ASN1_STRING_data"]
9343    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
9344}
9345extern "C" {
9346    #[link_name = "aws_lc_0_46_0_ASN1_STRING_length"]
9347    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9348}
9349extern "C" {
9350    #[link_name = "aws_lc_0_46_0_ASN1_STRING_cmp"]
9351    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
9352}
9353extern "C" {
9354    #[link_name = "aws_lc_0_46_0_ASN1_STRING_set"]
9355    pub fn ASN1_STRING_set(
9356        str_: *mut ASN1_STRING,
9357        data: *const ::std::os::raw::c_void,
9358        len: ossl_ssize_t,
9359    ) -> ::std::os::raw::c_int;
9360}
9361extern "C" {
9362    #[link_name = "aws_lc_0_46_0_ASN1_STRING_set0"]
9363    pub fn ASN1_STRING_set0(
9364        str_: *mut ASN1_STRING,
9365        data: *mut ::std::os::raw::c_void,
9366        len: ::std::os::raw::c_int,
9367    );
9368}
9369extern "C" {
9370    #[link_name = "aws_lc_0_46_0_ASN1_BMPSTRING_new"]
9371    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
9372}
9373extern "C" {
9374    #[link_name = "aws_lc_0_46_0_ASN1_GENERALSTRING_new"]
9375    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
9376}
9377extern "C" {
9378    #[link_name = "aws_lc_0_46_0_ASN1_IA5STRING_new"]
9379    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
9380}
9381extern "C" {
9382    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_new"]
9383    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
9384}
9385extern "C" {
9386    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLESTRING_new"]
9387    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
9388}
9389extern "C" {
9390    #[link_name = "aws_lc_0_46_0_ASN1_T61STRING_new"]
9391    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
9392}
9393extern "C" {
9394    #[link_name = "aws_lc_0_46_0_ASN1_UNIVERSALSTRING_new"]
9395    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
9396}
9397extern "C" {
9398    #[link_name = "aws_lc_0_46_0_ASN1_UTF8STRING_new"]
9399    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
9400}
9401extern "C" {
9402    #[link_name = "aws_lc_0_46_0_ASN1_VISIBLESTRING_new"]
9403    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
9404}
9405extern "C" {
9406    #[link_name = "aws_lc_0_46_0_ASN1_BMPSTRING_free"]
9407    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
9408}
9409extern "C" {
9410    #[link_name = "aws_lc_0_46_0_ASN1_GENERALSTRING_free"]
9411    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
9412}
9413extern "C" {
9414    #[link_name = "aws_lc_0_46_0_ASN1_IA5STRING_free"]
9415    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
9416}
9417extern "C" {
9418    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_free"]
9419    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
9420}
9421extern "C" {
9422    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLESTRING_free"]
9423    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
9424}
9425extern "C" {
9426    #[link_name = "aws_lc_0_46_0_ASN1_T61STRING_free"]
9427    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
9428}
9429extern "C" {
9430    #[link_name = "aws_lc_0_46_0_ASN1_UNIVERSALSTRING_free"]
9431    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
9432}
9433extern "C" {
9434    #[link_name = "aws_lc_0_46_0_ASN1_UTF8STRING_free"]
9435    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
9436}
9437extern "C" {
9438    #[link_name = "aws_lc_0_46_0_ASN1_VISIBLESTRING_free"]
9439    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
9440}
9441extern "C" {
9442    #[link_name = "aws_lc_0_46_0_d2i_ASN1_BMPSTRING"]
9443    pub fn d2i_ASN1_BMPSTRING(
9444        out: *mut *mut ASN1_BMPSTRING,
9445        inp: *mut *const u8,
9446        len: ::std::os::raw::c_long,
9447    ) -> *mut ASN1_BMPSTRING;
9448}
9449extern "C" {
9450    #[link_name = "aws_lc_0_46_0_d2i_ASN1_GENERALSTRING"]
9451    pub fn d2i_ASN1_GENERALSTRING(
9452        out: *mut *mut ASN1_GENERALSTRING,
9453        inp: *mut *const u8,
9454        len: ::std::os::raw::c_long,
9455    ) -> *mut ASN1_GENERALSTRING;
9456}
9457extern "C" {
9458    #[link_name = "aws_lc_0_46_0_d2i_ASN1_IA5STRING"]
9459    pub fn d2i_ASN1_IA5STRING(
9460        out: *mut *mut ASN1_IA5STRING,
9461        inp: *mut *const u8,
9462        len: ::std::os::raw::c_long,
9463    ) -> *mut ASN1_IA5STRING;
9464}
9465extern "C" {
9466    #[link_name = "aws_lc_0_46_0_d2i_ASN1_OCTET_STRING"]
9467    pub fn d2i_ASN1_OCTET_STRING(
9468        out: *mut *mut ASN1_OCTET_STRING,
9469        inp: *mut *const u8,
9470        len: ::std::os::raw::c_long,
9471    ) -> *mut ASN1_OCTET_STRING;
9472}
9473extern "C" {
9474    #[link_name = "aws_lc_0_46_0_d2i_ASN1_PRINTABLESTRING"]
9475    pub fn d2i_ASN1_PRINTABLESTRING(
9476        out: *mut *mut ASN1_PRINTABLESTRING,
9477        inp: *mut *const u8,
9478        len: ::std::os::raw::c_long,
9479    ) -> *mut ASN1_PRINTABLESTRING;
9480}
9481extern "C" {
9482    #[link_name = "aws_lc_0_46_0_d2i_ASN1_T61STRING"]
9483    pub fn d2i_ASN1_T61STRING(
9484        out: *mut *mut ASN1_T61STRING,
9485        inp: *mut *const u8,
9486        len: ::std::os::raw::c_long,
9487    ) -> *mut ASN1_T61STRING;
9488}
9489extern "C" {
9490    #[link_name = "aws_lc_0_46_0_d2i_ASN1_UNIVERSALSTRING"]
9491    pub fn d2i_ASN1_UNIVERSALSTRING(
9492        out: *mut *mut ASN1_UNIVERSALSTRING,
9493        inp: *mut *const u8,
9494        len: ::std::os::raw::c_long,
9495    ) -> *mut ASN1_UNIVERSALSTRING;
9496}
9497extern "C" {
9498    #[link_name = "aws_lc_0_46_0_d2i_ASN1_UTF8STRING"]
9499    pub fn d2i_ASN1_UTF8STRING(
9500        out: *mut *mut ASN1_UTF8STRING,
9501        inp: *mut *const u8,
9502        len: ::std::os::raw::c_long,
9503    ) -> *mut ASN1_UTF8STRING;
9504}
9505extern "C" {
9506    #[link_name = "aws_lc_0_46_0_d2i_ASN1_VISIBLESTRING"]
9507    pub fn d2i_ASN1_VISIBLESTRING(
9508        out: *mut *mut ASN1_VISIBLESTRING,
9509        inp: *mut *const u8,
9510        len: ::std::os::raw::c_long,
9511    ) -> *mut ASN1_VISIBLESTRING;
9512}
9513extern "C" {
9514    #[link_name = "aws_lc_0_46_0_i2d_ASN1_BMPSTRING"]
9515    pub fn i2d_ASN1_BMPSTRING(
9516        in_: *const ASN1_BMPSTRING,
9517        outp: *mut *mut u8,
9518    ) -> ::std::os::raw::c_int;
9519}
9520extern "C" {
9521    #[link_name = "aws_lc_0_46_0_i2d_ASN1_GENERALSTRING"]
9522    pub fn i2d_ASN1_GENERALSTRING(
9523        in_: *const ASN1_GENERALSTRING,
9524        outp: *mut *mut u8,
9525    ) -> ::std::os::raw::c_int;
9526}
9527extern "C" {
9528    #[link_name = "aws_lc_0_46_0_i2d_ASN1_IA5STRING"]
9529    pub fn i2d_ASN1_IA5STRING(
9530        in_: *const ASN1_IA5STRING,
9531        outp: *mut *mut u8,
9532    ) -> ::std::os::raw::c_int;
9533}
9534extern "C" {
9535    #[link_name = "aws_lc_0_46_0_i2d_ASN1_OCTET_STRING"]
9536    pub fn i2d_ASN1_OCTET_STRING(
9537        in_: *const ASN1_OCTET_STRING,
9538        outp: *mut *mut u8,
9539    ) -> ::std::os::raw::c_int;
9540}
9541extern "C" {
9542    #[link_name = "aws_lc_0_46_0_i2d_ASN1_PRINTABLESTRING"]
9543    pub fn i2d_ASN1_PRINTABLESTRING(
9544        in_: *const ASN1_PRINTABLESTRING,
9545        outp: *mut *mut u8,
9546    ) -> ::std::os::raw::c_int;
9547}
9548extern "C" {
9549    #[link_name = "aws_lc_0_46_0_i2d_ASN1_T61STRING"]
9550    pub fn i2d_ASN1_T61STRING(
9551        in_: *const ASN1_T61STRING,
9552        outp: *mut *mut u8,
9553    ) -> ::std::os::raw::c_int;
9554}
9555extern "C" {
9556    #[link_name = "aws_lc_0_46_0_i2d_ASN1_UNIVERSALSTRING"]
9557    pub fn i2d_ASN1_UNIVERSALSTRING(
9558        in_: *const ASN1_UNIVERSALSTRING,
9559        outp: *mut *mut u8,
9560    ) -> ::std::os::raw::c_int;
9561}
9562extern "C" {
9563    #[link_name = "aws_lc_0_46_0_i2d_ASN1_UTF8STRING"]
9564    pub fn i2d_ASN1_UTF8STRING(
9565        in_: *const ASN1_UTF8STRING,
9566        outp: *mut *mut u8,
9567    ) -> ::std::os::raw::c_int;
9568}
9569extern "C" {
9570    #[link_name = "aws_lc_0_46_0_i2d_ASN1_VISIBLESTRING"]
9571    pub fn i2d_ASN1_VISIBLESTRING(
9572        in_: *const ASN1_VISIBLESTRING,
9573        outp: *mut *mut u8,
9574    ) -> ::std::os::raw::c_int;
9575}
9576extern "C" {
9577    #[link_name = "aws_lc_0_46_0_ASN1_BMPSTRING_it"]
9578    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9579}
9580extern "C" {
9581    #[link_name = "aws_lc_0_46_0_ASN1_GENERALSTRING_it"]
9582    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9583}
9584extern "C" {
9585    #[link_name = "aws_lc_0_46_0_ASN1_IA5STRING_it"]
9586    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9587}
9588extern "C" {
9589    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_it"]
9590    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9591}
9592extern "C" {
9593    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLESTRING_it"]
9594    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9595}
9596extern "C" {
9597    #[link_name = "aws_lc_0_46_0_ASN1_T61STRING_it"]
9598    pub static ASN1_T61STRING_it: ASN1_ITEM;
9599}
9600extern "C" {
9601    #[link_name = "aws_lc_0_46_0_ASN1_UNIVERSALSTRING_it"]
9602    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9603}
9604extern "C" {
9605    #[link_name = "aws_lc_0_46_0_ASN1_UTF8STRING_it"]
9606    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9607}
9608extern "C" {
9609    #[link_name = "aws_lc_0_46_0_ASN1_VISIBLESTRING_it"]
9610    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9611}
9612extern "C" {
9613    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_dup"]
9614    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9615}
9616extern "C" {
9617    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_cmp"]
9618    pub fn ASN1_OCTET_STRING_cmp(
9619        a: *const ASN1_OCTET_STRING,
9620        b: *const ASN1_OCTET_STRING,
9621    ) -> ::std::os::raw::c_int;
9622}
9623extern "C" {
9624    #[link_name = "aws_lc_0_46_0_ASN1_OCTET_STRING_set"]
9625    pub fn ASN1_OCTET_STRING_set(
9626        str_: *mut ASN1_OCTET_STRING,
9627        data: *const ::std::os::raw::c_uchar,
9628        len: ::std::os::raw::c_int,
9629    ) -> ::std::os::raw::c_int;
9630}
9631extern "C" {
9632    #[link_name = "aws_lc_0_46_0_ASN1_STRING_to_UTF8"]
9633    pub fn ASN1_STRING_to_UTF8(
9634        out: *mut *mut ::std::os::raw::c_uchar,
9635        in_: *const ASN1_STRING,
9636    ) -> ::std::os::raw::c_int;
9637}
9638extern "C" {
9639    #[link_name = "aws_lc_0_46_0_ASN1_mbstring_copy"]
9640    pub fn ASN1_mbstring_copy(
9641        out: *mut *mut ASN1_STRING,
9642        in_: *const u8,
9643        len: ossl_ssize_t,
9644        inform: ::std::os::raw::c_int,
9645        mask: ::std::os::raw::c_ulong,
9646    ) -> ::std::os::raw::c_int;
9647}
9648extern "C" {
9649    #[link_name = "aws_lc_0_46_0_ASN1_mbstring_ncopy"]
9650    pub fn ASN1_mbstring_ncopy(
9651        out: *mut *mut ASN1_STRING,
9652        in_: *const u8,
9653        len: ossl_ssize_t,
9654        inform: ::std::os::raw::c_int,
9655        mask: ::std::os::raw::c_ulong,
9656        minsize: ossl_ssize_t,
9657        maxsize: ossl_ssize_t,
9658    ) -> ::std::os::raw::c_int;
9659}
9660extern "C" {
9661    #[link_name = "aws_lc_0_46_0_ASN1_STRING_set_by_NID"]
9662    pub fn ASN1_STRING_set_by_NID(
9663        out: *mut *mut ASN1_STRING,
9664        in_: *const ::std::os::raw::c_uchar,
9665        len: ossl_ssize_t,
9666        inform: ::std::os::raw::c_int,
9667        nid: ::std::os::raw::c_int,
9668    ) -> *mut ASN1_STRING;
9669}
9670extern "C" {
9671    #[link_name = "aws_lc_0_46_0_ASN1_STRING_TABLE_add"]
9672    pub fn ASN1_STRING_TABLE_add(
9673        nid: ::std::os::raw::c_int,
9674        minsize: ::std::os::raw::c_long,
9675        maxsize: ::std::os::raw::c_long,
9676        mask: ::std::os::raw::c_ulong,
9677        flags: ::std::os::raw::c_ulong,
9678    ) -> ::std::os::raw::c_int;
9679}
9680extern "C" {
9681    #[link_name = "aws_lc_0_46_0_DIRECTORYSTRING_new"]
9682    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9683}
9684extern "C" {
9685    #[link_name = "aws_lc_0_46_0_DIRECTORYSTRING_free"]
9686    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9687}
9688extern "C" {
9689    #[link_name = "aws_lc_0_46_0_d2i_DIRECTORYSTRING"]
9690    pub fn d2i_DIRECTORYSTRING(
9691        out: *mut *mut ASN1_STRING,
9692        inp: *mut *const u8,
9693        len: ::std::os::raw::c_long,
9694    ) -> *mut ASN1_STRING;
9695}
9696extern "C" {
9697    #[link_name = "aws_lc_0_46_0_i2d_DIRECTORYSTRING"]
9698    pub fn i2d_DIRECTORYSTRING(
9699        in_: *const ASN1_STRING,
9700        outp: *mut *mut u8,
9701    ) -> ::std::os::raw::c_int;
9702}
9703extern "C" {
9704    #[link_name = "aws_lc_0_46_0_DIRECTORYSTRING_it"]
9705    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9706}
9707extern "C" {
9708    #[link_name = "aws_lc_0_46_0_DISPLAYTEXT_new"]
9709    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9710}
9711extern "C" {
9712    #[link_name = "aws_lc_0_46_0_DISPLAYTEXT_free"]
9713    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9714}
9715extern "C" {
9716    #[link_name = "aws_lc_0_46_0_d2i_DISPLAYTEXT"]
9717    pub fn d2i_DISPLAYTEXT(
9718        out: *mut *mut ASN1_STRING,
9719        inp: *mut *const u8,
9720        len: ::std::os::raw::c_long,
9721    ) -> *mut ASN1_STRING;
9722}
9723extern "C" {
9724    #[link_name = "aws_lc_0_46_0_i2d_DISPLAYTEXT"]
9725    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9726}
9727extern "C" {
9728    #[link_name = "aws_lc_0_46_0_DISPLAYTEXT_it"]
9729    pub static DISPLAYTEXT_it: ASN1_ITEM;
9730}
9731extern "C" {
9732    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_new"]
9733    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9734}
9735extern "C" {
9736    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_free"]
9737    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9738}
9739extern "C" {
9740    #[link_name = "aws_lc_0_46_0_d2i_ASN1_BIT_STRING"]
9741    pub fn d2i_ASN1_BIT_STRING(
9742        out: *mut *mut ASN1_BIT_STRING,
9743        inp: *mut *const u8,
9744        len: ::std::os::raw::c_long,
9745    ) -> *mut ASN1_BIT_STRING;
9746}
9747extern "C" {
9748    #[link_name = "aws_lc_0_46_0_i2d_ASN1_BIT_STRING"]
9749    pub fn i2d_ASN1_BIT_STRING(
9750        in_: *const ASN1_BIT_STRING,
9751        outp: *mut *mut u8,
9752    ) -> ::std::os::raw::c_int;
9753}
9754extern "C" {
9755    #[link_name = "aws_lc_0_46_0_c2i_ASN1_BIT_STRING"]
9756    pub fn c2i_ASN1_BIT_STRING(
9757        out: *mut *mut ASN1_BIT_STRING,
9758        inp: *mut *const u8,
9759        len: ::std::os::raw::c_long,
9760    ) -> *mut ASN1_BIT_STRING;
9761}
9762extern "C" {
9763    #[link_name = "aws_lc_0_46_0_i2c_ASN1_BIT_STRING"]
9764    pub fn i2c_ASN1_BIT_STRING(
9765        in_: *const ASN1_BIT_STRING,
9766        outp: *mut *mut u8,
9767    ) -> ::std::os::raw::c_int;
9768}
9769extern "C" {
9770    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_it"]
9771    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9772}
9773extern "C" {
9774    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_num_bytes"]
9775    pub fn ASN1_BIT_STRING_num_bytes(
9776        str_: *const ASN1_BIT_STRING,
9777        out: *mut usize,
9778    ) -> ::std::os::raw::c_int;
9779}
9780extern "C" {
9781    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_set"]
9782    pub fn ASN1_BIT_STRING_set(
9783        str_: *mut ASN1_BIT_STRING,
9784        d: *const ::std::os::raw::c_uchar,
9785        length: ossl_ssize_t,
9786    ) -> ::std::os::raw::c_int;
9787}
9788extern "C" {
9789    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_set_bit"]
9790    pub fn ASN1_BIT_STRING_set_bit(
9791        str_: *mut ASN1_BIT_STRING,
9792        n: ::std::os::raw::c_int,
9793        value: ::std::os::raw::c_int,
9794    ) -> ::std::os::raw::c_int;
9795}
9796extern "C" {
9797    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_get_bit"]
9798    pub fn ASN1_BIT_STRING_get_bit(
9799        str_: *const ASN1_BIT_STRING,
9800        n: ::std::os::raw::c_int,
9801    ) -> ::std::os::raw::c_int;
9802}
9803extern "C" {
9804    #[link_name = "aws_lc_0_46_0_ASN1_BIT_STRING_check"]
9805    pub fn ASN1_BIT_STRING_check(
9806        str_: *const ASN1_BIT_STRING,
9807        flags: *const ::std::os::raw::c_uchar,
9808        flags_len: ::std::os::raw::c_int,
9809    ) -> ::std::os::raw::c_int;
9810}
9811#[repr(C)]
9812#[derive(Debug)]
9813pub struct stack_st_ASN1_INTEGER {
9814    _unused: [u8; 0],
9815}
9816pub type sk_ASN1_INTEGER_free_func =
9817    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9818pub type sk_ASN1_INTEGER_copy_func =
9819    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9820pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9821    unsafe extern "C" fn(
9822        arg1: *const *const ASN1_INTEGER,
9823        arg2: *const *const ASN1_INTEGER,
9824    ) -> ::std::os::raw::c_int,
9825>;
9826pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9827    unsafe extern "C" fn(
9828        arg1: *mut ASN1_INTEGER,
9829        arg2: *mut ::std::os::raw::c_void,
9830    ) -> ::std::os::raw::c_int,
9831>;
9832extern "C" {
9833    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_new"]
9834    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9835}
9836extern "C" {
9837    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_free"]
9838    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9839}
9840extern "C" {
9841    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_dup"]
9842    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9843}
9844extern "C" {
9845    #[link_name = "aws_lc_0_46_0_d2i_ASN1_INTEGER"]
9846    pub fn d2i_ASN1_INTEGER(
9847        out: *mut *mut ASN1_INTEGER,
9848        inp: *mut *const u8,
9849        len: ::std::os::raw::c_long,
9850    ) -> *mut ASN1_INTEGER;
9851}
9852extern "C" {
9853    #[link_name = "aws_lc_0_46_0_i2d_ASN1_INTEGER"]
9854    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9855}
9856extern "C" {
9857    #[link_name = "aws_lc_0_46_0_c2i_ASN1_INTEGER"]
9858    pub fn c2i_ASN1_INTEGER(
9859        in_: *mut *mut ASN1_INTEGER,
9860        outp: *mut *const u8,
9861        len: ::std::os::raw::c_long,
9862    ) -> *mut ASN1_INTEGER;
9863}
9864extern "C" {
9865    #[link_name = "aws_lc_0_46_0_i2c_ASN1_INTEGER"]
9866    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9867}
9868extern "C" {
9869    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_it"]
9870    pub static ASN1_INTEGER_it: ASN1_ITEM;
9871}
9872extern "C" {
9873    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_set_uint64"]
9874    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9875}
9876extern "C" {
9877    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_set_int64"]
9878    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9879}
9880extern "C" {
9881    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_get_uint64"]
9882    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9883}
9884extern "C" {
9885    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_get_int64"]
9886    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9887}
9888extern "C" {
9889    #[link_name = "aws_lc_0_46_0_BN_to_ASN1_INTEGER"]
9890    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9891}
9892extern "C" {
9893    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_to_BN"]
9894    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9895}
9896extern "C" {
9897    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_cmp"]
9898    pub fn ASN1_INTEGER_cmp(
9899        x: *const ASN1_INTEGER,
9900        y: *const ASN1_INTEGER,
9901    ) -> ::std::os::raw::c_int;
9902}
9903extern "C" {
9904    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_new"]
9905    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9906}
9907extern "C" {
9908    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_free"]
9909    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9910}
9911extern "C" {
9912    #[link_name = "aws_lc_0_46_0_d2i_ASN1_ENUMERATED"]
9913    pub fn d2i_ASN1_ENUMERATED(
9914        out: *mut *mut ASN1_ENUMERATED,
9915        inp: *mut *const u8,
9916        len: ::std::os::raw::c_long,
9917    ) -> *mut ASN1_ENUMERATED;
9918}
9919extern "C" {
9920    #[link_name = "aws_lc_0_46_0_i2d_ASN1_ENUMERATED"]
9921    pub fn i2d_ASN1_ENUMERATED(
9922        in_: *const ASN1_ENUMERATED,
9923        outp: *mut *mut u8,
9924    ) -> ::std::os::raw::c_int;
9925}
9926extern "C" {
9927    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_it"]
9928    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9929}
9930extern "C" {
9931    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_set_uint64"]
9932    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9933}
9934extern "C" {
9935    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_set_int64"]
9936    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9937}
9938extern "C" {
9939    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_get_uint64"]
9940    pub fn ASN1_ENUMERATED_get_uint64(
9941        out: *mut u64,
9942        a: *const ASN1_ENUMERATED,
9943    ) -> ::std::os::raw::c_int;
9944}
9945extern "C" {
9946    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_get_int64"]
9947    pub fn ASN1_ENUMERATED_get_int64(
9948        out: *mut i64,
9949        a: *const ASN1_ENUMERATED,
9950    ) -> ::std::os::raw::c_int;
9951}
9952extern "C" {
9953    #[link_name = "aws_lc_0_46_0_BN_to_ASN1_ENUMERATED"]
9954    pub fn BN_to_ASN1_ENUMERATED(
9955        bn: *const BIGNUM,
9956        ai: *mut ASN1_ENUMERATED,
9957    ) -> *mut ASN1_ENUMERATED;
9958}
9959extern "C" {
9960    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_to_BN"]
9961    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9962}
9963extern "C" {
9964    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_new"]
9965    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9966}
9967extern "C" {
9968    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_free"]
9969    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9970}
9971extern "C" {
9972    #[link_name = "aws_lc_0_46_0_d2i_ASN1_UTCTIME"]
9973    pub fn d2i_ASN1_UTCTIME(
9974        out: *mut *mut ASN1_UTCTIME,
9975        inp: *mut *const u8,
9976        len: ::std::os::raw::c_long,
9977    ) -> *mut ASN1_UTCTIME;
9978}
9979extern "C" {
9980    #[link_name = "aws_lc_0_46_0_i2d_ASN1_UTCTIME"]
9981    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9982}
9983extern "C" {
9984    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_it"]
9985    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9986}
9987extern "C" {
9988    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_check"]
9989    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9990}
9991extern "C" {
9992    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_set"]
9993    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9994}
9995extern "C" {
9996    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_adj"]
9997    pub fn ASN1_UTCTIME_adj(
9998        s: *mut ASN1_UTCTIME,
9999        posix_time: i64,
10000        offset_day: ::std::os::raw::c_int,
10001        offset_sec: ::std::os::raw::c_long,
10002    ) -> *mut ASN1_UTCTIME;
10003}
10004extern "C" {
10005    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_set_string"]
10006    pub fn ASN1_UTCTIME_set_string(
10007        s: *mut ASN1_UTCTIME,
10008        str_: *const ::std::os::raw::c_char,
10009    ) -> ::std::os::raw::c_int;
10010}
10011extern "C" {
10012    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_cmp_time_t"]
10013    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
10014}
10015extern "C" {
10016    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_new"]
10017    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
10018}
10019extern "C" {
10020    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_free"]
10021    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
10022}
10023extern "C" {
10024    #[link_name = "aws_lc_0_46_0_d2i_ASN1_GENERALIZEDTIME"]
10025    pub fn d2i_ASN1_GENERALIZEDTIME(
10026        out: *mut *mut ASN1_GENERALIZEDTIME,
10027        inp: *mut *const u8,
10028        len: ::std::os::raw::c_long,
10029    ) -> *mut ASN1_GENERALIZEDTIME;
10030}
10031extern "C" {
10032    #[link_name = "aws_lc_0_46_0_i2d_ASN1_GENERALIZEDTIME"]
10033    pub fn i2d_ASN1_GENERALIZEDTIME(
10034        in_: *const ASN1_GENERALIZEDTIME,
10035        outp: *mut *mut u8,
10036    ) -> ::std::os::raw::c_int;
10037}
10038extern "C" {
10039    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_it"]
10040    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
10041}
10042extern "C" {
10043    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_check"]
10044    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
10045}
10046extern "C" {
10047    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_set"]
10048    pub fn ASN1_GENERALIZEDTIME_set(
10049        s: *mut ASN1_GENERALIZEDTIME,
10050        posix_time: i64,
10051    ) -> *mut ASN1_GENERALIZEDTIME;
10052}
10053extern "C" {
10054    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_adj"]
10055    pub fn ASN1_GENERALIZEDTIME_adj(
10056        s: *mut ASN1_GENERALIZEDTIME,
10057        posix_time: i64,
10058        offset_day: ::std::os::raw::c_int,
10059        offset_sec: ::std::os::raw::c_long,
10060    ) -> *mut ASN1_GENERALIZEDTIME;
10061}
10062extern "C" {
10063    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_set_string"]
10064    pub fn ASN1_GENERALIZEDTIME_set_string(
10065        s: *mut ASN1_GENERALIZEDTIME,
10066        str_: *const ::std::os::raw::c_char,
10067    ) -> ::std::os::raw::c_int;
10068}
10069extern "C" {
10070    #[link_name = "aws_lc_0_46_0_ASN1_TIME_new"]
10071    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
10072}
10073extern "C" {
10074    #[link_name = "aws_lc_0_46_0_ASN1_TIME_free"]
10075    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
10076}
10077extern "C" {
10078    #[link_name = "aws_lc_0_46_0_d2i_ASN1_TIME"]
10079    pub fn d2i_ASN1_TIME(
10080        out: *mut *mut ASN1_TIME,
10081        inp: *mut *const u8,
10082        len: ::std::os::raw::c_long,
10083    ) -> *mut ASN1_TIME;
10084}
10085extern "C" {
10086    #[link_name = "aws_lc_0_46_0_i2d_ASN1_TIME"]
10087    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10088}
10089extern "C" {
10090    #[link_name = "aws_lc_0_46_0_ASN1_TIME_it"]
10091    pub static ASN1_TIME_it: ASN1_ITEM;
10092}
10093extern "C" {
10094    #[link_name = "aws_lc_0_46_0_ASN1_TIME_diff"]
10095    pub fn ASN1_TIME_diff(
10096        out_days: *mut ::std::os::raw::c_int,
10097        out_seconds: *mut ::std::os::raw::c_int,
10098        from: *const ASN1_TIME,
10099        to: *const ASN1_TIME,
10100    ) -> ::std::os::raw::c_int;
10101}
10102extern "C" {
10103    #[link_name = "aws_lc_0_46_0_ASN1_TIME_set_posix"]
10104    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
10105}
10106extern "C" {
10107    #[link_name = "aws_lc_0_46_0_ASN1_TIME_set"]
10108    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
10109}
10110extern "C" {
10111    #[link_name = "aws_lc_0_46_0_ASN1_TIME_adj"]
10112    pub fn ASN1_TIME_adj(
10113        s: *mut ASN1_TIME,
10114        posix_time: i64,
10115        offset_day: ::std::os::raw::c_int,
10116        offset_sec: ::std::os::raw::c_long,
10117    ) -> *mut ASN1_TIME;
10118}
10119extern "C" {
10120    #[link_name = "aws_lc_0_46_0_ASN1_TIME_check"]
10121    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
10122}
10123extern "C" {
10124    #[link_name = "aws_lc_0_46_0_ASN1_TIME_to_generalizedtime"]
10125    pub fn ASN1_TIME_to_generalizedtime(
10126        t: *const ASN1_TIME,
10127        out: *mut *mut ASN1_GENERALIZEDTIME,
10128    ) -> *mut ASN1_GENERALIZEDTIME;
10129}
10130extern "C" {
10131    #[link_name = "aws_lc_0_46_0_ASN1_TIME_set_string"]
10132    pub fn ASN1_TIME_set_string(
10133        s: *mut ASN1_TIME,
10134        str_: *const ::std::os::raw::c_char,
10135    ) -> ::std::os::raw::c_int;
10136}
10137extern "C" {
10138    #[link_name = "aws_lc_0_46_0_ASN1_TIME_to_tm"]
10139    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
10140}
10141extern "C" {
10142    #[link_name = "aws_lc_0_46_0_ASN1_TIME_set_string_X509"]
10143    pub fn ASN1_TIME_set_string_X509(
10144        s: *mut ASN1_TIME,
10145        str_: *const ::std::os::raw::c_char,
10146    ) -> ::std::os::raw::c_int;
10147}
10148extern "C" {
10149    #[link_name = "aws_lc_0_46_0_ASN1_TIME_to_time_t"]
10150    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
10151}
10152extern "C" {
10153    #[link_name = "aws_lc_0_46_0_ASN1_TIME_to_posix"]
10154    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
10155}
10156extern "C" {
10157    #[link_name = "aws_lc_0_46_0_ASN1_NULL_new"]
10158    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
10159}
10160extern "C" {
10161    #[link_name = "aws_lc_0_46_0_ASN1_NULL_free"]
10162    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
10163}
10164extern "C" {
10165    #[link_name = "aws_lc_0_46_0_d2i_ASN1_NULL"]
10166    pub fn d2i_ASN1_NULL(
10167        out: *mut *mut ASN1_NULL,
10168        inp: *mut *const u8,
10169        len: ::std::os::raw::c_long,
10170    ) -> *mut ASN1_NULL;
10171}
10172extern "C" {
10173    #[link_name = "aws_lc_0_46_0_i2d_ASN1_NULL"]
10174    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10175}
10176extern "C" {
10177    #[link_name = "aws_lc_0_46_0_ASN1_NULL_it"]
10178    pub static ASN1_NULL_it: ASN1_ITEM;
10179}
10180#[repr(C)]
10181#[derive(Debug)]
10182pub struct stack_st_ASN1_OBJECT {
10183    _unused: [u8; 0],
10184}
10185pub type sk_ASN1_OBJECT_free_func =
10186    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
10187pub type sk_ASN1_OBJECT_copy_func =
10188    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
10189pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
10190    unsafe extern "C" fn(
10191        arg1: *const *const ASN1_OBJECT,
10192        arg2: *const *const ASN1_OBJECT,
10193    ) -> ::std::os::raw::c_int,
10194>;
10195pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
10196    unsafe extern "C" fn(
10197        arg1: *mut ASN1_OBJECT,
10198        arg2: *mut ::std::os::raw::c_void,
10199    ) -> ::std::os::raw::c_int,
10200>;
10201extern "C" {
10202    #[link_name = "aws_lc_0_46_0_ASN1_OBJECT_create"]
10203    pub fn ASN1_OBJECT_create(
10204        nid: ::std::os::raw::c_int,
10205        data: *const u8,
10206        len: usize,
10207        sn: *const ::std::os::raw::c_char,
10208        ln: *const ::std::os::raw::c_char,
10209    ) -> *mut ASN1_OBJECT;
10210}
10211extern "C" {
10212    #[link_name = "aws_lc_0_46_0_ASN1_OBJECT_free"]
10213    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
10214}
10215extern "C" {
10216    #[link_name = "aws_lc_0_46_0_d2i_ASN1_OBJECT"]
10217    pub fn d2i_ASN1_OBJECT(
10218        out: *mut *mut ASN1_OBJECT,
10219        inp: *mut *const u8,
10220        len: ::std::os::raw::c_long,
10221    ) -> *mut ASN1_OBJECT;
10222}
10223extern "C" {
10224    #[link_name = "aws_lc_0_46_0_i2d_ASN1_OBJECT"]
10225    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10226}
10227extern "C" {
10228    #[link_name = "aws_lc_0_46_0_c2i_ASN1_OBJECT"]
10229    pub fn c2i_ASN1_OBJECT(
10230        out: *mut *mut ASN1_OBJECT,
10231        inp: *mut *const u8,
10232        len: ::std::os::raw::c_long,
10233    ) -> *mut ASN1_OBJECT;
10234}
10235extern "C" {
10236    #[link_name = "aws_lc_0_46_0_ASN1_OBJECT_it"]
10237    pub static ASN1_OBJECT_it: ASN1_ITEM;
10238}
10239#[repr(C)]
10240#[derive(Copy, Clone)]
10241pub struct asn1_type_st {
10242    pub type_: ::std::os::raw::c_int,
10243    pub value: asn1_type_st__bindgen_ty_1,
10244}
10245#[repr(C)]
10246#[derive(Copy, Clone)]
10247pub union asn1_type_st__bindgen_ty_1 {
10248    pub ptr: *mut ::std::os::raw::c_char,
10249    pub boolean: ASN1_BOOLEAN,
10250    pub asn1_string: *mut ASN1_STRING,
10251    pub object: *mut ASN1_OBJECT,
10252    pub integer: *mut ASN1_INTEGER,
10253    pub enumerated: *mut ASN1_ENUMERATED,
10254    pub bit_string: *mut ASN1_BIT_STRING,
10255    pub octet_string: *mut ASN1_OCTET_STRING,
10256    pub printablestring: *mut ASN1_PRINTABLESTRING,
10257    pub t61string: *mut ASN1_T61STRING,
10258    pub ia5string: *mut ASN1_IA5STRING,
10259    pub generalstring: *mut ASN1_GENERALSTRING,
10260    pub bmpstring: *mut ASN1_BMPSTRING,
10261    pub universalstring: *mut ASN1_UNIVERSALSTRING,
10262    pub utctime: *mut ASN1_UTCTIME,
10263    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
10264    pub visiblestring: *mut ASN1_VISIBLESTRING,
10265    pub utf8string: *mut ASN1_UTF8STRING,
10266    pub set: *mut ASN1_STRING,
10267    pub sequence: *mut ASN1_STRING,
10268    pub asn1_value: *mut ASN1_VALUE,
10269}
10270#[test]
10271fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
10272    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
10273        ::std::mem::MaybeUninit::uninit();
10274    let ptr = UNINIT.as_ptr();
10275    assert_eq!(
10276        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
10277        8usize,
10278        "Size of asn1_type_st__bindgen_ty_1"
10279    );
10280    assert_eq!(
10281        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
10282        8usize,
10283        "Alignment of asn1_type_st__bindgen_ty_1"
10284    );
10285    assert_eq!(
10286        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10287        0usize,
10288        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
10289    );
10290    assert_eq!(
10291        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
10292        0usize,
10293        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
10294    );
10295    assert_eq!(
10296        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
10297        0usize,
10298        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
10299    );
10300    assert_eq!(
10301        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
10302        0usize,
10303        "Offset of field: asn1_type_st__bindgen_ty_1::object"
10304    );
10305    assert_eq!(
10306        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
10307        0usize,
10308        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
10309    );
10310    assert_eq!(
10311        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
10312        0usize,
10313        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
10314    );
10315    assert_eq!(
10316        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
10317        0usize,
10318        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
10319    );
10320    assert_eq!(
10321        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
10322        0usize,
10323        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
10324    );
10325    assert_eq!(
10326        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
10327        0usize,
10328        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
10329    );
10330    assert_eq!(
10331        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
10332        0usize,
10333        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
10334    );
10335    assert_eq!(
10336        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
10337        0usize,
10338        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
10339    );
10340    assert_eq!(
10341        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
10342        0usize,
10343        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
10344    );
10345    assert_eq!(
10346        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
10347        0usize,
10348        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
10349    );
10350    assert_eq!(
10351        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
10352        0usize,
10353        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
10354    );
10355    assert_eq!(
10356        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
10357        0usize,
10358        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
10359    );
10360    assert_eq!(
10361        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
10362        0usize,
10363        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
10364    );
10365    assert_eq!(
10366        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
10367        0usize,
10368        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
10369    );
10370    assert_eq!(
10371        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
10372        0usize,
10373        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
10374    );
10375    assert_eq!(
10376        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
10377        0usize,
10378        "Offset of field: asn1_type_st__bindgen_ty_1::set"
10379    );
10380    assert_eq!(
10381        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
10382        0usize,
10383        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
10384    );
10385    assert_eq!(
10386        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
10387        0usize,
10388        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
10389    );
10390}
10391impl Default for asn1_type_st__bindgen_ty_1 {
10392    fn default() -> Self {
10393        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10394        unsafe {
10395            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10396            s.assume_init()
10397        }
10398    }
10399}
10400#[test]
10401fn bindgen_test_layout_asn1_type_st() {
10402    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
10403    let ptr = UNINIT.as_ptr();
10404    assert_eq!(
10405        ::std::mem::size_of::<asn1_type_st>(),
10406        16usize,
10407        "Size of asn1_type_st"
10408    );
10409    assert_eq!(
10410        ::std::mem::align_of::<asn1_type_st>(),
10411        8usize,
10412        "Alignment of asn1_type_st"
10413    );
10414    assert_eq!(
10415        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
10416        0usize,
10417        "Offset of field: asn1_type_st::type_"
10418    );
10419    assert_eq!(
10420        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10421        8usize,
10422        "Offset of field: asn1_type_st::value"
10423    );
10424}
10425impl Default for asn1_type_st {
10426    fn default() -> Self {
10427        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10428        unsafe {
10429            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10430            s.assume_init()
10431        }
10432    }
10433}
10434#[repr(C)]
10435#[derive(Debug)]
10436pub struct stack_st_ASN1_TYPE {
10437    _unused: [u8; 0],
10438}
10439pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
10440pub type sk_ASN1_TYPE_copy_func =
10441    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
10442pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
10443    unsafe extern "C" fn(
10444        arg1: *const *const ASN1_TYPE,
10445        arg2: *const *const ASN1_TYPE,
10446    ) -> ::std::os::raw::c_int,
10447>;
10448pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10449    unsafe extern "C" fn(
10450        arg1: *mut ASN1_TYPE,
10451        arg2: *mut ::std::os::raw::c_void,
10452    ) -> ::std::os::raw::c_int,
10453>;
10454extern "C" {
10455    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_new"]
10456    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10457}
10458extern "C" {
10459    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_free"]
10460    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10461}
10462extern "C" {
10463    #[link_name = "aws_lc_0_46_0_d2i_ASN1_TYPE"]
10464    pub fn d2i_ASN1_TYPE(
10465        out: *mut *mut ASN1_TYPE,
10466        inp: *mut *const u8,
10467        len: ::std::os::raw::c_long,
10468    ) -> *mut ASN1_TYPE;
10469}
10470extern "C" {
10471    #[link_name = "aws_lc_0_46_0_i2d_ASN1_TYPE"]
10472    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10473}
10474extern "C" {
10475    #[link_name = "aws_lc_0_46_0_ASN1_ANY_it"]
10476    pub static ASN1_ANY_it: ASN1_ITEM;
10477}
10478extern "C" {
10479    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_get"]
10480    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10481}
10482extern "C" {
10483    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_set"]
10484    pub fn ASN1_TYPE_set(
10485        a: *mut ASN1_TYPE,
10486        type_: ::std::os::raw::c_int,
10487        value: *mut ::std::os::raw::c_void,
10488    );
10489}
10490extern "C" {
10491    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_set1"]
10492    pub fn ASN1_TYPE_set1(
10493        a: *mut ASN1_TYPE,
10494        type_: ::std::os::raw::c_int,
10495        value: *const ::std::os::raw::c_void,
10496    ) -> ::std::os::raw::c_int;
10497}
10498extern "C" {
10499    #[link_name = "aws_lc_0_46_0_ASN1_TYPE_cmp"]
10500    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10501}
10502pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10503extern "C" {
10504    #[link_name = "aws_lc_0_46_0_d2i_ASN1_SEQUENCE_ANY"]
10505    pub fn d2i_ASN1_SEQUENCE_ANY(
10506        out: *mut *mut ASN1_SEQUENCE_ANY,
10507        inp: *mut *const u8,
10508        len: ::std::os::raw::c_long,
10509    ) -> *mut ASN1_SEQUENCE_ANY;
10510}
10511extern "C" {
10512    #[link_name = "aws_lc_0_46_0_i2d_ASN1_SEQUENCE_ANY"]
10513    pub fn i2d_ASN1_SEQUENCE_ANY(
10514        in_: *const ASN1_SEQUENCE_ANY,
10515        outp: *mut *mut u8,
10516    ) -> ::std::os::raw::c_int;
10517}
10518extern "C" {
10519    #[link_name = "aws_lc_0_46_0_d2i_ASN1_SET_ANY"]
10520    pub fn d2i_ASN1_SET_ANY(
10521        out: *mut *mut ASN1_SEQUENCE_ANY,
10522        inp: *mut *const u8,
10523        len: ::std::os::raw::c_long,
10524    ) -> *mut ASN1_SEQUENCE_ANY;
10525}
10526extern "C" {
10527    #[link_name = "aws_lc_0_46_0_i2d_ASN1_SET_ANY"]
10528    pub fn i2d_ASN1_SET_ANY(
10529        in_: *const ASN1_SEQUENCE_ANY,
10530        outp: *mut *mut u8,
10531    ) -> ::std::os::raw::c_int;
10532}
10533extern "C" {
10534    #[link_name = "aws_lc_0_46_0_ASN1_UTCTIME_print"]
10535    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10536}
10537extern "C" {
10538    #[link_name = "aws_lc_0_46_0_ASN1_GENERALIZEDTIME_print"]
10539    pub fn ASN1_GENERALIZEDTIME_print(
10540        out: *mut BIO,
10541        a: *const ASN1_GENERALIZEDTIME,
10542    ) -> ::std::os::raw::c_int;
10543}
10544extern "C" {
10545    #[link_name = "aws_lc_0_46_0_ASN1_TIME_print"]
10546    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10547}
10548extern "C" {
10549    #[link_name = "aws_lc_0_46_0_ASN1_STRING_print"]
10550    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10551}
10552extern "C" {
10553    #[link_name = "aws_lc_0_46_0_ASN1_STRING_print_ex"]
10554    pub fn ASN1_STRING_print_ex(
10555        out: *mut BIO,
10556        str_: *const ASN1_STRING,
10557        flags: ::std::os::raw::c_ulong,
10558    ) -> ::std::os::raw::c_int;
10559}
10560extern "C" {
10561    #[link_name = "aws_lc_0_46_0_ASN1_STRING_print_ex_fp"]
10562    pub fn ASN1_STRING_print_ex_fp(
10563        fp: *mut FILE,
10564        str_: *const ASN1_STRING,
10565        flags: ::std::os::raw::c_ulong,
10566    ) -> ::std::os::raw::c_int;
10567}
10568extern "C" {
10569    #[link_name = "aws_lc_0_46_0_a2i_ASN1_INTEGER"]
10570    pub fn a2i_ASN1_INTEGER(
10571        bp: *mut BIO,
10572        bs: *mut ASN1_INTEGER,
10573        buf: *mut ::std::os::raw::c_char,
10574        size: ::std::os::raw::c_int,
10575    ) -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "aws_lc_0_46_0_i2a_ASN1_INTEGER"]
10579    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10580}
10581extern "C" {
10582    #[link_name = "aws_lc_0_46_0_i2a_ASN1_ENUMERATED"]
10583    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10584}
10585extern "C" {
10586    #[link_name = "aws_lc_0_46_0_i2a_ASN1_OBJECT"]
10587    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10588}
10589extern "C" {
10590    #[link_name = "aws_lc_0_46_0_i2a_ASN1_STRING"]
10591    pub fn i2a_ASN1_STRING(
10592        bp: *mut BIO,
10593        a: *const ASN1_STRING,
10594        type_: ::std::os::raw::c_int,
10595    ) -> ::std::os::raw::c_int;
10596}
10597extern "C" {
10598    #[link_name = "aws_lc_0_46_0_i2t_ASN1_OBJECT"]
10599    pub fn i2t_ASN1_OBJECT(
10600        buf: *mut ::std::os::raw::c_char,
10601        buf_len: ::std::os::raw::c_int,
10602        a: *const ASN1_OBJECT,
10603    ) -> ::std::os::raw::c_int;
10604}
10605extern "C" {
10606    #[link_name = "aws_lc_0_46_0_ASN1_get_object"]
10607    pub fn ASN1_get_object(
10608        inp: *mut *const ::std::os::raw::c_uchar,
10609        out_length: *mut ::std::os::raw::c_long,
10610        out_tag: *mut ::std::os::raw::c_int,
10611        out_class: *mut ::std::os::raw::c_int,
10612        max_len: ::std::os::raw::c_long,
10613    ) -> ::std::os::raw::c_int;
10614}
10615extern "C" {
10616    #[link_name = "aws_lc_0_46_0_ASN1_put_object"]
10617    pub fn ASN1_put_object(
10618        outp: *mut *mut ::std::os::raw::c_uchar,
10619        constructed: ::std::os::raw::c_int,
10620        length: ::std::os::raw::c_int,
10621        tag: ::std::os::raw::c_int,
10622        xclass: ::std::os::raw::c_int,
10623    );
10624}
10625extern "C" {
10626    #[link_name = "aws_lc_0_46_0_ASN1_put_eoc"]
10627    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10628}
10629extern "C" {
10630    #[link_name = "aws_lc_0_46_0_ASN1_object_size"]
10631    pub fn ASN1_object_size(
10632        constructed: ::std::os::raw::c_int,
10633        length: ::std::os::raw::c_int,
10634        tag: ::std::os::raw::c_int,
10635    ) -> ::std::os::raw::c_int;
10636}
10637extern "C" {
10638    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLE_new"]
10639    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10640}
10641extern "C" {
10642    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLE_free"]
10643    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10644}
10645extern "C" {
10646    #[link_name = "aws_lc_0_46_0_d2i_ASN1_PRINTABLE"]
10647    pub fn d2i_ASN1_PRINTABLE(
10648        out: *mut *mut ASN1_STRING,
10649        inp: *mut *const u8,
10650        len: ::std::os::raw::c_long,
10651    ) -> *mut ASN1_STRING;
10652}
10653extern "C" {
10654    #[link_name = "aws_lc_0_46_0_i2d_ASN1_PRINTABLE"]
10655    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10656        -> ::std::os::raw::c_int;
10657}
10658extern "C" {
10659    #[link_name = "aws_lc_0_46_0_ASN1_PRINTABLE_it"]
10660    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10661}
10662extern "C" {
10663    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_set"]
10664    pub fn ASN1_INTEGER_set(
10665        a: *mut ASN1_INTEGER,
10666        v: ::std::os::raw::c_long,
10667    ) -> ::std::os::raw::c_int;
10668}
10669extern "C" {
10670    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_set"]
10671    pub fn ASN1_ENUMERATED_set(
10672        a: *mut ASN1_ENUMERATED,
10673        v: ::std::os::raw::c_long,
10674    ) -> ::std::os::raw::c_int;
10675}
10676extern "C" {
10677    #[link_name = "aws_lc_0_46_0_ASN1_INTEGER_get"]
10678    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10679}
10680extern "C" {
10681    #[link_name = "aws_lc_0_46_0_ASN1_ENUMERATED_get"]
10682    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10683}
10684extern "C" {
10685    #[link_name = "aws_lc_0_46_0_ASN1_STRING_set_default_mask"]
10686    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10687}
10688extern "C" {
10689    #[link_name = "aws_lc_0_46_0_ASN1_STRING_set_default_mask_asc"]
10690    pub fn ASN1_STRING_set_default_mask_asc(
10691        p: *const ::std::os::raw::c_char,
10692    ) -> ::std::os::raw::c_int;
10693}
10694extern "C" {
10695    #[link_name = "aws_lc_0_46_0_ASN1_STRING_get_default_mask"]
10696    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10697}
10698extern "C" {
10699    #[link_name = "aws_lc_0_46_0_ASN1_STRING_TABLE_cleanup"]
10700    pub fn ASN1_STRING_TABLE_cleanup();
10701}
10702pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10703#[repr(C)]
10704#[derive(Debug)]
10705pub struct ASN1_TLC_st {
10706    _unused: [u8; 0],
10707}
10708pub type ASN1_TLC = ASN1_TLC_st;
10709#[repr(C)]
10710#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10711pub struct ASN1_TEMPLATE_st {
10712    pub flags: u32,
10713    pub tag: ::std::os::raw::c_int,
10714    pub offset: ::std::os::raw::c_ulong,
10715    pub field_name: *const ::std::os::raw::c_char,
10716    pub item: *const ASN1_ITEM_st,
10717}
10718#[test]
10719fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10720    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10721    let ptr = UNINIT.as_ptr();
10722    assert_eq!(
10723        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10724        32usize,
10725        "Size of ASN1_TEMPLATE_st"
10726    );
10727    assert_eq!(
10728        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10729        8usize,
10730        "Alignment of ASN1_TEMPLATE_st"
10731    );
10732    assert_eq!(
10733        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10734        0usize,
10735        "Offset of field: ASN1_TEMPLATE_st::flags"
10736    );
10737    assert_eq!(
10738        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10739        4usize,
10740        "Offset of field: ASN1_TEMPLATE_st::tag"
10741    );
10742    assert_eq!(
10743        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10744        8usize,
10745        "Offset of field: ASN1_TEMPLATE_st::offset"
10746    );
10747    assert_eq!(
10748        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10749        16usize,
10750        "Offset of field: ASN1_TEMPLATE_st::field_name"
10751    );
10752    assert_eq!(
10753        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10754        24usize,
10755        "Offset of field: ASN1_TEMPLATE_st::item"
10756    );
10757}
10758impl Default for ASN1_TEMPLATE_st {
10759    fn default() -> Self {
10760        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10761        unsafe {
10762            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10763            s.assume_init()
10764        }
10765    }
10766}
10767pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10768pub type ASN1_ADB = ASN1_ADB_st;
10769#[repr(C)]
10770#[derive(Debug)]
10771pub struct asn1_must_be_null_st {
10772    _unused: [u8; 0],
10773}
10774pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10775#[repr(C)]
10776#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10777pub struct ASN1_ADB_st {
10778    pub flags: u32,
10779    pub offset: ::std::os::raw::c_ulong,
10780    pub unused: *mut ASN1_MUST_BE_NULL,
10781    pub tbl: *const ASN1_ADB_TABLE,
10782    pub tblcount: ::std::os::raw::c_long,
10783    pub default_tt: *const ASN1_TEMPLATE,
10784    pub null_tt: *const ASN1_TEMPLATE,
10785}
10786#[test]
10787fn bindgen_test_layout_ASN1_ADB_st() {
10788    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10789    let ptr = UNINIT.as_ptr();
10790    assert_eq!(
10791        ::std::mem::size_of::<ASN1_ADB_st>(),
10792        56usize,
10793        "Size of ASN1_ADB_st"
10794    );
10795    assert_eq!(
10796        ::std::mem::align_of::<ASN1_ADB_st>(),
10797        8usize,
10798        "Alignment of ASN1_ADB_st"
10799    );
10800    assert_eq!(
10801        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10802        0usize,
10803        "Offset of field: ASN1_ADB_st::flags"
10804    );
10805    assert_eq!(
10806        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10807        8usize,
10808        "Offset of field: ASN1_ADB_st::offset"
10809    );
10810    assert_eq!(
10811        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10812        16usize,
10813        "Offset of field: ASN1_ADB_st::unused"
10814    );
10815    assert_eq!(
10816        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10817        24usize,
10818        "Offset of field: ASN1_ADB_st::tbl"
10819    );
10820    assert_eq!(
10821        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10822        32usize,
10823        "Offset of field: ASN1_ADB_st::tblcount"
10824    );
10825    assert_eq!(
10826        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10827        40usize,
10828        "Offset of field: ASN1_ADB_st::default_tt"
10829    );
10830    assert_eq!(
10831        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10832        48usize,
10833        "Offset of field: ASN1_ADB_st::null_tt"
10834    );
10835}
10836impl Default for ASN1_ADB_st {
10837    fn default() -> Self {
10838        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10839        unsafe {
10840            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10841            s.assume_init()
10842        }
10843    }
10844}
10845#[repr(C)]
10846#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10847pub struct ASN1_ADB_TABLE_st {
10848    pub value: ::std::os::raw::c_int,
10849    pub tt: ASN1_TEMPLATE,
10850}
10851#[test]
10852fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10853    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10854    let ptr = UNINIT.as_ptr();
10855    assert_eq!(
10856        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10857        40usize,
10858        "Size of ASN1_ADB_TABLE_st"
10859    );
10860    assert_eq!(
10861        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10862        8usize,
10863        "Alignment of ASN1_ADB_TABLE_st"
10864    );
10865    assert_eq!(
10866        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10867        0usize,
10868        "Offset of field: ASN1_ADB_TABLE_st::value"
10869    );
10870    assert_eq!(
10871        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10872        8usize,
10873        "Offset of field: ASN1_ADB_TABLE_st::tt"
10874    );
10875}
10876impl Default for ASN1_ADB_TABLE_st {
10877    fn default() -> Self {
10878        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10879        unsafe {
10880            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10881            s.assume_init()
10882        }
10883    }
10884}
10885#[repr(C)]
10886#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10887pub struct ASN1_ITEM_st {
10888    pub itype: ::std::os::raw::c_char,
10889    pub utype: ::std::os::raw::c_int,
10890    pub templates: *const ASN1_TEMPLATE,
10891    pub tcount: ::std::os::raw::c_long,
10892    pub funcs: *const ::std::os::raw::c_void,
10893    pub size: ::std::os::raw::c_long,
10894    pub sname: *const ::std::os::raw::c_char,
10895}
10896#[test]
10897fn bindgen_test_layout_ASN1_ITEM_st() {
10898    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10899    let ptr = UNINIT.as_ptr();
10900    assert_eq!(
10901        ::std::mem::size_of::<ASN1_ITEM_st>(),
10902        48usize,
10903        "Size of ASN1_ITEM_st"
10904    );
10905    assert_eq!(
10906        ::std::mem::align_of::<ASN1_ITEM_st>(),
10907        8usize,
10908        "Alignment of ASN1_ITEM_st"
10909    );
10910    assert_eq!(
10911        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10912        0usize,
10913        "Offset of field: ASN1_ITEM_st::itype"
10914    );
10915    assert_eq!(
10916        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10917        4usize,
10918        "Offset of field: ASN1_ITEM_st::utype"
10919    );
10920    assert_eq!(
10921        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10922        8usize,
10923        "Offset of field: ASN1_ITEM_st::templates"
10924    );
10925    assert_eq!(
10926        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10927        16usize,
10928        "Offset of field: ASN1_ITEM_st::tcount"
10929    );
10930    assert_eq!(
10931        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10932        24usize,
10933        "Offset of field: ASN1_ITEM_st::funcs"
10934    );
10935    assert_eq!(
10936        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10937        32usize,
10938        "Offset of field: ASN1_ITEM_st::size"
10939    );
10940    assert_eq!(
10941        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
10942        40usize,
10943        "Offset of field: ASN1_ITEM_st::sname"
10944    );
10945}
10946impl Default for ASN1_ITEM_st {
10947    fn default() -> Self {
10948        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10949        unsafe {
10950            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10951            s.assume_init()
10952        }
10953    }
10954}
10955pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
10956pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
10957pub type ASN1_d2i_func = ::std::option::Option<
10958    unsafe extern "C" fn(
10959        a: *mut *mut ASN1_VALUE,
10960        in_: *mut *const ::std::os::raw::c_uchar,
10961        length: ::std::os::raw::c_long,
10962    ) -> *mut ASN1_VALUE,
10963>;
10964pub type ASN1_i2d_func = ::std::option::Option<
10965    unsafe extern "C" fn(
10966        a: *mut ASN1_VALUE,
10967        in_: *mut *mut ::std::os::raw::c_uchar,
10968    ) -> ::std::os::raw::c_int,
10969>;
10970pub type ASN1_ex_d2i = ::std::option::Option<
10971    unsafe extern "C" fn(
10972        pval: *mut *mut ASN1_VALUE,
10973        in_: *mut *const ::std::os::raw::c_uchar,
10974        len: ::std::os::raw::c_long,
10975        it: *const ASN1_ITEM,
10976        tag: ::std::os::raw::c_int,
10977        aclass: ::std::os::raw::c_int,
10978        opt: ::std::os::raw::c_char,
10979        ctx: *mut ASN1_TLC,
10980    ) -> ::std::os::raw::c_int,
10981>;
10982pub type ASN1_ex_i2d = ::std::option::Option<
10983    unsafe extern "C" fn(
10984        pval: *mut *mut ASN1_VALUE,
10985        out: *mut *mut ::std::os::raw::c_uchar,
10986        it: *const ASN1_ITEM,
10987        tag: ::std::os::raw::c_int,
10988        aclass: ::std::os::raw::c_int,
10989    ) -> ::std::os::raw::c_int,
10990>;
10991pub type ASN1_ex_new_func = ::std::option::Option<
10992    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
10993>;
10994pub type ASN1_ex_free_func =
10995    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
10996pub type ASN1_ex_print_func = ::std::option::Option<
10997    unsafe extern "C" fn(
10998        out: *mut BIO,
10999        pval: *mut *mut ASN1_VALUE,
11000        indent: ::std::os::raw::c_int,
11001        fname: *const ::std::os::raw::c_char,
11002        pctx: *const ASN1_PCTX,
11003    ) -> ::std::os::raw::c_int,
11004>;
11005#[repr(C)]
11006#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11007pub struct ASN1_EXTERN_FUNCS_st {
11008    pub app_data: *mut ::std::os::raw::c_void,
11009    pub asn1_ex_new: ASN1_ex_new_func,
11010    pub asn1_ex_free: ASN1_ex_free_func,
11011    pub asn1_ex_d2i: ASN1_ex_d2i,
11012    pub asn1_ex_i2d: ASN1_ex_i2d,
11013    pub asn1_ex_print: ASN1_ex_print_func,
11014}
11015#[test]
11016fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
11017    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
11018    let ptr = UNINIT.as_ptr();
11019    assert_eq!(
11020        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
11021        48usize,
11022        "Size of ASN1_EXTERN_FUNCS_st"
11023    );
11024    assert_eq!(
11025        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
11026        8usize,
11027        "Alignment of ASN1_EXTERN_FUNCS_st"
11028    );
11029    assert_eq!(
11030        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11031        0usize,
11032        "Offset of field: ASN1_EXTERN_FUNCS_st::app_data"
11033    );
11034    assert_eq!(
11035        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
11036        8usize,
11037        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_new"
11038    );
11039    assert_eq!(
11040        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
11041        16usize,
11042        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_free"
11043    );
11044    assert_eq!(
11045        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
11046        24usize,
11047        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_d2i"
11048    );
11049    assert_eq!(
11050        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
11051        32usize,
11052        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_i2d"
11053    );
11054    assert_eq!(
11055        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
11056        40usize,
11057        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_print"
11058    );
11059}
11060impl Default for ASN1_EXTERN_FUNCS_st {
11061    fn default() -> Self {
11062        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11063        unsafe {
11064            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11065            s.assume_init()
11066        }
11067    }
11068}
11069pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
11070pub type ASN1_aux_cb = ::std::option::Option<
11071    unsafe extern "C" fn(
11072        operation: ::std::os::raw::c_int,
11073        in_: *mut *mut ASN1_VALUE,
11074        it: *const ASN1_ITEM,
11075        exarg: *mut ::std::os::raw::c_void,
11076    ) -> ::std::os::raw::c_int,
11077>;
11078#[repr(C)]
11079#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11080pub struct ASN1_AUX_st {
11081    pub app_data: *mut ::std::os::raw::c_void,
11082    pub flags: u32,
11083    pub ref_offset: ::std::os::raw::c_int,
11084    pub asn1_cb: ASN1_aux_cb,
11085    pub enc_offset: ::std::os::raw::c_int,
11086}
11087#[test]
11088fn bindgen_test_layout_ASN1_AUX_st() {
11089    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
11090    let ptr = UNINIT.as_ptr();
11091    assert_eq!(
11092        ::std::mem::size_of::<ASN1_AUX_st>(),
11093        32usize,
11094        "Size of ASN1_AUX_st"
11095    );
11096    assert_eq!(
11097        ::std::mem::align_of::<ASN1_AUX_st>(),
11098        8usize,
11099        "Alignment of ASN1_AUX_st"
11100    );
11101    assert_eq!(
11102        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11103        0usize,
11104        "Offset of field: ASN1_AUX_st::app_data"
11105    );
11106    assert_eq!(
11107        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11108        8usize,
11109        "Offset of field: ASN1_AUX_st::flags"
11110    );
11111    assert_eq!(
11112        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
11113        12usize,
11114        "Offset of field: ASN1_AUX_st::ref_offset"
11115    );
11116    assert_eq!(
11117        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
11118        16usize,
11119        "Offset of field: ASN1_AUX_st::asn1_cb"
11120    );
11121    assert_eq!(
11122        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
11123        24usize,
11124        "Offset of field: ASN1_AUX_st::enc_offset"
11125    );
11126}
11127impl Default for ASN1_AUX_st {
11128    fn default() -> Self {
11129        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11130        unsafe {
11131            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11132            s.assume_init()
11133        }
11134    }
11135}
11136pub type ASN1_AUX = ASN1_AUX_st;
11137extern "C" {
11138    #[link_name = "aws_lc_0_46_0_ASN1_SEQUENCE_it"]
11139    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
11140}
11141#[repr(C)]
11142#[derive(Debug)]
11143pub struct stack_st_ASN1_VALUE {
11144    _unused: [u8; 0],
11145}
11146pub type sk_ASN1_VALUE_free_func =
11147    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
11148pub type sk_ASN1_VALUE_copy_func =
11149    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
11150pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
11151    unsafe extern "C" fn(
11152        arg1: *const *const ASN1_VALUE,
11153        arg2: *const *const ASN1_VALUE,
11154    ) -> ::std::os::raw::c_int,
11155>;
11156pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
11157    unsafe extern "C" fn(
11158        arg1: *mut ASN1_VALUE,
11159        arg2: *mut ::std::os::raw::c_void,
11160    ) -> ::std::os::raw::c_int,
11161>;
11162extern "C" {
11163    #[link_name = "aws_lc_0_46_0_EVP_EncodeBlock"]
11164    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
11165}
11166extern "C" {
11167    #[link_name = "aws_lc_0_46_0_EVP_EncodedLength"]
11168    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11169}
11170extern "C" {
11171    #[link_name = "aws_lc_0_46_0_EVP_DecodedLength"]
11172    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11173}
11174extern "C" {
11175    #[link_name = "aws_lc_0_46_0_EVP_DecodeBase64"]
11176    pub fn EVP_DecodeBase64(
11177        out: *mut u8,
11178        out_len: *mut usize,
11179        max_out: usize,
11180        in_: *const u8,
11181        in_len: usize,
11182    ) -> ::std::os::raw::c_int;
11183}
11184extern "C" {
11185    #[link_name = "aws_lc_0_46_0_EVP_ENCODE_CTX_new"]
11186    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
11187}
11188extern "C" {
11189    #[link_name = "aws_lc_0_46_0_EVP_ENCODE_CTX_free"]
11190    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
11191}
11192extern "C" {
11193    #[link_name = "aws_lc_0_46_0_EVP_EncodeInit"]
11194    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
11195}
11196extern "C" {
11197    #[link_name = "aws_lc_0_46_0_EVP_EncodeUpdate"]
11198    pub fn EVP_EncodeUpdate(
11199        ctx: *mut EVP_ENCODE_CTX,
11200        out: *mut u8,
11201        out_len: *mut ::std::os::raw::c_int,
11202        in_: *const u8,
11203        in_len: usize,
11204    ) -> ::std::os::raw::c_int;
11205}
11206extern "C" {
11207    #[link_name = "aws_lc_0_46_0_EVP_EncodeFinal"]
11208    pub fn EVP_EncodeFinal(
11209        ctx: *mut EVP_ENCODE_CTX,
11210        out: *mut u8,
11211        out_len: *mut ::std::os::raw::c_int,
11212    );
11213}
11214extern "C" {
11215    #[link_name = "aws_lc_0_46_0_EVP_DecodeInit"]
11216    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
11217}
11218extern "C" {
11219    #[link_name = "aws_lc_0_46_0_EVP_DecodeUpdate"]
11220    pub fn EVP_DecodeUpdate(
11221        ctx: *mut EVP_ENCODE_CTX,
11222        out: *mut u8,
11223        out_len: *mut ::std::os::raw::c_int,
11224        in_: *const u8,
11225        in_len: usize,
11226    ) -> ::std::os::raw::c_int;
11227}
11228extern "C" {
11229    #[link_name = "aws_lc_0_46_0_EVP_DecodeFinal"]
11230    pub fn EVP_DecodeFinal(
11231        ctx: *mut EVP_ENCODE_CTX,
11232        out: *mut u8,
11233        out_len: *mut ::std::os::raw::c_int,
11234    ) -> ::std::os::raw::c_int;
11235}
11236extern "C" {
11237    #[link_name = "aws_lc_0_46_0_EVP_DecodeBlock"]
11238    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
11239}
11240#[repr(C)]
11241#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11242pub struct evp_encode_ctx_st {
11243    pub data_used: ::std::os::raw::c_uint,
11244    pub data: [u8; 48usize],
11245    pub eof_seen: ::std::os::raw::c_char,
11246    pub error_encountered: ::std::os::raw::c_char,
11247}
11248#[test]
11249fn bindgen_test_layout_evp_encode_ctx_st() {
11250    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
11251    let ptr = UNINIT.as_ptr();
11252    assert_eq!(
11253        ::std::mem::size_of::<evp_encode_ctx_st>(),
11254        56usize,
11255        "Size of evp_encode_ctx_st"
11256    );
11257    assert_eq!(
11258        ::std::mem::align_of::<evp_encode_ctx_st>(),
11259        4usize,
11260        "Alignment of evp_encode_ctx_st"
11261    );
11262    assert_eq!(
11263        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
11264        0usize,
11265        "Offset of field: evp_encode_ctx_st::data_used"
11266    );
11267    assert_eq!(
11268        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11269        4usize,
11270        "Offset of field: evp_encode_ctx_st::data"
11271    );
11272    assert_eq!(
11273        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
11274        52usize,
11275        "Offset of field: evp_encode_ctx_st::eof_seen"
11276    );
11277    assert_eq!(
11278        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
11279        53usize,
11280        "Offset of field: evp_encode_ctx_st::error_encountered"
11281    );
11282}
11283impl Default for evp_encode_ctx_st {
11284    fn default() -> Self {
11285        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11286        unsafe {
11287            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11288            s.assume_init()
11289        }
11290    }
11291}
11292#[repr(C)]
11293#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11294pub struct blake2b_state_st {
11295    pub h: [u64; 8usize],
11296    pub t_low: u64,
11297    pub t_high: u64,
11298    pub block: [u8; 128usize],
11299    pub block_used: usize,
11300}
11301#[test]
11302fn bindgen_test_layout_blake2b_state_st() {
11303    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
11304    let ptr = UNINIT.as_ptr();
11305    assert_eq!(
11306        ::std::mem::size_of::<blake2b_state_st>(),
11307        216usize,
11308        "Size of blake2b_state_st"
11309    );
11310    assert_eq!(
11311        ::std::mem::align_of::<blake2b_state_st>(),
11312        8usize,
11313        "Alignment of blake2b_state_st"
11314    );
11315    assert_eq!(
11316        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11317        0usize,
11318        "Offset of field: blake2b_state_st::h"
11319    );
11320    assert_eq!(
11321        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
11322        64usize,
11323        "Offset of field: blake2b_state_st::t_low"
11324    );
11325    assert_eq!(
11326        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
11327        72usize,
11328        "Offset of field: blake2b_state_st::t_high"
11329    );
11330    assert_eq!(
11331        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
11332        80usize,
11333        "Offset of field: blake2b_state_st::block"
11334    );
11335    assert_eq!(
11336        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
11337        208usize,
11338        "Offset of field: blake2b_state_st::block_used"
11339    );
11340}
11341impl Default for blake2b_state_st {
11342    fn default() -> Self {
11343        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11344        unsafe {
11345            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11346            s.assume_init()
11347        }
11348    }
11349}
11350extern "C" {
11351    #[link_name = "aws_lc_0_46_0_BLAKE2B256_Init"]
11352    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
11353}
11354extern "C" {
11355    #[link_name = "aws_lc_0_46_0_BLAKE2B256_Update"]
11356    pub fn BLAKE2B256_Update(
11357        b2b: *mut BLAKE2B_CTX,
11358        data: *const ::std::os::raw::c_void,
11359        len: usize,
11360    );
11361}
11362extern "C" {
11363    #[link_name = "aws_lc_0_46_0_BLAKE2B256_Final"]
11364    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
11365}
11366extern "C" {
11367    #[link_name = "aws_lc_0_46_0_BLAKE2B256"]
11368    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
11369}
11370#[repr(C)]
11371#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11372pub struct bf_key_st {
11373    pub P: [u32; 18usize],
11374    pub S: [u32; 1024usize],
11375}
11376#[test]
11377fn bindgen_test_layout_bf_key_st() {
11378    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
11379    let ptr = UNINIT.as_ptr();
11380    assert_eq!(
11381        ::std::mem::size_of::<bf_key_st>(),
11382        4168usize,
11383        "Size of bf_key_st"
11384    );
11385    assert_eq!(
11386        ::std::mem::align_of::<bf_key_st>(),
11387        4usize,
11388        "Alignment of bf_key_st"
11389    );
11390    assert_eq!(
11391        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
11392        0usize,
11393        "Offset of field: bf_key_st::P"
11394    );
11395    assert_eq!(
11396        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
11397        72usize,
11398        "Offset of field: bf_key_st::S"
11399    );
11400}
11401impl Default for bf_key_st {
11402    fn default() -> Self {
11403        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11404        unsafe {
11405            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11406            s.assume_init()
11407        }
11408    }
11409}
11410pub type BF_KEY = bf_key_st;
11411extern "C" {
11412    #[link_name = "aws_lc_0_46_0_BF_set_key"]
11413    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
11414}
11415extern "C" {
11416    #[link_name = "aws_lc_0_46_0_BF_encrypt"]
11417    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
11418}
11419extern "C" {
11420    #[link_name = "aws_lc_0_46_0_BF_decrypt"]
11421    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
11422}
11423extern "C" {
11424    #[link_name = "aws_lc_0_46_0_BF_ecb_encrypt"]
11425    pub fn BF_ecb_encrypt(
11426        in_: *const u8,
11427        out: *mut u8,
11428        key: *const BF_KEY,
11429        enc: ::std::os::raw::c_int,
11430    );
11431}
11432extern "C" {
11433    #[link_name = "aws_lc_0_46_0_BF_cbc_encrypt"]
11434    pub fn BF_cbc_encrypt(
11435        in_: *const u8,
11436        out: *mut u8,
11437        length: usize,
11438        schedule: *const BF_KEY,
11439        ivec: *mut u8,
11440        enc: ::std::os::raw::c_int,
11441    );
11442}
11443extern "C" {
11444    #[link_name = "aws_lc_0_46_0_BF_cfb64_encrypt"]
11445    pub fn BF_cfb64_encrypt(
11446        in_: *const u8,
11447        out: *mut u8,
11448        length: usize,
11449        schedule: *const BF_KEY,
11450        ivec: *mut u8,
11451        num: *mut ::std::os::raw::c_int,
11452        encrypt: ::std::os::raw::c_int,
11453    );
11454}
11455extern "C" {
11456    #[link_name = "aws_lc_0_46_0_BF_ofb64_encrypt"]
11457    pub fn BF_ofb64_encrypt(
11458        in_: *const u8,
11459        out: *mut u8,
11460        length: usize,
11461        schedule: *const BF_KEY,
11462        ivec: *mut u8,
11463        num: *mut ::std::os::raw::c_int,
11464    );
11465}
11466#[repr(C)]
11467#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11468pub struct cbs_st {
11469    pub data: *const u8,
11470    pub len: usize,
11471}
11472#[test]
11473fn bindgen_test_layout_cbs_st() {
11474    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11475    let ptr = UNINIT.as_ptr();
11476    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
11477    assert_eq!(
11478        ::std::mem::align_of::<cbs_st>(),
11479        8usize,
11480        "Alignment of cbs_st"
11481    );
11482    assert_eq!(
11483        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11484        0usize,
11485        "Offset of field: cbs_st::data"
11486    );
11487    assert_eq!(
11488        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11489        8usize,
11490        "Offset of field: cbs_st::len"
11491    );
11492}
11493impl Default for cbs_st {
11494    fn default() -> Self {
11495        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11496        unsafe {
11497            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11498            s.assume_init()
11499        }
11500    }
11501}
11502extern "C" {
11503    #[link_name = "aws_lc_0_46_0_CBS_init"]
11504    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11505}
11506extern "C" {
11507    #[link_name = "aws_lc_0_46_0_CBS_skip"]
11508    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11509}
11510extern "C" {
11511    #[link_name = "aws_lc_0_46_0_CBS_data"]
11512    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11513}
11514extern "C" {
11515    #[link_name = "aws_lc_0_46_0_CBS_len"]
11516    pub fn CBS_len(cbs: *const CBS) -> usize;
11517}
11518extern "C" {
11519    #[link_name = "aws_lc_0_46_0_CBS_stow"]
11520    pub fn CBS_stow(
11521        cbs: *const CBS,
11522        out_ptr: *mut *mut u8,
11523        out_len: *mut usize,
11524    ) -> ::std::os::raw::c_int;
11525}
11526extern "C" {
11527    #[link_name = "aws_lc_0_46_0_CBS_strdup"]
11528    pub fn CBS_strdup(
11529        cbs: *const CBS,
11530        out_ptr: *mut *mut ::std::os::raw::c_char,
11531    ) -> ::std::os::raw::c_int;
11532}
11533extern "C" {
11534    #[link_name = "aws_lc_0_46_0_CBS_contains_zero_byte"]
11535    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11536}
11537extern "C" {
11538    #[link_name = "aws_lc_0_46_0_CBS_mem_equal"]
11539    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11540}
11541extern "C" {
11542    #[link_name = "aws_lc_0_46_0_CBS_get_u8"]
11543    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11544}
11545extern "C" {
11546    #[link_name = "aws_lc_0_46_0_CBS_get_u16"]
11547    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11548}
11549extern "C" {
11550    #[link_name = "aws_lc_0_46_0_CBS_get_u16le"]
11551    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11552}
11553extern "C" {
11554    #[link_name = "aws_lc_0_46_0_CBS_get_u24"]
11555    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558    #[link_name = "aws_lc_0_46_0_CBS_get_u32"]
11559    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11560}
11561extern "C" {
11562    #[link_name = "aws_lc_0_46_0_CBS_get_u32le"]
11563    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11564}
11565extern "C" {
11566    #[link_name = "aws_lc_0_46_0_CBS_get_u64"]
11567    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11568}
11569extern "C" {
11570    #[link_name = "aws_lc_0_46_0_CBS_get_u64le"]
11571    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11572}
11573extern "C" {
11574    #[link_name = "aws_lc_0_46_0_CBS_get_last_u8"]
11575    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11576}
11577extern "C" {
11578    #[link_name = "aws_lc_0_46_0_CBS_get_bytes"]
11579    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11580}
11581extern "C" {
11582    #[link_name = "aws_lc_0_46_0_CBS_copy_bytes"]
11583    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11584}
11585extern "C" {
11586    #[link_name = "aws_lc_0_46_0_CBS_get_u8_length_prefixed"]
11587    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11588}
11589extern "C" {
11590    #[link_name = "aws_lc_0_46_0_CBS_get_u16_length_prefixed"]
11591    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11592}
11593extern "C" {
11594    #[link_name = "aws_lc_0_46_0_CBS_get_u24_length_prefixed"]
11595    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11596}
11597extern "C" {
11598    #[link_name = "aws_lc_0_46_0_CBS_get_until_first"]
11599    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11600}
11601extern "C" {
11602    #[link_name = "aws_lc_0_46_0_CBS_get_u64_decimal"]
11603    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11604}
11605extern "C" {
11606    #[link_name = "aws_lc_0_46_0_CBS_get_asn1"]
11607    pub fn CBS_get_asn1(
11608        cbs: *mut CBS,
11609        out: *mut CBS,
11610        tag_value: CBS_ASN1_TAG,
11611    ) -> ::std::os::raw::c_int;
11612}
11613extern "C" {
11614    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_element"]
11615    pub fn CBS_get_asn1_element(
11616        cbs: *mut CBS,
11617        out: *mut CBS,
11618        tag_value: CBS_ASN1_TAG,
11619    ) -> ::std::os::raw::c_int;
11620}
11621extern "C" {
11622    #[link_name = "aws_lc_0_46_0_CBS_peek_asn1_tag"]
11623    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11624}
11625extern "C" {
11626    #[link_name = "aws_lc_0_46_0_CBS_get_any_asn1"]
11627    pub fn CBS_get_any_asn1(
11628        cbs: *mut CBS,
11629        out: *mut CBS,
11630        out_tag: *mut CBS_ASN1_TAG,
11631    ) -> ::std::os::raw::c_int;
11632}
11633extern "C" {
11634    #[link_name = "aws_lc_0_46_0_CBS_get_any_asn1_element"]
11635    pub fn CBS_get_any_asn1_element(
11636        cbs: *mut CBS,
11637        out: *mut CBS,
11638        out_tag: *mut CBS_ASN1_TAG,
11639        out_header_len: *mut usize,
11640    ) -> ::std::os::raw::c_int;
11641}
11642extern "C" {
11643    #[link_name = "aws_lc_0_46_0_CBS_get_any_ber_asn1_element"]
11644    pub fn CBS_get_any_ber_asn1_element(
11645        cbs: *mut CBS,
11646        out: *mut CBS,
11647        out_tag: *mut CBS_ASN1_TAG,
11648        out_header_len: *mut usize,
11649        out_ber_found: *mut ::std::os::raw::c_int,
11650        out_indefinite: *mut ::std::os::raw::c_int,
11651    ) -> ::std::os::raw::c_int;
11652}
11653extern "C" {
11654    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_uint64"]
11655    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11656}
11657extern "C" {
11658    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_int64"]
11659    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11660}
11661extern "C" {
11662    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_bool"]
11663    pub fn CBS_get_asn1_bool(
11664        cbs: *mut CBS,
11665        out: *mut ::std::os::raw::c_int,
11666    ) -> ::std::os::raw::c_int;
11667}
11668extern "C" {
11669    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1"]
11670    pub fn CBS_get_optional_asn1(
11671        cbs: *mut CBS,
11672        out: *mut CBS,
11673        out_present: *mut ::std::os::raw::c_int,
11674        tag: CBS_ASN1_TAG,
11675    ) -> ::std::os::raw::c_int;
11676}
11677extern "C" {
11678    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_octet_string"]
11679    pub fn CBS_get_optional_asn1_octet_string(
11680        cbs: *mut CBS,
11681        out: *mut CBS,
11682        out_present: *mut ::std::os::raw::c_int,
11683        tag: CBS_ASN1_TAG,
11684    ) -> ::std::os::raw::c_int;
11685}
11686extern "C" {
11687    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_uint64"]
11688    pub fn CBS_get_optional_asn1_uint64(
11689        cbs: *mut CBS,
11690        out: *mut u64,
11691        tag: CBS_ASN1_TAG,
11692        default_value: u64,
11693    ) -> ::std::os::raw::c_int;
11694}
11695extern "C" {
11696    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_bool"]
11697    pub fn CBS_get_optional_asn1_bool(
11698        cbs: *mut CBS,
11699        out: *mut ::std::os::raw::c_int,
11700        tag: CBS_ASN1_TAG,
11701        default_value: ::std::os::raw::c_int,
11702    ) -> ::std::os::raw::c_int;
11703}
11704extern "C" {
11705    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_bitstring"]
11706    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11707}
11708extern "C" {
11709    #[link_name = "aws_lc_0_46_0_CBS_asn1_bitstring_has_bit"]
11710    pub fn CBS_asn1_bitstring_has_bit(
11711        cbs: *const CBS,
11712        bit: ::std::os::raw::c_uint,
11713    ) -> ::std::os::raw::c_int;
11714}
11715extern "C" {
11716    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_integer"]
11717    pub fn CBS_is_valid_asn1_integer(
11718        cbs: *const CBS,
11719        out_is_negative: *mut ::std::os::raw::c_int,
11720    ) -> ::std::os::raw::c_int;
11721}
11722extern "C" {
11723    #[link_name = "aws_lc_0_46_0_CBS_is_unsigned_asn1_integer"]
11724    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11725}
11726extern "C" {
11727    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_oid"]
11728    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11729}
11730extern "C" {
11731    #[link_name = "aws_lc_0_46_0_CBS_asn1_oid_to_text"]
11732    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11733}
11734extern "C" {
11735    #[link_name = "aws_lc_0_46_0_CBS_parse_generalized_time"]
11736    pub fn CBS_parse_generalized_time(
11737        cbs: *const CBS,
11738        out_tm: *mut tm,
11739        allow_timezone_offset: ::std::os::raw::c_int,
11740    ) -> ::std::os::raw::c_int;
11741}
11742extern "C" {
11743    #[link_name = "aws_lc_0_46_0_CBS_parse_utc_time"]
11744    pub fn CBS_parse_utc_time(
11745        cbs: *const CBS,
11746        out_tm: *mut tm,
11747        allow_timezone_offset: ::std::os::raw::c_int,
11748    ) -> ::std::os::raw::c_int;
11749}
11750extern "C" {
11751    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_int64"]
11752    pub fn CBS_get_optional_asn1_int64(
11753        cbs: *mut CBS,
11754        out: *mut i64,
11755        tag: CBS_ASN1_TAG,
11756        default_value: i64,
11757    ) -> ::std::os::raw::c_int;
11758}
11759#[repr(C)]
11760#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11761pub struct cbb_buffer_st {
11762    pub buf: *mut u8,
11763    pub len: usize,
11764    pub cap: usize,
11765    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11766    pub __bindgen_padding_0: [u8; 7usize],
11767}
11768#[test]
11769fn bindgen_test_layout_cbb_buffer_st() {
11770    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11771    let ptr = UNINIT.as_ptr();
11772    assert_eq!(
11773        ::std::mem::size_of::<cbb_buffer_st>(),
11774        32usize,
11775        "Size of cbb_buffer_st"
11776    );
11777    assert_eq!(
11778        ::std::mem::align_of::<cbb_buffer_st>(),
11779        8usize,
11780        "Alignment of cbb_buffer_st"
11781    );
11782    assert_eq!(
11783        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11784        0usize,
11785        "Offset of field: cbb_buffer_st::buf"
11786    );
11787    assert_eq!(
11788        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11789        8usize,
11790        "Offset of field: cbb_buffer_st::len"
11791    );
11792    assert_eq!(
11793        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11794        16usize,
11795        "Offset of field: cbb_buffer_st::cap"
11796    );
11797}
11798impl Default for cbb_buffer_st {
11799    fn default() -> Self {
11800        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11801        unsafe {
11802            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11803            s.assume_init()
11804        }
11805    }
11806}
11807impl cbb_buffer_st {
11808    #[inline]
11809    #[allow(unnecessary_transmutes)]
11810    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
11811        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
11812    }
11813    #[inline]
11814    #[allow(unnecessary_transmutes)]
11815    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
11816        unsafe {
11817            let val: u32 = ::std::mem::transmute(val);
11818            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
11819        }
11820    }
11821    #[inline]
11822    #[allow(unnecessary_transmutes)]
11823    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
11824        unsafe {
11825            ::std::mem::transmute(
11826                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
11827                    ::std::ptr::addr_of!((*this)._bitfield_1),
11828                ) as u32,
11829            )
11830        }
11831    }
11832    #[inline]
11833    #[allow(unnecessary_transmutes)]
11834    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11835        unsafe {
11836            let val: u32 = ::std::mem::transmute(val);
11837            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
11838                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11839                val as u64,
11840            )
11841        }
11842    }
11843    #[inline]
11844    #[allow(unnecessary_transmutes)]
11845    pub fn error(&self) -> ::std::os::raw::c_uint {
11846        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<1usize, 1u8>() as u32) }
11847    }
11848    #[inline]
11849    #[allow(unnecessary_transmutes)]
11850    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
11851        unsafe {
11852            let val: u32 = ::std::mem::transmute(val);
11853            self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
11854        }
11855    }
11856    #[inline]
11857    #[allow(unnecessary_transmutes)]
11858    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
11859        unsafe {
11860            ::std::mem::transmute(
11861                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
11862                    ::std::ptr::addr_of!((*this)._bitfield_1),
11863                ) as u32,
11864            )
11865        }
11866    }
11867    #[inline]
11868    #[allow(unnecessary_transmutes)]
11869    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11870        unsafe {
11871            let val: u32 = ::std::mem::transmute(val);
11872            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
11873                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11874                val as u64,
11875            )
11876        }
11877    }
11878    #[inline]
11879    #[allow(unnecessary_transmutes)]
11880    pub fn new_bitfield_1(
11881        can_resize: ::std::os::raw::c_uint,
11882        error: ::std::os::raw::c_uint,
11883    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11884        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11885        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
11886            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
11887            can_resize as u64
11888        });
11889        __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
11890            let error: u32 = unsafe { ::std::mem::transmute(error) };
11891            error as u64
11892        });
11893        __bindgen_bitfield_unit
11894    }
11895}
11896#[repr(C)]
11897#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11898pub struct cbb_child_st {
11899    pub base: *mut cbb_buffer_st,
11900    pub offset: usize,
11901    pub pending_len_len: u8,
11902    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11903    pub __bindgen_padding_0: [u16; 3usize],
11904}
11905#[test]
11906fn bindgen_test_layout_cbb_child_st() {
11907    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
11908    let ptr = UNINIT.as_ptr();
11909    assert_eq!(
11910        ::std::mem::size_of::<cbb_child_st>(),
11911        24usize,
11912        "Size of cbb_child_st"
11913    );
11914    assert_eq!(
11915        ::std::mem::align_of::<cbb_child_st>(),
11916        8usize,
11917        "Alignment of cbb_child_st"
11918    );
11919    assert_eq!(
11920        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11921        0usize,
11922        "Offset of field: cbb_child_st::base"
11923    );
11924    assert_eq!(
11925        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
11926        8usize,
11927        "Offset of field: cbb_child_st::offset"
11928    );
11929    assert_eq!(
11930        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
11931        16usize,
11932        "Offset of field: cbb_child_st::pending_len_len"
11933    );
11934}
11935impl Default for cbb_child_st {
11936    fn default() -> Self {
11937        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11938        unsafe {
11939            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11940            s.assume_init()
11941        }
11942    }
11943}
11944impl cbb_child_st {
11945    #[inline]
11946    #[allow(unnecessary_transmutes)]
11947    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
11948        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
11949    }
11950    #[inline]
11951    #[allow(unnecessary_transmutes)]
11952    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
11953        unsafe {
11954            let val: u32 = ::std::mem::transmute(val);
11955            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
11956        }
11957    }
11958    #[inline]
11959    #[allow(unnecessary_transmutes)]
11960    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
11961        unsafe {
11962            ::std::mem::transmute(
11963                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
11964                    ::std::ptr::addr_of!((*this)._bitfield_1),
11965                ) as u32,
11966            )
11967        }
11968    }
11969    #[inline]
11970    #[allow(unnecessary_transmutes)]
11971    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11972        unsafe {
11973            let val: u32 = ::std::mem::transmute(val);
11974            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
11975                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11976                val as u64,
11977            )
11978        }
11979    }
11980    #[inline]
11981    #[allow(unnecessary_transmutes)]
11982    pub fn new_bitfield_1(
11983        pending_is_asn1: ::std::os::raw::c_uint,
11984    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11985        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11986        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
11987            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
11988            pending_is_asn1 as u64
11989        });
11990        __bindgen_bitfield_unit
11991    }
11992}
11993#[repr(C)]
11994#[derive(Copy, Clone)]
11995pub struct cbb_st {
11996    pub child: *mut CBB,
11997    pub is_child: ::std::os::raw::c_char,
11998    pub u: cbb_st__bindgen_ty_1,
11999}
12000#[repr(C)]
12001#[derive(Copy, Clone)]
12002pub union cbb_st__bindgen_ty_1 {
12003    pub base: cbb_buffer_st,
12004    pub child: cbb_child_st,
12005}
12006#[test]
12007fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
12008    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
12009    let ptr = UNINIT.as_ptr();
12010    assert_eq!(
12011        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
12012        32usize,
12013        "Size of cbb_st__bindgen_ty_1"
12014    );
12015    assert_eq!(
12016        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
12017        8usize,
12018        "Alignment of cbb_st__bindgen_ty_1"
12019    );
12020    assert_eq!(
12021        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12022        0usize,
12023        "Offset of field: cbb_st__bindgen_ty_1::base"
12024    );
12025    assert_eq!(
12026        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12027        0usize,
12028        "Offset of field: cbb_st__bindgen_ty_1::child"
12029    );
12030}
12031impl Default for cbb_st__bindgen_ty_1 {
12032    fn default() -> Self {
12033        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12034        unsafe {
12035            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12036            s.assume_init()
12037        }
12038    }
12039}
12040#[test]
12041fn bindgen_test_layout_cbb_st() {
12042    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
12043    let ptr = UNINIT.as_ptr();
12044    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
12045    assert_eq!(
12046        ::std::mem::align_of::<cbb_st>(),
12047        8usize,
12048        "Alignment of cbb_st"
12049    );
12050    assert_eq!(
12051        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12052        0usize,
12053        "Offset of field: cbb_st::child"
12054    );
12055    assert_eq!(
12056        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
12057        8usize,
12058        "Offset of field: cbb_st::is_child"
12059    );
12060    assert_eq!(
12061        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12062        16usize,
12063        "Offset of field: cbb_st::u"
12064    );
12065}
12066impl Default for cbb_st {
12067    fn default() -> Self {
12068        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12069        unsafe {
12070            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12071            s.assume_init()
12072        }
12073    }
12074}
12075extern "C" {
12076    #[link_name = "aws_lc_0_46_0_CBB_zero"]
12077    pub fn CBB_zero(cbb: *mut CBB);
12078}
12079extern "C" {
12080    #[link_name = "aws_lc_0_46_0_CBB_init"]
12081    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
12082}
12083extern "C" {
12084    #[link_name = "aws_lc_0_46_0_CBB_init_fixed"]
12085    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
12086}
12087extern "C" {
12088    #[link_name = "aws_lc_0_46_0_CBB_cleanup"]
12089    pub fn CBB_cleanup(cbb: *mut CBB);
12090}
12091extern "C" {
12092    #[link_name = "aws_lc_0_46_0_CBB_finish"]
12093    pub fn CBB_finish(
12094        cbb: *mut CBB,
12095        out_data: *mut *mut u8,
12096        out_len: *mut usize,
12097    ) -> ::std::os::raw::c_int;
12098}
12099extern "C" {
12100    #[link_name = "aws_lc_0_46_0_CBB_flush"]
12101    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
12102}
12103extern "C" {
12104    #[link_name = "aws_lc_0_46_0_CBB_data"]
12105    pub fn CBB_data(cbb: *const CBB) -> *const u8;
12106}
12107extern "C" {
12108    #[link_name = "aws_lc_0_46_0_CBB_len"]
12109    pub fn CBB_len(cbb: *const CBB) -> usize;
12110}
12111extern "C" {
12112    #[link_name = "aws_lc_0_46_0_CBB_add_u8_length_prefixed"]
12113    pub fn CBB_add_u8_length_prefixed(
12114        cbb: *mut CBB,
12115        out_contents: *mut CBB,
12116    ) -> ::std::os::raw::c_int;
12117}
12118extern "C" {
12119    #[link_name = "aws_lc_0_46_0_CBB_add_u16_length_prefixed"]
12120    pub fn CBB_add_u16_length_prefixed(
12121        cbb: *mut CBB,
12122        out_contents: *mut CBB,
12123    ) -> ::std::os::raw::c_int;
12124}
12125extern "C" {
12126    #[link_name = "aws_lc_0_46_0_CBB_add_u24_length_prefixed"]
12127    pub fn CBB_add_u24_length_prefixed(
12128        cbb: *mut CBB,
12129        out_contents: *mut CBB,
12130    ) -> ::std::os::raw::c_int;
12131}
12132extern "C" {
12133    #[link_name = "aws_lc_0_46_0_CBB_add_asn1"]
12134    pub fn CBB_add_asn1(
12135        cbb: *mut CBB,
12136        out_contents: *mut CBB,
12137        tag: CBS_ASN1_TAG,
12138    ) -> ::std::os::raw::c_int;
12139}
12140extern "C" {
12141    #[link_name = "aws_lc_0_46_0_CBB_add_bytes"]
12142    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
12143}
12144extern "C" {
12145    #[link_name = "aws_lc_0_46_0_CBB_add_zeros"]
12146    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12147}
12148extern "C" {
12149    #[link_name = "aws_lc_0_46_0_CBB_add_space"]
12150    pub fn CBB_add_space(
12151        cbb: *mut CBB,
12152        out_data: *mut *mut u8,
12153        len: usize,
12154    ) -> ::std::os::raw::c_int;
12155}
12156extern "C" {
12157    #[link_name = "aws_lc_0_46_0_CBB_reserve"]
12158    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
12159}
12160extern "C" {
12161    #[link_name = "aws_lc_0_46_0_CBB_did_write"]
12162    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12163}
12164extern "C" {
12165    #[link_name = "aws_lc_0_46_0_CBB_add_u8"]
12166    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
12167}
12168extern "C" {
12169    #[link_name = "aws_lc_0_46_0_CBB_add_u16"]
12170    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12171}
12172extern "C" {
12173    #[link_name = "aws_lc_0_46_0_CBB_add_u16le"]
12174    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12175}
12176extern "C" {
12177    #[link_name = "aws_lc_0_46_0_CBB_add_u24"]
12178    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12179}
12180extern "C" {
12181    #[link_name = "aws_lc_0_46_0_CBB_add_u32"]
12182    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12183}
12184extern "C" {
12185    #[link_name = "aws_lc_0_46_0_CBB_add_u32le"]
12186    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12187}
12188extern "C" {
12189    #[link_name = "aws_lc_0_46_0_CBB_add_u64"]
12190    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12191}
12192extern "C" {
12193    #[link_name = "aws_lc_0_46_0_CBB_add_u64le"]
12194    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12195}
12196extern "C" {
12197    #[link_name = "aws_lc_0_46_0_CBB_discard_child"]
12198    pub fn CBB_discard_child(cbb: *mut CBB);
12199}
12200extern "C" {
12201    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_uint64"]
12202    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12203}
12204extern "C" {
12205    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_uint64_with_tag"]
12206    pub fn CBB_add_asn1_uint64_with_tag(
12207        cbb: *mut CBB,
12208        value: u64,
12209        tag: CBS_ASN1_TAG,
12210    ) -> ::std::os::raw::c_int;
12211}
12212extern "C" {
12213    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_int64"]
12214    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
12215}
12216extern "C" {
12217    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_int64_with_tag"]
12218    pub fn CBB_add_asn1_int64_with_tag(
12219        cbb: *mut CBB,
12220        value: i64,
12221        tag: CBS_ASN1_TAG,
12222    ) -> ::std::os::raw::c_int;
12223}
12224extern "C" {
12225    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_octet_string"]
12226    pub fn CBB_add_asn1_octet_string(
12227        cbb: *mut CBB,
12228        data: *const u8,
12229        data_len: usize,
12230    ) -> ::std::os::raw::c_int;
12231}
12232extern "C" {
12233    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_bool"]
12234    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12235}
12236extern "C" {
12237    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_oid_from_text"]
12238    pub fn CBB_add_asn1_oid_from_text(
12239        cbb: *mut CBB,
12240        text: *const ::std::os::raw::c_char,
12241        len: usize,
12242    ) -> ::std::os::raw::c_int;
12243}
12244extern "C" {
12245    #[link_name = "aws_lc_0_46_0_CBB_flush_asn1_set_of"]
12246    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
12247}
12248extern "C" {
12249    #[link_name = "aws_lc_0_46_0_CRYPTO_chacha_20"]
12250    pub fn CRYPTO_chacha_20(
12251        out: *mut u8,
12252        in_: *const u8,
12253        in_len: usize,
12254        key: *const u8,
12255        nonce: *const u8,
12256        counter: u32,
12257    );
12258}
12259extern "C" {
12260    #[link_name = "aws_lc_0_46_0_EVP_rc4"]
12261    pub fn EVP_rc4() -> *const EVP_CIPHER;
12262}
12263extern "C" {
12264    #[link_name = "aws_lc_0_46_0_EVP_des_cbc"]
12265    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
12266}
12267extern "C" {
12268    #[link_name = "aws_lc_0_46_0_EVP_des_ecb"]
12269    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
12270}
12271extern "C" {
12272    #[link_name = "aws_lc_0_46_0_EVP_des_ede"]
12273    pub fn EVP_des_ede() -> *const EVP_CIPHER;
12274}
12275extern "C" {
12276    #[link_name = "aws_lc_0_46_0_EVP_des_ede3"]
12277    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
12278}
12279extern "C" {
12280    #[link_name = "aws_lc_0_46_0_EVP_des_ede_cbc"]
12281    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
12282}
12283extern "C" {
12284    #[link_name = "aws_lc_0_46_0_EVP_des_ede3_cbc"]
12285    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
12286}
12287extern "C" {
12288    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ecb"]
12289    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
12290}
12291extern "C" {
12292    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc"]
12293    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
12294}
12295extern "C" {
12296    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ctr"]
12297    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
12298}
12299extern "C" {
12300    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ofb"]
12301    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
12302}
12303extern "C" {
12304    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ecb"]
12305    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
12306}
12307extern "C" {
12308    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc"]
12309    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
12310}
12311extern "C" {
12312    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ctr"]
12313    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
12314}
12315extern "C" {
12316    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ofb"]
12317    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
12318}
12319extern "C" {
12320    #[link_name = "aws_lc_0_46_0_EVP_aes_256_xts"]
12321    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
12322}
12323extern "C" {
12324    #[link_name = "aws_lc_0_46_0_EVP_aes_256_wrap"]
12325    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
12326}
12327extern "C" {
12328    #[link_name = "aws_lc_0_46_0_EVP_enc_null"]
12329    pub fn EVP_enc_null() -> *const EVP_CIPHER;
12330}
12331extern "C" {
12332    #[link_name = "aws_lc_0_46_0_EVP_rc2_cbc"]
12333    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
12334}
12335extern "C" {
12336    #[link_name = "aws_lc_0_46_0_EVP_rc2_40_cbc"]
12337    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
12338}
12339extern "C" {
12340    #[link_name = "aws_lc_0_46_0_EVP_chacha20_poly1305"]
12341    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
12342}
12343extern "C" {
12344    #[link_name = "aws_lc_0_46_0_EVP_get_cipherbynid"]
12345    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
12346}
12347extern "C" {
12348    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_init"]
12349    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
12350}
12351extern "C" {
12352    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_new"]
12353    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
12354}
12355extern "C" {
12356    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_cleanup"]
12357    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12358}
12359extern "C" {
12360    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_free"]
12361    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
12362}
12363extern "C" {
12364    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_copy"]
12365    pub fn EVP_CIPHER_CTX_copy(
12366        out: *mut EVP_CIPHER_CTX,
12367        in_: *const EVP_CIPHER_CTX,
12368    ) -> ::std::os::raw::c_int;
12369}
12370extern "C" {
12371    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_reset"]
12372    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12373}
12374extern "C" {
12375    #[link_name = "aws_lc_0_46_0_EVP_CipherInit_ex"]
12376    pub fn EVP_CipherInit_ex(
12377        ctx: *mut EVP_CIPHER_CTX,
12378        cipher: *const EVP_CIPHER,
12379        engine: *mut ENGINE,
12380        key: *const u8,
12381        iv: *const u8,
12382        enc: ::std::os::raw::c_int,
12383    ) -> ::std::os::raw::c_int;
12384}
12385extern "C" {
12386    #[link_name = "aws_lc_0_46_0_EVP_EncryptInit_ex"]
12387    pub fn EVP_EncryptInit_ex(
12388        ctx: *mut EVP_CIPHER_CTX,
12389        cipher: *const EVP_CIPHER,
12390        impl_: *mut ENGINE,
12391        key: *const u8,
12392        iv: *const u8,
12393    ) -> ::std::os::raw::c_int;
12394}
12395extern "C" {
12396    #[link_name = "aws_lc_0_46_0_EVP_DecryptInit_ex"]
12397    pub fn EVP_DecryptInit_ex(
12398        ctx: *mut EVP_CIPHER_CTX,
12399        cipher: *const EVP_CIPHER,
12400        impl_: *mut ENGINE,
12401        key: *const u8,
12402        iv: *const u8,
12403    ) -> ::std::os::raw::c_int;
12404}
12405extern "C" {
12406    #[link_name = "aws_lc_0_46_0_EVP_EncryptUpdate"]
12407    pub fn EVP_EncryptUpdate(
12408        ctx: *mut EVP_CIPHER_CTX,
12409        out: *mut u8,
12410        out_len: *mut ::std::os::raw::c_int,
12411        in_: *const u8,
12412        in_len: ::std::os::raw::c_int,
12413    ) -> ::std::os::raw::c_int;
12414}
12415extern "C" {
12416    #[link_name = "aws_lc_0_46_0_EVP_EncryptFinal_ex"]
12417    pub fn EVP_EncryptFinal_ex(
12418        ctx: *mut EVP_CIPHER_CTX,
12419        out: *mut u8,
12420        out_len: *mut ::std::os::raw::c_int,
12421    ) -> ::std::os::raw::c_int;
12422}
12423extern "C" {
12424    #[link_name = "aws_lc_0_46_0_EVP_DecryptUpdate"]
12425    pub fn EVP_DecryptUpdate(
12426        ctx: *mut EVP_CIPHER_CTX,
12427        out: *mut u8,
12428        out_len: *mut ::std::os::raw::c_int,
12429        in_: *const u8,
12430        in_len: ::std::os::raw::c_int,
12431    ) -> ::std::os::raw::c_int;
12432}
12433extern "C" {
12434    #[link_name = "aws_lc_0_46_0_EVP_DecryptFinal_ex"]
12435    pub fn EVP_DecryptFinal_ex(
12436        ctx: *mut EVP_CIPHER_CTX,
12437        out: *mut u8,
12438        out_len: *mut ::std::os::raw::c_int,
12439    ) -> ::std::os::raw::c_int;
12440}
12441extern "C" {
12442    #[link_name = "aws_lc_0_46_0_EVP_CipherUpdate"]
12443    pub fn EVP_CipherUpdate(
12444        ctx: *mut EVP_CIPHER_CTX,
12445        out: *mut u8,
12446        out_len: *mut ::std::os::raw::c_int,
12447        in_: *const u8,
12448        in_len: ::std::os::raw::c_int,
12449    ) -> ::std::os::raw::c_int;
12450}
12451extern "C" {
12452    #[link_name = "aws_lc_0_46_0_EVP_CipherFinal_ex"]
12453    pub fn EVP_CipherFinal_ex(
12454        ctx: *mut EVP_CIPHER_CTX,
12455        out: *mut u8,
12456        out_len: *mut ::std::os::raw::c_int,
12457    ) -> ::std::os::raw::c_int;
12458}
12459extern "C" {
12460    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_cipher"]
12461    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12462}
12463extern "C" {
12464    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_nid"]
12465    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12466}
12467extern "C" {
12468    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_encrypting"]
12469    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12470}
12471extern "C" {
12472    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_block_size"]
12473    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12474}
12475extern "C" {
12476    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_key_length"]
12477    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12478}
12479extern "C" {
12480    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_iv_length"]
12481    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12482}
12483extern "C" {
12484    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_get_app_data"]
12485    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12486}
12487extern "C" {
12488    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_app_data"]
12489    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12490}
12491extern "C" {
12492    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_flags"]
12493    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12494}
12495extern "C" {
12496    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_mode"]
12497    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12498}
12499extern "C" {
12500    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_ctrl"]
12501    pub fn EVP_CIPHER_CTX_ctrl(
12502        ctx: *mut EVP_CIPHER_CTX,
12503        command: ::std::os::raw::c_int,
12504        arg: ::std::os::raw::c_int,
12505        ptr: *mut ::std::os::raw::c_void,
12506    ) -> ::std::os::raw::c_int;
12507}
12508extern "C" {
12509    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_padding"]
12510    pub fn EVP_CIPHER_CTX_set_padding(
12511        ctx: *mut EVP_CIPHER_CTX,
12512        pad: ::std::os::raw::c_int,
12513    ) -> ::std::os::raw::c_int;
12514}
12515extern "C" {
12516    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_key_length"]
12517    pub fn EVP_CIPHER_CTX_set_key_length(
12518        ctx: *mut EVP_CIPHER_CTX,
12519        key_len: ::std::os::raw::c_uint,
12520    ) -> ::std::os::raw::c_int;
12521}
12522extern "C" {
12523    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_nid"]
12524    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12525}
12526extern "C" {
12527    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_name"]
12528    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12529}
12530extern "C" {
12531    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_block_size"]
12532    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12533}
12534extern "C" {
12535    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_key_length"]
12536    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12537}
12538extern "C" {
12539    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_iv_length"]
12540    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12541}
12542extern "C" {
12543    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_flags"]
12544    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12545}
12546extern "C" {
12547    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_mode"]
12548    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12549}
12550extern "C" {
12551    #[link_name = "aws_lc_0_46_0_EVP_BytesToKey"]
12552    pub fn EVP_BytesToKey(
12553        type_: *const EVP_CIPHER,
12554        md: *const EVP_MD,
12555        salt: *const u8,
12556        data: *const u8,
12557        data_len: usize,
12558        count: ::std::os::raw::c_uint,
12559        key: *mut u8,
12560        iv: *mut u8,
12561    ) -> ::std::os::raw::c_int;
12562}
12563extern "C" {
12564    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc_hmac_sha1"]
12565    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12566}
12567extern "C" {
12568    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc_hmac_sha1"]
12569    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12570}
12571extern "C" {
12572    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc_hmac_sha256"]
12573    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12574}
12575extern "C" {
12576    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc_hmac_sha256"]
12577    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12578}
12579extern "C" {
12580    #[link_name = "aws_lc_0_46_0_EVP_CipherInit"]
12581    pub fn EVP_CipherInit(
12582        ctx: *mut EVP_CIPHER_CTX,
12583        cipher: *const EVP_CIPHER,
12584        key: *const u8,
12585        iv: *const u8,
12586        enc: ::std::os::raw::c_int,
12587    ) -> ::std::os::raw::c_int;
12588}
12589extern "C" {
12590    #[link_name = "aws_lc_0_46_0_EVP_EncryptInit"]
12591    pub fn EVP_EncryptInit(
12592        ctx: *mut EVP_CIPHER_CTX,
12593        cipher: *const EVP_CIPHER,
12594        key: *const u8,
12595        iv: *const u8,
12596    ) -> ::std::os::raw::c_int;
12597}
12598extern "C" {
12599    #[link_name = "aws_lc_0_46_0_EVP_DecryptInit"]
12600    pub fn EVP_DecryptInit(
12601        ctx: *mut EVP_CIPHER_CTX,
12602        cipher: *const EVP_CIPHER,
12603        key: *const u8,
12604        iv: *const u8,
12605    ) -> ::std::os::raw::c_int;
12606}
12607extern "C" {
12608    #[link_name = "aws_lc_0_46_0_EVP_CipherFinal"]
12609    pub fn EVP_CipherFinal(
12610        ctx: *mut EVP_CIPHER_CTX,
12611        out: *mut u8,
12612        out_len: *mut ::std::os::raw::c_int,
12613    ) -> ::std::os::raw::c_int;
12614}
12615extern "C" {
12616    #[link_name = "aws_lc_0_46_0_EVP_EncryptFinal"]
12617    pub fn EVP_EncryptFinal(
12618        ctx: *mut EVP_CIPHER_CTX,
12619        out: *mut u8,
12620        out_len: *mut ::std::os::raw::c_int,
12621    ) -> ::std::os::raw::c_int;
12622}
12623extern "C" {
12624    #[link_name = "aws_lc_0_46_0_EVP_DecryptFinal"]
12625    pub fn EVP_DecryptFinal(
12626        ctx: *mut EVP_CIPHER_CTX,
12627        out: *mut u8,
12628        out_len: *mut ::std::os::raw::c_int,
12629    ) -> ::std::os::raw::c_int;
12630}
12631extern "C" {
12632    #[link_name = "aws_lc_0_46_0_EVP_Cipher"]
12633    pub fn EVP_Cipher(
12634        ctx: *mut EVP_CIPHER_CTX,
12635        out: *mut u8,
12636        in_: *const u8,
12637        in_len: usize,
12638    ) -> ::std::os::raw::c_int;
12639}
12640extern "C" {
12641    #[link_name = "aws_lc_0_46_0_EVP_get_cipherbyname"]
12642    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12643}
12644extern "C" {
12645    #[link_name = "aws_lc_0_46_0_EVP_aes_128_gcm"]
12646    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12647}
12648extern "C" {
12649    #[link_name = "aws_lc_0_46_0_EVP_aes_256_gcm"]
12650    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12651}
12652extern "C" {
12653    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ccm"]
12654    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12655}
12656extern "C" {
12657    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ccm"]
12658    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12659}
12660extern "C" {
12661    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ccm"]
12662    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12663}
12664extern "C" {
12665    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ecb"]
12666    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12667}
12668extern "C" {
12669    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cbc"]
12670    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12671}
12672extern "C" {
12673    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ctr"]
12674    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12675}
12676extern "C" {
12677    #[link_name = "aws_lc_0_46_0_EVP_aes_192_gcm"]
12678    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12679}
12680extern "C" {
12681    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ofb"]
12682    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12683}
12684extern "C" {
12685    #[link_name = "aws_lc_0_46_0_EVP_des_ede3_ecb"]
12686    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12687}
12688extern "C" {
12689    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb128"]
12690    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12691}
12692extern "C" {
12693    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb"]
12694    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12695}
12696extern "C" {
12697    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb1"]
12698    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12699}
12700extern "C" {
12701    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb8"]
12702    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12703}
12704extern "C" {
12705    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb128"]
12706    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12707}
12708extern "C" {
12709    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb"]
12710    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12711}
12712extern "C" {
12713    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb1"]
12714    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12715}
12716extern "C" {
12717    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb8"]
12718    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12719}
12720extern "C" {
12721    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb128"]
12722    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12723}
12724extern "C" {
12725    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb"]
12726    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12727}
12728extern "C" {
12729    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb1"]
12730    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12731}
12732extern "C" {
12733    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb8"]
12734    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12735}
12736extern "C" {
12737    #[link_name = "aws_lc_0_46_0_EVP_bf_ecb"]
12738    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12739}
12740extern "C" {
12741    #[link_name = "aws_lc_0_46_0_EVP_bf_cbc"]
12742    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12743}
12744extern "C" {
12745    #[link_name = "aws_lc_0_46_0_EVP_bf_cfb"]
12746    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12747}
12748extern "C" {
12749    #[link_name = "aws_lc_0_46_0_EVP_bf_cfb64"]
12750    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
12751}
12752extern "C" {
12753    #[link_name = "aws_lc_0_46_0_EVP_bf_ofb"]
12754    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
12755}
12756extern "C" {
12757    #[link_name = "aws_lc_0_46_0_EVP_cast5_ecb"]
12758    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12759}
12760extern "C" {
12761    #[link_name = "aws_lc_0_46_0_EVP_cast5_cbc"]
12762    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12763}
12764extern "C" {
12765    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_flags"]
12766    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12767}
12768extern "C" {
12769    #[link_name = "aws_lc_0_46_0_EVP_add_cipher"]
12770    pub fn EVP_add_cipher(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    #[link_name = "aws_lc_0_46_0_EVP_add_cipher_alias"]
12774    pub fn EVP_add_cipher_alias(
12775        a: *const ::std::os::raw::c_char,
12776        b: *const ::std::os::raw::c_char,
12777    ) -> ::std::os::raw::c_int;
12778}
12779#[repr(C)]
12780#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12781pub struct evp_cipher_ctx_st {
12782    pub cipher: *const EVP_CIPHER,
12783    pub app_data: *mut ::std::os::raw::c_void,
12784    pub cipher_data: *mut ::std::os::raw::c_void,
12785    pub key_len: ::std::os::raw::c_uint,
12786    pub encrypt: ::std::os::raw::c_int,
12787    pub flags: u32,
12788    pub oiv: [u8; 16usize],
12789    pub iv: [u8; 16usize],
12790    pub buf: [u8; 32usize],
12791    pub buf_len: ::std::os::raw::c_int,
12792    pub num: ::std::os::raw::c_uint,
12793    pub final_used: ::std::os::raw::c_int,
12794    pub final_: [u8; 32usize],
12795    pub poisoned: ::std::os::raw::c_int,
12796}
12797#[test]
12798fn bindgen_test_layout_evp_cipher_ctx_st() {
12799    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12800    let ptr = UNINIT.as_ptr();
12801    assert_eq!(
12802        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12803        152usize,
12804        "Size of evp_cipher_ctx_st"
12805    );
12806    assert_eq!(
12807        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12808        8usize,
12809        "Alignment of evp_cipher_ctx_st"
12810    );
12811    assert_eq!(
12812        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12813        0usize,
12814        "Offset of field: evp_cipher_ctx_st::cipher"
12815    );
12816    assert_eq!(
12817        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12818        8usize,
12819        "Offset of field: evp_cipher_ctx_st::app_data"
12820    );
12821    assert_eq!(
12822        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
12823        16usize,
12824        "Offset of field: evp_cipher_ctx_st::cipher_data"
12825    );
12826    assert_eq!(
12827        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
12828        24usize,
12829        "Offset of field: evp_cipher_ctx_st::key_len"
12830    );
12831    assert_eq!(
12832        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
12833        28usize,
12834        "Offset of field: evp_cipher_ctx_st::encrypt"
12835    );
12836    assert_eq!(
12837        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12838        32usize,
12839        "Offset of field: evp_cipher_ctx_st::flags"
12840    );
12841    assert_eq!(
12842        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
12843        36usize,
12844        "Offset of field: evp_cipher_ctx_st::oiv"
12845    );
12846    assert_eq!(
12847        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12848        52usize,
12849        "Offset of field: evp_cipher_ctx_st::iv"
12850    );
12851    assert_eq!(
12852        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12853        68usize,
12854        "Offset of field: evp_cipher_ctx_st::buf"
12855    );
12856    assert_eq!(
12857        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
12858        100usize,
12859        "Offset of field: evp_cipher_ctx_st::buf_len"
12860    );
12861    assert_eq!(
12862        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
12863        104usize,
12864        "Offset of field: evp_cipher_ctx_st::num"
12865    );
12866    assert_eq!(
12867        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
12868        108usize,
12869        "Offset of field: evp_cipher_ctx_st::final_used"
12870    );
12871    assert_eq!(
12872        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
12873        112usize,
12874        "Offset of field: evp_cipher_ctx_st::final_"
12875    );
12876    assert_eq!(
12877        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
12878        144usize,
12879        "Offset of field: evp_cipher_ctx_st::poisoned"
12880    );
12881}
12882impl Default for evp_cipher_ctx_st {
12883    fn default() -> Self {
12884        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12885        unsafe {
12886            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12887            s.assume_init()
12888        }
12889    }
12890}
12891#[repr(C)]
12892#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12893pub struct evp_cipher_info_st {
12894    pub cipher: *const EVP_CIPHER,
12895    pub iv: [::std::os::raw::c_uchar; 16usize],
12896}
12897#[test]
12898fn bindgen_test_layout_evp_cipher_info_st() {
12899    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
12900    let ptr = UNINIT.as_ptr();
12901    assert_eq!(
12902        ::std::mem::size_of::<evp_cipher_info_st>(),
12903        24usize,
12904        "Size of evp_cipher_info_st"
12905    );
12906    assert_eq!(
12907        ::std::mem::align_of::<evp_cipher_info_st>(),
12908        8usize,
12909        "Alignment of evp_cipher_info_st"
12910    );
12911    assert_eq!(
12912        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12913        0usize,
12914        "Offset of field: evp_cipher_info_st::cipher"
12915    );
12916    assert_eq!(
12917        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12918        8usize,
12919        "Offset of field: evp_cipher_info_st::iv"
12920    );
12921}
12922impl Default for evp_cipher_info_st {
12923    fn default() -> Self {
12924        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12925        unsafe {
12926            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12927            s.assume_init()
12928        }
12929    }
12930}
12931pub type EVP_CIPHER_INFO = evp_cipher_info_st;
12932extern "C" {
12933    #[link_name = "aws_lc_0_46_0_AES_CMAC"]
12934    pub fn AES_CMAC(
12935        out: *mut u8,
12936        key: *const u8,
12937        key_len: usize,
12938        in_: *const u8,
12939        in_len: usize,
12940    ) -> ::std::os::raw::c_int;
12941}
12942extern "C" {
12943    #[link_name = "aws_lc_0_46_0_CMAC_CTX_new"]
12944    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
12945}
12946extern "C" {
12947    #[link_name = "aws_lc_0_46_0_CMAC_CTX_free"]
12948    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
12949}
12950extern "C" {
12951    #[link_name = "aws_lc_0_46_0_CMAC_CTX_copy"]
12952    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
12953}
12954extern "C" {
12955    #[link_name = "aws_lc_0_46_0_CMAC_Init"]
12956    pub fn CMAC_Init(
12957        ctx: *mut CMAC_CTX,
12958        key: *const ::std::os::raw::c_void,
12959        key_len: usize,
12960        cipher: *const EVP_CIPHER,
12961        engine: *mut ENGINE,
12962    ) -> ::std::os::raw::c_int;
12963}
12964extern "C" {
12965    #[link_name = "aws_lc_0_46_0_CMAC_Reset"]
12966    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
12967}
12968extern "C" {
12969    #[link_name = "aws_lc_0_46_0_CMAC_Update"]
12970    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
12971}
12972extern "C" {
12973    #[link_name = "aws_lc_0_46_0_CMAC_Final"]
12974    pub fn CMAC_Final(
12975        ctx: *mut CMAC_CTX,
12976        out: *mut u8,
12977        out_len: *mut usize,
12978    ) -> ::std::os::raw::c_int;
12979}
12980extern "C" {
12981    #[link_name = "aws_lc_0_46_0_CMAC_CTX_get0_cipher_ctx"]
12982    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
12983}
12984#[repr(C)]
12985#[derive(Debug)]
12986pub struct lhash_st {
12987    _unused: [u8; 0],
12988}
12989pub type _LHASH = lhash_st;
12990extern "C" {
12991    #[link_name = "aws_lc_0_46_0_lh_doall_arg"]
12992    pub fn lh_doall_arg(
12993        lh: *mut _LHASH,
12994        func: ::std::option::Option<
12995            unsafe extern "C" fn(
12996                arg1: *mut ::std::os::raw::c_void,
12997                arg2: *mut ::std::os::raw::c_void,
12998            ),
12999        >,
13000        arg: *mut ::std::os::raw::c_void,
13001    );
13002}
13003#[repr(C)]
13004#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13005pub struct conf_value_st {
13006    pub section: *mut ::std::os::raw::c_char,
13007    pub name: *mut ::std::os::raw::c_char,
13008    pub value: *mut ::std::os::raw::c_char,
13009}
13010#[test]
13011fn bindgen_test_layout_conf_value_st() {
13012    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
13013    let ptr = UNINIT.as_ptr();
13014    assert_eq!(
13015        ::std::mem::size_of::<conf_value_st>(),
13016        24usize,
13017        "Size of conf_value_st"
13018    );
13019    assert_eq!(
13020        ::std::mem::align_of::<conf_value_st>(),
13021        8usize,
13022        "Alignment of conf_value_st"
13023    );
13024    assert_eq!(
13025        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
13026        0usize,
13027        "Offset of field: conf_value_st::section"
13028    );
13029    assert_eq!(
13030        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13031        8usize,
13032        "Offset of field: conf_value_st::name"
13033    );
13034    assert_eq!(
13035        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13036        16usize,
13037        "Offset of field: conf_value_st::value"
13038    );
13039}
13040impl Default for conf_value_st {
13041    fn default() -> Self {
13042        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13043        unsafe {
13044            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13045            s.assume_init()
13046        }
13047    }
13048}
13049#[repr(C)]
13050#[derive(Debug)]
13051pub struct stack_st_CONF_VALUE {
13052    _unused: [u8; 0],
13053}
13054pub type sk_CONF_VALUE_free_func =
13055    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
13056pub type sk_CONF_VALUE_copy_func =
13057    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
13058pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
13059    unsafe extern "C" fn(
13060        arg1: *const *const CONF_VALUE,
13061        arg2: *const *const CONF_VALUE,
13062    ) -> ::std::os::raw::c_int,
13063>;
13064pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
13065    unsafe extern "C" fn(
13066        arg1: *mut CONF_VALUE,
13067        arg2: *mut ::std::os::raw::c_void,
13068    ) -> ::std::os::raw::c_int,
13069>;
13070#[repr(C)]
13071#[derive(Debug)]
13072pub struct lhash_st_CONF_VALUE {
13073    _unused: [u8; 0],
13074}
13075#[repr(C)]
13076#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13077pub struct conf_st {
13078    pub data: *mut lhash_st_CONF_VALUE,
13079}
13080#[test]
13081fn bindgen_test_layout_conf_st() {
13082    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
13083    let ptr = UNINIT.as_ptr();
13084    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
13085    assert_eq!(
13086        ::std::mem::align_of::<conf_st>(),
13087        8usize,
13088        "Alignment of conf_st"
13089    );
13090    assert_eq!(
13091        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13092        0usize,
13093        "Offset of field: conf_st::data"
13094    );
13095}
13096impl Default for conf_st {
13097    fn default() -> Self {
13098        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13099        unsafe {
13100            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13101            s.assume_init()
13102        }
13103    }
13104}
13105extern "C" {
13106    #[link_name = "aws_lc_0_46_0_NCONF_new"]
13107    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
13108}
13109extern "C" {
13110    #[link_name = "aws_lc_0_46_0_NCONF_free"]
13111    pub fn NCONF_free(conf: *mut CONF);
13112}
13113extern "C" {
13114    #[link_name = "aws_lc_0_46_0_NCONF_load"]
13115    pub fn NCONF_load(
13116        conf: *mut CONF,
13117        filename: *const ::std::os::raw::c_char,
13118        out_error_line: *mut ::std::os::raw::c_long,
13119    ) -> ::std::os::raw::c_int;
13120}
13121extern "C" {
13122    #[link_name = "aws_lc_0_46_0_NCONF_load_bio"]
13123    pub fn NCONF_load_bio(
13124        conf: *mut CONF,
13125        bio: *mut BIO,
13126        out_error_line: *mut ::std::os::raw::c_long,
13127    ) -> ::std::os::raw::c_int;
13128}
13129extern "C" {
13130    #[link_name = "aws_lc_0_46_0_NCONF_get_section"]
13131    pub fn NCONF_get_section(
13132        conf: *const CONF,
13133        section: *const ::std::os::raw::c_char,
13134    ) -> *const stack_st_CONF_VALUE;
13135}
13136extern "C" {
13137    #[link_name = "aws_lc_0_46_0_NCONF_get_string"]
13138    pub fn NCONF_get_string(
13139        conf: *const CONF,
13140        section: *const ::std::os::raw::c_char,
13141        name: *const ::std::os::raw::c_char,
13142    ) -> *const ::std::os::raw::c_char;
13143}
13144extern "C" {
13145    #[link_name = "aws_lc_0_46_0_CONF_modules_load_file"]
13146    pub fn CONF_modules_load_file(
13147        filename: *const ::std::os::raw::c_char,
13148        appname: *const ::std::os::raw::c_char,
13149        flags: ::std::os::raw::c_ulong,
13150    ) -> ::std::os::raw::c_int;
13151}
13152extern "C" {
13153    #[link_name = "aws_lc_0_46_0_CONF_get1_default_config_file"]
13154    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
13155}
13156extern "C" {
13157    #[link_name = "aws_lc_0_46_0_CONF_modules_free"]
13158    pub fn CONF_modules_free();
13159}
13160extern "C" {
13161    #[link_name = "aws_lc_0_46_0_CONF_modules_unload"]
13162    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
13163}
13164extern "C" {
13165    #[link_name = "aws_lc_0_46_0_CONF_modules_finish"]
13166    pub fn CONF_modules_finish();
13167}
13168extern "C" {
13169    #[link_name = "aws_lc_0_46_0_OPENSSL_config"]
13170    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
13171}
13172extern "C" {
13173    #[link_name = "aws_lc_0_46_0_OPENSSL_no_config"]
13174    pub fn OPENSSL_no_config();
13175}
13176extern "C" {
13177    #[link_name = "aws_lc_0_46_0_CTR_DRBG_new"]
13178    pub fn CTR_DRBG_new(
13179        entropy: *const u8,
13180        personalization: *const u8,
13181        personalization_len: usize,
13182    ) -> *mut CTR_DRBG_STATE;
13183}
13184extern "C" {
13185    #[link_name = "aws_lc_0_46_0_CTR_DRBG_free"]
13186    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
13187}
13188extern "C" {
13189    #[link_name = "aws_lc_0_46_0_CTR_DRBG_reseed"]
13190    pub fn CTR_DRBG_reseed(
13191        drbg: *mut CTR_DRBG_STATE,
13192        entropy: *const u8,
13193        additional_data: *const u8,
13194        additional_data_len: usize,
13195    ) -> ::std::os::raw::c_int;
13196}
13197extern "C" {
13198    #[link_name = "aws_lc_0_46_0_CTR_DRBG_generate"]
13199    pub fn CTR_DRBG_generate(
13200        drbg: *mut CTR_DRBG_STATE,
13201        out: *mut u8,
13202        out_len: usize,
13203        additional_data: *const u8,
13204        additional_data_len: usize,
13205    ) -> ::std::os::raw::c_int;
13206}
13207extern "C" {
13208    #[link_name = "aws_lc_0_46_0_CTR_DRBG_clear"]
13209    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
13210}
13211extern "C" {
13212    #[link_name = "aws_lc_0_46_0_X25519_keypair"]
13213    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
13214}
13215extern "C" {
13216    #[link_name = "aws_lc_0_46_0_X25519"]
13217    pub fn X25519(
13218        out_shared_key: *mut u8,
13219        private_key: *const u8,
13220        peer_public_value: *const u8,
13221    ) -> ::std::os::raw::c_int;
13222}
13223extern "C" {
13224    #[link_name = "aws_lc_0_46_0_X25519_public_from_private"]
13225    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
13226}
13227extern "C" {
13228    #[link_name = "aws_lc_0_46_0_ED25519_keypair"]
13229    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
13230}
13231extern "C" {
13232    #[link_name = "aws_lc_0_46_0_ED25519_sign"]
13233    pub fn ED25519_sign(
13234        out_sig: *mut u8,
13235        message: *const u8,
13236        message_len: usize,
13237        private_key: *const u8,
13238    ) -> ::std::os::raw::c_int;
13239}
13240extern "C" {
13241    #[link_name = "aws_lc_0_46_0_ED25519_verify"]
13242    pub fn ED25519_verify(
13243        message: *const u8,
13244        message_len: usize,
13245        signature: *const u8,
13246        public_key: *const u8,
13247    ) -> ::std::os::raw::c_int;
13248}
13249extern "C" {
13250    #[link_name = "aws_lc_0_46_0_ED25519ctx_sign"]
13251    pub fn ED25519ctx_sign(
13252        out_sig: *mut u8,
13253        message: *const u8,
13254        message_len: usize,
13255        private_key: *const u8,
13256        context: *const u8,
13257        context_len: usize,
13258    ) -> ::std::os::raw::c_int;
13259}
13260extern "C" {
13261    #[link_name = "aws_lc_0_46_0_ED25519ctx_verify"]
13262    pub fn ED25519ctx_verify(
13263        message: *const u8,
13264        message_len: usize,
13265        signature: *const u8,
13266        public_key: *const u8,
13267        context: *const u8,
13268        context_len: usize,
13269    ) -> ::std::os::raw::c_int;
13270}
13271extern "C" {
13272    #[link_name = "aws_lc_0_46_0_ED25519ph_sign"]
13273    pub fn ED25519ph_sign(
13274        out_sig: *mut u8,
13275        message: *const u8,
13276        message_len: usize,
13277        private_key: *const u8,
13278        context: *const u8,
13279        context_len: usize,
13280    ) -> ::std::os::raw::c_int;
13281}
13282extern "C" {
13283    #[link_name = "aws_lc_0_46_0_ED25519ph_verify"]
13284    pub fn ED25519ph_verify(
13285        message: *const u8,
13286        message_len: usize,
13287        signature: *const u8,
13288        public_key: *const u8,
13289        context: *const u8,
13290        context_len: usize,
13291    ) -> ::std::os::raw::c_int;
13292}
13293extern "C" {
13294    #[link_name = "aws_lc_0_46_0_ED25519ph_sign_digest"]
13295    pub fn ED25519ph_sign_digest(
13296        out_sig: *mut u8,
13297        digest: *const u8,
13298        private_key: *const u8,
13299        context: *const u8,
13300        context_len: usize,
13301    ) -> ::std::os::raw::c_int;
13302}
13303extern "C" {
13304    #[link_name = "aws_lc_0_46_0_ED25519ph_verify_digest"]
13305    pub fn ED25519ph_verify_digest(
13306        digest: *const u8,
13307        signature: *const u8,
13308        public_key: *const u8,
13309        context: *const u8,
13310        context_len: usize,
13311    ) -> ::std::os::raw::c_int;
13312}
13313extern "C" {
13314    #[link_name = "aws_lc_0_46_0_ED25519_keypair_from_seed"]
13315    pub fn ED25519_keypair_from_seed(
13316        out_public_key: *mut u8,
13317        out_private_key: *mut u8,
13318        seed: *const u8,
13319    );
13320}
13321pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
13322pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
13323pub type spake2_role_t = ::std::os::raw::c_uint;
13324extern "C" {
13325    #[link_name = "aws_lc_0_46_0_SPAKE2_CTX_new"]
13326    pub fn SPAKE2_CTX_new(
13327        my_role: spake2_role_t,
13328        my_name: *const u8,
13329        my_name_len: usize,
13330        their_name: *const u8,
13331        their_name_len: usize,
13332    ) -> *mut SPAKE2_CTX;
13333}
13334extern "C" {
13335    #[link_name = "aws_lc_0_46_0_SPAKE2_CTX_free"]
13336    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
13337}
13338extern "C" {
13339    #[link_name = "aws_lc_0_46_0_SPAKE2_generate_msg"]
13340    pub fn SPAKE2_generate_msg(
13341        ctx: *mut SPAKE2_CTX,
13342        out: *mut u8,
13343        out_len: *mut usize,
13344        max_out_len: usize,
13345        password: *const u8,
13346        password_len: usize,
13347    ) -> ::std::os::raw::c_int;
13348}
13349extern "C" {
13350    #[link_name = "aws_lc_0_46_0_SPAKE2_process_msg"]
13351    pub fn SPAKE2_process_msg(
13352        ctx: *mut SPAKE2_CTX,
13353        out_key: *mut u8,
13354        out_key_len: *mut usize,
13355        max_out_key_len: usize,
13356        their_msg: *const u8,
13357        their_msg_len: usize,
13358    ) -> ::std::os::raw::c_int;
13359}
13360#[repr(C)]
13361#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13362pub struct DES_cblock_st {
13363    pub bytes: [u8; 8usize],
13364}
13365#[test]
13366fn bindgen_test_layout_DES_cblock_st() {
13367    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
13368    let ptr = UNINIT.as_ptr();
13369    assert_eq!(
13370        ::std::mem::size_of::<DES_cblock_st>(),
13371        8usize,
13372        "Size of DES_cblock_st"
13373    );
13374    assert_eq!(
13375        ::std::mem::align_of::<DES_cblock_st>(),
13376        1usize,
13377        "Alignment of DES_cblock_st"
13378    );
13379    assert_eq!(
13380        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
13381        0usize,
13382        "Offset of field: DES_cblock_st::bytes"
13383    );
13384}
13385pub type DES_cblock = DES_cblock_st;
13386pub type const_DES_cblock = DES_cblock_st;
13387#[repr(C)]
13388#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13389pub struct DES_ks {
13390    pub subkeys: [[u32; 2usize]; 16usize],
13391}
13392#[test]
13393fn bindgen_test_layout_DES_ks() {
13394    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
13395    let ptr = UNINIT.as_ptr();
13396    assert_eq!(::std::mem::size_of::<DES_ks>(), 128usize, "Size of DES_ks");
13397    assert_eq!(
13398        ::std::mem::align_of::<DES_ks>(),
13399        4usize,
13400        "Alignment of DES_ks"
13401    );
13402    assert_eq!(
13403        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
13404        0usize,
13405        "Offset of field: DES_ks::subkeys"
13406    );
13407}
13408pub type DES_key_schedule = DES_ks;
13409extern "C" {
13410    #[link_name = "aws_lc_0_46_0_DES_is_weak_key"]
13411    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
13412}
13413extern "C" {
13414    #[link_name = "aws_lc_0_46_0_DES_set_key"]
13415    pub fn DES_set_key(
13416        key: *const DES_cblock,
13417        schedule: *mut DES_key_schedule,
13418    ) -> ::std::os::raw::c_int;
13419}
13420extern "C" {
13421    #[link_name = "aws_lc_0_46_0_DES_set_key_unchecked"]
13422    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
13423}
13424extern "C" {
13425    #[link_name = "aws_lc_0_46_0_DES_key_sched"]
13426    pub fn DES_key_sched(
13427        key: *const DES_cblock,
13428        schedule: *mut DES_key_schedule,
13429    ) -> ::std::os::raw::c_int;
13430}
13431extern "C" {
13432    #[link_name = "aws_lc_0_46_0_DES_set_odd_parity"]
13433    pub fn DES_set_odd_parity(key: *mut DES_cblock);
13434}
13435extern "C" {
13436    #[link_name = "aws_lc_0_46_0_DES_ecb_encrypt"]
13437    pub fn DES_ecb_encrypt(
13438        in_: *const DES_cblock,
13439        out: *mut DES_cblock,
13440        schedule: *const DES_key_schedule,
13441        is_encrypt: ::std::os::raw::c_int,
13442    );
13443}
13444extern "C" {
13445    #[link_name = "aws_lc_0_46_0_DES_ncbc_encrypt"]
13446    pub fn DES_ncbc_encrypt(
13447        in_: *const u8,
13448        out: *mut u8,
13449        len: usize,
13450        schedule: *const DES_key_schedule,
13451        ivec: *mut DES_cblock,
13452        enc: ::std::os::raw::c_int,
13453    );
13454}
13455extern "C" {
13456    #[link_name = "aws_lc_0_46_0_DES_ecb3_encrypt"]
13457    pub fn DES_ecb3_encrypt(
13458        input: *const DES_cblock,
13459        output: *mut DES_cblock,
13460        ks1: *const DES_key_schedule,
13461        ks2: *const DES_key_schedule,
13462        ks3: *const DES_key_schedule,
13463        enc: ::std::os::raw::c_int,
13464    );
13465}
13466extern "C" {
13467    #[link_name = "aws_lc_0_46_0_DES_ede3_cbc_encrypt"]
13468    pub fn DES_ede3_cbc_encrypt(
13469        in_: *const u8,
13470        out: *mut u8,
13471        len: usize,
13472        ks1: *const DES_key_schedule,
13473        ks2: *const DES_key_schedule,
13474        ks3: *const DES_key_schedule,
13475        ivec: *mut DES_cblock,
13476        enc: ::std::os::raw::c_int,
13477    );
13478}
13479extern "C" {
13480    #[link_name = "aws_lc_0_46_0_DES_ede2_cbc_encrypt"]
13481    pub fn DES_ede2_cbc_encrypt(
13482        in_: *const u8,
13483        out: *mut u8,
13484        len: usize,
13485        ks1: *const DES_key_schedule,
13486        ks2: *const DES_key_schedule,
13487        ivec: *mut DES_cblock,
13488        enc: ::std::os::raw::c_int,
13489    );
13490}
13491extern "C" {
13492    #[link_name = "aws_lc_0_46_0_DH_new"]
13493    pub fn DH_new() -> *mut DH;
13494}
13495extern "C" {
13496    #[link_name = "aws_lc_0_46_0_DH_new_by_nid"]
13497    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13498}
13499extern "C" {
13500    #[link_name = "aws_lc_0_46_0_DH_free"]
13501    pub fn DH_free(dh: *mut DH);
13502}
13503extern "C" {
13504    #[link_name = "aws_lc_0_46_0_DH_up_ref"]
13505    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13506}
13507extern "C" {
13508    #[link_name = "aws_lc_0_46_0_DH_bits"]
13509    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13510}
13511extern "C" {
13512    #[link_name = "aws_lc_0_46_0_DH_get0_pub_key"]
13513    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13514}
13515extern "C" {
13516    #[link_name = "aws_lc_0_46_0_DH_get0_priv_key"]
13517    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13518}
13519extern "C" {
13520    #[link_name = "aws_lc_0_46_0_DH_get0_p"]
13521    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13522}
13523extern "C" {
13524    #[link_name = "aws_lc_0_46_0_DH_get0_q"]
13525    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13526}
13527extern "C" {
13528    #[link_name = "aws_lc_0_46_0_DH_get0_g"]
13529    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13530}
13531extern "C" {
13532    #[link_name = "aws_lc_0_46_0_DH_get0_key"]
13533    pub fn DH_get0_key(
13534        dh: *const DH,
13535        out_pub_key: *mut *const BIGNUM,
13536        out_priv_key: *mut *const BIGNUM,
13537    );
13538}
13539extern "C" {
13540    #[link_name = "aws_lc_0_46_0_DH_set0_key"]
13541    pub fn DH_set0_key(
13542        dh: *mut DH,
13543        pub_key: *mut BIGNUM,
13544        priv_key: *mut BIGNUM,
13545    ) -> ::std::os::raw::c_int;
13546}
13547extern "C" {
13548    #[link_name = "aws_lc_0_46_0_DH_get0_pqg"]
13549    pub fn DH_get0_pqg(
13550        dh: *const DH,
13551        out_p: *mut *const BIGNUM,
13552        out_q: *mut *const BIGNUM,
13553        out_g: *mut *const BIGNUM,
13554    );
13555}
13556extern "C" {
13557    #[link_name = "aws_lc_0_46_0_DH_set0_pqg"]
13558    pub fn DH_set0_pqg(
13559        dh: *mut DH,
13560        p: *mut BIGNUM,
13561        q: *mut BIGNUM,
13562        g: *mut BIGNUM,
13563    ) -> ::std::os::raw::c_int;
13564}
13565extern "C" {
13566    #[link_name = "aws_lc_0_46_0_DH_set_length"]
13567    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13568        -> ::std::os::raw::c_int;
13569}
13570extern "C" {
13571    #[link_name = "aws_lc_0_46_0_DH_get_rfc7919_2048"]
13572    pub fn DH_get_rfc7919_2048() -> *mut DH;
13573}
13574extern "C" {
13575    #[link_name = "aws_lc_0_46_0_DH_get_rfc7919_4096"]
13576    pub fn DH_get_rfc7919_4096() -> *mut DH;
13577}
13578extern "C" {
13579    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_1536"]
13580    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13581}
13582extern "C" {
13583    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_2048"]
13584    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13585}
13586extern "C" {
13587    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_3072"]
13588    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13589}
13590extern "C" {
13591    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_4096"]
13592    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13593}
13594extern "C" {
13595    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_6144"]
13596    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13597}
13598extern "C" {
13599    #[link_name = "aws_lc_0_46_0_BN_get_rfc3526_prime_8192"]
13600    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13601}
13602extern "C" {
13603    #[link_name = "aws_lc_0_46_0_DH_generate_parameters_ex"]
13604    pub fn DH_generate_parameters_ex(
13605        dh: *mut DH,
13606        prime_bits: ::std::os::raw::c_int,
13607        generator: ::std::os::raw::c_int,
13608        cb: *mut BN_GENCB,
13609    ) -> ::std::os::raw::c_int;
13610}
13611extern "C" {
13612    #[link_name = "aws_lc_0_46_0_DH_generate_key"]
13613    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13614}
13615extern "C" {
13616    #[link_name = "aws_lc_0_46_0_DH_compute_key_padded"]
13617    pub fn DH_compute_key_padded(
13618        out: *mut u8,
13619        peers_key: *const BIGNUM,
13620        dh: *mut DH,
13621    ) -> ::std::os::raw::c_int;
13622}
13623extern "C" {
13624    #[link_name = "aws_lc_0_46_0_DH_compute_key_hashed"]
13625    pub fn DH_compute_key_hashed(
13626        dh: *mut DH,
13627        out: *mut u8,
13628        out_len: *mut usize,
13629        max_out_len: usize,
13630        peers_key: *const BIGNUM,
13631        digest: *const EVP_MD,
13632    ) -> ::std::os::raw::c_int;
13633}
13634extern "C" {
13635    #[link_name = "aws_lc_0_46_0_DH_size"]
13636    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13637}
13638extern "C" {
13639    #[link_name = "aws_lc_0_46_0_DH_num_bits"]
13640    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13641}
13642extern "C" {
13643    #[link_name = "aws_lc_0_46_0_DH_check"]
13644    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13645}
13646extern "C" {
13647    #[link_name = "aws_lc_0_46_0_DH_check_pub_key"]
13648    pub fn DH_check_pub_key(
13649        dh: *const DH,
13650        pub_key: *const BIGNUM,
13651        out_flags: *mut ::std::os::raw::c_int,
13652    ) -> ::std::os::raw::c_int;
13653}
13654extern "C" {
13655    #[link_name = "aws_lc_0_46_0_DHparams_dup"]
13656    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13657}
13658extern "C" {
13659    #[link_name = "aws_lc_0_46_0_DH_parse_parameters"]
13660    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13661}
13662extern "C" {
13663    #[link_name = "aws_lc_0_46_0_DH_marshal_parameters"]
13664    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13665}
13666extern "C" {
13667    #[link_name = "aws_lc_0_46_0_DH_generate_parameters"]
13668    pub fn DH_generate_parameters(
13669        prime_len: ::std::os::raw::c_int,
13670        generator: ::std::os::raw::c_int,
13671        callback: ::std::option::Option<
13672            unsafe extern "C" fn(
13673                arg1: ::std::os::raw::c_int,
13674                arg2: ::std::os::raw::c_int,
13675                arg3: *mut ::std::os::raw::c_void,
13676            ),
13677        >,
13678        cb_arg: *mut ::std::os::raw::c_void,
13679    ) -> *mut DH;
13680}
13681extern "C" {
13682    #[link_name = "aws_lc_0_46_0_d2i_DHparams"]
13683    pub fn d2i_DHparams(
13684        ret: *mut *mut DH,
13685        inp: *mut *const ::std::os::raw::c_uchar,
13686        len: ::std::os::raw::c_long,
13687    ) -> *mut DH;
13688}
13689extern "C" {
13690    #[link_name = "aws_lc_0_46_0_i2d_DHparams"]
13691    pub fn i2d_DHparams(
13692        in_: *const DH,
13693        outp: *mut *mut ::std::os::raw::c_uchar,
13694    ) -> ::std::os::raw::c_int;
13695}
13696extern "C" {
13697    #[link_name = "aws_lc_0_46_0_DH_compute_key"]
13698    pub fn DH_compute_key(
13699        out: *mut u8,
13700        peers_key: *const BIGNUM,
13701        dh: *mut DH,
13702    ) -> ::std::os::raw::c_int;
13703}
13704extern "C" {
13705    #[link_name = "aws_lc_0_46_0_DH_get_2048_256"]
13706    pub fn DH_get_2048_256() -> *mut DH;
13707}
13708extern "C" {
13709    #[link_name = "aws_lc_0_46_0_DH_clear_flags"]
13710    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
13711}
13712extern "C" {
13713    #[link_name = "aws_lc_0_46_0_EVP_md4"]
13714    pub fn EVP_md4() -> *const EVP_MD;
13715}
13716extern "C" {
13717    #[link_name = "aws_lc_0_46_0_EVP_md5"]
13718    pub fn EVP_md5() -> *const EVP_MD;
13719}
13720extern "C" {
13721    #[link_name = "aws_lc_0_46_0_EVP_ripemd160"]
13722    pub fn EVP_ripemd160() -> *const EVP_MD;
13723}
13724extern "C" {
13725    #[link_name = "aws_lc_0_46_0_EVP_sha1"]
13726    pub fn EVP_sha1() -> *const EVP_MD;
13727}
13728extern "C" {
13729    #[link_name = "aws_lc_0_46_0_EVP_sha224"]
13730    pub fn EVP_sha224() -> *const EVP_MD;
13731}
13732extern "C" {
13733    #[link_name = "aws_lc_0_46_0_EVP_sha256"]
13734    pub fn EVP_sha256() -> *const EVP_MD;
13735}
13736extern "C" {
13737    #[link_name = "aws_lc_0_46_0_EVP_sha384"]
13738    pub fn EVP_sha384() -> *const EVP_MD;
13739}
13740extern "C" {
13741    #[link_name = "aws_lc_0_46_0_EVP_sha512"]
13742    pub fn EVP_sha512() -> *const EVP_MD;
13743}
13744extern "C" {
13745    #[link_name = "aws_lc_0_46_0_EVP_sha512_224"]
13746    pub fn EVP_sha512_224() -> *const EVP_MD;
13747}
13748extern "C" {
13749    #[link_name = "aws_lc_0_46_0_EVP_sha512_256"]
13750    pub fn EVP_sha512_256() -> *const EVP_MD;
13751}
13752extern "C" {
13753    #[link_name = "aws_lc_0_46_0_EVP_sha3_224"]
13754    pub fn EVP_sha3_224() -> *const EVP_MD;
13755}
13756extern "C" {
13757    #[link_name = "aws_lc_0_46_0_EVP_sha3_256"]
13758    pub fn EVP_sha3_256() -> *const EVP_MD;
13759}
13760extern "C" {
13761    #[link_name = "aws_lc_0_46_0_EVP_sha3_384"]
13762    pub fn EVP_sha3_384() -> *const EVP_MD;
13763}
13764extern "C" {
13765    #[link_name = "aws_lc_0_46_0_EVP_sha3_512"]
13766    pub fn EVP_sha3_512() -> *const EVP_MD;
13767}
13768extern "C" {
13769    #[link_name = "aws_lc_0_46_0_EVP_shake128"]
13770    pub fn EVP_shake128() -> *const EVP_MD;
13771}
13772extern "C" {
13773    #[link_name = "aws_lc_0_46_0_EVP_shake256"]
13774    pub fn EVP_shake256() -> *const EVP_MD;
13775}
13776extern "C" {
13777    #[link_name = "aws_lc_0_46_0_EVP_blake2b256"]
13778    pub fn EVP_blake2b256() -> *const EVP_MD;
13779}
13780extern "C" {
13781    #[link_name = "aws_lc_0_46_0_EVP_keccak256"]
13782    pub fn EVP_keccak256() -> *const EVP_MD;
13783}
13784extern "C" {
13785    #[link_name = "aws_lc_0_46_0_EVP_md5_sha1"]
13786    pub fn EVP_md5_sha1() -> *const EVP_MD;
13787}
13788extern "C" {
13789    #[link_name = "aws_lc_0_46_0_EVP_get_digestbynid"]
13790    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
13791}
13792extern "C" {
13793    #[link_name = "aws_lc_0_46_0_EVP_get_digestbyobj"]
13794    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
13795}
13796extern "C" {
13797    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_init"]
13798    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
13799}
13800extern "C" {
13801    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_new"]
13802    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
13803}
13804extern "C" {
13805    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_cleanup"]
13806    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13807}
13808extern "C" {
13809    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_cleanse"]
13810    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
13811}
13812extern "C" {
13813    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_free"]
13814    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
13815}
13816extern "C" {
13817    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_copy_ex"]
13818    pub fn EVP_MD_CTX_copy_ex(
13819        out: *mut EVP_MD_CTX,
13820        in_: *const EVP_MD_CTX,
13821    ) -> ::std::os::raw::c_int;
13822}
13823extern "C" {
13824    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_move"]
13825    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
13826}
13827extern "C" {
13828    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_reset"]
13829    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13830}
13831extern "C" {
13832    #[link_name = "aws_lc_0_46_0_EVP_DigestInit_ex"]
13833    pub fn EVP_DigestInit_ex(
13834        ctx: *mut EVP_MD_CTX,
13835        type_: *const EVP_MD,
13836        engine: *mut ENGINE,
13837    ) -> ::std::os::raw::c_int;
13838}
13839extern "C" {
13840    #[link_name = "aws_lc_0_46_0_EVP_DigestInit"]
13841    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
13842}
13843extern "C" {
13844    #[link_name = "aws_lc_0_46_0_EVP_DigestUpdate"]
13845    pub fn EVP_DigestUpdate(
13846        ctx: *mut EVP_MD_CTX,
13847        data: *const ::std::os::raw::c_void,
13848        len: usize,
13849    ) -> ::std::os::raw::c_int;
13850}
13851extern "C" {
13852    #[link_name = "aws_lc_0_46_0_EVP_DigestFinal_ex"]
13853    pub fn EVP_DigestFinal_ex(
13854        ctx: *mut EVP_MD_CTX,
13855        md_out: *mut u8,
13856        out_size: *mut ::std::os::raw::c_uint,
13857    ) -> ::std::os::raw::c_int;
13858}
13859extern "C" {
13860    #[link_name = "aws_lc_0_46_0_EVP_DigestFinal"]
13861    pub fn EVP_DigestFinal(
13862        ctx: *mut EVP_MD_CTX,
13863        md_out: *mut u8,
13864        out_size: *mut ::std::os::raw::c_uint,
13865    ) -> ::std::os::raw::c_int;
13866}
13867extern "C" {
13868    #[link_name = "aws_lc_0_46_0_EVP_Digest"]
13869    pub fn EVP_Digest(
13870        data: *const ::std::os::raw::c_void,
13871        len: usize,
13872        md_out: *mut u8,
13873        out_size: *mut ::std::os::raw::c_uint,
13874        type_: *const EVP_MD,
13875        impl_: *mut ENGINE,
13876    ) -> ::std::os::raw::c_int;
13877}
13878extern "C" {
13879    #[link_name = "aws_lc_0_46_0_EVP_MD_type"]
13880    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
13881}
13882extern "C" {
13883    #[link_name = "aws_lc_0_46_0_EVP_MD_flags"]
13884    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
13885}
13886extern "C" {
13887    #[link_name = "aws_lc_0_46_0_EVP_MD_size"]
13888    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
13889}
13890extern "C" {
13891    #[link_name = "aws_lc_0_46_0_EVP_MD_block_size"]
13892    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
13893}
13894extern "C" {
13895    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_md"]
13896    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
13897}
13898extern "C" {
13899    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_size"]
13900    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
13901}
13902extern "C" {
13903    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_block_size"]
13904    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
13905}
13906extern "C" {
13907    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_type"]
13908    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13909}
13910extern "C" {
13911    #[link_name = "aws_lc_0_46_0_EVP_parse_digest_algorithm"]
13912    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
13913}
13914extern "C" {
13915    #[link_name = "aws_lc_0_46_0_EVP_marshal_digest_algorithm"]
13916    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
13917}
13918extern "C" {
13919    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_copy"]
13920    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13921}
13922extern "C" {
13923    #[link_name = "aws_lc_0_46_0_EVP_get_digestbyname"]
13924    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
13925}
13926extern "C" {
13927    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_create"]
13928    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
13929}
13930extern "C" {
13931    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_destroy"]
13932    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
13933}
13934extern "C" {
13935    #[link_name = "aws_lc_0_46_0_EVP_DigestFinalXOF"]
13936    pub fn EVP_DigestFinalXOF(
13937        ctx: *mut EVP_MD_CTX,
13938        out: *mut u8,
13939        len: usize,
13940    ) -> ::std::os::raw::c_int;
13941}
13942extern "C" {
13943    #[link_name = "aws_lc_0_46_0_EVP_DigestSqueeze"]
13944    pub fn EVP_DigestSqueeze(
13945        ctx: *mut EVP_MD_CTX,
13946        out: *mut u8,
13947        len: usize,
13948    ) -> ::std::os::raw::c_int;
13949}
13950extern "C" {
13951    #[link_name = "aws_lc_0_46_0_EVP_MD_meth_get_flags"]
13952    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
13953}
13954extern "C" {
13955    #[link_name = "aws_lc_0_46_0_EVP_MD_nid"]
13956    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
13957}
13958extern "C" {
13959    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_set_pkey_ctx"]
13960    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
13961}
13962extern "C" {
13963    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_get_pkey_ctx"]
13964    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13965}
13966extern "C" {
13967    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_pkey_ctx"]
13968    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13969}
13970#[repr(C)]
13971#[derive(Debug)]
13972pub struct evp_md_pctx_ops {
13973    _unused: [u8; 0],
13974}
13975#[repr(C)]
13976#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13977pub struct env_md_ctx_st {
13978    pub digest: *const EVP_MD,
13979    pub md_data: *mut ::std::os::raw::c_void,
13980    pub update: ::std::option::Option<
13981        unsafe extern "C" fn(
13982            ctx: *mut EVP_MD_CTX,
13983            data: *const ::std::os::raw::c_void,
13984            count: usize,
13985        ) -> ::std::os::raw::c_int,
13986    >,
13987    pub pctx: *mut EVP_PKEY_CTX,
13988    pub pctx_ops: *const evp_md_pctx_ops,
13989    pub flags: ::std::os::raw::c_ulong,
13990}
13991#[test]
13992fn bindgen_test_layout_env_md_ctx_st() {
13993    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
13994    let ptr = UNINIT.as_ptr();
13995    assert_eq!(
13996        ::std::mem::size_of::<env_md_ctx_st>(),
13997        48usize,
13998        "Size of env_md_ctx_st"
13999    );
14000    assert_eq!(
14001        ::std::mem::align_of::<env_md_ctx_st>(),
14002        8usize,
14003        "Alignment of env_md_ctx_st"
14004    );
14005    assert_eq!(
14006        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
14007        0usize,
14008        "Offset of field: env_md_ctx_st::digest"
14009    );
14010    assert_eq!(
14011        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
14012        8usize,
14013        "Offset of field: env_md_ctx_st::md_data"
14014    );
14015    assert_eq!(
14016        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
14017        16usize,
14018        "Offset of field: env_md_ctx_st::update"
14019    );
14020    assert_eq!(
14021        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
14022        24usize,
14023        "Offset of field: env_md_ctx_st::pctx"
14024    );
14025    assert_eq!(
14026        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
14027        32usize,
14028        "Offset of field: env_md_ctx_st::pctx_ops"
14029    );
14030    assert_eq!(
14031        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
14032        40usize,
14033        "Offset of field: env_md_ctx_st::flags"
14034    );
14035}
14036impl Default for env_md_ctx_st {
14037    fn default() -> Self {
14038        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14039        unsafe {
14040            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14041            s.assume_init()
14042        }
14043    }
14044}
14045extern "C" {
14046    #[link_name = "aws_lc_0_46_0_EVP_MD_unstable_sha3_enable"]
14047    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
14048}
14049extern "C" {
14050    #[link_name = "aws_lc_0_46_0_EVP_MD_unstable_sha3_is_enabled"]
14051    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
14052}
14053extern "C" {
14054    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_set_flags"]
14055    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
14056}
14057extern "C" {
14058    #[link_name = "aws_lc_0_46_0_EVP_add_digest"]
14059    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
14060}
14061extern "C" {
14062    #[link_name = "aws_lc_0_46_0_EVP_md_null"]
14063    pub fn EVP_md_null() -> *const EVP_MD;
14064}
14065extern "C" {
14066    #[link_name = "aws_lc_0_46_0_DSA_new"]
14067    pub fn DSA_new() -> *mut DSA;
14068}
14069extern "C" {
14070    #[link_name = "aws_lc_0_46_0_DSA_free"]
14071    pub fn DSA_free(dsa: *mut DSA);
14072}
14073extern "C" {
14074    #[link_name = "aws_lc_0_46_0_DSA_up_ref"]
14075    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
14076}
14077extern "C" {
14078    #[link_name = "aws_lc_0_46_0_DSA_print"]
14079    pub fn DSA_print(
14080        bio: *mut BIO,
14081        dsa: *const DSA,
14082        indent: ::std::os::raw::c_int,
14083    ) -> ::std::os::raw::c_int;
14084}
14085extern "C" {
14086    #[link_name = "aws_lc_0_46_0_DSA_print_fp"]
14087    pub fn DSA_print_fp(
14088        fp: *mut FILE,
14089        dsa: *const DSA,
14090        indent: ::std::os::raw::c_int,
14091    ) -> ::std::os::raw::c_int;
14092}
14093extern "C" {
14094    #[link_name = "aws_lc_0_46_0_DSA_bits"]
14095    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
14096}
14097extern "C" {
14098    #[link_name = "aws_lc_0_46_0_DSA_get0_pub_key"]
14099    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
14100}
14101extern "C" {
14102    #[link_name = "aws_lc_0_46_0_DSA_get0_priv_key"]
14103    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
14104}
14105extern "C" {
14106    #[link_name = "aws_lc_0_46_0_DSA_get0_p"]
14107    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
14108}
14109extern "C" {
14110    #[link_name = "aws_lc_0_46_0_DSA_get0_q"]
14111    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
14112}
14113extern "C" {
14114    #[link_name = "aws_lc_0_46_0_DSA_get0_g"]
14115    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
14116}
14117extern "C" {
14118    #[link_name = "aws_lc_0_46_0_DSA_get0_key"]
14119    pub fn DSA_get0_key(
14120        dsa: *const DSA,
14121        out_pub_key: *mut *const BIGNUM,
14122        out_priv_key: *mut *const BIGNUM,
14123    );
14124}
14125extern "C" {
14126    #[link_name = "aws_lc_0_46_0_DSA_get0_pqg"]
14127    pub fn DSA_get0_pqg(
14128        dsa: *const DSA,
14129        out_p: *mut *const BIGNUM,
14130        out_q: *mut *const BIGNUM,
14131        out_g: *mut *const BIGNUM,
14132    );
14133}
14134extern "C" {
14135    #[link_name = "aws_lc_0_46_0_DSA_set0_key"]
14136    pub fn DSA_set0_key(
14137        dsa: *mut DSA,
14138        pub_key: *mut BIGNUM,
14139        priv_key: *mut BIGNUM,
14140    ) -> ::std::os::raw::c_int;
14141}
14142extern "C" {
14143    #[link_name = "aws_lc_0_46_0_DSA_set0_pqg"]
14144    pub fn DSA_set0_pqg(
14145        dsa: *mut DSA,
14146        p: *mut BIGNUM,
14147        q: *mut BIGNUM,
14148        g: *mut BIGNUM,
14149    ) -> ::std::os::raw::c_int;
14150}
14151extern "C" {
14152    #[link_name = "aws_lc_0_46_0_DSA_generate_parameters_ex"]
14153    pub fn DSA_generate_parameters_ex(
14154        dsa: *mut DSA,
14155        bits: ::std::os::raw::c_uint,
14156        seed: *const u8,
14157        seed_len: usize,
14158        out_counter: *mut ::std::os::raw::c_int,
14159        out_h: *mut ::std::os::raw::c_ulong,
14160        cb: *mut BN_GENCB,
14161    ) -> ::std::os::raw::c_int;
14162}
14163extern "C" {
14164    #[link_name = "aws_lc_0_46_0_DSAparams_dup"]
14165    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
14166}
14167extern "C" {
14168    #[link_name = "aws_lc_0_46_0_DSA_generate_key"]
14169    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
14170}
14171#[repr(C)]
14172#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14173pub struct DSA_SIG_st {
14174    pub r: *mut BIGNUM,
14175    pub s: *mut BIGNUM,
14176}
14177#[test]
14178fn bindgen_test_layout_DSA_SIG_st() {
14179    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
14180    let ptr = UNINIT.as_ptr();
14181    assert_eq!(
14182        ::std::mem::size_of::<DSA_SIG_st>(),
14183        16usize,
14184        "Size of DSA_SIG_st"
14185    );
14186    assert_eq!(
14187        ::std::mem::align_of::<DSA_SIG_st>(),
14188        8usize,
14189        "Alignment of DSA_SIG_st"
14190    );
14191    assert_eq!(
14192        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14193        0usize,
14194        "Offset of field: DSA_SIG_st::r"
14195    );
14196    assert_eq!(
14197        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14198        8usize,
14199        "Offset of field: DSA_SIG_st::s"
14200    );
14201}
14202impl Default for DSA_SIG_st {
14203    fn default() -> Self {
14204        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14205        unsafe {
14206            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14207            s.assume_init()
14208        }
14209    }
14210}
14211extern "C" {
14212    #[link_name = "aws_lc_0_46_0_DSA_SIG_new"]
14213    pub fn DSA_SIG_new() -> *mut DSA_SIG;
14214}
14215extern "C" {
14216    #[link_name = "aws_lc_0_46_0_DSA_SIG_free"]
14217    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
14218}
14219extern "C" {
14220    #[link_name = "aws_lc_0_46_0_DSA_SIG_get0"]
14221    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
14222}
14223extern "C" {
14224    #[link_name = "aws_lc_0_46_0_DSA_SIG_set0"]
14225    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
14226        -> ::std::os::raw::c_int;
14227}
14228extern "C" {
14229    #[link_name = "aws_lc_0_46_0_DSA_do_sign"]
14230    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
14231}
14232extern "C" {
14233    #[link_name = "aws_lc_0_46_0_DSA_do_verify"]
14234    pub fn DSA_do_verify(
14235        digest: *const u8,
14236        digest_len: usize,
14237        sig: *const DSA_SIG,
14238        dsa: *const DSA,
14239    ) -> ::std::os::raw::c_int;
14240}
14241extern "C" {
14242    #[link_name = "aws_lc_0_46_0_DSA_do_check_signature"]
14243    pub fn DSA_do_check_signature(
14244        out_valid: *mut ::std::os::raw::c_int,
14245        digest: *const u8,
14246        digest_len: usize,
14247        sig: *const DSA_SIG,
14248        dsa: *const DSA,
14249    ) -> ::std::os::raw::c_int;
14250}
14251extern "C" {
14252    #[link_name = "aws_lc_0_46_0_DSA_sign"]
14253    pub fn DSA_sign(
14254        type_: ::std::os::raw::c_int,
14255        digest: *const u8,
14256        digest_len: usize,
14257        out_sig: *mut u8,
14258        out_siglen: *mut ::std::os::raw::c_uint,
14259        dsa: *const DSA,
14260    ) -> ::std::os::raw::c_int;
14261}
14262extern "C" {
14263    #[link_name = "aws_lc_0_46_0_DSA_verify"]
14264    pub fn DSA_verify(
14265        type_: ::std::os::raw::c_int,
14266        digest: *const u8,
14267        digest_len: usize,
14268        sig: *const u8,
14269        sig_len: usize,
14270        dsa: *const DSA,
14271    ) -> ::std::os::raw::c_int;
14272}
14273extern "C" {
14274    #[link_name = "aws_lc_0_46_0_DSA_check_signature"]
14275    pub fn DSA_check_signature(
14276        out_valid: *mut ::std::os::raw::c_int,
14277        digest: *const u8,
14278        digest_len: usize,
14279        sig: *const u8,
14280        sig_len: usize,
14281        dsa: *const DSA,
14282    ) -> ::std::os::raw::c_int;
14283}
14284extern "C" {
14285    #[link_name = "aws_lc_0_46_0_DSA_size"]
14286    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
14287}
14288extern "C" {
14289    #[link_name = "aws_lc_0_46_0_DSA_SIG_parse"]
14290    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
14291}
14292extern "C" {
14293    #[link_name = "aws_lc_0_46_0_DSA_SIG_marshal"]
14294    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
14295}
14296extern "C" {
14297    #[link_name = "aws_lc_0_46_0_DSA_parse_public_key"]
14298    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
14299}
14300extern "C" {
14301    #[link_name = "aws_lc_0_46_0_DSA_marshal_public_key"]
14302    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14303}
14304extern "C" {
14305    #[link_name = "aws_lc_0_46_0_DSA_parse_private_key"]
14306    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
14307}
14308extern "C" {
14309    #[link_name = "aws_lc_0_46_0_DSA_marshal_private_key"]
14310    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14311}
14312extern "C" {
14313    #[link_name = "aws_lc_0_46_0_DSA_parse_parameters"]
14314    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
14315}
14316extern "C" {
14317    #[link_name = "aws_lc_0_46_0_DSA_marshal_parameters"]
14318    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14319}
14320extern "C" {
14321    #[link_name = "aws_lc_0_46_0_DSA_dup_DH"]
14322    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
14323}
14324extern "C" {
14325    #[link_name = "aws_lc_0_46_0_DSA_get_ex_new_index"]
14326    pub fn DSA_get_ex_new_index(
14327        argl: ::std::os::raw::c_long,
14328        argp: *mut ::std::os::raw::c_void,
14329        unused: *mut CRYPTO_EX_unused,
14330        dup_unused: CRYPTO_EX_dup,
14331        free_func: CRYPTO_EX_free,
14332    ) -> ::std::os::raw::c_int;
14333}
14334extern "C" {
14335    #[link_name = "aws_lc_0_46_0_DSA_set_ex_data"]
14336    pub fn DSA_set_ex_data(
14337        dsa: *mut DSA,
14338        idx: ::std::os::raw::c_int,
14339        arg: *mut ::std::os::raw::c_void,
14340    ) -> ::std::os::raw::c_int;
14341}
14342extern "C" {
14343    #[link_name = "aws_lc_0_46_0_DSA_get_ex_data"]
14344    pub fn DSA_get_ex_data(
14345        dsa: *const DSA,
14346        idx: ::std::os::raw::c_int,
14347    ) -> *mut ::std::os::raw::c_void;
14348}
14349extern "C" {
14350    #[link_name = "aws_lc_0_46_0_d2i_DSA_SIG"]
14351    pub fn d2i_DSA_SIG(
14352        out_sig: *mut *mut DSA_SIG,
14353        inp: *mut *const u8,
14354        len: ::std::os::raw::c_long,
14355    ) -> *mut DSA_SIG;
14356}
14357extern "C" {
14358    #[link_name = "aws_lc_0_46_0_i2d_DSA_SIG"]
14359    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14360}
14361extern "C" {
14362    #[link_name = "aws_lc_0_46_0_d2i_DSAPublicKey"]
14363    pub fn d2i_DSAPublicKey(
14364        out: *mut *mut DSA,
14365        inp: *mut *const u8,
14366        len: ::std::os::raw::c_long,
14367    ) -> *mut DSA;
14368}
14369extern "C" {
14370    #[link_name = "aws_lc_0_46_0_i2d_DSAPublicKey"]
14371    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14372}
14373extern "C" {
14374    #[link_name = "aws_lc_0_46_0_d2i_DSAPrivateKey"]
14375    pub fn d2i_DSAPrivateKey(
14376        out: *mut *mut DSA,
14377        inp: *mut *const u8,
14378        len: ::std::os::raw::c_long,
14379    ) -> *mut DSA;
14380}
14381extern "C" {
14382    #[link_name = "aws_lc_0_46_0_i2d_DSAPrivateKey"]
14383    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14384}
14385extern "C" {
14386    #[link_name = "aws_lc_0_46_0_d2i_DSAparams"]
14387    pub fn d2i_DSAparams(
14388        out: *mut *mut DSA,
14389        inp: *mut *const u8,
14390        len: ::std::os::raw::c_long,
14391    ) -> *mut DSA;
14392}
14393extern "C" {
14394    #[link_name = "aws_lc_0_46_0_i2d_DSAparams"]
14395    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14396}
14397#[repr(u32)]
14398#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14399pub enum point_conversion_form_t {
14400    POINT_CONVERSION_COMPRESSED = 2,
14401    POINT_CONVERSION_UNCOMPRESSED = 4,
14402    POINT_CONVERSION_HYBRID = 6,
14403}
14404extern "C" {
14405    #[link_name = "aws_lc_0_46_0_EC_group_p224"]
14406    pub fn EC_group_p224() -> *const EC_GROUP;
14407}
14408extern "C" {
14409    #[link_name = "aws_lc_0_46_0_EC_group_p256"]
14410    pub fn EC_group_p256() -> *const EC_GROUP;
14411}
14412extern "C" {
14413    #[link_name = "aws_lc_0_46_0_EC_group_p384"]
14414    pub fn EC_group_p384() -> *const EC_GROUP;
14415}
14416extern "C" {
14417    #[link_name = "aws_lc_0_46_0_EC_group_p521"]
14418    pub fn EC_group_p521() -> *const EC_GROUP;
14419}
14420extern "C" {
14421    #[link_name = "aws_lc_0_46_0_EC_group_secp256k1"]
14422    pub fn EC_group_secp256k1() -> *const EC_GROUP;
14423}
14424extern "C" {
14425    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP224r1"]
14426    pub fn EC_group_brainpoolP224r1() -> *const EC_GROUP;
14427}
14428extern "C" {
14429    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP256r1"]
14430    pub fn EC_group_brainpoolP256r1() -> *const EC_GROUP;
14431}
14432extern "C" {
14433    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP320r1"]
14434    pub fn EC_group_brainpoolP320r1() -> *const EC_GROUP;
14435}
14436extern "C" {
14437    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP384r1"]
14438    pub fn EC_group_brainpoolP384r1() -> *const EC_GROUP;
14439}
14440extern "C" {
14441    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP512r1"]
14442    pub fn EC_group_brainpoolP512r1() -> *const EC_GROUP;
14443}
14444extern "C" {
14445    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_by_curve_name"]
14446    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14447}
14448extern "C" {
14449    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_by_curve_name_mutable"]
14450    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14451}
14452extern "C" {
14453    #[link_name = "aws_lc_0_46_0_EC_GROUP_cmp"]
14454    pub fn EC_GROUP_cmp(
14455        a: *const EC_GROUP,
14456        b: *const EC_GROUP,
14457        ignored: *mut BN_CTX,
14458    ) -> ::std::os::raw::c_int;
14459}
14460extern "C" {
14461    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_generator"]
14462    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14463}
14464extern "C" {
14465    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_order"]
14466    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14467}
14468extern "C" {
14469    #[link_name = "aws_lc_0_46_0_EC_GROUP_order_bits"]
14470    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14471}
14472extern "C" {
14473    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_cofactor"]
14474    pub fn EC_GROUP_get_cofactor(
14475        group: *const EC_GROUP,
14476        cofactor: *mut BIGNUM,
14477        ctx: *mut BN_CTX,
14478    ) -> ::std::os::raw::c_int;
14479}
14480extern "C" {
14481    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_curve_GFp"]
14482    pub fn EC_GROUP_get_curve_GFp(
14483        group: *const EC_GROUP,
14484        out_p: *mut BIGNUM,
14485        out_a: *mut BIGNUM,
14486        out_b: *mut BIGNUM,
14487        ctx: *mut BN_CTX,
14488    ) -> ::std::os::raw::c_int;
14489}
14490extern "C" {
14491    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_curve_name"]
14492    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14493}
14494extern "C" {
14495    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_degree"]
14496    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14497}
14498extern "C" {
14499    #[link_name = "aws_lc_0_46_0_EC_curve_nid2nist"]
14500    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14501}
14502extern "C" {
14503    #[link_name = "aws_lc_0_46_0_EC_curve_nist2nid"]
14504    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14505}
14506extern "C" {
14507    #[link_name = "aws_lc_0_46_0_EC_POINT_new"]
14508    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14509}
14510extern "C" {
14511    #[link_name = "aws_lc_0_46_0_EC_POINT_free"]
14512    pub fn EC_POINT_free(point: *mut EC_POINT);
14513}
14514extern "C" {
14515    #[link_name = "aws_lc_0_46_0_EC_POINT_copy"]
14516    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14517}
14518extern "C" {
14519    #[link_name = "aws_lc_0_46_0_EC_POINT_dup"]
14520    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14521}
14522extern "C" {
14523    #[link_name = "aws_lc_0_46_0_EC_POINT_set_to_infinity"]
14524    pub fn EC_POINT_set_to_infinity(
14525        group: *const EC_GROUP,
14526        point: *mut EC_POINT,
14527    ) -> ::std::os::raw::c_int;
14528}
14529extern "C" {
14530    #[link_name = "aws_lc_0_46_0_EC_POINT_is_at_infinity"]
14531    pub fn EC_POINT_is_at_infinity(
14532        group: *const EC_GROUP,
14533        point: *const EC_POINT,
14534    ) -> ::std::os::raw::c_int;
14535}
14536extern "C" {
14537    #[link_name = "aws_lc_0_46_0_EC_POINT_is_on_curve"]
14538    pub fn EC_POINT_is_on_curve(
14539        group: *const EC_GROUP,
14540        point: *const EC_POINT,
14541        ctx: *mut BN_CTX,
14542    ) -> ::std::os::raw::c_int;
14543}
14544extern "C" {
14545    #[link_name = "aws_lc_0_46_0_EC_POINT_cmp"]
14546    pub fn EC_POINT_cmp(
14547        group: *const EC_GROUP,
14548        a: *const EC_POINT,
14549        b: *const EC_POINT,
14550        ctx: *mut BN_CTX,
14551    ) -> ::std::os::raw::c_int;
14552}
14553extern "C" {
14554    #[link_name = "aws_lc_0_46_0_EC_POINT_get_affine_coordinates_GFp"]
14555    pub fn EC_POINT_get_affine_coordinates_GFp(
14556        group: *const EC_GROUP,
14557        point: *const EC_POINT,
14558        x: *mut BIGNUM,
14559        y: *mut BIGNUM,
14560        ctx: *mut BN_CTX,
14561    ) -> ::std::os::raw::c_int;
14562}
14563extern "C" {
14564    #[link_name = "aws_lc_0_46_0_EC_POINT_get_affine_coordinates"]
14565    pub fn EC_POINT_get_affine_coordinates(
14566        group: *const EC_GROUP,
14567        point: *const EC_POINT,
14568        x: *mut BIGNUM,
14569        y: *mut BIGNUM,
14570        ctx: *mut BN_CTX,
14571    ) -> ::std::os::raw::c_int;
14572}
14573extern "C" {
14574    #[link_name = "aws_lc_0_46_0_EC_POINT_set_affine_coordinates_GFp"]
14575    pub fn EC_POINT_set_affine_coordinates_GFp(
14576        group: *const EC_GROUP,
14577        point: *mut EC_POINT,
14578        x: *const BIGNUM,
14579        y: *const BIGNUM,
14580        ctx: *mut BN_CTX,
14581    ) -> ::std::os::raw::c_int;
14582}
14583extern "C" {
14584    #[link_name = "aws_lc_0_46_0_EC_POINT_set_affine_coordinates"]
14585    pub fn EC_POINT_set_affine_coordinates(
14586        group: *const EC_GROUP,
14587        point: *mut EC_POINT,
14588        x: *const BIGNUM,
14589        y: *const BIGNUM,
14590        ctx: *mut BN_CTX,
14591    ) -> ::std::os::raw::c_int;
14592}
14593extern "C" {
14594    #[link_name = "aws_lc_0_46_0_EC_POINT_point2oct"]
14595    pub fn EC_POINT_point2oct(
14596        group: *const EC_GROUP,
14597        point: *const EC_POINT,
14598        form: point_conversion_form_t,
14599        buf: *mut u8,
14600        len: usize,
14601        ctx: *mut BN_CTX,
14602    ) -> usize;
14603}
14604extern "C" {
14605    #[link_name = "aws_lc_0_46_0_EC_POINT_point2cbb"]
14606    pub fn EC_POINT_point2cbb(
14607        out: *mut CBB,
14608        group: *const EC_GROUP,
14609        point: *const EC_POINT,
14610        form: point_conversion_form_t,
14611        ctx: *mut BN_CTX,
14612    ) -> ::std::os::raw::c_int;
14613}
14614extern "C" {
14615    #[link_name = "aws_lc_0_46_0_EC_POINT_oct2point"]
14616    pub fn EC_POINT_oct2point(
14617        group: *const EC_GROUP,
14618        point: *mut EC_POINT,
14619        buf: *const u8,
14620        len: usize,
14621        ctx: *mut BN_CTX,
14622    ) -> ::std::os::raw::c_int;
14623}
14624extern "C" {
14625    #[link_name = "aws_lc_0_46_0_EC_POINT_set_compressed_coordinates_GFp"]
14626    pub fn EC_POINT_set_compressed_coordinates_GFp(
14627        group: *const EC_GROUP,
14628        point: *mut EC_POINT,
14629        x: *const BIGNUM,
14630        y_bit: ::std::os::raw::c_int,
14631        ctx: *mut BN_CTX,
14632    ) -> ::std::os::raw::c_int;
14633}
14634extern "C" {
14635    #[link_name = "aws_lc_0_46_0_EC_POINT_add"]
14636    pub fn EC_POINT_add(
14637        group: *const EC_GROUP,
14638        r: *mut EC_POINT,
14639        a: *const EC_POINT,
14640        b: *const EC_POINT,
14641        ctx: *mut BN_CTX,
14642    ) -> ::std::os::raw::c_int;
14643}
14644extern "C" {
14645    #[link_name = "aws_lc_0_46_0_EC_POINT_dbl"]
14646    pub fn EC_POINT_dbl(
14647        group: *const EC_GROUP,
14648        r: *mut EC_POINT,
14649        a: *const EC_POINT,
14650        ctx: *mut BN_CTX,
14651    ) -> ::std::os::raw::c_int;
14652}
14653extern "C" {
14654    #[link_name = "aws_lc_0_46_0_EC_POINT_invert"]
14655    pub fn EC_POINT_invert(
14656        group: *const EC_GROUP,
14657        a: *mut EC_POINT,
14658        ctx: *mut BN_CTX,
14659    ) -> ::std::os::raw::c_int;
14660}
14661extern "C" {
14662    #[link_name = "aws_lc_0_46_0_EC_POINT_mul"]
14663    pub fn EC_POINT_mul(
14664        group: *const EC_GROUP,
14665        r: *mut EC_POINT,
14666        n: *const BIGNUM,
14667        q: *const EC_POINT,
14668        m: *const BIGNUM,
14669        ctx: *mut BN_CTX,
14670    ) -> ::std::os::raw::c_int;
14671}
14672extern "C" {
14673    #[link_name = "aws_lc_0_46_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14674    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14675        group: *const EC_GROUP,
14676        out: *mut EC_POINT,
14677        dst: *const u8,
14678        dst_len: usize,
14679        msg: *const u8,
14680        msg_len: usize,
14681    ) -> ::std::os::raw::c_int;
14682}
14683extern "C" {
14684    #[link_name = "aws_lc_0_46_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14685    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14686        group: *const EC_GROUP,
14687        out: *mut EC_POINT,
14688        dst: *const u8,
14689        dst_len: usize,
14690        msg: *const u8,
14691        msg_len: usize,
14692    ) -> ::std::os::raw::c_int;
14693}
14694extern "C" {
14695    #[link_name = "aws_lc_0_46_0_EC_GROUP_free"]
14696    pub fn EC_GROUP_free(group: *mut EC_GROUP);
14697}
14698extern "C" {
14699    #[link_name = "aws_lc_0_46_0_EC_GROUP_dup"]
14700    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
14701}
14702extern "C" {
14703    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_curve_GFp"]
14704    pub fn EC_GROUP_new_curve_GFp(
14705        p: *const BIGNUM,
14706        a: *const BIGNUM,
14707        b: *const BIGNUM,
14708        ctx: *mut BN_CTX,
14709    ) -> *mut EC_GROUP;
14710}
14711extern "C" {
14712    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_generator"]
14713    pub fn EC_GROUP_set_generator(
14714        group: *mut EC_GROUP,
14715        generator: *const EC_POINT,
14716        order: *const BIGNUM,
14717        cofactor: *const BIGNUM,
14718    ) -> ::std::os::raw::c_int;
14719}
14720extern "C" {
14721    #[link_name = "aws_lc_0_46_0_EC_POINT_point2bn"]
14722    pub fn EC_POINT_point2bn(
14723        group: *const EC_GROUP,
14724        point: *const EC_POINT,
14725        form: point_conversion_form_t,
14726        ret: *mut BIGNUM,
14727        ctx: *mut BN_CTX,
14728    ) -> *mut BIGNUM;
14729}
14730extern "C" {
14731    #[link_name = "aws_lc_0_46_0_EC_POINT_bn2point"]
14732    pub fn EC_POINT_bn2point(
14733        group: *const EC_GROUP,
14734        bn: *const BIGNUM,
14735        point: *mut EC_POINT,
14736        ctx: *mut BN_CTX,
14737    ) -> *mut EC_POINT;
14738}
14739extern "C" {
14740    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_order"]
14741    pub fn EC_GROUP_get_order(
14742        group: *const EC_GROUP,
14743        order: *mut BIGNUM,
14744        ctx: *mut BN_CTX,
14745    ) -> ::std::os::raw::c_int;
14746}
14747#[repr(C)]
14748#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14749pub struct EC_builtin_curve {
14750    pub nid: ::std::os::raw::c_int,
14751    pub comment: *const ::std::os::raw::c_char,
14752}
14753#[test]
14754fn bindgen_test_layout_EC_builtin_curve() {
14755    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
14756    let ptr = UNINIT.as_ptr();
14757    assert_eq!(
14758        ::std::mem::size_of::<EC_builtin_curve>(),
14759        16usize,
14760        "Size of EC_builtin_curve"
14761    );
14762    assert_eq!(
14763        ::std::mem::align_of::<EC_builtin_curve>(),
14764        8usize,
14765        "Alignment of EC_builtin_curve"
14766    );
14767    assert_eq!(
14768        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
14769        0usize,
14770        "Offset of field: EC_builtin_curve::nid"
14771    );
14772    assert_eq!(
14773        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
14774        8usize,
14775        "Offset of field: EC_builtin_curve::comment"
14776    );
14777}
14778impl Default for EC_builtin_curve {
14779    fn default() -> Self {
14780        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14781        unsafe {
14782            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14783            s.assume_init()
14784        }
14785    }
14786}
14787extern "C" {
14788    #[link_name = "aws_lc_0_46_0_EC_get_builtin_curves"]
14789    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
14790        -> usize;
14791}
14792extern "C" {
14793    #[link_name = "aws_lc_0_46_0_EC_POINT_clear_free"]
14794    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
14795}
14796extern "C" {
14797    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_seed"]
14798    pub fn EC_GROUP_set_seed(
14799        group: *mut EC_GROUP,
14800        p: *const ::std::os::raw::c_uchar,
14801        len: usize,
14802    ) -> usize;
14803}
14804extern "C" {
14805    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_seed"]
14806    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
14807}
14808extern "C" {
14809    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_seed_len"]
14810    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
14811}
14812extern "C" {
14813    #[link_name = "aws_lc_0_46_0_ECPKParameters_print"]
14814    pub fn ECPKParameters_print(
14815        bio: *mut BIO,
14816        group: *const EC_GROUP,
14817        offset: ::std::os::raw::c_int,
14818    ) -> ::std::os::raw::c_int;
14819}
14820extern "C" {
14821    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_asn1_flag"]
14822    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
14823}
14824extern "C" {
14825    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_asn1_flag"]
14826    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14827}
14828extern "C" {
14829    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_point_conversion_form"]
14830    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
14831}
14832extern "C" {
14833    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_point_conversion_form"]
14834    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
14835}
14836extern "C" {
14837    #[link_name = "aws_lc_0_46_0_EC_KEY_decoded_from_explicit_params"]
14838    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
14839}
14840#[repr(C)]
14841#[derive(Debug)]
14842pub struct ec_method_st {
14843    _unused: [u8; 0],
14844}
14845pub type EC_METHOD = ec_method_st;
14846extern "C" {
14847    #[link_name = "aws_lc_0_46_0_EC_GROUP_method_of"]
14848    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
14849}
14850extern "C" {
14851    #[link_name = "aws_lc_0_46_0_EC_METHOD_get_field_type"]
14852    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
14853}
14854extern "C" {
14855    #[link_name = "aws_lc_0_46_0_ENGINE_new"]
14856    pub fn ENGINE_new() -> *mut ENGINE;
14857}
14858extern "C" {
14859    #[link_name = "aws_lc_0_46_0_ENGINE_free"]
14860    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
14861}
14862extern "C" {
14863    #[link_name = "aws_lc_0_46_0_ENGINE_set_RSA"]
14864    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
14865}
14866extern "C" {
14867    #[link_name = "aws_lc_0_46_0_ENGINE_get_RSA"]
14868    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
14869}
14870extern "C" {
14871    #[link_name = "aws_lc_0_46_0_ENGINE_set_EC"]
14872    pub fn ENGINE_set_EC(
14873        engine: *mut ENGINE,
14874        method: *const EC_KEY_METHOD,
14875    ) -> ::std::os::raw::c_int;
14876}
14877extern "C" {
14878    #[link_name = "aws_lc_0_46_0_ENGINE_get_EC"]
14879    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
14880}
14881extern "C" {
14882    #[link_name = "aws_lc_0_46_0_ENGINE_cleanup"]
14883    pub fn ENGINE_cleanup();
14884}
14885extern "C" {
14886    #[link_name = "aws_lc_0_46_0_EC_KEY_new"]
14887    pub fn EC_KEY_new() -> *mut EC_KEY;
14888}
14889extern "C" {
14890    #[link_name = "aws_lc_0_46_0_EC_KEY_new_method"]
14891    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
14892}
14893extern "C" {
14894    #[link_name = "aws_lc_0_46_0_EC_KEY_new_by_curve_name"]
14895    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
14896}
14897extern "C" {
14898    #[link_name = "aws_lc_0_46_0_EC_KEY_free"]
14899    pub fn EC_KEY_free(key: *mut EC_KEY);
14900}
14901extern "C" {
14902    #[link_name = "aws_lc_0_46_0_EC_KEY_dup"]
14903    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
14904}
14905extern "C" {
14906    #[link_name = "aws_lc_0_46_0_EC_KEY_up_ref"]
14907    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14908}
14909extern "C" {
14910    #[link_name = "aws_lc_0_46_0_EC_KEY_is_opaque"]
14911    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
14912}
14913extern "C" {
14914    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_group"]
14915    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
14916}
14917extern "C" {
14918    #[link_name = "aws_lc_0_46_0_EC_KEY_set_group"]
14919    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14920}
14921extern "C" {
14922    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_private_key"]
14923    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
14924}
14925extern "C" {
14926    #[link_name = "aws_lc_0_46_0_EC_KEY_set_private_key"]
14927    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
14928}
14929extern "C" {
14930    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_public_key"]
14931    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
14932}
14933extern "C" {
14934    #[link_name = "aws_lc_0_46_0_EC_KEY_set_public_key"]
14935    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
14936}
14937extern "C" {
14938    #[link_name = "aws_lc_0_46_0_EC_KEY_get_enc_flags"]
14939    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
14940}
14941extern "C" {
14942    #[link_name = "aws_lc_0_46_0_EC_KEY_set_enc_flags"]
14943    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
14944}
14945extern "C" {
14946    #[link_name = "aws_lc_0_46_0_EC_KEY_get_conv_form"]
14947    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
14948}
14949extern "C" {
14950    #[link_name = "aws_lc_0_46_0_EC_KEY_set_conv_form"]
14951    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
14952}
14953extern "C" {
14954    #[link_name = "aws_lc_0_46_0_EC_KEY_check_key"]
14955    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
14956}
14957extern "C" {
14958    #[link_name = "aws_lc_0_46_0_EC_KEY_check_fips"]
14959    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
14960}
14961extern "C" {
14962    #[link_name = "aws_lc_0_46_0_EC_KEY_set_public_key_affine_coordinates"]
14963    pub fn EC_KEY_set_public_key_affine_coordinates(
14964        key: *mut EC_KEY,
14965        x: *const BIGNUM,
14966        y: *const BIGNUM,
14967    ) -> ::std::os::raw::c_int;
14968}
14969extern "C" {
14970    #[link_name = "aws_lc_0_46_0_EC_KEY_key2buf"]
14971    pub fn EC_KEY_key2buf(
14972        key: *const EC_KEY,
14973        form: point_conversion_form_t,
14974        out_buf: *mut *mut ::std::os::raw::c_uchar,
14975        ctx: *mut BN_CTX,
14976    ) -> usize;
14977}
14978extern "C" {
14979    #[link_name = "aws_lc_0_46_0_EC_KEY_generate_key"]
14980    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14981}
14982extern "C" {
14983    #[link_name = "aws_lc_0_46_0_EC_KEY_generate_key_fips"]
14984    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14985}
14986extern "C" {
14987    #[link_name = "aws_lc_0_46_0_EC_KEY_derive_from_secret"]
14988    pub fn EC_KEY_derive_from_secret(
14989        group: *const EC_GROUP,
14990        secret: *const u8,
14991        secret_len: usize,
14992    ) -> *mut EC_KEY;
14993}
14994extern "C" {
14995    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_private_key"]
14996    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
14997}
14998extern "C" {
14999    #[link_name = "aws_lc_0_46_0_EC_KEY_marshal_private_key"]
15000    pub fn EC_KEY_marshal_private_key(
15001        cbb: *mut CBB,
15002        key: *const EC_KEY,
15003        enc_flags: ::std::os::raw::c_uint,
15004    ) -> ::std::os::raw::c_int;
15005}
15006extern "C" {
15007    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_curve_name"]
15008    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
15009}
15010extern "C" {
15011    #[link_name = "aws_lc_0_46_0_EC_KEY_marshal_curve_name"]
15012    pub fn EC_KEY_marshal_curve_name(
15013        cbb: *mut CBB,
15014        group: *const EC_GROUP,
15015    ) -> ::std::os::raw::c_int;
15016}
15017extern "C" {
15018    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_parameters"]
15019    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
15020}
15021extern "C" {
15022    #[link_name = "aws_lc_0_46_0_EC_KEY_get_ex_new_index"]
15023    pub fn EC_KEY_get_ex_new_index(
15024        argl: ::std::os::raw::c_long,
15025        argp: *mut ::std::os::raw::c_void,
15026        unused: *mut CRYPTO_EX_unused,
15027        dup_unused: CRYPTO_EX_dup,
15028        free_func: CRYPTO_EX_free,
15029    ) -> ::std::os::raw::c_int;
15030}
15031extern "C" {
15032    #[link_name = "aws_lc_0_46_0_EC_KEY_set_ex_data"]
15033    pub fn EC_KEY_set_ex_data(
15034        r: *mut EC_KEY,
15035        idx: ::std::os::raw::c_int,
15036        arg: *mut ::std::os::raw::c_void,
15037    ) -> ::std::os::raw::c_int;
15038}
15039extern "C" {
15040    #[link_name = "aws_lc_0_46_0_EC_KEY_get_ex_data"]
15041    pub fn EC_KEY_get_ex_data(
15042        r: *const EC_KEY,
15043        idx: ::std::os::raw::c_int,
15044    ) -> *mut ::std::os::raw::c_void;
15045}
15046extern "C" {
15047    #[link_name = "aws_lc_0_46_0_d2i_ECPrivateKey"]
15048    pub fn d2i_ECPrivateKey(
15049        out_key: *mut *mut EC_KEY,
15050        inp: *mut *const u8,
15051        len: ::std::os::raw::c_long,
15052    ) -> *mut EC_KEY;
15053}
15054extern "C" {
15055    #[link_name = "aws_lc_0_46_0_i2d_ECPrivateKey"]
15056    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15057}
15058extern "C" {
15059    #[link_name = "aws_lc_0_46_0_d2i_ECParameters"]
15060    pub fn d2i_ECParameters(
15061        out_key: *mut *mut EC_KEY,
15062        inp: *mut *const u8,
15063        len: ::std::os::raw::c_long,
15064    ) -> *mut EC_KEY;
15065}
15066extern "C" {
15067    #[link_name = "aws_lc_0_46_0_i2d_ECParameters"]
15068    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15069}
15070extern "C" {
15071    #[link_name = "aws_lc_0_46_0_d2i_ECPKParameters"]
15072    pub fn d2i_ECPKParameters(
15073        out_group: *mut *mut EC_GROUP,
15074        inp: *mut *const u8,
15075        len: ::std::os::raw::c_long,
15076    ) -> *mut EC_GROUP;
15077}
15078extern "C" {
15079    #[link_name = "aws_lc_0_46_0_i2d_ECPKParameters"]
15080    pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15081}
15082extern "C" {
15083    #[link_name = "aws_lc_0_46_0_d2i_ECPKParameters_bio"]
15084    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
15085}
15086extern "C" {
15087    #[link_name = "aws_lc_0_46_0_i2d_ECPKParameters_bio"]
15088    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15089}
15090extern "C" {
15091    #[link_name = "aws_lc_0_46_0_o2i_ECPublicKey"]
15092    pub fn o2i_ECPublicKey(
15093        out_key: *mut *mut EC_KEY,
15094        inp: *mut *const u8,
15095        len: ::std::os::raw::c_long,
15096    ) -> *mut EC_KEY;
15097}
15098extern "C" {
15099    #[link_name = "aws_lc_0_46_0_i2o_ECPublicKey"]
15100    pub fn i2o_ECPublicKey(
15101        key: *const EC_KEY,
15102        outp: *mut *mut ::std::os::raw::c_uchar,
15103    ) -> ::std::os::raw::c_int;
15104}
15105extern "C" {
15106    #[link_name = "aws_lc_0_46_0_EC_KEY_get_default_method"]
15107    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
15108}
15109extern "C" {
15110    #[link_name = "aws_lc_0_46_0_EC_KEY_OpenSSL"]
15111    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
15112}
15113extern "C" {
15114    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_new"]
15115    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
15116}
15117extern "C" {
15118    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_free"]
15119    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
15120}
15121extern "C" {
15122    #[link_name = "aws_lc_0_46_0_EC_KEY_set_method"]
15123    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
15124}
15125extern "C" {
15126    #[link_name = "aws_lc_0_46_0_EC_KEY_get_method"]
15127    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
15128}
15129extern "C" {
15130    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_sign_awslc"]
15131    pub fn EC_KEY_METHOD_set_sign_awslc(
15132        meth: *mut EC_KEY_METHOD,
15133        sign: ::std::option::Option<
15134            unsafe extern "C" fn(
15135                type_: ::std::os::raw::c_int,
15136                digest: *const u8,
15137                digest_len: ::std::os::raw::c_int,
15138                sig: *mut u8,
15139                siglen: *mut ::std::os::raw::c_uint,
15140                k_inv: *const BIGNUM,
15141                r: *const BIGNUM,
15142                eckey: *mut EC_KEY,
15143            ) -> ::std::os::raw::c_int,
15144        >,
15145        sign_sig: ::std::option::Option<
15146            unsafe extern "C" fn(
15147                digest: *const u8,
15148                digest_len: ::std::os::raw::c_int,
15149                in_kinv: *const BIGNUM,
15150                in_r: *const BIGNUM,
15151                eckey: *mut EC_KEY,
15152            ) -> *mut ECDSA_SIG,
15153        >,
15154    );
15155}
15156extern "C" {
15157    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_init_awslc"]
15158    pub fn EC_KEY_METHOD_set_init_awslc(
15159        meth: *mut EC_KEY_METHOD,
15160        init: ::std::option::Option<
15161            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
15162        >,
15163        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
15164    );
15165}
15166extern "C" {
15167    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_flags"]
15168    pub fn EC_KEY_METHOD_set_flags(
15169        meth: *mut EC_KEY_METHOD,
15170        flags: ::std::os::raw::c_int,
15171    ) -> ::std::os::raw::c_int;
15172}
15173extern "C" {
15174    #[link_name = "aws_lc_0_46_0_EC_KEY_set_asn1_flag"]
15175    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
15176}
15177extern "C" {
15178    #[link_name = "aws_lc_0_46_0_ECDH_compute_key"]
15179    pub fn ECDH_compute_key(
15180        out: *mut ::std::os::raw::c_void,
15181        outlen: usize,
15182        pub_key: *const EC_POINT,
15183        priv_key: *const EC_KEY,
15184        kdf: ::std::option::Option<
15185            unsafe extern "C" fn(
15186                in_: *const ::std::os::raw::c_void,
15187                inlen: usize,
15188                out: *mut ::std::os::raw::c_void,
15189                outlen: *mut usize,
15190            ) -> *mut ::std::os::raw::c_void,
15191        >,
15192    ) -> ::std::os::raw::c_int;
15193}
15194extern "C" {
15195    #[link_name = "aws_lc_0_46_0_ECDH_compute_key_fips"]
15196    pub fn ECDH_compute_key_fips(
15197        out: *mut u8,
15198        out_len: usize,
15199        pub_key: *const EC_POINT,
15200        priv_key: *const EC_KEY,
15201    ) -> ::std::os::raw::c_int;
15202}
15203extern "C" {
15204    #[link_name = "aws_lc_0_46_0_ECDSA_sign"]
15205    pub fn ECDSA_sign(
15206        type_: ::std::os::raw::c_int,
15207        digest: *const u8,
15208        digest_len: usize,
15209        sig: *mut u8,
15210        sig_len: *mut ::std::os::raw::c_uint,
15211        key: *const EC_KEY,
15212    ) -> ::std::os::raw::c_int;
15213}
15214extern "C" {
15215    #[link_name = "aws_lc_0_46_0_ECDSA_verify"]
15216    pub fn ECDSA_verify(
15217        type_: ::std::os::raw::c_int,
15218        digest: *const u8,
15219        digest_len: usize,
15220        sig: *const u8,
15221        sig_len: usize,
15222        key: *const EC_KEY,
15223    ) -> ::std::os::raw::c_int;
15224}
15225extern "C" {
15226    #[link_name = "aws_lc_0_46_0_ECDSA_size"]
15227    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
15228}
15229#[repr(C)]
15230#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15231pub struct ecdsa_sig_st {
15232    pub r: *mut BIGNUM,
15233    pub s: *mut BIGNUM,
15234}
15235#[test]
15236fn bindgen_test_layout_ecdsa_sig_st() {
15237    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
15238    let ptr = UNINIT.as_ptr();
15239    assert_eq!(
15240        ::std::mem::size_of::<ecdsa_sig_st>(),
15241        16usize,
15242        "Size of ecdsa_sig_st"
15243    );
15244    assert_eq!(
15245        ::std::mem::align_of::<ecdsa_sig_st>(),
15246        8usize,
15247        "Alignment of ecdsa_sig_st"
15248    );
15249    assert_eq!(
15250        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
15251        0usize,
15252        "Offset of field: ecdsa_sig_st::r"
15253    );
15254    assert_eq!(
15255        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15256        8usize,
15257        "Offset of field: ecdsa_sig_st::s"
15258    );
15259}
15260impl Default for ecdsa_sig_st {
15261    fn default() -> Self {
15262        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15263        unsafe {
15264            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15265            s.assume_init()
15266        }
15267    }
15268}
15269extern "C" {
15270    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_new"]
15271    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
15272}
15273extern "C" {
15274    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_free"]
15275    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
15276}
15277extern "C" {
15278    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0_r"]
15279    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
15280}
15281extern "C" {
15282    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0_s"]
15283    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
15284}
15285extern "C" {
15286    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0"]
15287    pub fn ECDSA_SIG_get0(
15288        sig: *const ECDSA_SIG,
15289        out_r: *mut *const BIGNUM,
15290        out_s: *mut *const BIGNUM,
15291    );
15292}
15293extern "C" {
15294    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_set0"]
15295    pub fn ECDSA_SIG_set0(
15296        sig: *mut ECDSA_SIG,
15297        r: *mut BIGNUM,
15298        s: *mut BIGNUM,
15299    ) -> ::std::os::raw::c_int;
15300}
15301extern "C" {
15302    #[link_name = "aws_lc_0_46_0_ECDSA_do_sign"]
15303    pub fn ECDSA_do_sign(
15304        digest: *const u8,
15305        digest_len: usize,
15306        key: *const EC_KEY,
15307    ) -> *mut ECDSA_SIG;
15308}
15309extern "C" {
15310    #[link_name = "aws_lc_0_46_0_ECDSA_do_verify"]
15311    pub fn ECDSA_do_verify(
15312        digest: *const u8,
15313        digest_len: usize,
15314        sig: *const ECDSA_SIG,
15315        key: *const EC_KEY,
15316    ) -> ::std::os::raw::c_int;
15317}
15318extern "C" {
15319    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_parse"]
15320    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
15321}
15322extern "C" {
15323    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_from_bytes"]
15324    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
15325}
15326extern "C" {
15327    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_marshal"]
15328    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
15329}
15330extern "C" {
15331    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_to_bytes"]
15332    pub fn ECDSA_SIG_to_bytes(
15333        out_bytes: *mut *mut u8,
15334        out_len: *mut usize,
15335        sig: *const ECDSA_SIG,
15336    ) -> ::std::os::raw::c_int;
15337}
15338extern "C" {
15339    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_max_len"]
15340    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
15341}
15342extern "C" {
15343    #[link_name = "aws_lc_0_46_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
15344    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
15345        digest: *const u8,
15346        digest_len: usize,
15347        eckey: *const EC_KEY,
15348        nonce: *const u8,
15349        nonce_len: usize,
15350    ) -> *mut ECDSA_SIG;
15351}
15352extern "C" {
15353    #[link_name = "aws_lc_0_46_0_d2i_ECDSA_SIG"]
15354    pub fn d2i_ECDSA_SIG(
15355        out: *mut *mut ECDSA_SIG,
15356        inp: *mut *const u8,
15357        len: ::std::os::raw::c_long,
15358    ) -> *mut ECDSA_SIG;
15359}
15360extern "C" {
15361    #[link_name = "aws_lc_0_46_0_i2d_ECDSA_SIG"]
15362    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15363}
15364extern "C" {
15365    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm"]
15366    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
15367}
15368extern "C" {
15369    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_192_gcm"]
15370    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
15371}
15372extern "C" {
15373    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm"]
15374    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
15375}
15376extern "C" {
15377    #[link_name = "aws_lc_0_46_0_EVP_aead_chacha20_poly1305"]
15378    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
15379}
15380extern "C" {
15381    #[link_name = "aws_lc_0_46_0_EVP_aead_xchacha20_poly1305"]
15382    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
15383}
15384extern "C" {
15385    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ctr_hmac_sha256"]
15386    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
15387}
15388extern "C" {
15389    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_ctr_hmac_sha256"]
15390    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
15391}
15392extern "C" {
15393    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_siv"]
15394    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
15395}
15396extern "C" {
15397    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_siv"]
15398    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
15399}
15400extern "C" {
15401    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_randnonce"]
15402    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
15403}
15404extern "C" {
15405    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_randnonce"]
15406    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
15407}
15408extern "C" {
15409    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_bluetooth"]
15410    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
15411}
15412extern "C" {
15413    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_bluetooth_8"]
15414    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
15415}
15416extern "C" {
15417    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_matter"]
15418    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
15419}
15420extern "C" {
15421    #[link_name = "aws_lc_0_46_0_EVP_has_aes_hardware"]
15422    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
15423}
15424extern "C" {
15425    #[link_name = "aws_lc_0_46_0_EVP_AEAD_key_length"]
15426    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
15427}
15428extern "C" {
15429    #[link_name = "aws_lc_0_46_0_EVP_AEAD_nonce_length"]
15430    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
15431}
15432extern "C" {
15433    #[link_name = "aws_lc_0_46_0_EVP_AEAD_max_overhead"]
15434    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
15435}
15436extern "C" {
15437    #[link_name = "aws_lc_0_46_0_EVP_AEAD_max_tag_len"]
15438    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
15439}
15440#[repr(C)]
15441#[derive(Copy, Clone)]
15442pub union evp_aead_ctx_st_state {
15443    pub opaque: [u8; 564usize],
15444    pub alignment: u64,
15445    pub ptr: *mut ::std::os::raw::c_void,
15446}
15447#[test]
15448fn bindgen_test_layout_evp_aead_ctx_st_state() {
15449    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
15450        ::std::mem::MaybeUninit::uninit();
15451    let ptr = UNINIT.as_ptr();
15452    assert_eq!(
15453        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
15454        568usize,
15455        "Size of evp_aead_ctx_st_state"
15456    );
15457    assert_eq!(
15458        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
15459        8usize,
15460        "Alignment of evp_aead_ctx_st_state"
15461    );
15462    assert_eq!(
15463        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
15464        0usize,
15465        "Offset of field: evp_aead_ctx_st_state::opaque"
15466    );
15467    assert_eq!(
15468        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
15469        0usize,
15470        "Offset of field: evp_aead_ctx_st_state::alignment"
15471    );
15472    assert_eq!(
15473        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15474        0usize,
15475        "Offset of field: evp_aead_ctx_st_state::ptr"
15476    );
15477}
15478impl Default for evp_aead_ctx_st_state {
15479    fn default() -> Self {
15480        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15481        unsafe {
15482            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15483            s.assume_init()
15484        }
15485    }
15486}
15487#[repr(C)]
15488#[derive(Copy, Clone)]
15489pub struct evp_aead_ctx_st {
15490    pub aead: *const EVP_AEAD,
15491    pub state: evp_aead_ctx_st_state,
15492    pub state_offset: u8,
15493    pub tag_len: u8,
15494}
15495#[test]
15496fn bindgen_test_layout_evp_aead_ctx_st() {
15497    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15498    let ptr = UNINIT.as_ptr();
15499    assert_eq!(
15500        ::std::mem::size_of::<evp_aead_ctx_st>(),
15501        584usize,
15502        "Size of evp_aead_ctx_st"
15503    );
15504    assert_eq!(
15505        ::std::mem::align_of::<evp_aead_ctx_st>(),
15506        8usize,
15507        "Alignment of evp_aead_ctx_st"
15508    );
15509    assert_eq!(
15510        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15511        0usize,
15512        "Offset of field: evp_aead_ctx_st::aead"
15513    );
15514    assert_eq!(
15515        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15516        8usize,
15517        "Offset of field: evp_aead_ctx_st::state"
15518    );
15519    assert_eq!(
15520        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15521        576usize,
15522        "Offset of field: evp_aead_ctx_st::state_offset"
15523    );
15524    assert_eq!(
15525        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15526        577usize,
15527        "Offset of field: evp_aead_ctx_st::tag_len"
15528    );
15529}
15530impl Default for evp_aead_ctx_st {
15531    fn default() -> Self {
15532        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15533        unsafe {
15534            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15535            s.assume_init()
15536        }
15537    }
15538}
15539extern "C" {
15540    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_zero"]
15541    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15542}
15543extern "C" {
15544    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_new"]
15545    pub fn EVP_AEAD_CTX_new(
15546        aead: *const EVP_AEAD,
15547        key: *const u8,
15548        key_len: usize,
15549        tag_len: usize,
15550    ) -> *mut EVP_AEAD_CTX;
15551}
15552extern "C" {
15553    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_free"]
15554    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15555}
15556extern "C" {
15557    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_init"]
15558    pub fn EVP_AEAD_CTX_init(
15559        ctx: *mut EVP_AEAD_CTX,
15560        aead: *const EVP_AEAD,
15561        key: *const u8,
15562        key_len: usize,
15563        tag_len: usize,
15564        impl_: *mut ENGINE,
15565    ) -> ::std::os::raw::c_int;
15566}
15567extern "C" {
15568    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_cleanup"]
15569    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15570}
15571extern "C" {
15572    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_copy"]
15573    pub fn EVP_AEAD_CTX_copy(
15574        out: *mut EVP_AEAD_CTX,
15575        in_: *const EVP_AEAD_CTX,
15576    ) -> ::std::os::raw::c_int;
15577}
15578extern "C" {
15579    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_seal"]
15580    pub fn EVP_AEAD_CTX_seal(
15581        ctx: *const EVP_AEAD_CTX,
15582        out: *mut u8,
15583        out_len: *mut usize,
15584        max_out_len: usize,
15585        nonce: *const u8,
15586        nonce_len: usize,
15587        in_: *const u8,
15588        in_len: usize,
15589        ad: *const u8,
15590        ad_len: usize,
15591    ) -> ::std::os::raw::c_int;
15592}
15593extern "C" {
15594    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_open"]
15595    pub fn EVP_AEAD_CTX_open(
15596        ctx: *const EVP_AEAD_CTX,
15597        out: *mut u8,
15598        out_len: *mut usize,
15599        max_out_len: usize,
15600        nonce: *const u8,
15601        nonce_len: usize,
15602        in_: *const u8,
15603        in_len: usize,
15604        ad: *const u8,
15605        ad_len: usize,
15606    ) -> ::std::os::raw::c_int;
15607}
15608extern "C" {
15609    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_seal_scatter"]
15610    pub fn EVP_AEAD_CTX_seal_scatter(
15611        ctx: *const EVP_AEAD_CTX,
15612        out: *mut u8,
15613        out_tag: *mut u8,
15614        out_tag_len: *mut usize,
15615        max_out_tag_len: usize,
15616        nonce: *const u8,
15617        nonce_len: usize,
15618        in_: *const u8,
15619        in_len: usize,
15620        extra_in: *const u8,
15621        extra_in_len: usize,
15622        ad: *const u8,
15623        ad_len: usize,
15624    ) -> ::std::os::raw::c_int;
15625}
15626extern "C" {
15627    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_open_gather"]
15628    pub fn EVP_AEAD_CTX_open_gather(
15629        ctx: *const EVP_AEAD_CTX,
15630        out: *mut u8,
15631        nonce: *const u8,
15632        nonce_len: usize,
15633        in_: *const u8,
15634        in_len: usize,
15635        in_tag: *const u8,
15636        in_tag_len: usize,
15637        ad: *const u8,
15638        ad_len: usize,
15639    ) -> ::std::os::raw::c_int;
15640}
15641extern "C" {
15642    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_aead"]
15643    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15644}
15645extern "C" {
15646    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha1_tls"]
15647    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15648}
15649extern "C" {
15650    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15651    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15652}
15653extern "C" {
15654    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha1_tls"]
15655    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
15656}
15657extern "C" {
15658    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
15659    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15660}
15661extern "C" {
15662    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha256_tls"]
15663    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
15664}
15665extern "C" {
15666    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
15667    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
15668}
15669extern "C" {
15670    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha384_tls"]
15671    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
15672}
15673extern "C" {
15674    #[link_name = "aws_lc_0_46_0_EVP_aead_des_ede3_cbc_sha1_tls"]
15675    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
15676}
15677extern "C" {
15678    #[link_name = "aws_lc_0_46_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
15679    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15680}
15681extern "C" {
15682    #[link_name = "aws_lc_0_46_0_EVP_aead_null_sha1_tls"]
15683    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
15684}
15685extern "C" {
15686    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_tls12"]
15687    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
15688}
15689extern "C" {
15690    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_tls12"]
15691    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
15692}
15693extern "C" {
15694    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_tls13"]
15695    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
15696}
15697extern "C" {
15698    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_tls13"]
15699    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
15700}
15701pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
15702pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
15703pub type evp_aead_direction_t = ::std::os::raw::c_uint;
15704extern "C" {
15705    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_init_with_direction"]
15706    pub fn EVP_AEAD_CTX_init_with_direction(
15707        ctx: *mut EVP_AEAD_CTX,
15708        aead: *const EVP_AEAD,
15709        key: *const u8,
15710        key_len: usize,
15711        tag_len: usize,
15712        dir: evp_aead_direction_t,
15713    ) -> ::std::os::raw::c_int;
15714}
15715extern "C" {
15716    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_get_iv"]
15717    pub fn EVP_AEAD_CTX_get_iv(
15718        ctx: *const EVP_AEAD_CTX,
15719        out_iv: *mut *const u8,
15720        out_len: *mut usize,
15721    ) -> ::std::os::raw::c_int;
15722}
15723extern "C" {
15724    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_tag_len"]
15725    pub fn EVP_AEAD_CTX_tag_len(
15726        ctx: *const EVP_AEAD_CTX,
15727        out_tag_len: *mut usize,
15728        in_len: usize,
15729        extra_in_len: usize,
15730    ) -> ::std::os::raw::c_int;
15731}
15732extern "C" {
15733    #[link_name = "aws_lc_0_46_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
15734    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
15735        ipv4_address: u32,
15736        nanosecs: u64,
15737        out_iv: *mut u8,
15738    ) -> ::std::os::raw::c_int;
15739}
15740extern "C" {
15741    #[link_name = "aws_lc_0_46_0_OBJ_dup"]
15742    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15743}
15744extern "C" {
15745    #[link_name = "aws_lc_0_46_0_OBJ_cmp"]
15746    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15747}
15748extern "C" {
15749    #[link_name = "aws_lc_0_46_0_OBJ_get0_data"]
15750    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15751}
15752extern "C" {
15753    #[link_name = "aws_lc_0_46_0_OBJ_length"]
15754    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15755}
15756extern "C" {
15757    #[link_name = "aws_lc_0_46_0_OBJ_obj2nid"]
15758    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15759}
15760extern "C" {
15761    #[link_name = "aws_lc_0_46_0_OBJ_cbs2nid"]
15762    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
15763}
15764extern "C" {
15765    #[link_name = "aws_lc_0_46_0_OBJ_sn2nid"]
15766    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15767}
15768extern "C" {
15769    #[link_name = "aws_lc_0_46_0_OBJ_ln2nid"]
15770    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15771}
15772extern "C" {
15773    #[link_name = "aws_lc_0_46_0_OBJ_txt2nid"]
15774    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15775}
15776extern "C" {
15777    #[link_name = "aws_lc_0_46_0_OBJ_nid2obj"]
15778    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
15779}
15780extern "C" {
15781    #[link_name = "aws_lc_0_46_0_OBJ_get_undef"]
15782    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15783}
15784extern "C" {
15785    #[link_name = "aws_lc_0_46_0_OBJ_nid2sn"]
15786    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15787}
15788extern "C" {
15789    #[link_name = "aws_lc_0_46_0_OBJ_nid2ln"]
15790    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15791}
15792extern "C" {
15793    #[link_name = "aws_lc_0_46_0_OBJ_nid2cbb"]
15794    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15795}
15796extern "C" {
15797    #[link_name = "aws_lc_0_46_0_OBJ_txt2obj"]
15798    pub fn OBJ_txt2obj(
15799        s: *const ::std::os::raw::c_char,
15800        dont_search_names: ::std::os::raw::c_int,
15801    ) -> *mut ASN1_OBJECT;
15802}
15803extern "C" {
15804    #[link_name = "aws_lc_0_46_0_OBJ_obj2txt"]
15805    pub fn OBJ_obj2txt(
15806        out: *mut ::std::os::raw::c_char,
15807        out_len: ::std::os::raw::c_int,
15808        obj: *const ASN1_OBJECT,
15809        always_return_oid: ::std::os::raw::c_int,
15810    ) -> ::std::os::raw::c_int;
15811}
15812extern "C" {
15813    #[link_name = "aws_lc_0_46_0_OBJ_create"]
15814    pub fn OBJ_create(
15815        oid: *const ::std::os::raw::c_char,
15816        short_name: *const ::std::os::raw::c_char,
15817        long_name: *const ::std::os::raw::c_char,
15818    ) -> ::std::os::raw::c_int;
15819}
15820extern "C" {
15821    #[link_name = "aws_lc_0_46_0_OBJ_find_sigid_algs"]
15822    pub fn OBJ_find_sigid_algs(
15823        sign_nid: ::std::os::raw::c_int,
15824        out_digest_nid: *mut ::std::os::raw::c_int,
15825        out_pkey_nid: *mut ::std::os::raw::c_int,
15826    ) -> ::std::os::raw::c_int;
15827}
15828extern "C" {
15829    #[link_name = "aws_lc_0_46_0_OBJ_find_sigid_by_algs"]
15830    pub fn OBJ_find_sigid_by_algs(
15831        out_sign_nid: *mut ::std::os::raw::c_int,
15832        digest_nid: ::std::os::raw::c_int,
15833        pkey_nid: ::std::os::raw::c_int,
15834    ) -> ::std::os::raw::c_int;
15835}
15836#[repr(C)]
15837#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15838pub struct obj_name_st {
15839    pub type_: ::std::os::raw::c_int,
15840    pub alias: ::std::os::raw::c_int,
15841    pub name: *const ::std::os::raw::c_char,
15842    pub data: *const ::std::os::raw::c_char,
15843}
15844#[test]
15845fn bindgen_test_layout_obj_name_st() {
15846    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
15847    let ptr = UNINIT.as_ptr();
15848    assert_eq!(
15849        ::std::mem::size_of::<obj_name_st>(),
15850        24usize,
15851        "Size of obj_name_st"
15852    );
15853    assert_eq!(
15854        ::std::mem::align_of::<obj_name_st>(),
15855        8usize,
15856        "Alignment of obj_name_st"
15857    );
15858    assert_eq!(
15859        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15860        0usize,
15861        "Offset of field: obj_name_st::type_"
15862    );
15863    assert_eq!(
15864        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
15865        4usize,
15866        "Offset of field: obj_name_st::alias"
15867    );
15868    assert_eq!(
15869        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
15870        8usize,
15871        "Offset of field: obj_name_st::name"
15872    );
15873    assert_eq!(
15874        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15875        16usize,
15876        "Offset of field: obj_name_st::data"
15877    );
15878}
15879impl Default for obj_name_st {
15880    fn default() -> Self {
15881        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15882        unsafe {
15883            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15884            s.assume_init()
15885        }
15886    }
15887}
15888pub type OBJ_NAME = obj_name_st;
15889extern "C" {
15890    #[link_name = "aws_lc_0_46_0_OBJ_NAME_do_all_sorted"]
15891    pub fn OBJ_NAME_do_all_sorted(
15892        type_: ::std::os::raw::c_int,
15893        callback: ::std::option::Option<
15894            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
15895        >,
15896        arg: *mut ::std::os::raw::c_void,
15897    );
15898}
15899extern "C" {
15900    #[link_name = "aws_lc_0_46_0_OBJ_cleanup"]
15901    pub fn OBJ_cleanup();
15902}
15903extern "C" {
15904    #[link_name = "aws_lc_0_46_0_MD5_Init"]
15905    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15906}
15907extern "C" {
15908    #[link_name = "aws_lc_0_46_0_MD5_Update"]
15909    pub fn MD5_Update(
15910        md5: *mut MD5_CTX,
15911        data: *const ::std::os::raw::c_void,
15912        len: usize,
15913    ) -> ::std::os::raw::c_int;
15914}
15915extern "C" {
15916    #[link_name = "aws_lc_0_46_0_MD5_Final"]
15917    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15918}
15919extern "C" {
15920    #[link_name = "aws_lc_0_46_0_MD5"]
15921    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15922}
15923extern "C" {
15924    #[link_name = "aws_lc_0_46_0_MD5_Transform"]
15925    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
15926}
15927#[repr(C)]
15928#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15929pub struct md5_state_st {
15930    pub h: [u32; 4usize],
15931    pub Nl: u32,
15932    pub Nh: u32,
15933    pub data: [u8; 64usize],
15934    pub num: ::std::os::raw::c_uint,
15935}
15936#[test]
15937fn bindgen_test_layout_md5_state_st() {
15938    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
15939    let ptr = UNINIT.as_ptr();
15940    assert_eq!(
15941        ::std::mem::size_of::<md5_state_st>(),
15942        92usize,
15943        "Size of md5_state_st"
15944    );
15945    assert_eq!(
15946        ::std::mem::align_of::<md5_state_st>(),
15947        4usize,
15948        "Alignment of md5_state_st"
15949    );
15950    assert_eq!(
15951        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
15952        0usize,
15953        "Offset of field: md5_state_st::h"
15954    );
15955    assert_eq!(
15956        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
15957        16usize,
15958        "Offset of field: md5_state_st::Nl"
15959    );
15960    assert_eq!(
15961        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
15962        20usize,
15963        "Offset of field: md5_state_st::Nh"
15964    );
15965    assert_eq!(
15966        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15967        24usize,
15968        "Offset of field: md5_state_st::data"
15969    );
15970    assert_eq!(
15971        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
15972        88usize,
15973        "Offset of field: md5_state_st::num"
15974    );
15975}
15976impl Default for md5_state_st {
15977    fn default() -> Self {
15978        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15979        unsafe {
15980            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15981            s.assume_init()
15982        }
15983    }
15984}
15985extern "C" {
15986    #[link_name = "aws_lc_0_46_0_HMAC"]
15987    pub fn HMAC(
15988        evp_md: *const EVP_MD,
15989        key: *const ::std::os::raw::c_void,
15990        key_len: usize,
15991        data: *const u8,
15992        data_len: usize,
15993        out: *mut u8,
15994        out_len: *mut ::std::os::raw::c_uint,
15995    ) -> *mut u8;
15996}
15997extern "C" {
15998    #[link_name = "aws_lc_0_46_0_HMAC_CTX_init"]
15999    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
16000}
16001extern "C" {
16002    #[link_name = "aws_lc_0_46_0_HMAC_CTX_new"]
16003    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
16004}
16005extern "C" {
16006    #[link_name = "aws_lc_0_46_0_HMAC_CTX_cleanup"]
16007    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
16008}
16009extern "C" {
16010    #[link_name = "aws_lc_0_46_0_HMAC_CTX_cleanse"]
16011    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
16012}
16013extern "C" {
16014    #[link_name = "aws_lc_0_46_0_HMAC_CTX_free"]
16015    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
16016}
16017extern "C" {
16018    #[link_name = "aws_lc_0_46_0_HMAC_Init_ex"]
16019    pub fn HMAC_Init_ex(
16020        ctx: *mut HMAC_CTX,
16021        key: *const ::std::os::raw::c_void,
16022        key_len: usize,
16023        md: *const EVP_MD,
16024        impl_: *mut ENGINE,
16025    ) -> ::std::os::raw::c_int;
16026}
16027extern "C" {
16028    #[link_name = "aws_lc_0_46_0_HMAC_Update"]
16029    pub fn HMAC_Update(
16030        ctx: *mut HMAC_CTX,
16031        data: *const u8,
16032        data_len: usize,
16033    ) -> ::std::os::raw::c_int;
16034}
16035extern "C" {
16036    #[link_name = "aws_lc_0_46_0_HMAC_Final"]
16037    pub fn HMAC_Final(
16038        ctx: *mut HMAC_CTX,
16039        out: *mut u8,
16040        out_len: *mut ::std::os::raw::c_uint,
16041    ) -> ::std::os::raw::c_int;
16042}
16043extern "C" {
16044    #[link_name = "aws_lc_0_46_0_HMAC_size"]
16045    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
16046}
16047extern "C" {
16048    #[link_name = "aws_lc_0_46_0_HMAC_CTX_get_md"]
16049    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
16050}
16051extern "C" {
16052    #[link_name = "aws_lc_0_46_0_HMAC_CTX_copy_ex"]
16053    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16054}
16055extern "C" {
16056    #[link_name = "aws_lc_0_46_0_HMAC_CTX_reset"]
16057    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
16058}
16059extern "C" {
16060    #[link_name = "aws_lc_0_46_0_HMAC_set_precomputed_key_export"]
16061    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
16062}
16063extern "C" {
16064    #[link_name = "aws_lc_0_46_0_HMAC_get_precomputed_key"]
16065    pub fn HMAC_get_precomputed_key(
16066        ctx: *mut HMAC_CTX,
16067        out: *mut u8,
16068        out_len: *mut usize,
16069    ) -> ::std::os::raw::c_int;
16070}
16071extern "C" {
16072    #[link_name = "aws_lc_0_46_0_HMAC_Init_from_precomputed_key"]
16073    pub fn HMAC_Init_from_precomputed_key(
16074        ctx: *mut HMAC_CTX,
16075        precomputed_key: *const u8,
16076        precompute_key_len: usize,
16077        md: *const EVP_MD,
16078    ) -> ::std::os::raw::c_int;
16079}
16080extern "C" {
16081    #[link_name = "aws_lc_0_46_0_HMAC_Init"]
16082    pub fn HMAC_Init(
16083        ctx: *mut HMAC_CTX,
16084        key: *const ::std::os::raw::c_void,
16085        key_len: ::std::os::raw::c_int,
16086        md: *const EVP_MD,
16087    ) -> ::std::os::raw::c_int;
16088}
16089extern "C" {
16090    #[link_name = "aws_lc_0_46_0_HMAC_CTX_copy"]
16091    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16092}
16093#[repr(C)]
16094#[derive(Debug)]
16095pub struct hmac_methods_st {
16096    _unused: [u8; 0],
16097}
16098pub type HmacMethods = hmac_methods_st;
16099#[repr(C)]
16100#[derive(Copy, Clone)]
16101pub union md_ctx_union {
16102    pub md5: MD5_CTX,
16103    pub sha1: SHA_CTX,
16104    pub sha256: SHA256_CTX,
16105    pub sha512: SHA512_CTX,
16106    pub sha3: [u8; 400usize],
16107}
16108#[test]
16109fn bindgen_test_layout_md_ctx_union() {
16110    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
16111    let ptr = UNINIT.as_ptr();
16112    assert_eq!(
16113        ::std::mem::size_of::<md_ctx_union>(),
16114        400usize,
16115        "Size of md_ctx_union"
16116    );
16117    assert_eq!(
16118        ::std::mem::align_of::<md_ctx_union>(),
16119        8usize,
16120        "Alignment of md_ctx_union"
16121    );
16122    assert_eq!(
16123        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
16124        0usize,
16125        "Offset of field: md_ctx_union::md5"
16126    );
16127    assert_eq!(
16128        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
16129        0usize,
16130        "Offset of field: md_ctx_union::sha1"
16131    );
16132    assert_eq!(
16133        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
16134        0usize,
16135        "Offset of field: md_ctx_union::sha256"
16136    );
16137    assert_eq!(
16138        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
16139        0usize,
16140        "Offset of field: md_ctx_union::sha512"
16141    );
16142    assert_eq!(
16143        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
16144        0usize,
16145        "Offset of field: md_ctx_union::sha3"
16146    );
16147}
16148impl Default for md_ctx_union {
16149    fn default() -> Self {
16150        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16151        unsafe {
16152            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16153            s.assume_init()
16154        }
16155    }
16156}
16157#[repr(C)]
16158#[derive(Copy, Clone)]
16159pub struct hmac_ctx_st {
16160    pub md: *const EVP_MD,
16161    pub methods: *const HmacMethods,
16162    pub md_ctx: md_ctx_union,
16163    pub i_ctx: md_ctx_union,
16164    pub o_ctx: md_ctx_union,
16165    pub state: i8,
16166}
16167#[test]
16168fn bindgen_test_layout_hmac_ctx_st() {
16169    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
16170    let ptr = UNINIT.as_ptr();
16171    assert_eq!(
16172        ::std::mem::size_of::<hmac_ctx_st>(),
16173        1224usize,
16174        "Size of hmac_ctx_st"
16175    );
16176    assert_eq!(
16177        ::std::mem::align_of::<hmac_ctx_st>(),
16178        8usize,
16179        "Alignment of hmac_ctx_st"
16180    );
16181    assert_eq!(
16182        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
16183        0usize,
16184        "Offset of field: hmac_ctx_st::md"
16185    );
16186    assert_eq!(
16187        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
16188        8usize,
16189        "Offset of field: hmac_ctx_st::methods"
16190    );
16191    assert_eq!(
16192        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
16193        16usize,
16194        "Offset of field: hmac_ctx_st::md_ctx"
16195    );
16196    assert_eq!(
16197        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
16198        416usize,
16199        "Offset of field: hmac_ctx_st::i_ctx"
16200    );
16201    assert_eq!(
16202        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
16203        816usize,
16204        "Offset of field: hmac_ctx_st::o_ctx"
16205    );
16206    assert_eq!(
16207        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
16208        1216usize,
16209        "Offset of field: hmac_ctx_st::state"
16210    );
16211}
16212impl Default for hmac_ctx_st {
16213    fn default() -> Self {
16214        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16215        unsafe {
16216            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16217            s.assume_init()
16218        }
16219    }
16220}
16221extern "C" {
16222    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new"]
16223    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
16224}
16225extern "C" {
16226    #[link_name = "aws_lc_0_46_0_EVP_PKEY_free"]
16227    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
16228}
16229extern "C" {
16230    #[link_name = "aws_lc_0_46_0_EVP_PKEY_up_ref"]
16231    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16232}
16233extern "C" {
16234    #[link_name = "aws_lc_0_46_0_EVP_PKEY_is_opaque"]
16235    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16236}
16237extern "C" {
16238    #[link_name = "aws_lc_0_46_0_EVP_PKEY_cmp"]
16239    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
16240}
16241extern "C" {
16242    #[link_name = "aws_lc_0_46_0_EVP_PKEY_copy_parameters"]
16243    pub fn EVP_PKEY_copy_parameters(
16244        to: *mut EVP_PKEY,
16245        from: *const EVP_PKEY,
16246    ) -> ::std::os::raw::c_int;
16247}
16248extern "C" {
16249    #[link_name = "aws_lc_0_46_0_EVP_PKEY_missing_parameters"]
16250    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16251}
16252extern "C" {
16253    #[link_name = "aws_lc_0_46_0_EVP_PKEY_size"]
16254    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16255}
16256extern "C" {
16257    #[link_name = "aws_lc_0_46_0_EVP_PKEY_bits"]
16258    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16259}
16260extern "C" {
16261    #[link_name = "aws_lc_0_46_0_EVP_PKEY_id"]
16262    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16263}
16264extern "C" {
16265    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_get_type"]
16266    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16267}
16268extern "C" {
16269    #[link_name = "aws_lc_0_46_0_EVP_MD_get0_name"]
16270    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16271}
16272extern "C" {
16273    #[link_name = "aws_lc_0_46_0_EVP_MD_name"]
16274    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16275}
16276extern "C" {
16277    #[link_name = "aws_lc_0_46_0_EVP_get_pw_prompt"]
16278    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
16279}
16280extern "C" {
16281    #[link_name = "aws_lc_0_46_0_EVP_read_pw_string"]
16282    pub fn EVP_read_pw_string(
16283        buf: *mut ::std::os::raw::c_char,
16284        length: ::std::os::raw::c_int,
16285        prompt: *const ::std::os::raw::c_char,
16286        verify: ::std::os::raw::c_int,
16287    ) -> ::std::os::raw::c_int;
16288}
16289extern "C" {
16290    #[link_name = "aws_lc_0_46_0_EVP_read_pw_string_min"]
16291    pub fn EVP_read_pw_string_min(
16292        buf: *mut ::std::os::raw::c_char,
16293        min_length: ::std::os::raw::c_int,
16294        length: ::std::os::raw::c_int,
16295        prompt: *const ::std::os::raw::c_char,
16296        verify: ::std::os::raw::c_int,
16297    ) -> ::std::os::raw::c_int;
16298}
16299extern "C" {
16300    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_RSA"]
16301    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16302}
16303extern "C" {
16304    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_RSA"]
16305    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16306}
16307extern "C" {
16308    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_RSA"]
16309    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16310}
16311extern "C" {
16312    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_RSA"]
16313    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16314}
16315extern "C" {
16316    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_DSA"]
16317    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16318}
16319extern "C" {
16320    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_DSA"]
16321    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16322}
16323extern "C" {
16324    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_DSA"]
16325    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16326}
16327extern "C" {
16328    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_DSA"]
16329    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16330}
16331extern "C" {
16332    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_EC_KEY"]
16333    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16334}
16335extern "C" {
16336    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_EC_KEY"]
16337    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16338}
16339extern "C" {
16340    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_EC_KEY"]
16341    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16342}
16343extern "C" {
16344    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_EC_KEY"]
16345    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16346}
16347extern "C" {
16348    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_DH"]
16349    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16350}
16351extern "C" {
16352    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_DH"]
16353    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16354}
16355extern "C" {
16356    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_DH"]
16357    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
16358}
16359extern "C" {
16360    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_DH"]
16361    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
16362}
16363extern "C" {
16364    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
16365    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
16366        ctx: *mut EVP_PKEY_CTX,
16367        pbits: ::std::os::raw::c_int,
16368    ) -> ::std::os::raw::c_int;
16369}
16370extern "C" {
16371    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
16372    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
16373        ctx: *mut EVP_PKEY_CTX,
16374        gen_: ::std::os::raw::c_int,
16375    ) -> ::std::os::raw::c_int;
16376}
16377extern "C" {
16378    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set_type"]
16379    pub fn EVP_PKEY_set_type(
16380        pkey: *mut EVP_PKEY,
16381        type_: ::std::os::raw::c_int,
16382    ) -> ::std::os::raw::c_int;
16383}
16384extern "C" {
16385    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set_type_str"]
16386    pub fn EVP_PKEY_set_type_str(
16387        pkey: *mut EVP_PKEY,
16388        str_: *const ::std::os::raw::c_char,
16389        len: ::std::os::raw::c_int,
16390    ) -> ::std::os::raw::c_int;
16391}
16392extern "C" {
16393    #[link_name = "aws_lc_0_46_0_EVP_PKEY_cmp_parameters"]
16394    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
16395        -> ::std::os::raw::c_int;
16396}
16397extern "C" {
16398    #[link_name = "aws_lc_0_46_0_EVP_parse_public_key"]
16399    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16400}
16401extern "C" {
16402    #[link_name = "aws_lc_0_46_0_EVP_marshal_public_key"]
16403    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16404}
16405extern "C" {
16406    #[link_name = "aws_lc_0_46_0_EVP_parse_private_key"]
16407    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16408}
16409extern "C" {
16410    #[link_name = "aws_lc_0_46_0_EVP_marshal_private_key"]
16411    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16412}
16413extern "C" {
16414    #[link_name = "aws_lc_0_46_0_EVP_marshal_private_key_v2"]
16415    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
16416        -> ::std::os::raw::c_int;
16417}
16418extern "C" {
16419    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_raw_private_key"]
16420    pub fn EVP_PKEY_new_raw_private_key(
16421        type_: ::std::os::raw::c_int,
16422        unused: *mut ENGINE,
16423        in_: *const u8,
16424        len: usize,
16425    ) -> *mut EVP_PKEY;
16426}
16427extern "C" {
16428    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_raw_public_key"]
16429    pub fn EVP_PKEY_new_raw_public_key(
16430        type_: ::std::os::raw::c_int,
16431        unused: *mut ENGINE,
16432        in_: *const u8,
16433        len: usize,
16434    ) -> *mut EVP_PKEY;
16435}
16436extern "C" {
16437    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_raw_private_key"]
16438    pub fn EVP_PKEY_get_raw_private_key(
16439        pkey: *const EVP_PKEY,
16440        out: *mut u8,
16441        out_len: *mut usize,
16442    ) -> ::std::os::raw::c_int;
16443}
16444extern "C" {
16445    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_raw_public_key"]
16446    pub fn EVP_PKEY_get_raw_public_key(
16447        pkey: *const EVP_PKEY,
16448        out: *mut u8,
16449        out_len: *mut usize,
16450    ) -> ::std::os::raw::c_int;
16451}
16452extern "C" {
16453    #[link_name = "aws_lc_0_46_0_EVP_DigestSignInit"]
16454    pub fn EVP_DigestSignInit(
16455        ctx: *mut EVP_MD_CTX,
16456        pctx: *mut *mut EVP_PKEY_CTX,
16457        type_: *const EVP_MD,
16458        e: *mut ENGINE,
16459        pkey: *mut EVP_PKEY,
16460    ) -> ::std::os::raw::c_int;
16461}
16462extern "C" {
16463    #[link_name = "aws_lc_0_46_0_EVP_DigestSignUpdate"]
16464    pub fn EVP_DigestSignUpdate(
16465        ctx: *mut EVP_MD_CTX,
16466        data: *const ::std::os::raw::c_void,
16467        len: usize,
16468    ) -> ::std::os::raw::c_int;
16469}
16470extern "C" {
16471    #[link_name = "aws_lc_0_46_0_EVP_DigestSignFinal"]
16472    pub fn EVP_DigestSignFinal(
16473        ctx: *mut EVP_MD_CTX,
16474        out_sig: *mut u8,
16475        out_sig_len: *mut usize,
16476    ) -> ::std::os::raw::c_int;
16477}
16478extern "C" {
16479    #[link_name = "aws_lc_0_46_0_EVP_DigestSign"]
16480    pub fn EVP_DigestSign(
16481        ctx: *mut EVP_MD_CTX,
16482        out_sig: *mut u8,
16483        out_sig_len: *mut usize,
16484        data: *const u8,
16485        data_len: usize,
16486    ) -> ::std::os::raw::c_int;
16487}
16488extern "C" {
16489    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyInit"]
16490    pub fn EVP_DigestVerifyInit(
16491        ctx: *mut EVP_MD_CTX,
16492        pctx: *mut *mut EVP_PKEY_CTX,
16493        type_: *const EVP_MD,
16494        e: *mut ENGINE,
16495        pkey: *mut EVP_PKEY,
16496    ) -> ::std::os::raw::c_int;
16497}
16498extern "C" {
16499    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyUpdate"]
16500    pub fn EVP_DigestVerifyUpdate(
16501        ctx: *mut EVP_MD_CTX,
16502        data: *const ::std::os::raw::c_void,
16503        len: usize,
16504    ) -> ::std::os::raw::c_int;
16505}
16506extern "C" {
16507    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyFinal"]
16508    pub fn EVP_DigestVerifyFinal(
16509        ctx: *mut EVP_MD_CTX,
16510        sig: *const u8,
16511        sig_len: usize,
16512    ) -> ::std::os::raw::c_int;
16513}
16514extern "C" {
16515    #[link_name = "aws_lc_0_46_0_EVP_DigestVerify"]
16516    pub fn EVP_DigestVerify(
16517        ctx: *mut EVP_MD_CTX,
16518        sig: *const u8,
16519        sig_len: usize,
16520        data: *const u8,
16521        len: usize,
16522    ) -> ::std::os::raw::c_int;
16523}
16524extern "C" {
16525    #[link_name = "aws_lc_0_46_0_EVP_SignInit_ex"]
16526    pub fn EVP_SignInit_ex(
16527        ctx: *mut EVP_MD_CTX,
16528        type_: *const EVP_MD,
16529        impl_: *mut ENGINE,
16530    ) -> ::std::os::raw::c_int;
16531}
16532extern "C" {
16533    #[link_name = "aws_lc_0_46_0_EVP_SignInit"]
16534    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16535}
16536extern "C" {
16537    #[link_name = "aws_lc_0_46_0_EVP_SignUpdate"]
16538    pub fn EVP_SignUpdate(
16539        ctx: *mut EVP_MD_CTX,
16540        data: *const ::std::os::raw::c_void,
16541        len: usize,
16542    ) -> ::std::os::raw::c_int;
16543}
16544extern "C" {
16545    #[link_name = "aws_lc_0_46_0_EVP_SignFinal"]
16546    pub fn EVP_SignFinal(
16547        ctx: *const EVP_MD_CTX,
16548        sig: *mut u8,
16549        out_sig_len: *mut ::std::os::raw::c_uint,
16550        pkey: *mut EVP_PKEY,
16551    ) -> ::std::os::raw::c_int;
16552}
16553extern "C" {
16554    #[link_name = "aws_lc_0_46_0_EVP_VerifyInit_ex"]
16555    pub fn EVP_VerifyInit_ex(
16556        ctx: *mut EVP_MD_CTX,
16557        type_: *const EVP_MD,
16558        impl_: *mut ENGINE,
16559    ) -> ::std::os::raw::c_int;
16560}
16561extern "C" {
16562    #[link_name = "aws_lc_0_46_0_EVP_VerifyInit"]
16563    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16564}
16565extern "C" {
16566    #[link_name = "aws_lc_0_46_0_EVP_VerifyUpdate"]
16567    pub fn EVP_VerifyUpdate(
16568        ctx: *mut EVP_MD_CTX,
16569        data: *const ::std::os::raw::c_void,
16570        len: usize,
16571    ) -> ::std::os::raw::c_int;
16572}
16573extern "C" {
16574    #[link_name = "aws_lc_0_46_0_EVP_VerifyFinal"]
16575    pub fn EVP_VerifyFinal(
16576        ctx: *mut EVP_MD_CTX,
16577        sig: *const u8,
16578        sig_len: usize,
16579        pkey: *mut EVP_PKEY,
16580    ) -> ::std::os::raw::c_int;
16581}
16582extern "C" {
16583    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_public"]
16584    pub fn EVP_PKEY_print_public(
16585        out: *mut BIO,
16586        pkey: *const EVP_PKEY,
16587        indent: ::std::os::raw::c_int,
16588        pctx: *mut ASN1_PCTX,
16589    ) -> ::std::os::raw::c_int;
16590}
16591extern "C" {
16592    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_private"]
16593    pub fn EVP_PKEY_print_private(
16594        out: *mut BIO,
16595        pkey: *const EVP_PKEY,
16596        indent: ::std::os::raw::c_int,
16597        pctx: *mut ASN1_PCTX,
16598    ) -> ::std::os::raw::c_int;
16599}
16600extern "C" {
16601    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_params"]
16602    pub fn EVP_PKEY_print_params(
16603        out: *mut BIO,
16604        pkey: *const EVP_PKEY,
16605        indent: ::std::os::raw::c_int,
16606        pctx: *mut ASN1_PCTX,
16607    ) -> ::std::os::raw::c_int;
16608}
16609extern "C" {
16610    #[link_name = "aws_lc_0_46_0_PKCS5_PBKDF2_HMAC"]
16611    pub fn PKCS5_PBKDF2_HMAC(
16612        password: *const ::std::os::raw::c_char,
16613        password_len: usize,
16614        salt: *const u8,
16615        salt_len: usize,
16616        iterations: u32,
16617        digest: *const EVP_MD,
16618        key_len: usize,
16619        out_key: *mut u8,
16620    ) -> ::std::os::raw::c_int;
16621}
16622extern "C" {
16623    #[link_name = "aws_lc_0_46_0_PKCS5_PBKDF2_HMAC_SHA1"]
16624    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16625        password: *const ::std::os::raw::c_char,
16626        password_len: usize,
16627        salt: *const u8,
16628        salt_len: usize,
16629        iterations: u32,
16630        key_len: usize,
16631        out_key: *mut u8,
16632    ) -> ::std::os::raw::c_int;
16633}
16634extern "C" {
16635    #[link_name = "aws_lc_0_46_0_EVP_PBE_scrypt"]
16636    pub fn EVP_PBE_scrypt(
16637        password: *const ::std::os::raw::c_char,
16638        password_len: usize,
16639        salt: *const u8,
16640        salt_len: usize,
16641        N: u64,
16642        r: u64,
16643        p: u64,
16644        max_mem: usize,
16645        out_key: *mut u8,
16646        key_len: usize,
16647    ) -> ::std::os::raw::c_int;
16648}
16649extern "C" {
16650    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_new"]
16651    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16652}
16653extern "C" {
16654    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_new_id"]
16655    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16656}
16657extern "C" {
16658    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_free"]
16659    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16660}
16661extern "C" {
16662    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_dup"]
16663    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16664}
16665extern "C" {
16666    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_pkey"]
16667    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16668}
16669extern "C" {
16670    #[link_name = "aws_lc_0_46_0_EVP_PKEY_sign_init"]
16671    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16672}
16673extern "C" {
16674    #[link_name = "aws_lc_0_46_0_EVP_PKEY_sign"]
16675    pub fn EVP_PKEY_sign(
16676        ctx: *mut EVP_PKEY_CTX,
16677        sig: *mut u8,
16678        sig_len: *mut usize,
16679        digest: *const u8,
16680        digest_len: usize,
16681    ) -> ::std::os::raw::c_int;
16682}
16683extern "C" {
16684    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_init"]
16685    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16686}
16687extern "C" {
16688    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify"]
16689    pub fn EVP_PKEY_verify(
16690        ctx: *mut EVP_PKEY_CTX,
16691        sig: *const u8,
16692        sig_len: usize,
16693        digest: *const u8,
16694        digest_len: usize,
16695    ) -> ::std::os::raw::c_int;
16696}
16697extern "C" {
16698    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encrypt_init"]
16699    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16700}
16701extern "C" {
16702    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encrypt"]
16703    pub fn EVP_PKEY_encrypt(
16704        ctx: *mut EVP_PKEY_CTX,
16705        out: *mut u8,
16706        out_len: *mut usize,
16707        in_: *const u8,
16708        in_len: usize,
16709    ) -> ::std::os::raw::c_int;
16710}
16711extern "C" {
16712    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decrypt_init"]
16713    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16714}
16715extern "C" {
16716    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decrypt"]
16717    pub fn EVP_PKEY_decrypt(
16718        ctx: *mut EVP_PKEY_CTX,
16719        out: *mut u8,
16720        out_len: *mut usize,
16721        in_: *const u8,
16722        in_len: usize,
16723    ) -> ::std::os::raw::c_int;
16724}
16725extern "C" {
16726    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_recover_init"]
16727    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16728}
16729extern "C" {
16730    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_recover"]
16731    pub fn EVP_PKEY_verify_recover(
16732        ctx: *mut EVP_PKEY_CTX,
16733        out: *mut u8,
16734        out_len: *mut usize,
16735        sig: *const u8,
16736        siglen: usize,
16737    ) -> ::std::os::raw::c_int;
16738}
16739extern "C" {
16740    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive_init"]
16741    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16742}
16743extern "C" {
16744    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive_set_peer"]
16745    pub fn EVP_PKEY_derive_set_peer(
16746        ctx: *mut EVP_PKEY_CTX,
16747        peer: *mut EVP_PKEY,
16748    ) -> ::std::os::raw::c_int;
16749}
16750extern "C" {
16751    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive"]
16752    pub fn EVP_PKEY_derive(
16753        ctx: *mut EVP_PKEY_CTX,
16754        key: *mut u8,
16755        out_key_len: *mut usize,
16756    ) -> ::std::os::raw::c_int;
16757}
16758extern "C" {
16759    #[link_name = "aws_lc_0_46_0_EVP_PKEY_check"]
16760    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16761}
16762extern "C" {
16763    #[link_name = "aws_lc_0_46_0_EVP_PKEY_public_check"]
16764    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16765}
16766extern "C" {
16767    #[link_name = "aws_lc_0_46_0_EVP_PKEY_param_check"]
16768    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16769}
16770extern "C" {
16771    #[link_name = "aws_lc_0_46_0_EVP_PKEY_keygen_init"]
16772    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16773}
16774extern "C" {
16775    #[link_name = "aws_lc_0_46_0_EVP_PKEY_keygen"]
16776    pub fn EVP_PKEY_keygen(
16777        ctx: *mut EVP_PKEY_CTX,
16778        out_pkey: *mut *mut EVP_PKEY,
16779    ) -> ::std::os::raw::c_int;
16780}
16781extern "C" {
16782    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encapsulate"]
16783    pub fn EVP_PKEY_encapsulate(
16784        ctx: *mut EVP_PKEY_CTX,
16785        ciphertext: *mut u8,
16786        ciphertext_len: *mut usize,
16787        shared_secret: *mut u8,
16788        shared_secret_len: *mut usize,
16789    ) -> ::std::os::raw::c_int;
16790}
16791extern "C" {
16792    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decapsulate"]
16793    pub fn EVP_PKEY_decapsulate(
16794        ctx: *mut EVP_PKEY_CTX,
16795        shared_secret: *mut u8,
16796        shared_secret_len: *mut usize,
16797        ciphertext: *const u8,
16798        ciphertext_len: usize,
16799    ) -> ::std::os::raw::c_int;
16800}
16801extern "C" {
16802    #[link_name = "aws_lc_0_46_0_EVP_PKEY_paramgen_init"]
16803    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16804}
16805extern "C" {
16806    #[link_name = "aws_lc_0_46_0_EVP_PKEY_paramgen"]
16807    pub fn EVP_PKEY_paramgen(
16808        ctx: *mut EVP_PKEY_CTX,
16809        out_pkey: *mut *mut EVP_PKEY,
16810    ) -> ::std::os::raw::c_int;
16811}
16812extern "C" {
16813    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_signature_md"]
16814    pub fn EVP_PKEY_CTX_set_signature_md(
16815        ctx: *mut EVP_PKEY_CTX,
16816        md: *const EVP_MD,
16817    ) -> ::std::os::raw::c_int;
16818}
16819extern "C" {
16820    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_signature_md"]
16821    pub fn EVP_PKEY_CTX_get_signature_md(
16822        ctx: *mut EVP_PKEY_CTX,
16823        out_md: *mut *const EVP_MD,
16824    ) -> ::std::os::raw::c_int;
16825}
16826extern "C" {
16827    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_signature_context_string"]
16828    pub fn EVP_PKEY_CTX_set1_signature_context_string(
16829        ctx: *mut EVP_PKEY_CTX,
16830        context: *const u8,
16831        context_len: usize,
16832    ) -> ::std::os::raw::c_int;
16833}
16834extern "C" {
16835    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_signature_context"]
16836    pub fn EVP_PKEY_CTX_set_signature_context(
16837        ctx: *mut EVP_PKEY_CTX,
16838        context: *const u8,
16839        context_len: usize,
16840    ) -> ::std::os::raw::c_int;
16841}
16842extern "C" {
16843    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_signature_context"]
16844    pub fn EVP_PKEY_CTX_get0_signature_context(
16845        ctx: *mut EVP_PKEY_CTX,
16846        context: *mut *const u8,
16847        context_len: *mut usize,
16848    ) -> ::std::os::raw::c_int;
16849}
16850extern "C" {
16851    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_padding"]
16852    pub fn EVP_PKEY_CTX_set_rsa_padding(
16853        ctx: *mut EVP_PKEY_CTX,
16854        padding: ::std::os::raw::c_int,
16855    ) -> ::std::os::raw::c_int;
16856}
16857extern "C" {
16858    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_padding"]
16859    pub fn EVP_PKEY_CTX_get_rsa_padding(
16860        ctx: *mut EVP_PKEY_CTX,
16861        out_padding: *mut ::std::os::raw::c_int,
16862    ) -> ::std::os::raw::c_int;
16863}
16864extern "C" {
16865    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16866    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16867        ctx: *mut EVP_PKEY_CTX,
16868        salt_len: ::std::os::raw::c_int,
16869    ) -> ::std::os::raw::c_int;
16870}
16871extern "C" {
16872    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16873    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16874        ctx: *mut EVP_PKEY_CTX,
16875        out_salt_len: *mut ::std::os::raw::c_int,
16876    ) -> ::std::os::raw::c_int;
16877}
16878extern "C" {
16879    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16880    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16881        ctx: *mut EVP_PKEY_CTX,
16882        bits: ::std::os::raw::c_int,
16883    ) -> ::std::os::raw::c_int;
16884}
16885extern "C" {
16886    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16887    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16888        ctx: *mut EVP_PKEY_CTX,
16889        e: *mut BIGNUM,
16890    ) -> ::std::os::raw::c_int;
16891}
16892extern "C" {
16893    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
16894    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16895        ctx: *mut EVP_PKEY_CTX,
16896        md: *const EVP_MD,
16897    ) -> ::std::os::raw::c_int;
16898}
16899extern "C" {
16900    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
16901    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16902        ctx: *mut EVP_PKEY_CTX,
16903        out_md: *mut *const EVP_MD,
16904    ) -> ::std::os::raw::c_int;
16905}
16906extern "C" {
16907    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16908    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16909        ctx: *mut EVP_PKEY_CTX,
16910        md: *const EVP_MD,
16911    ) -> ::std::os::raw::c_int;
16912}
16913extern "C" {
16914    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16915    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16916        ctx: *mut EVP_PKEY_CTX,
16917        out_md: *mut *const EVP_MD,
16918    ) -> ::std::os::raw::c_int;
16919}
16920extern "C" {
16921    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16922    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16923        ctx: *mut EVP_PKEY_CTX,
16924        label: *mut u8,
16925        label_len: usize,
16926    ) -> ::std::os::raw::c_int;
16927}
16928extern "C" {
16929    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16930    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16931        ctx: *mut EVP_PKEY_CTX,
16932        out_label: *mut *const u8,
16933    ) -> ::std::os::raw::c_int;
16934}
16935extern "C" {
16936    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16937    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16938        ctx: *mut EVP_PKEY_CTX,
16939        nid: ::std::os::raw::c_int,
16940    ) -> ::std::os::raw::c_int;
16941}
16942extern "C" {
16943    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_kem_set_params"]
16944    pub fn EVP_PKEY_CTX_kem_set_params(
16945        ctx: *mut EVP_PKEY_CTX,
16946        nid: ::std::os::raw::c_int,
16947    ) -> ::std::os::raw::c_int;
16948}
16949extern "C" {
16950    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_public_key"]
16951    pub fn EVP_PKEY_kem_new_raw_public_key(
16952        nid: ::std::os::raw::c_int,
16953        in_: *const u8,
16954        len: usize,
16955    ) -> *mut EVP_PKEY;
16956}
16957extern "C" {
16958    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_secret_key"]
16959    pub fn EVP_PKEY_kem_new_raw_secret_key(
16960        nid: ::std::os::raw::c_int,
16961        in_: *const u8,
16962        len: usize,
16963    ) -> *mut EVP_PKEY;
16964}
16965extern "C" {
16966    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_key"]
16967    pub fn EVP_PKEY_kem_new_raw_key(
16968        nid: ::std::os::raw::c_int,
16969        in_public: *const u8,
16970        len_public: usize,
16971        in_secret: *const u8,
16972        len_secret: usize,
16973    ) -> *mut EVP_PKEY;
16974}
16975extern "C" {
16976    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_check_key"]
16977    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16978}
16979extern "C" {
16980    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_get_type"]
16981    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16982}
16983extern "C" {
16984    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_pqdsa_set_params"]
16985    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16986        ctx: *mut EVP_PKEY_CTX,
16987        nid: ::std::os::raw::c_int,
16988    ) -> ::std::os::raw::c_int;
16989}
16990extern "C" {
16991    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_new_raw_public_key"]
16992    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
16993        nid: ::std::os::raw::c_int,
16994        in_: *const u8,
16995        len: usize,
16996    ) -> *mut EVP_PKEY;
16997}
16998extern "C" {
16999    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_new_raw_private_key"]
17000    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
17001        nid: ::std::os::raw::c_int,
17002        in_: *const u8,
17003        len: usize,
17004    ) -> *mut EVP_PKEY;
17005}
17006extern "C" {
17007    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_pad"]
17008    pub fn EVP_PKEY_CTX_set_dh_pad(
17009        ctx: *mut EVP_PKEY_CTX,
17010        pad: ::std::os::raw::c_int,
17011    ) -> ::std::os::raw::c_int;
17012}
17013extern "C" {
17014    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get_count"]
17015    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
17016}
17017extern "C" {
17018    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get0"]
17019    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
17020}
17021extern "C" {
17022    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_find"]
17023    pub fn EVP_PKEY_asn1_find(
17024        _pe: *mut *mut ENGINE,
17025        type_: ::std::os::raw::c_int,
17026    ) -> *const EVP_PKEY_ASN1_METHOD;
17027}
17028extern "C" {
17029    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_find_str"]
17030    pub fn EVP_PKEY_asn1_find_str(
17031        _pe: *mut *mut ENGINE,
17032        name: *const ::std::os::raw::c_char,
17033        len: ::std::os::raw::c_int,
17034    ) -> *const EVP_PKEY_ASN1_METHOD;
17035}
17036extern "C" {
17037    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get0_info"]
17038    pub fn EVP_PKEY_asn1_get0_info(
17039        ppkey_id: *mut ::std::os::raw::c_int,
17040        pkey_base_id: *mut ::std::os::raw::c_int,
17041        ppkey_flags: *mut ::std::os::raw::c_int,
17042        pinfo: *mut *const ::std::os::raw::c_char,
17043        ppem_str: *mut *const ::std::os::raw::c_char,
17044        ameth: *const EVP_PKEY_ASN1_METHOD,
17045    ) -> ::std::os::raw::c_int;
17046}
17047extern "C" {
17048    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_private_seed"]
17049    pub fn EVP_PKEY_get_private_seed(
17050        key: *const EVP_PKEY,
17051        out: *mut u8,
17052        out_len: *mut usize,
17053    ) -> ::std::os::raw::c_int;
17054}
17055pub type EVP_PKEY_gen_cb =
17056    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
17057extern "C" {
17058    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_cb"]
17059    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
17060}
17061extern "C" {
17062    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_keygen_info"]
17063    pub fn EVP_PKEY_CTX_get_keygen_info(
17064        ctx: *mut EVP_PKEY_CTX,
17065        idx: ::std::os::raw::c_int,
17066    ) -> ::std::os::raw::c_int;
17067}
17068extern "C" {
17069    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_app_data"]
17070    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
17071}
17072extern "C" {
17073    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_app_data"]
17074    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
17075}
17076extern "C" {
17077    #[link_name = "aws_lc_0_46_0_EVP_MD_get_pkey_type"]
17078    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17079}
17080extern "C" {
17081    #[link_name = "aws_lc_0_46_0_EVP_MD_pkey_type"]
17082    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17083}
17084extern "C" {
17085    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_do_all_sorted"]
17086    pub fn EVP_CIPHER_do_all_sorted(
17087        callback: ::std::option::Option<
17088            unsafe extern "C" fn(
17089                cipher: *const EVP_CIPHER,
17090                name: *const ::std::os::raw::c_char,
17091                unused: *const ::std::os::raw::c_char,
17092                arg: *mut ::std::os::raw::c_void,
17093            ),
17094        >,
17095        arg: *mut ::std::os::raw::c_void,
17096    );
17097}
17098extern "C" {
17099    #[link_name = "aws_lc_0_46_0_EVP_MD_do_all_sorted"]
17100    pub fn EVP_MD_do_all_sorted(
17101        callback: ::std::option::Option<
17102            unsafe extern "C" fn(
17103                cipher: *const EVP_MD,
17104                name: *const ::std::os::raw::c_char,
17105                unused: *const ::std::os::raw::c_char,
17106                arg: *mut ::std::os::raw::c_void,
17107            ),
17108        >,
17109        arg: *mut ::std::os::raw::c_void,
17110    );
17111}
17112extern "C" {
17113    #[link_name = "aws_lc_0_46_0_EVP_MD_do_all"]
17114    pub fn EVP_MD_do_all(
17115        callback: ::std::option::Option<
17116            unsafe extern "C" fn(
17117                cipher: *const EVP_MD,
17118                name: *const ::std::os::raw::c_char,
17119                unused: *const ::std::os::raw::c_char,
17120                arg: *mut ::std::os::raw::c_void,
17121            ),
17122        >,
17123        arg: *mut ::std::os::raw::c_void,
17124    );
17125}
17126extern "C" {
17127    #[link_name = "aws_lc_0_46_0_i2d_PrivateKey"]
17128    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17129}
17130extern "C" {
17131    #[link_name = "aws_lc_0_46_0_i2d_PublicKey"]
17132    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17133}
17134extern "C" {
17135    #[link_name = "aws_lc_0_46_0_d2i_PrivateKey"]
17136    pub fn d2i_PrivateKey(
17137        type_: ::std::os::raw::c_int,
17138        out: *mut *mut EVP_PKEY,
17139        inp: *mut *const u8,
17140        len: ::std::os::raw::c_long,
17141    ) -> *mut EVP_PKEY;
17142}
17143extern "C" {
17144    #[link_name = "aws_lc_0_46_0_d2i_AutoPrivateKey"]
17145    pub fn d2i_AutoPrivateKey(
17146        out: *mut *mut EVP_PKEY,
17147        inp: *mut *const u8,
17148        len: ::std::os::raw::c_long,
17149    ) -> *mut EVP_PKEY;
17150}
17151extern "C" {
17152    #[link_name = "aws_lc_0_46_0_d2i_PublicKey"]
17153    pub fn d2i_PublicKey(
17154        type_: ::std::os::raw::c_int,
17155        out: *mut *mut EVP_PKEY,
17156        inp: *mut *const u8,
17157        len: ::std::os::raw::c_long,
17158    ) -> *mut EVP_PKEY;
17159}
17160extern "C" {
17161    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_ec_param_enc"]
17162    pub fn EVP_PKEY_CTX_set_ec_param_enc(
17163        ctx: *mut EVP_PKEY_CTX,
17164        encoding: ::std::os::raw::c_int,
17165    ) -> ::std::os::raw::c_int;
17166}
17167extern "C" {
17168    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_tls_encodedpoint"]
17169    pub fn EVP_PKEY_set1_tls_encodedpoint(
17170        pkey: *mut EVP_PKEY,
17171        in_: *const u8,
17172        len: usize,
17173    ) -> ::std::os::raw::c_int;
17174}
17175extern "C" {
17176    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_tls_encodedpoint"]
17177    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
17178}
17179extern "C" {
17180    #[link_name = "aws_lc_0_46_0_EVP_PKEY_base_id"]
17181    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
17182}
17183extern "C" {
17184    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
17185    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
17186        ctx: *mut EVP_PKEY_CTX,
17187        md: *const EVP_MD,
17188    ) -> ::std::os::raw::c_int;
17189}
17190extern "C" {
17191    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
17192    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
17193        ctx: *mut EVP_PKEY_CTX,
17194        salt_len: ::std::os::raw::c_int,
17195    ) -> ::std::os::raw::c_int;
17196}
17197extern "C" {
17198    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
17199    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
17200        ctx: *mut EVP_PKEY_CTX,
17201        md: *const EVP_MD,
17202    ) -> ::std::os::raw::c_int;
17203}
17204extern "C" {
17205    #[link_name = "aws_lc_0_46_0_i2d_PUBKEY"]
17206    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17207}
17208extern "C" {
17209    #[link_name = "aws_lc_0_46_0_d2i_PUBKEY"]
17210    pub fn d2i_PUBKEY(
17211        out: *mut *mut EVP_PKEY,
17212        inp: *mut *const u8,
17213        len: ::std::os::raw::c_long,
17214    ) -> *mut EVP_PKEY;
17215}
17216extern "C" {
17217    #[link_name = "aws_lc_0_46_0_i2d_RSA_PUBKEY"]
17218    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17219}
17220extern "C" {
17221    #[link_name = "aws_lc_0_46_0_d2i_RSA_PUBKEY"]
17222    pub fn d2i_RSA_PUBKEY(
17223        out: *mut *mut RSA,
17224        inp: *mut *const u8,
17225        len: ::std::os::raw::c_long,
17226    ) -> *mut RSA;
17227}
17228extern "C" {
17229    #[link_name = "aws_lc_0_46_0_i2d_DSA_PUBKEY"]
17230    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17231}
17232extern "C" {
17233    #[link_name = "aws_lc_0_46_0_d2i_DSA_PUBKEY"]
17234    pub fn d2i_DSA_PUBKEY(
17235        out: *mut *mut DSA,
17236        inp: *mut *const u8,
17237        len: ::std::os::raw::c_long,
17238    ) -> *mut DSA;
17239}
17240extern "C" {
17241    #[link_name = "aws_lc_0_46_0_i2d_EC_PUBKEY"]
17242    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17243}
17244extern "C" {
17245    #[link_name = "aws_lc_0_46_0_d2i_EC_PUBKEY"]
17246    pub fn d2i_EC_PUBKEY(
17247        out: *mut *mut EC_KEY,
17248        inp: *mut *const u8,
17249        len: ::std::os::raw::c_long,
17250    ) -> *mut EC_KEY;
17251}
17252extern "C" {
17253    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign"]
17254    pub fn EVP_PKEY_assign(
17255        pkey: *mut EVP_PKEY,
17256        type_: ::std::os::raw::c_int,
17257        key: *mut ::std::os::raw::c_void,
17258    ) -> ::std::os::raw::c_int;
17259}
17260extern "C" {
17261    #[link_name = "aws_lc_0_46_0_EVP_PKEY_type"]
17262    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17263}
17264extern "C" {
17265    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_mac_key"]
17266    pub fn EVP_PKEY_new_mac_key(
17267        type_: ::std::os::raw::c_int,
17268        engine: *mut ENGINE,
17269        mac_key: *const u8,
17270        mac_key_len: usize,
17271    ) -> *mut EVP_PKEY;
17272}
17273extern "C" {
17274    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0"]
17275    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
17276}
17277extern "C" {
17278    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_algorithms"]
17279    pub fn OpenSSL_add_all_algorithms();
17280}
17281extern "C" {
17282    #[link_name = "aws_lc_0_46_0_OPENSSL_add_all_algorithms_conf"]
17283    pub fn OPENSSL_add_all_algorithms_conf();
17284}
17285extern "C" {
17286    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_ciphers"]
17287    pub fn OpenSSL_add_all_ciphers();
17288}
17289extern "C" {
17290    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_digests"]
17291    pub fn OpenSSL_add_all_digests();
17292}
17293extern "C" {
17294    #[link_name = "aws_lc_0_46_0_EVP_cleanup"]
17295    pub fn EVP_cleanup();
17296}
17297extern "C" {
17298    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
17299    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
17300        ctx: *mut EVP_PKEY_CTX,
17301        nbits: ::std::os::raw::c_int,
17302    ) -> ::std::os::raw::c_int;
17303}
17304extern "C" {
17305    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
17306    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
17307        ctx: *mut EVP_PKEY_CTX,
17308        md: *const EVP_MD,
17309    ) -> ::std::os::raw::c_int;
17310}
17311extern "C" {
17312    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
17313    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
17314        ctx: *mut EVP_PKEY_CTX,
17315        qbits: ::std::os::raw::c_int,
17316    ) -> ::std::os::raw::c_int;
17317}
17318extern "C" {
17319    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_ctrl_str"]
17320    pub fn EVP_PKEY_CTX_ctrl_str(
17321        ctx: *mut EVP_PKEY_CTX,
17322        type_: *const ::std::os::raw::c_char,
17323        value: *const ::std::os::raw::c_char,
17324    ) -> ::std::os::raw::c_int;
17325}
17326extern "C" {
17327    #[link_name = "aws_lc_0_46_0_CRYPTO_tls1_prf"]
17328    pub fn CRYPTO_tls1_prf(
17329        digest: *const EVP_MD,
17330        out: *mut u8,
17331        out_len: usize,
17332        secret: *const u8,
17333        secret_len: usize,
17334        label: *const ::std::os::raw::c_char,
17335        label_len: usize,
17336        seed1: *const u8,
17337        seed1_len: usize,
17338        seed2: *const u8,
17339        seed2_len: usize,
17340    ) -> ::std::os::raw::c_int;
17341}
17342extern "C" {
17343    #[link_name = "aws_lc_0_46_0_CRYPTO_tls13_hkdf_expand_label"]
17344    pub fn CRYPTO_tls13_hkdf_expand_label(
17345        out: *mut u8,
17346        out_len: usize,
17347        digest: *const EVP_MD,
17348        secret: *const u8,
17349        secret_len: usize,
17350        label: *const u8,
17351        label_len: usize,
17352        hash: *const u8,
17353        hash_len: usize,
17354    ) -> ::std::os::raw::c_int;
17355}
17356extern "C" {
17357    #[link_name = "aws_lc_0_46_0_SSKDF_digest"]
17358    pub fn SSKDF_digest(
17359        out_key: *mut u8,
17360        out_len: usize,
17361        digest: *const EVP_MD,
17362        secret: *const u8,
17363        secret_len: usize,
17364        info: *const u8,
17365        info_len: usize,
17366    ) -> ::std::os::raw::c_int;
17367}
17368extern "C" {
17369    #[link_name = "aws_lc_0_46_0_SSKDF_hmac"]
17370    pub fn SSKDF_hmac(
17371        out_key: *mut u8,
17372        out_len: usize,
17373        digest: *const EVP_MD,
17374        secret: *const u8,
17375        secret_len: usize,
17376        info: *const u8,
17377        info_len: usize,
17378        salt: *const u8,
17379        salt_len: usize,
17380    ) -> ::std::os::raw::c_int;
17381}
17382extern "C" {
17383    #[link_name = "aws_lc_0_46_0_KBKDF_ctr_hmac"]
17384    pub fn KBKDF_ctr_hmac(
17385        out_key: *mut u8,
17386        out_len: usize,
17387        digest: *const EVP_MD,
17388        secret: *const u8,
17389        secret_len: usize,
17390        info: *const u8,
17391        info_len: usize,
17392    ) -> ::std::os::raw::c_int;
17393}
17394extern "C" {
17395    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_hkdf_mode"]
17396    pub fn EVP_PKEY_CTX_hkdf_mode(
17397        ctx: *mut EVP_PKEY_CTX,
17398        mode: ::std::os::raw::c_int,
17399    ) -> ::std::os::raw::c_int;
17400}
17401extern "C" {
17402    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_hkdf_md"]
17403    pub fn EVP_PKEY_CTX_set_hkdf_md(
17404        ctx: *mut EVP_PKEY_CTX,
17405        md: *const EVP_MD,
17406    ) -> ::std::os::raw::c_int;
17407}
17408extern "C" {
17409    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_hkdf_key"]
17410    pub fn EVP_PKEY_CTX_set1_hkdf_key(
17411        ctx: *mut EVP_PKEY_CTX,
17412        key: *const u8,
17413        key_len: usize,
17414    ) -> ::std::os::raw::c_int;
17415}
17416extern "C" {
17417    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_hkdf_salt"]
17418    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
17419        ctx: *mut EVP_PKEY_CTX,
17420        salt: *const u8,
17421        salt_len: usize,
17422    ) -> ::std::os::raw::c_int;
17423}
17424extern "C" {
17425    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_add1_hkdf_info"]
17426    pub fn EVP_PKEY_CTX_add1_hkdf_info(
17427        ctx: *mut EVP_PKEY_CTX,
17428        info: *const u8,
17429        info_len: usize,
17430    ) -> ::std::os::raw::c_int;
17431}
17432extern "C" {
17433    #[link_name = "aws_lc_0_46_0_HKDF"]
17434    pub fn HKDF(
17435        out_key: *mut u8,
17436        out_len: usize,
17437        digest: *const EVP_MD,
17438        secret: *const u8,
17439        secret_len: usize,
17440        salt: *const u8,
17441        salt_len: usize,
17442        info: *const u8,
17443        info_len: usize,
17444    ) -> ::std::os::raw::c_int;
17445}
17446extern "C" {
17447    #[link_name = "aws_lc_0_46_0_HKDF_extract"]
17448    pub fn HKDF_extract(
17449        out_key: *mut u8,
17450        out_len: *mut usize,
17451        digest: *const EVP_MD,
17452        secret: *const u8,
17453        secret_len: usize,
17454        salt: *const u8,
17455        salt_len: usize,
17456    ) -> ::std::os::raw::c_int;
17457}
17458extern "C" {
17459    #[link_name = "aws_lc_0_46_0_HKDF_expand"]
17460    pub fn HKDF_expand(
17461        out_key: *mut u8,
17462        out_len: usize,
17463        digest: *const EVP_MD,
17464        prk: *const u8,
17465        prk_len: usize,
17466        info: *const u8,
17467        info_len: usize,
17468    ) -> ::std::os::raw::c_int;
17469}
17470extern "C" {
17471    #[link_name = "aws_lc_0_46_0_EVP_hpke_x25519_hkdf_sha256"]
17472    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
17473}
17474extern "C" {
17475    #[link_name = "aws_lc_0_46_0_EVP_hpke_mlkem512"]
17476    pub fn EVP_hpke_mlkem512() -> *const EVP_HPKE_KEM;
17477}
17478extern "C" {
17479    #[link_name = "aws_lc_0_46_0_EVP_hpke_mlkem768"]
17480    pub fn EVP_hpke_mlkem768() -> *const EVP_HPKE_KEM;
17481}
17482extern "C" {
17483    #[link_name = "aws_lc_0_46_0_EVP_hpke_mlkem1024"]
17484    pub fn EVP_hpke_mlkem1024() -> *const EVP_HPKE_KEM;
17485}
17486extern "C" {
17487    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEM_id"]
17488    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
17489}
17490extern "C" {
17491    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEM_public_key_len"]
17492    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17493}
17494extern "C" {
17495    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEM_private_key_len"]
17496    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17497}
17498extern "C" {
17499    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEM_enc_len"]
17500    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
17501}
17502extern "C" {
17503    #[link_name = "aws_lc_0_46_0_EVP_hpke_hkdf_sha256"]
17504    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
17505}
17506extern "C" {
17507    #[link_name = "aws_lc_0_46_0_EVP_hpke_hkdf_sha384"]
17508    pub fn EVP_hpke_hkdf_sha384() -> *const EVP_HPKE_KDF;
17509}
17510extern "C" {
17511    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KDF_id"]
17512    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
17513}
17514extern "C" {
17515    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KDF_hkdf_md"]
17516    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
17517}
17518extern "C" {
17519    #[link_name = "aws_lc_0_46_0_EVP_hpke_aes_128_gcm"]
17520    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
17521}
17522extern "C" {
17523    #[link_name = "aws_lc_0_46_0_EVP_hpke_aes_256_gcm"]
17524    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
17525}
17526extern "C" {
17527    #[link_name = "aws_lc_0_46_0_EVP_hpke_chacha20_poly1305"]
17528    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
17529}
17530extern "C" {
17531    #[link_name = "aws_lc_0_46_0_EVP_HPKE_AEAD_id"]
17532    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17533}
17534extern "C" {
17535    #[link_name = "aws_lc_0_46_0_EVP_HPKE_AEAD_aead"]
17536    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17537}
17538extern "C" {
17539    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_zero"]
17540    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17541}
17542extern "C" {
17543    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_cleanup"]
17544    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17545}
17546extern "C" {
17547    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_new"]
17548    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17549}
17550extern "C" {
17551    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_free"]
17552    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17553}
17554extern "C" {
17555    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_copy"]
17556    pub fn EVP_HPKE_KEY_copy(
17557        dst: *mut EVP_HPKE_KEY,
17558        src: *const EVP_HPKE_KEY,
17559    ) -> ::std::os::raw::c_int;
17560}
17561extern "C" {
17562    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_move"]
17563    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17564}
17565extern "C" {
17566    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_init"]
17567    pub fn EVP_HPKE_KEY_init(
17568        key: *mut EVP_HPKE_KEY,
17569        kem: *const EVP_HPKE_KEM,
17570        priv_key: *const u8,
17571        priv_key_len: usize,
17572    ) -> ::std::os::raw::c_int;
17573}
17574extern "C" {
17575    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_generate"]
17576    pub fn EVP_HPKE_KEY_generate(
17577        key: *mut EVP_HPKE_KEY,
17578        kem: *const EVP_HPKE_KEM,
17579    ) -> ::std::os::raw::c_int;
17580}
17581extern "C" {
17582    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_kem"]
17583    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17584}
17585extern "C" {
17586    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_public_key"]
17587    pub fn EVP_HPKE_KEY_public_key(
17588        key: *const EVP_HPKE_KEY,
17589        out: *mut u8,
17590        out_len: *mut usize,
17591        max_out: usize,
17592    ) -> ::std::os::raw::c_int;
17593}
17594extern "C" {
17595    #[link_name = "aws_lc_0_46_0_EVP_HPKE_KEY_private_key"]
17596    pub fn EVP_HPKE_KEY_private_key(
17597        key: *const EVP_HPKE_KEY,
17598        out: *mut u8,
17599        out_len: *mut usize,
17600        max_out: usize,
17601    ) -> ::std::os::raw::c_int;
17602}
17603extern "C" {
17604    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_zero"]
17605    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17606}
17607extern "C" {
17608    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_cleanup"]
17609    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17610}
17611extern "C" {
17612    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_new"]
17613    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17614}
17615extern "C" {
17616    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_free"]
17617    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17618}
17619extern "C" {
17620    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_sender"]
17621    pub fn EVP_HPKE_CTX_setup_sender(
17622        ctx: *mut EVP_HPKE_CTX,
17623        out_enc: *mut u8,
17624        out_enc_len: *mut usize,
17625        max_enc: usize,
17626        kem: *const EVP_HPKE_KEM,
17627        kdf: *const EVP_HPKE_KDF,
17628        aead: *const EVP_HPKE_AEAD,
17629        peer_public_key: *const u8,
17630        peer_public_key_len: usize,
17631        info: *const u8,
17632        info_len: usize,
17633    ) -> ::std::os::raw::c_int;
17634}
17635extern "C" {
17636    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17637    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17638        ctx: *mut EVP_HPKE_CTX,
17639        out_enc: *mut u8,
17640        out_enc_len: *mut usize,
17641        max_enc: usize,
17642        kem: *const EVP_HPKE_KEM,
17643        kdf: *const EVP_HPKE_KDF,
17644        aead: *const EVP_HPKE_AEAD,
17645        peer_public_key: *const u8,
17646        peer_public_key_len: usize,
17647        info: *const u8,
17648        info_len: usize,
17649        seed: *const u8,
17650        seed_len: usize,
17651    ) -> ::std::os::raw::c_int;
17652}
17653extern "C" {
17654    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_recipient"]
17655    pub fn EVP_HPKE_CTX_setup_recipient(
17656        ctx: *mut EVP_HPKE_CTX,
17657        key: *const EVP_HPKE_KEY,
17658        kdf: *const EVP_HPKE_KDF,
17659        aead: *const EVP_HPKE_AEAD,
17660        enc: *const u8,
17661        enc_len: usize,
17662        info: *const u8,
17663        info_len: usize,
17664    ) -> ::std::os::raw::c_int;
17665}
17666extern "C" {
17667    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_auth_sender"]
17668    pub fn EVP_HPKE_CTX_setup_auth_sender(
17669        ctx: *mut EVP_HPKE_CTX,
17670        out_enc: *mut u8,
17671        out_enc_len: *mut usize,
17672        max_enc: usize,
17673        key: *const EVP_HPKE_KEY,
17674        kdf: *const EVP_HPKE_KDF,
17675        aead: *const EVP_HPKE_AEAD,
17676        peer_public_key: *const u8,
17677        peer_public_key_len: usize,
17678        info: *const u8,
17679        info_len: usize,
17680    ) -> ::std::os::raw::c_int;
17681}
17682extern "C" {
17683    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17684    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17685        ctx: *mut EVP_HPKE_CTX,
17686        out_enc: *mut u8,
17687        out_enc_len: *mut usize,
17688        max_enc: usize,
17689        key: *const EVP_HPKE_KEY,
17690        kdf: *const EVP_HPKE_KDF,
17691        aead: *const EVP_HPKE_AEAD,
17692        peer_public_key: *const u8,
17693        peer_public_key_len: usize,
17694        info: *const u8,
17695        info_len: usize,
17696        seed: *const u8,
17697        seed_len: usize,
17698    ) -> ::std::os::raw::c_int;
17699}
17700extern "C" {
17701    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_setup_auth_recipient"]
17702    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17703        ctx: *mut EVP_HPKE_CTX,
17704        key: *const EVP_HPKE_KEY,
17705        kdf: *const EVP_HPKE_KDF,
17706        aead: *const EVP_HPKE_AEAD,
17707        enc: *const u8,
17708        enc_len: usize,
17709        info: *const u8,
17710        info_len: usize,
17711        peer_public_key: *const u8,
17712        peer_public_key_len: usize,
17713    ) -> ::std::os::raw::c_int;
17714}
17715extern "C" {
17716    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_open"]
17717    pub fn EVP_HPKE_CTX_open(
17718        ctx: *mut EVP_HPKE_CTX,
17719        out: *mut u8,
17720        out_len: *mut usize,
17721        max_out_len: usize,
17722        in_: *const u8,
17723        in_len: usize,
17724        ad: *const u8,
17725        ad_len: usize,
17726    ) -> ::std::os::raw::c_int;
17727}
17728extern "C" {
17729    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_seal"]
17730    pub fn EVP_HPKE_CTX_seal(
17731        ctx: *mut EVP_HPKE_CTX,
17732        out: *mut u8,
17733        out_len: *mut usize,
17734        max_out_len: usize,
17735        in_: *const u8,
17736        in_len: usize,
17737        ad: *const u8,
17738        ad_len: usize,
17739    ) -> ::std::os::raw::c_int;
17740}
17741extern "C" {
17742    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_export"]
17743    pub fn EVP_HPKE_CTX_export(
17744        ctx: *const EVP_HPKE_CTX,
17745        out: *mut u8,
17746        secret_len: usize,
17747        context: *const u8,
17748        context_len: usize,
17749    ) -> ::std::os::raw::c_int;
17750}
17751extern "C" {
17752    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_max_overhead"]
17753    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17754}
17755extern "C" {
17756    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_kem"]
17757    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
17758}
17759extern "C" {
17760    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_aead"]
17761    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
17762}
17763extern "C" {
17764    #[link_name = "aws_lc_0_46_0_EVP_HPKE_CTX_kdf"]
17765    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
17766}
17767#[repr(C)]
17768#[derive(Copy, Clone)]
17769pub struct evp_hpke_ctx_st {
17770    pub kem: *const EVP_HPKE_KEM,
17771    pub aead: *const EVP_HPKE_AEAD,
17772    pub kdf: *const EVP_HPKE_KDF,
17773    pub aead_ctx: EVP_AEAD_CTX,
17774    pub base_nonce: [u8; 24usize],
17775    pub exporter_secret: [u8; 64usize],
17776    pub seq: u64,
17777    pub is_sender: ::std::os::raw::c_int,
17778}
17779#[test]
17780fn bindgen_test_layout_evp_hpke_ctx_st() {
17781    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
17782    let ptr = UNINIT.as_ptr();
17783    assert_eq!(
17784        ::std::mem::size_of::<evp_hpke_ctx_st>(),
17785        712usize,
17786        "Size of evp_hpke_ctx_st"
17787    );
17788    assert_eq!(
17789        ::std::mem::align_of::<evp_hpke_ctx_st>(),
17790        8usize,
17791        "Alignment of evp_hpke_ctx_st"
17792    );
17793    assert_eq!(
17794        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17795        0usize,
17796        "Offset of field: evp_hpke_ctx_st::kem"
17797    );
17798    assert_eq!(
17799        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
17800        8usize,
17801        "Offset of field: evp_hpke_ctx_st::aead"
17802    );
17803    assert_eq!(
17804        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
17805        16usize,
17806        "Offset of field: evp_hpke_ctx_st::kdf"
17807    );
17808    assert_eq!(
17809        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
17810        24usize,
17811        "Offset of field: evp_hpke_ctx_st::aead_ctx"
17812    );
17813    assert_eq!(
17814        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
17815        608usize,
17816        "Offset of field: evp_hpke_ctx_st::base_nonce"
17817    );
17818    assert_eq!(
17819        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
17820        632usize,
17821        "Offset of field: evp_hpke_ctx_st::exporter_secret"
17822    );
17823    assert_eq!(
17824        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
17825        696usize,
17826        "Offset of field: evp_hpke_ctx_st::seq"
17827    );
17828    assert_eq!(
17829        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
17830        704usize,
17831        "Offset of field: evp_hpke_ctx_st::is_sender"
17832    );
17833}
17834impl Default for evp_hpke_ctx_st {
17835    fn default() -> Self {
17836        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17837        unsafe {
17838            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17839            s.assume_init()
17840        }
17841    }
17842}
17843#[repr(C)]
17844#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17845pub struct evp_hpke_key_st {
17846    pub kem: *const EVP_HPKE_KEM,
17847    pub private_key: [u8; 64usize],
17848    pub public_key: [u8; 1568usize],
17849    pub expanded_private_key: [u8; 3168usize],
17850}
17851#[test]
17852fn bindgen_test_layout_evp_hpke_key_st() {
17853    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
17854    let ptr = UNINIT.as_ptr();
17855    assert_eq!(
17856        ::std::mem::size_of::<evp_hpke_key_st>(),
17857        4808usize,
17858        "Size of evp_hpke_key_st"
17859    );
17860    assert_eq!(
17861        ::std::mem::align_of::<evp_hpke_key_st>(),
17862        8usize,
17863        "Alignment of evp_hpke_key_st"
17864    );
17865    assert_eq!(
17866        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17867        0usize,
17868        "Offset of field: evp_hpke_key_st::kem"
17869    );
17870    assert_eq!(
17871        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
17872        8usize,
17873        "Offset of field: evp_hpke_key_st::private_key"
17874    );
17875    assert_eq!(
17876        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
17877        72usize,
17878        "Offset of field: evp_hpke_key_st::public_key"
17879    );
17880    assert_eq!(
17881        unsafe { ::std::ptr::addr_of!((*ptr).expanded_private_key) as usize - ptr as usize },
17882        1640usize,
17883        "Offset of field: evp_hpke_key_st::expanded_private_key"
17884    );
17885}
17886impl Default for evp_hpke_key_st {
17887    fn default() -> Self {
17888        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17889        unsafe {
17890            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17891            s.assume_init()
17892        }
17893    }
17894}
17895#[repr(C)]
17896#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17897pub struct HRSS_private_key {
17898    pub opaque: [u8; 1808usize],
17899}
17900#[test]
17901fn bindgen_test_layout_HRSS_private_key() {
17902    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
17903    let ptr = UNINIT.as_ptr();
17904    assert_eq!(
17905        ::std::mem::size_of::<HRSS_private_key>(),
17906        1808usize,
17907        "Size of HRSS_private_key"
17908    );
17909    assert_eq!(
17910        ::std::mem::align_of::<HRSS_private_key>(),
17911        1usize,
17912        "Alignment of HRSS_private_key"
17913    );
17914    assert_eq!(
17915        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17916        0usize,
17917        "Offset of field: HRSS_private_key::opaque"
17918    );
17919}
17920impl Default for HRSS_private_key {
17921    fn default() -> Self {
17922        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17923        unsafe {
17924            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17925            s.assume_init()
17926        }
17927    }
17928}
17929#[repr(C)]
17930#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17931pub struct HRSS_public_key {
17932    pub opaque: [u8; 1424usize],
17933}
17934#[test]
17935fn bindgen_test_layout_HRSS_public_key() {
17936    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
17937    let ptr = UNINIT.as_ptr();
17938    assert_eq!(
17939        ::std::mem::size_of::<HRSS_public_key>(),
17940        1424usize,
17941        "Size of HRSS_public_key"
17942    );
17943    assert_eq!(
17944        ::std::mem::align_of::<HRSS_public_key>(),
17945        1usize,
17946        "Alignment of HRSS_public_key"
17947    );
17948    assert_eq!(
17949        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17950        0usize,
17951        "Offset of field: HRSS_public_key::opaque"
17952    );
17953}
17954impl Default for HRSS_public_key {
17955    fn default() -> Self {
17956        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17957        unsafe {
17958            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17959            s.assume_init()
17960        }
17961    }
17962}
17963extern "C" {
17964    #[link_name = "aws_lc_0_46_0_HRSS_generate_key"]
17965    pub fn HRSS_generate_key(
17966        out_pub: *mut HRSS_public_key,
17967        out_priv: *mut HRSS_private_key,
17968        input: *const u8,
17969    ) -> ::std::os::raw::c_int;
17970}
17971extern "C" {
17972    #[link_name = "aws_lc_0_46_0_HRSS_encap"]
17973    pub fn HRSS_encap(
17974        out_ciphertext: *mut u8,
17975        out_shared_key: *mut u8,
17976        in_pub: *const HRSS_public_key,
17977        in_: *const u8,
17978    ) -> ::std::os::raw::c_int;
17979}
17980extern "C" {
17981    #[link_name = "aws_lc_0_46_0_HRSS_decap"]
17982    pub fn HRSS_decap(
17983        out_shared_key: *mut u8,
17984        in_priv: *const HRSS_private_key,
17985        ciphertext: *const u8,
17986        ciphertext_len: usize,
17987    ) -> ::std::os::raw::c_int;
17988}
17989extern "C" {
17990    #[link_name = "aws_lc_0_46_0_HRSS_marshal_public_key"]
17991    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
17992}
17993extern "C" {
17994    #[link_name = "aws_lc_0_46_0_HRSS_parse_public_key"]
17995    pub fn HRSS_parse_public_key(
17996        out: *mut HRSS_public_key,
17997        in_: *const u8,
17998    ) -> ::std::os::raw::c_int;
17999}
18000extern "C" {
18001    #[link_name = "aws_lc_0_46_0_MD4_Init"]
18002    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18003}
18004extern "C" {
18005    #[link_name = "aws_lc_0_46_0_MD4_Update"]
18006    pub fn MD4_Update(
18007        md4: *mut MD4_CTX,
18008        data: *const ::std::os::raw::c_void,
18009        len: usize,
18010    ) -> ::std::os::raw::c_int;
18011}
18012extern "C" {
18013    #[link_name = "aws_lc_0_46_0_MD4_Final"]
18014    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18015}
18016extern "C" {
18017    #[link_name = "aws_lc_0_46_0_MD4"]
18018    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
18019}
18020extern "C" {
18021    #[link_name = "aws_lc_0_46_0_MD4_Transform"]
18022    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
18023}
18024#[repr(C)]
18025#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18026pub struct md4_state_st {
18027    pub h: [u32; 4usize],
18028    pub Nl: u32,
18029    pub Nh: u32,
18030    pub data: [u8; 64usize],
18031    pub num: ::std::os::raw::c_uint,
18032}
18033#[test]
18034fn bindgen_test_layout_md4_state_st() {
18035    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
18036    let ptr = UNINIT.as_ptr();
18037    assert_eq!(
18038        ::std::mem::size_of::<md4_state_st>(),
18039        92usize,
18040        "Size of md4_state_st"
18041    );
18042    assert_eq!(
18043        ::std::mem::align_of::<md4_state_st>(),
18044        4usize,
18045        "Alignment of md4_state_st"
18046    );
18047    assert_eq!(
18048        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
18049        0usize,
18050        "Offset of field: md4_state_st::h"
18051    );
18052    assert_eq!(
18053        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
18054        16usize,
18055        "Offset of field: md4_state_st::Nl"
18056    );
18057    assert_eq!(
18058        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
18059        20usize,
18060        "Offset of field: md4_state_st::Nh"
18061    );
18062    assert_eq!(
18063        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18064        24usize,
18065        "Offset of field: md4_state_st::data"
18066    );
18067    assert_eq!(
18068        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
18069        88usize,
18070        "Offset of field: md4_state_st::num"
18071    );
18072}
18073impl Default for md4_state_st {
18074    fn default() -> Self {
18075        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18076        unsafe {
18077            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18078            s.assume_init()
18079        }
18080    }
18081}
18082#[repr(C)]
18083#[derive(Debug)]
18084pub struct stack_st_CRYPTO_BUFFER {
18085    _unused: [u8; 0],
18086}
18087#[repr(C)]
18088#[derive(Debug)]
18089pub struct stack_st_X509 {
18090    _unused: [u8; 0],
18091}
18092#[repr(C)]
18093#[derive(Debug)]
18094pub struct stack_st_X509_CRL {
18095    _unused: [u8; 0],
18096}
18097extern "C" {
18098    #[link_name = "aws_lc_0_46_0_PKCS7_get_raw_certificates"]
18099    pub fn PKCS7_get_raw_certificates(
18100        out_certs: *mut stack_st_CRYPTO_BUFFER,
18101        cbs: *mut CBS,
18102        pool: *mut CRYPTO_BUFFER_POOL,
18103    ) -> ::std::os::raw::c_int;
18104}
18105extern "C" {
18106    #[link_name = "aws_lc_0_46_0_PKCS7_get_certificates"]
18107    pub fn PKCS7_get_certificates(
18108        out_certs: *mut stack_st_X509,
18109        cbs: *mut CBS,
18110    ) -> ::std::os::raw::c_int;
18111}
18112extern "C" {
18113    #[link_name = "aws_lc_0_46_0_PKCS7_bundle_raw_certificates"]
18114    pub fn PKCS7_bundle_raw_certificates(
18115        out: *mut CBB,
18116        certs: *const stack_st_CRYPTO_BUFFER,
18117    ) -> ::std::os::raw::c_int;
18118}
18119extern "C" {
18120    #[link_name = "aws_lc_0_46_0_PKCS7_bundle_certificates"]
18121    pub fn PKCS7_bundle_certificates(
18122        out: *mut CBB,
18123        certs: *const stack_st_X509,
18124    ) -> ::std::os::raw::c_int;
18125}
18126extern "C" {
18127    #[link_name = "aws_lc_0_46_0_PKCS7_get_CRLs"]
18128    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
18129        -> ::std::os::raw::c_int;
18130}
18131extern "C" {
18132    #[link_name = "aws_lc_0_46_0_PKCS7_bundle_CRLs"]
18133    pub fn PKCS7_bundle_CRLs(
18134        out: *mut CBB,
18135        crls: *const stack_st_X509_CRL,
18136    ) -> ::std::os::raw::c_int;
18137}
18138extern "C" {
18139    #[link_name = "aws_lc_0_46_0_PKCS7_get_PEM_certificates"]
18140    pub fn PKCS7_get_PEM_certificates(
18141        out_certs: *mut stack_st_X509,
18142        pem_bio: *mut BIO,
18143    ) -> ::std::os::raw::c_int;
18144}
18145extern "C" {
18146    #[link_name = "aws_lc_0_46_0_PKCS7_get_PEM_CRLs"]
18147    pub fn PKCS7_get_PEM_CRLs(
18148        out_crls: *mut stack_st_X509_CRL,
18149        pem_bio: *mut BIO,
18150    ) -> ::std::os::raw::c_int;
18151}
18152extern "C" {
18153    #[link_name = "aws_lc_0_46_0_d2i_PKCS7_bio"]
18154    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
18155}
18156extern "C" {
18157    #[link_name = "aws_lc_0_46_0_i2d_PKCS7_bio"]
18158    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
18159}
18160extern "C" {
18161    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_data"]
18162    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
18163}
18164extern "C" {
18165    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_digest"]
18166    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
18167}
18168extern "C" {
18169    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_encrypted"]
18170    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
18171}
18172extern "C" {
18173    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_enveloped"]
18174    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18175}
18176extern "C" {
18177    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_signed"]
18178    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
18179}
18180extern "C" {
18181    #[link_name = "aws_lc_0_46_0_PKCS7_type_is_signedAndEnveloped"]
18182    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18183}
18184#[repr(C)]
18185#[derive(Copy, Clone)]
18186pub struct pkcs7_st {
18187    pub type_: *mut ASN1_OBJECT,
18188    pub d: pkcs7_st__bindgen_ty_1,
18189}
18190#[repr(C)]
18191#[derive(Copy, Clone)]
18192pub union pkcs7_st__bindgen_ty_1 {
18193    pub ptr: *mut ::std::os::raw::c_char,
18194    pub data: *mut ASN1_OCTET_STRING,
18195    pub sign: *mut PKCS7_SIGNED,
18196    pub enveloped: *mut PKCS7_ENVELOPE,
18197    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
18198    pub digest: *mut PKCS7_DIGEST,
18199    pub encrypted: *mut PKCS7_ENCRYPT,
18200    pub other: *mut ASN1_TYPE,
18201}
18202#[test]
18203fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
18204    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
18205        ::std::mem::MaybeUninit::uninit();
18206    let ptr = UNINIT.as_ptr();
18207    assert_eq!(
18208        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
18209        8usize,
18210        "Size of pkcs7_st__bindgen_ty_1"
18211    );
18212    assert_eq!(
18213        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
18214        8usize,
18215        "Alignment of pkcs7_st__bindgen_ty_1"
18216    );
18217    assert_eq!(
18218        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
18219        0usize,
18220        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
18221    );
18222    assert_eq!(
18223        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18224        0usize,
18225        "Offset of field: pkcs7_st__bindgen_ty_1::data"
18226    );
18227    assert_eq!(
18228        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
18229        0usize,
18230        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
18231    );
18232    assert_eq!(
18233        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
18234        0usize,
18235        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
18236    );
18237    assert_eq!(
18238        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
18239        0usize,
18240        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
18241    );
18242    assert_eq!(
18243        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
18244        0usize,
18245        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
18246    );
18247    assert_eq!(
18248        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
18249        0usize,
18250        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
18251    );
18252    assert_eq!(
18253        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
18254        0usize,
18255        "Offset of field: pkcs7_st__bindgen_ty_1::other"
18256    );
18257}
18258impl Default for pkcs7_st__bindgen_ty_1 {
18259    fn default() -> Self {
18260        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18261        unsafe {
18262            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18263            s.assume_init()
18264        }
18265    }
18266}
18267#[test]
18268fn bindgen_test_layout_pkcs7_st() {
18269    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
18270    let ptr = UNINIT.as_ptr();
18271    assert_eq!(
18272        ::std::mem::size_of::<pkcs7_st>(),
18273        16usize,
18274        "Size of pkcs7_st"
18275    );
18276    assert_eq!(
18277        ::std::mem::align_of::<pkcs7_st>(),
18278        8usize,
18279        "Alignment of pkcs7_st"
18280    );
18281    assert_eq!(
18282        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
18283        0usize,
18284        "Offset of field: pkcs7_st::type_"
18285    );
18286    assert_eq!(
18287        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
18288        8usize,
18289        "Offset of field: pkcs7_st::d"
18290    );
18291}
18292impl Default for pkcs7_st {
18293    fn default() -> Self {
18294        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18295        unsafe {
18296            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18297            s.assume_init()
18298        }
18299    }
18300}
18301#[repr(C)]
18302#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18303pub struct pkcs7_signed_st {
18304    pub version: *mut ASN1_INTEGER,
18305    pub md_algs: *mut stack_st_X509_ALGOR,
18306    pub contents: *mut PKCS7,
18307    pub cert: *mut stack_st_X509,
18308    pub crl: *mut stack_st_X509_CRL,
18309    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18310}
18311#[test]
18312fn bindgen_test_layout_pkcs7_signed_st() {
18313    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
18314    let ptr = UNINIT.as_ptr();
18315    assert_eq!(
18316        ::std::mem::size_of::<pkcs7_signed_st>(),
18317        48usize,
18318        "Size of pkcs7_signed_st"
18319    );
18320    assert_eq!(
18321        ::std::mem::align_of::<pkcs7_signed_st>(),
18322        8usize,
18323        "Alignment of pkcs7_signed_st"
18324    );
18325    assert_eq!(
18326        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18327        0usize,
18328        "Offset of field: pkcs7_signed_st::version"
18329    );
18330    assert_eq!(
18331        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18332        8usize,
18333        "Offset of field: pkcs7_signed_st::md_algs"
18334    );
18335    assert_eq!(
18336        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
18337        16usize,
18338        "Offset of field: pkcs7_signed_st::contents"
18339    );
18340    assert_eq!(
18341        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18342        24usize,
18343        "Offset of field: pkcs7_signed_st::cert"
18344    );
18345    assert_eq!(
18346        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18347        32usize,
18348        "Offset of field: pkcs7_signed_st::crl"
18349    );
18350    assert_eq!(
18351        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18352        40usize,
18353        "Offset of field: pkcs7_signed_st::signer_info"
18354    );
18355}
18356impl Default for pkcs7_signed_st {
18357    fn default() -> Self {
18358        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18359        unsafe {
18360            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18361            s.assume_init()
18362        }
18363    }
18364}
18365#[repr(C)]
18366#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18367pub struct pkcs7_signer_info_st {
18368    pub version: *mut ASN1_INTEGER,
18369    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18370    pub digest_alg: *mut X509_ALGOR,
18371    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
18372    pub digest_enc_alg: *mut X509_ALGOR,
18373    pub enc_digest: *mut ASN1_OCTET_STRING,
18374    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
18375    pub pkey: *mut EVP_PKEY,
18376}
18377#[test]
18378fn bindgen_test_layout_pkcs7_signer_info_st() {
18379    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
18380    let ptr = UNINIT.as_ptr();
18381    assert_eq!(
18382        ::std::mem::size_of::<pkcs7_signer_info_st>(),
18383        64usize,
18384        "Size of pkcs7_signer_info_st"
18385    );
18386    assert_eq!(
18387        ::std::mem::align_of::<pkcs7_signer_info_st>(),
18388        8usize,
18389        "Alignment of pkcs7_signer_info_st"
18390    );
18391    assert_eq!(
18392        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18393        0usize,
18394        "Offset of field: pkcs7_signer_info_st::version"
18395    );
18396    assert_eq!(
18397        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18398        8usize,
18399        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
18400    );
18401    assert_eq!(
18402        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
18403        16usize,
18404        "Offset of field: pkcs7_signer_info_st::digest_alg"
18405    );
18406    assert_eq!(
18407        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
18408        24usize,
18409        "Offset of field: pkcs7_signer_info_st::auth_attr"
18410    );
18411    assert_eq!(
18412        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
18413        32usize,
18414        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
18415    );
18416    assert_eq!(
18417        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
18418        40usize,
18419        "Offset of field: pkcs7_signer_info_st::enc_digest"
18420    );
18421    assert_eq!(
18422        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
18423        48usize,
18424        "Offset of field: pkcs7_signer_info_st::unauth_attr"
18425    );
18426    assert_eq!(
18427        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
18428        56usize,
18429        "Offset of field: pkcs7_signer_info_st::pkey"
18430    );
18431}
18432impl Default for pkcs7_signer_info_st {
18433    fn default() -> Self {
18434        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18435        unsafe {
18436            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18437            s.assume_init()
18438        }
18439    }
18440}
18441#[repr(C)]
18442#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18443pub struct pkcs7_sign_envelope_st {
18444    pub version: *mut ASN1_INTEGER,
18445    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18446    pub md_algs: *mut stack_st_X509_ALGOR,
18447    pub enc_data: *mut PKCS7_ENC_CONTENT,
18448    pub cert: *mut stack_st_X509,
18449    pub crl: *mut stack_st_X509_CRL,
18450    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18451}
18452#[test]
18453fn bindgen_test_layout_pkcs7_sign_envelope_st() {
18454    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
18455        ::std::mem::MaybeUninit::uninit();
18456    let ptr = UNINIT.as_ptr();
18457    assert_eq!(
18458        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
18459        56usize,
18460        "Size of pkcs7_sign_envelope_st"
18461    );
18462    assert_eq!(
18463        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
18464        8usize,
18465        "Alignment of pkcs7_sign_envelope_st"
18466    );
18467    assert_eq!(
18468        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18469        0usize,
18470        "Offset of field: pkcs7_sign_envelope_st::version"
18471    );
18472    assert_eq!(
18473        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18474        8usize,
18475        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
18476    );
18477    assert_eq!(
18478        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18479        16usize,
18480        "Offset of field: pkcs7_sign_envelope_st::md_algs"
18481    );
18482    assert_eq!(
18483        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
18484        24usize,
18485        "Offset of field: pkcs7_sign_envelope_st::enc_data"
18486    );
18487    assert_eq!(
18488        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18489        32usize,
18490        "Offset of field: pkcs7_sign_envelope_st::cert"
18491    );
18492    assert_eq!(
18493        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18494        40usize,
18495        "Offset of field: pkcs7_sign_envelope_st::crl"
18496    );
18497    assert_eq!(
18498        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18499        48usize,
18500        "Offset of field: pkcs7_sign_envelope_st::signer_info"
18501    );
18502}
18503impl Default for pkcs7_sign_envelope_st {
18504    fn default() -> Self {
18505        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18506        unsafe {
18507            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18508            s.assume_init()
18509        }
18510    }
18511}
18512#[repr(C)]
18513#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18514pub struct pkcs7_envelope_st {
18515    pub version: *mut ASN1_INTEGER,
18516    pub enc_data: *mut PKCS7_ENC_CONTENT,
18517    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18518}
18519#[test]
18520fn bindgen_test_layout_pkcs7_envelope_st() {
18521    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
18522    let ptr = UNINIT.as_ptr();
18523    assert_eq!(
18524        ::std::mem::size_of::<pkcs7_envelope_st>(),
18525        24usize,
18526        "Size of pkcs7_envelope_st"
18527    );
18528    assert_eq!(
18529        ::std::mem::align_of::<pkcs7_envelope_st>(),
18530        8usize,
18531        "Alignment of pkcs7_envelope_st"
18532    );
18533    assert_eq!(
18534        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18535        0usize,
18536        "Offset of field: pkcs7_envelope_st::version"
18537    );
18538    assert_eq!(
18539        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
18540        8usize,
18541        "Offset of field: pkcs7_envelope_st::enc_data"
18542    );
18543    assert_eq!(
18544        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18545        16usize,
18546        "Offset of field: pkcs7_envelope_st::recipientinfo"
18547    );
18548}
18549impl Default for pkcs7_envelope_st {
18550    fn default() -> Self {
18551        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18552        unsafe {
18553            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18554            s.assume_init()
18555        }
18556    }
18557}
18558#[repr(C)]
18559#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18560pub struct pkcs7_recip_info_st {
18561    pub version: *mut ASN1_INTEGER,
18562    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18563    pub key_enc_algor: *mut X509_ALGOR,
18564    pub enc_key: *mut ASN1_OCTET_STRING,
18565    pub cert: *mut X509,
18566}
18567#[test]
18568fn bindgen_test_layout_pkcs7_recip_info_st() {
18569    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
18570    let ptr = UNINIT.as_ptr();
18571    assert_eq!(
18572        ::std::mem::size_of::<pkcs7_recip_info_st>(),
18573        40usize,
18574        "Size of pkcs7_recip_info_st"
18575    );
18576    assert_eq!(
18577        ::std::mem::align_of::<pkcs7_recip_info_st>(),
18578        8usize,
18579        "Alignment of pkcs7_recip_info_st"
18580    );
18581    assert_eq!(
18582        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18583        0usize,
18584        "Offset of field: pkcs7_recip_info_st::version"
18585    );
18586    assert_eq!(
18587        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18588        8usize,
18589        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
18590    );
18591    assert_eq!(
18592        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
18593        16usize,
18594        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
18595    );
18596    assert_eq!(
18597        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
18598        24usize,
18599        "Offset of field: pkcs7_recip_info_st::enc_key"
18600    );
18601    assert_eq!(
18602        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18603        32usize,
18604        "Offset of field: pkcs7_recip_info_st::cert"
18605    );
18606}
18607impl Default for pkcs7_recip_info_st {
18608    fn default() -> Self {
18609        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18610        unsafe {
18611            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18612            s.assume_init()
18613        }
18614    }
18615}
18616#[repr(C)]
18617#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18618pub struct pkcs7_issuer_and_serial_st {
18619    pub issuer: *mut X509_NAME,
18620    pub serial: *mut ASN1_INTEGER,
18621}
18622#[test]
18623fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
18624    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
18625        ::std::mem::MaybeUninit::uninit();
18626    let ptr = UNINIT.as_ptr();
18627    assert_eq!(
18628        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
18629        16usize,
18630        "Size of pkcs7_issuer_and_serial_st"
18631    );
18632    assert_eq!(
18633        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
18634        8usize,
18635        "Alignment of pkcs7_issuer_and_serial_st"
18636    );
18637    assert_eq!(
18638        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
18639        0usize,
18640        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
18641    );
18642    assert_eq!(
18643        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
18644        8usize,
18645        "Offset of field: pkcs7_issuer_and_serial_st::serial"
18646    );
18647}
18648impl Default for pkcs7_issuer_and_serial_st {
18649    fn default() -> Self {
18650        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18651        unsafe {
18652            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18653            s.assume_init()
18654        }
18655    }
18656}
18657extern "C" {
18658    #[link_name = "aws_lc_0_46_0_PKCS7_new"]
18659    pub fn PKCS7_new() -> *mut PKCS7;
18660}
18661extern "C" {
18662    #[link_name = "aws_lc_0_46_0_PKCS7_free"]
18663    pub fn PKCS7_free(a: *mut PKCS7);
18664}
18665extern "C" {
18666    #[link_name = "aws_lc_0_46_0_d2i_PKCS7"]
18667    pub fn d2i_PKCS7(
18668        a: *mut *mut PKCS7,
18669        in_: *mut *const ::std::os::raw::c_uchar,
18670        len: ::std::os::raw::c_long,
18671    ) -> *mut PKCS7;
18672}
18673extern "C" {
18674    #[link_name = "aws_lc_0_46_0_i2d_PKCS7"]
18675    pub fn i2d_PKCS7(
18676        a: *mut PKCS7,
18677        out: *mut *mut ::std::os::raw::c_uchar,
18678    ) -> ::std::os::raw::c_int;
18679}
18680extern "C" {
18681    #[link_name = "aws_lc_0_46_0_PKCS7_it"]
18682    pub static PKCS7_it: ASN1_ITEM;
18683}
18684extern "C" {
18685    #[link_name = "aws_lc_0_46_0_PKCS7_RECIP_INFO_new"]
18686    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
18687}
18688extern "C" {
18689    #[link_name = "aws_lc_0_46_0_PKCS7_RECIP_INFO_free"]
18690    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
18691}
18692extern "C" {
18693    #[link_name = "aws_lc_0_46_0_d2i_PKCS7_RECIP_INFO"]
18694    pub fn d2i_PKCS7_RECIP_INFO(
18695        a: *mut *mut PKCS7_RECIP_INFO,
18696        in_: *mut *const ::std::os::raw::c_uchar,
18697        len: ::std::os::raw::c_long,
18698    ) -> *mut PKCS7_RECIP_INFO;
18699}
18700extern "C" {
18701    #[link_name = "aws_lc_0_46_0_i2d_PKCS7_RECIP_INFO"]
18702    pub fn i2d_PKCS7_RECIP_INFO(
18703        a: *mut PKCS7_RECIP_INFO,
18704        out: *mut *mut ::std::os::raw::c_uchar,
18705    ) -> ::std::os::raw::c_int;
18706}
18707extern "C" {
18708    #[link_name = "aws_lc_0_46_0_PKCS7_RECIP_INFO_it"]
18709    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
18710}
18711extern "C" {
18712    #[link_name = "aws_lc_0_46_0_PKCS7_SIGNER_INFO_new"]
18713    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
18714}
18715extern "C" {
18716    #[link_name = "aws_lc_0_46_0_PKCS7_SIGNER_INFO_free"]
18717    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
18718}
18719extern "C" {
18720    #[link_name = "aws_lc_0_46_0_d2i_PKCS7_SIGNER_INFO"]
18721    pub fn d2i_PKCS7_SIGNER_INFO(
18722        a: *mut *mut PKCS7_SIGNER_INFO,
18723        in_: *mut *const ::std::os::raw::c_uchar,
18724        len: ::std::os::raw::c_long,
18725    ) -> *mut PKCS7_SIGNER_INFO;
18726}
18727extern "C" {
18728    #[link_name = "aws_lc_0_46_0_i2d_PKCS7_SIGNER_INFO"]
18729    pub fn i2d_PKCS7_SIGNER_INFO(
18730        a: *mut PKCS7_SIGNER_INFO,
18731        out: *mut *mut ::std::os::raw::c_uchar,
18732    ) -> ::std::os::raw::c_int;
18733}
18734extern "C" {
18735    #[link_name = "aws_lc_0_46_0_PKCS7_SIGNER_INFO_it"]
18736    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
18737}
18738#[repr(C)]
18739#[derive(Debug)]
18740pub struct stack_st_PKCS7_RECIP_INFO {
18741    _unused: [u8; 0],
18742}
18743pub type sk_PKCS7_RECIP_INFO_free_func =
18744    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
18745pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
18746    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
18747>;
18748pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
18749    unsafe extern "C" fn(
18750        arg1: *const *const PKCS7_RECIP_INFO,
18751        arg2: *const *const PKCS7_RECIP_INFO,
18752    ) -> ::std::os::raw::c_int,
18753>;
18754pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
18755    unsafe extern "C" fn(
18756        arg1: *mut PKCS7_RECIP_INFO,
18757        arg2: *mut ::std::os::raw::c_void,
18758    ) -> ::std::os::raw::c_int,
18759>;
18760#[repr(C)]
18761#[derive(Debug)]
18762pub struct stack_st_PKCS7_SIGNER_INFO {
18763    _unused: [u8; 0],
18764}
18765pub type sk_PKCS7_SIGNER_INFO_free_func =
18766    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
18767pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
18768    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
18769>;
18770pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
18771    unsafe extern "C" fn(
18772        arg1: *const *const PKCS7_SIGNER_INFO,
18773        arg2: *const *const PKCS7_SIGNER_INFO,
18774    ) -> ::std::os::raw::c_int,
18775>;
18776pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
18777    unsafe extern "C" fn(
18778        arg1: *mut PKCS7_SIGNER_INFO,
18779        arg2: *mut ::std::os::raw::c_void,
18780    ) -> ::std::os::raw::c_int,
18781>;
18782extern "C" {
18783    #[link_name = "aws_lc_0_46_0_PKCS7_dup"]
18784    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
18785}
18786extern "C" {
18787    #[link_name = "aws_lc_0_46_0_PKCS7_get_signed_attribute"]
18788    pub fn PKCS7_get_signed_attribute(
18789        si: *const PKCS7_SIGNER_INFO,
18790        nid: ::std::os::raw::c_int,
18791    ) -> *mut ASN1_TYPE;
18792}
18793extern "C" {
18794    #[link_name = "aws_lc_0_46_0_PKCS7_get_signer_info"]
18795    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
18796}
18797extern "C" {
18798    #[link_name = "aws_lc_0_46_0_PKCS7_RECIP_INFO_set"]
18799    pub fn PKCS7_RECIP_INFO_set(
18800        p7i: *mut PKCS7_RECIP_INFO,
18801        x509: *mut X509,
18802    ) -> ::std::os::raw::c_int;
18803}
18804extern "C" {
18805    #[link_name = "aws_lc_0_46_0_PKCS7_SIGNER_INFO_set"]
18806    pub fn PKCS7_SIGNER_INFO_set(
18807        p7i: *mut PKCS7_SIGNER_INFO,
18808        x509: *mut X509,
18809        pkey: *mut EVP_PKEY,
18810        dgst: *const EVP_MD,
18811    ) -> ::std::os::raw::c_int;
18812}
18813extern "C" {
18814    #[link_name = "aws_lc_0_46_0_PKCS7_add_certificate"]
18815    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
18816}
18817extern "C" {
18818    #[link_name = "aws_lc_0_46_0_PKCS7_add_crl"]
18819    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
18820}
18821extern "C" {
18822    #[link_name = "aws_lc_0_46_0_PKCS7_add_recipient_info"]
18823    pub fn PKCS7_add_recipient_info(
18824        p7: *mut PKCS7,
18825        ri: *mut PKCS7_RECIP_INFO,
18826    ) -> ::std::os::raw::c_int;
18827}
18828extern "C" {
18829    #[link_name = "aws_lc_0_46_0_PKCS7_add_signer"]
18830    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
18831}
18832extern "C" {
18833    #[link_name = "aws_lc_0_46_0_PKCS7_content_new"]
18834    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18835}
18836extern "C" {
18837    #[link_name = "aws_lc_0_46_0_PKCS7_set_content"]
18838    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
18839}
18840extern "C" {
18841    #[link_name = "aws_lc_0_46_0_PKCS7_set_cipher"]
18842    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
18843}
18844extern "C" {
18845    #[link_name = "aws_lc_0_46_0_PKCS7_set_type"]
18846    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18847}
18848extern "C" {
18849    #[link_name = "aws_lc_0_46_0_PKCS7_RECIP_INFO_get0_alg"]
18850    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
18851}
18852extern "C" {
18853    #[link_name = "aws_lc_0_46_0_PKCS7_SIGNER_INFO_get0_algs"]
18854    pub fn PKCS7_SIGNER_INFO_get0_algs(
18855        si: *mut PKCS7_SIGNER_INFO,
18856        pk: *mut *mut EVP_PKEY,
18857        pdig: *mut *mut X509_ALGOR,
18858        psig: *mut *mut X509_ALGOR,
18859    );
18860}
18861extern "C" {
18862    #[link_name = "aws_lc_0_46_0_PKCS7_sign"]
18863    pub fn PKCS7_sign(
18864        sign_cert: *mut X509,
18865        pkey: *mut EVP_PKEY,
18866        certs: *mut stack_st_X509,
18867        data: *mut BIO,
18868        flags: ::std::os::raw::c_int,
18869    ) -> *mut PKCS7;
18870}
18871extern "C" {
18872    #[link_name = "aws_lc_0_46_0_PKCS7_verify"]
18873    pub fn PKCS7_verify(
18874        p7: *mut PKCS7,
18875        certs: *mut stack_st_X509,
18876        store: *mut X509_STORE,
18877        indata: *mut BIO,
18878        outdata: *mut BIO,
18879        flags: ::std::os::raw::c_int,
18880    ) -> ::std::os::raw::c_int;
18881}
18882extern "C" {
18883    #[link_name = "aws_lc_0_46_0_PKCS7_is_detached"]
18884    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18885}
18886extern "C" {
18887    #[link_name = "aws_lc_0_46_0_PKCS7_set_detached"]
18888    pub fn PKCS7_set_detached(
18889        p7: *mut PKCS7,
18890        detach: ::std::os::raw::c_int,
18891    ) -> ::std::os::raw::c_int;
18892}
18893extern "C" {
18894    #[link_name = "aws_lc_0_46_0_PKCS7_get_detached"]
18895    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18896}
18897extern "C" {
18898    #[link_name = "aws_lc_0_46_0_PKCS7_dataInit"]
18899    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
18900}
18901extern "C" {
18902    #[link_name = "aws_lc_0_46_0_PKCS7_dataFinal"]
18903    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
18904}
18905extern "C" {
18906    #[link_name = "aws_lc_0_46_0_PKCS7_set_digest"]
18907    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
18908}
18909extern "C" {
18910    #[link_name = "aws_lc_0_46_0_PKCS7_get_recipient_info"]
18911    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
18912}
18913extern "C" {
18914    #[link_name = "aws_lc_0_46_0_PKCS7_add_recipient"]
18915    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
18916}
18917extern "C" {
18918    #[link_name = "aws_lc_0_46_0_PKCS7_get0_signers"]
18919    pub fn PKCS7_get0_signers(
18920        p7: *mut PKCS7,
18921        certs: *mut stack_st_X509,
18922        flags: ::std::os::raw::c_int,
18923    ) -> *mut stack_st_X509;
18924}
18925extern "C" {
18926    #[link_name = "aws_lc_0_46_0_PKCS7_encrypt"]
18927    pub fn PKCS7_encrypt(
18928        certs: *mut stack_st_X509,
18929        in_: *mut BIO,
18930        cipher: *const EVP_CIPHER,
18931        flags: ::std::os::raw::c_int,
18932    ) -> *mut PKCS7;
18933}
18934extern "C" {
18935    #[link_name = "aws_lc_0_46_0_PKCS7_decrypt"]
18936    pub fn PKCS7_decrypt(
18937        p7: *mut PKCS7,
18938        pkey: *mut EVP_PKEY,
18939        cert: *mut X509,
18940        data: *mut BIO,
18941        flags: ::std::os::raw::c_int,
18942    ) -> ::std::os::raw::c_int;
18943}
18944extern "C" {
18945    #[link_name = "aws_lc_0_46_0_SMIME_read_PKCS7"]
18946    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
18947}
18948extern "C" {
18949    #[link_name = "aws_lc_0_46_0_SMIME_write_PKCS7"]
18950    pub fn SMIME_write_PKCS7(
18951        out: *mut BIO,
18952        p7: *mut PKCS7,
18953        data: *mut BIO,
18954        flags: ::std::os::raw::c_int,
18955    ) -> ::std::os::raw::c_int;
18956}
18957extern "C" {
18958    #[link_name = "aws_lc_0_46_0_PKCS7_print_ctx"]
18959    pub fn PKCS7_print_ctx(
18960        bio: *mut BIO,
18961        pkcs7: *mut PKCS7,
18962        indent: ::std::os::raw::c_int,
18963        pctx: *const ASN1_PCTX,
18964    ) -> ::std::os::raw::c_int;
18965}
18966pub type sk_CRYPTO_BUFFER_free_func =
18967    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
18968pub type sk_CRYPTO_BUFFER_copy_func =
18969    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
18970pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
18971    unsafe extern "C" fn(
18972        arg1: *const *const CRYPTO_BUFFER,
18973        arg2: *const *const CRYPTO_BUFFER,
18974    ) -> ::std::os::raw::c_int,
18975>;
18976pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
18977    unsafe extern "C" fn(
18978        arg1: *mut CRYPTO_BUFFER,
18979        arg2: *mut ::std::os::raw::c_void,
18980    ) -> ::std::os::raw::c_int,
18981>;
18982extern "C" {
18983    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_POOL_new"]
18984    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
18985}
18986extern "C" {
18987    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_POOL_free"]
18988    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
18989}
18990extern "C" {
18991    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_new"]
18992    pub fn CRYPTO_BUFFER_new(
18993        data: *const u8,
18994        len: usize,
18995        pool: *mut CRYPTO_BUFFER_POOL,
18996    ) -> *mut CRYPTO_BUFFER;
18997}
18998extern "C" {
18999    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_alloc"]
19000    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
19001}
19002extern "C" {
19003    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_new_from_CBS"]
19004    pub fn CRYPTO_BUFFER_new_from_CBS(
19005        cbs: *const CBS,
19006        pool: *mut CRYPTO_BUFFER_POOL,
19007    ) -> *mut CRYPTO_BUFFER;
19008}
19009extern "C" {
19010    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
19011    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
19012        data: *const u8,
19013        len: usize,
19014        pool: *mut CRYPTO_BUFFER_POOL,
19015    ) -> *mut CRYPTO_BUFFER;
19016}
19017extern "C" {
19018    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_free"]
19019    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
19020}
19021extern "C" {
19022    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_up_ref"]
19023    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
19024}
19025extern "C" {
19026    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_data"]
19027    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
19028}
19029extern "C" {
19030    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_len"]
19031    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
19032}
19033extern "C" {
19034    #[link_name = "aws_lc_0_46_0_CRYPTO_BUFFER_init_CBS"]
19035    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
19036}
19037extern "C" {
19038    #[link_name = "aws_lc_0_46_0_RSA_new_public_key"]
19039    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19040}
19041extern "C" {
19042    #[link_name = "aws_lc_0_46_0_RSA_new_private_key"]
19043    pub fn RSA_new_private_key(
19044        n: *const BIGNUM,
19045        e: *const BIGNUM,
19046        d: *const BIGNUM,
19047        p: *const BIGNUM,
19048        q: *const BIGNUM,
19049        dmp1: *const BIGNUM,
19050        dmq1: *const BIGNUM,
19051        iqmp: *const BIGNUM,
19052    ) -> *mut RSA;
19053}
19054extern "C" {
19055    #[link_name = "aws_lc_0_46_0_RSA_new"]
19056    pub fn RSA_new() -> *mut RSA;
19057}
19058extern "C" {
19059    #[link_name = "aws_lc_0_46_0_RSA_new_method"]
19060    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
19061}
19062extern "C" {
19063    #[link_name = "aws_lc_0_46_0_RSA_free"]
19064    pub fn RSA_free(rsa: *mut RSA);
19065}
19066extern "C" {
19067    #[link_name = "aws_lc_0_46_0_RSA_up_ref"]
19068    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
19069}
19070extern "C" {
19071    #[link_name = "aws_lc_0_46_0_RSA_bits"]
19072    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
19073}
19074extern "C" {
19075    #[link_name = "aws_lc_0_46_0_RSA_get0_n"]
19076    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
19077}
19078extern "C" {
19079    #[link_name = "aws_lc_0_46_0_RSA_get0_e"]
19080    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
19081}
19082extern "C" {
19083    #[link_name = "aws_lc_0_46_0_RSA_get0_d"]
19084    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
19085}
19086extern "C" {
19087    #[link_name = "aws_lc_0_46_0_RSA_get0_p"]
19088    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
19089}
19090extern "C" {
19091    #[link_name = "aws_lc_0_46_0_RSA_get0_q"]
19092    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
19093}
19094extern "C" {
19095    #[link_name = "aws_lc_0_46_0_RSA_get0_dmp1"]
19096    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
19097}
19098extern "C" {
19099    #[link_name = "aws_lc_0_46_0_RSA_get0_dmq1"]
19100    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
19101}
19102extern "C" {
19103    #[link_name = "aws_lc_0_46_0_RSA_get0_iqmp"]
19104    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
19105}
19106extern "C" {
19107    #[link_name = "aws_lc_0_46_0_RSA_get0_key"]
19108    pub fn RSA_get0_key(
19109        rsa: *const RSA,
19110        out_n: *mut *const BIGNUM,
19111        out_e: *mut *const BIGNUM,
19112        out_d: *mut *const BIGNUM,
19113    );
19114}
19115extern "C" {
19116    #[link_name = "aws_lc_0_46_0_RSA_get0_factors"]
19117    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
19118}
19119extern "C" {
19120    #[link_name = "aws_lc_0_46_0_RSA_get0_crt_params"]
19121    pub fn RSA_get0_crt_params(
19122        rsa: *const RSA,
19123        out_dmp1: *mut *const BIGNUM,
19124        out_dmq1: *mut *const BIGNUM,
19125        out_iqmp: *mut *const BIGNUM,
19126    );
19127}
19128extern "C" {
19129    #[link_name = "aws_lc_0_46_0_RSA_set0_key"]
19130    pub fn RSA_set0_key(
19131        rsa: *mut RSA,
19132        n: *mut BIGNUM,
19133        e: *mut BIGNUM,
19134        d: *mut BIGNUM,
19135    ) -> ::std::os::raw::c_int;
19136}
19137extern "C" {
19138    #[link_name = "aws_lc_0_46_0_RSA_set0_factors"]
19139    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
19140        -> ::std::os::raw::c_int;
19141}
19142extern "C" {
19143    #[link_name = "aws_lc_0_46_0_RSA_set0_crt_params"]
19144    pub fn RSA_set0_crt_params(
19145        rsa: *mut RSA,
19146        dmp1: *mut BIGNUM,
19147        dmq1: *mut BIGNUM,
19148        iqmp: *mut BIGNUM,
19149    ) -> ::std::os::raw::c_int;
19150}
19151extern "C" {
19152    #[link_name = "aws_lc_0_46_0_RSA_get_default_method"]
19153    pub fn RSA_get_default_method() -> *const RSA_METHOD;
19154}
19155extern "C" {
19156    #[link_name = "aws_lc_0_46_0_RSA_meth_new"]
19157    pub fn RSA_meth_new(
19158        name: *const ::std::os::raw::c_char,
19159        flags: ::std::os::raw::c_int,
19160    ) -> *mut RSA_METHOD;
19161}
19162extern "C" {
19163    #[link_name = "aws_lc_0_46_0_RSA_set_method"]
19164    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
19165}
19166extern "C" {
19167    #[link_name = "aws_lc_0_46_0_RSA_get_method"]
19168    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
19169}
19170extern "C" {
19171    #[link_name = "aws_lc_0_46_0_RSA_meth_free"]
19172    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
19173}
19174extern "C" {
19175    #[link_name = "aws_lc_0_46_0_RSA_meth_set_init"]
19176    pub fn RSA_meth_set_init(
19177        meth: *mut RSA_METHOD,
19178        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19179    ) -> ::std::os::raw::c_int;
19180}
19181extern "C" {
19182    #[link_name = "aws_lc_0_46_0_RSA_meth_set_finish"]
19183    pub fn RSA_meth_set_finish(
19184        meth: *mut RSA_METHOD,
19185        finish: ::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_46_0_RSA_meth_set_priv_dec"]
19190    pub fn RSA_meth_set_priv_dec(
19191        meth: *mut RSA_METHOD,
19192        priv_dec: ::std::option::Option<
19193            unsafe extern "C" fn(
19194                max_out: ::std::os::raw::c_int,
19195                from: *const u8,
19196                to: *mut u8,
19197                rsa: *mut RSA,
19198                padding: ::std::os::raw::c_int,
19199            ) -> ::std::os::raw::c_int,
19200        >,
19201    ) -> ::std::os::raw::c_int;
19202}
19203extern "C" {
19204    #[link_name = "aws_lc_0_46_0_RSA_meth_set_priv_enc"]
19205    pub fn RSA_meth_set_priv_enc(
19206        meth: *mut RSA_METHOD,
19207        priv_enc: ::std::option::Option<
19208            unsafe extern "C" fn(
19209                max_out: ::std::os::raw::c_int,
19210                from: *const u8,
19211                to: *mut u8,
19212                rsa: *mut RSA,
19213                padding: ::std::os::raw::c_int,
19214            ) -> ::std::os::raw::c_int,
19215        >,
19216    ) -> ::std::os::raw::c_int;
19217}
19218extern "C" {
19219    #[link_name = "aws_lc_0_46_0_RSA_meth_set_pub_dec"]
19220    pub fn RSA_meth_set_pub_dec(
19221        meth: *mut RSA_METHOD,
19222        pub_dec: ::std::option::Option<
19223            unsafe extern "C" fn(
19224                max_out: ::std::os::raw::c_int,
19225                from: *const u8,
19226                to: *mut u8,
19227                rsa: *mut RSA,
19228                padding: ::std::os::raw::c_int,
19229            ) -> ::std::os::raw::c_int,
19230        >,
19231    ) -> ::std::os::raw::c_int;
19232}
19233extern "C" {
19234    #[link_name = "aws_lc_0_46_0_RSA_meth_set_pub_enc"]
19235    pub fn RSA_meth_set_pub_enc(
19236        meth: *mut RSA_METHOD,
19237        pub_enc: ::std::option::Option<
19238            unsafe extern "C" fn(
19239                max_out: ::std::os::raw::c_int,
19240                from: *const u8,
19241                to: *mut u8,
19242                rsa: *mut RSA,
19243                padding: ::std::os::raw::c_int,
19244            ) -> ::std::os::raw::c_int,
19245        >,
19246    ) -> ::std::os::raw::c_int;
19247}
19248extern "C" {
19249    #[link_name = "aws_lc_0_46_0_RSA_meth_set0_app_data"]
19250    pub fn RSA_meth_set0_app_data(
19251        meth: *mut RSA_METHOD,
19252        app_data: *mut ::std::os::raw::c_void,
19253    ) -> ::std::os::raw::c_int;
19254}
19255extern "C" {
19256    #[link_name = "aws_lc_0_46_0_RSA_meth_set_sign"]
19257    pub fn RSA_meth_set_sign(
19258        meth: *mut RSA_METHOD,
19259        sign: ::std::option::Option<
19260            unsafe extern "C" fn(
19261                type_: ::std::os::raw::c_int,
19262                m: *const ::std::os::raw::c_uchar,
19263                m_length: ::std::os::raw::c_uint,
19264                sigret: *mut ::std::os::raw::c_uchar,
19265                siglen: *mut ::std::os::raw::c_uint,
19266                rsa: *const RSA,
19267            ) -> ::std::os::raw::c_int,
19268        >,
19269    ) -> ::std::os::raw::c_int;
19270}
19271extern "C" {
19272    #[link_name = "aws_lc_0_46_0_RSA_generate_key_ex"]
19273    pub fn RSA_generate_key_ex(
19274        rsa: *mut RSA,
19275        bits: ::std::os::raw::c_int,
19276        e: *const BIGNUM,
19277        cb: *mut BN_GENCB,
19278    ) -> ::std::os::raw::c_int;
19279}
19280extern "C" {
19281    #[link_name = "aws_lc_0_46_0_RSA_generate_key_fips"]
19282    pub fn RSA_generate_key_fips(
19283        rsa: *mut RSA,
19284        bits: ::std::os::raw::c_int,
19285        cb: *mut BN_GENCB,
19286    ) -> ::std::os::raw::c_int;
19287}
19288extern "C" {
19289    #[link_name = "aws_lc_0_46_0_RSA_encrypt"]
19290    pub fn RSA_encrypt(
19291        rsa: *mut RSA,
19292        out_len: *mut usize,
19293        out: *mut u8,
19294        max_out: usize,
19295        in_: *const u8,
19296        in_len: usize,
19297        padding: ::std::os::raw::c_int,
19298    ) -> ::std::os::raw::c_int;
19299}
19300extern "C" {
19301    #[link_name = "aws_lc_0_46_0_RSA_decrypt"]
19302    pub fn RSA_decrypt(
19303        rsa: *mut RSA,
19304        out_len: *mut usize,
19305        out: *mut u8,
19306        max_out: usize,
19307        in_: *const u8,
19308        in_len: usize,
19309        padding: ::std::os::raw::c_int,
19310    ) -> ::std::os::raw::c_int;
19311}
19312extern "C" {
19313    #[link_name = "aws_lc_0_46_0_RSA_public_encrypt"]
19314    pub fn RSA_public_encrypt(
19315        flen: usize,
19316        from: *const u8,
19317        to: *mut u8,
19318        rsa: *mut RSA,
19319        padding: ::std::os::raw::c_int,
19320    ) -> ::std::os::raw::c_int;
19321}
19322extern "C" {
19323    #[link_name = "aws_lc_0_46_0_RSA_private_decrypt"]
19324    pub fn RSA_private_decrypt(
19325        flen: usize,
19326        from: *const u8,
19327        to: *mut u8,
19328        rsa: *mut RSA,
19329        padding: ::std::os::raw::c_int,
19330    ) -> ::std::os::raw::c_int;
19331}
19332extern "C" {
19333    #[link_name = "aws_lc_0_46_0_RSA_sign"]
19334    pub fn RSA_sign(
19335        hash_nid: ::std::os::raw::c_int,
19336        digest: *const u8,
19337        digest_len: usize,
19338        out: *mut u8,
19339        out_len: *mut ::std::os::raw::c_uint,
19340        rsa: *mut RSA,
19341    ) -> ::std::os::raw::c_int;
19342}
19343extern "C" {
19344    #[link_name = "aws_lc_0_46_0_RSA_sign_pss_mgf1"]
19345    pub fn RSA_sign_pss_mgf1(
19346        rsa: *mut RSA,
19347        out_len: *mut usize,
19348        out: *mut u8,
19349        max_out: usize,
19350        digest: *const u8,
19351        digest_len: usize,
19352        md: *const EVP_MD,
19353        mgf1_md: *const EVP_MD,
19354        salt_len: ::std::os::raw::c_int,
19355    ) -> ::std::os::raw::c_int;
19356}
19357extern "C" {
19358    #[link_name = "aws_lc_0_46_0_RSA_sign_raw"]
19359    pub fn RSA_sign_raw(
19360        rsa: *mut RSA,
19361        out_len: *mut usize,
19362        out: *mut u8,
19363        max_out: usize,
19364        in_: *const u8,
19365        in_len: usize,
19366        padding: ::std::os::raw::c_int,
19367    ) -> ::std::os::raw::c_int;
19368}
19369extern "C" {
19370    #[link_name = "aws_lc_0_46_0_RSA_verify"]
19371    pub fn RSA_verify(
19372        hash_nid: ::std::os::raw::c_int,
19373        digest: *const u8,
19374        digest_len: usize,
19375        sig: *const u8,
19376        sig_len: usize,
19377        rsa: *mut RSA,
19378    ) -> ::std::os::raw::c_int;
19379}
19380extern "C" {
19381    #[link_name = "aws_lc_0_46_0_RSA_verify_pss_mgf1"]
19382    pub fn RSA_verify_pss_mgf1(
19383        rsa: *mut RSA,
19384        digest: *const u8,
19385        digest_len: usize,
19386        md: *const EVP_MD,
19387        mgf1_md: *const EVP_MD,
19388        salt_len: ::std::os::raw::c_int,
19389        sig: *const u8,
19390        sig_len: usize,
19391    ) -> ::std::os::raw::c_int;
19392}
19393extern "C" {
19394    #[link_name = "aws_lc_0_46_0_RSA_verify_raw"]
19395    pub fn RSA_verify_raw(
19396        rsa: *mut RSA,
19397        out_len: *mut usize,
19398        out: *mut u8,
19399        max_out: usize,
19400        in_: *const u8,
19401        in_len: usize,
19402        padding: ::std::os::raw::c_int,
19403    ) -> ::std::os::raw::c_int;
19404}
19405extern "C" {
19406    #[link_name = "aws_lc_0_46_0_RSA_private_encrypt"]
19407    pub fn RSA_private_encrypt(
19408        flen: usize,
19409        from: *const u8,
19410        to: *mut u8,
19411        rsa: *mut RSA,
19412        padding: ::std::os::raw::c_int,
19413    ) -> ::std::os::raw::c_int;
19414}
19415extern "C" {
19416    #[link_name = "aws_lc_0_46_0_RSA_public_decrypt"]
19417    pub fn RSA_public_decrypt(
19418        flen: usize,
19419        from: *const u8,
19420        to: *mut u8,
19421        rsa: *mut RSA,
19422        padding: ::std::os::raw::c_int,
19423    ) -> ::std::os::raw::c_int;
19424}
19425extern "C" {
19426    #[link_name = "aws_lc_0_46_0_RSA_size"]
19427    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
19428}
19429extern "C" {
19430    #[link_name = "aws_lc_0_46_0_RSA_is_opaque"]
19431    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
19432}
19433extern "C" {
19434    #[link_name = "aws_lc_0_46_0_RSAPublicKey_dup"]
19435    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
19436}
19437extern "C" {
19438    #[link_name = "aws_lc_0_46_0_RSAPrivateKey_dup"]
19439    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
19440}
19441extern "C" {
19442    #[link_name = "aws_lc_0_46_0_RSA_check_key"]
19443    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
19444}
19445extern "C" {
19446    #[link_name = "aws_lc_0_46_0_RSA_check_fips"]
19447    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
19448}
19449extern "C" {
19450    #[link_name = "aws_lc_0_46_0_RSA_verify_PKCS1_PSS_mgf1"]
19451    pub fn RSA_verify_PKCS1_PSS_mgf1(
19452        rsa: *const RSA,
19453        mHash: *const u8,
19454        Hash: *const EVP_MD,
19455        mgf1Hash: *const EVP_MD,
19456        EM: *const u8,
19457        sLen: ::std::os::raw::c_int,
19458    ) -> ::std::os::raw::c_int;
19459}
19460extern "C" {
19461    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_PSS_mgf1"]
19462    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
19463        rsa: *const RSA,
19464        EM: *mut u8,
19465        mHash: *const u8,
19466        Hash: *const EVP_MD,
19467        mgf1Hash: *const EVP_MD,
19468        sLen: ::std::os::raw::c_int,
19469    ) -> ::std::os::raw::c_int;
19470}
19471extern "C" {
19472    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
19473    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
19474        to: *mut u8,
19475        to_len: usize,
19476        from: *const u8,
19477        from_len: usize,
19478        param: *const u8,
19479        param_len: usize,
19480        md: *const EVP_MD,
19481        mgf1md: *const EVP_MD,
19482    ) -> ::std::os::raw::c_int;
19483}
19484extern "C" {
19485    #[link_name = "aws_lc_0_46_0_PKCS1_MGF1"]
19486    pub fn PKCS1_MGF1(
19487        out: *mut u8,
19488        len: usize,
19489        seed: *const u8,
19490        seed_len: usize,
19491        md: *const EVP_MD,
19492    ) -> ::std::os::raw::c_int;
19493}
19494extern "C" {
19495    #[link_name = "aws_lc_0_46_0_RSA_add_pkcs1_prefix"]
19496    pub fn RSA_add_pkcs1_prefix(
19497        out_msg: *mut *mut u8,
19498        out_msg_len: *mut usize,
19499        is_alloced: *mut ::std::os::raw::c_int,
19500        hash_nid: ::std::os::raw::c_int,
19501        digest: *const u8,
19502        digest_len: usize,
19503    ) -> ::std::os::raw::c_int;
19504}
19505extern "C" {
19506    #[link_name = "aws_lc_0_46_0_RSA_parse_public_key"]
19507    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
19508}
19509extern "C" {
19510    #[link_name = "aws_lc_0_46_0_RSA_public_key_from_bytes"]
19511    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
19512}
19513extern "C" {
19514    #[link_name = "aws_lc_0_46_0_RSA_marshal_public_key"]
19515    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
19516}
19517extern "C" {
19518    #[link_name = "aws_lc_0_46_0_RSA_public_key_to_bytes"]
19519    pub fn RSA_public_key_to_bytes(
19520        out_bytes: *mut *mut u8,
19521        out_len: *mut usize,
19522        rsa: *const RSA,
19523    ) -> ::std::os::raw::c_int;
19524}
19525extern "C" {
19526    #[link_name = "aws_lc_0_46_0_RSA_parse_private_key"]
19527    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
19528}
19529extern "C" {
19530    #[link_name = "aws_lc_0_46_0_RSA_private_key_from_bytes"]
19531    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
19532}
19533extern "C" {
19534    #[link_name = "aws_lc_0_46_0_RSA_marshal_private_key"]
19535    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
19536}
19537extern "C" {
19538    #[link_name = "aws_lc_0_46_0_RSA_private_key_to_bytes"]
19539    pub fn RSA_private_key_to_bytes(
19540        out_bytes: *mut *mut u8,
19541        out_len: *mut usize,
19542        rsa: *const RSA,
19543    ) -> ::std::os::raw::c_int;
19544}
19545extern "C" {
19546    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_no_crt"]
19547    pub fn RSA_new_private_key_no_crt(
19548        n: *const BIGNUM,
19549        e: *const BIGNUM,
19550        d: *const BIGNUM,
19551    ) -> *mut RSA;
19552}
19553extern "C" {
19554    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_no_e"]
19555    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
19556}
19557extern "C" {
19558    #[link_name = "aws_lc_0_46_0_RSA_new_public_key_large_e"]
19559    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19560}
19561extern "C" {
19562    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_large_e"]
19563    pub fn RSA_new_private_key_large_e(
19564        n: *const BIGNUM,
19565        e: *const BIGNUM,
19566        d: *const BIGNUM,
19567        p: *const BIGNUM,
19568        q: *const BIGNUM,
19569        dmp1: *const BIGNUM,
19570        dmq1: *const BIGNUM,
19571        iqmp: *const BIGNUM,
19572    ) -> *mut RSA;
19573}
19574extern "C" {
19575    #[link_name = "aws_lc_0_46_0_RSA_get_ex_new_index"]
19576    pub fn RSA_get_ex_new_index(
19577        argl: ::std::os::raw::c_long,
19578        argp: *mut ::std::os::raw::c_void,
19579        unused: *mut CRYPTO_EX_unused,
19580        dup_unused: CRYPTO_EX_dup,
19581        free_func: CRYPTO_EX_free,
19582    ) -> ::std::os::raw::c_int;
19583}
19584extern "C" {
19585    #[link_name = "aws_lc_0_46_0_RSA_set_ex_data"]
19586    pub fn RSA_set_ex_data(
19587        rsa: *mut RSA,
19588        idx: ::std::os::raw::c_int,
19589        arg: *mut ::std::os::raw::c_void,
19590    ) -> ::std::os::raw::c_int;
19591}
19592extern "C" {
19593    #[link_name = "aws_lc_0_46_0_RSA_get_ex_data"]
19594    pub fn RSA_get_ex_data(
19595        rsa: *const RSA,
19596        idx: ::std::os::raw::c_int,
19597    ) -> *mut ::std::os::raw::c_void;
19598}
19599extern "C" {
19600    #[link_name = "aws_lc_0_46_0_RSA_flags"]
19601    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
19602}
19603extern "C" {
19604    #[link_name = "aws_lc_0_46_0_RSA_set_flags"]
19605    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
19606}
19607extern "C" {
19608    #[link_name = "aws_lc_0_46_0_RSA_test_flags"]
19609    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19610}
19611extern "C" {
19612    #[link_name = "aws_lc_0_46_0_RSA_blinding_on"]
19613    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
19614}
19615extern "C" {
19616    #[link_name = "aws_lc_0_46_0_RSA_blinding_off_temp_for_accp_compatibility"]
19617    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
19618}
19619extern "C" {
19620    #[link_name = "aws_lc_0_46_0_RSA_pkey_ctx_ctrl"]
19621    pub fn RSA_pkey_ctx_ctrl(
19622        ctx: *mut EVP_PKEY_CTX,
19623        optype: ::std::os::raw::c_int,
19624        cmd: ::std::os::raw::c_int,
19625        p1: ::std::os::raw::c_int,
19626        p2: *mut ::std::os::raw::c_void,
19627    ) -> ::std::os::raw::c_int;
19628}
19629extern "C" {
19630    #[link_name = "aws_lc_0_46_0_RSA_generate_key"]
19631    pub fn RSA_generate_key(
19632        bits: ::std::os::raw::c_int,
19633        e: u64,
19634        callback: *mut ::std::os::raw::c_void,
19635        cb_arg: *mut ::std::os::raw::c_void,
19636    ) -> *mut RSA;
19637}
19638extern "C" {
19639    #[link_name = "aws_lc_0_46_0_d2i_RSAPublicKey"]
19640    pub fn d2i_RSAPublicKey(
19641        out: *mut *mut RSA,
19642        inp: *mut *const u8,
19643        len: ::std::os::raw::c_long,
19644    ) -> *mut RSA;
19645}
19646extern "C" {
19647    #[link_name = "aws_lc_0_46_0_i2d_RSAPublicKey"]
19648    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19649}
19650extern "C" {
19651    #[link_name = "aws_lc_0_46_0_d2i_RSAPrivateKey"]
19652    pub fn d2i_RSAPrivateKey(
19653        out: *mut *mut RSA,
19654        inp: *mut *const u8,
19655        len: ::std::os::raw::c_long,
19656    ) -> *mut RSA;
19657}
19658extern "C" {
19659    #[link_name = "aws_lc_0_46_0_i2d_RSAPrivateKey"]
19660    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19661}
19662extern "C" {
19663    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_PSS"]
19664    pub fn RSA_padding_add_PKCS1_PSS(
19665        rsa: *const RSA,
19666        EM: *mut u8,
19667        mHash: *const u8,
19668        Hash: *const EVP_MD,
19669        sLen: ::std::os::raw::c_int,
19670    ) -> ::std::os::raw::c_int;
19671}
19672extern "C" {
19673    #[link_name = "aws_lc_0_46_0_RSA_verify_PKCS1_PSS"]
19674    pub fn RSA_verify_PKCS1_PSS(
19675        rsa: *const RSA,
19676        mHash: *const u8,
19677        Hash: *const EVP_MD,
19678        EM: *const u8,
19679        sLen: ::std::os::raw::c_int,
19680    ) -> ::std::os::raw::c_int;
19681}
19682extern "C" {
19683    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_OAEP"]
19684    pub fn RSA_padding_add_PKCS1_OAEP(
19685        to: *mut u8,
19686        to_len: usize,
19687        from: *const u8,
19688        from_len: usize,
19689        param: *const u8,
19690        param_len: usize,
19691    ) -> ::std::os::raw::c_int;
19692}
19693extern "C" {
19694    #[link_name = "aws_lc_0_46_0_RSA_print"]
19695    pub fn RSA_print(
19696        bio: *mut BIO,
19697        rsa: *const RSA,
19698        indent: ::std::os::raw::c_int,
19699    ) -> ::std::os::raw::c_int;
19700}
19701extern "C" {
19702    #[link_name = "aws_lc_0_46_0_RSA_print_fp"]
19703    pub fn RSA_print_fp(
19704        fp: *mut FILE,
19705        rsa: *const RSA,
19706        indent: ::std::os::raw::c_int,
19707    ) -> ::std::os::raw::c_int;
19708}
19709extern "C" {
19710    #[link_name = "aws_lc_0_46_0_RSA_get0_pss_params"]
19711    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
19712}
19713extern "C" {
19714    #[link_name = "aws_lc_0_46_0_RSA_new_method_no_e"]
19715    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
19716}
19717pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
19718pub type sk_X509_copy_func =
19719    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
19720pub type sk_X509_cmp_func = ::std::option::Option<
19721    unsafe extern "C" fn(
19722        arg1: *const *const X509,
19723        arg2: *const *const X509,
19724    ) -> ::std::os::raw::c_int,
19725>;
19726pub type sk_X509_delete_if_func = ::std::option::Option<
19727    unsafe extern "C" fn(
19728        arg1: *mut X509,
19729        arg2: *mut ::std::os::raw::c_void,
19730    ) -> ::std::os::raw::c_int,
19731>;
19732extern "C" {
19733    #[link_name = "aws_lc_0_46_0_X509_it"]
19734    pub static X509_it: ASN1_ITEM;
19735}
19736extern "C" {
19737    #[link_name = "aws_lc_0_46_0_X509_up_ref"]
19738    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
19739}
19740extern "C" {
19741    #[link_name = "aws_lc_0_46_0_X509_chain_up_ref"]
19742    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
19743}
19744extern "C" {
19745    #[link_name = "aws_lc_0_46_0_X509_dup"]
19746    pub fn X509_dup(x509: *mut X509) -> *mut X509;
19747}
19748extern "C" {
19749    #[link_name = "aws_lc_0_46_0_X509_free"]
19750    pub fn X509_free(x509: *mut X509);
19751}
19752extern "C" {
19753    #[link_name = "aws_lc_0_46_0_d2i_X509"]
19754    pub fn d2i_X509(
19755        out: *mut *mut X509,
19756        inp: *mut *const u8,
19757        len: ::std::os::raw::c_long,
19758    ) -> *mut X509;
19759}
19760extern "C" {
19761    #[link_name = "aws_lc_0_46_0_X509_parse_from_buffer"]
19762    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
19763}
19764extern "C" {
19765    #[link_name = "aws_lc_0_46_0_i2d_X509"]
19766    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19767}
19768extern "C" {
19769    #[link_name = "aws_lc_0_46_0_X509_get_version"]
19770    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
19771}
19772extern "C" {
19773    #[link_name = "aws_lc_0_46_0_X509_get0_serialNumber"]
19774    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
19775}
19776extern "C" {
19777    #[link_name = "aws_lc_0_46_0_X509_get0_notBefore"]
19778    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
19779}
19780extern "C" {
19781    #[link_name = "aws_lc_0_46_0_X509_get0_notAfter"]
19782    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
19783}
19784extern "C" {
19785    #[link_name = "aws_lc_0_46_0_X509_get_issuer_name"]
19786    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
19787}
19788extern "C" {
19789    #[link_name = "aws_lc_0_46_0_X509_get_subject_name"]
19790    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
19791}
19792extern "C" {
19793    #[link_name = "aws_lc_0_46_0_X509_get_X509_PUBKEY"]
19794    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
19795}
19796extern "C" {
19797    #[link_name = "aws_lc_0_46_0_X509_get0_pubkey"]
19798    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19799}
19800extern "C" {
19801    #[link_name = "aws_lc_0_46_0_X509_get_pubkey"]
19802    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19803}
19804extern "C" {
19805    #[link_name = "aws_lc_0_46_0_X509_get0_pubkey_bitstr"]
19806    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
19807}
19808extern "C" {
19809    #[link_name = "aws_lc_0_46_0_X509_check_private_key"]
19810    pub fn X509_check_private_key(
19811        x509: *const X509,
19812        pkey: *const EVP_PKEY,
19813    ) -> ::std::os::raw::c_int;
19814}
19815extern "C" {
19816    #[link_name = "aws_lc_0_46_0_X509_get0_uids"]
19817    pub fn X509_get0_uids(
19818        x509: *const X509,
19819        out_issuer_uid: *mut *const ASN1_BIT_STRING,
19820        out_subject_uid: *mut *const ASN1_BIT_STRING,
19821    );
19822}
19823extern "C" {
19824    #[link_name = "aws_lc_0_46_0_X509_get_extension_flags"]
19825    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
19826}
19827extern "C" {
19828    #[link_name = "aws_lc_0_46_0_X509_get_pathlen"]
19829    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
19830}
19831extern "C" {
19832    #[link_name = "aws_lc_0_46_0_X509_get_key_usage"]
19833    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
19834}
19835extern "C" {
19836    #[link_name = "aws_lc_0_46_0_X509_get_extended_key_usage"]
19837    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
19838}
19839extern "C" {
19840    #[link_name = "aws_lc_0_46_0_X509_get0_subject_key_id"]
19841    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19842}
19843extern "C" {
19844    #[link_name = "aws_lc_0_46_0_X509_get0_authority_key_id"]
19845    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19846}
19847#[repr(C)]
19848#[derive(Debug)]
19849pub struct stack_st_GENERAL_NAME {
19850    _unused: [u8; 0],
19851}
19852pub type sk_GENERAL_NAME_free_func =
19853    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
19854pub type sk_GENERAL_NAME_copy_func =
19855    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
19856pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
19857    unsafe extern "C" fn(
19858        arg1: *const *const GENERAL_NAME,
19859        arg2: *const *const GENERAL_NAME,
19860    ) -> ::std::os::raw::c_int,
19861>;
19862pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
19863    unsafe extern "C" fn(
19864        arg1: *mut GENERAL_NAME,
19865        arg2: *mut ::std::os::raw::c_void,
19866    ) -> ::std::os::raw::c_int,
19867>;
19868pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
19869extern "C" {
19870    #[link_name = "aws_lc_0_46_0_X509_get0_authority_issuer"]
19871    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
19872}
19873extern "C" {
19874    #[link_name = "aws_lc_0_46_0_X509_get0_authority_serial"]
19875    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
19876}
19877#[repr(C)]
19878#[derive(Debug)]
19879pub struct stack_st_X509_EXTENSION {
19880    _unused: [u8; 0],
19881}
19882extern "C" {
19883    #[link_name = "aws_lc_0_46_0_X509_get0_extensions"]
19884    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
19885}
19886extern "C" {
19887    #[link_name = "aws_lc_0_46_0_X509_get_ext_count"]
19888    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
19889}
19890extern "C" {
19891    #[link_name = "aws_lc_0_46_0_X509_get_ext_by_NID"]
19892    pub fn X509_get_ext_by_NID(
19893        x: *const X509,
19894        nid: ::std::os::raw::c_int,
19895        lastpos: ::std::os::raw::c_int,
19896    ) -> ::std::os::raw::c_int;
19897}
19898extern "C" {
19899    #[link_name = "aws_lc_0_46_0_X509_get_ext_by_OBJ"]
19900    pub fn X509_get_ext_by_OBJ(
19901        x: *const X509,
19902        obj: *const ASN1_OBJECT,
19903        lastpos: ::std::os::raw::c_int,
19904    ) -> ::std::os::raw::c_int;
19905}
19906extern "C" {
19907    #[link_name = "aws_lc_0_46_0_X509_get_ext_by_critical"]
19908    pub fn X509_get_ext_by_critical(
19909        x: *const X509,
19910        crit: ::std::os::raw::c_int,
19911        lastpos: ::std::os::raw::c_int,
19912    ) -> ::std::os::raw::c_int;
19913}
19914extern "C" {
19915    #[link_name = "aws_lc_0_46_0_X509_get_ext"]
19916    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19917}
19918extern "C" {
19919    #[link_name = "aws_lc_0_46_0_X509_get_ext_d2i"]
19920    pub fn X509_get_ext_d2i(
19921        x509: *const X509,
19922        nid: ::std::os::raw::c_int,
19923        out_critical: *mut ::std::os::raw::c_int,
19924        out_idx: *mut ::std::os::raw::c_int,
19925    ) -> *mut ::std::os::raw::c_void;
19926}
19927extern "C" {
19928    #[link_name = "aws_lc_0_46_0_X509_get0_tbs_sigalg"]
19929    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
19930}
19931extern "C" {
19932    #[link_name = "aws_lc_0_46_0_X509_get_signature_info"]
19933    pub fn X509_get_signature_info(
19934        x509: *mut X509,
19935        digest_nid: *mut ::std::os::raw::c_int,
19936        pubkey_nid: *mut ::std::os::raw::c_int,
19937        sec_bits: *mut ::std::os::raw::c_int,
19938        flags: *mut u32,
19939    ) -> ::std::os::raw::c_int;
19940}
19941extern "C" {
19942    #[link_name = "aws_lc_0_46_0_X509_get0_signature"]
19943    pub fn X509_get0_signature(
19944        out_sig: *mut *const ASN1_BIT_STRING,
19945        out_alg: *mut *const X509_ALGOR,
19946        x509: *const X509,
19947    );
19948}
19949extern "C" {
19950    #[link_name = "aws_lc_0_46_0_X509_get_signature_nid"]
19951    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
19952}
19953extern "C" {
19954    #[link_name = "aws_lc_0_46_0_i2d_X509_tbs"]
19955    pub fn i2d_X509_tbs(
19956        x509: *mut X509,
19957        outp: *mut *mut ::std::os::raw::c_uchar,
19958    ) -> ::std::os::raw::c_int;
19959}
19960extern "C" {
19961    #[link_name = "aws_lc_0_46_0_X509_verify"]
19962    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19963}
19964extern "C" {
19965    #[link_name = "aws_lc_0_46_0_X509_get1_email"]
19966    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19967}
19968extern "C" {
19969    #[link_name = "aws_lc_0_46_0_X509_get1_ocsp"]
19970    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19971}
19972extern "C" {
19973    #[link_name = "aws_lc_0_46_0_X509_email_free"]
19974    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
19975}
19976extern "C" {
19977    #[link_name = "aws_lc_0_46_0_X509_cmp"]
19978    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
19979}
19980extern "C" {
19981    #[link_name = "aws_lc_0_46_0_X509_new"]
19982    pub fn X509_new() -> *mut X509;
19983}
19984extern "C" {
19985    #[link_name = "aws_lc_0_46_0_X509_set_version"]
19986    pub fn X509_set_version(
19987        x509: *mut X509,
19988        version: ::std::os::raw::c_long,
19989    ) -> ::std::os::raw::c_int;
19990}
19991extern "C" {
19992    #[link_name = "aws_lc_0_46_0_X509_set_serialNumber"]
19993    pub fn X509_set_serialNumber(
19994        x509: *mut X509,
19995        serial: *const ASN1_INTEGER,
19996    ) -> ::std::os::raw::c_int;
19997}
19998extern "C" {
19999    #[link_name = "aws_lc_0_46_0_X509_set1_notBefore"]
20000    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20001}
20002extern "C" {
20003    #[link_name = "aws_lc_0_46_0_X509_set1_notAfter"]
20004    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20005}
20006extern "C" {
20007    #[link_name = "aws_lc_0_46_0_X509_getm_notBefore"]
20008    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
20009}
20010extern "C" {
20011    #[link_name = "aws_lc_0_46_0_X509_getm_notAfter"]
20012    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
20013}
20014extern "C" {
20015    #[link_name = "aws_lc_0_46_0_X509_set_issuer_name"]
20016    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20017}
20018extern "C" {
20019    #[link_name = "aws_lc_0_46_0_X509_set_subject_name"]
20020    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20021}
20022extern "C" {
20023    #[link_name = "aws_lc_0_46_0_X509_set_pubkey"]
20024    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20025}
20026extern "C" {
20027    #[link_name = "aws_lc_0_46_0_X509_delete_ext"]
20028    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20029}
20030extern "C" {
20031    #[link_name = "aws_lc_0_46_0_X509_add_ext"]
20032    pub fn X509_add_ext(
20033        x: *mut X509,
20034        ex: *const X509_EXTENSION,
20035        loc: ::std::os::raw::c_int,
20036    ) -> ::std::os::raw::c_int;
20037}
20038extern "C" {
20039    #[link_name = "aws_lc_0_46_0_X509_add1_ext_i2d"]
20040    pub fn X509_add1_ext_i2d(
20041        x: *mut X509,
20042        nid: ::std::os::raw::c_int,
20043        value: *mut ::std::os::raw::c_void,
20044        crit: ::std::os::raw::c_int,
20045        flags: ::std::os::raw::c_ulong,
20046    ) -> ::std::os::raw::c_int;
20047}
20048extern "C" {
20049    #[link_name = "aws_lc_0_46_0_X509_sign"]
20050    pub fn X509_sign(
20051        x509: *mut X509,
20052        pkey: *mut EVP_PKEY,
20053        md: *const EVP_MD,
20054    ) -> ::std::os::raw::c_int;
20055}
20056extern "C" {
20057    #[link_name = "aws_lc_0_46_0_X509_sign_ctx"]
20058    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20059}
20060extern "C" {
20061    #[link_name = "aws_lc_0_46_0_i2d_re_X509_tbs"]
20062    pub fn i2d_re_X509_tbs(
20063        x509: *mut X509,
20064        outp: *mut *mut ::std::os::raw::c_uchar,
20065    ) -> ::std::os::raw::c_int;
20066}
20067extern "C" {
20068    #[link_name = "aws_lc_0_46_0_X509_set1_signature_algo"]
20069    pub fn X509_set1_signature_algo(
20070        x509: *mut X509,
20071        algo: *const X509_ALGOR,
20072    ) -> ::std::os::raw::c_int;
20073}
20074extern "C" {
20075    #[link_name = "aws_lc_0_46_0_X509_set1_signature_value"]
20076    pub fn X509_set1_signature_value(
20077        x509: *mut X509,
20078        sig: *const u8,
20079        sig_len: usize,
20080    ) -> ::std::os::raw::c_int;
20081}
20082extern "C" {
20083    #[link_name = "aws_lc_0_46_0_i2d_X509_AUX"]
20084    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20085}
20086extern "C" {
20087    #[link_name = "aws_lc_0_46_0_d2i_X509_AUX"]
20088    pub fn d2i_X509_AUX(
20089        x509: *mut *mut X509,
20090        inp: *mut *const u8,
20091        length: ::std::os::raw::c_long,
20092    ) -> *mut X509;
20093}
20094extern "C" {
20095    #[link_name = "aws_lc_0_46_0_X509_alias_set1"]
20096    pub fn X509_alias_set1(
20097        x509: *mut X509,
20098        name: *const u8,
20099        len: ossl_ssize_t,
20100    ) -> ::std::os::raw::c_int;
20101}
20102extern "C" {
20103    #[link_name = "aws_lc_0_46_0_X509_keyid_set1"]
20104    pub fn X509_keyid_set1(
20105        x509: *mut X509,
20106        id: *const u8,
20107        len: ossl_ssize_t,
20108    ) -> ::std::os::raw::c_int;
20109}
20110extern "C" {
20111    #[link_name = "aws_lc_0_46_0_X509_alias_get0"]
20112    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20113}
20114extern "C" {
20115    #[link_name = "aws_lc_0_46_0_X509_keyid_get0"]
20116    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20117}
20118extern "C" {
20119    #[link_name = "aws_lc_0_46_0_X509_add1_trust_object"]
20120    pub fn X509_add1_trust_object(
20121        x509: *mut X509,
20122        obj: *const ASN1_OBJECT,
20123    ) -> ::std::os::raw::c_int;
20124}
20125extern "C" {
20126    #[link_name = "aws_lc_0_46_0_X509_add1_reject_object"]
20127    pub fn X509_add1_reject_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_46_0_X509_trust_clear"]
20134    pub fn X509_trust_clear(x509: *mut X509);
20135}
20136extern "C" {
20137    #[link_name = "aws_lc_0_46_0_X509_reject_clear"]
20138    pub fn X509_reject_clear(x509: *mut X509);
20139}
20140pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
20141pub type sk_X509_CRL_copy_func =
20142    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
20143pub type sk_X509_CRL_cmp_func = ::std::option::Option<
20144    unsafe extern "C" fn(
20145        arg1: *const *const X509_CRL,
20146        arg2: *const *const X509_CRL,
20147    ) -> ::std::os::raw::c_int,
20148>;
20149pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
20150    unsafe extern "C" fn(
20151        arg1: *mut X509_CRL,
20152        arg2: *mut ::std::os::raw::c_void,
20153    ) -> ::std::os::raw::c_int,
20154>;
20155#[repr(C)]
20156#[derive(Debug)]
20157pub struct stack_st_X509_REVOKED {
20158    _unused: [u8; 0],
20159}
20160pub type sk_X509_REVOKED_free_func =
20161    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
20162pub type sk_X509_REVOKED_copy_func =
20163    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
20164pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
20165    unsafe extern "C" fn(
20166        arg1: *const *const X509_REVOKED,
20167        arg2: *const *const X509_REVOKED,
20168    ) -> ::std::os::raw::c_int,
20169>;
20170pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
20171    unsafe extern "C" fn(
20172        arg1: *mut X509_REVOKED,
20173        arg2: *mut ::std::os::raw::c_void,
20174    ) -> ::std::os::raw::c_int,
20175>;
20176extern "C" {
20177    #[link_name = "aws_lc_0_46_0_X509_CRL_it"]
20178    pub static X509_CRL_it: ASN1_ITEM;
20179}
20180extern "C" {
20181    #[link_name = "aws_lc_0_46_0_X509_CRL_up_ref"]
20182    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20183}
20184extern "C" {
20185    #[link_name = "aws_lc_0_46_0_X509_CRL_dup"]
20186    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
20187}
20188extern "C" {
20189    #[link_name = "aws_lc_0_46_0_X509_CRL_free"]
20190    pub fn X509_CRL_free(crl: *mut X509_CRL);
20191}
20192extern "C" {
20193    #[link_name = "aws_lc_0_46_0_d2i_X509_CRL"]
20194    pub fn d2i_X509_CRL(
20195        out: *mut *mut X509_CRL,
20196        inp: *mut *const u8,
20197        len: ::std::os::raw::c_long,
20198    ) -> *mut X509_CRL;
20199}
20200extern "C" {
20201    #[link_name = "aws_lc_0_46_0_i2d_X509_CRL"]
20202    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20203}
20204extern "C" {
20205    #[link_name = "aws_lc_0_46_0_X509_CRL_match"]
20206    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
20207}
20208extern "C" {
20209    #[link_name = "aws_lc_0_46_0_X509_CRL_get_version"]
20210    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
20211}
20212extern "C" {
20213    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_lastUpdate"]
20214    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20215}
20216extern "C" {
20217    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_nextUpdate"]
20218    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20219}
20220extern "C" {
20221    #[link_name = "aws_lc_0_46_0_X509_CRL_get_issuer"]
20222    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
20223}
20224extern "C" {
20225    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_by_serial"]
20226    pub fn X509_CRL_get0_by_serial(
20227        crl: *mut X509_CRL,
20228        out: *mut *mut X509_REVOKED,
20229        serial: *const ASN1_INTEGER,
20230    ) -> ::std::os::raw::c_int;
20231}
20232extern "C" {
20233    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_by_cert"]
20234    pub fn X509_CRL_get0_by_cert(
20235        crl: *mut X509_CRL,
20236        out: *mut *mut X509_REVOKED,
20237        x509: *mut X509,
20238    ) -> ::std::os::raw::c_int;
20239}
20240extern "C" {
20241    #[link_name = "aws_lc_0_46_0_X509_CRL_get_REVOKED"]
20242    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
20243}
20244extern "C" {
20245    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_extensions"]
20246    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
20247}
20248extern "C" {
20249    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext_count"]
20250    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
20251}
20252extern "C" {
20253    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext_by_NID"]
20254    pub fn X509_CRL_get_ext_by_NID(
20255        x: *const X509_CRL,
20256        nid: ::std::os::raw::c_int,
20257        lastpos: ::std::os::raw::c_int,
20258    ) -> ::std::os::raw::c_int;
20259}
20260extern "C" {
20261    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext_by_OBJ"]
20262    pub fn X509_CRL_get_ext_by_OBJ(
20263        x: *const X509_CRL,
20264        obj: *const ASN1_OBJECT,
20265        lastpos: ::std::os::raw::c_int,
20266    ) -> ::std::os::raw::c_int;
20267}
20268extern "C" {
20269    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext_by_critical"]
20270    pub fn X509_CRL_get_ext_by_critical(
20271        x: *const X509_CRL,
20272        crit: ::std::os::raw::c_int,
20273        lastpos: ::std::os::raw::c_int,
20274    ) -> ::std::os::raw::c_int;
20275}
20276extern "C" {
20277    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext"]
20278    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20279}
20280extern "C" {
20281    #[link_name = "aws_lc_0_46_0_X509_CRL_get_ext_d2i"]
20282    pub fn X509_CRL_get_ext_d2i(
20283        crl: *const X509_CRL,
20284        nid: ::std::os::raw::c_int,
20285        out_critical: *mut ::std::os::raw::c_int,
20286        out_idx: *mut ::std::os::raw::c_int,
20287    ) -> *mut ::std::os::raw::c_void;
20288}
20289extern "C" {
20290    #[link_name = "aws_lc_0_46_0_X509_CRL_get0_signature"]
20291    pub fn X509_CRL_get0_signature(
20292        crl: *const X509_CRL,
20293        out_sig: *mut *const ASN1_BIT_STRING,
20294        out_alg: *mut *const X509_ALGOR,
20295    );
20296}
20297extern "C" {
20298    #[link_name = "aws_lc_0_46_0_X509_CRL_get_signature_nid"]
20299    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
20300}
20301extern "C" {
20302    #[link_name = "aws_lc_0_46_0_i2d_X509_CRL_tbs"]
20303    pub fn i2d_X509_CRL_tbs(
20304        crl: *mut X509_CRL,
20305        outp: *mut *mut ::std::os::raw::c_uchar,
20306    ) -> ::std::os::raw::c_int;
20307}
20308extern "C" {
20309    #[link_name = "aws_lc_0_46_0_X509_CRL_verify"]
20310    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20311}
20312extern "C" {
20313    #[link_name = "aws_lc_0_46_0_X509_CRL_new"]
20314    pub fn X509_CRL_new() -> *mut X509_CRL;
20315}
20316extern "C" {
20317    #[link_name = "aws_lc_0_46_0_X509_CRL_set_version"]
20318    pub fn X509_CRL_set_version(
20319        crl: *mut X509_CRL,
20320        version: ::std::os::raw::c_long,
20321    ) -> ::std::os::raw::c_int;
20322}
20323extern "C" {
20324    #[link_name = "aws_lc_0_46_0_X509_CRL_set_issuer_name"]
20325    pub fn X509_CRL_set_issuer_name(
20326        crl: *mut X509_CRL,
20327        name: *mut X509_NAME,
20328    ) -> ::std::os::raw::c_int;
20329}
20330extern "C" {
20331    #[link_name = "aws_lc_0_46_0_X509_CRL_set1_lastUpdate"]
20332    pub fn X509_CRL_set1_lastUpdate(
20333        crl: *mut X509_CRL,
20334        tm: *const ASN1_TIME,
20335    ) -> ::std::os::raw::c_int;
20336}
20337extern "C" {
20338    #[link_name = "aws_lc_0_46_0_X509_CRL_set1_nextUpdate"]
20339    pub fn X509_CRL_set1_nextUpdate(
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_46_0_X509_CRL_add0_revoked"]
20346    pub fn X509_CRL_add0_revoked(
20347        crl: *mut X509_CRL,
20348        rev: *mut X509_REVOKED,
20349    ) -> ::std::os::raw::c_int;
20350}
20351extern "C" {
20352    #[link_name = "aws_lc_0_46_0_X509_CRL_sort"]
20353    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20354}
20355extern "C" {
20356    #[link_name = "aws_lc_0_46_0_X509_CRL_delete_ext"]
20357    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
20358        -> *mut X509_EXTENSION;
20359}
20360extern "C" {
20361    #[link_name = "aws_lc_0_46_0_X509_CRL_add_ext"]
20362    pub fn X509_CRL_add_ext(
20363        x: *mut X509_CRL,
20364        ex: *const X509_EXTENSION,
20365        loc: ::std::os::raw::c_int,
20366    ) -> ::std::os::raw::c_int;
20367}
20368extern "C" {
20369    #[link_name = "aws_lc_0_46_0_X509_CRL_add1_ext_i2d"]
20370    pub fn X509_CRL_add1_ext_i2d(
20371        x: *mut X509_CRL,
20372        nid: ::std::os::raw::c_int,
20373        value: *mut ::std::os::raw::c_void,
20374        crit: ::std::os::raw::c_int,
20375        flags: ::std::os::raw::c_ulong,
20376    ) -> ::std::os::raw::c_int;
20377}
20378extern "C" {
20379    #[link_name = "aws_lc_0_46_0_X509_CRL_sign"]
20380    pub fn X509_CRL_sign(
20381        crl: *mut X509_CRL,
20382        pkey: *mut EVP_PKEY,
20383        md: *const EVP_MD,
20384    ) -> ::std::os::raw::c_int;
20385}
20386extern "C" {
20387    #[link_name = "aws_lc_0_46_0_X509_CRL_sign_ctx"]
20388    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20389}
20390extern "C" {
20391    #[link_name = "aws_lc_0_46_0_i2d_re_X509_CRL_tbs"]
20392    pub fn i2d_re_X509_CRL_tbs(
20393        crl: *mut X509_CRL,
20394        outp: *mut *mut ::std::os::raw::c_uchar,
20395    ) -> ::std::os::raw::c_int;
20396}
20397extern "C" {
20398    #[link_name = "aws_lc_0_46_0_X509_CRL_set1_signature_algo"]
20399    pub fn X509_CRL_set1_signature_algo(
20400        crl: *mut X509_CRL,
20401        algo: *const X509_ALGOR,
20402    ) -> ::std::os::raw::c_int;
20403}
20404extern "C" {
20405    #[link_name = "aws_lc_0_46_0_X509_CRL_set1_signature_value"]
20406    pub fn X509_CRL_set1_signature_value(
20407        crl: *mut X509_CRL,
20408        sig: *const u8,
20409        sig_len: usize,
20410    ) -> ::std::os::raw::c_int;
20411}
20412extern "C" {
20413    #[link_name = "aws_lc_0_46_0_X509_CRL_http_nbio"]
20414    pub fn X509_CRL_http_nbio(
20415        rctx: *mut OCSP_REQ_CTX,
20416        pcrl: *mut *mut X509_CRL,
20417    ) -> ::std::os::raw::c_int;
20418}
20419extern "C" {
20420    #[link_name = "aws_lc_0_46_0_X509_REVOKED_it"]
20421    pub static X509_REVOKED_it: ASN1_ITEM;
20422}
20423extern "C" {
20424    #[link_name = "aws_lc_0_46_0_X509_REVOKED_new"]
20425    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
20426}
20427extern "C" {
20428    #[link_name = "aws_lc_0_46_0_X509_REVOKED_free"]
20429    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
20430}
20431extern "C" {
20432    #[link_name = "aws_lc_0_46_0_d2i_X509_REVOKED"]
20433    pub fn d2i_X509_REVOKED(
20434        out: *mut *mut X509_REVOKED,
20435        inp: *mut *const u8,
20436        len: ::std::os::raw::c_long,
20437    ) -> *mut X509_REVOKED;
20438}
20439extern "C" {
20440    #[link_name = "aws_lc_0_46_0_i2d_X509_REVOKED"]
20441    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20442}
20443extern "C" {
20444    #[link_name = "aws_lc_0_46_0_X509_REVOKED_dup"]
20445    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
20446}
20447extern "C" {
20448    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get0_serialNumber"]
20449    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
20450}
20451extern "C" {
20452    #[link_name = "aws_lc_0_46_0_X509_REVOKED_set_serialNumber"]
20453    pub fn X509_REVOKED_set_serialNumber(
20454        revoked: *mut X509_REVOKED,
20455        serial: *const ASN1_INTEGER,
20456    ) -> ::std::os::raw::c_int;
20457}
20458extern "C" {
20459    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get0_revocationDate"]
20460    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
20461}
20462extern "C" {
20463    #[link_name = "aws_lc_0_46_0_X509_REVOKED_set_revocationDate"]
20464    pub fn X509_REVOKED_set_revocationDate(
20465        revoked: *mut X509_REVOKED,
20466        tm: *const ASN1_TIME,
20467    ) -> ::std::os::raw::c_int;
20468}
20469extern "C" {
20470    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get0_extensions"]
20471    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
20472}
20473extern "C" {
20474    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext_count"]
20475    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
20476}
20477extern "C" {
20478    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext_by_NID"]
20479    pub fn X509_REVOKED_get_ext_by_NID(
20480        x: *const X509_REVOKED,
20481        nid: ::std::os::raw::c_int,
20482        lastpos: ::std::os::raw::c_int,
20483    ) -> ::std::os::raw::c_int;
20484}
20485extern "C" {
20486    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext_by_OBJ"]
20487    pub fn X509_REVOKED_get_ext_by_OBJ(
20488        x: *const X509_REVOKED,
20489        obj: *const ASN1_OBJECT,
20490        lastpos: ::std::os::raw::c_int,
20491    ) -> ::std::os::raw::c_int;
20492}
20493extern "C" {
20494    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext_by_critical"]
20495    pub fn X509_REVOKED_get_ext_by_critical(
20496        x: *const X509_REVOKED,
20497        crit: ::std::os::raw::c_int,
20498        lastpos: ::std::os::raw::c_int,
20499    ) -> ::std::os::raw::c_int;
20500}
20501extern "C" {
20502    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext"]
20503    pub fn X509_REVOKED_get_ext(
20504        x: *const X509_REVOKED,
20505        loc: ::std::os::raw::c_int,
20506    ) -> *mut X509_EXTENSION;
20507}
20508extern "C" {
20509    #[link_name = "aws_lc_0_46_0_X509_REVOKED_delete_ext"]
20510    pub fn X509_REVOKED_delete_ext(
20511        x: *mut X509_REVOKED,
20512        loc: ::std::os::raw::c_int,
20513    ) -> *mut X509_EXTENSION;
20514}
20515extern "C" {
20516    #[link_name = "aws_lc_0_46_0_X509_REVOKED_add_ext"]
20517    pub fn X509_REVOKED_add_ext(
20518        x: *mut X509_REVOKED,
20519        ex: *const X509_EXTENSION,
20520        loc: ::std::os::raw::c_int,
20521    ) -> ::std::os::raw::c_int;
20522}
20523extern "C" {
20524    #[link_name = "aws_lc_0_46_0_X509_REVOKED_get_ext_d2i"]
20525    pub fn X509_REVOKED_get_ext_d2i(
20526        revoked: *const X509_REVOKED,
20527        nid: ::std::os::raw::c_int,
20528        out_critical: *mut ::std::os::raw::c_int,
20529        out_idx: *mut ::std::os::raw::c_int,
20530    ) -> *mut ::std::os::raw::c_void;
20531}
20532extern "C" {
20533    #[link_name = "aws_lc_0_46_0_X509_REVOKED_add1_ext_i2d"]
20534    pub fn X509_REVOKED_add1_ext_i2d(
20535        x: *mut X509_REVOKED,
20536        nid: ::std::os::raw::c_int,
20537        value: *mut ::std::os::raw::c_void,
20538        crit: ::std::os::raw::c_int,
20539        flags: ::std::os::raw::c_ulong,
20540    ) -> ::std::os::raw::c_int;
20541}
20542extern "C" {
20543    #[link_name = "aws_lc_0_46_0_X509_REQ_it"]
20544    pub static X509_REQ_it: ASN1_ITEM;
20545}
20546extern "C" {
20547    #[link_name = "aws_lc_0_46_0_X509_REQ_dup"]
20548    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
20549}
20550extern "C" {
20551    #[link_name = "aws_lc_0_46_0_X509_REQ_free"]
20552    pub fn X509_REQ_free(req: *mut X509_REQ);
20553}
20554extern "C" {
20555    #[link_name = "aws_lc_0_46_0_d2i_X509_REQ"]
20556    pub fn d2i_X509_REQ(
20557        out: *mut *mut X509_REQ,
20558        inp: *mut *const u8,
20559        len: ::std::os::raw::c_long,
20560    ) -> *mut X509_REQ;
20561}
20562extern "C" {
20563    #[link_name = "aws_lc_0_46_0_i2d_X509_REQ"]
20564    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20565}
20566extern "C" {
20567    #[link_name = "aws_lc_0_46_0_X509_REQ_get_version"]
20568    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
20569}
20570extern "C" {
20571    #[link_name = "aws_lc_0_46_0_X509_REQ_get_subject_name"]
20572    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
20573}
20574extern "C" {
20575    #[link_name = "aws_lc_0_46_0_X509_REQ_get0_pubkey"]
20576    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20577}
20578extern "C" {
20579    #[link_name = "aws_lc_0_46_0_X509_REQ_get_pubkey"]
20580    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20581}
20582extern "C" {
20583    #[link_name = "aws_lc_0_46_0_X509_REQ_check_private_key"]
20584    pub fn X509_REQ_check_private_key(
20585        req: *const X509_REQ,
20586        pkey: *const EVP_PKEY,
20587    ) -> ::std::os::raw::c_int;
20588}
20589extern "C" {
20590    #[link_name = "aws_lc_0_46_0_X509_REQ_get_attr_count"]
20591    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
20592}
20593extern "C" {
20594    #[link_name = "aws_lc_0_46_0_X509_REQ_get_attr"]
20595    pub fn X509_REQ_get_attr(
20596        req: *const X509_REQ,
20597        loc: ::std::os::raw::c_int,
20598    ) -> *mut X509_ATTRIBUTE;
20599}
20600extern "C" {
20601    #[link_name = "aws_lc_0_46_0_X509_REQ_get_attr_by_NID"]
20602    pub fn X509_REQ_get_attr_by_NID(
20603        req: *const X509_REQ,
20604        nid: ::std::os::raw::c_int,
20605        lastpos: ::std::os::raw::c_int,
20606    ) -> ::std::os::raw::c_int;
20607}
20608extern "C" {
20609    #[link_name = "aws_lc_0_46_0_X509_REQ_get_attr_by_OBJ"]
20610    pub fn X509_REQ_get_attr_by_OBJ(
20611        req: *const X509_REQ,
20612        obj: *const ASN1_OBJECT,
20613        lastpos: ::std::os::raw::c_int,
20614    ) -> ::std::os::raw::c_int;
20615}
20616extern "C" {
20617    #[link_name = "aws_lc_0_46_0_X509_REQ_extension_nid"]
20618    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20619}
20620extern "C" {
20621    #[link_name = "aws_lc_0_46_0_X509_REQ_get_extensions"]
20622    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
20623}
20624extern "C" {
20625    #[link_name = "aws_lc_0_46_0_X509_REQ_get0_signature"]
20626    pub fn X509_REQ_get0_signature(
20627        req: *const X509_REQ,
20628        out_sig: *mut *const ASN1_BIT_STRING,
20629        out_alg: *mut *const X509_ALGOR,
20630    );
20631}
20632extern "C" {
20633    #[link_name = "aws_lc_0_46_0_X509_REQ_get_signature_nid"]
20634    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
20635}
20636extern "C" {
20637    #[link_name = "aws_lc_0_46_0_X509_REQ_verify"]
20638    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20639}
20640extern "C" {
20641    #[link_name = "aws_lc_0_46_0_X509_REQ_get1_email"]
20642    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
20643}
20644extern "C" {
20645    #[link_name = "aws_lc_0_46_0_X509_REQ_new"]
20646    pub fn X509_REQ_new() -> *mut X509_REQ;
20647}
20648extern "C" {
20649    #[link_name = "aws_lc_0_46_0_X509_REQ_set_version"]
20650    pub fn X509_REQ_set_version(
20651        req: *mut X509_REQ,
20652        version: ::std::os::raw::c_long,
20653    ) -> ::std::os::raw::c_int;
20654}
20655extern "C" {
20656    #[link_name = "aws_lc_0_46_0_X509_REQ_set_subject_name"]
20657    pub fn X509_REQ_set_subject_name(
20658        req: *mut X509_REQ,
20659        name: *mut X509_NAME,
20660    ) -> ::std::os::raw::c_int;
20661}
20662extern "C" {
20663    #[link_name = "aws_lc_0_46_0_X509_REQ_set_pubkey"]
20664    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20665}
20666extern "C" {
20667    #[link_name = "aws_lc_0_46_0_X509_REQ_delete_attr"]
20668    pub fn X509_REQ_delete_attr(
20669        req: *mut X509_REQ,
20670        loc: ::std::os::raw::c_int,
20671    ) -> *mut X509_ATTRIBUTE;
20672}
20673extern "C" {
20674    #[link_name = "aws_lc_0_46_0_X509_REQ_add1_attr"]
20675    pub fn X509_REQ_add1_attr(
20676        req: *mut X509_REQ,
20677        attr: *const X509_ATTRIBUTE,
20678    ) -> ::std::os::raw::c_int;
20679}
20680extern "C" {
20681    #[link_name = "aws_lc_0_46_0_X509_REQ_add1_attr_by_OBJ"]
20682    pub fn X509_REQ_add1_attr_by_OBJ(
20683        req: *mut X509_REQ,
20684        obj: *const ASN1_OBJECT,
20685        attrtype: ::std::os::raw::c_int,
20686        data: *const ::std::os::raw::c_uchar,
20687        len: ::std::os::raw::c_int,
20688    ) -> ::std::os::raw::c_int;
20689}
20690extern "C" {
20691    #[link_name = "aws_lc_0_46_0_X509_REQ_add1_attr_by_NID"]
20692    pub fn X509_REQ_add1_attr_by_NID(
20693        req: *mut X509_REQ,
20694        nid: ::std::os::raw::c_int,
20695        attrtype: ::std::os::raw::c_int,
20696        data: *const ::std::os::raw::c_uchar,
20697        len: ::std::os::raw::c_int,
20698    ) -> ::std::os::raw::c_int;
20699}
20700extern "C" {
20701    #[link_name = "aws_lc_0_46_0_X509_REQ_add1_attr_by_txt"]
20702    pub fn X509_REQ_add1_attr_by_txt(
20703        req: *mut X509_REQ,
20704        attrname: *const ::std::os::raw::c_char,
20705        attrtype: ::std::os::raw::c_int,
20706        data: *const ::std::os::raw::c_uchar,
20707        len: ::std::os::raw::c_int,
20708    ) -> ::std::os::raw::c_int;
20709}
20710extern "C" {
20711    #[link_name = "aws_lc_0_46_0_X509_REQ_add_extensions_nid"]
20712    pub fn X509_REQ_add_extensions_nid(
20713        req: *mut X509_REQ,
20714        exts: *const stack_st_X509_EXTENSION,
20715        nid: ::std::os::raw::c_int,
20716    ) -> ::std::os::raw::c_int;
20717}
20718extern "C" {
20719    #[link_name = "aws_lc_0_46_0_X509_REQ_add_extensions"]
20720    pub fn X509_REQ_add_extensions(
20721        req: *mut X509_REQ,
20722        exts: *const stack_st_X509_EXTENSION,
20723    ) -> ::std::os::raw::c_int;
20724}
20725extern "C" {
20726    #[link_name = "aws_lc_0_46_0_X509_REQ_sign"]
20727    pub fn X509_REQ_sign(
20728        req: *mut X509_REQ,
20729        pkey: *mut EVP_PKEY,
20730        md: *const EVP_MD,
20731    ) -> ::std::os::raw::c_int;
20732}
20733extern "C" {
20734    #[link_name = "aws_lc_0_46_0_X509_REQ_sign_ctx"]
20735    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20736}
20737extern "C" {
20738    #[link_name = "aws_lc_0_46_0_i2d_re_X509_REQ_tbs"]
20739    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20740}
20741extern "C" {
20742    #[link_name = "aws_lc_0_46_0_X509_REQ_set1_signature_algo"]
20743    pub fn X509_REQ_set1_signature_algo(
20744        req: *mut X509_REQ,
20745        algo: *const X509_ALGOR,
20746    ) -> ::std::os::raw::c_int;
20747}
20748extern "C" {
20749    #[link_name = "aws_lc_0_46_0_X509_REQ_set1_signature_value"]
20750    pub fn X509_REQ_set1_signature_value(
20751        req: *mut X509_REQ,
20752        sig: *const u8,
20753        sig_len: usize,
20754    ) -> ::std::os::raw::c_int;
20755}
20756#[repr(C)]
20757#[derive(Debug)]
20758pub struct stack_st_X509_NAME_ENTRY {
20759    _unused: [u8; 0],
20760}
20761pub type sk_X509_NAME_ENTRY_free_func =
20762    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
20763pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
20764    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
20765>;
20766pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
20767    unsafe extern "C" fn(
20768        arg1: *const *const X509_NAME_ENTRY,
20769        arg2: *const *const X509_NAME_ENTRY,
20770    ) -> ::std::os::raw::c_int,
20771>;
20772pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
20773    unsafe extern "C" fn(
20774        arg1: *mut X509_NAME_ENTRY,
20775        arg2: *mut ::std::os::raw::c_void,
20776    ) -> ::std::os::raw::c_int,
20777>;
20778#[repr(C)]
20779#[derive(Debug)]
20780pub struct stack_st_X509_NAME {
20781    _unused: [u8; 0],
20782}
20783pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
20784pub type sk_X509_NAME_copy_func =
20785    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
20786pub type sk_X509_NAME_cmp_func = ::std::option::Option<
20787    unsafe extern "C" fn(
20788        arg1: *const *const X509_NAME,
20789        arg2: *const *const X509_NAME,
20790    ) -> ::std::os::raw::c_int,
20791>;
20792pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
20793    unsafe extern "C" fn(
20794        arg1: *mut X509_NAME,
20795        arg2: *mut ::std::os::raw::c_void,
20796    ) -> ::std::os::raw::c_int,
20797>;
20798extern "C" {
20799    #[link_name = "aws_lc_0_46_0_X509_NAME_it"]
20800    pub static X509_NAME_it: ASN1_ITEM;
20801}
20802extern "C" {
20803    #[link_name = "aws_lc_0_46_0_X509_NAME_new"]
20804    pub fn X509_NAME_new() -> *mut X509_NAME;
20805}
20806extern "C" {
20807    #[link_name = "aws_lc_0_46_0_X509_NAME_free"]
20808    pub fn X509_NAME_free(name: *mut X509_NAME);
20809}
20810extern "C" {
20811    #[link_name = "aws_lc_0_46_0_d2i_X509_NAME"]
20812    pub fn d2i_X509_NAME(
20813        out: *mut *mut X509_NAME,
20814        inp: *mut *const u8,
20815        len: ::std::os::raw::c_long,
20816    ) -> *mut X509_NAME;
20817}
20818extern "C" {
20819    #[link_name = "aws_lc_0_46_0_i2d_X509_NAME"]
20820    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20821}
20822extern "C" {
20823    #[link_name = "aws_lc_0_46_0_X509_NAME_dup"]
20824    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
20825}
20826extern "C" {
20827    #[link_name = "aws_lc_0_46_0_X509_NAME_cmp"]
20828    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
20829}
20830extern "C" {
20831    #[link_name = "aws_lc_0_46_0_X509_NAME_get0_der"]
20832    pub fn X509_NAME_get0_der(
20833        name: *mut X509_NAME,
20834        out_der: *mut *const u8,
20835        out_der_len: *mut usize,
20836    ) -> ::std::os::raw::c_int;
20837}
20838extern "C" {
20839    #[link_name = "aws_lc_0_46_0_X509_NAME_set"]
20840    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20841}
20842extern "C" {
20843    #[link_name = "aws_lc_0_46_0_X509_NAME_entry_count"]
20844    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
20845}
20846extern "C" {
20847    #[link_name = "aws_lc_0_46_0_X509_NAME_get_index_by_NID"]
20848    pub fn X509_NAME_get_index_by_NID(
20849        name: *const X509_NAME,
20850        nid: ::std::os::raw::c_int,
20851        lastpos: ::std::os::raw::c_int,
20852    ) -> ::std::os::raw::c_int;
20853}
20854extern "C" {
20855    #[link_name = "aws_lc_0_46_0_X509_NAME_get_index_by_OBJ"]
20856    pub fn X509_NAME_get_index_by_OBJ(
20857        name: *const X509_NAME,
20858        obj: *const ASN1_OBJECT,
20859        lastpos: ::std::os::raw::c_int,
20860    ) -> ::std::os::raw::c_int;
20861}
20862extern "C" {
20863    #[link_name = "aws_lc_0_46_0_X509_NAME_get_entry"]
20864    pub fn X509_NAME_get_entry(
20865        name: *const X509_NAME,
20866        loc: ::std::os::raw::c_int,
20867    ) -> *mut X509_NAME_ENTRY;
20868}
20869extern "C" {
20870    #[link_name = "aws_lc_0_46_0_X509_NAME_delete_entry"]
20871    pub fn X509_NAME_delete_entry(
20872        name: *mut X509_NAME,
20873        loc: ::std::os::raw::c_int,
20874    ) -> *mut X509_NAME_ENTRY;
20875}
20876extern "C" {
20877    #[link_name = "aws_lc_0_46_0_X509_NAME_add_entry"]
20878    pub fn X509_NAME_add_entry(
20879        name: *mut X509_NAME,
20880        entry: *const X509_NAME_ENTRY,
20881        loc: ::std::os::raw::c_int,
20882        set: ::std::os::raw::c_int,
20883    ) -> ::std::os::raw::c_int;
20884}
20885extern "C" {
20886    #[link_name = "aws_lc_0_46_0_X509_NAME_add_entry_by_OBJ"]
20887    pub fn X509_NAME_add_entry_by_OBJ(
20888        name: *mut X509_NAME,
20889        obj: *const ASN1_OBJECT,
20890        type_: ::std::os::raw::c_int,
20891        bytes: *const u8,
20892        len: ossl_ssize_t,
20893        loc: ::std::os::raw::c_int,
20894        set: ::std::os::raw::c_int,
20895    ) -> ::std::os::raw::c_int;
20896}
20897extern "C" {
20898    #[link_name = "aws_lc_0_46_0_X509_NAME_add_entry_by_NID"]
20899    pub fn X509_NAME_add_entry_by_NID(
20900        name: *mut X509_NAME,
20901        nid: ::std::os::raw::c_int,
20902        type_: ::std::os::raw::c_int,
20903        bytes: *const u8,
20904        len: ossl_ssize_t,
20905        loc: ::std::os::raw::c_int,
20906        set: ::std::os::raw::c_int,
20907    ) -> ::std::os::raw::c_int;
20908}
20909extern "C" {
20910    #[link_name = "aws_lc_0_46_0_X509_NAME_add_entry_by_txt"]
20911    pub fn X509_NAME_add_entry_by_txt(
20912        name: *mut X509_NAME,
20913        field: *const ::std::os::raw::c_char,
20914        type_: ::std::os::raw::c_int,
20915        bytes: *const u8,
20916        len: ossl_ssize_t,
20917        loc: ::std::os::raw::c_int,
20918        set: ::std::os::raw::c_int,
20919    ) -> ::std::os::raw::c_int;
20920}
20921extern "C" {
20922    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_it"]
20923    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
20924}
20925extern "C" {
20926    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_new"]
20927    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
20928}
20929extern "C" {
20930    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_free"]
20931    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
20932}
20933extern "C" {
20934    #[link_name = "aws_lc_0_46_0_d2i_X509_NAME_ENTRY"]
20935    pub fn d2i_X509_NAME_ENTRY(
20936        out: *mut *mut X509_NAME_ENTRY,
20937        inp: *mut *const u8,
20938        len: ::std::os::raw::c_long,
20939    ) -> *mut X509_NAME_ENTRY;
20940}
20941extern "C" {
20942    #[link_name = "aws_lc_0_46_0_i2d_X509_NAME_ENTRY"]
20943    pub fn i2d_X509_NAME_ENTRY(
20944        in_: *const X509_NAME_ENTRY,
20945        outp: *mut *mut u8,
20946    ) -> ::std::os::raw::c_int;
20947}
20948extern "C" {
20949    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_dup"]
20950    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
20951}
20952extern "C" {
20953    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_get_object"]
20954    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
20955}
20956extern "C" {
20957    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_set_object"]
20958    pub fn X509_NAME_ENTRY_set_object(
20959        entry: *mut X509_NAME_ENTRY,
20960        obj: *const ASN1_OBJECT,
20961    ) -> ::std::os::raw::c_int;
20962}
20963extern "C" {
20964    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_get_data"]
20965    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
20966}
20967extern "C" {
20968    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_set_data"]
20969    pub fn X509_NAME_ENTRY_set_data(
20970        entry: *mut X509_NAME_ENTRY,
20971        type_: ::std::os::raw::c_int,
20972        bytes: *const u8,
20973        len: ossl_ssize_t,
20974    ) -> ::std::os::raw::c_int;
20975}
20976extern "C" {
20977    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_set"]
20978    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
20979}
20980extern "C" {
20981    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_create_by_OBJ"]
20982    pub fn X509_NAME_ENTRY_create_by_OBJ(
20983        out: *mut *mut X509_NAME_ENTRY,
20984        obj: *const ASN1_OBJECT,
20985        type_: ::std::os::raw::c_int,
20986        bytes: *const u8,
20987        len: ossl_ssize_t,
20988    ) -> *mut X509_NAME_ENTRY;
20989}
20990extern "C" {
20991    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_create_by_NID"]
20992    pub fn X509_NAME_ENTRY_create_by_NID(
20993        out: *mut *mut X509_NAME_ENTRY,
20994        nid: ::std::os::raw::c_int,
20995        type_: ::std::os::raw::c_int,
20996        bytes: *const u8,
20997        len: ossl_ssize_t,
20998    ) -> *mut X509_NAME_ENTRY;
20999}
21000extern "C" {
21001    #[link_name = "aws_lc_0_46_0_X509_NAME_ENTRY_create_by_txt"]
21002    pub fn X509_NAME_ENTRY_create_by_txt(
21003        out: *mut *mut X509_NAME_ENTRY,
21004        field: *const ::std::os::raw::c_char,
21005        type_: ::std::os::raw::c_int,
21006        bytes: *const u8,
21007        len: ossl_ssize_t,
21008    ) -> *mut X509_NAME_ENTRY;
21009}
21010extern "C" {
21011    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_it"]
21012    pub static X509_PUBKEY_it: ASN1_ITEM;
21013}
21014extern "C" {
21015    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_new"]
21016    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
21017}
21018extern "C" {
21019    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_free"]
21020    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
21021}
21022extern "C" {
21023    #[link_name = "aws_lc_0_46_0_d2i_X509_PUBKEY"]
21024    pub fn d2i_X509_PUBKEY(
21025        out: *mut *mut X509_PUBKEY,
21026        inp: *mut *const u8,
21027        len: ::std::os::raw::c_long,
21028    ) -> *mut X509_PUBKEY;
21029}
21030extern "C" {
21031    #[link_name = "aws_lc_0_46_0_i2d_X509_PUBKEY"]
21032    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21033}
21034extern "C" {
21035    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_set"]
21036    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21037}
21038extern "C" {
21039    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_get0"]
21040    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21041}
21042extern "C" {
21043    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_get"]
21044    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21045}
21046extern "C" {
21047    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_set0_param"]
21048    pub fn X509_PUBKEY_set0_param(
21049        pub_: *mut X509_PUBKEY,
21050        obj: *mut ASN1_OBJECT,
21051        param_type: ::std::os::raw::c_int,
21052        param_value: *mut ::std::os::raw::c_void,
21053        key: *mut u8,
21054        key_len: ::std::os::raw::c_int,
21055    ) -> ::std::os::raw::c_int;
21056}
21057extern "C" {
21058    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_get0_param"]
21059    pub fn X509_PUBKEY_get0_param(
21060        out_obj: *mut *mut ASN1_OBJECT,
21061        out_key: *mut *const u8,
21062        out_key_len: *mut ::std::os::raw::c_int,
21063        out_alg: *mut *mut X509_ALGOR,
21064        pub_: *mut X509_PUBKEY,
21065    ) -> ::std::os::raw::c_int;
21066}
21067extern "C" {
21068    #[link_name = "aws_lc_0_46_0_X509_PUBKEY_get0_public_key"]
21069    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
21070}
21071extern "C" {
21072    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_it"]
21073    pub static X509_EXTENSION_it: ASN1_ITEM;
21074}
21075extern "C" {
21076    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_new"]
21077    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
21078}
21079extern "C" {
21080    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_free"]
21081    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
21082}
21083extern "C" {
21084    #[link_name = "aws_lc_0_46_0_d2i_X509_EXTENSION"]
21085    pub fn d2i_X509_EXTENSION(
21086        out: *mut *mut X509_EXTENSION,
21087        inp: *mut *const u8,
21088        len: ::std::os::raw::c_long,
21089    ) -> *mut X509_EXTENSION;
21090}
21091extern "C" {
21092    #[link_name = "aws_lc_0_46_0_i2d_X509_EXTENSION"]
21093    pub fn i2d_X509_EXTENSION(
21094        ex: *const X509_EXTENSION,
21095        outp: *mut *mut u8,
21096    ) -> ::std::os::raw::c_int;
21097}
21098extern "C" {
21099    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_dup"]
21100    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
21101}
21102extern "C" {
21103    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_create_by_NID"]
21104    pub fn X509_EXTENSION_create_by_NID(
21105        ex: *mut *mut X509_EXTENSION,
21106        nid: ::std::os::raw::c_int,
21107        crit: ::std::os::raw::c_int,
21108        data: *const ASN1_OCTET_STRING,
21109    ) -> *mut X509_EXTENSION;
21110}
21111extern "C" {
21112    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_create_by_OBJ"]
21113    pub fn X509_EXTENSION_create_by_OBJ(
21114        ex: *mut *mut X509_EXTENSION,
21115        obj: *const ASN1_OBJECT,
21116        crit: ::std::os::raw::c_int,
21117        data: *const ASN1_OCTET_STRING,
21118    ) -> *mut X509_EXTENSION;
21119}
21120extern "C" {
21121    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_get_object"]
21122    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
21123}
21124extern "C" {
21125    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_get_data"]
21126    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
21127}
21128extern "C" {
21129    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_get_critical"]
21130    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21131}
21132extern "C" {
21133    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_set_object"]
21134    pub fn X509_EXTENSION_set_object(
21135        ex: *mut X509_EXTENSION,
21136        obj: *const ASN1_OBJECT,
21137    ) -> ::std::os::raw::c_int;
21138}
21139extern "C" {
21140    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_set_critical"]
21141    pub fn X509_EXTENSION_set_critical(
21142        ex: *mut X509_EXTENSION,
21143        crit: ::std::os::raw::c_int,
21144    ) -> ::std::os::raw::c_int;
21145}
21146extern "C" {
21147    #[link_name = "aws_lc_0_46_0_X509_EXTENSION_set_data"]
21148    pub fn X509_EXTENSION_set_data(
21149        ex: *mut X509_EXTENSION,
21150        data: *const ASN1_OCTET_STRING,
21151    ) -> ::std::os::raw::c_int;
21152}
21153pub type sk_X509_EXTENSION_free_func =
21154    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
21155pub type sk_X509_EXTENSION_copy_func =
21156    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
21157pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
21158    unsafe extern "C" fn(
21159        arg1: *const *const X509_EXTENSION,
21160        arg2: *const *const X509_EXTENSION,
21161    ) -> ::std::os::raw::c_int,
21162>;
21163pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
21164    unsafe extern "C" fn(
21165        arg1: *mut X509_EXTENSION,
21166        arg2: *mut ::std::os::raw::c_void,
21167    ) -> ::std::os::raw::c_int,
21168>;
21169pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
21170extern "C" {
21171    #[link_name = "aws_lc_0_46_0_X509_EXTENSIONS_it"]
21172    pub static X509_EXTENSIONS_it: ASN1_ITEM;
21173}
21174extern "C" {
21175    #[link_name = "aws_lc_0_46_0_d2i_X509_EXTENSIONS"]
21176    pub fn d2i_X509_EXTENSIONS(
21177        out: *mut *mut X509_EXTENSIONS,
21178        inp: *mut *const u8,
21179        len: ::std::os::raw::c_long,
21180    ) -> *mut X509_EXTENSIONS;
21181}
21182extern "C" {
21183    #[link_name = "aws_lc_0_46_0_i2d_X509_EXTENSIONS"]
21184    pub fn i2d_X509_EXTENSIONS(
21185        alg: *const X509_EXTENSIONS,
21186        outp: *mut *mut u8,
21187    ) -> ::std::os::raw::c_int;
21188}
21189extern "C" {
21190    #[link_name = "aws_lc_0_46_0_X509v3_get_ext_count"]
21191    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
21192}
21193extern "C" {
21194    #[link_name = "aws_lc_0_46_0_X509v3_get_ext_by_NID"]
21195    pub fn X509v3_get_ext_by_NID(
21196        x: *const stack_st_X509_EXTENSION,
21197        nid: ::std::os::raw::c_int,
21198        lastpos: ::std::os::raw::c_int,
21199    ) -> ::std::os::raw::c_int;
21200}
21201extern "C" {
21202    #[link_name = "aws_lc_0_46_0_X509v3_get_ext_by_OBJ"]
21203    pub fn X509v3_get_ext_by_OBJ(
21204        x: *const stack_st_X509_EXTENSION,
21205        obj: *const ASN1_OBJECT,
21206        lastpos: ::std::os::raw::c_int,
21207    ) -> ::std::os::raw::c_int;
21208}
21209extern "C" {
21210    #[link_name = "aws_lc_0_46_0_X509v3_get_ext_by_critical"]
21211    pub fn X509v3_get_ext_by_critical(
21212        x: *const stack_st_X509_EXTENSION,
21213        crit: ::std::os::raw::c_int,
21214        lastpos: ::std::os::raw::c_int,
21215    ) -> ::std::os::raw::c_int;
21216}
21217extern "C" {
21218    #[link_name = "aws_lc_0_46_0_X509v3_get_ext"]
21219    pub fn X509v3_get_ext(
21220        x: *const stack_st_X509_EXTENSION,
21221        loc: ::std::os::raw::c_int,
21222    ) -> *mut X509_EXTENSION;
21223}
21224extern "C" {
21225    #[link_name = "aws_lc_0_46_0_X509v3_delete_ext"]
21226    pub fn X509v3_delete_ext(
21227        x: *mut stack_st_X509_EXTENSION,
21228        loc: ::std::os::raw::c_int,
21229    ) -> *mut X509_EXTENSION;
21230}
21231extern "C" {
21232    #[link_name = "aws_lc_0_46_0_X509v3_add_ext"]
21233    pub fn X509v3_add_ext(
21234        x: *mut *mut stack_st_X509_EXTENSION,
21235        ex: *const X509_EXTENSION,
21236        loc: ::std::os::raw::c_int,
21237    ) -> *mut stack_st_X509_EXTENSION;
21238}
21239extern "C" {
21240    #[link_name = "aws_lc_0_46_0_X509V3_EXT_d2i"]
21241    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
21242}
21243extern "C" {
21244    #[link_name = "aws_lc_0_46_0_X509V3_get_d2i"]
21245    pub fn X509V3_get_d2i(
21246        extensions: *const stack_st_X509_EXTENSION,
21247        nid: ::std::os::raw::c_int,
21248        out_critical: *mut ::std::os::raw::c_int,
21249        out_idx: *mut ::std::os::raw::c_int,
21250    ) -> *mut ::std::os::raw::c_void;
21251}
21252extern "C" {
21253    #[link_name = "aws_lc_0_46_0_X509V3_EXT_free"]
21254    pub fn X509V3_EXT_free(
21255        nid: ::std::os::raw::c_int,
21256        ext_data: *mut ::std::os::raw::c_void,
21257    ) -> ::std::os::raw::c_int;
21258}
21259extern "C" {
21260    #[link_name = "aws_lc_0_46_0_X509V3_EXT_i2d"]
21261    pub fn X509V3_EXT_i2d(
21262        ext_nid: ::std::os::raw::c_int,
21263        crit: ::std::os::raw::c_int,
21264        ext_struc: *mut ::std::os::raw::c_void,
21265    ) -> *mut X509_EXTENSION;
21266}
21267extern "C" {
21268    #[link_name = "aws_lc_0_46_0_X509V3_add1_i2d"]
21269    pub fn X509V3_add1_i2d(
21270        x: *mut *mut stack_st_X509_EXTENSION,
21271        nid: ::std::os::raw::c_int,
21272        value: *mut ::std::os::raw::c_void,
21273        crit: ::std::os::raw::c_int,
21274        flags: ::std::os::raw::c_ulong,
21275    ) -> ::std::os::raw::c_int;
21276}
21277#[repr(C)]
21278#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21279pub struct otherName_st {
21280    pub type_id: *mut ASN1_OBJECT,
21281    pub value: *mut ASN1_TYPE,
21282}
21283#[test]
21284fn bindgen_test_layout_otherName_st() {
21285    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
21286    let ptr = UNINIT.as_ptr();
21287    assert_eq!(
21288        ::std::mem::size_of::<otherName_st>(),
21289        16usize,
21290        "Size of otherName_st"
21291    );
21292    assert_eq!(
21293        ::std::mem::align_of::<otherName_st>(),
21294        8usize,
21295        "Alignment of otherName_st"
21296    );
21297    assert_eq!(
21298        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
21299        0usize,
21300        "Offset of field: otherName_st::type_id"
21301    );
21302    assert_eq!(
21303        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
21304        8usize,
21305        "Offset of field: otherName_st::value"
21306    );
21307}
21308impl Default for otherName_st {
21309    fn default() -> Self {
21310        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21311        unsafe {
21312            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21313            s.assume_init()
21314        }
21315    }
21316}
21317pub type OTHERNAME = otherName_st;
21318#[repr(C)]
21319#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21320pub struct EDIPartyName_st {
21321    pub nameAssigner: *mut ASN1_STRING,
21322    pub partyName: *mut ASN1_STRING,
21323}
21324#[test]
21325fn bindgen_test_layout_EDIPartyName_st() {
21326    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
21327    let ptr = UNINIT.as_ptr();
21328    assert_eq!(
21329        ::std::mem::size_of::<EDIPartyName_st>(),
21330        16usize,
21331        "Size of EDIPartyName_st"
21332    );
21333    assert_eq!(
21334        ::std::mem::align_of::<EDIPartyName_st>(),
21335        8usize,
21336        "Alignment of EDIPartyName_st"
21337    );
21338    assert_eq!(
21339        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
21340        0usize,
21341        "Offset of field: EDIPartyName_st::nameAssigner"
21342    );
21343    assert_eq!(
21344        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
21345        8usize,
21346        "Offset of field: EDIPartyName_st::partyName"
21347    );
21348}
21349impl Default for EDIPartyName_st {
21350    fn default() -> Self {
21351        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21352        unsafe {
21353            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21354            s.assume_init()
21355        }
21356    }
21357}
21358pub type EDIPARTYNAME = EDIPartyName_st;
21359#[repr(C)]
21360#[derive(Copy, Clone)]
21361pub struct GENERAL_NAME_st {
21362    pub type_: ::std::os::raw::c_int,
21363    pub d: GENERAL_NAME_st__bindgen_ty_1,
21364}
21365#[repr(C)]
21366#[derive(Copy, Clone)]
21367pub union GENERAL_NAME_st__bindgen_ty_1 {
21368    pub ptr: *mut ::std::os::raw::c_char,
21369    pub otherName: *mut OTHERNAME,
21370    pub rfc822Name: *mut ASN1_IA5STRING,
21371    pub dNSName: *mut ASN1_IA5STRING,
21372    pub x400Address: *mut ASN1_STRING,
21373    pub directoryName: *mut X509_NAME,
21374    pub ediPartyName: *mut EDIPARTYNAME,
21375    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
21376    pub iPAddress: *mut ASN1_OCTET_STRING,
21377    pub registeredID: *mut ASN1_OBJECT,
21378    pub ip: *mut ASN1_OCTET_STRING,
21379    pub dirn: *mut X509_NAME,
21380    pub ia5: *mut ASN1_IA5STRING,
21381    pub rid: *mut ASN1_OBJECT,
21382}
21383#[test]
21384fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
21385    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
21386        ::std::mem::MaybeUninit::uninit();
21387    let ptr = UNINIT.as_ptr();
21388    assert_eq!(
21389        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
21390        8usize,
21391        "Size of GENERAL_NAME_st__bindgen_ty_1"
21392    );
21393    assert_eq!(
21394        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
21395        8usize,
21396        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
21397    );
21398    assert_eq!(
21399        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
21400        0usize,
21401        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
21402    );
21403    assert_eq!(
21404        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
21405        0usize,
21406        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
21407    );
21408    assert_eq!(
21409        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
21410        0usize,
21411        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
21412    );
21413    assert_eq!(
21414        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
21415        0usize,
21416        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
21417    );
21418    assert_eq!(
21419        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
21420        0usize,
21421        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
21422    );
21423    assert_eq!(
21424        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
21425        0usize,
21426        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
21427    );
21428    assert_eq!(
21429        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
21430        0usize,
21431        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
21432    );
21433    assert_eq!(
21434        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
21435        0usize,
21436        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
21437    );
21438    assert_eq!(
21439        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
21440        0usize,
21441        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
21442    );
21443    assert_eq!(
21444        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
21445        0usize,
21446        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
21447    );
21448    assert_eq!(
21449        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
21450        0usize,
21451        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
21452    );
21453    assert_eq!(
21454        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
21455        0usize,
21456        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
21457    );
21458    assert_eq!(
21459        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
21460        0usize,
21461        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
21462    );
21463    assert_eq!(
21464        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
21465        0usize,
21466        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
21467    );
21468}
21469impl Default for GENERAL_NAME_st__bindgen_ty_1 {
21470    fn default() -> Self {
21471        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21472        unsafe {
21473            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21474            s.assume_init()
21475        }
21476    }
21477}
21478#[test]
21479fn bindgen_test_layout_GENERAL_NAME_st() {
21480    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
21481    let ptr = UNINIT.as_ptr();
21482    assert_eq!(
21483        ::std::mem::size_of::<GENERAL_NAME_st>(),
21484        16usize,
21485        "Size of GENERAL_NAME_st"
21486    );
21487    assert_eq!(
21488        ::std::mem::align_of::<GENERAL_NAME_st>(),
21489        8usize,
21490        "Alignment of GENERAL_NAME_st"
21491    );
21492    assert_eq!(
21493        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21494        0usize,
21495        "Offset of field: GENERAL_NAME_st::type_"
21496    );
21497    assert_eq!(
21498        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
21499        8usize,
21500        "Offset of field: GENERAL_NAME_st::d"
21501    );
21502}
21503impl Default for GENERAL_NAME_st {
21504    fn default() -> Self {
21505        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21506        unsafe {
21507            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21508            s.assume_init()
21509        }
21510    }
21511}
21512extern "C" {
21513    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_new"]
21514    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
21515}
21516extern "C" {
21517    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_free"]
21518    pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
21519}
21520extern "C" {
21521    #[link_name = "aws_lc_0_46_0_d2i_GENERAL_NAME"]
21522    pub fn d2i_GENERAL_NAME(
21523        out: *mut *mut GENERAL_NAME,
21524        inp: *mut *const u8,
21525        len: ::std::os::raw::c_long,
21526    ) -> *mut GENERAL_NAME;
21527}
21528extern "C" {
21529    #[link_name = "aws_lc_0_46_0_i2d_GENERAL_NAME"]
21530    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21531}
21532extern "C" {
21533    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_dup"]
21534    pub fn GENERAL_NAME_dup(gen_: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
21535}
21536extern "C" {
21537    #[link_name = "aws_lc_0_46_0_GENERAL_NAMES_new"]
21538    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
21539}
21540extern "C" {
21541    #[link_name = "aws_lc_0_46_0_GENERAL_NAMES_free"]
21542    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
21543}
21544extern "C" {
21545    #[link_name = "aws_lc_0_46_0_d2i_GENERAL_NAMES"]
21546    pub fn d2i_GENERAL_NAMES(
21547        out: *mut *mut GENERAL_NAMES,
21548        inp: *mut *const u8,
21549        len: ::std::os::raw::c_long,
21550    ) -> *mut GENERAL_NAMES;
21551}
21552extern "C" {
21553    #[link_name = "aws_lc_0_46_0_i2d_GENERAL_NAMES"]
21554    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21555}
21556extern "C" {
21557    #[link_name = "aws_lc_0_46_0_OTHERNAME_new"]
21558    pub fn OTHERNAME_new() -> *mut OTHERNAME;
21559}
21560extern "C" {
21561    #[link_name = "aws_lc_0_46_0_OTHERNAME_free"]
21562    pub fn OTHERNAME_free(name: *mut OTHERNAME);
21563}
21564extern "C" {
21565    #[link_name = "aws_lc_0_46_0_EDIPARTYNAME_new"]
21566    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
21567}
21568extern "C" {
21569    #[link_name = "aws_lc_0_46_0_EDIPARTYNAME_free"]
21570    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
21571}
21572extern "C" {
21573    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_set0_value"]
21574    pub fn GENERAL_NAME_set0_value(
21575        gen_: *mut GENERAL_NAME,
21576        type_: ::std::os::raw::c_int,
21577        value: *mut ::std::os::raw::c_void,
21578    );
21579}
21580extern "C" {
21581    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_get0_value"]
21582    pub fn GENERAL_NAME_get0_value(
21583        gen_: *const GENERAL_NAME,
21584        out_type: *mut ::std::os::raw::c_int,
21585    ) -> *mut ::std::os::raw::c_void;
21586}
21587extern "C" {
21588    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_set0_othername"]
21589    pub fn GENERAL_NAME_set0_othername(
21590        gen_: *mut GENERAL_NAME,
21591        oid: *mut ASN1_OBJECT,
21592        value: *mut ASN1_TYPE,
21593    ) -> ::std::os::raw::c_int;
21594}
21595extern "C" {
21596    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_get0_otherName"]
21597    pub fn GENERAL_NAME_get0_otherName(
21598        gen_: *const GENERAL_NAME,
21599        out_oid: *mut *mut ASN1_OBJECT,
21600        out_value: *mut *mut ASN1_TYPE,
21601    ) -> ::std::os::raw::c_int;
21602}
21603#[repr(C)]
21604#[derive(Debug)]
21605pub struct stack_st_X509_ALGOR {
21606    _unused: [u8; 0],
21607}
21608pub type sk_X509_ALGOR_free_func =
21609    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
21610pub type sk_X509_ALGOR_copy_func =
21611    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
21612pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
21613    unsafe extern "C" fn(
21614        arg1: *const *const X509_ALGOR,
21615        arg2: *const *const X509_ALGOR,
21616    ) -> ::std::os::raw::c_int,
21617>;
21618pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
21619    unsafe extern "C" fn(
21620        arg1: *mut X509_ALGOR,
21621        arg2: *mut ::std::os::raw::c_void,
21622    ) -> ::std::os::raw::c_int,
21623>;
21624extern "C" {
21625    #[link_name = "aws_lc_0_46_0_X509_ALGOR_it"]
21626    pub static X509_ALGOR_it: ASN1_ITEM;
21627}
21628extern "C" {
21629    #[link_name = "aws_lc_0_46_0_X509_ALGOR_new"]
21630    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
21631}
21632extern "C" {
21633    #[link_name = "aws_lc_0_46_0_X509_ALGOR_dup"]
21634    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
21635}
21636extern "C" {
21637    #[link_name = "aws_lc_0_46_0_X509_ALGOR_free"]
21638    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
21639}
21640extern "C" {
21641    #[link_name = "aws_lc_0_46_0_d2i_X509_ALGOR"]
21642    pub fn d2i_X509_ALGOR(
21643        out: *mut *mut X509_ALGOR,
21644        inp: *mut *const u8,
21645        len: ::std::os::raw::c_long,
21646    ) -> *mut X509_ALGOR;
21647}
21648extern "C" {
21649    #[link_name = "aws_lc_0_46_0_i2d_X509_ALGOR"]
21650    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21651}
21652extern "C" {
21653    #[link_name = "aws_lc_0_46_0_X509_ALGOR_set0"]
21654    pub fn X509_ALGOR_set0(
21655        alg: *mut X509_ALGOR,
21656        obj: *mut ASN1_OBJECT,
21657        param_type: ::std::os::raw::c_int,
21658        param_value: *mut ::std::os::raw::c_void,
21659    ) -> ::std::os::raw::c_int;
21660}
21661extern "C" {
21662    #[link_name = "aws_lc_0_46_0_X509_ALGOR_get0"]
21663    pub fn X509_ALGOR_get0(
21664        out_obj: *mut *const ASN1_OBJECT,
21665        out_param_type: *mut ::std::os::raw::c_int,
21666        out_param_value: *mut *const ::std::os::raw::c_void,
21667        alg: *const X509_ALGOR,
21668    );
21669}
21670extern "C" {
21671    #[link_name = "aws_lc_0_46_0_X509_ALGOR_set_md"]
21672    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
21673}
21674extern "C" {
21675    #[link_name = "aws_lc_0_46_0_X509_ALGOR_cmp"]
21676    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
21677}
21678#[repr(C)]
21679#[derive(Debug)]
21680pub struct stack_st_X509_ATTRIBUTE {
21681    _unused: [u8; 0],
21682}
21683pub type sk_X509_ATTRIBUTE_free_func =
21684    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
21685pub type sk_X509_ATTRIBUTE_copy_func =
21686    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
21687pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
21688    unsafe extern "C" fn(
21689        arg1: *const *const X509_ATTRIBUTE,
21690        arg2: *const *const X509_ATTRIBUTE,
21691    ) -> ::std::os::raw::c_int,
21692>;
21693pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
21694    unsafe extern "C" fn(
21695        arg1: *mut X509_ATTRIBUTE,
21696        arg2: *mut ::std::os::raw::c_void,
21697    ) -> ::std::os::raw::c_int,
21698>;
21699extern "C" {
21700    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_it"]
21701    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
21702}
21703extern "C" {
21704    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_new"]
21705    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
21706}
21707extern "C" {
21708    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_dup"]
21709    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
21710}
21711extern "C" {
21712    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_free"]
21713    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
21714}
21715extern "C" {
21716    #[link_name = "aws_lc_0_46_0_d2i_X509_ATTRIBUTE"]
21717    pub fn d2i_X509_ATTRIBUTE(
21718        out: *mut *mut X509_ATTRIBUTE,
21719        inp: *mut *const u8,
21720        len: ::std::os::raw::c_long,
21721    ) -> *mut X509_ATTRIBUTE;
21722}
21723extern "C" {
21724    #[link_name = "aws_lc_0_46_0_i2d_X509_ATTRIBUTE"]
21725    pub fn i2d_X509_ATTRIBUTE(
21726        alg: *const X509_ATTRIBUTE,
21727        outp: *mut *mut u8,
21728    ) -> ::std::os::raw::c_int;
21729}
21730extern "C" {
21731    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_create"]
21732    pub fn X509_ATTRIBUTE_create(
21733        nid: ::std::os::raw::c_int,
21734        attrtype: ::std::os::raw::c_int,
21735        value: *mut ::std::os::raw::c_void,
21736    ) -> *mut X509_ATTRIBUTE;
21737}
21738extern "C" {
21739    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_create_by_NID"]
21740    pub fn X509_ATTRIBUTE_create_by_NID(
21741        attr: *mut *mut X509_ATTRIBUTE,
21742        nid: ::std::os::raw::c_int,
21743        attrtype: ::std::os::raw::c_int,
21744        data: *const ::std::os::raw::c_void,
21745        len: ::std::os::raw::c_int,
21746    ) -> *mut X509_ATTRIBUTE;
21747}
21748extern "C" {
21749    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_create_by_OBJ"]
21750    pub fn X509_ATTRIBUTE_create_by_OBJ(
21751        attr: *mut *mut X509_ATTRIBUTE,
21752        obj: *const ASN1_OBJECT,
21753        attrtype: ::std::os::raw::c_int,
21754        data: *const ::std::os::raw::c_void,
21755        len: ::std::os::raw::c_int,
21756    ) -> *mut X509_ATTRIBUTE;
21757}
21758extern "C" {
21759    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_create_by_txt"]
21760    pub fn X509_ATTRIBUTE_create_by_txt(
21761        attr: *mut *mut X509_ATTRIBUTE,
21762        attrname: *const ::std::os::raw::c_char,
21763        type_: ::std::os::raw::c_int,
21764        bytes: *const ::std::os::raw::c_uchar,
21765        len: ::std::os::raw::c_int,
21766    ) -> *mut X509_ATTRIBUTE;
21767}
21768extern "C" {
21769    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_set1_object"]
21770    pub fn X509_ATTRIBUTE_set1_object(
21771        attr: *mut X509_ATTRIBUTE,
21772        obj: *const ASN1_OBJECT,
21773    ) -> ::std::os::raw::c_int;
21774}
21775extern "C" {
21776    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_set1_data"]
21777    pub fn X509_ATTRIBUTE_set1_data(
21778        attr: *mut X509_ATTRIBUTE,
21779        attrtype: ::std::os::raw::c_int,
21780        data: *const ::std::os::raw::c_void,
21781        len: ::std::os::raw::c_int,
21782    ) -> ::std::os::raw::c_int;
21783}
21784extern "C" {
21785    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_get0_data"]
21786    pub fn X509_ATTRIBUTE_get0_data(
21787        attr: *mut X509_ATTRIBUTE,
21788        idx: ::std::os::raw::c_int,
21789        attrtype: ::std::os::raw::c_int,
21790        unused: *mut ::std::os::raw::c_void,
21791    ) -> *mut ::std::os::raw::c_void;
21792}
21793extern "C" {
21794    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_count"]
21795    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
21796}
21797extern "C" {
21798    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_get0_object"]
21799    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
21800}
21801extern "C" {
21802    #[link_name = "aws_lc_0_46_0_X509_ATTRIBUTE_get0_type"]
21803    pub fn X509_ATTRIBUTE_get0_type(
21804        attr: *mut X509_ATTRIBUTE,
21805        idx: ::std::os::raw::c_int,
21806    ) -> *mut ASN1_TYPE;
21807}
21808extern "C" {
21809    #[link_name = "aws_lc_0_46_0_X509_STORE_new"]
21810    pub fn X509_STORE_new() -> *mut X509_STORE;
21811}
21812extern "C" {
21813    #[link_name = "aws_lc_0_46_0_X509_STORE_up_ref"]
21814    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21815}
21816extern "C" {
21817    #[link_name = "aws_lc_0_46_0_X509_STORE_free"]
21818    pub fn X509_STORE_free(store: *mut X509_STORE);
21819}
21820extern "C" {
21821    #[link_name = "aws_lc_0_46_0_X509_STORE_add_cert"]
21822    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
21823}
21824extern "C" {
21825    #[link_name = "aws_lc_0_46_0_X509_STORE_add_crl"]
21826    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21827}
21828extern "C" {
21829    #[link_name = "aws_lc_0_46_0_X509_STORE_get0_param"]
21830    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
21831}
21832extern "C" {
21833    #[link_name = "aws_lc_0_46_0_X509_STORE_set1_param"]
21834    pub fn X509_STORE_set1_param(
21835        store: *mut X509_STORE,
21836        param: *const X509_VERIFY_PARAM,
21837    ) -> ::std::os::raw::c_int;
21838}
21839extern "C" {
21840    #[link_name = "aws_lc_0_46_0_X509_STORE_set_flags"]
21841    pub fn X509_STORE_set_flags(
21842        store: *mut X509_STORE,
21843        flags: ::std::os::raw::c_ulong,
21844    ) -> ::std::os::raw::c_int;
21845}
21846extern "C" {
21847    #[link_name = "aws_lc_0_46_0_X509_STORE_set_depth"]
21848    pub fn X509_STORE_set_depth(
21849        store: *mut X509_STORE,
21850        depth: ::std::os::raw::c_int,
21851    ) -> ::std::os::raw::c_int;
21852}
21853extern "C" {
21854    #[link_name = "aws_lc_0_46_0_X509_STORE_set_purpose"]
21855    pub fn X509_STORE_set_purpose(
21856        store: *mut X509_STORE,
21857        purpose: ::std::os::raw::c_int,
21858    ) -> ::std::os::raw::c_int;
21859}
21860extern "C" {
21861    #[link_name = "aws_lc_0_46_0_X509_STORE_set_trust"]
21862    pub fn X509_STORE_set_trust(
21863        store: *mut X509_STORE,
21864        trust: ::std::os::raw::c_int,
21865    ) -> ::std::os::raw::c_int;
21866}
21867#[repr(C)]
21868#[derive(Debug)]
21869pub struct stack_st_X509_OBJECT {
21870    _unused: [u8; 0],
21871}
21872pub type sk_X509_OBJECT_free_func =
21873    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
21874pub type sk_X509_OBJECT_copy_func =
21875    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
21876pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
21877    unsafe extern "C" fn(
21878        arg1: *const *const X509_OBJECT,
21879        arg2: *const *const X509_OBJECT,
21880    ) -> ::std::os::raw::c_int,
21881>;
21882pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
21883    unsafe extern "C" fn(
21884        arg1: *mut X509_OBJECT,
21885        arg2: *mut ::std::os::raw::c_void,
21886    ) -> ::std::os::raw::c_int,
21887>;
21888extern "C" {
21889    #[link_name = "aws_lc_0_46_0_X509_OBJECT_new"]
21890    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
21891}
21892extern "C" {
21893    #[link_name = "aws_lc_0_46_0_X509_OBJECT_free"]
21894    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
21895}
21896extern "C" {
21897    #[link_name = "aws_lc_0_46_0_X509_OBJECT_get_type"]
21898    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
21899}
21900extern "C" {
21901    #[link_name = "aws_lc_0_46_0_X509_OBJECT_get0_X509"]
21902    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
21903}
21904pub type X509_STORE_CTX_lookup_crls_fn = ::std::option::Option<
21905    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, nm: *mut X509_NAME) -> *mut stack_st_X509_CRL,
21906>;
21907extern "C" {
21908    #[link_name = "aws_lc_0_46_0_X509_STORE_get_lookup_crls"]
21909    pub fn X509_STORE_get_lookup_crls(ctx: *mut X509_STORE) -> X509_STORE_CTX_lookup_crls_fn;
21910}
21911extern "C" {
21912    #[link_name = "aws_lc_0_46_0_X509_STORE_set_lookup_crls"]
21913    pub fn X509_STORE_set_lookup_crls(
21914        ctx: *mut X509_STORE,
21915        lookup_crls: X509_STORE_CTX_lookup_crls_fn,
21916    );
21917}
21918extern "C" {
21919    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_new"]
21920    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
21921}
21922extern "C" {
21923    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_free"]
21924    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
21925}
21926extern "C" {
21927    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_init"]
21928    pub fn X509_STORE_CTX_init(
21929        ctx: *mut X509_STORE_CTX,
21930        store: *mut X509_STORE,
21931        x509: *mut X509,
21932        chain: *mut stack_st_X509,
21933    ) -> ::std::os::raw::c_int;
21934}
21935extern "C" {
21936    #[link_name = "aws_lc_0_46_0_X509_verify_cert"]
21937    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21938}
21939extern "C" {
21940    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_chain"]
21941    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21942}
21943extern "C" {
21944    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get1_chain"]
21945    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21946}
21947extern "C" {
21948    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_cert"]
21949    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
21950}
21951extern "C" {
21952    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_error"]
21953    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21954}
21955extern "C" {
21956    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_error"]
21957    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
21958}
21959extern "C" {
21960    #[link_name = "aws_lc_0_46_0_X509_verify_cert_error_string"]
21961    pub fn X509_verify_cert_error_string(
21962        err: ::std::os::raw::c_long,
21963    ) -> *const ::std::os::raw::c_char;
21964}
21965extern "C" {
21966    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_error_depth"]
21967    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21968}
21969extern "C" {
21970    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_current_cert"]
21971    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21972}
21973extern "C" {
21974    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_current_issuer"]
21975    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
21976}
21977extern "C" {
21978    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_current_crl"]
21979    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
21980}
21981extern "C" {
21982    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_store"]
21983    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
21984}
21985extern "C" {
21986    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_cert"]
21987    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21988}
21989extern "C" {
21990    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_untrusted"]
21991    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21992}
21993extern "C" {
21994    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set0_trusted_stack"]
21995    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
21996}
21997extern "C" {
21998    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set0_crls"]
21999    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
22000}
22001extern "C" {
22002    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_default"]
22003    pub fn X509_STORE_CTX_set_default(
22004        ctx: *mut X509_STORE_CTX,
22005        name: *const ::std::os::raw::c_char,
22006    ) -> ::std::os::raw::c_int;
22007}
22008extern "C" {
22009    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_param"]
22010    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
22011}
22012extern "C" {
22013    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set0_param"]
22014    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
22015}
22016extern "C" {
22017    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_flags"]
22018    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
22019}
22020extern "C" {
22021    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_time"]
22022    pub fn X509_STORE_CTX_set_time(
22023        ctx: *mut X509_STORE_CTX,
22024        flags: ::std::os::raw::c_ulong,
22025        t: time_t,
22026    );
22027}
22028extern "C" {
22029    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_time_posix"]
22030    pub fn X509_STORE_CTX_set_time_posix(
22031        ctx: *mut X509_STORE_CTX,
22032        flags: ::std::os::raw::c_ulong,
22033        t: i64,
22034    );
22035}
22036extern "C" {
22037    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_depth"]
22038    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
22039}
22040extern "C" {
22041    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_purpose"]
22042    pub fn X509_STORE_CTX_set_purpose(
22043        ctx: *mut X509_STORE_CTX,
22044        purpose: ::std::os::raw::c_int,
22045    ) -> ::std::os::raw::c_int;
22046}
22047extern "C" {
22048    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_trust"]
22049    pub fn X509_STORE_CTX_set_trust(
22050        ctx: *mut X509_STORE_CTX,
22051        trust: ::std::os::raw::c_int,
22052    ) -> ::std::os::raw::c_int;
22053}
22054extern "C" {
22055    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_add_custom_crit_oid"]
22056    pub fn X509_STORE_CTX_add_custom_crit_oid(
22057        ctx: *mut X509_STORE_CTX,
22058        oid: *mut ASN1_OBJECT,
22059    ) -> ::std::os::raw::c_int;
22060}
22061pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
22062    unsafe extern "C" fn(
22063        ctx: *mut X509_STORE_CTX,
22064        x509: *mut X509,
22065        oids: *mut stack_st_ASN1_OBJECT,
22066    ) -> ::std::os::raw::c_int,
22067>;
22068extern "C" {
22069    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_verify_crit_oids"]
22070    pub fn X509_STORE_CTX_set_verify_crit_oids(
22071        ctx: *mut X509_STORE_CTX,
22072        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
22073    );
22074}
22075extern "C" {
22076    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_new"]
22077    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
22078}
22079extern "C" {
22080    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_free"]
22081    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
22082}
22083extern "C" {
22084    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_inherit"]
22085    pub fn X509_VERIFY_PARAM_inherit(
22086        to: *mut X509_VERIFY_PARAM,
22087        from: *const X509_VERIFY_PARAM,
22088    ) -> ::std::os::raw::c_int;
22089}
22090extern "C" {
22091    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1"]
22092    pub fn X509_VERIFY_PARAM_set1(
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_46_0_X509_VERIFY_PARAM_set_flags"]
22099    pub fn X509_VERIFY_PARAM_set_flags(
22100        param: *mut X509_VERIFY_PARAM,
22101        flags: ::std::os::raw::c_ulong,
22102    ) -> ::std::os::raw::c_int;
22103}
22104extern "C" {
22105    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_clear_flags"]
22106    pub fn X509_VERIFY_PARAM_clear_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_46_0_X509_VERIFY_PARAM_get_flags"]
22113    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
22114}
22115extern "C" {
22116    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_depth"]
22117    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
22118}
22119extern "C" {
22120    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_get_depth"]
22121    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
22122}
22123extern "C" {
22124    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_time"]
22125    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
22126}
22127extern "C" {
22128    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_time_posix"]
22129    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
22130}
22131extern "C" {
22132    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_add0_policy"]
22133    pub fn X509_VERIFY_PARAM_add0_policy(
22134        param: *mut X509_VERIFY_PARAM,
22135        policy: *mut ASN1_OBJECT,
22136    ) -> ::std::os::raw::c_int;
22137}
22138extern "C" {
22139    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1_policies"]
22140    pub fn X509_VERIFY_PARAM_set1_policies(
22141        param: *mut X509_VERIFY_PARAM,
22142        policies: *const stack_st_ASN1_OBJECT,
22143    ) -> ::std::os::raw::c_int;
22144}
22145extern "C" {
22146    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1_host"]
22147    pub fn X509_VERIFY_PARAM_set1_host(
22148        param: *mut X509_VERIFY_PARAM,
22149        name: *const ::std::os::raw::c_char,
22150        name_len: usize,
22151    ) -> ::std::os::raw::c_int;
22152}
22153extern "C" {
22154    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_add1_host"]
22155    pub fn X509_VERIFY_PARAM_add1_host(
22156        param: *mut X509_VERIFY_PARAM,
22157        name: *const ::std::os::raw::c_char,
22158        name_len: usize,
22159    ) -> ::std::os::raw::c_int;
22160}
22161extern "C" {
22162    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_hostflags"]
22163    pub fn X509_VERIFY_PARAM_set_hostflags(
22164        param: *mut X509_VERIFY_PARAM,
22165        flags: ::std::os::raw::c_uint,
22166    );
22167}
22168extern "C" {
22169    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_get_hostflags"]
22170    pub fn X509_VERIFY_PARAM_get_hostflags(
22171        param: *const X509_VERIFY_PARAM,
22172    ) -> ::std::os::raw::c_uint;
22173}
22174extern "C" {
22175    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1_email"]
22176    pub fn X509_VERIFY_PARAM_set1_email(
22177        param: *mut X509_VERIFY_PARAM,
22178        email: *const ::std::os::raw::c_char,
22179        email_len: usize,
22180    ) -> ::std::os::raw::c_int;
22181}
22182extern "C" {
22183    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1_ip"]
22184    pub fn X509_VERIFY_PARAM_set1_ip(
22185        param: *mut X509_VERIFY_PARAM,
22186        ip: *const u8,
22187        ip_len: usize,
22188    ) -> ::std::os::raw::c_int;
22189}
22190extern "C" {
22191    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set1_ip_asc"]
22192    pub fn X509_VERIFY_PARAM_set1_ip_asc(
22193        param: *mut X509_VERIFY_PARAM,
22194        ipasc: *const ::std::os::raw::c_char,
22195    ) -> ::std::os::raw::c_int;
22196}
22197extern "C" {
22198    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_purpose"]
22199    pub fn X509_VERIFY_PARAM_set_purpose(
22200        param: *mut X509_VERIFY_PARAM,
22201        purpose: ::std::os::raw::c_int,
22202    ) -> ::std::os::raw::c_int;
22203}
22204extern "C" {
22205    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_set_trust"]
22206    pub fn X509_VERIFY_PARAM_set_trust(
22207        param: *mut X509_VERIFY_PARAM,
22208        trust: ::std::os::raw::c_int,
22209    ) -> ::std::os::raw::c_int;
22210}
22211extern "C" {
22212    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_enable_ec_key_explicit_params"]
22213    pub fn X509_VERIFY_PARAM_enable_ec_key_explicit_params(
22214        param: *mut X509_VERIFY_PARAM,
22215    ) -> ::std::os::raw::c_int;
22216}
22217extern "C" {
22218    #[link_name = "aws_lc_0_46_0_X509_VERIFY_PARAM_disable_ec_key_explicit_params"]
22219    pub fn X509_VERIFY_PARAM_disable_ec_key_explicit_params(
22220        param: *mut X509_VERIFY_PARAM,
22221    ) -> ::std::os::raw::c_int;
22222}
22223extern "C" {
22224    #[link_name = "aws_lc_0_46_0_X509_STORE_load_locations"]
22225    pub fn X509_STORE_load_locations(
22226        store: *mut X509_STORE,
22227        file: *const ::std::os::raw::c_char,
22228        dir: *const ::std::os::raw::c_char,
22229    ) -> ::std::os::raw::c_int;
22230}
22231extern "C" {
22232    #[link_name = "aws_lc_0_46_0_X509_STORE_add_lookup"]
22233    pub fn X509_STORE_add_lookup(
22234        store: *mut X509_STORE,
22235        method: *const X509_LOOKUP_METHOD,
22236    ) -> *mut X509_LOOKUP;
22237}
22238extern "C" {
22239    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_hash_dir"]
22240    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
22241}
22242extern "C" {
22243    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_file"]
22244    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
22245}
22246extern "C" {
22247    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_load_file"]
22248    pub fn X509_LOOKUP_load_file(
22249        lookup: *mut X509_LOOKUP,
22250        file: *const ::std::os::raw::c_char,
22251        type_: ::std::os::raw::c_int,
22252    ) -> ::std::os::raw::c_int;
22253}
22254extern "C" {
22255    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_add_dir"]
22256    pub fn X509_LOOKUP_add_dir(
22257        lookup: *mut X509_LOOKUP,
22258        path: *const ::std::os::raw::c_char,
22259        type_: ::std::os::raw::c_int,
22260    ) -> ::std::os::raw::c_int;
22261}
22262extern "C" {
22263    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_ctrl"]
22264    pub fn X509_LOOKUP_ctrl(
22265        lookup: *mut X509_LOOKUP,
22266        cmd: ::std::os::raw::c_int,
22267        argc: *const ::std::os::raw::c_char,
22268        argl: ::std::os::raw::c_long,
22269        ret: *mut *mut ::std::os::raw::c_char,
22270    ) -> ::std::os::raw::c_int;
22271}
22272extern "C" {
22273    #[link_name = "aws_lc_0_46_0_X509_load_cert_file"]
22274    pub fn X509_load_cert_file(
22275        lookup: *mut X509_LOOKUP,
22276        file: *const ::std::os::raw::c_char,
22277        type_: ::std::os::raw::c_int,
22278    ) -> ::std::os::raw::c_int;
22279}
22280extern "C" {
22281    #[link_name = "aws_lc_0_46_0_X509_load_crl_file"]
22282    pub fn X509_load_crl_file(
22283        lookup: *mut X509_LOOKUP,
22284        file: *const ::std::os::raw::c_char,
22285        type_: ::std::os::raw::c_int,
22286    ) -> ::std::os::raw::c_int;
22287}
22288extern "C" {
22289    #[link_name = "aws_lc_0_46_0_X509_load_cert_crl_file"]
22290    pub fn X509_load_cert_crl_file(
22291        lookup: *mut X509_LOOKUP,
22292        file: *const ::std::os::raw::c_char,
22293        type_: ::std::os::raw::c_int,
22294    ) -> ::std::os::raw::c_int;
22295}
22296extern "C" {
22297    #[link_name = "aws_lc_0_46_0_X509_NAME_hash"]
22298    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
22299}
22300extern "C" {
22301    #[link_name = "aws_lc_0_46_0_X509_NAME_hash_old"]
22302    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
22303}
22304extern "C" {
22305    #[link_name = "aws_lc_0_46_0_X509_STORE_set_default_paths"]
22306    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22307}
22308extern "C" {
22309    #[link_name = "aws_lc_0_46_0_X509_get_default_cert_area"]
22310    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
22311}
22312extern "C" {
22313    #[link_name = "aws_lc_0_46_0_X509_get_default_cert_dir"]
22314    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
22315}
22316extern "C" {
22317    #[link_name = "aws_lc_0_46_0_X509_get_default_cert_file"]
22318    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
22319}
22320extern "C" {
22321    #[link_name = "aws_lc_0_46_0_X509_get_default_private_dir"]
22322    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
22323}
22324extern "C" {
22325    #[link_name = "aws_lc_0_46_0_X509_get_default_cert_dir_env"]
22326    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
22327}
22328extern "C" {
22329    #[link_name = "aws_lc_0_46_0_X509_get_default_cert_file_env"]
22330    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
22331}
22332#[repr(C)]
22333#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22334pub struct Netscape_spki_st {
22335    pub spkac: *mut NETSCAPE_SPKAC,
22336    pub sig_algor: *mut X509_ALGOR,
22337    pub signature: *mut ASN1_BIT_STRING,
22338}
22339#[test]
22340fn bindgen_test_layout_Netscape_spki_st() {
22341    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
22342    let ptr = UNINIT.as_ptr();
22343    assert_eq!(
22344        ::std::mem::size_of::<Netscape_spki_st>(),
22345        24usize,
22346        "Size of Netscape_spki_st"
22347    );
22348    assert_eq!(
22349        ::std::mem::align_of::<Netscape_spki_st>(),
22350        8usize,
22351        "Alignment of Netscape_spki_st"
22352    );
22353    assert_eq!(
22354        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
22355        0usize,
22356        "Offset of field: Netscape_spki_st::spkac"
22357    );
22358    assert_eq!(
22359        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
22360        8usize,
22361        "Offset of field: Netscape_spki_st::sig_algor"
22362    );
22363    assert_eq!(
22364        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
22365        16usize,
22366        "Offset of field: Netscape_spki_st::signature"
22367    );
22368}
22369impl Default for Netscape_spki_st {
22370    fn default() -> Self {
22371        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22372        unsafe {
22373            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22374            s.assume_init()
22375        }
22376    }
22377}
22378extern "C" {
22379    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_it"]
22380    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
22381}
22382extern "C" {
22383    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_new"]
22384    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
22385}
22386extern "C" {
22387    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_free"]
22388    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
22389}
22390extern "C" {
22391    #[link_name = "aws_lc_0_46_0_d2i_NETSCAPE_SPKI"]
22392    pub fn d2i_NETSCAPE_SPKI(
22393        out: *mut *mut NETSCAPE_SPKI,
22394        inp: *mut *const u8,
22395        len: ::std::os::raw::c_long,
22396    ) -> *mut NETSCAPE_SPKI;
22397}
22398extern "C" {
22399    #[link_name = "aws_lc_0_46_0_i2d_NETSCAPE_SPKI"]
22400    pub fn i2d_NETSCAPE_SPKI(
22401        spki: *const NETSCAPE_SPKI,
22402        outp: *mut *mut u8,
22403    ) -> ::std::os::raw::c_int;
22404}
22405extern "C" {
22406    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_verify"]
22407    pub fn NETSCAPE_SPKI_verify(
22408        spki: *mut NETSCAPE_SPKI,
22409        pkey: *mut EVP_PKEY,
22410    ) -> ::std::os::raw::c_int;
22411}
22412extern "C" {
22413    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_b64_decode"]
22414    pub fn NETSCAPE_SPKI_b64_decode(
22415        str_: *const ::std::os::raw::c_char,
22416        len: ossl_ssize_t,
22417    ) -> *mut NETSCAPE_SPKI;
22418}
22419extern "C" {
22420    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_b64_encode"]
22421    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
22422}
22423extern "C" {
22424    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_get_pubkey"]
22425    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
22426}
22427extern "C" {
22428    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_set_pubkey"]
22429    pub fn NETSCAPE_SPKI_set_pubkey(
22430        spki: *mut NETSCAPE_SPKI,
22431        pkey: *mut EVP_PKEY,
22432    ) -> ::std::os::raw::c_int;
22433}
22434extern "C" {
22435    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_sign"]
22436    pub fn NETSCAPE_SPKI_sign(
22437        spki: *mut NETSCAPE_SPKI,
22438        pkey: *mut EVP_PKEY,
22439        md: *const EVP_MD,
22440    ) -> ::std::os::raw::c_int;
22441}
22442#[repr(C)]
22443#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22444pub struct Netscape_spkac_st {
22445    pub pubkey: *mut X509_PUBKEY,
22446    pub challenge: *mut ASN1_IA5STRING,
22447}
22448#[test]
22449fn bindgen_test_layout_Netscape_spkac_st() {
22450    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
22451    let ptr = UNINIT.as_ptr();
22452    assert_eq!(
22453        ::std::mem::size_of::<Netscape_spkac_st>(),
22454        16usize,
22455        "Size of Netscape_spkac_st"
22456    );
22457    assert_eq!(
22458        ::std::mem::align_of::<Netscape_spkac_st>(),
22459        8usize,
22460        "Alignment of Netscape_spkac_st"
22461    );
22462    assert_eq!(
22463        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
22464        0usize,
22465        "Offset of field: Netscape_spkac_st::pubkey"
22466    );
22467    assert_eq!(
22468        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
22469        8usize,
22470        "Offset of field: Netscape_spkac_st::challenge"
22471    );
22472}
22473impl Default for Netscape_spkac_st {
22474    fn default() -> Self {
22475        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22476        unsafe {
22477            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22478            s.assume_init()
22479        }
22480    }
22481}
22482extern "C" {
22483    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKAC_it"]
22484    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
22485}
22486extern "C" {
22487    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKAC_new"]
22488    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
22489}
22490extern "C" {
22491    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKAC_free"]
22492    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
22493}
22494extern "C" {
22495    #[link_name = "aws_lc_0_46_0_d2i_NETSCAPE_SPKAC"]
22496    pub fn d2i_NETSCAPE_SPKAC(
22497        out: *mut *mut NETSCAPE_SPKAC,
22498        inp: *mut *const u8,
22499        len: ::std::os::raw::c_long,
22500    ) -> *mut NETSCAPE_SPKAC;
22501}
22502extern "C" {
22503    #[link_name = "aws_lc_0_46_0_i2d_NETSCAPE_SPKAC"]
22504    pub fn i2d_NETSCAPE_SPKAC(
22505        spkac: *const NETSCAPE_SPKAC,
22506        outp: *mut *mut u8,
22507    ) -> ::std::os::raw::c_int;
22508}
22509extern "C" {
22510    #[link_name = "aws_lc_0_46_0_NETSCAPE_SPKI_print"]
22511    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
22512}
22513#[repr(C)]
22514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22515pub struct rsa_pss_params_st {
22516    pub hashAlgorithm: *mut X509_ALGOR,
22517    pub maskGenAlgorithm: *mut X509_ALGOR,
22518    pub saltLength: *mut ASN1_INTEGER,
22519    pub trailerField: *mut ASN1_INTEGER,
22520    pub maskHash: *mut X509_ALGOR,
22521}
22522#[test]
22523fn bindgen_test_layout_rsa_pss_params_st() {
22524    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
22525    let ptr = UNINIT.as_ptr();
22526    assert_eq!(
22527        ::std::mem::size_of::<rsa_pss_params_st>(),
22528        40usize,
22529        "Size of rsa_pss_params_st"
22530    );
22531    assert_eq!(
22532        ::std::mem::align_of::<rsa_pss_params_st>(),
22533        8usize,
22534        "Alignment of rsa_pss_params_st"
22535    );
22536    assert_eq!(
22537        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
22538        0usize,
22539        "Offset of field: rsa_pss_params_st::hashAlgorithm"
22540    );
22541    assert_eq!(
22542        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
22543        8usize,
22544        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
22545    );
22546    assert_eq!(
22547        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
22548        16usize,
22549        "Offset of field: rsa_pss_params_st::saltLength"
22550    );
22551    assert_eq!(
22552        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
22553        24usize,
22554        "Offset of field: rsa_pss_params_st::trailerField"
22555    );
22556    assert_eq!(
22557        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
22558        32usize,
22559        "Offset of field: rsa_pss_params_st::maskHash"
22560    );
22561}
22562impl Default for rsa_pss_params_st {
22563    fn default() -> Self {
22564        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22565        unsafe {
22566            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22567            s.assume_init()
22568        }
22569    }
22570}
22571extern "C" {
22572    #[link_name = "aws_lc_0_46_0_RSA_PSS_PARAMS_it"]
22573    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
22574}
22575extern "C" {
22576    #[link_name = "aws_lc_0_46_0_RSA_PSS_PARAMS_new"]
22577    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
22578}
22579extern "C" {
22580    #[link_name = "aws_lc_0_46_0_RSA_PSS_PARAMS_free"]
22581    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
22582}
22583extern "C" {
22584    #[link_name = "aws_lc_0_46_0_d2i_RSA_PSS_PARAMS"]
22585    pub fn d2i_RSA_PSS_PARAMS(
22586        out: *mut *mut RSA_PSS_PARAMS,
22587        inp: *mut *const u8,
22588        len: ::std::os::raw::c_long,
22589    ) -> *mut RSA_PSS_PARAMS;
22590}
22591extern "C" {
22592    #[link_name = "aws_lc_0_46_0_i2d_RSA_PSS_PARAMS"]
22593    pub fn i2d_RSA_PSS_PARAMS(
22594        in_: *const RSA_PSS_PARAMS,
22595        outp: *mut *mut u8,
22596    ) -> ::std::os::raw::c_int;
22597}
22598extern "C" {
22599    #[link_name = "aws_lc_0_46_0_PKCS8_PRIV_KEY_INFO_it"]
22600    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
22601}
22602extern "C" {
22603    #[link_name = "aws_lc_0_46_0_PKCS8_PRIV_KEY_INFO_new"]
22604    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
22605}
22606extern "C" {
22607    #[link_name = "aws_lc_0_46_0_PKCS8_PRIV_KEY_INFO_free"]
22608    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
22609}
22610extern "C" {
22611    #[link_name = "aws_lc_0_46_0_d2i_PKCS8_PRIV_KEY_INFO"]
22612    pub fn d2i_PKCS8_PRIV_KEY_INFO(
22613        out: *mut *mut PKCS8_PRIV_KEY_INFO,
22614        inp: *mut *const u8,
22615        len: ::std::os::raw::c_long,
22616    ) -> *mut PKCS8_PRIV_KEY_INFO;
22617}
22618extern "C" {
22619    #[link_name = "aws_lc_0_46_0_i2d_PKCS8_PRIV_KEY_INFO"]
22620    pub fn i2d_PKCS8_PRIV_KEY_INFO(
22621        key: *const PKCS8_PRIV_KEY_INFO,
22622        outp: *mut *mut u8,
22623    ) -> ::std::os::raw::c_int;
22624}
22625extern "C" {
22626    #[link_name = "aws_lc_0_46_0_EVP_PKCS82PKEY"]
22627    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
22628}
22629extern "C" {
22630    #[link_name = "aws_lc_0_46_0_EVP_PKEY2PKCS8"]
22631    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
22632}
22633extern "C" {
22634    #[link_name = "aws_lc_0_46_0_X509_SIG_it"]
22635    pub static X509_SIG_it: ASN1_ITEM;
22636}
22637extern "C" {
22638    #[link_name = "aws_lc_0_46_0_X509_SIG_new"]
22639    pub fn X509_SIG_new() -> *mut X509_SIG;
22640}
22641extern "C" {
22642    #[link_name = "aws_lc_0_46_0_X509_SIG_free"]
22643    pub fn X509_SIG_free(key: *mut X509_SIG);
22644}
22645extern "C" {
22646    #[link_name = "aws_lc_0_46_0_d2i_X509_SIG"]
22647    pub fn d2i_X509_SIG(
22648        out: *mut *mut X509_SIG,
22649        inp: *mut *const u8,
22650        len: ::std::os::raw::c_long,
22651    ) -> *mut X509_SIG;
22652}
22653extern "C" {
22654    #[link_name = "aws_lc_0_46_0_i2d_X509_SIG"]
22655    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22656}
22657extern "C" {
22658    #[link_name = "aws_lc_0_46_0_X509_SIG_get0"]
22659    pub fn X509_SIG_get0(
22660        sig: *const X509_SIG,
22661        out_alg: *mut *const X509_ALGOR,
22662        out_digest: *mut *const ASN1_OCTET_STRING,
22663    );
22664}
22665extern "C" {
22666    #[link_name = "aws_lc_0_46_0_X509_SIG_getm"]
22667    pub fn X509_SIG_getm(
22668        sig: *mut X509_SIG,
22669        out_alg: *mut *mut X509_ALGOR,
22670        out_digest: *mut *mut ASN1_OCTET_STRING,
22671    );
22672}
22673extern "C" {
22674    #[link_name = "aws_lc_0_46_0_X509_print_ex"]
22675    pub fn X509_print_ex(
22676        bp: *mut BIO,
22677        x: *mut X509,
22678        nmflag: ::std::os::raw::c_ulong,
22679        cflag: ::std::os::raw::c_ulong,
22680    ) -> ::std::os::raw::c_int;
22681}
22682extern "C" {
22683    #[link_name = "aws_lc_0_46_0_X509_print_ex_fp"]
22684    pub fn X509_print_ex_fp(
22685        fp: *mut FILE,
22686        x: *mut X509,
22687        nmflag: ::std::os::raw::c_ulong,
22688        cflag: ::std::os::raw::c_ulong,
22689    ) -> ::std::os::raw::c_int;
22690}
22691extern "C" {
22692    #[link_name = "aws_lc_0_46_0_X509_print"]
22693    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
22694}
22695extern "C" {
22696    #[link_name = "aws_lc_0_46_0_X509_print_fp"]
22697    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
22698}
22699extern "C" {
22700    #[link_name = "aws_lc_0_46_0_X509_CRL_print"]
22701    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22702}
22703extern "C" {
22704    #[link_name = "aws_lc_0_46_0_X509_CRL_print_fp"]
22705    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22706}
22707extern "C" {
22708    #[link_name = "aws_lc_0_46_0_X509_REQ_print_ex"]
22709    pub fn X509_REQ_print_ex(
22710        bp: *mut BIO,
22711        x: *mut X509_REQ,
22712        nmflag: ::std::os::raw::c_ulong,
22713        cflag: ::std::os::raw::c_ulong,
22714    ) -> ::std::os::raw::c_int;
22715}
22716extern "C" {
22717    #[link_name = "aws_lc_0_46_0_X509_REQ_print"]
22718    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22719}
22720extern "C" {
22721    #[link_name = "aws_lc_0_46_0_X509_REQ_print_fp"]
22722    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22723}
22724extern "C" {
22725    #[link_name = "aws_lc_0_46_0_X509_NAME_print_ex"]
22726    pub fn X509_NAME_print_ex(
22727        out: *mut BIO,
22728        nm: *const X509_NAME,
22729        indent: ::std::os::raw::c_int,
22730        flags: ::std::os::raw::c_ulong,
22731    ) -> ::std::os::raw::c_int;
22732}
22733extern "C" {
22734    #[link_name = "aws_lc_0_46_0_X509_NAME_print"]
22735    pub fn X509_NAME_print(
22736        bp: *mut BIO,
22737        name: *const X509_NAME,
22738        obase: ::std::os::raw::c_int,
22739    ) -> ::std::os::raw::c_int;
22740}
22741extern "C" {
22742    #[link_name = "aws_lc_0_46_0_X509_NAME_oneline"]
22743    pub fn X509_NAME_oneline(
22744        name: *const X509_NAME,
22745        buf: *mut ::std::os::raw::c_char,
22746        size: ::std::os::raw::c_int,
22747    ) -> *mut ::std::os::raw::c_char;
22748}
22749extern "C" {
22750    #[link_name = "aws_lc_0_46_0_X509_NAME_print_ex_fp"]
22751    pub fn X509_NAME_print_ex_fp(
22752        fp: *mut FILE,
22753        nm: *const X509_NAME,
22754        indent: ::std::os::raw::c_int,
22755        flags: ::std::os::raw::c_ulong,
22756    ) -> ::std::os::raw::c_int;
22757}
22758extern "C" {
22759    #[link_name = "aws_lc_0_46_0_X509_signature_dump"]
22760    pub fn X509_signature_dump(
22761        bio: *mut BIO,
22762        sig: *const ASN1_STRING,
22763        indent: ::std::os::raw::c_int,
22764    ) -> ::std::os::raw::c_int;
22765}
22766extern "C" {
22767    #[link_name = "aws_lc_0_46_0_X509_signature_print"]
22768    pub fn X509_signature_print(
22769        bio: *mut BIO,
22770        alg: *const X509_ALGOR,
22771        sig: *const ASN1_STRING,
22772    ) -> ::std::os::raw::c_int;
22773}
22774extern "C" {
22775    #[link_name = "aws_lc_0_46_0_X509V3_EXT_print"]
22776    pub fn X509V3_EXT_print(
22777        out: *mut BIO,
22778        ext: *const X509_EXTENSION,
22779        flag: ::std::os::raw::c_ulong,
22780        indent: ::std::os::raw::c_int,
22781    ) -> ::std::os::raw::c_int;
22782}
22783extern "C" {
22784    #[link_name = "aws_lc_0_46_0_X509V3_EXT_print_fp"]
22785    pub fn X509V3_EXT_print_fp(
22786        out: *mut FILE,
22787        ext: *const X509_EXTENSION,
22788        flag: ::std::os::raw::c_int,
22789        indent: ::std::os::raw::c_int,
22790    ) -> ::std::os::raw::c_int;
22791}
22792extern "C" {
22793    #[link_name = "aws_lc_0_46_0_X509V3_extensions_print"]
22794    pub fn X509V3_extensions_print(
22795        out: *mut BIO,
22796        title: *const ::std::os::raw::c_char,
22797        exts: *const stack_st_X509_EXTENSION,
22798        flag: ::std::os::raw::c_ulong,
22799        indent: ::std::os::raw::c_int,
22800    ) -> ::std::os::raw::c_int;
22801}
22802extern "C" {
22803    #[link_name = "aws_lc_0_46_0_GENERAL_NAME_print"]
22804    pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::std::os::raw::c_int;
22805}
22806extern "C" {
22807    #[link_name = "aws_lc_0_46_0_X509_pubkey_digest"]
22808    pub fn X509_pubkey_digest(
22809        x509: *const X509,
22810        md: *const EVP_MD,
22811        out: *mut u8,
22812        out_len: *mut ::std::os::raw::c_uint,
22813    ) -> ::std::os::raw::c_int;
22814}
22815extern "C" {
22816    #[link_name = "aws_lc_0_46_0_X509_digest"]
22817    pub fn X509_digest(
22818        x509: *const X509,
22819        md: *const EVP_MD,
22820        out: *mut u8,
22821        out_len: *mut ::std::os::raw::c_uint,
22822    ) -> ::std::os::raw::c_int;
22823}
22824extern "C" {
22825    #[link_name = "aws_lc_0_46_0_X509_CRL_digest"]
22826    pub fn X509_CRL_digest(
22827        crl: *const X509_CRL,
22828        md: *const EVP_MD,
22829        out: *mut u8,
22830        out_len: *mut ::std::os::raw::c_uint,
22831    ) -> ::std::os::raw::c_int;
22832}
22833extern "C" {
22834    #[link_name = "aws_lc_0_46_0_X509_REQ_digest"]
22835    pub fn X509_REQ_digest(
22836        req: *const X509_REQ,
22837        md: *const EVP_MD,
22838        out: *mut u8,
22839        out_len: *mut ::std::os::raw::c_uint,
22840    ) -> ::std::os::raw::c_int;
22841}
22842extern "C" {
22843    #[link_name = "aws_lc_0_46_0_X509_NAME_digest"]
22844    pub fn X509_NAME_digest(
22845        name: *const X509_NAME,
22846        md: *const EVP_MD,
22847        out: *mut u8,
22848        out_len: *mut ::std::os::raw::c_uint,
22849    ) -> ::std::os::raw::c_int;
22850}
22851extern "C" {
22852    #[link_name = "aws_lc_0_46_0_d2i_X509_bio"]
22853    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
22854}
22855extern "C" {
22856    #[link_name = "aws_lc_0_46_0_d2i_X509_CRL_bio"]
22857    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22858}
22859extern "C" {
22860    #[link_name = "aws_lc_0_46_0_d2i_X509_REQ_bio"]
22861    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22862}
22863extern "C" {
22864    #[link_name = "aws_lc_0_46_0_d2i_RSAPrivateKey_bio"]
22865    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22866}
22867extern "C" {
22868    #[link_name = "aws_lc_0_46_0_d2i_RSAPublicKey_bio"]
22869    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22870}
22871extern "C" {
22872    #[link_name = "aws_lc_0_46_0_d2i_RSA_PUBKEY_bio"]
22873    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22874}
22875extern "C" {
22876    #[link_name = "aws_lc_0_46_0_d2i_DSA_PUBKEY_bio"]
22877    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22878}
22879extern "C" {
22880    #[link_name = "aws_lc_0_46_0_d2i_DSAPrivateKey_bio"]
22881    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22882}
22883extern "C" {
22884    #[link_name = "aws_lc_0_46_0_d2i_EC_PUBKEY_bio"]
22885    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22886}
22887extern "C" {
22888    #[link_name = "aws_lc_0_46_0_d2i_ECPrivateKey_bio"]
22889    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22890}
22891extern "C" {
22892    #[link_name = "aws_lc_0_46_0_d2i_PKCS8_bio"]
22893    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22894}
22895extern "C" {
22896    #[link_name = "aws_lc_0_46_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
22897    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
22898        bp: *mut BIO,
22899        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22900    ) -> *mut PKCS8_PRIV_KEY_INFO;
22901}
22902extern "C" {
22903    #[link_name = "aws_lc_0_46_0_d2i_PUBKEY_bio"]
22904    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22905}
22906extern "C" {
22907    #[link_name = "aws_lc_0_46_0_d2i_DHparams_bio"]
22908    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
22909}
22910extern "C" {
22911    #[link_name = "aws_lc_0_46_0_d2i_PrivateKey_bio"]
22912    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22913}
22914extern "C" {
22915    #[link_name = "aws_lc_0_46_0_i2d_X509_bio"]
22916    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
22917}
22918extern "C" {
22919    #[link_name = "aws_lc_0_46_0_i2d_X509_CRL_bio"]
22920    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22921}
22922extern "C" {
22923    #[link_name = "aws_lc_0_46_0_i2d_X509_REQ_bio"]
22924    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22925}
22926extern "C" {
22927    #[link_name = "aws_lc_0_46_0_i2d_RSAPrivateKey_bio"]
22928    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22929}
22930extern "C" {
22931    #[link_name = "aws_lc_0_46_0_i2d_RSAPublicKey_bio"]
22932    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22933}
22934extern "C" {
22935    #[link_name = "aws_lc_0_46_0_i2d_RSA_PUBKEY_bio"]
22936    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22937}
22938extern "C" {
22939    #[link_name = "aws_lc_0_46_0_i2d_DSA_PUBKEY_bio"]
22940    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22941}
22942extern "C" {
22943    #[link_name = "aws_lc_0_46_0_i2d_DSAPrivateKey_bio"]
22944    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22945}
22946extern "C" {
22947    #[link_name = "aws_lc_0_46_0_i2d_EC_PUBKEY_bio"]
22948    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22949}
22950extern "C" {
22951    #[link_name = "aws_lc_0_46_0_i2d_ECPrivateKey_bio"]
22952    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22953}
22954extern "C" {
22955    #[link_name = "aws_lc_0_46_0_i2d_PKCS8_bio"]
22956    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22957}
22958extern "C" {
22959    #[link_name = "aws_lc_0_46_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
22960    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
22961        bp: *mut BIO,
22962        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22963    ) -> ::std::os::raw::c_int;
22964}
22965extern "C" {
22966    #[link_name = "aws_lc_0_46_0_i2d_PrivateKey_bio"]
22967    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22968}
22969extern "C" {
22970    #[link_name = "aws_lc_0_46_0_i2d_PUBKEY_bio"]
22971    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22972}
22973extern "C" {
22974    #[link_name = "aws_lc_0_46_0_i2d_DHparams_bio"]
22975    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
22976}
22977extern "C" {
22978    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKeyInfo_bio"]
22979    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22980}
22981extern "C" {
22982    #[link_name = "aws_lc_0_46_0_d2i_X509_fp"]
22983    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
22984}
22985extern "C" {
22986    #[link_name = "aws_lc_0_46_0_d2i_X509_CRL_fp"]
22987    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22988}
22989extern "C" {
22990    #[link_name = "aws_lc_0_46_0_d2i_X509_REQ_fp"]
22991    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22992}
22993extern "C" {
22994    #[link_name = "aws_lc_0_46_0_d2i_RSAPrivateKey_fp"]
22995    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22996}
22997extern "C" {
22998    #[link_name = "aws_lc_0_46_0_d2i_RSAPublicKey_fp"]
22999    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23000}
23001extern "C" {
23002    #[link_name = "aws_lc_0_46_0_d2i_RSA_PUBKEY_fp"]
23003    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23004}
23005extern "C" {
23006    #[link_name = "aws_lc_0_46_0_d2i_DSA_PUBKEY_fp"]
23007    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23008}
23009extern "C" {
23010    #[link_name = "aws_lc_0_46_0_d2i_DSAPrivateKey_fp"]
23011    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23012}
23013extern "C" {
23014    #[link_name = "aws_lc_0_46_0_d2i_EC_PUBKEY_fp"]
23015    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23016}
23017extern "C" {
23018    #[link_name = "aws_lc_0_46_0_d2i_ECPrivateKey_fp"]
23019    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23020}
23021extern "C" {
23022    #[link_name = "aws_lc_0_46_0_d2i_PKCS8_fp"]
23023    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23024}
23025extern "C" {
23026    #[link_name = "aws_lc_0_46_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
23027    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
23028        fp: *mut FILE,
23029        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23030    ) -> *mut PKCS8_PRIV_KEY_INFO;
23031}
23032extern "C" {
23033    #[link_name = "aws_lc_0_46_0_d2i_PrivateKey_fp"]
23034    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23035}
23036extern "C" {
23037    #[link_name = "aws_lc_0_46_0_d2i_PUBKEY_fp"]
23038    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23039}
23040extern "C" {
23041    #[link_name = "aws_lc_0_46_0_i2d_X509_fp"]
23042    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
23043}
23044extern "C" {
23045    #[link_name = "aws_lc_0_46_0_i2d_X509_CRL_fp"]
23046    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23047}
23048extern "C" {
23049    #[link_name = "aws_lc_0_46_0_i2d_X509_REQ_fp"]
23050    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23051}
23052extern "C" {
23053    #[link_name = "aws_lc_0_46_0_i2d_RSAPrivateKey_fp"]
23054    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23055}
23056extern "C" {
23057    #[link_name = "aws_lc_0_46_0_i2d_RSAPublicKey_fp"]
23058    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23059}
23060extern "C" {
23061    #[link_name = "aws_lc_0_46_0_i2d_RSA_PUBKEY_fp"]
23062    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23063}
23064extern "C" {
23065    #[link_name = "aws_lc_0_46_0_i2d_DSA_PUBKEY_fp"]
23066    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23067}
23068extern "C" {
23069    #[link_name = "aws_lc_0_46_0_i2d_DSAPrivateKey_fp"]
23070    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23071}
23072extern "C" {
23073    #[link_name = "aws_lc_0_46_0_i2d_EC_PUBKEY_fp"]
23074    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23075}
23076extern "C" {
23077    #[link_name = "aws_lc_0_46_0_i2d_ECPrivateKey_fp"]
23078    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23079}
23080extern "C" {
23081    #[link_name = "aws_lc_0_46_0_i2d_PKCS8_fp"]
23082    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23083}
23084extern "C" {
23085    #[link_name = "aws_lc_0_46_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
23086    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
23087        fp: *mut FILE,
23088        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23089    ) -> ::std::os::raw::c_int;
23090}
23091extern "C" {
23092    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKeyInfo_fp"]
23093    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23094}
23095extern "C" {
23096    #[link_name = "aws_lc_0_46_0_i2d_PrivateKey_fp"]
23097    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23098}
23099extern "C" {
23100    #[link_name = "aws_lc_0_46_0_i2d_PUBKEY_fp"]
23101    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23102}
23103extern "C" {
23104    #[link_name = "aws_lc_0_46_0_X509_find_by_issuer_and_serial"]
23105    pub fn X509_find_by_issuer_and_serial(
23106        sk: *const stack_st_X509,
23107        name: *mut X509_NAME,
23108        serial: *const ASN1_INTEGER,
23109    ) -> *mut X509;
23110}
23111extern "C" {
23112    #[link_name = "aws_lc_0_46_0_X509_find_by_subject"]
23113    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
23114}
23115extern "C" {
23116    #[link_name = "aws_lc_0_46_0_X509_cmp_time"]
23117    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
23118}
23119extern "C" {
23120    #[link_name = "aws_lc_0_46_0_X509_cmp_time_posix"]
23121    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
23122}
23123extern "C" {
23124    #[link_name = "aws_lc_0_46_0_X509_cmp_current_time"]
23125    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
23126}
23127extern "C" {
23128    #[link_name = "aws_lc_0_46_0_X509_time_adj"]
23129    pub fn X509_time_adj(
23130        s: *mut ASN1_TIME,
23131        offset_sec: ::std::os::raw::c_long,
23132        t: *const time_t,
23133    ) -> *mut ASN1_TIME;
23134}
23135extern "C" {
23136    #[link_name = "aws_lc_0_46_0_X509_time_adj_ex"]
23137    pub fn X509_time_adj_ex(
23138        s: *mut ASN1_TIME,
23139        offset_day: ::std::os::raw::c_int,
23140        offset_sec: ::std::os::raw::c_long,
23141        t: *const time_t,
23142    ) -> *mut ASN1_TIME;
23143}
23144extern "C" {
23145    #[link_name = "aws_lc_0_46_0_X509_gmtime_adj"]
23146    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
23147        -> *mut ASN1_TIME;
23148}
23149extern "C" {
23150    #[link_name = "aws_lc_0_46_0_X509_issuer_name_cmp"]
23151    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23152}
23153extern "C" {
23154    #[link_name = "aws_lc_0_46_0_X509_subject_name_cmp"]
23155    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23156}
23157extern "C" {
23158    #[link_name = "aws_lc_0_46_0_X509_CRL_cmp"]
23159    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
23160}
23161extern "C" {
23162    #[link_name = "aws_lc_0_46_0_X509_issuer_name_hash"]
23163    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
23164}
23165extern "C" {
23166    #[link_name = "aws_lc_0_46_0_X509_subject_name_hash"]
23167    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
23168}
23169extern "C" {
23170    #[link_name = "aws_lc_0_46_0_X509_issuer_name_hash_old"]
23171    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
23172}
23173extern "C" {
23174    #[link_name = "aws_lc_0_46_0_X509_subject_name_hash_old"]
23175    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
23176}
23177extern "C" {
23178    #[link_name = "aws_lc_0_46_0_X509_get_ex_new_index"]
23179    pub fn X509_get_ex_new_index(
23180        argl: ::std::os::raw::c_long,
23181        argp: *mut ::std::os::raw::c_void,
23182        unused: *mut CRYPTO_EX_unused,
23183        dup_unused: CRYPTO_EX_dup,
23184        free_func: CRYPTO_EX_free,
23185    ) -> ::std::os::raw::c_int;
23186}
23187extern "C" {
23188    #[link_name = "aws_lc_0_46_0_X509_set_ex_data"]
23189    pub fn X509_set_ex_data(
23190        r: *mut X509,
23191        idx: ::std::os::raw::c_int,
23192        arg: *mut ::std::os::raw::c_void,
23193    ) -> ::std::os::raw::c_int;
23194}
23195extern "C" {
23196    #[link_name = "aws_lc_0_46_0_X509_get_ex_data"]
23197    pub fn X509_get_ex_data(
23198        r: *mut X509,
23199        idx: ::std::os::raw::c_int,
23200    ) -> *mut ::std::os::raw::c_void;
23201}
23202extern "C" {
23203    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_ex_new_index"]
23204    pub fn X509_STORE_CTX_get_ex_new_index(
23205        argl: ::std::os::raw::c_long,
23206        argp: *mut ::std::os::raw::c_void,
23207        unused: *mut CRYPTO_EX_unused,
23208        dup_unused: CRYPTO_EX_dup,
23209        free_func: CRYPTO_EX_free,
23210    ) -> ::std::os::raw::c_int;
23211}
23212extern "C" {
23213    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_ex_data"]
23214    pub fn X509_STORE_CTX_set_ex_data(
23215        ctx: *mut X509_STORE_CTX,
23216        idx: ::std::os::raw::c_int,
23217        data: *mut ::std::os::raw::c_void,
23218    ) -> ::std::os::raw::c_int;
23219}
23220extern "C" {
23221    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_ex_data"]
23222    pub fn X509_STORE_CTX_get_ex_data(
23223        ctx: *mut X509_STORE_CTX,
23224        idx: ::std::os::raw::c_int,
23225    ) -> *mut ::std::os::raw::c_void;
23226}
23227extern "C" {
23228    #[link_name = "aws_lc_0_46_0_X509_STORE_get_ex_new_index"]
23229    pub fn X509_STORE_get_ex_new_index(
23230        argl: ::std::os::raw::c_long,
23231        argp: *mut ::std::os::raw::c_void,
23232        unused: *mut CRYPTO_EX_unused,
23233        dup_unused: CRYPTO_EX_dup,
23234        free_func: CRYPTO_EX_free,
23235    ) -> ::std::os::raw::c_int;
23236}
23237extern "C" {
23238    #[link_name = "aws_lc_0_46_0_X509_STORE_set_ex_data"]
23239    pub fn X509_STORE_set_ex_data(
23240        ctx: *mut X509_STORE,
23241        idx: ::std::os::raw::c_int,
23242        data: *mut ::std::os::raw::c_void,
23243    ) -> ::std::os::raw::c_int;
23244}
23245extern "C" {
23246    #[link_name = "aws_lc_0_46_0_X509_STORE_get_ex_data"]
23247    pub fn X509_STORE_get_ex_data(
23248        ctx: *mut X509_STORE,
23249        idx: ::std::os::raw::c_int,
23250    ) -> *mut ::std::os::raw::c_void;
23251}
23252extern "C" {
23253    #[link_name = "aws_lc_0_46_0_ASN1_digest"]
23254    pub fn ASN1_digest(
23255        i2d: i2d_of_void,
23256        type_: *const EVP_MD,
23257        data: *mut ::std::os::raw::c_char,
23258        md: *mut ::std::os::raw::c_uchar,
23259        len: *mut ::std::os::raw::c_uint,
23260    ) -> ::std::os::raw::c_int;
23261}
23262extern "C" {
23263    #[link_name = "aws_lc_0_46_0_ASN1_item_digest"]
23264    pub fn ASN1_item_digest(
23265        it: *const ASN1_ITEM,
23266        type_: *const EVP_MD,
23267        data: *mut ::std::os::raw::c_void,
23268        md: *mut ::std::os::raw::c_uchar,
23269        len: *mut ::std::os::raw::c_uint,
23270    ) -> ::std::os::raw::c_int;
23271}
23272extern "C" {
23273    #[link_name = "aws_lc_0_46_0_ASN1_item_verify"]
23274    pub fn ASN1_item_verify(
23275        it: *const ASN1_ITEM,
23276        algor1: *const X509_ALGOR,
23277        signature: *const ASN1_BIT_STRING,
23278        data: *mut ::std::os::raw::c_void,
23279        pkey: *mut EVP_PKEY,
23280    ) -> ::std::os::raw::c_int;
23281}
23282extern "C" {
23283    #[link_name = "aws_lc_0_46_0_ASN1_item_sign"]
23284    pub fn ASN1_item_sign(
23285        it: *const ASN1_ITEM,
23286        algor1: *mut X509_ALGOR,
23287        algor2: *mut X509_ALGOR,
23288        signature: *mut ASN1_BIT_STRING,
23289        data: *mut ::std::os::raw::c_void,
23290        pkey: *mut EVP_PKEY,
23291        type_: *const EVP_MD,
23292    ) -> ::std::os::raw::c_int;
23293}
23294extern "C" {
23295    #[link_name = "aws_lc_0_46_0_ASN1_item_sign_ctx"]
23296    pub fn ASN1_item_sign_ctx(
23297        it: *const ASN1_ITEM,
23298        algor1: *mut X509_ALGOR,
23299        algor2: *mut X509_ALGOR,
23300        signature: *mut ASN1_BIT_STRING,
23301        asn: *mut ::std::os::raw::c_void,
23302        ctx: *mut EVP_MD_CTX,
23303    ) -> ::std::os::raw::c_int;
23304}
23305extern "C" {
23306    #[link_name = "aws_lc_0_46_0_X509_supported_extension"]
23307    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
23308}
23309extern "C" {
23310    #[link_name = "aws_lc_0_46_0_X509_check_ca"]
23311    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
23312}
23313extern "C" {
23314    #[link_name = "aws_lc_0_46_0_X509_check_issued"]
23315    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
23316}
23317extern "C" {
23318    #[link_name = "aws_lc_0_46_0_NAME_CONSTRAINTS_check"]
23319    pub fn NAME_CONSTRAINTS_check(
23320        x509: *mut X509,
23321        nc: *mut NAME_CONSTRAINTS,
23322    ) -> ::std::os::raw::c_int;
23323}
23324extern "C" {
23325    #[link_name = "aws_lc_0_46_0_X509_check_host"]
23326    pub fn X509_check_host(
23327        x509: *const X509,
23328        chk: *const ::std::os::raw::c_char,
23329        chklen: usize,
23330        flags: ::std::os::raw::c_uint,
23331        out_peername: *mut *mut ::std::os::raw::c_char,
23332    ) -> ::std::os::raw::c_int;
23333}
23334extern "C" {
23335    #[link_name = "aws_lc_0_46_0_X509_check_email"]
23336    pub fn X509_check_email(
23337        x509: *const X509,
23338        chk: *const ::std::os::raw::c_char,
23339        chklen: usize,
23340        flags: ::std::os::raw::c_uint,
23341    ) -> ::std::os::raw::c_int;
23342}
23343extern "C" {
23344    #[link_name = "aws_lc_0_46_0_X509_check_ip"]
23345    pub fn X509_check_ip(
23346        x509: *const X509,
23347        chk: *const u8,
23348        chklen: usize,
23349        flags: ::std::os::raw::c_uint,
23350    ) -> ::std::os::raw::c_int;
23351}
23352extern "C" {
23353    #[link_name = "aws_lc_0_46_0_X509_check_ip_asc"]
23354    pub fn X509_check_ip_asc(
23355        x509: *const X509,
23356        ipasc: *const ::std::os::raw::c_char,
23357        flags: ::std::os::raw::c_uint,
23358    ) -> ::std::os::raw::c_int;
23359}
23360extern "C" {
23361    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get1_issuer"]
23362    pub fn X509_STORE_CTX_get1_issuer(
23363        out_issuer: *mut *mut X509,
23364        ctx: *mut X509_STORE_CTX,
23365        x509: *mut X509,
23366    ) -> ::std::os::raw::c_int;
23367}
23368extern "C" {
23369    #[link_name = "aws_lc_0_46_0_X509_check_purpose"]
23370    pub fn X509_check_purpose(
23371        x509: *mut X509,
23372        purpose: ::std::os::raw::c_int,
23373        ca: ::std::os::raw::c_int,
23374    ) -> ::std::os::raw::c_int;
23375}
23376extern "C" {
23377    #[link_name = "aws_lc_0_46_0_X509_check_trust"]
23378    pub fn X509_check_trust(
23379        x509: *mut X509,
23380        id: ::std::os::raw::c_int,
23381        flags: ::std::os::raw::c_int,
23382    ) -> ::std::os::raw::c_int;
23383}
23384#[repr(C)]
23385#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23386pub struct private_key_st {
23387    pub dec_pkey: *mut EVP_PKEY,
23388}
23389#[test]
23390fn bindgen_test_layout_private_key_st() {
23391    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
23392    let ptr = UNINIT.as_ptr();
23393    assert_eq!(
23394        ::std::mem::size_of::<private_key_st>(),
23395        8usize,
23396        "Size of private_key_st"
23397    );
23398    assert_eq!(
23399        ::std::mem::align_of::<private_key_st>(),
23400        8usize,
23401        "Alignment of private_key_st"
23402    );
23403    assert_eq!(
23404        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
23405        0usize,
23406        "Offset of field: private_key_st::dec_pkey"
23407    );
23408}
23409impl Default for private_key_st {
23410    fn default() -> Self {
23411        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23412        unsafe {
23413            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23414            s.assume_init()
23415        }
23416    }
23417}
23418#[repr(C)]
23419#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23420pub struct X509_info_st {
23421    pub x509: *mut X509,
23422    pub crl: *mut X509_CRL,
23423    pub x_pkey: *mut X509_PKEY,
23424    pub enc_cipher: EVP_CIPHER_INFO,
23425    pub enc_len: ::std::os::raw::c_int,
23426    pub enc_data: *mut ::std::os::raw::c_char,
23427}
23428#[test]
23429fn bindgen_test_layout_X509_info_st() {
23430    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
23431    let ptr = UNINIT.as_ptr();
23432    assert_eq!(
23433        ::std::mem::size_of::<X509_info_st>(),
23434        64usize,
23435        "Size of X509_info_st"
23436    );
23437    assert_eq!(
23438        ::std::mem::align_of::<X509_info_st>(),
23439        8usize,
23440        "Alignment of X509_info_st"
23441    );
23442    assert_eq!(
23443        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
23444        0usize,
23445        "Offset of field: X509_info_st::x509"
23446    );
23447    assert_eq!(
23448        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23449        8usize,
23450        "Offset of field: X509_info_st::crl"
23451    );
23452    assert_eq!(
23453        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
23454        16usize,
23455        "Offset of field: X509_info_st::x_pkey"
23456    );
23457    assert_eq!(
23458        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
23459        24usize,
23460        "Offset of field: X509_info_st::enc_cipher"
23461    );
23462    assert_eq!(
23463        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
23464        48usize,
23465        "Offset of field: X509_info_st::enc_len"
23466    );
23467    assert_eq!(
23468        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
23469        56usize,
23470        "Offset of field: X509_info_st::enc_data"
23471    );
23472}
23473impl Default for X509_info_st {
23474    fn default() -> Self {
23475        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23476        unsafe {
23477            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23478            s.assume_init()
23479        }
23480    }
23481}
23482#[repr(C)]
23483#[derive(Debug)]
23484pub struct stack_st_X509_INFO {
23485    _unused: [u8; 0],
23486}
23487pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
23488pub type sk_X509_INFO_copy_func =
23489    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
23490pub type sk_X509_INFO_cmp_func = ::std::option::Option<
23491    unsafe extern "C" fn(
23492        arg1: *const *const X509_INFO,
23493        arg2: *const *const X509_INFO,
23494    ) -> ::std::os::raw::c_int,
23495>;
23496pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
23497    unsafe extern "C" fn(
23498        arg1: *mut X509_INFO,
23499        arg2: *mut ::std::os::raw::c_void,
23500    ) -> ::std::os::raw::c_int,
23501>;
23502extern "C" {
23503    #[link_name = "aws_lc_0_46_0_X509_INFO_free"]
23504    pub fn X509_INFO_free(info: *mut X509_INFO);
23505}
23506pub type X509V3_EXT_NEW =
23507    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
23508pub type X509V3_EXT_FREE =
23509    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
23510pub type X509V3_EXT_D2I = ::std::option::Option<
23511    unsafe extern "C" fn(
23512        ext: *mut ::std::os::raw::c_void,
23513        inp: *mut *const u8,
23514        len: ::std::os::raw::c_long,
23515    ) -> *mut ::std::os::raw::c_void,
23516>;
23517pub type X509V3_EXT_I2D = ::std::option::Option<
23518    unsafe extern "C" fn(
23519        ext: *mut ::std::os::raw::c_void,
23520        outp: *mut *mut u8,
23521    ) -> ::std::os::raw::c_int,
23522>;
23523pub type X509V3_EXT_I2V = ::std::option::Option<
23524    unsafe extern "C" fn(
23525        method: *const X509V3_EXT_METHOD,
23526        ext: *mut ::std::os::raw::c_void,
23527        extlist: *mut stack_st_CONF_VALUE,
23528    ) -> *mut stack_st_CONF_VALUE,
23529>;
23530pub type X509V3_EXT_V2I = ::std::option::Option<
23531    unsafe extern "C" fn(
23532        method: *const X509V3_EXT_METHOD,
23533        ctx: *const X509V3_CTX,
23534        values: *const stack_st_CONF_VALUE,
23535    ) -> *mut ::std::os::raw::c_void,
23536>;
23537pub type X509V3_EXT_I2S = ::std::option::Option<
23538    unsafe extern "C" fn(
23539        method: *const X509V3_EXT_METHOD,
23540        ext: *mut ::std::os::raw::c_void,
23541    ) -> *mut ::std::os::raw::c_char,
23542>;
23543pub type X509V3_EXT_S2I = ::std::option::Option<
23544    unsafe extern "C" fn(
23545        method: *const X509V3_EXT_METHOD,
23546        ctx: *const X509V3_CTX,
23547        str_: *const ::std::os::raw::c_char,
23548    ) -> *mut ::std::os::raw::c_void,
23549>;
23550pub type X509V3_EXT_I2R = ::std::option::Option<
23551    unsafe extern "C" fn(
23552        method: *const X509V3_EXT_METHOD,
23553        ext: *mut ::std::os::raw::c_void,
23554        out: *mut BIO,
23555        indent: ::std::os::raw::c_int,
23556    ) -> ::std::os::raw::c_int,
23557>;
23558pub type X509V3_EXT_R2I = ::std::option::Option<
23559    unsafe extern "C" fn(
23560        method: *const X509V3_EXT_METHOD,
23561        ctx: *const X509V3_CTX,
23562        str_: *const ::std::os::raw::c_char,
23563    ) -> *mut ::std::os::raw::c_void,
23564>;
23565#[repr(C)]
23566#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23567pub struct v3_ext_method {
23568    pub ext_nid: ::std::os::raw::c_int,
23569    pub ext_flags: ::std::os::raw::c_int,
23570    pub it: *const ASN1_ITEM_st,
23571    pub ext_new: X509V3_EXT_NEW,
23572    pub ext_free: X509V3_EXT_FREE,
23573    pub d2i: X509V3_EXT_D2I,
23574    pub i2d: X509V3_EXT_I2D,
23575    pub i2s: X509V3_EXT_I2S,
23576    pub s2i: X509V3_EXT_S2I,
23577    pub i2v: X509V3_EXT_I2V,
23578    pub v2i: X509V3_EXT_V2I,
23579    pub i2r: X509V3_EXT_I2R,
23580    pub r2i: X509V3_EXT_R2I,
23581    pub usr_data: *mut ::std::os::raw::c_void,
23582}
23583#[test]
23584fn bindgen_test_layout_v3_ext_method() {
23585    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
23586    let ptr = UNINIT.as_ptr();
23587    assert_eq!(
23588        ::std::mem::size_of::<v3_ext_method>(),
23589        104usize,
23590        "Size of v3_ext_method"
23591    );
23592    assert_eq!(
23593        ::std::mem::align_of::<v3_ext_method>(),
23594        8usize,
23595        "Alignment of v3_ext_method"
23596    );
23597    assert_eq!(
23598        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
23599        0usize,
23600        "Offset of field: v3_ext_method::ext_nid"
23601    );
23602    assert_eq!(
23603        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
23604        4usize,
23605        "Offset of field: v3_ext_method::ext_flags"
23606    );
23607    assert_eq!(
23608        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
23609        8usize,
23610        "Offset of field: v3_ext_method::it"
23611    );
23612    assert_eq!(
23613        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
23614        16usize,
23615        "Offset of field: v3_ext_method::ext_new"
23616    );
23617    assert_eq!(
23618        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
23619        24usize,
23620        "Offset of field: v3_ext_method::ext_free"
23621    );
23622    assert_eq!(
23623        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
23624        32usize,
23625        "Offset of field: v3_ext_method::d2i"
23626    );
23627    assert_eq!(
23628        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
23629        40usize,
23630        "Offset of field: v3_ext_method::i2d"
23631    );
23632    assert_eq!(
23633        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
23634        48usize,
23635        "Offset of field: v3_ext_method::i2s"
23636    );
23637    assert_eq!(
23638        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
23639        56usize,
23640        "Offset of field: v3_ext_method::s2i"
23641    );
23642    assert_eq!(
23643        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
23644        64usize,
23645        "Offset of field: v3_ext_method::i2v"
23646    );
23647    assert_eq!(
23648        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
23649        72usize,
23650        "Offset of field: v3_ext_method::v2i"
23651    );
23652    assert_eq!(
23653        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
23654        80usize,
23655        "Offset of field: v3_ext_method::i2r"
23656    );
23657    assert_eq!(
23658        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
23659        88usize,
23660        "Offset of field: v3_ext_method::r2i"
23661    );
23662    assert_eq!(
23663        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23664        96usize,
23665        "Offset of field: v3_ext_method::usr_data"
23666    );
23667}
23668impl Default for v3_ext_method {
23669    fn default() -> Self {
23670        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23671        unsafe {
23672            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23673            s.assume_init()
23674        }
23675    }
23676}
23677extern "C" {
23678    #[link_name = "aws_lc_0_46_0_X509V3_EXT_get"]
23679    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
23680}
23681extern "C" {
23682    #[link_name = "aws_lc_0_46_0_X509V3_EXT_get_nid"]
23683    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
23684}
23685extern "C" {
23686    #[link_name = "aws_lc_0_46_0_X509V3_EXT_add"]
23687    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
23688}
23689extern "C" {
23690    #[link_name = "aws_lc_0_46_0_X509V3_EXT_add_alias"]
23691    pub fn X509V3_EXT_add_alias(
23692        nid_to: ::std::os::raw::c_int,
23693        nid_from: ::std::os::raw::c_int,
23694    ) -> ::std::os::raw::c_int;
23695}
23696#[repr(C)]
23697#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23698pub struct v3_ext_ctx {
23699    pub flags: ::std::os::raw::c_int,
23700    pub issuer_cert: *const X509,
23701    pub subject_cert: *const X509,
23702    pub subject_req: *const X509_REQ,
23703    pub crl: *const X509_CRL,
23704    pub db: *const CONF,
23705}
23706#[test]
23707fn bindgen_test_layout_v3_ext_ctx() {
23708    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
23709    let ptr = UNINIT.as_ptr();
23710    assert_eq!(
23711        ::std::mem::size_of::<v3_ext_ctx>(),
23712        48usize,
23713        "Size of v3_ext_ctx"
23714    );
23715    assert_eq!(
23716        ::std::mem::align_of::<v3_ext_ctx>(),
23717        8usize,
23718        "Alignment of v3_ext_ctx"
23719    );
23720    assert_eq!(
23721        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23722        0usize,
23723        "Offset of field: v3_ext_ctx::flags"
23724    );
23725    assert_eq!(
23726        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
23727        8usize,
23728        "Offset of field: v3_ext_ctx::issuer_cert"
23729    );
23730    assert_eq!(
23731        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
23732        16usize,
23733        "Offset of field: v3_ext_ctx::subject_cert"
23734    );
23735    assert_eq!(
23736        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
23737        24usize,
23738        "Offset of field: v3_ext_ctx::subject_req"
23739    );
23740    assert_eq!(
23741        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23742        32usize,
23743        "Offset of field: v3_ext_ctx::crl"
23744    );
23745    assert_eq!(
23746        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
23747        40usize,
23748        "Offset of field: v3_ext_ctx::db"
23749    );
23750}
23751impl Default for v3_ext_ctx {
23752    fn default() -> Self {
23753        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23754        unsafe {
23755            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23756            s.assume_init()
23757        }
23758    }
23759}
23760extern "C" {
23761    #[link_name = "aws_lc_0_46_0_X509V3_set_ctx"]
23762    pub fn X509V3_set_ctx(
23763        ctx: *mut X509V3_CTX,
23764        issuer: *const X509,
23765        subject: *const X509,
23766        req: *const X509_REQ,
23767        crl: *const X509_CRL,
23768        flags: ::std::os::raw::c_int,
23769    );
23770}
23771extern "C" {
23772    #[link_name = "aws_lc_0_46_0_X509V3_set_nconf"]
23773    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
23774}
23775extern "C" {
23776    #[link_name = "aws_lc_0_46_0_X509V3_EXT_nconf"]
23777    pub fn X509V3_EXT_nconf(
23778        conf: *const CONF,
23779        ctx: *const X509V3_CTX,
23780        name: *const ::std::os::raw::c_char,
23781        value: *const ::std::os::raw::c_char,
23782    ) -> *mut X509_EXTENSION;
23783}
23784extern "C" {
23785    #[link_name = "aws_lc_0_46_0_X509V3_EXT_nconf_nid"]
23786    pub fn X509V3_EXT_nconf_nid(
23787        conf: *const CONF,
23788        ctx: *const X509V3_CTX,
23789        ext_nid: ::std::os::raw::c_int,
23790        value: *const ::std::os::raw::c_char,
23791    ) -> *mut X509_EXTENSION;
23792}
23793extern "C" {
23794    #[link_name = "aws_lc_0_46_0_X509V3_EXT_conf_nid"]
23795    pub fn X509V3_EXT_conf_nid(
23796        conf: *mut lhash_st_CONF_VALUE,
23797        ctx: *const X509V3_CTX,
23798        ext_nid: ::std::os::raw::c_int,
23799        value: *const ::std::os::raw::c_char,
23800    ) -> *mut X509_EXTENSION;
23801}
23802extern "C" {
23803    #[link_name = "aws_lc_0_46_0_X509V3_EXT_add_nconf_sk"]
23804    pub fn X509V3_EXT_add_nconf_sk(
23805        conf: *const CONF,
23806        ctx: *const X509V3_CTX,
23807        section: *const ::std::os::raw::c_char,
23808        sk: *mut *mut stack_st_X509_EXTENSION,
23809    ) -> ::std::os::raw::c_int;
23810}
23811extern "C" {
23812    #[link_name = "aws_lc_0_46_0_X509V3_EXT_add_nconf"]
23813    pub fn X509V3_EXT_add_nconf(
23814        conf: *const CONF,
23815        ctx: *const X509V3_CTX,
23816        section: *const ::std::os::raw::c_char,
23817        cert: *mut X509,
23818    ) -> ::std::os::raw::c_int;
23819}
23820extern "C" {
23821    #[link_name = "aws_lc_0_46_0_X509V3_EXT_REQ_add_nconf"]
23822    pub fn X509V3_EXT_REQ_add_nconf(
23823        conf: *const CONF,
23824        ctx: *const X509V3_CTX,
23825        section: *const ::std::os::raw::c_char,
23826        req: *mut X509_REQ,
23827    ) -> ::std::os::raw::c_int;
23828}
23829extern "C" {
23830    #[link_name = "aws_lc_0_46_0_X509V3_EXT_CRL_add_nconf"]
23831    pub fn X509V3_EXT_CRL_add_nconf(
23832        conf: *const CONF,
23833        ctx: *const X509V3_CTX,
23834        section: *const ::std::os::raw::c_char,
23835        crl: *mut X509_CRL,
23836    ) -> ::std::os::raw::c_int;
23837}
23838extern "C" {
23839    #[link_name = "aws_lc_0_46_0_X509V3_EXT_conf"]
23840    pub fn X509V3_EXT_conf(
23841        conf: *mut lhash_st_CONF_VALUE,
23842        ctx: *mut X509V3_CTX,
23843        name: *const ::std::os::raw::c_char,
23844        value: *const ::std::os::raw::c_char,
23845    ) -> *mut X509_EXTENSION;
23846}
23847extern "C" {
23848    #[link_name = "aws_lc_0_46_0_i2s_ASN1_OCTET_STRING"]
23849    pub fn i2s_ASN1_OCTET_STRING(
23850        method: *const X509V3_EXT_METHOD,
23851        oct: *const ASN1_OCTET_STRING,
23852    ) -> *mut ::std::os::raw::c_char;
23853}
23854extern "C" {
23855    #[link_name = "aws_lc_0_46_0_s2i_ASN1_OCTET_STRING"]
23856    pub fn s2i_ASN1_OCTET_STRING(
23857        method: *const X509V3_EXT_METHOD,
23858        ctx: *const X509V3_CTX,
23859        str_: *const ::std::os::raw::c_char,
23860    ) -> *mut ASN1_OCTET_STRING;
23861}
23862extern "C" {
23863    #[link_name = "aws_lc_0_46_0_i2s_ASN1_INTEGER"]
23864    pub fn i2s_ASN1_INTEGER(
23865        method: *const X509V3_EXT_METHOD,
23866        aint: *const ASN1_INTEGER,
23867    ) -> *mut ::std::os::raw::c_char;
23868}
23869extern "C" {
23870    #[link_name = "aws_lc_0_46_0_s2i_ASN1_INTEGER"]
23871    pub fn s2i_ASN1_INTEGER(
23872        method: *const X509V3_EXT_METHOD,
23873        value: *const ::std::os::raw::c_char,
23874    ) -> *mut ASN1_INTEGER;
23875}
23876extern "C" {
23877    #[link_name = "aws_lc_0_46_0_i2s_ASN1_ENUMERATED"]
23878    pub fn i2s_ASN1_ENUMERATED(
23879        method: *const X509V3_EXT_METHOD,
23880        aint: *const ASN1_ENUMERATED,
23881    ) -> *mut ::std::os::raw::c_char;
23882}
23883extern "C" {
23884    #[link_name = "aws_lc_0_46_0_X509V3_conf_free"]
23885    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
23886}
23887extern "C" {
23888    #[link_name = "aws_lc_0_46_0_i2v_GENERAL_NAME"]
23889    pub fn i2v_GENERAL_NAME(
23890        method: *const X509V3_EXT_METHOD,
23891        gen_: *const GENERAL_NAME,
23892        ret: *mut stack_st_CONF_VALUE,
23893    ) -> *mut stack_st_CONF_VALUE;
23894}
23895extern "C" {
23896    #[link_name = "aws_lc_0_46_0_i2v_GENERAL_NAMES"]
23897    pub fn i2v_GENERAL_NAMES(
23898        method: *const X509V3_EXT_METHOD,
23899        gen_: *const GENERAL_NAMES,
23900        extlist: *mut stack_st_CONF_VALUE,
23901    ) -> *mut stack_st_CONF_VALUE;
23902}
23903extern "C" {
23904    #[link_name = "aws_lc_0_46_0_a2i_IPADDRESS"]
23905    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23906}
23907extern "C" {
23908    #[link_name = "aws_lc_0_46_0_a2i_IPADDRESS_NC"]
23909    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23910}
23911extern "C" {
23912    #[link_name = "aws_lc_0_46_0_X509_get_notBefore"]
23913    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
23914}
23915extern "C" {
23916    #[link_name = "aws_lc_0_46_0_X509_get_notAfter"]
23917    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
23918}
23919extern "C" {
23920    #[link_name = "aws_lc_0_46_0_X509_set_notBefore"]
23921    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23922}
23923extern "C" {
23924    #[link_name = "aws_lc_0_46_0_X509_set_notAfter"]
23925    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23926}
23927extern "C" {
23928    #[link_name = "aws_lc_0_46_0_X509_CRL_get_lastUpdate"]
23929    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23930}
23931extern "C" {
23932    #[link_name = "aws_lc_0_46_0_X509_CRL_get_nextUpdate"]
23933    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23934}
23935extern "C" {
23936    #[link_name = "aws_lc_0_46_0_X509_get_serialNumber"]
23937    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
23938}
23939extern "C" {
23940    #[link_name = "aws_lc_0_46_0_X509_NAME_get_text_by_OBJ"]
23941    pub fn X509_NAME_get_text_by_OBJ(
23942        name: *const X509_NAME,
23943        obj: *const ASN1_OBJECT,
23944        buf: *mut ::std::os::raw::c_char,
23945        len: ::std::os::raw::c_int,
23946    ) -> ::std::os::raw::c_int;
23947}
23948extern "C" {
23949    #[link_name = "aws_lc_0_46_0_X509_NAME_get_text_by_NID"]
23950    pub fn X509_NAME_get_text_by_NID(
23951        name: *const X509_NAME,
23952        nid: ::std::os::raw::c_int,
23953        buf: *mut ::std::os::raw::c_char,
23954        len: ::std::os::raw::c_int,
23955    ) -> ::std::os::raw::c_int;
23956}
23957extern "C" {
23958    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get0_parent_ctx"]
23959    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
23960}
23961extern "C" {
23962    #[link_name = "aws_lc_0_46_0_X509_LOOKUP_free"]
23963    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
23964}
23965extern "C" {
23966    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_cleanup"]
23967    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
23968}
23969extern "C" {
23970    #[link_name = "aws_lc_0_46_0_X509V3_add_standard_extensions"]
23971    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
23972}
23973extern "C" {
23974    #[link_name = "aws_lc_0_46_0_X509V3_parse_list"]
23975    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
23976}
23977extern "C" {
23978    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_chain"]
23979    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
23980}
23981extern "C" {
23982    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_trusted_stack"]
23983    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23984}
23985pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
23986    unsafe extern "C" fn(
23987        arg1: ::std::os::raw::c_int,
23988        arg2: *mut X509_STORE_CTX,
23989    ) -> ::std::os::raw::c_int,
23990>;
23991extern "C" {
23992    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_verify_cb"]
23993    pub fn X509_STORE_CTX_set_verify_cb(
23994        ctx: *mut X509_STORE_CTX,
23995        verify_cb: ::std::option::Option<
23996            unsafe extern "C" fn(
23997                ok: ::std::os::raw::c_int,
23998                ctx: *mut X509_STORE_CTX,
23999            ) -> ::std::os::raw::c_int,
24000        >,
24001    );
24002}
24003extern "C" {
24004    #[link_name = "aws_lc_0_46_0_X509_STORE_get_verify_cb"]
24005    pub fn X509_STORE_get_verify_cb(ctx: *mut X509_STORE) -> X509_STORE_CTX_verify_cb;
24006}
24007extern "C" {
24008    #[link_name = "aws_lc_0_46_0_X509_STORE_set_verify_cb"]
24009    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
24010}
24011pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
24012    unsafe extern "C" fn(
24013        ctx: *mut X509_STORE_CTX,
24014        crl: *mut *mut X509_CRL,
24015        x: *mut X509,
24016    ) -> ::std::os::raw::c_int,
24017>;
24018pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
24019    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
24020>;
24021extern "C" {
24022    #[link_name = "aws_lc_0_46_0_X509_STORE_set_get_crl"]
24023    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
24024}
24025extern "C" {
24026    #[link_name = "aws_lc_0_46_0_X509_STORE_set_check_crl"]
24027    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
24028}
24029extern "C" {
24030    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set_chain"]
24031    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24032}
24033extern "C" {
24034    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_set0_untrusted"]
24035    pub fn X509_STORE_CTX_set0_untrusted(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24036}
24037#[repr(C)]
24038#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24039pub struct x509_purpose_st {
24040    pub purpose: ::std::os::raw::c_int,
24041    pub trust: ::std::os::raw::c_int,
24042    pub flags: ::std::os::raw::c_int,
24043    pub check_purpose: ::std::option::Option<
24044        unsafe extern "C" fn(
24045            arg1: *const x509_purpose_st,
24046            arg2: *const X509,
24047            arg3: ::std::os::raw::c_int,
24048        ) -> ::std::os::raw::c_int,
24049    >,
24050    pub name: *mut ::std::os::raw::c_char,
24051    pub sname: *mut ::std::os::raw::c_char,
24052    pub usr_data: *mut ::std::os::raw::c_void,
24053}
24054#[test]
24055fn bindgen_test_layout_x509_purpose_st() {
24056    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
24057    let ptr = UNINIT.as_ptr();
24058    assert_eq!(
24059        ::std::mem::size_of::<x509_purpose_st>(),
24060        48usize,
24061        "Size of x509_purpose_st"
24062    );
24063    assert_eq!(
24064        ::std::mem::align_of::<x509_purpose_st>(),
24065        8usize,
24066        "Alignment of x509_purpose_st"
24067    );
24068    assert_eq!(
24069        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
24070        0usize,
24071        "Offset of field: x509_purpose_st::purpose"
24072    );
24073    assert_eq!(
24074        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24075        4usize,
24076        "Offset of field: x509_purpose_st::trust"
24077    );
24078    assert_eq!(
24079        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24080        8usize,
24081        "Offset of field: x509_purpose_st::flags"
24082    );
24083    assert_eq!(
24084        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
24085        16usize,
24086        "Offset of field: x509_purpose_st::check_purpose"
24087    );
24088    assert_eq!(
24089        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24090        24usize,
24091        "Offset of field: x509_purpose_st::name"
24092    );
24093    assert_eq!(
24094        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
24095        32usize,
24096        "Offset of field: x509_purpose_st::sname"
24097    );
24098    assert_eq!(
24099        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24100        40usize,
24101        "Offset of field: x509_purpose_st::usr_data"
24102    );
24103}
24104impl Default for x509_purpose_st {
24105    fn default() -> Self {
24106        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24107        unsafe {
24108            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24109            s.assume_init()
24110        }
24111    }
24112}
24113pub type X509_PURPOSE = x509_purpose_st;
24114#[repr(C)]
24115#[derive(Debug)]
24116pub struct stack_st_X509_PURPOSE {
24117    _unused: [u8; 0],
24118}
24119pub type sk_X509_PURPOSE_free_func =
24120    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
24121pub type sk_X509_PURPOSE_copy_func =
24122    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
24123pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
24124    unsafe extern "C" fn(
24125        arg1: *const *const X509_PURPOSE,
24126        arg2: *const *const X509_PURPOSE,
24127    ) -> ::std::os::raw::c_int,
24128>;
24129pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
24130    unsafe extern "C" fn(
24131        arg1: *mut X509_PURPOSE,
24132        arg2: *mut ::std::os::raw::c_void,
24133    ) -> ::std::os::raw::c_int,
24134>;
24135extern "C" {
24136    #[link_name = "aws_lc_0_46_0_X509_STORE_get0_objects"]
24137    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
24138}
24139extern "C" {
24140    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get_by_sname"]
24141    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
24142        -> ::std::os::raw::c_int;
24143}
24144extern "C" {
24145    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get0"]
24146    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
24147}
24148extern "C" {
24149    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get_id"]
24150    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24151}
24152#[repr(C)]
24153#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24154pub struct X509_algor_st {
24155    pub algorithm: *mut ASN1_OBJECT,
24156    pub parameter: *mut ASN1_TYPE,
24157}
24158#[test]
24159fn bindgen_test_layout_X509_algor_st() {
24160    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
24161    let ptr = UNINIT.as_ptr();
24162    assert_eq!(
24163        ::std::mem::size_of::<X509_algor_st>(),
24164        16usize,
24165        "Size of X509_algor_st"
24166    );
24167    assert_eq!(
24168        ::std::mem::align_of::<X509_algor_st>(),
24169        8usize,
24170        "Alignment of X509_algor_st"
24171    );
24172    assert_eq!(
24173        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
24174        0usize,
24175        "Offset of field: X509_algor_st::algorithm"
24176    );
24177    assert_eq!(
24178        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
24179        8usize,
24180        "Offset of field: X509_algor_st::parameter"
24181    );
24182}
24183impl Default for X509_algor_st {
24184    fn default() -> Self {
24185        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24186        unsafe {
24187            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24188            s.assume_init()
24189        }
24190    }
24191}
24192#[repr(C)]
24193#[derive(Debug)]
24194pub struct stack_st_DIST_POINT {
24195    _unused: [u8; 0],
24196}
24197#[repr(C)]
24198#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24199pub struct x509_trust_st {
24200    pub trust: ::std::os::raw::c_int,
24201    pub flags: ::std::os::raw::c_int,
24202    pub check_trust: ::std::option::Option<
24203        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
24204    >,
24205    pub name: *mut ::std::os::raw::c_char,
24206    pub arg1: ::std::os::raw::c_int,
24207    pub arg2: *mut ::std::os::raw::c_void,
24208}
24209#[test]
24210fn bindgen_test_layout_x509_trust_st() {
24211    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
24212    let ptr = UNINIT.as_ptr();
24213    assert_eq!(
24214        ::std::mem::size_of::<x509_trust_st>(),
24215        40usize,
24216        "Size of x509_trust_st"
24217    );
24218    assert_eq!(
24219        ::std::mem::align_of::<x509_trust_st>(),
24220        8usize,
24221        "Alignment of x509_trust_st"
24222    );
24223    assert_eq!(
24224        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24225        0usize,
24226        "Offset of field: x509_trust_st::trust"
24227    );
24228    assert_eq!(
24229        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24230        4usize,
24231        "Offset of field: x509_trust_st::flags"
24232    );
24233    assert_eq!(
24234        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
24235        8usize,
24236        "Offset of field: x509_trust_st::check_trust"
24237    );
24238    assert_eq!(
24239        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24240        16usize,
24241        "Offset of field: x509_trust_st::name"
24242    );
24243    assert_eq!(
24244        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
24245        24usize,
24246        "Offset of field: x509_trust_st::arg1"
24247    );
24248    assert_eq!(
24249        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
24250        32usize,
24251        "Offset of field: x509_trust_st::arg2"
24252    );
24253}
24254impl Default for x509_trust_st {
24255    fn default() -> Self {
24256        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24257        unsafe {
24258            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24259            s.assume_init()
24260        }
24261    }
24262}
24263#[repr(C)]
24264#[derive(Debug)]
24265pub struct stack_st_X509_TRUST {
24266    _unused: [u8; 0],
24267}
24268pub type sk_X509_TRUST_free_func =
24269    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
24270pub type sk_X509_TRUST_copy_func =
24271    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
24272pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
24273    unsafe extern "C" fn(
24274        arg1: *const *const X509_TRUST,
24275        arg2: *const *const X509_TRUST,
24276    ) -> ::std::os::raw::c_int,
24277>;
24278pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
24279    unsafe extern "C" fn(
24280        arg1: *mut X509_TRUST,
24281        arg2: *mut ::std::os::raw::c_void,
24282    ) -> ::std::os::raw::c_int,
24283>;
24284extern "C" {
24285    #[link_name = "aws_lc_0_46_0_X509_TRUST_set"]
24286    pub fn X509_TRUST_set(
24287        t: *mut ::std::os::raw::c_int,
24288        trust: ::std::os::raw::c_int,
24289    ) -> ::std::os::raw::c_int;
24290}
24291extern "C" {
24292    #[link_name = "aws_lc_0_46_0_X509_TRUST_get_count"]
24293    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
24294}
24295extern "C" {
24296    #[link_name = "aws_lc_0_46_0_X509_TRUST_get0"]
24297    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
24298}
24299extern "C" {
24300    #[link_name = "aws_lc_0_46_0_X509_TRUST_get_by_id"]
24301    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24302}
24303extern "C" {
24304    #[link_name = "aws_lc_0_46_0_X509_TRUST_get_flags"]
24305    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
24306}
24307extern "C" {
24308    #[link_name = "aws_lc_0_46_0_X509_TRUST_get0_name"]
24309    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
24310}
24311extern "C" {
24312    #[link_name = "aws_lc_0_46_0_X509_TRUST_get_trust"]
24313    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
24314}
24315extern "C" {
24316    #[link_name = "aws_lc_0_46_0_X509_TRUST_cleanup"]
24317    pub fn X509_TRUST_cleanup();
24318}
24319extern "C" {
24320    #[link_name = "aws_lc_0_46_0_X509_OBJECT_get0_X509_CRL"]
24321    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
24322}
24323extern "C" {
24324    #[link_name = "aws_lc_0_46_0_X509_OBJECT_set1_X509"]
24325    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
24326}
24327extern "C" {
24328    #[link_name = "aws_lc_0_46_0_X509_OBJECT_set1_X509_CRL"]
24329    pub fn X509_OBJECT_set1_X509_CRL(
24330        a: *mut X509_OBJECT,
24331        obj: *mut X509_CRL,
24332    ) -> ::std::os::raw::c_int;
24333}
24334extern "C" {
24335    #[link_name = "aws_lc_0_46_0_X509_STORE_lock"]
24336    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
24337}
24338extern "C" {
24339    #[link_name = "aws_lc_0_46_0_X509_STORE_unlock"]
24340    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
24341}
24342extern "C" {
24343    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get1_certs"]
24344    pub fn X509_STORE_CTX_get1_certs(
24345        st: *mut X509_STORE_CTX,
24346        nm: *mut X509_NAME,
24347    ) -> *mut stack_st_X509;
24348}
24349extern "C" {
24350    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get1_crls"]
24351    pub fn X509_STORE_CTX_get1_crls(
24352        st: *mut X509_STORE_CTX,
24353        nm: *mut X509_NAME,
24354    ) -> *mut stack_st_X509_CRL;
24355}
24356extern "C" {
24357    #[link_name = "aws_lc_0_46_0_X509_STORE_CTX_get_by_subject"]
24358    pub fn X509_STORE_CTX_get_by_subject(
24359        vs: *mut X509_STORE_CTX,
24360        type_: ::std::os::raw::c_int,
24361        name: *mut X509_NAME,
24362        ret: *mut X509_OBJECT,
24363    ) -> ::std::os::raw::c_int;
24364}
24365#[repr(C)]
24366#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24367pub struct BASIC_CONSTRAINTS_st {
24368    pub ca: ASN1_BOOLEAN,
24369    pub pathlen: *mut ASN1_INTEGER,
24370}
24371#[test]
24372fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
24373    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
24374    let ptr = UNINIT.as_ptr();
24375    assert_eq!(
24376        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
24377        16usize,
24378        "Size of BASIC_CONSTRAINTS_st"
24379    );
24380    assert_eq!(
24381        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
24382        8usize,
24383        "Alignment of BASIC_CONSTRAINTS_st"
24384    );
24385    assert_eq!(
24386        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
24387        0usize,
24388        "Offset of field: BASIC_CONSTRAINTS_st::ca"
24389    );
24390    assert_eq!(
24391        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
24392        8usize,
24393        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
24394    );
24395}
24396impl Default for BASIC_CONSTRAINTS_st {
24397    fn default() -> Self {
24398        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24399        unsafe {
24400            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24401            s.assume_init()
24402        }
24403    }
24404}
24405#[repr(C)]
24406#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24407pub struct ACCESS_DESCRIPTION_st {
24408    pub method: *mut ASN1_OBJECT,
24409    pub location: *mut GENERAL_NAME,
24410}
24411#[test]
24412fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
24413    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
24414        ::std::mem::MaybeUninit::uninit();
24415    let ptr = UNINIT.as_ptr();
24416    assert_eq!(
24417        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
24418        16usize,
24419        "Size of ACCESS_DESCRIPTION_st"
24420    );
24421    assert_eq!(
24422        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
24423        8usize,
24424        "Alignment of ACCESS_DESCRIPTION_st"
24425    );
24426    assert_eq!(
24427        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
24428        0usize,
24429        "Offset of field: ACCESS_DESCRIPTION_st::method"
24430    );
24431    assert_eq!(
24432        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
24433        8usize,
24434        "Offset of field: ACCESS_DESCRIPTION_st::location"
24435    );
24436}
24437impl Default for ACCESS_DESCRIPTION_st {
24438    fn default() -> Self {
24439        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24440        unsafe {
24441            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24442            s.assume_init()
24443        }
24444    }
24445}
24446pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
24447#[repr(C)]
24448#[derive(Debug)]
24449pub struct stack_st_ACCESS_DESCRIPTION {
24450    _unused: [u8; 0],
24451}
24452pub type sk_ACCESS_DESCRIPTION_free_func =
24453    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
24454pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
24455    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
24456>;
24457pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
24458    unsafe extern "C" fn(
24459        arg1: *const *const ACCESS_DESCRIPTION,
24460        arg2: *const *const ACCESS_DESCRIPTION,
24461    ) -> ::std::os::raw::c_int,
24462>;
24463pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
24464    unsafe extern "C" fn(
24465        arg1: *mut ACCESS_DESCRIPTION,
24466        arg2: *mut ::std::os::raw::c_void,
24467    ) -> ::std::os::raw::c_int,
24468>;
24469pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
24470pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
24471#[repr(C)]
24472#[derive(Copy, Clone)]
24473pub struct DIST_POINT_NAME_st {
24474    pub type_: ::std::os::raw::c_int,
24475    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
24476    pub dpname: *mut X509_NAME,
24477}
24478#[repr(C)]
24479#[derive(Copy, Clone)]
24480pub union DIST_POINT_NAME_st__bindgen_ty_1 {
24481    pub fullname: *mut GENERAL_NAMES,
24482    pub relativename: *mut stack_st_X509_NAME_ENTRY,
24483}
24484#[test]
24485fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
24486    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
24487        ::std::mem::MaybeUninit::uninit();
24488    let ptr = UNINIT.as_ptr();
24489    assert_eq!(
24490        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
24491        8usize,
24492        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
24493    );
24494    assert_eq!(
24495        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
24496        8usize,
24497        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
24498    );
24499    assert_eq!(
24500        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
24501        0usize,
24502        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
24503    );
24504    assert_eq!(
24505        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
24506        0usize,
24507        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
24508    );
24509}
24510impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
24511    fn default() -> Self {
24512        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24513        unsafe {
24514            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24515            s.assume_init()
24516        }
24517    }
24518}
24519#[test]
24520fn bindgen_test_layout_DIST_POINT_NAME_st() {
24521    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
24522    let ptr = UNINIT.as_ptr();
24523    assert_eq!(
24524        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
24525        24usize,
24526        "Size of DIST_POINT_NAME_st"
24527    );
24528    assert_eq!(
24529        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
24530        8usize,
24531        "Alignment of DIST_POINT_NAME_st"
24532    );
24533    assert_eq!(
24534        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
24535        0usize,
24536        "Offset of field: DIST_POINT_NAME_st::type_"
24537    );
24538    assert_eq!(
24539        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24540        8usize,
24541        "Offset of field: DIST_POINT_NAME_st::name"
24542    );
24543    assert_eq!(
24544        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
24545        16usize,
24546        "Offset of field: DIST_POINT_NAME_st::dpname"
24547    );
24548}
24549impl Default for DIST_POINT_NAME_st {
24550    fn default() -> Self {
24551        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24552        unsafe {
24553            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24554            s.assume_init()
24555        }
24556    }
24557}
24558pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
24559#[repr(C)]
24560#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24561pub struct DIST_POINT_st {
24562    pub distpoint: *mut DIST_POINT_NAME,
24563    pub reasons: *mut ASN1_BIT_STRING,
24564    pub CRLissuer: *mut GENERAL_NAMES,
24565}
24566#[test]
24567fn bindgen_test_layout_DIST_POINT_st() {
24568    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
24569    let ptr = UNINIT.as_ptr();
24570    assert_eq!(
24571        ::std::mem::size_of::<DIST_POINT_st>(),
24572        24usize,
24573        "Size of DIST_POINT_st"
24574    );
24575    assert_eq!(
24576        ::std::mem::align_of::<DIST_POINT_st>(),
24577        8usize,
24578        "Alignment of DIST_POINT_st"
24579    );
24580    assert_eq!(
24581        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24582        0usize,
24583        "Offset of field: DIST_POINT_st::distpoint"
24584    );
24585    assert_eq!(
24586        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
24587        8usize,
24588        "Offset of field: DIST_POINT_st::reasons"
24589    );
24590    assert_eq!(
24591        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
24592        16usize,
24593        "Offset of field: DIST_POINT_st::CRLissuer"
24594    );
24595}
24596impl Default for DIST_POINT_st {
24597    fn default() -> Self {
24598        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24599        unsafe {
24600            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24601            s.assume_init()
24602        }
24603    }
24604}
24605pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
24606pub type sk_DIST_POINT_free_func =
24607    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
24608pub type sk_DIST_POINT_copy_func =
24609    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
24610pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
24611    unsafe extern "C" fn(
24612        arg1: *const *const DIST_POINT,
24613        arg2: *const *const DIST_POINT,
24614    ) -> ::std::os::raw::c_int,
24615>;
24616pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
24617    unsafe extern "C" fn(
24618        arg1: *mut DIST_POINT,
24619        arg2: *mut ::std::os::raw::c_void,
24620    ) -> ::std::os::raw::c_int,
24621>;
24622#[repr(C)]
24623#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24624pub struct AUTHORITY_KEYID_st {
24625    pub keyid: *mut ASN1_OCTET_STRING,
24626    pub issuer: *mut GENERAL_NAMES,
24627    pub serial: *mut ASN1_INTEGER,
24628}
24629#[test]
24630fn bindgen_test_layout_AUTHORITY_KEYID_st() {
24631    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
24632    let ptr = UNINIT.as_ptr();
24633    assert_eq!(
24634        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
24635        24usize,
24636        "Size of AUTHORITY_KEYID_st"
24637    );
24638    assert_eq!(
24639        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
24640        8usize,
24641        "Alignment of AUTHORITY_KEYID_st"
24642    );
24643    assert_eq!(
24644        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
24645        0usize,
24646        "Offset of field: AUTHORITY_KEYID_st::keyid"
24647    );
24648    assert_eq!(
24649        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
24650        8usize,
24651        "Offset of field: AUTHORITY_KEYID_st::issuer"
24652    );
24653    assert_eq!(
24654        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
24655        16usize,
24656        "Offset of field: AUTHORITY_KEYID_st::serial"
24657    );
24658}
24659impl Default for AUTHORITY_KEYID_st {
24660    fn default() -> Self {
24661        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24662        unsafe {
24663            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24664            s.assume_init()
24665        }
24666    }
24667}
24668#[repr(C)]
24669#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24670pub struct NOTICEREF_st {
24671    pub organization: *mut ASN1_STRING,
24672    pub noticenos: *mut stack_st_ASN1_INTEGER,
24673}
24674#[test]
24675fn bindgen_test_layout_NOTICEREF_st() {
24676    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
24677    let ptr = UNINIT.as_ptr();
24678    assert_eq!(
24679        ::std::mem::size_of::<NOTICEREF_st>(),
24680        16usize,
24681        "Size of NOTICEREF_st"
24682    );
24683    assert_eq!(
24684        ::std::mem::align_of::<NOTICEREF_st>(),
24685        8usize,
24686        "Alignment of NOTICEREF_st"
24687    );
24688    assert_eq!(
24689        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
24690        0usize,
24691        "Offset of field: NOTICEREF_st::organization"
24692    );
24693    assert_eq!(
24694        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
24695        8usize,
24696        "Offset of field: NOTICEREF_st::noticenos"
24697    );
24698}
24699impl Default for NOTICEREF_st {
24700    fn default() -> Self {
24701        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24702        unsafe {
24703            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24704            s.assume_init()
24705        }
24706    }
24707}
24708pub type NOTICEREF = NOTICEREF_st;
24709#[repr(C)]
24710#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24711pub struct USERNOTICE_st {
24712    pub noticeref: *mut NOTICEREF,
24713    pub exptext: *mut ASN1_STRING,
24714}
24715#[test]
24716fn bindgen_test_layout_USERNOTICE_st() {
24717    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
24718    let ptr = UNINIT.as_ptr();
24719    assert_eq!(
24720        ::std::mem::size_of::<USERNOTICE_st>(),
24721        16usize,
24722        "Size of USERNOTICE_st"
24723    );
24724    assert_eq!(
24725        ::std::mem::align_of::<USERNOTICE_st>(),
24726        8usize,
24727        "Alignment of USERNOTICE_st"
24728    );
24729    assert_eq!(
24730        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
24731        0usize,
24732        "Offset of field: USERNOTICE_st::noticeref"
24733    );
24734    assert_eq!(
24735        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
24736        8usize,
24737        "Offset of field: USERNOTICE_st::exptext"
24738    );
24739}
24740impl Default for USERNOTICE_st {
24741    fn default() -> Self {
24742        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24743        unsafe {
24744            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24745            s.assume_init()
24746        }
24747    }
24748}
24749pub type USERNOTICE = USERNOTICE_st;
24750#[repr(C)]
24751#[derive(Copy, Clone)]
24752pub struct POLICYQUALINFO_st {
24753    pub pqualid: *mut ASN1_OBJECT,
24754    pub d: POLICYQUALINFO_st__bindgen_ty_1,
24755}
24756#[repr(C)]
24757#[derive(Copy, Clone)]
24758pub union POLICYQUALINFO_st__bindgen_ty_1 {
24759    pub cpsuri: *mut ASN1_IA5STRING,
24760    pub usernotice: *mut USERNOTICE,
24761    pub other: *mut ASN1_TYPE,
24762}
24763#[test]
24764fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
24765    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
24766        ::std::mem::MaybeUninit::uninit();
24767    let ptr = UNINIT.as_ptr();
24768    assert_eq!(
24769        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24770        8usize,
24771        "Size of POLICYQUALINFO_st__bindgen_ty_1"
24772    );
24773    assert_eq!(
24774        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24775        8usize,
24776        "Alignment of POLICYQUALINFO_st__bindgen_ty_1"
24777    );
24778    assert_eq!(
24779        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
24780        0usize,
24781        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::cpsuri"
24782    );
24783    assert_eq!(
24784        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
24785        0usize,
24786        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::usernotice"
24787    );
24788    assert_eq!(
24789        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
24790        0usize,
24791        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::other"
24792    );
24793}
24794impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
24795    fn default() -> Self {
24796        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24797        unsafe {
24798            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24799            s.assume_init()
24800        }
24801    }
24802}
24803#[test]
24804fn bindgen_test_layout_POLICYQUALINFO_st() {
24805    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
24806    let ptr = UNINIT.as_ptr();
24807    assert_eq!(
24808        ::std::mem::size_of::<POLICYQUALINFO_st>(),
24809        16usize,
24810        "Size of POLICYQUALINFO_st"
24811    );
24812    assert_eq!(
24813        ::std::mem::align_of::<POLICYQUALINFO_st>(),
24814        8usize,
24815        "Alignment of POLICYQUALINFO_st"
24816    );
24817    assert_eq!(
24818        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
24819        0usize,
24820        "Offset of field: POLICYQUALINFO_st::pqualid"
24821    );
24822    assert_eq!(
24823        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
24824        8usize,
24825        "Offset of field: POLICYQUALINFO_st::d"
24826    );
24827}
24828impl Default for POLICYQUALINFO_st {
24829    fn default() -> Self {
24830        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24831        unsafe {
24832            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24833            s.assume_init()
24834        }
24835    }
24836}
24837pub type POLICYQUALINFO = POLICYQUALINFO_st;
24838#[repr(C)]
24839#[derive(Debug)]
24840pub struct stack_st_POLICYQUALINFO {
24841    _unused: [u8; 0],
24842}
24843pub type sk_POLICYQUALINFO_free_func =
24844    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
24845pub type sk_POLICYQUALINFO_copy_func =
24846    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
24847pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
24848    unsafe extern "C" fn(
24849        arg1: *const *const POLICYQUALINFO,
24850        arg2: *const *const POLICYQUALINFO,
24851    ) -> ::std::os::raw::c_int,
24852>;
24853pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
24854    unsafe extern "C" fn(
24855        arg1: *mut POLICYQUALINFO,
24856        arg2: *mut ::std::os::raw::c_void,
24857    ) -> ::std::os::raw::c_int,
24858>;
24859#[repr(C)]
24860#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24861pub struct POLICYINFO_st {
24862    pub policyid: *mut ASN1_OBJECT,
24863    pub qualifiers: *mut stack_st_POLICYQUALINFO,
24864}
24865#[test]
24866fn bindgen_test_layout_POLICYINFO_st() {
24867    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
24868    let ptr = UNINIT.as_ptr();
24869    assert_eq!(
24870        ::std::mem::size_of::<POLICYINFO_st>(),
24871        16usize,
24872        "Size of POLICYINFO_st"
24873    );
24874    assert_eq!(
24875        ::std::mem::align_of::<POLICYINFO_st>(),
24876        8usize,
24877        "Alignment of POLICYINFO_st"
24878    );
24879    assert_eq!(
24880        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
24881        0usize,
24882        "Offset of field: POLICYINFO_st::policyid"
24883    );
24884    assert_eq!(
24885        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
24886        8usize,
24887        "Offset of field: POLICYINFO_st::qualifiers"
24888    );
24889}
24890impl Default for POLICYINFO_st {
24891    fn default() -> Self {
24892        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24893        unsafe {
24894            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24895            s.assume_init()
24896        }
24897    }
24898}
24899pub type POLICYINFO = POLICYINFO_st;
24900#[repr(C)]
24901#[derive(Debug)]
24902pub struct stack_st_POLICYINFO {
24903    _unused: [u8; 0],
24904}
24905pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
24906pub type sk_POLICYINFO_free_func =
24907    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
24908pub type sk_POLICYINFO_copy_func =
24909    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
24910pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
24911    unsafe extern "C" fn(
24912        arg1: *const *const POLICYINFO,
24913        arg2: *const *const POLICYINFO,
24914    ) -> ::std::os::raw::c_int,
24915>;
24916pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
24917    unsafe extern "C" fn(
24918        arg1: *mut POLICYINFO,
24919        arg2: *mut ::std::os::raw::c_void,
24920    ) -> ::std::os::raw::c_int,
24921>;
24922#[repr(C)]
24923#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24924pub struct POLICY_MAPPING_st {
24925    pub issuerDomainPolicy: *mut ASN1_OBJECT,
24926    pub subjectDomainPolicy: *mut ASN1_OBJECT,
24927}
24928#[test]
24929fn bindgen_test_layout_POLICY_MAPPING_st() {
24930    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
24931    let ptr = UNINIT.as_ptr();
24932    assert_eq!(
24933        ::std::mem::size_of::<POLICY_MAPPING_st>(),
24934        16usize,
24935        "Size of POLICY_MAPPING_st"
24936    );
24937    assert_eq!(
24938        ::std::mem::align_of::<POLICY_MAPPING_st>(),
24939        8usize,
24940        "Alignment of POLICY_MAPPING_st"
24941    );
24942    assert_eq!(
24943        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
24944        0usize,
24945        "Offset of field: POLICY_MAPPING_st::issuerDomainPolicy"
24946    );
24947    assert_eq!(
24948        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
24949        8usize,
24950        "Offset of field: POLICY_MAPPING_st::subjectDomainPolicy"
24951    );
24952}
24953impl Default for POLICY_MAPPING_st {
24954    fn default() -> Self {
24955        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24956        unsafe {
24957            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24958            s.assume_init()
24959        }
24960    }
24961}
24962pub type POLICY_MAPPING = POLICY_MAPPING_st;
24963#[repr(C)]
24964#[derive(Debug)]
24965pub struct stack_st_POLICY_MAPPING {
24966    _unused: [u8; 0],
24967}
24968pub type sk_POLICY_MAPPING_free_func =
24969    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
24970pub type sk_POLICY_MAPPING_copy_func =
24971    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
24972pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
24973    unsafe extern "C" fn(
24974        arg1: *const *const POLICY_MAPPING,
24975        arg2: *const *const POLICY_MAPPING,
24976    ) -> ::std::os::raw::c_int,
24977>;
24978pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
24979    unsafe extern "C" fn(
24980        arg1: *mut POLICY_MAPPING,
24981        arg2: *mut ::std::os::raw::c_void,
24982    ) -> ::std::os::raw::c_int,
24983>;
24984pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
24985#[repr(C)]
24986#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24987pub struct GENERAL_SUBTREE_st {
24988    pub base: *mut GENERAL_NAME,
24989    pub minimum: *mut ASN1_INTEGER,
24990    pub maximum: *mut ASN1_INTEGER,
24991}
24992#[test]
24993fn bindgen_test_layout_GENERAL_SUBTREE_st() {
24994    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
24995    let ptr = UNINIT.as_ptr();
24996    assert_eq!(
24997        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
24998        24usize,
24999        "Size of GENERAL_SUBTREE_st"
25000    );
25001    assert_eq!(
25002        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
25003        8usize,
25004        "Alignment of GENERAL_SUBTREE_st"
25005    );
25006    assert_eq!(
25007        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
25008        0usize,
25009        "Offset of field: GENERAL_SUBTREE_st::base"
25010    );
25011    assert_eq!(
25012        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
25013        8usize,
25014        "Offset of field: GENERAL_SUBTREE_st::minimum"
25015    );
25016    assert_eq!(
25017        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
25018        16usize,
25019        "Offset of field: GENERAL_SUBTREE_st::maximum"
25020    );
25021}
25022impl Default for GENERAL_SUBTREE_st {
25023    fn default() -> Self {
25024        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25025        unsafe {
25026            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25027            s.assume_init()
25028        }
25029    }
25030}
25031pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
25032#[repr(C)]
25033#[derive(Debug)]
25034pub struct stack_st_GENERAL_SUBTREE {
25035    _unused: [u8; 0],
25036}
25037pub type sk_GENERAL_SUBTREE_free_func =
25038    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
25039pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
25040    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
25041>;
25042pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
25043    unsafe extern "C" fn(
25044        arg1: *const *const GENERAL_SUBTREE,
25045        arg2: *const *const GENERAL_SUBTREE,
25046    ) -> ::std::os::raw::c_int,
25047>;
25048pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
25049    unsafe extern "C" fn(
25050        arg1: *mut GENERAL_SUBTREE,
25051        arg2: *mut ::std::os::raw::c_void,
25052    ) -> ::std::os::raw::c_int,
25053>;
25054#[repr(C)]
25055#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25056pub struct NAME_CONSTRAINTS_st {
25057    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
25058    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
25059}
25060#[test]
25061fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
25062    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
25063    let ptr = UNINIT.as_ptr();
25064    assert_eq!(
25065        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
25066        16usize,
25067        "Size of NAME_CONSTRAINTS_st"
25068    );
25069    assert_eq!(
25070        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
25071        8usize,
25072        "Alignment of NAME_CONSTRAINTS_st"
25073    );
25074    assert_eq!(
25075        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
25076        0usize,
25077        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
25078    );
25079    assert_eq!(
25080        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
25081        8usize,
25082        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
25083    );
25084}
25085impl Default for NAME_CONSTRAINTS_st {
25086    fn default() -> Self {
25087        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25088        unsafe {
25089            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25090            s.assume_init()
25091        }
25092    }
25093}
25094#[repr(C)]
25095#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25096pub struct POLICY_CONSTRAINTS_st {
25097    pub requireExplicitPolicy: *mut ASN1_INTEGER,
25098    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
25099}
25100#[test]
25101fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
25102    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
25103        ::std::mem::MaybeUninit::uninit();
25104    let ptr = UNINIT.as_ptr();
25105    assert_eq!(
25106        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
25107        16usize,
25108        "Size of POLICY_CONSTRAINTS_st"
25109    );
25110    assert_eq!(
25111        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
25112        8usize,
25113        "Alignment of POLICY_CONSTRAINTS_st"
25114    );
25115    assert_eq!(
25116        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
25117        0usize,
25118        "Offset of field: POLICY_CONSTRAINTS_st::requireExplicitPolicy"
25119    );
25120    assert_eq!(
25121        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
25122        8usize,
25123        "Offset of field: POLICY_CONSTRAINTS_st::inhibitPolicyMapping"
25124    );
25125}
25126impl Default for POLICY_CONSTRAINTS_st {
25127    fn default() -> Self {
25128        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25129        unsafe {
25130            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25131            s.assume_init()
25132        }
25133    }
25134}
25135pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
25136#[repr(C)]
25137#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25138pub struct ISSUING_DIST_POINT_st {
25139    pub distpoint: *mut DIST_POINT_NAME,
25140    pub onlyuser: ASN1_BOOLEAN,
25141    pub onlyCA: ASN1_BOOLEAN,
25142    pub onlysomereasons: *mut ASN1_BIT_STRING,
25143    pub indirectCRL: ASN1_BOOLEAN,
25144    pub onlyattr: ASN1_BOOLEAN,
25145}
25146#[test]
25147fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
25148    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
25149        ::std::mem::MaybeUninit::uninit();
25150    let ptr = UNINIT.as_ptr();
25151    assert_eq!(
25152        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
25153        32usize,
25154        "Size of ISSUING_DIST_POINT_st"
25155    );
25156    assert_eq!(
25157        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
25158        8usize,
25159        "Alignment of ISSUING_DIST_POINT_st"
25160    );
25161    assert_eq!(
25162        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
25163        0usize,
25164        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
25165    );
25166    assert_eq!(
25167        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
25168        8usize,
25169        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
25170    );
25171    assert_eq!(
25172        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
25173        12usize,
25174        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
25175    );
25176    assert_eq!(
25177        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
25178        16usize,
25179        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
25180    );
25181    assert_eq!(
25182        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
25183        24usize,
25184        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
25185    );
25186    assert_eq!(
25187        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
25188        28usize,
25189        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
25190    );
25191}
25192impl Default for ISSUING_DIST_POINT_st {
25193    fn default() -> Self {
25194        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25195        unsafe {
25196            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25197            s.assume_init()
25198        }
25199    }
25200}
25201extern "C" {
25202    #[link_name = "aws_lc_0_46_0_BASIC_CONSTRAINTS_it"]
25203    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
25204}
25205extern "C" {
25206    #[link_name = "aws_lc_0_46_0_BASIC_CONSTRAINTS_new"]
25207    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
25208}
25209extern "C" {
25210    #[link_name = "aws_lc_0_46_0_BASIC_CONSTRAINTS_free"]
25211    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
25212}
25213extern "C" {
25214    #[link_name = "aws_lc_0_46_0_d2i_BASIC_CONSTRAINTS"]
25215    pub fn d2i_BASIC_CONSTRAINTS(
25216        out: *mut *mut BASIC_CONSTRAINTS,
25217        inp: *mut *const u8,
25218        len: ::std::os::raw::c_long,
25219    ) -> *mut BASIC_CONSTRAINTS;
25220}
25221extern "C" {
25222    #[link_name = "aws_lc_0_46_0_i2d_BASIC_CONSTRAINTS"]
25223    pub fn i2d_BASIC_CONSTRAINTS(
25224        bcons: *const BASIC_CONSTRAINTS,
25225        outp: *mut *mut u8,
25226    ) -> ::std::os::raw::c_int;
25227}
25228extern "C" {
25229    #[link_name = "aws_lc_0_46_0_AUTHORITY_KEYID_it"]
25230    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
25231}
25232extern "C" {
25233    #[link_name = "aws_lc_0_46_0_AUTHORITY_KEYID_new"]
25234    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
25235}
25236extern "C" {
25237    #[link_name = "aws_lc_0_46_0_AUTHORITY_KEYID_free"]
25238    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
25239}
25240extern "C" {
25241    #[link_name = "aws_lc_0_46_0_d2i_AUTHORITY_KEYID"]
25242    pub fn d2i_AUTHORITY_KEYID(
25243        out: *mut *mut AUTHORITY_KEYID,
25244        inp: *mut *const u8,
25245        len: ::std::os::raw::c_long,
25246    ) -> *mut AUTHORITY_KEYID;
25247}
25248extern "C" {
25249    #[link_name = "aws_lc_0_46_0_i2d_AUTHORITY_KEYID"]
25250    pub fn i2d_AUTHORITY_KEYID(
25251        akid: *mut AUTHORITY_KEYID,
25252        outp: *mut *mut u8,
25253    ) -> ::std::os::raw::c_int;
25254}
25255extern "C" {
25256    #[link_name = "aws_lc_0_46_0_EXTENDED_KEY_USAGE_it"]
25257    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
25258}
25259extern "C" {
25260    #[link_name = "aws_lc_0_46_0_EXTENDED_KEY_USAGE_new"]
25261    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
25262}
25263extern "C" {
25264    #[link_name = "aws_lc_0_46_0_EXTENDED_KEY_USAGE_free"]
25265    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
25266}
25267extern "C" {
25268    #[link_name = "aws_lc_0_46_0_d2i_EXTENDED_KEY_USAGE"]
25269    pub fn d2i_EXTENDED_KEY_USAGE(
25270        out: *mut *mut EXTENDED_KEY_USAGE,
25271        inp: *mut *const u8,
25272        len: ::std::os::raw::c_long,
25273    ) -> *mut EXTENDED_KEY_USAGE;
25274}
25275extern "C" {
25276    #[link_name = "aws_lc_0_46_0_i2d_EXTENDED_KEY_USAGE"]
25277    pub fn i2d_EXTENDED_KEY_USAGE(
25278        eku: *const EXTENDED_KEY_USAGE,
25279        outp: *mut *mut u8,
25280    ) -> ::std::os::raw::c_int;
25281}
25282extern "C" {
25283    #[link_name = "aws_lc_0_46_0_CERTIFICATEPOLICIES_it"]
25284    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
25285}
25286extern "C" {
25287    #[link_name = "aws_lc_0_46_0_CERTIFICATEPOLICIES_new"]
25288    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
25289}
25290extern "C" {
25291    #[link_name = "aws_lc_0_46_0_CERTIFICATEPOLICIES_free"]
25292    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
25293}
25294extern "C" {
25295    #[link_name = "aws_lc_0_46_0_d2i_CERTIFICATEPOLICIES"]
25296    pub fn d2i_CERTIFICATEPOLICIES(
25297        out: *mut *mut CERTIFICATEPOLICIES,
25298        inp: *mut *const u8,
25299        len: ::std::os::raw::c_long,
25300    ) -> *mut CERTIFICATEPOLICIES;
25301}
25302extern "C" {
25303    #[link_name = "aws_lc_0_46_0_i2d_CERTIFICATEPOLICIES"]
25304    pub fn i2d_CERTIFICATEPOLICIES(
25305        policies: *const CERTIFICATEPOLICIES,
25306        outp: *mut *mut u8,
25307    ) -> ::std::os::raw::c_int;
25308}
25309extern "C" {
25310    #[link_name = "aws_lc_0_46_0_POLICYINFO_new"]
25311    pub fn POLICYINFO_new() -> *mut POLICYINFO;
25312}
25313extern "C" {
25314    #[link_name = "aws_lc_0_46_0_POLICYINFO_free"]
25315    pub fn POLICYINFO_free(info: *mut POLICYINFO);
25316}
25317extern "C" {
25318    #[link_name = "aws_lc_0_46_0_POLICYQUALINFO_new"]
25319    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
25320}
25321extern "C" {
25322    #[link_name = "aws_lc_0_46_0_POLICYQUALINFO_free"]
25323    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
25324}
25325extern "C" {
25326    #[link_name = "aws_lc_0_46_0_USERNOTICE_new"]
25327    pub fn USERNOTICE_new() -> *mut USERNOTICE;
25328}
25329extern "C" {
25330    #[link_name = "aws_lc_0_46_0_USERNOTICE_free"]
25331    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
25332}
25333extern "C" {
25334    #[link_name = "aws_lc_0_46_0_NOTICEREF_new"]
25335    pub fn NOTICEREF_new() -> *mut NOTICEREF;
25336}
25337extern "C" {
25338    #[link_name = "aws_lc_0_46_0_NOTICEREF_free"]
25339    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
25340}
25341extern "C" {
25342    #[link_name = "aws_lc_0_46_0_CRL_DIST_POINTS_it"]
25343    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
25344}
25345extern "C" {
25346    #[link_name = "aws_lc_0_46_0_CRL_DIST_POINTS_new"]
25347    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
25348}
25349extern "C" {
25350    #[link_name = "aws_lc_0_46_0_CRL_DIST_POINTS_free"]
25351    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
25352}
25353extern "C" {
25354    #[link_name = "aws_lc_0_46_0_d2i_CRL_DIST_POINTS"]
25355    pub fn d2i_CRL_DIST_POINTS(
25356        out: *mut *mut CRL_DIST_POINTS,
25357        inp: *mut *const u8,
25358        len: ::std::os::raw::c_long,
25359    ) -> *mut CRL_DIST_POINTS;
25360}
25361extern "C" {
25362    #[link_name = "aws_lc_0_46_0_i2d_CRL_DIST_POINTS"]
25363    pub fn i2d_CRL_DIST_POINTS(
25364        crldp: *mut CRL_DIST_POINTS,
25365        outp: *mut *mut u8,
25366    ) -> ::std::os::raw::c_int;
25367}
25368extern "C" {
25369    #[link_name = "aws_lc_0_46_0_DIST_POINT_new"]
25370    pub fn DIST_POINT_new() -> *mut DIST_POINT;
25371}
25372extern "C" {
25373    #[link_name = "aws_lc_0_46_0_DIST_POINT_free"]
25374    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
25375}
25376extern "C" {
25377    #[link_name = "aws_lc_0_46_0_DIST_POINT_NAME_new"]
25378    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
25379}
25380extern "C" {
25381    #[link_name = "aws_lc_0_46_0_DIST_POINT_NAME_free"]
25382    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
25383}
25384extern "C" {
25385    #[link_name = "aws_lc_0_46_0_ISSUING_DIST_POINT_it"]
25386    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
25387}
25388extern "C" {
25389    #[link_name = "aws_lc_0_46_0_ISSUING_DIST_POINT_new"]
25390    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
25391}
25392extern "C" {
25393    #[link_name = "aws_lc_0_46_0_ISSUING_DIST_POINT_free"]
25394    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
25395}
25396extern "C" {
25397    #[link_name = "aws_lc_0_46_0_d2i_ISSUING_DIST_POINT"]
25398    pub fn d2i_ISSUING_DIST_POINT(
25399        out: *mut *mut ISSUING_DIST_POINT,
25400        inp: *mut *const u8,
25401        len: ::std::os::raw::c_long,
25402    ) -> *mut ISSUING_DIST_POINT;
25403}
25404extern "C" {
25405    #[link_name = "aws_lc_0_46_0_i2d_ISSUING_DIST_POINT"]
25406    pub fn i2d_ISSUING_DIST_POINT(
25407        idp: *mut ISSUING_DIST_POINT,
25408        outp: *mut *mut u8,
25409    ) -> ::std::os::raw::c_int;
25410}
25411extern "C" {
25412    #[link_name = "aws_lc_0_46_0_ACCESS_DESCRIPTION_new"]
25413    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
25414}
25415extern "C" {
25416    #[link_name = "aws_lc_0_46_0_ACCESS_DESCRIPTION_free"]
25417    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
25418}
25419extern "C" {
25420    #[link_name = "aws_lc_0_46_0_AUTHORITY_INFO_ACCESS_it"]
25421    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
25422}
25423extern "C" {
25424    #[link_name = "aws_lc_0_46_0_AUTHORITY_INFO_ACCESS_new"]
25425    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
25426}
25427extern "C" {
25428    #[link_name = "aws_lc_0_46_0_AUTHORITY_INFO_ACCESS_free"]
25429    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
25430}
25431extern "C" {
25432    #[link_name = "aws_lc_0_46_0_d2i_AUTHORITY_INFO_ACCESS"]
25433    pub fn d2i_AUTHORITY_INFO_ACCESS(
25434        out: *mut *mut AUTHORITY_INFO_ACCESS,
25435        inp: *mut *const u8,
25436        len: ::std::os::raw::c_long,
25437    ) -> *mut AUTHORITY_INFO_ACCESS;
25438}
25439extern "C" {
25440    #[link_name = "aws_lc_0_46_0_i2d_AUTHORITY_INFO_ACCESS"]
25441    pub fn i2d_AUTHORITY_INFO_ACCESS(
25442        aia: *mut AUTHORITY_INFO_ACCESS,
25443        outp: *mut *mut u8,
25444    ) -> ::std::os::raw::c_int;
25445}
25446extern "C" {
25447    #[link_name = "aws_lc_0_46_0_POLICY_MAPPING_new"]
25448    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
25449}
25450extern "C" {
25451    #[link_name = "aws_lc_0_46_0_POLICY_MAPPING_free"]
25452    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
25453}
25454extern "C" {
25455    #[link_name = "aws_lc_0_46_0_POLICY_MAPPINGS_it"]
25456    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
25457}
25458extern "C" {
25459    #[link_name = "aws_lc_0_46_0_GENERAL_SUBTREE_new"]
25460    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
25461}
25462extern "C" {
25463    #[link_name = "aws_lc_0_46_0_GENERAL_SUBTREE_free"]
25464    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
25465}
25466extern "C" {
25467    #[link_name = "aws_lc_0_46_0_NAME_CONSTRAINTS_it"]
25468    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
25469}
25470extern "C" {
25471    #[link_name = "aws_lc_0_46_0_NAME_CONSTRAINTS_new"]
25472    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
25473}
25474extern "C" {
25475    #[link_name = "aws_lc_0_46_0_NAME_CONSTRAINTS_free"]
25476    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
25477}
25478extern "C" {
25479    #[link_name = "aws_lc_0_46_0_POLICY_CONSTRAINTS_new"]
25480    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
25481}
25482extern "C" {
25483    #[link_name = "aws_lc_0_46_0_POLICY_CONSTRAINTS_free"]
25484    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
25485}
25486extern "C" {
25487    #[link_name = "aws_lc_0_46_0_POLICY_CONSTRAINTS_it"]
25488    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
25489}
25490extern "C" {
25491    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_set"]
25492    pub fn X509_PURPOSE_set(
25493        p: *mut ::std::os::raw::c_int,
25494        purpose: ::std::os::raw::c_int,
25495    ) -> ::std::os::raw::c_int;
25496}
25497extern "C" {
25498    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get_count"]
25499    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
25500}
25501extern "C" {
25502    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get_by_id"]
25503    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25504}
25505extern "C" {
25506    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get0_name"]
25507    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
25508}
25509extern "C" {
25510    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get0_sname"]
25511    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
25512}
25513extern "C" {
25514    #[link_name = "aws_lc_0_46_0_X509_PURPOSE_get_trust"]
25515    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
25516}
25517#[repr(C)]
25518#[derive(Debug)]
25519pub struct ocsp_cert_id_st {
25520    _unused: [u8; 0],
25521}
25522pub type OCSP_CERTID = ocsp_cert_id_st;
25523#[repr(C)]
25524#[derive(Debug)]
25525pub struct ocsp_one_request_st {
25526    _unused: [u8; 0],
25527}
25528pub type OCSP_ONEREQ = ocsp_one_request_st;
25529#[repr(C)]
25530#[derive(Debug)]
25531pub struct ocsp_req_info_st {
25532    _unused: [u8; 0],
25533}
25534pub type OCSP_REQINFO = ocsp_req_info_st;
25535#[repr(C)]
25536#[derive(Debug)]
25537pub struct ocsp_signature_st {
25538    _unused: [u8; 0],
25539}
25540pub type OCSP_SIGNATURE = ocsp_signature_st;
25541#[repr(C)]
25542#[derive(Debug)]
25543pub struct ocsp_request_st {
25544    _unused: [u8; 0],
25545}
25546pub type OCSP_REQUEST = ocsp_request_st;
25547#[repr(C)]
25548#[derive(Debug)]
25549pub struct ocsp_resp_bytes_st {
25550    _unused: [u8; 0],
25551}
25552pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
25553#[repr(C)]
25554#[derive(Debug)]
25555pub struct ocsp_revoked_info_st {
25556    _unused: [u8; 0],
25557}
25558pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
25559#[repr(C)]
25560#[derive(Debug)]
25561pub struct ocsp_cert_status_st {
25562    _unused: [u8; 0],
25563}
25564pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
25565#[repr(C)]
25566#[derive(Debug)]
25567pub struct ocsp_single_response_st {
25568    _unused: [u8; 0],
25569}
25570pub type OCSP_SINGLERESP = ocsp_single_response_st;
25571#[repr(C)]
25572#[derive(Debug)]
25573pub struct ocsp_response_data_st {
25574    _unused: [u8; 0],
25575}
25576pub type OCSP_RESPDATA = ocsp_response_data_st;
25577#[repr(C)]
25578#[derive(Debug)]
25579pub struct ocsp_response_st {
25580    _unused: [u8; 0],
25581}
25582pub type OCSP_RESPONSE = ocsp_response_st;
25583#[repr(C)]
25584#[derive(Debug)]
25585pub struct ocsp_responder_id_st {
25586    _unused: [u8; 0],
25587}
25588pub type OCSP_RESPID = ocsp_responder_id_st;
25589#[repr(C)]
25590#[derive(Debug)]
25591pub struct ocsp_basic_response_st {
25592    _unused: [u8; 0],
25593}
25594pub type OCSP_BASICRESP = ocsp_basic_response_st;
25595#[repr(C)]
25596#[derive(Debug)]
25597pub struct stack_st_OCSP_CERTID {
25598    _unused: [u8; 0],
25599}
25600pub type sk_OCSP_CERTID_free_func =
25601    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
25602pub type sk_OCSP_CERTID_copy_func =
25603    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
25604pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
25605    unsafe extern "C" fn(
25606        arg1: *const *const OCSP_CERTID,
25607        arg2: *const *const OCSP_CERTID,
25608    ) -> ::std::os::raw::c_int,
25609>;
25610pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
25611    unsafe extern "C" fn(
25612        arg1: *mut OCSP_CERTID,
25613        arg2: *mut ::std::os::raw::c_void,
25614    ) -> ::std::os::raw::c_int,
25615>;
25616#[repr(C)]
25617#[derive(Debug)]
25618pub struct stack_st_OCSP_ONEREQ {
25619    _unused: [u8; 0],
25620}
25621pub type sk_OCSP_ONEREQ_free_func =
25622    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
25623pub type sk_OCSP_ONEREQ_copy_func =
25624    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
25625pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
25626    unsafe extern "C" fn(
25627        arg1: *const *const OCSP_ONEREQ,
25628        arg2: *const *const OCSP_ONEREQ,
25629    ) -> ::std::os::raw::c_int,
25630>;
25631pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
25632    unsafe extern "C" fn(
25633        arg1: *mut OCSP_ONEREQ,
25634        arg2: *mut ::std::os::raw::c_void,
25635    ) -> ::std::os::raw::c_int,
25636>;
25637#[repr(C)]
25638#[derive(Debug)]
25639pub struct stack_st_OCSP_RESPID {
25640    _unused: [u8; 0],
25641}
25642pub type sk_OCSP_RESPID_free_func =
25643    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
25644pub type sk_OCSP_RESPID_copy_func =
25645    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
25646pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
25647    unsafe extern "C" fn(
25648        arg1: *const *const OCSP_RESPID,
25649        arg2: *const *const OCSP_RESPID,
25650    ) -> ::std::os::raw::c_int,
25651>;
25652pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
25653    unsafe extern "C" fn(
25654        arg1: *mut OCSP_RESPID,
25655        arg2: *mut ::std::os::raw::c_void,
25656    ) -> ::std::os::raw::c_int,
25657>;
25658#[repr(C)]
25659#[derive(Debug)]
25660pub struct stack_st_OCSP_SINGLERESP {
25661    _unused: [u8; 0],
25662}
25663pub type sk_OCSP_SINGLERESP_free_func =
25664    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
25665pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
25666    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
25667>;
25668pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
25669    unsafe extern "C" fn(
25670        arg1: *const *const OCSP_SINGLERESP,
25671        arg2: *const *const OCSP_SINGLERESP,
25672    ) -> ::std::os::raw::c_int,
25673>;
25674pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
25675    unsafe extern "C" fn(
25676        arg1: *mut OCSP_SINGLERESP,
25677        arg2: *mut ::std::os::raw::c_void,
25678    ) -> ::std::os::raw::c_int,
25679>;
25680extern "C" {
25681    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_new"]
25682    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
25683}
25684extern "C" {
25685    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_free"]
25686    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
25687}
25688extern "C" {
25689    #[link_name = "aws_lc_0_46_0_d2i_OCSP_BASICRESP"]
25690    pub fn d2i_OCSP_BASICRESP(
25691        a: *mut *mut OCSP_BASICRESP,
25692        in_: *mut *const ::std::os::raw::c_uchar,
25693        len: ::std::os::raw::c_long,
25694    ) -> *mut OCSP_BASICRESP;
25695}
25696extern "C" {
25697    #[link_name = "aws_lc_0_46_0_i2d_OCSP_BASICRESP"]
25698    pub fn i2d_OCSP_BASICRESP(
25699        a: *mut OCSP_BASICRESP,
25700        out: *mut *mut ::std::os::raw::c_uchar,
25701    ) -> ::std::os::raw::c_int;
25702}
25703extern "C" {
25704    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_it"]
25705    pub static OCSP_BASICRESP_it: ASN1_ITEM;
25706}
25707extern "C" {
25708    #[link_name = "aws_lc_0_46_0_OCSP_RESPONSE_new"]
25709    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
25710}
25711extern "C" {
25712    #[link_name = "aws_lc_0_46_0_OCSP_RESPONSE_free"]
25713    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
25714}
25715extern "C" {
25716    #[link_name = "aws_lc_0_46_0_d2i_OCSP_RESPONSE"]
25717    pub fn d2i_OCSP_RESPONSE(
25718        a: *mut *mut OCSP_RESPONSE,
25719        in_: *mut *const ::std::os::raw::c_uchar,
25720        len: ::std::os::raw::c_long,
25721    ) -> *mut OCSP_RESPONSE;
25722}
25723extern "C" {
25724    #[link_name = "aws_lc_0_46_0_i2d_OCSP_RESPONSE"]
25725    pub fn i2d_OCSP_RESPONSE(
25726        a: *mut OCSP_RESPONSE,
25727        out: *mut *mut ::std::os::raw::c_uchar,
25728    ) -> ::std::os::raw::c_int;
25729}
25730extern "C" {
25731    #[link_name = "aws_lc_0_46_0_OCSP_RESPONSE_it"]
25732    pub static OCSP_RESPONSE_it: ASN1_ITEM;
25733}
25734extern "C" {
25735    #[link_name = "aws_lc_0_46_0_OCSP_CERTID_new"]
25736    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
25737}
25738extern "C" {
25739    #[link_name = "aws_lc_0_46_0_OCSP_CERTID_free"]
25740    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
25741}
25742extern "C" {
25743    #[link_name = "aws_lc_0_46_0_d2i_OCSP_CERTID"]
25744    pub fn d2i_OCSP_CERTID(
25745        a: *mut *mut OCSP_CERTID,
25746        in_: *mut *const ::std::os::raw::c_uchar,
25747        len: ::std::os::raw::c_long,
25748    ) -> *mut OCSP_CERTID;
25749}
25750extern "C" {
25751    #[link_name = "aws_lc_0_46_0_i2d_OCSP_CERTID"]
25752    pub fn i2d_OCSP_CERTID(
25753        a: *mut OCSP_CERTID,
25754        out: *mut *mut ::std::os::raw::c_uchar,
25755    ) -> ::std::os::raw::c_int;
25756}
25757extern "C" {
25758    #[link_name = "aws_lc_0_46_0_OCSP_CERTID_it"]
25759    pub static OCSP_CERTID_it: ASN1_ITEM;
25760}
25761extern "C" {
25762    #[link_name = "aws_lc_0_46_0_OCSP_REQUEST_new"]
25763    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
25764}
25765extern "C" {
25766    #[link_name = "aws_lc_0_46_0_OCSP_REQUEST_free"]
25767    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
25768}
25769extern "C" {
25770    #[link_name = "aws_lc_0_46_0_d2i_OCSP_REQUEST"]
25771    pub fn d2i_OCSP_REQUEST(
25772        a: *mut *mut OCSP_REQUEST,
25773        in_: *mut *const ::std::os::raw::c_uchar,
25774        len: ::std::os::raw::c_long,
25775    ) -> *mut OCSP_REQUEST;
25776}
25777extern "C" {
25778    #[link_name = "aws_lc_0_46_0_i2d_OCSP_REQUEST"]
25779    pub fn i2d_OCSP_REQUEST(
25780        a: *mut OCSP_REQUEST,
25781        out: *mut *mut ::std::os::raw::c_uchar,
25782    ) -> ::std::os::raw::c_int;
25783}
25784extern "C" {
25785    #[link_name = "aws_lc_0_46_0_OCSP_REQUEST_it"]
25786    pub static OCSP_REQUEST_it: ASN1_ITEM;
25787}
25788extern "C" {
25789    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_new"]
25790    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
25791}
25792extern "C" {
25793    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_free"]
25794    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
25795}
25796extern "C" {
25797    #[link_name = "aws_lc_0_46_0_d2i_OCSP_SINGLERESP"]
25798    pub fn d2i_OCSP_SINGLERESP(
25799        a: *mut *mut OCSP_SINGLERESP,
25800        in_: *mut *const ::std::os::raw::c_uchar,
25801        len: ::std::os::raw::c_long,
25802    ) -> *mut OCSP_SINGLERESP;
25803}
25804extern "C" {
25805    #[link_name = "aws_lc_0_46_0_i2d_OCSP_SINGLERESP"]
25806    pub fn i2d_OCSP_SINGLERESP(
25807        a: *mut OCSP_SINGLERESP,
25808        out: *mut *mut ::std::os::raw::c_uchar,
25809    ) -> ::std::os::raw::c_int;
25810}
25811extern "C" {
25812    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_it"]
25813    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
25814}
25815extern "C" {
25816    #[link_name = "aws_lc_0_46_0_OCSP_ONEREQ_new"]
25817    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
25818}
25819extern "C" {
25820    #[link_name = "aws_lc_0_46_0_OCSP_ONEREQ_free"]
25821    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
25822}
25823extern "C" {
25824    #[link_name = "aws_lc_0_46_0_d2i_OCSP_ONEREQ"]
25825    pub fn d2i_OCSP_ONEREQ(
25826        a: *mut *mut OCSP_ONEREQ,
25827        in_: *mut *const ::std::os::raw::c_uchar,
25828        len: ::std::os::raw::c_long,
25829    ) -> *mut OCSP_ONEREQ;
25830}
25831extern "C" {
25832    #[link_name = "aws_lc_0_46_0_i2d_OCSP_ONEREQ"]
25833    pub fn i2d_OCSP_ONEREQ(
25834        a: *mut OCSP_ONEREQ,
25835        out: *mut *mut ::std::os::raw::c_uchar,
25836    ) -> ::std::os::raw::c_int;
25837}
25838extern "C" {
25839    #[link_name = "aws_lc_0_46_0_OCSP_ONEREQ_it"]
25840    pub static OCSP_ONEREQ_it: ASN1_ITEM;
25841}
25842extern "C" {
25843    #[link_name = "aws_lc_0_46_0_d2i_OCSP_REQUEST_bio"]
25844    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
25845}
25846extern "C" {
25847    #[link_name = "aws_lc_0_46_0_d2i_OCSP_RESPONSE_bio"]
25848    pub fn d2i_OCSP_RESPONSE_bio(
25849        bp: *mut BIO,
25850        presp: *mut *mut OCSP_RESPONSE,
25851    ) -> *mut OCSP_RESPONSE;
25852}
25853extern "C" {
25854    #[link_name = "aws_lc_0_46_0_i2d_OCSP_RESPONSE_bio"]
25855    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25856}
25857extern "C" {
25858    #[link_name = "aws_lc_0_46_0_i2d_OCSP_REQUEST_bio"]
25859    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25860}
25861extern "C" {
25862    #[link_name = "aws_lc_0_46_0_OCSP_CERTID_dup"]
25863    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
25864}
25865extern "C" {
25866    #[link_name = "aws_lc_0_46_0_OCSP_sendreq_bio"]
25867    pub fn OCSP_sendreq_bio(
25868        b: *mut BIO,
25869        path: *const ::std::os::raw::c_char,
25870        req: *mut OCSP_REQUEST,
25871    ) -> *mut OCSP_RESPONSE;
25872}
25873extern "C" {
25874    #[link_name = "aws_lc_0_46_0_OCSP_sendreq_new"]
25875    pub fn OCSP_sendreq_new(
25876        io: *mut BIO,
25877        path: *const ::std::os::raw::c_char,
25878        req: *mut OCSP_REQUEST,
25879        maxline: ::std::os::raw::c_int,
25880    ) -> *mut OCSP_REQ_CTX;
25881}
25882extern "C" {
25883    #[link_name = "aws_lc_0_46_0_OCSP_sendreq_nbio"]
25884    pub fn OCSP_sendreq_nbio(
25885        presp: *mut *mut OCSP_RESPONSE,
25886        rctx: *mut OCSP_REQ_CTX,
25887    ) -> ::std::os::raw::c_int;
25888}
25889extern "C" {
25890    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_new"]
25891    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
25892}
25893extern "C" {
25894    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_free"]
25895    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
25896}
25897extern "C" {
25898    #[link_name = "aws_lc_0_46_0_OCSP_set_max_response_length"]
25899    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
25900}
25901extern "C" {
25902    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_http"]
25903    pub fn OCSP_REQ_CTX_http(
25904        rctx: *mut OCSP_REQ_CTX,
25905        op: *const ::std::os::raw::c_char,
25906        path: *const ::std::os::raw::c_char,
25907    ) -> ::std::os::raw::c_int;
25908}
25909extern "C" {
25910    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_set1_req"]
25911    pub fn OCSP_REQ_CTX_set1_req(
25912        rctx: *mut OCSP_REQ_CTX,
25913        req: *mut OCSP_REQUEST,
25914    ) -> ::std::os::raw::c_int;
25915}
25916extern "C" {
25917    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_add1_header"]
25918    pub fn OCSP_REQ_CTX_add1_header(
25919        rctx: *mut OCSP_REQ_CTX,
25920        name: *const ::std::os::raw::c_char,
25921        value: *const ::std::os::raw::c_char,
25922    ) -> ::std::os::raw::c_int;
25923}
25924extern "C" {
25925    #[link_name = "aws_lc_0_46_0_OCSP_REQ_CTX_i2d"]
25926    pub fn OCSP_REQ_CTX_i2d(
25927        rctx: *mut OCSP_REQ_CTX,
25928        it: *const ASN1_ITEM,
25929        val: *mut ASN1_VALUE,
25930    ) -> ::std::os::raw::c_int;
25931}
25932extern "C" {
25933    #[link_name = "aws_lc_0_46_0_OCSP_request_add0_id"]
25934    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
25935}
25936extern "C" {
25937    #[link_name = "aws_lc_0_46_0_OCSP_onereq_get0_id"]
25938    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
25939}
25940extern "C" {
25941    #[link_name = "aws_lc_0_46_0_OCSP_request_add1_nonce"]
25942    pub fn OCSP_request_add1_nonce(
25943        req: *mut OCSP_REQUEST,
25944        val: *mut ::std::os::raw::c_uchar,
25945        len: ::std::os::raw::c_int,
25946    ) -> ::std::os::raw::c_int;
25947}
25948extern "C" {
25949    #[link_name = "aws_lc_0_46_0_OCSP_basic_add1_nonce"]
25950    pub fn OCSP_basic_add1_nonce(
25951        resp: *mut OCSP_BASICRESP,
25952        val: *mut ::std::os::raw::c_uchar,
25953        len: ::std::os::raw::c_int,
25954    ) -> ::std::os::raw::c_int;
25955}
25956extern "C" {
25957    #[link_name = "aws_lc_0_46_0_OCSP_check_nonce"]
25958    pub fn OCSP_check_nonce(
25959        req: *mut OCSP_REQUEST,
25960        bs: *mut OCSP_BASICRESP,
25961    ) -> ::std::os::raw::c_int;
25962}
25963extern "C" {
25964    #[link_name = "aws_lc_0_46_0_OCSP_copy_nonce"]
25965    pub fn OCSP_copy_nonce(
25966        resp: *mut OCSP_BASICRESP,
25967        req: *mut OCSP_REQUEST,
25968    ) -> ::std::os::raw::c_int;
25969}
25970extern "C" {
25971    #[link_name = "aws_lc_0_46_0_OCSP_request_set1_name"]
25972    pub fn OCSP_request_set1_name(
25973        req: *mut OCSP_REQUEST,
25974        nm: *mut X509_NAME,
25975    ) -> ::std::os::raw::c_int;
25976}
25977extern "C" {
25978    #[link_name = "aws_lc_0_46_0_OCSP_request_add1_cert"]
25979    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
25980        -> ::std::os::raw::c_int;
25981}
25982extern "C" {
25983    #[link_name = "aws_lc_0_46_0_OCSP_request_is_signed"]
25984    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25985}
25986extern "C" {
25987    #[link_name = "aws_lc_0_46_0_OCSP_request_onereq_count"]
25988    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25989}
25990extern "C" {
25991    #[link_name = "aws_lc_0_46_0_OCSP_request_onereq_get0"]
25992    pub fn OCSP_request_onereq_get0(
25993        req: *mut OCSP_REQUEST,
25994        i: ::std::os::raw::c_int,
25995    ) -> *mut OCSP_ONEREQ;
25996}
25997extern "C" {
25998    #[link_name = "aws_lc_0_46_0_OCSP_request_sign"]
25999    pub fn OCSP_request_sign(
26000        req: *mut OCSP_REQUEST,
26001        signer: *mut X509,
26002        key: *mut EVP_PKEY,
26003        dgst: *const EVP_MD,
26004        certs: *mut stack_st_X509,
26005        flags: ::std::os::raw::c_ulong,
26006    ) -> ::std::os::raw::c_int;
26007}
26008extern "C" {
26009    #[link_name = "aws_lc_0_46_0_OCSP_response_status"]
26010    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
26011}
26012extern "C" {
26013    #[link_name = "aws_lc_0_46_0_OCSP_response_get1_basic"]
26014    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
26015}
26016extern "C" {
26017    #[link_name = "aws_lc_0_46_0_OCSP_resp_count"]
26018    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
26019}
26020extern "C" {
26021    #[link_name = "aws_lc_0_46_0_OCSP_resp_get0"]
26022    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
26023}
26024extern "C" {
26025    #[link_name = "aws_lc_0_46_0_OCSP_single_get0_status"]
26026    pub fn OCSP_single_get0_status(
26027        single: *mut OCSP_SINGLERESP,
26028        reason: *mut ::std::os::raw::c_int,
26029        revtime: *mut *mut ASN1_GENERALIZEDTIME,
26030        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
26031        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
26032    ) -> ::std::os::raw::c_int;
26033}
26034extern "C" {
26035    #[link_name = "aws_lc_0_46_0_OCSP_resp_find"]
26036    pub fn OCSP_resp_find(
26037        bs: *mut OCSP_BASICRESP,
26038        id: *mut OCSP_CERTID,
26039        last: ::std::os::raw::c_int,
26040    ) -> ::std::os::raw::c_int;
26041}
26042extern "C" {
26043    #[link_name = "aws_lc_0_46_0_OCSP_resp_find_status"]
26044    pub fn OCSP_resp_find_status(
26045        bs: *mut OCSP_BASICRESP,
26046        id: *mut OCSP_CERTID,
26047        status: *mut ::std::os::raw::c_int,
26048        reason: *mut ::std::os::raw::c_int,
26049        revtime: *mut *mut ASN1_GENERALIZEDTIME,
26050        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
26051        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
26052    ) -> ::std::os::raw::c_int;
26053}
26054extern "C" {
26055    #[link_name = "aws_lc_0_46_0_OCSP_check_validity"]
26056    pub fn OCSP_check_validity(
26057        thisUpdate: *mut ASN1_GENERALIZEDTIME,
26058        nextUpdate: *mut ASN1_GENERALIZEDTIME,
26059        drift_num_seconds: ::std::os::raw::c_long,
26060        max_age_seconds: ::std::os::raw::c_long,
26061    ) -> ::std::os::raw::c_int;
26062}
26063extern "C" {
26064    #[link_name = "aws_lc_0_46_0_OCSP_basic_verify"]
26065    pub fn OCSP_basic_verify(
26066        bs: *mut OCSP_BASICRESP,
26067        certs: *mut stack_st_X509,
26068        st: *mut X509_STORE,
26069        flags: ::std::os::raw::c_ulong,
26070    ) -> ::std::os::raw::c_int;
26071}
26072extern "C" {
26073    #[link_name = "aws_lc_0_46_0_OCSP_request_verify"]
26074    pub fn OCSP_request_verify(
26075        req: *mut OCSP_REQUEST,
26076        certs: *mut stack_st_X509,
26077        st: *mut X509_STORE,
26078        flags: ::std::os::raw::c_ulong,
26079    ) -> ::std::os::raw::c_int;
26080}
26081extern "C" {
26082    #[link_name = "aws_lc_0_46_0_OCSP_cert_id_new"]
26083    pub fn OCSP_cert_id_new(
26084        dgst: *const EVP_MD,
26085        issuerName: *const X509_NAME,
26086        issuerKey: *const ASN1_BIT_STRING,
26087        serialNumber: *const ASN1_INTEGER,
26088    ) -> *mut OCSP_CERTID;
26089}
26090extern "C" {
26091    #[link_name = "aws_lc_0_46_0_OCSP_cert_to_id"]
26092    pub fn OCSP_cert_to_id(
26093        dgst: *const EVP_MD,
26094        subject: *const X509,
26095        issuer: *const X509,
26096    ) -> *mut OCSP_CERTID;
26097}
26098extern "C" {
26099    #[link_name = "aws_lc_0_46_0_OCSP_parse_url"]
26100    pub fn OCSP_parse_url(
26101        url: *const ::std::os::raw::c_char,
26102        phost: *mut *mut ::std::os::raw::c_char,
26103        pport: *mut *mut ::std::os::raw::c_char,
26104        ppath: *mut *mut ::std::os::raw::c_char,
26105        pssl: *mut ::std::os::raw::c_int,
26106    ) -> ::std::os::raw::c_int;
26107}
26108extern "C" {
26109    #[link_name = "aws_lc_0_46_0_OCSP_id_issuer_cmp"]
26110    pub fn OCSP_id_issuer_cmp(
26111        a: *const OCSP_CERTID,
26112        b: *const OCSP_CERTID,
26113    ) -> ::std::os::raw::c_int;
26114}
26115extern "C" {
26116    #[link_name = "aws_lc_0_46_0_OCSP_id_cmp"]
26117    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
26118}
26119extern "C" {
26120    #[link_name = "aws_lc_0_46_0_OCSP_id_get0_info"]
26121    pub fn OCSP_id_get0_info(
26122        nameHash: *mut *mut ASN1_OCTET_STRING,
26123        algor: *mut *mut ASN1_OBJECT,
26124        keyHash: *mut *mut ASN1_OCTET_STRING,
26125        serial: *mut *mut ASN1_INTEGER,
26126        cid: *mut OCSP_CERTID,
26127    ) -> ::std::os::raw::c_int;
26128}
26129extern "C" {
26130    #[link_name = "aws_lc_0_46_0_OCSP_basic_add1_cert"]
26131    pub fn OCSP_basic_add1_cert(
26132        resp: *mut OCSP_BASICRESP,
26133        cert: *mut X509,
26134    ) -> ::std::os::raw::c_int;
26135}
26136extern "C" {
26137    #[link_name = "aws_lc_0_46_0_OCSP_basic_add1_status"]
26138    pub fn OCSP_basic_add1_status(
26139        resp: *mut OCSP_BASICRESP,
26140        cid: *mut OCSP_CERTID,
26141        status: ::std::os::raw::c_int,
26142        revoked_reason: ::std::os::raw::c_int,
26143        revoked_time: *mut ASN1_TIME,
26144        this_update: *mut ASN1_TIME,
26145        next_update: *mut ASN1_TIME,
26146    ) -> *mut OCSP_SINGLERESP;
26147}
26148extern "C" {
26149    #[link_name = "aws_lc_0_46_0_OCSP_basic_sign"]
26150    pub fn OCSP_basic_sign(
26151        resp: *mut OCSP_BASICRESP,
26152        signer: *mut X509,
26153        key: *mut EVP_PKEY,
26154        dgst: *const EVP_MD,
26155        certs: *mut stack_st_X509,
26156        flags: ::std::os::raw::c_ulong,
26157    ) -> ::std::os::raw::c_int;
26158}
26159extern "C" {
26160    #[link_name = "aws_lc_0_46_0_OCSP_response_create"]
26161    pub fn OCSP_response_create(
26162        status: ::std::os::raw::c_int,
26163        bs: *mut OCSP_BASICRESP,
26164    ) -> *mut OCSP_RESPONSE;
26165}
26166extern "C" {
26167    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_get0_id"]
26168    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
26169}
26170extern "C" {
26171    #[link_name = "aws_lc_0_46_0_OCSP_response_status_str"]
26172    pub fn OCSP_response_status_str(
26173        status_code: ::std::os::raw::c_long,
26174    ) -> *const ::std::os::raw::c_char;
26175}
26176extern "C" {
26177    #[link_name = "aws_lc_0_46_0_OCSP_cert_status_str"]
26178    pub fn OCSP_cert_status_str(
26179        status_code: ::std::os::raw::c_long,
26180    ) -> *const ::std::os::raw::c_char;
26181}
26182extern "C" {
26183    #[link_name = "aws_lc_0_46_0_OCSP_crl_reason_str"]
26184    pub fn OCSP_crl_reason_str(
26185        status_code: ::std::os::raw::c_long,
26186    ) -> *const ::std::os::raw::c_char;
26187}
26188extern "C" {
26189    #[link_name = "aws_lc_0_46_0_OCSP_REQUEST_print"]
26190    pub fn OCSP_REQUEST_print(
26191        bp: *mut BIO,
26192        req: *mut OCSP_REQUEST,
26193        flags: ::std::os::raw::c_ulong,
26194    ) -> ::std::os::raw::c_int;
26195}
26196extern "C" {
26197    #[link_name = "aws_lc_0_46_0_OCSP_RESPONSE_print"]
26198    pub fn OCSP_RESPONSE_print(
26199        bp: *mut BIO,
26200        resp: *mut OCSP_RESPONSE,
26201        flags: ::std::os::raw::c_ulong,
26202    ) -> ::std::os::raw::c_int;
26203}
26204extern "C" {
26205    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_get_ext_by_NID"]
26206    pub fn OCSP_BASICRESP_get_ext_by_NID(
26207        bs: *mut OCSP_BASICRESP,
26208        nid: ::std::os::raw::c_int,
26209        lastpos: ::std::os::raw::c_int,
26210    ) -> ::std::os::raw::c_int;
26211}
26212extern "C" {
26213    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_get_ext"]
26214    pub fn OCSP_BASICRESP_get_ext(
26215        bs: *mut OCSP_BASICRESP,
26216        loc: ::std::os::raw::c_int,
26217    ) -> *mut X509_EXTENSION;
26218}
26219extern "C" {
26220    #[link_name = "aws_lc_0_46_0_OCSP_BASICRESP_delete_ext"]
26221    pub fn OCSP_BASICRESP_delete_ext(
26222        x: *mut OCSP_BASICRESP,
26223        loc: ::std::os::raw::c_int,
26224    ) -> *mut X509_EXTENSION;
26225}
26226extern "C" {
26227    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_add_ext"]
26228    pub fn OCSP_SINGLERESP_add_ext(
26229        sresp: *mut OCSP_SINGLERESP,
26230        ex: *mut X509_EXTENSION,
26231        loc: ::std::os::raw::c_int,
26232    ) -> ::std::os::raw::c_int;
26233}
26234extern "C" {
26235    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_get_ext_count"]
26236    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
26237}
26238extern "C" {
26239    #[link_name = "aws_lc_0_46_0_OCSP_SINGLERESP_get_ext"]
26240    pub fn OCSP_SINGLERESP_get_ext(
26241        sresp: *mut OCSP_SINGLERESP,
26242        loc: ::std::os::raw::c_int,
26243    ) -> *mut X509_EXTENSION;
26244}
26245pub type pem_password_cb = ::std::option::Option<
26246    unsafe extern "C" fn(
26247        buf: *mut ::std::os::raw::c_char,
26248        size: ::std::os::raw::c_int,
26249        rwflag: ::std::os::raw::c_int,
26250        userdata: *mut ::std::os::raw::c_void,
26251    ) -> ::std::os::raw::c_int,
26252>;
26253extern "C" {
26254    #[link_name = "aws_lc_0_46_0_PEM_get_EVP_CIPHER_INFO"]
26255    pub fn PEM_get_EVP_CIPHER_INFO(
26256        header: *mut ::std::os::raw::c_char,
26257        cipher: *mut EVP_CIPHER_INFO,
26258    ) -> ::std::os::raw::c_int;
26259}
26260extern "C" {
26261    #[link_name = "aws_lc_0_46_0_PEM_do_header"]
26262    pub fn PEM_do_header(
26263        cipher: *mut EVP_CIPHER_INFO,
26264        data: *mut ::std::os::raw::c_uchar,
26265        len: *mut ::std::os::raw::c_long,
26266        callback: pem_password_cb,
26267        u: *mut ::std::os::raw::c_void,
26268    ) -> ::std::os::raw::c_int;
26269}
26270extern "C" {
26271    #[link_name = "aws_lc_0_46_0_PEM_read_bio"]
26272    pub fn PEM_read_bio(
26273        bp: *mut BIO,
26274        name: *mut *mut ::std::os::raw::c_char,
26275        header: *mut *mut ::std::os::raw::c_char,
26276        data: *mut *mut ::std::os::raw::c_uchar,
26277        len: *mut ::std::os::raw::c_long,
26278    ) -> ::std::os::raw::c_int;
26279}
26280extern "C" {
26281    #[link_name = "aws_lc_0_46_0_PEM_write_bio"]
26282    pub fn PEM_write_bio(
26283        bp: *mut BIO,
26284        name: *const ::std::os::raw::c_char,
26285        hdr: *const ::std::os::raw::c_char,
26286        data: *const ::std::os::raw::c_uchar,
26287        len: ::std::os::raw::c_long,
26288    ) -> ::std::os::raw::c_int;
26289}
26290extern "C" {
26291    #[link_name = "aws_lc_0_46_0_PEM_bytes_read_bio"]
26292    pub fn PEM_bytes_read_bio(
26293        pdata: *mut *mut ::std::os::raw::c_uchar,
26294        plen: *mut ::std::os::raw::c_long,
26295        pnm: *mut *mut ::std::os::raw::c_char,
26296        name: *const ::std::os::raw::c_char,
26297        bp: *mut BIO,
26298        cb: pem_password_cb,
26299        u: *mut ::std::os::raw::c_void,
26300    ) -> ::std::os::raw::c_int;
26301}
26302extern "C" {
26303    #[link_name = "aws_lc_0_46_0_PEM_ASN1_read_bio"]
26304    pub fn PEM_ASN1_read_bio(
26305        d2i: d2i_of_void,
26306        name: *const ::std::os::raw::c_char,
26307        bp: *mut BIO,
26308        x: *mut *mut ::std::os::raw::c_void,
26309        cb: pem_password_cb,
26310        u: *mut ::std::os::raw::c_void,
26311    ) -> *mut ::std::os::raw::c_void;
26312}
26313extern "C" {
26314    #[link_name = "aws_lc_0_46_0_PEM_ASN1_write_bio"]
26315    pub fn PEM_ASN1_write_bio(
26316        i2d: i2d_of_void,
26317        name: *const ::std::os::raw::c_char,
26318        bp: *mut BIO,
26319        x: *mut ::std::os::raw::c_void,
26320        enc: *const EVP_CIPHER,
26321        pass: *const ::std::os::raw::c_uchar,
26322        pass_len: ::std::os::raw::c_int,
26323        cb: pem_password_cb,
26324        u: *mut ::std::os::raw::c_void,
26325    ) -> ::std::os::raw::c_int;
26326}
26327extern "C" {
26328    #[link_name = "aws_lc_0_46_0_PEM_X509_INFO_read_bio"]
26329    pub fn PEM_X509_INFO_read_bio(
26330        bp: *mut BIO,
26331        sk: *mut stack_st_X509_INFO,
26332        cb: pem_password_cb,
26333        u: *mut ::std::os::raw::c_void,
26334    ) -> *mut stack_st_X509_INFO;
26335}
26336extern "C" {
26337    #[link_name = "aws_lc_0_46_0_PEM_X509_INFO_write_bio"]
26338    pub fn PEM_X509_INFO_write_bio(
26339        bp: *mut BIO,
26340        xi: *mut X509_INFO,
26341        enc: *mut EVP_CIPHER,
26342        kstr: *mut ::std::os::raw::c_uchar,
26343        klen: ::std::os::raw::c_int,
26344        cd: pem_password_cb,
26345        u: *mut ::std::os::raw::c_void,
26346    ) -> ::std::os::raw::c_int;
26347}
26348extern "C" {
26349    #[link_name = "aws_lc_0_46_0_PEM_X509_INFO_read"]
26350    pub fn PEM_X509_INFO_read(
26351        fp: *mut FILE,
26352        sk: *mut stack_st_X509_INFO,
26353        cb: pem_password_cb,
26354        u: *mut ::std::os::raw::c_void,
26355    ) -> *mut stack_st_X509_INFO;
26356}
26357extern "C" {
26358    #[link_name = "aws_lc_0_46_0_PEM_read"]
26359    pub fn PEM_read(
26360        fp: *mut FILE,
26361        name: *mut *mut ::std::os::raw::c_char,
26362        header: *mut *mut ::std::os::raw::c_char,
26363        data: *mut *mut ::std::os::raw::c_uchar,
26364        len: *mut ::std::os::raw::c_long,
26365    ) -> ::std::os::raw::c_int;
26366}
26367extern "C" {
26368    #[link_name = "aws_lc_0_46_0_PEM_write"]
26369    pub fn PEM_write(
26370        fp: *mut FILE,
26371        name: *const ::std::os::raw::c_char,
26372        hdr: *const ::std::os::raw::c_char,
26373        data: *const ::std::os::raw::c_uchar,
26374        len: ::std::os::raw::c_long,
26375    ) -> ::std::os::raw::c_int;
26376}
26377extern "C" {
26378    #[link_name = "aws_lc_0_46_0_PEM_ASN1_read"]
26379    pub fn PEM_ASN1_read(
26380        d2i: d2i_of_void,
26381        name: *const ::std::os::raw::c_char,
26382        fp: *mut FILE,
26383        x: *mut *mut ::std::os::raw::c_void,
26384        cb: pem_password_cb,
26385        u: *mut ::std::os::raw::c_void,
26386    ) -> *mut ::std::os::raw::c_void;
26387}
26388extern "C" {
26389    #[link_name = "aws_lc_0_46_0_PEM_ASN1_write"]
26390    pub fn PEM_ASN1_write(
26391        i2d: i2d_of_void,
26392        name: *const ::std::os::raw::c_char,
26393        fp: *mut FILE,
26394        x: *mut ::std::os::raw::c_void,
26395        enc: *const EVP_CIPHER,
26396        pass: *const ::std::os::raw::c_uchar,
26397        pass_len: ::std::os::raw::c_int,
26398        callback: pem_password_cb,
26399        u: *mut ::std::os::raw::c_void,
26400    ) -> ::std::os::raw::c_int;
26401}
26402extern "C" {
26403    #[link_name = "aws_lc_0_46_0_PEM_def_callback"]
26404    pub fn PEM_def_callback(
26405        buf: *mut ::std::os::raw::c_char,
26406        size: ::std::os::raw::c_int,
26407        rwflag: ::std::os::raw::c_int,
26408        userdata: *mut ::std::os::raw::c_void,
26409    ) -> ::std::os::raw::c_int;
26410}
26411extern "C" {
26412    #[link_name = "aws_lc_0_46_0_PEM_read_bio_X509"]
26413    pub fn PEM_read_bio_X509(
26414        bp: *mut BIO,
26415        x: *mut *mut X509,
26416        cb: pem_password_cb,
26417        u: *mut ::std::os::raw::c_void,
26418    ) -> *mut X509;
26419}
26420extern "C" {
26421    #[link_name = "aws_lc_0_46_0_PEM_read_X509"]
26422    pub fn PEM_read_X509(
26423        fp: *mut FILE,
26424        x: *mut *mut X509,
26425        cb: pem_password_cb,
26426        u: *mut ::std::os::raw::c_void,
26427    ) -> *mut X509;
26428}
26429extern "C" {
26430    #[link_name = "aws_lc_0_46_0_PEM_write_bio_X509"]
26431    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
26432}
26433extern "C" {
26434    #[link_name = "aws_lc_0_46_0_PEM_write_X509"]
26435    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
26436}
26437extern "C" {
26438    #[link_name = "aws_lc_0_46_0_PEM_read_bio_X509_AUX"]
26439    pub fn PEM_read_bio_X509_AUX(
26440        bp: *mut BIO,
26441        x: *mut *mut X509,
26442        cb: pem_password_cb,
26443        u: *mut ::std::os::raw::c_void,
26444    ) -> *mut X509;
26445}
26446extern "C" {
26447    #[link_name = "aws_lc_0_46_0_PEM_read_X509_AUX"]
26448    pub fn PEM_read_X509_AUX(
26449        fp: *mut FILE,
26450        x: *mut *mut X509,
26451        cb: pem_password_cb,
26452        u: *mut ::std::os::raw::c_void,
26453    ) -> *mut X509;
26454}
26455extern "C" {
26456    #[link_name = "aws_lc_0_46_0_PEM_write_bio_X509_AUX"]
26457    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
26458}
26459extern "C" {
26460    #[link_name = "aws_lc_0_46_0_PEM_write_X509_AUX"]
26461    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
26462}
26463extern "C" {
26464    #[link_name = "aws_lc_0_46_0_PEM_read_bio_X509_REQ"]
26465    pub fn PEM_read_bio_X509_REQ(
26466        bp: *mut BIO,
26467        x: *mut *mut X509_REQ,
26468        cb: pem_password_cb,
26469        u: *mut ::std::os::raw::c_void,
26470    ) -> *mut X509_REQ;
26471}
26472extern "C" {
26473    #[link_name = "aws_lc_0_46_0_PEM_read_X509_REQ"]
26474    pub fn PEM_read_X509_REQ(
26475        fp: *mut FILE,
26476        x: *mut *mut X509_REQ,
26477        cb: pem_password_cb,
26478        u: *mut ::std::os::raw::c_void,
26479    ) -> *mut X509_REQ;
26480}
26481extern "C" {
26482    #[link_name = "aws_lc_0_46_0_PEM_write_bio_X509_REQ"]
26483    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26484}
26485extern "C" {
26486    #[link_name = "aws_lc_0_46_0_PEM_write_X509_REQ"]
26487    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26488}
26489extern "C" {
26490    #[link_name = "aws_lc_0_46_0_PEM_write_bio_X509_REQ_NEW"]
26491    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26492}
26493extern "C" {
26494    #[link_name = "aws_lc_0_46_0_PEM_write_X509_REQ_NEW"]
26495    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
26496}
26497extern "C" {
26498    #[link_name = "aws_lc_0_46_0_PEM_read_bio_X509_CRL"]
26499    pub fn PEM_read_bio_X509_CRL(
26500        bp: *mut BIO,
26501        x: *mut *mut X509_CRL,
26502        cb: pem_password_cb,
26503        u: *mut ::std::os::raw::c_void,
26504    ) -> *mut X509_CRL;
26505}
26506extern "C" {
26507    #[link_name = "aws_lc_0_46_0_PEM_read_X509_CRL"]
26508    pub fn PEM_read_X509_CRL(
26509        fp: *mut FILE,
26510        x: *mut *mut X509_CRL,
26511        cb: pem_password_cb,
26512        u: *mut ::std::os::raw::c_void,
26513    ) -> *mut X509_CRL;
26514}
26515extern "C" {
26516    #[link_name = "aws_lc_0_46_0_PEM_write_bio_X509_CRL"]
26517    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
26518}
26519extern "C" {
26520    #[link_name = "aws_lc_0_46_0_PEM_write_X509_CRL"]
26521    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
26522}
26523extern "C" {
26524    #[link_name = "aws_lc_0_46_0_PEM_read_bio_PKCS7"]
26525    pub fn PEM_read_bio_PKCS7(
26526        bp: *mut BIO,
26527        x: *mut *mut PKCS7,
26528        cb: pem_password_cb,
26529        u: *mut ::std::os::raw::c_void,
26530    ) -> *mut PKCS7;
26531}
26532extern "C" {
26533    #[link_name = "aws_lc_0_46_0_PEM_read_PKCS7"]
26534    pub fn PEM_read_PKCS7(
26535        fp: *mut FILE,
26536        x: *mut *mut PKCS7,
26537        cb: pem_password_cb,
26538        u: *mut ::std::os::raw::c_void,
26539    ) -> *mut PKCS7;
26540}
26541extern "C" {
26542    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PKCS7"]
26543    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
26544}
26545extern "C" {
26546    #[link_name = "aws_lc_0_46_0_PEM_write_PKCS7"]
26547    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
26548}
26549extern "C" {
26550    #[link_name = "aws_lc_0_46_0_PEM_read_bio_PKCS8"]
26551    pub fn PEM_read_bio_PKCS8(
26552        bp: *mut BIO,
26553        x: *mut *mut X509_SIG,
26554        cb: pem_password_cb,
26555        u: *mut ::std::os::raw::c_void,
26556    ) -> *mut X509_SIG;
26557}
26558extern "C" {
26559    #[link_name = "aws_lc_0_46_0_PEM_read_PKCS8"]
26560    pub fn PEM_read_PKCS8(
26561        fp: *mut FILE,
26562        x: *mut *mut X509_SIG,
26563        cb: pem_password_cb,
26564        u: *mut ::std::os::raw::c_void,
26565    ) -> *mut X509_SIG;
26566}
26567extern "C" {
26568    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PKCS8"]
26569    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26570}
26571extern "C" {
26572    #[link_name = "aws_lc_0_46_0_PEM_write_PKCS8"]
26573    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26574}
26575extern "C" {
26576    #[link_name = "aws_lc_0_46_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
26577    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
26578        bp: *mut BIO,
26579        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26580        cb: pem_password_cb,
26581        u: *mut ::std::os::raw::c_void,
26582    ) -> *mut PKCS8_PRIV_KEY_INFO;
26583}
26584extern "C" {
26585    #[link_name = "aws_lc_0_46_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
26586    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
26587        fp: *mut FILE,
26588        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26589        cb: pem_password_cb,
26590        u: *mut ::std::os::raw::c_void,
26591    ) -> *mut PKCS8_PRIV_KEY_INFO;
26592}
26593extern "C" {
26594    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
26595    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
26596        bp: *mut BIO,
26597        x: *mut PKCS8_PRIV_KEY_INFO,
26598    ) -> ::std::os::raw::c_int;
26599}
26600extern "C" {
26601    #[link_name = "aws_lc_0_46_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
26602    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
26603        fp: *mut FILE,
26604        x: *mut PKCS8_PRIV_KEY_INFO,
26605    ) -> ::std::os::raw::c_int;
26606}
26607extern "C" {
26608    #[link_name = "aws_lc_0_46_0_PEM_read_bio_RSAPrivateKey"]
26609    pub fn PEM_read_bio_RSAPrivateKey(
26610        bp: *mut BIO,
26611        x: *mut *mut RSA,
26612        cb: pem_password_cb,
26613        u: *mut ::std::os::raw::c_void,
26614    ) -> *mut RSA;
26615}
26616extern "C" {
26617    #[link_name = "aws_lc_0_46_0_PEM_read_RSAPrivateKey"]
26618    pub fn PEM_read_RSAPrivateKey(
26619        fp: *mut FILE,
26620        x: *mut *mut RSA,
26621        cb: pem_password_cb,
26622        u: *mut ::std::os::raw::c_void,
26623    ) -> *mut RSA;
26624}
26625extern "C" {
26626    #[link_name = "aws_lc_0_46_0_PEM_write_bio_RSAPrivateKey"]
26627    pub fn PEM_write_bio_RSAPrivateKey(
26628        bp: *mut BIO,
26629        x: *mut RSA,
26630        enc: *const EVP_CIPHER,
26631        pass: *const ::std::os::raw::c_uchar,
26632        pass_len: ::std::os::raw::c_int,
26633        cb: pem_password_cb,
26634        u: *mut ::std::os::raw::c_void,
26635    ) -> ::std::os::raw::c_int;
26636}
26637extern "C" {
26638    #[link_name = "aws_lc_0_46_0_PEM_write_RSAPrivateKey"]
26639    pub fn PEM_write_RSAPrivateKey(
26640        fp: *mut FILE,
26641        x: *mut RSA,
26642        enc: *const EVP_CIPHER,
26643        pass: *const ::std::os::raw::c_uchar,
26644        pass_len: ::std::os::raw::c_int,
26645        cb: pem_password_cb,
26646        u: *mut ::std::os::raw::c_void,
26647    ) -> ::std::os::raw::c_int;
26648}
26649extern "C" {
26650    #[link_name = "aws_lc_0_46_0_PEM_read_bio_RSAPublicKey"]
26651    pub fn PEM_read_bio_RSAPublicKey(
26652        bp: *mut BIO,
26653        x: *mut *mut RSA,
26654        cb: pem_password_cb,
26655        u: *mut ::std::os::raw::c_void,
26656    ) -> *mut RSA;
26657}
26658extern "C" {
26659    #[link_name = "aws_lc_0_46_0_PEM_read_RSAPublicKey"]
26660    pub fn PEM_read_RSAPublicKey(
26661        fp: *mut FILE,
26662        x: *mut *mut RSA,
26663        cb: pem_password_cb,
26664        u: *mut ::std::os::raw::c_void,
26665    ) -> *mut RSA;
26666}
26667extern "C" {
26668    #[link_name = "aws_lc_0_46_0_PEM_write_bio_RSAPublicKey"]
26669    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
26670}
26671extern "C" {
26672    #[link_name = "aws_lc_0_46_0_PEM_write_RSAPublicKey"]
26673    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
26674}
26675extern "C" {
26676    #[link_name = "aws_lc_0_46_0_PEM_read_bio_RSA_PUBKEY"]
26677    pub fn PEM_read_bio_RSA_PUBKEY(
26678        bp: *mut BIO,
26679        x: *mut *mut RSA,
26680        cb: pem_password_cb,
26681        u: *mut ::std::os::raw::c_void,
26682    ) -> *mut RSA;
26683}
26684extern "C" {
26685    #[link_name = "aws_lc_0_46_0_PEM_read_RSA_PUBKEY"]
26686    pub fn PEM_read_RSA_PUBKEY(
26687        fp: *mut FILE,
26688        x: *mut *mut RSA,
26689        cb: pem_password_cb,
26690        u: *mut ::std::os::raw::c_void,
26691    ) -> *mut RSA;
26692}
26693extern "C" {
26694    #[link_name = "aws_lc_0_46_0_PEM_write_bio_RSA_PUBKEY"]
26695    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
26696}
26697extern "C" {
26698    #[link_name = "aws_lc_0_46_0_PEM_write_RSA_PUBKEY"]
26699    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
26700}
26701extern "C" {
26702    #[link_name = "aws_lc_0_46_0_PEM_read_bio_DSAPrivateKey"]
26703    pub fn PEM_read_bio_DSAPrivateKey(
26704        bp: *mut BIO,
26705        x: *mut *mut DSA,
26706        cb: pem_password_cb,
26707        u: *mut ::std::os::raw::c_void,
26708    ) -> *mut DSA;
26709}
26710extern "C" {
26711    #[link_name = "aws_lc_0_46_0_PEM_read_DSAPrivateKey"]
26712    pub fn PEM_read_DSAPrivateKey(
26713        fp: *mut FILE,
26714        x: *mut *mut DSA,
26715        cb: pem_password_cb,
26716        u: *mut ::std::os::raw::c_void,
26717    ) -> *mut DSA;
26718}
26719extern "C" {
26720    #[link_name = "aws_lc_0_46_0_PEM_write_bio_DSAPrivateKey"]
26721    pub fn PEM_write_bio_DSAPrivateKey(
26722        bp: *mut BIO,
26723        x: *mut DSA,
26724        enc: *const EVP_CIPHER,
26725        pass: *const ::std::os::raw::c_uchar,
26726        pass_len: ::std::os::raw::c_int,
26727        cb: pem_password_cb,
26728        u: *mut ::std::os::raw::c_void,
26729    ) -> ::std::os::raw::c_int;
26730}
26731extern "C" {
26732    #[link_name = "aws_lc_0_46_0_PEM_write_DSAPrivateKey"]
26733    pub fn PEM_write_DSAPrivateKey(
26734        fp: *mut FILE,
26735        x: *mut DSA,
26736        enc: *const EVP_CIPHER,
26737        pass: *const ::std::os::raw::c_uchar,
26738        pass_len: ::std::os::raw::c_int,
26739        cb: pem_password_cb,
26740        u: *mut ::std::os::raw::c_void,
26741    ) -> ::std::os::raw::c_int;
26742}
26743extern "C" {
26744    #[link_name = "aws_lc_0_46_0_PEM_read_bio_DSA_PUBKEY"]
26745    pub fn PEM_read_bio_DSA_PUBKEY(
26746        bp: *mut BIO,
26747        x: *mut *mut DSA,
26748        cb: pem_password_cb,
26749        u: *mut ::std::os::raw::c_void,
26750    ) -> *mut DSA;
26751}
26752extern "C" {
26753    #[link_name = "aws_lc_0_46_0_PEM_read_DSA_PUBKEY"]
26754    pub fn PEM_read_DSA_PUBKEY(
26755        fp: *mut FILE,
26756        x: *mut *mut DSA,
26757        cb: pem_password_cb,
26758        u: *mut ::std::os::raw::c_void,
26759    ) -> *mut DSA;
26760}
26761extern "C" {
26762    #[link_name = "aws_lc_0_46_0_PEM_write_bio_DSA_PUBKEY"]
26763    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
26764}
26765extern "C" {
26766    #[link_name = "aws_lc_0_46_0_PEM_write_DSA_PUBKEY"]
26767    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
26768}
26769extern "C" {
26770    #[link_name = "aws_lc_0_46_0_PEM_read_bio_DSAparams"]
26771    pub fn PEM_read_bio_DSAparams(
26772        bp: *mut BIO,
26773        x: *mut *mut DSA,
26774        cb: pem_password_cb,
26775        u: *mut ::std::os::raw::c_void,
26776    ) -> *mut DSA;
26777}
26778extern "C" {
26779    #[link_name = "aws_lc_0_46_0_PEM_read_DSAparams"]
26780    pub fn PEM_read_DSAparams(
26781        fp: *mut FILE,
26782        x: *mut *mut DSA,
26783        cb: pem_password_cb,
26784        u: *mut ::std::os::raw::c_void,
26785    ) -> *mut DSA;
26786}
26787extern "C" {
26788    #[link_name = "aws_lc_0_46_0_PEM_write_bio_DSAparams"]
26789    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
26790}
26791extern "C" {
26792    #[link_name = "aws_lc_0_46_0_PEM_write_DSAparams"]
26793    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
26794}
26795extern "C" {
26796    #[link_name = "aws_lc_0_46_0_PEM_read_bio_ECPrivateKey"]
26797    pub fn PEM_read_bio_ECPrivateKey(
26798        bp: *mut BIO,
26799        x: *mut *mut EC_KEY,
26800        cb: pem_password_cb,
26801        u: *mut ::std::os::raw::c_void,
26802    ) -> *mut EC_KEY;
26803}
26804extern "C" {
26805    #[link_name = "aws_lc_0_46_0_PEM_read_ECPrivateKey"]
26806    pub fn PEM_read_ECPrivateKey(
26807        fp: *mut FILE,
26808        x: *mut *mut EC_KEY,
26809        cb: pem_password_cb,
26810        u: *mut ::std::os::raw::c_void,
26811    ) -> *mut EC_KEY;
26812}
26813extern "C" {
26814    #[link_name = "aws_lc_0_46_0_PEM_write_bio_ECPrivateKey"]
26815    pub fn PEM_write_bio_ECPrivateKey(
26816        bp: *mut BIO,
26817        x: *mut EC_KEY,
26818        enc: *const EVP_CIPHER,
26819        pass: *const ::std::os::raw::c_uchar,
26820        pass_len: ::std::os::raw::c_int,
26821        cb: pem_password_cb,
26822        u: *mut ::std::os::raw::c_void,
26823    ) -> ::std::os::raw::c_int;
26824}
26825extern "C" {
26826    #[link_name = "aws_lc_0_46_0_PEM_write_ECPrivateKey"]
26827    pub fn PEM_write_ECPrivateKey(
26828        fp: *mut FILE,
26829        x: *mut EC_KEY,
26830        enc: *const EVP_CIPHER,
26831        pass: *const ::std::os::raw::c_uchar,
26832        pass_len: ::std::os::raw::c_int,
26833        cb: pem_password_cb,
26834        u: *mut ::std::os::raw::c_void,
26835    ) -> ::std::os::raw::c_int;
26836}
26837extern "C" {
26838    #[link_name = "aws_lc_0_46_0_PEM_read_bio_EC_PUBKEY"]
26839    pub fn PEM_read_bio_EC_PUBKEY(
26840        bp: *mut BIO,
26841        x: *mut *mut EC_KEY,
26842        cb: pem_password_cb,
26843        u: *mut ::std::os::raw::c_void,
26844    ) -> *mut EC_KEY;
26845}
26846extern "C" {
26847    #[link_name = "aws_lc_0_46_0_PEM_read_EC_PUBKEY"]
26848    pub fn PEM_read_EC_PUBKEY(
26849        fp: *mut FILE,
26850        x: *mut *mut EC_KEY,
26851        cb: pem_password_cb,
26852        u: *mut ::std::os::raw::c_void,
26853    ) -> *mut EC_KEY;
26854}
26855extern "C" {
26856    #[link_name = "aws_lc_0_46_0_PEM_write_bio_EC_PUBKEY"]
26857    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26858}
26859extern "C" {
26860    #[link_name = "aws_lc_0_46_0_PEM_write_EC_PUBKEY"]
26861    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26862}
26863extern "C" {
26864    #[link_name = "aws_lc_0_46_0_PEM_read_bio_DHparams"]
26865    pub fn PEM_read_bio_DHparams(
26866        bp: *mut BIO,
26867        x: *mut *mut DH,
26868        cb: pem_password_cb,
26869        u: *mut ::std::os::raw::c_void,
26870    ) -> *mut DH;
26871}
26872extern "C" {
26873    #[link_name = "aws_lc_0_46_0_PEM_read_DHparams"]
26874    pub fn PEM_read_DHparams(
26875        fp: *mut FILE,
26876        x: *mut *mut DH,
26877        cb: pem_password_cb,
26878        u: *mut ::std::os::raw::c_void,
26879    ) -> *mut DH;
26880}
26881extern "C" {
26882    #[link_name = "aws_lc_0_46_0_PEM_write_bio_DHparams"]
26883    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
26884}
26885extern "C" {
26886    #[link_name = "aws_lc_0_46_0_PEM_write_DHparams"]
26887    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
26888}
26889extern "C" {
26890    #[link_name = "aws_lc_0_46_0_PEM_read_bio_PrivateKey"]
26891    pub fn PEM_read_bio_PrivateKey(
26892        bp: *mut BIO,
26893        x: *mut *mut EVP_PKEY,
26894        cb: pem_password_cb,
26895        u: *mut ::std::os::raw::c_void,
26896    ) -> *mut EVP_PKEY;
26897}
26898extern "C" {
26899    #[link_name = "aws_lc_0_46_0_PEM_read_PrivateKey"]
26900    pub fn PEM_read_PrivateKey(
26901        fp: *mut FILE,
26902        x: *mut *mut EVP_PKEY,
26903        cb: pem_password_cb,
26904        u: *mut ::std::os::raw::c_void,
26905    ) -> *mut EVP_PKEY;
26906}
26907extern "C" {
26908    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PrivateKey"]
26909    pub fn PEM_write_bio_PrivateKey(
26910        bp: *mut BIO,
26911        x: *mut EVP_PKEY,
26912        enc: *const EVP_CIPHER,
26913        pass: *const ::std::os::raw::c_uchar,
26914        pass_len: ::std::os::raw::c_int,
26915        cb: pem_password_cb,
26916        u: *mut ::std::os::raw::c_void,
26917    ) -> ::std::os::raw::c_int;
26918}
26919extern "C" {
26920    #[link_name = "aws_lc_0_46_0_PEM_write_PrivateKey"]
26921    pub fn PEM_write_PrivateKey(
26922        fp: *mut FILE,
26923        x: *mut EVP_PKEY,
26924        enc: *const EVP_CIPHER,
26925        pass: *const ::std::os::raw::c_uchar,
26926        pass_len: ::std::os::raw::c_int,
26927        cb: pem_password_cb,
26928        u: *mut ::std::os::raw::c_void,
26929    ) -> ::std::os::raw::c_int;
26930}
26931extern "C" {
26932    #[link_name = "aws_lc_0_46_0_PEM_read_bio_PUBKEY"]
26933    pub fn PEM_read_bio_PUBKEY(
26934        bp: *mut BIO,
26935        x: *mut *mut EVP_PKEY,
26936        cb: pem_password_cb,
26937        u: *mut ::std::os::raw::c_void,
26938    ) -> *mut EVP_PKEY;
26939}
26940extern "C" {
26941    #[link_name = "aws_lc_0_46_0_PEM_read_PUBKEY"]
26942    pub fn PEM_read_PUBKEY(
26943        fp: *mut FILE,
26944        x: *mut *mut EVP_PKEY,
26945        cb: pem_password_cb,
26946        u: *mut ::std::os::raw::c_void,
26947    ) -> *mut EVP_PKEY;
26948}
26949extern "C" {
26950    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PUBKEY"]
26951    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26952}
26953extern "C" {
26954    #[link_name = "aws_lc_0_46_0_PEM_write_PUBKEY"]
26955    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26956}
26957extern "C" {
26958    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PKCS8PrivateKey_nid"]
26959    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
26960        bp: *mut BIO,
26961        x: *const EVP_PKEY,
26962        nid: ::std::os::raw::c_int,
26963        pass: *const ::std::os::raw::c_char,
26964        pass_len: ::std::os::raw::c_int,
26965        cb: pem_password_cb,
26966        u: *mut ::std::os::raw::c_void,
26967    ) -> ::std::os::raw::c_int;
26968}
26969extern "C" {
26970    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PKCS8PrivateKey"]
26971    pub fn PEM_write_bio_PKCS8PrivateKey(
26972        bp: *mut BIO,
26973        x: *const EVP_PKEY,
26974        enc: *const EVP_CIPHER,
26975        pass: *const ::std::os::raw::c_char,
26976        pass_len: ::std::os::raw::c_int,
26977        cb: pem_password_cb,
26978        u: *mut ::std::os::raw::c_void,
26979    ) -> ::std::os::raw::c_int;
26980}
26981extern "C" {
26982    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKey_bio"]
26983    pub fn i2d_PKCS8PrivateKey_bio(
26984        bp: *mut BIO,
26985        x: *const EVP_PKEY,
26986        enc: *const EVP_CIPHER,
26987        pass: *const ::std::os::raw::c_char,
26988        pass_len: ::std::os::raw::c_int,
26989        cb: pem_password_cb,
26990        u: *mut ::std::os::raw::c_void,
26991    ) -> ::std::os::raw::c_int;
26992}
26993extern "C" {
26994    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKey_nid_bio"]
26995    pub fn i2d_PKCS8PrivateKey_nid_bio(
26996        bp: *mut BIO,
26997        x: *const EVP_PKEY,
26998        nid: ::std::os::raw::c_int,
26999        pass: *const ::std::os::raw::c_char,
27000        pass_len: ::std::os::raw::c_int,
27001        cb: pem_password_cb,
27002        u: *mut ::std::os::raw::c_void,
27003    ) -> ::std::os::raw::c_int;
27004}
27005extern "C" {
27006    #[link_name = "aws_lc_0_46_0_d2i_PKCS8PrivateKey_bio"]
27007    pub fn d2i_PKCS8PrivateKey_bio(
27008        bp: *mut BIO,
27009        x: *mut *mut EVP_PKEY,
27010        cb: pem_password_cb,
27011        u: *mut ::std::os::raw::c_void,
27012    ) -> *mut EVP_PKEY;
27013}
27014extern "C" {
27015    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKey_fp"]
27016    pub fn i2d_PKCS8PrivateKey_fp(
27017        fp: *mut FILE,
27018        x: *const EVP_PKEY,
27019        enc: *const EVP_CIPHER,
27020        pass: *const ::std::os::raw::c_char,
27021        pass_len: ::std::os::raw::c_int,
27022        cb: pem_password_cb,
27023        u: *mut ::std::os::raw::c_void,
27024    ) -> ::std::os::raw::c_int;
27025}
27026extern "C" {
27027    #[link_name = "aws_lc_0_46_0_i2d_PKCS8PrivateKey_nid_fp"]
27028    pub fn i2d_PKCS8PrivateKey_nid_fp(
27029        fp: *mut FILE,
27030        x: *const EVP_PKEY,
27031        nid: ::std::os::raw::c_int,
27032        pass: *const ::std::os::raw::c_char,
27033        pass_len: ::std::os::raw::c_int,
27034        cb: pem_password_cb,
27035        u: *mut ::std::os::raw::c_void,
27036    ) -> ::std::os::raw::c_int;
27037}
27038extern "C" {
27039    #[link_name = "aws_lc_0_46_0_PEM_write_PKCS8PrivateKey_nid"]
27040    pub fn PEM_write_PKCS8PrivateKey_nid(
27041        fp: *mut FILE,
27042        x: *const EVP_PKEY,
27043        nid: ::std::os::raw::c_int,
27044        pass: *const ::std::os::raw::c_char,
27045        pass_len: ::std::os::raw::c_int,
27046        cb: pem_password_cb,
27047        u: *mut ::std::os::raw::c_void,
27048    ) -> ::std::os::raw::c_int;
27049}
27050extern "C" {
27051    #[link_name = "aws_lc_0_46_0_d2i_PKCS8PrivateKey_fp"]
27052    pub fn d2i_PKCS8PrivateKey_fp(
27053        fp: *mut FILE,
27054        x: *mut *mut EVP_PKEY,
27055        cb: pem_password_cb,
27056        u: *mut ::std::os::raw::c_void,
27057    ) -> *mut EVP_PKEY;
27058}
27059extern "C" {
27060    #[link_name = "aws_lc_0_46_0_PEM_write_PKCS8PrivateKey"]
27061    pub fn PEM_write_PKCS8PrivateKey(
27062        fp: *mut FILE,
27063        x: *const EVP_PKEY,
27064        enc: *const EVP_CIPHER,
27065        pass: *const ::std::os::raw::c_char,
27066        pass_len: ::std::os::raw::c_int,
27067        cd: pem_password_cb,
27068        u: *mut ::std::os::raw::c_void,
27069    ) -> ::std::os::raw::c_int;
27070}
27071extern "C" {
27072    #[link_name = "aws_lc_0_46_0_PEM_read_bio_Parameters"]
27073    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
27074}
27075extern "C" {
27076    #[link_name = "aws_lc_0_46_0_PEM_write_bio_Parameters"]
27077    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
27078}
27079extern "C" {
27080    #[link_name = "aws_lc_0_46_0_PEM_read_bio_ECPKParameters"]
27081    pub fn PEM_read_bio_ECPKParameters(
27082        bio: *mut BIO,
27083        out_group: *mut *mut EC_GROUP,
27084        cb: pem_password_cb,
27085        u: *mut ::std::os::raw::c_void,
27086    ) -> *mut EC_GROUP;
27087}
27088extern "C" {
27089    #[link_name = "aws_lc_0_46_0_PEM_write_bio_ECPKParameters"]
27090    pub fn PEM_write_bio_ECPKParameters(
27091        out: *mut BIO,
27092        group: *const EC_GROUP,
27093    ) -> ::std::os::raw::c_int;
27094}
27095extern "C" {
27096    #[link_name = "aws_lc_0_46_0_PEM_write_bio_PrivateKey_traditional"]
27097    pub fn PEM_write_bio_PrivateKey_traditional(
27098        bp: *mut BIO,
27099        x: *mut EVP_PKEY,
27100        enc: *const EVP_CIPHER,
27101        kstr: *mut ::std::os::raw::c_uchar,
27102        klen: ::std::os::raw::c_int,
27103        cb: pem_password_cb,
27104        u: *mut ::std::os::raw::c_void,
27105    ) -> ::std::os::raw::c_int;
27106}
27107extern "C" {
27108    #[link_name = "aws_lc_0_46_0_PKCS8_encrypt"]
27109    pub fn PKCS8_encrypt(
27110        pbe_nid: ::std::os::raw::c_int,
27111        cipher: *const EVP_CIPHER,
27112        pass: *const ::std::os::raw::c_char,
27113        pass_len: ::std::os::raw::c_int,
27114        salt: *const u8,
27115        salt_len: usize,
27116        iterations: ::std::os::raw::c_int,
27117        p8inf: *mut PKCS8_PRIV_KEY_INFO,
27118    ) -> *mut X509_SIG;
27119}
27120extern "C" {
27121    #[link_name = "aws_lc_0_46_0_PKCS8_marshal_encrypted_private_key"]
27122    pub fn PKCS8_marshal_encrypted_private_key(
27123        out: *mut CBB,
27124        pbe_nid: ::std::os::raw::c_int,
27125        cipher: *const EVP_CIPHER,
27126        pass: *const ::std::os::raw::c_char,
27127        pass_len: usize,
27128        salt: *const u8,
27129        salt_len: usize,
27130        iterations: ::std::os::raw::c_int,
27131        pkey: *const EVP_PKEY,
27132    ) -> ::std::os::raw::c_int;
27133}
27134extern "C" {
27135    #[link_name = "aws_lc_0_46_0_PKCS8_decrypt"]
27136    pub fn PKCS8_decrypt(
27137        pkcs8: *mut X509_SIG,
27138        pass: *const ::std::os::raw::c_char,
27139        pass_len: ::std::os::raw::c_int,
27140    ) -> *mut PKCS8_PRIV_KEY_INFO;
27141}
27142extern "C" {
27143    #[link_name = "aws_lc_0_46_0_PKCS8_parse_encrypted_private_key"]
27144    pub fn PKCS8_parse_encrypted_private_key(
27145        cbs: *mut CBS,
27146        pass: *const ::std::os::raw::c_char,
27147        pass_len: usize,
27148    ) -> *mut EVP_PKEY;
27149}
27150extern "C" {
27151    #[link_name = "aws_lc_0_46_0_PKCS12_get_key_and_certs"]
27152    pub fn PKCS12_get_key_and_certs(
27153        out_key: *mut *mut EVP_PKEY,
27154        out_certs: *mut stack_st_X509,
27155        in_: *mut CBS,
27156        password: *const ::std::os::raw::c_char,
27157    ) -> ::std::os::raw::c_int;
27158}
27159extern "C" {
27160    #[link_name = "aws_lc_0_46_0_PKCS12_PBE_add"]
27161    pub fn PKCS12_PBE_add();
27162}
27163extern "C" {
27164    #[link_name = "aws_lc_0_46_0_d2i_PKCS12"]
27165    pub fn d2i_PKCS12(
27166        out_p12: *mut *mut PKCS12,
27167        ber_bytes: *mut *const u8,
27168        ber_len: usize,
27169    ) -> *mut PKCS12;
27170}
27171extern "C" {
27172    #[link_name = "aws_lc_0_46_0_d2i_PKCS12_bio"]
27173    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
27174}
27175extern "C" {
27176    #[link_name = "aws_lc_0_46_0_d2i_PKCS12_fp"]
27177    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
27178}
27179extern "C" {
27180    #[link_name = "aws_lc_0_46_0_i2d_PKCS12"]
27181    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
27182}
27183extern "C" {
27184    #[link_name = "aws_lc_0_46_0_i2d_PKCS12_bio"]
27185    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
27186}
27187extern "C" {
27188    #[link_name = "aws_lc_0_46_0_i2d_PKCS12_fp"]
27189    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
27190}
27191extern "C" {
27192    #[link_name = "aws_lc_0_46_0_PKCS12_parse"]
27193    pub fn PKCS12_parse(
27194        p12: *const PKCS12,
27195        password: *const ::std::os::raw::c_char,
27196        out_pkey: *mut *mut EVP_PKEY,
27197        out_cert: *mut *mut X509,
27198        out_ca_certs: *mut *mut stack_st_X509,
27199    ) -> ::std::os::raw::c_int;
27200}
27201extern "C" {
27202    #[link_name = "aws_lc_0_46_0_PKCS12_set_mac"]
27203    pub fn PKCS12_set_mac(
27204        p12: *mut PKCS12,
27205        password: *const ::std::os::raw::c_char,
27206        password_len: ::std::os::raw::c_int,
27207        salt: *mut ::std::os::raw::c_uchar,
27208        salt_len: ::std::os::raw::c_int,
27209        mac_iterations: ::std::os::raw::c_int,
27210        md: *const EVP_MD,
27211    ) -> ::std::os::raw::c_int;
27212}
27213extern "C" {
27214    #[link_name = "aws_lc_0_46_0_PKCS12_verify_mac"]
27215    pub fn PKCS12_verify_mac(
27216        p12: *const PKCS12,
27217        password: *const ::std::os::raw::c_char,
27218        password_len: ::std::os::raw::c_int,
27219    ) -> ::std::os::raw::c_int;
27220}
27221extern "C" {
27222    #[link_name = "aws_lc_0_46_0_PKCS12_create"]
27223    pub fn PKCS12_create(
27224        password: *const ::std::os::raw::c_char,
27225        name: *const ::std::os::raw::c_char,
27226        pkey: *const EVP_PKEY,
27227        cert: *mut X509,
27228        chain: *const stack_st_X509,
27229        key_nid: ::std::os::raw::c_int,
27230        cert_nid: ::std::os::raw::c_int,
27231        iterations: ::std::os::raw::c_int,
27232        mac_iterations: ::std::os::raw::c_int,
27233        key_type: ::std::os::raw::c_int,
27234    ) -> *mut PKCS12;
27235}
27236extern "C" {
27237    #[link_name = "aws_lc_0_46_0_PKCS12_new"]
27238    pub fn PKCS12_new() -> *mut PKCS12;
27239}
27240extern "C" {
27241    #[link_name = "aws_lc_0_46_0_PKCS12_free"]
27242    pub fn PKCS12_free(p12: *mut PKCS12);
27243}
27244pub type poly1305_state = [u8; 512usize];
27245extern "C" {
27246    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_init"]
27247    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
27248}
27249extern "C" {
27250    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_update"]
27251    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
27252}
27253extern "C" {
27254    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_finish"]
27255    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
27256}
27257extern "C" {
27258    #[link_name = "aws_lc_0_46_0_RAND_bytes"]
27259    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27260}
27261extern "C" {
27262    #[link_name = "aws_lc_0_46_0_RAND_priv_bytes"]
27263    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27264}
27265extern "C" {
27266    #[link_name = "aws_lc_0_46_0_RAND_public_bytes"]
27267    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
27268}
27269extern "C" {
27270    #[link_name = "aws_lc_0_46_0_RAND_bytes_with_user_prediction_resistance"]
27271    pub fn RAND_bytes_with_user_prediction_resistance(
27272        out: *mut u8,
27273        out_len: usize,
27274        user_pred_resistance: *const u8,
27275    ) -> ::std::os::raw::c_int;
27276}
27277extern "C" {
27278    #[link_name = "aws_lc_0_46_0_RAND_pseudo_bytes"]
27279    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
27280}
27281extern "C" {
27282    #[link_name = "aws_lc_0_46_0_RAND_seed"]
27283    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
27284}
27285extern "C" {
27286    #[link_name = "aws_lc_0_46_0_RAND_load_file"]
27287    pub fn RAND_load_file(
27288        path: *const ::std::os::raw::c_char,
27289        num: ::std::os::raw::c_long,
27290    ) -> ::std::os::raw::c_int;
27291}
27292extern "C" {
27293    #[link_name = "aws_lc_0_46_0_RAND_write_file"]
27294    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
27295}
27296extern "C" {
27297    #[link_name = "aws_lc_0_46_0_RAND_file_name"]
27298    pub fn RAND_file_name(
27299        buf: *mut ::std::os::raw::c_char,
27300        num: usize,
27301    ) -> *const ::std::os::raw::c_char;
27302}
27303extern "C" {
27304    #[link_name = "aws_lc_0_46_0_RAND_add"]
27305    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
27306}
27307extern "C" {
27308    #[link_name = "aws_lc_0_46_0_RAND_egd"]
27309    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
27310}
27311extern "C" {
27312    #[link_name = "aws_lc_0_46_0_RAND_egd_bytes"]
27313    pub fn RAND_egd_bytes(
27314        arg1: *const ::std::os::raw::c_char,
27315        bytes: ::std::os::raw::c_int,
27316    ) -> ::std::os::raw::c_int;
27317}
27318extern "C" {
27319    #[link_name = "aws_lc_0_46_0_RAND_poll"]
27320    pub fn RAND_poll() -> ::std::os::raw::c_int;
27321}
27322extern "C" {
27323    #[link_name = "aws_lc_0_46_0_RAND_status"]
27324    pub fn RAND_status() -> ::std::os::raw::c_int;
27325}
27326extern "C" {
27327    #[link_name = "aws_lc_0_46_0_RAND_cleanup"]
27328    pub fn RAND_cleanup();
27329}
27330#[repr(C)]
27331#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27332pub struct rand_meth_st {
27333    pub seed: ::std::option::Option<
27334        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
27335    >,
27336    pub bytes: ::std::option::Option<
27337        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
27338    >,
27339    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
27340    pub add: ::std::option::Option<
27341        unsafe extern "C" fn(
27342            buf: *const ::std::os::raw::c_void,
27343            num: ::std::os::raw::c_int,
27344            entropy: f64,
27345        ),
27346    >,
27347    pub pseudorand: ::std::option::Option<
27348        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
27349    >,
27350    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
27351}
27352#[test]
27353fn bindgen_test_layout_rand_meth_st() {
27354    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
27355    let ptr = UNINIT.as_ptr();
27356    assert_eq!(
27357        ::std::mem::size_of::<rand_meth_st>(),
27358        48usize,
27359        "Size of rand_meth_st"
27360    );
27361    assert_eq!(
27362        ::std::mem::align_of::<rand_meth_st>(),
27363        8usize,
27364        "Alignment of rand_meth_st"
27365    );
27366    assert_eq!(
27367        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
27368        0usize,
27369        "Offset of field: rand_meth_st::seed"
27370    );
27371    assert_eq!(
27372        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
27373        8usize,
27374        "Offset of field: rand_meth_st::bytes"
27375    );
27376    assert_eq!(
27377        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
27378        16usize,
27379        "Offset of field: rand_meth_st::cleanup"
27380    );
27381    assert_eq!(
27382        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
27383        24usize,
27384        "Offset of field: rand_meth_st::add"
27385    );
27386    assert_eq!(
27387        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
27388        32usize,
27389        "Offset of field: rand_meth_st::pseudorand"
27390    );
27391    assert_eq!(
27392        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
27393        40usize,
27394        "Offset of field: rand_meth_st::status"
27395    );
27396}
27397extern "C" {
27398    #[link_name = "aws_lc_0_46_0_RAND_SSLeay"]
27399    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
27400}
27401extern "C" {
27402    #[link_name = "aws_lc_0_46_0_RAND_OpenSSL"]
27403    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
27404}
27405extern "C" {
27406    #[link_name = "aws_lc_0_46_0_RAND_get_rand_method"]
27407    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
27408}
27409extern "C" {
27410    #[link_name = "aws_lc_0_46_0_RAND_set_rand_method"]
27411    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
27412}
27413extern "C" {
27414    #[link_name = "aws_lc_0_46_0_RAND_keep_random_devices_open"]
27415    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
27416}
27417#[repr(C)]
27418#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27419pub struct rc4_key_st {
27420    pub x: u32,
27421    pub y: u32,
27422    pub data: [u32; 256usize],
27423}
27424#[test]
27425fn bindgen_test_layout_rc4_key_st() {
27426    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
27427    let ptr = UNINIT.as_ptr();
27428    assert_eq!(
27429        ::std::mem::size_of::<rc4_key_st>(),
27430        1032usize,
27431        "Size of rc4_key_st"
27432    );
27433    assert_eq!(
27434        ::std::mem::align_of::<rc4_key_st>(),
27435        4usize,
27436        "Alignment of rc4_key_st"
27437    );
27438    assert_eq!(
27439        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
27440        0usize,
27441        "Offset of field: rc4_key_st::x"
27442    );
27443    assert_eq!(
27444        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
27445        4usize,
27446        "Offset of field: rc4_key_st::y"
27447    );
27448    assert_eq!(
27449        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27450        8usize,
27451        "Offset of field: rc4_key_st::data"
27452    );
27453}
27454impl Default for rc4_key_st {
27455    fn default() -> Self {
27456        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27457        unsafe {
27458            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27459            s.assume_init()
27460        }
27461    }
27462}
27463extern "C" {
27464    #[link_name = "aws_lc_0_46_0_RC4_set_key"]
27465    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
27466}
27467extern "C" {
27468    #[link_name = "aws_lc_0_46_0_RC4"]
27469    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
27470}
27471extern "C" {
27472    #[link_name = "aws_lc_0_46_0_RC4_options"]
27473    pub fn RC4_options() -> *const ::std::os::raw::c_char;
27474}
27475#[repr(C)]
27476#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27477pub struct RIPEMD160state_st {
27478    pub h: [u32; 5usize],
27479    pub Nl: u32,
27480    pub Nh: u32,
27481    pub data: [u8; 64usize],
27482    pub num: ::std::os::raw::c_uint,
27483}
27484#[test]
27485fn bindgen_test_layout_RIPEMD160state_st() {
27486    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
27487    let ptr = UNINIT.as_ptr();
27488    assert_eq!(
27489        ::std::mem::size_of::<RIPEMD160state_st>(),
27490        96usize,
27491        "Size of RIPEMD160state_st"
27492    );
27493    assert_eq!(
27494        ::std::mem::align_of::<RIPEMD160state_st>(),
27495        4usize,
27496        "Alignment of RIPEMD160state_st"
27497    );
27498    assert_eq!(
27499        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
27500        0usize,
27501        "Offset of field: RIPEMD160state_st::h"
27502    );
27503    assert_eq!(
27504        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
27505        20usize,
27506        "Offset of field: RIPEMD160state_st::Nl"
27507    );
27508    assert_eq!(
27509        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
27510        24usize,
27511        "Offset of field: RIPEMD160state_st::Nh"
27512    );
27513    assert_eq!(
27514        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27515        28usize,
27516        "Offset of field: RIPEMD160state_st::data"
27517    );
27518    assert_eq!(
27519        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
27520        92usize,
27521        "Offset of field: RIPEMD160state_st::num"
27522    );
27523}
27524impl Default for RIPEMD160state_st {
27525    fn default() -> Self {
27526        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27527        unsafe {
27528            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27529            s.assume_init()
27530        }
27531    }
27532}
27533extern "C" {
27534    #[link_name = "aws_lc_0_46_0_RIPEMD160_Init"]
27535    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
27536}
27537extern "C" {
27538    #[link_name = "aws_lc_0_46_0_RIPEMD160_Update"]
27539    pub fn RIPEMD160_Update(
27540        ctx: *mut RIPEMD160_CTX,
27541        data: *const ::std::os::raw::c_void,
27542        len: usize,
27543    ) -> ::std::os::raw::c_int;
27544}
27545extern "C" {
27546    #[link_name = "aws_lc_0_46_0_RIPEMD160_Final"]
27547    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
27548}
27549extern "C" {
27550    #[link_name = "aws_lc_0_46_0_RIPEMD160"]
27551    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
27552}
27553extern "C" {
27554    #[link_name = "aws_lc_0_46_0_SIPHASH_24"]
27555    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
27556}
27557extern "C" {
27558    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_experiment_v1"]
27559    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27560}
27561extern "C" {
27562    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_experiment_v2_voprf"]
27563    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27564}
27565extern "C" {
27566    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_experiment_v2_pmb"]
27567    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27568}
27569extern "C" {
27570    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_pst_v1_voprf"]
27571    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27572}
27573extern "C" {
27574    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_pst_v1_pmb"]
27575    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27576}
27577#[repr(C)]
27578#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27579pub struct trust_token_st {
27580    pub data: *mut u8,
27581    pub len: usize,
27582}
27583#[test]
27584fn bindgen_test_layout_trust_token_st() {
27585    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
27586    let ptr = UNINIT.as_ptr();
27587    assert_eq!(
27588        ::std::mem::size_of::<trust_token_st>(),
27589        16usize,
27590        "Size of trust_token_st"
27591    );
27592    assert_eq!(
27593        ::std::mem::align_of::<trust_token_st>(),
27594        8usize,
27595        "Alignment of trust_token_st"
27596    );
27597    assert_eq!(
27598        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27599        0usize,
27600        "Offset of field: trust_token_st::data"
27601    );
27602    assert_eq!(
27603        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
27604        8usize,
27605        "Offset of field: trust_token_st::len"
27606    );
27607}
27608impl Default for trust_token_st {
27609    fn default() -> Self {
27610        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27611        unsafe {
27612            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27613            s.assume_init()
27614        }
27615    }
27616}
27617#[repr(C)]
27618#[derive(Debug)]
27619pub struct stack_st_TRUST_TOKEN {
27620    _unused: [u8; 0],
27621}
27622pub type sk_TRUST_TOKEN_free_func =
27623    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27624pub type sk_TRUST_TOKEN_copy_func =
27625    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27626pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
27627    unsafe extern "C" fn(
27628        arg1: *const *const TRUST_TOKEN,
27629        arg2: *const *const TRUST_TOKEN,
27630    ) -> ::std::os::raw::c_int,
27631>;
27632pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
27633    unsafe extern "C" fn(
27634        arg1: *mut TRUST_TOKEN,
27635        arg2: *mut ::std::os::raw::c_void,
27636    ) -> ::std::os::raw::c_int,
27637>;
27638extern "C" {
27639    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_new"]
27640    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27641}
27642extern "C" {
27643    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_free"]
27644    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27645}
27646extern "C" {
27647    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_generate_key"]
27648    pub fn TRUST_TOKEN_generate_key(
27649        method: *const TRUST_TOKEN_METHOD,
27650        out_priv_key: *mut u8,
27651        out_priv_key_len: *mut usize,
27652        max_priv_key_len: usize,
27653        out_pub_key: *mut u8,
27654        out_pub_key_len: *mut usize,
27655        max_pub_key_len: usize,
27656        id: u32,
27657    ) -> ::std::os::raw::c_int;
27658}
27659extern "C" {
27660    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_derive_key_from_secret"]
27661    pub fn TRUST_TOKEN_derive_key_from_secret(
27662        method: *const TRUST_TOKEN_METHOD,
27663        out_priv_key: *mut u8,
27664        out_priv_key_len: *mut usize,
27665        max_priv_key_len: usize,
27666        out_pub_key: *mut u8,
27667        out_pub_key_len: *mut usize,
27668        max_pub_key_len: usize,
27669        id: u32,
27670        secret: *const u8,
27671        secret_len: usize,
27672    ) -> ::std::os::raw::c_int;
27673}
27674extern "C" {
27675    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_new"]
27676    pub fn TRUST_TOKEN_CLIENT_new(
27677        method: *const TRUST_TOKEN_METHOD,
27678        max_batchsize: usize,
27679    ) -> *mut TRUST_TOKEN_CLIENT;
27680}
27681extern "C" {
27682    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_free"]
27683    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27684}
27685extern "C" {
27686    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_add_key"]
27687    pub fn TRUST_TOKEN_CLIENT_add_key(
27688        ctx: *mut TRUST_TOKEN_CLIENT,
27689        out_key_index: *mut usize,
27690        key: *const u8,
27691        key_len: usize,
27692    ) -> ::std::os::raw::c_int;
27693}
27694extern "C" {
27695    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_set_srr_key"]
27696    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27697        ctx: *mut TRUST_TOKEN_CLIENT,
27698        key: *mut EVP_PKEY,
27699    ) -> ::std::os::raw::c_int;
27700}
27701extern "C" {
27702    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_begin_issuance"]
27703    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27704        ctx: *mut TRUST_TOKEN_CLIENT,
27705        out: *mut *mut u8,
27706        out_len: *mut usize,
27707        count: usize,
27708    ) -> ::std::os::raw::c_int;
27709}
27710extern "C" {
27711    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
27712    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27713        ctx: *mut TRUST_TOKEN_CLIENT,
27714        out: *mut *mut u8,
27715        out_len: *mut usize,
27716        count: usize,
27717        msg: *const u8,
27718        msg_len: usize,
27719    ) -> ::std::os::raw::c_int;
27720}
27721extern "C" {
27722    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_finish_issuance"]
27723    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27724        ctx: *mut TRUST_TOKEN_CLIENT,
27725        out_key_index: *mut usize,
27726        response: *const u8,
27727        response_len: usize,
27728    ) -> *mut stack_st_TRUST_TOKEN;
27729}
27730extern "C" {
27731    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_begin_redemption"]
27732    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27733        ctx: *mut TRUST_TOKEN_CLIENT,
27734        out: *mut *mut u8,
27735        out_len: *mut usize,
27736        token: *const TRUST_TOKEN,
27737        data: *const u8,
27738        data_len: usize,
27739        time: u64,
27740    ) -> ::std::os::raw::c_int;
27741}
27742extern "C" {
27743    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_CLIENT_finish_redemption"]
27744    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27745        ctx: *mut TRUST_TOKEN_CLIENT,
27746        out_rr: *mut *mut u8,
27747        out_rr_len: *mut usize,
27748        out_sig: *mut *mut u8,
27749        out_sig_len: *mut usize,
27750        response: *const u8,
27751        response_len: usize,
27752    ) -> ::std::os::raw::c_int;
27753}
27754extern "C" {
27755    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_new"]
27756    pub fn TRUST_TOKEN_ISSUER_new(
27757        method: *const TRUST_TOKEN_METHOD,
27758        max_batchsize: usize,
27759    ) -> *mut TRUST_TOKEN_ISSUER;
27760}
27761extern "C" {
27762    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_free"]
27763    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27764}
27765extern "C" {
27766    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_add_key"]
27767    pub fn TRUST_TOKEN_ISSUER_add_key(
27768        ctx: *mut TRUST_TOKEN_ISSUER,
27769        key: *const u8,
27770        key_len: usize,
27771    ) -> ::std::os::raw::c_int;
27772}
27773extern "C" {
27774    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_set_srr_key"]
27775    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27776        ctx: *mut TRUST_TOKEN_ISSUER,
27777        key: *mut EVP_PKEY,
27778    ) -> ::std::os::raw::c_int;
27779}
27780extern "C" {
27781    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
27782    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
27783        ctx: *mut TRUST_TOKEN_ISSUER,
27784        key: *const u8,
27785        len: usize,
27786    ) -> ::std::os::raw::c_int;
27787}
27788extern "C" {
27789    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_issue"]
27790    pub fn TRUST_TOKEN_ISSUER_issue(
27791        ctx: *const TRUST_TOKEN_ISSUER,
27792        out: *mut *mut u8,
27793        out_len: *mut usize,
27794        out_tokens_issued: *mut usize,
27795        request: *const u8,
27796        request_len: usize,
27797        public_metadata: u32,
27798        private_metadata: u8,
27799        max_issuance: usize,
27800    ) -> ::std::os::raw::c_int;
27801}
27802extern "C" {
27803    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_redeem"]
27804    pub fn TRUST_TOKEN_ISSUER_redeem(
27805        ctx: *const TRUST_TOKEN_ISSUER,
27806        out_public: *mut u32,
27807        out_private: *mut u8,
27808        out_token: *mut *mut TRUST_TOKEN,
27809        out_client_data: *mut *mut u8,
27810        out_client_data_len: *mut usize,
27811        request: *const u8,
27812        request_len: usize,
27813    ) -> ::std::os::raw::c_int;
27814}
27815extern "C" {
27816    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
27817    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27818        ctx: *const TRUST_TOKEN_ISSUER,
27819        out_public: *mut u32,
27820        out_private: *mut u8,
27821        out_token: *mut *mut TRUST_TOKEN,
27822        out_client_data: *mut *mut u8,
27823        out_client_data_len: *mut usize,
27824        request: *const u8,
27825        request_len: usize,
27826        msg: *const u8,
27827        msg_len: usize,
27828    ) -> ::std::os::raw::c_int;
27829}
27830extern "C" {
27831    #[link_name = "aws_lc_0_46_0_TRUST_TOKEN_decode_private_metadata"]
27832    pub fn TRUST_TOKEN_decode_private_metadata(
27833        method: *const TRUST_TOKEN_METHOD,
27834        out_value: *mut u8,
27835        key: *const u8,
27836        key_len: usize,
27837        nonce: *const u8,
27838        nonce_len: usize,
27839        encrypted_bit: u8,
27840    ) -> ::std::os::raw::c_int;
27841}
27842extern "C" {
27843    #[link_name = "aws_lc_0_46_0_EVP_PKEY_keygen_deterministic"]
27844    pub fn EVP_PKEY_keygen_deterministic(
27845        ctx: *mut EVP_PKEY_CTX,
27846        out_pkey: *mut *mut EVP_PKEY,
27847        seed: *const u8,
27848        seed_len: *mut usize,
27849    ) -> ::std::os::raw::c_int;
27850}
27851extern "C" {
27852    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encapsulate_deterministic"]
27853    pub fn EVP_PKEY_encapsulate_deterministic(
27854        ctx: *mut EVP_PKEY_CTX,
27855        ciphertext: *mut u8,
27856        ciphertext_len: *mut usize,
27857        shared_secret: *mut u8,
27858        shared_secret_len: *mut usize,
27859        seed: *const u8,
27860        seed_len: *mut usize,
27861    ) -> ::std::os::raw::c_int;
27862}
27863extern "C" {
27864    #[link_name = "aws_lc_0_46_0_ERR_GET_LIB_RUST"]
27865    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27866}
27867extern "C" {
27868    #[link_name = "aws_lc_0_46_0_ERR_GET_REASON_RUST"]
27869    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27870}
27871extern "C" {
27872    #[link_name = "aws_lc_0_46_0_ERR_GET_FUNC_RUST"]
27873    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27874}
27875pub type __builtin_va_list = [__va_list_tag; 1usize];
27876#[repr(C)]
27877#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27878pub struct __va_list_tag {
27879    pub gp_offset: ::std::os::raw::c_uint,
27880    pub fp_offset: ::std::os::raw::c_uint,
27881    pub overflow_arg_area: *mut ::std::os::raw::c_void,
27882    pub reg_save_area: *mut ::std::os::raw::c_void,
27883}
27884#[test]
27885fn bindgen_test_layout___va_list_tag() {
27886    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
27887    let ptr = UNINIT.as_ptr();
27888    assert_eq!(
27889        ::std::mem::size_of::<__va_list_tag>(),
27890        24usize,
27891        "Size of __va_list_tag"
27892    );
27893    assert_eq!(
27894        ::std::mem::align_of::<__va_list_tag>(),
27895        8usize,
27896        "Alignment of __va_list_tag"
27897    );
27898    assert_eq!(
27899        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
27900        0usize,
27901        "Offset of field: __va_list_tag::gp_offset"
27902    );
27903    assert_eq!(
27904        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
27905        4usize,
27906        "Offset of field: __va_list_tag::fp_offset"
27907    );
27908    assert_eq!(
27909        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
27910        8usize,
27911        "Offset of field: __va_list_tag::overflow_arg_area"
27912    );
27913    assert_eq!(
27914        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
27915        16usize,
27916        "Offset of field: __va_list_tag::reg_save_area"
27917    );
27918}
27919impl Default for __va_list_tag {
27920    fn default() -> Self {
27921        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27922        unsafe {
27923            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27924            s.assume_init()
27925        }
27926    }
27927}
27928#[repr(C)]
27929#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27930pub struct CRYPTO_dynlock_value {
27931    pub _address: u8,
27932}