Skip to main content

aws_lc_sys/
universal_crypto.rs

1/* automatically generated by rust-bindgen 0.73.2 */
2
3
4// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5// SPDX-License-Identifier: Apache-2.0 OR ISC
6
7
8#![allow(
9    clippy::cast_lossless,
10    clippy::cast_possible_truncation,
11    clippy::cast_possible_wrap,
12    clippy::default_trait_access,
13    clippy::doc_markdown,
14    clippy::missing_safety_doc,
15    clippy::must_use_candidate,
16    clippy::possible_missing_else,
17    clippy::ptr_as_ptr,
18    clippy::ptr_offset_with_cast,
19    clippy::pub_underscore_fields,
20    clippy::semicolon_if_nothing_returned,
21    clippy::too_many_lines,
22    clippy::unreadable_literal,
23    clippy::used_underscore_binding,
24    clippy::useless_transmute,
25    dead_code,
26    improper_ctypes,
27    non_camel_case_types,
28    non_snake_case,
29    non_upper_case_globals,
30    unpredictable_function_pointer_comparisons,
31    unused_imports
32)]
33
34
35#[repr(C)]
36#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
37pub struct __BindgenBitfieldUnit<Storage> {
38    storage: Storage,
39}
40impl<Storage> __BindgenBitfieldUnit<Storage> {
41    #[inline]
42    pub const fn new(storage: Storage) -> Self {
43        Self { storage }
44    }
45}
46impl<Storage> __BindgenBitfieldUnit<Storage>
47where
48    Storage: AsRef<[u8]> + AsMut<[u8]>,
49{
50    #[inline]
51    fn extract_bit(byte: u8, index: usize) -> bool {
52        let bit_index = if cfg!(target_endian = "big") {
53            7 - (index % 8)
54        } else {
55            index % 8
56        };
57        let mask = 1 << bit_index;
58        byte & mask == mask
59    }
60    #[inline]
61    pub fn get_bit(&self, index: usize) -> bool {
62        debug_assert!(index / 8 < self.storage.as_ref().len());
63        let byte_index = index / 8;
64        let byte = self.storage.as_ref()[byte_index];
65        Self::extract_bit(byte, index)
66    }
67    #[inline]
68    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
69        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
70        let byte_index = index / 8;
71        let byte = unsafe {
72            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
73        };
74        Self::extract_bit(byte, index)
75    }
76    #[inline]
77    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
78        let bit_index = if cfg!(target_endian = "big") {
79            7 - (index % 8)
80        } else {
81            index % 8
82        };
83        let mask = 1 << bit_index;
84        if val {
85            byte | mask
86        } else {
87            byte & !mask
88        }
89    }
90    #[inline]
91    pub fn set_bit(&mut self, index: usize, val: bool) {
92        debug_assert!(index / 8 < self.storage.as_ref().len());
93        let byte_index = index / 8;
94        let byte = &mut self.storage.as_mut()[byte_index];
95        *byte = Self::change_bit(*byte, index, val);
96    }
97    #[inline]
98    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
99        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
100        let byte_index = index / 8;
101        let byte = unsafe {
102            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
103        };
104        unsafe { *byte = Self::change_bit(*byte, index, val) };
105    }
106    #[inline]
107    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
108        debug_assert!(bit_width <= 64);
109        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110        debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
111        if bit_width == 0 {
112            return 0;
113        }
114        let mut val = 0u64;
115        let storage = self.storage.as_ref();
116        let start_byte = bit_offset / 8;
117        let bit_shift = bit_offset % 8;
118        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
119        if cfg!(target_endian = "big") {
120            for i in 0..bytes_needed {
121                val |= (storage[start_byte + i].reverse_bits() as u64) << (i * 8);
122            }
123        } else {
124            for i in 0..bytes_needed {
125                val |= (storage[start_byte + i] as u64) << (i * 8);
126            }
127        }
128        val >>= bit_shift;
129        if bit_width < 64 {
130            val &= (1u64 << bit_width) - 1;
131        }
132        if cfg!(target_endian = "big") {
133            val = val.reverse_bits() >> (64 - bit_width as usize);
134        }
135        val
136    }
137    #[inline]
138    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
139        debug_assert!(bit_width <= 64);
140        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
141        debug_assert!(
142            (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
143        );
144        if bit_width == 0 {
145            return 0;
146        }
147        let mut val = 0u64;
148        let start_byte = bit_offset / 8;
149        let bit_shift = bit_offset % 8;
150        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
151        let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
152        if cfg!(target_endian = "big") {
153            for i in 0..bytes_needed {
154                let byte = unsafe { *storage_ptr.add(start_byte + i) };
155                val |= (byte.reverse_bits() as u64) << (i * 8);
156            }
157        } else {
158            for i in 0..bytes_needed {
159                let byte = unsafe { *storage_ptr.add(start_byte + i) };
160                val |= (byte as u64) << (i * 8);
161            }
162        }
163        val >>= bit_shift;
164        if bit_width < 64 {
165            val &= (1u64 << bit_width) - 1;
166        }
167        if cfg!(target_endian = "big") {
168            val = val.reverse_bits() >> (64 - bit_width as usize);
169        }
170        val
171    }
172    #[inline]
173    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
174        debug_assert!(bit_width <= 64);
175        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
176        debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
177        if bit_width == 0 {
178            return;
179        }
180        let mut val = val;
181        if bit_width < 64 {
182            val &= (1u64 << bit_width) - 1;
183        }
184        if cfg!(target_endian = "big") {
185            val = val.reverse_bits() >> (64 - bit_width as usize);
186        }
187        let storage = self.storage.as_mut();
188        let start_byte = bit_offset / 8;
189        let bit_shift = bit_offset % 8;
190        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
191        val <<= bit_shift;
192        let field_mask = if bit_width as usize + bit_shift >= 64 {
193            !0u64 << bit_shift
194        } else {
195            ((1u64 << bit_width) - 1) << bit_shift
196        };
197        for i in 0..bytes_needed {
198            let byte_val = (val >> (i * 8)) as u8;
199            let byte_mask = (field_mask >> (i * 8)) as u8;
200            if cfg!(target_endian = "big") {
201                let byte = storage[start_byte + i].reverse_bits();
202                let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
203                storage[start_byte + i] = new_byte.reverse_bits();
204            } else {
205                storage[start_byte + i] =
206                    (storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
207            }
208        }
209    }
210    #[inline]
211    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
212        debug_assert!(bit_width <= 64);
213        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
214        debug_assert!(
215            (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
216        );
217        if bit_width == 0 {
218            return;
219        }
220        let mut val = val;
221        if bit_width < 64 {
222            val &= (1u64 << bit_width) - 1;
223        }
224        if cfg!(target_endian = "big") {
225            val = val.reverse_bits() >> (64 - bit_width as usize);
226        }
227        let start_byte = bit_offset / 8;
228        let bit_shift = bit_offset % 8;
229        let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
230        val <<= bit_shift;
231        let field_mask = if bit_width as usize + bit_shift >= 64 {
232            !0u64 << bit_shift
233        } else {
234            ((1u64 << bit_width) - 1) << bit_shift
235        };
236        let storage_ptr = unsafe { core::ptr::addr_of_mut!((*this).storage) as *mut u8 };
237        for i in 0..bytes_needed {
238            let byte_val = (val >> (i * 8)) as u8;
239            let byte_mask = (field_mask >> (i * 8)) as u8;
240            let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
241            if cfg!(target_endian = "big") {
242                let byte = unsafe { (*byte_ptr).reverse_bits() };
243                let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
244                unsafe { *byte_ptr = new_byte.reverse_bits() };
245            } else {
246                unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
247            }
248        }
249    }
250}
251#[doc = " Const-generic methods for efficient bitfield access when offset and width"]
252#[doc = " are known at compile time."]
253impl<const N: usize> __BindgenBitfieldUnit<[u8; N]> {
254    #[doc = " Get a field using const generics for compile-time optimization."]
255    #[doc = " Uses native word size operations when the field fits in usize."]
256    #[inline]
257    pub const fn get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&self) -> u64 {
258        debug_assert!(BIT_WIDTH <= 64);
259        debug_assert!(BIT_OFFSET / 8 < N);
260        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
261        if BIT_WIDTH == 0 {
262            return 0;
263        }
264        let start_byte = BIT_OFFSET / 8;
265        let bit_shift = BIT_OFFSET % 8;
266        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
267        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
268            let mut val = 0usize;
269            if cfg!(target_endian = "big") {
270                let mut i = 0;
271                while i < bytes_needed {
272                    val |= (self.storage[start_byte + i].reverse_bits() as usize) << (i * 8);
273                    i += 1;
274                }
275            } else {
276                let mut i = 0;
277                while i < bytes_needed {
278                    val |= (self.storage[start_byte + i] as usize) << (i * 8);
279                    i += 1;
280                }
281            }
282            val >>= bit_shift;
283            if (BIT_WIDTH as u32) < usize::BITS {
284                val &= (1usize << BIT_WIDTH) - 1;
285            }
286            if cfg!(target_endian = "big") {
287                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
288            }
289            val as u64
290        } else {
291            let mut val = 0u64;
292            if cfg!(target_endian = "big") {
293                let mut i = 0;
294                while i < bytes_needed {
295                    val |= (self.storage[start_byte + i].reverse_bits() as u64) << (i * 8);
296                    i += 1;
297                }
298            } else {
299                let mut i = 0;
300                while i < bytes_needed {
301                    val |= (self.storage[start_byte + i] as u64) << (i * 8);
302                    i += 1;
303                }
304            }
305            val >>= bit_shift;
306            if BIT_WIDTH < 64 {
307                val &= (1u64 << BIT_WIDTH) - 1;
308            }
309            if cfg!(target_endian = "big") {
310                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
311            }
312            val
313        }
314    }
315    #[doc = " Set a field using const generics for compile-time optimization."]
316    #[doc = " Uses native word size operations when the field fits in usize."]
317    #[inline]
318    pub fn set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&mut self, val: u64) {
319        debug_assert!(BIT_WIDTH <= 64);
320        debug_assert!(BIT_OFFSET / 8 < N);
321        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
322        if BIT_WIDTH == 0 {
323            return;
324        }
325        let start_byte = BIT_OFFSET / 8;
326        let bit_shift = BIT_OFFSET % 8;
327        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
328        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
329            let mut val = val as usize;
330            if (BIT_WIDTH as u32) < usize::BITS {
331                val &= (1usize << BIT_WIDTH) - 1;
332            }
333            if cfg!(target_endian = "big") {
334                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
335            }
336            val <<= bit_shift;
337            let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
338                !0usize << bit_shift
339            } else {
340                ((1usize << BIT_WIDTH) - 1) << bit_shift
341            };
342            let mut i = 0;
343            while i < bytes_needed {
344                let byte_val = (val >> (i * 8)) as u8;
345                let byte_mask = (field_mask >> (i * 8)) as u8;
346                if cfg!(target_endian = "big") {
347                    let byte = self.storage[start_byte + i].reverse_bits();
348                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
349                    self.storage[start_byte + i] = new_byte.reverse_bits();
350                } else {
351                    self.storage[start_byte + i] =
352                        (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
353                }
354                i += 1;
355            }
356        } else {
357            let mut val = val;
358            if BIT_WIDTH < 64 {
359                val &= (1u64 << BIT_WIDTH) - 1;
360            }
361            if cfg!(target_endian = "big") {
362                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
363            }
364            val <<= bit_shift;
365            let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
366                !0u64 << bit_shift
367            } else {
368                ((1u64 << BIT_WIDTH) - 1) << bit_shift
369            };
370            let mut i = 0;
371            while i < bytes_needed {
372                let byte_val = (val >> (i * 8)) as u8;
373                let byte_mask = (field_mask >> (i * 8)) as u8;
374                if cfg!(target_endian = "big") {
375                    let byte = self.storage[start_byte + i].reverse_bits();
376                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
377                    self.storage[start_byte + i] = new_byte.reverse_bits();
378                } else {
379                    self.storage[start_byte + i] =
380                        (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
381                }
382                i += 1;
383            }
384        }
385    }
386    #[doc = " Raw pointer get using const generics for compile-time optimization."]
387    #[doc = " Uses native word size operations when the field fits in usize."]
388    #[inline]
389    pub const unsafe fn raw_get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
390        this: *const Self,
391    ) -> u64 {
392        debug_assert!(BIT_WIDTH <= 64);
393        debug_assert!(BIT_OFFSET / 8 < N);
394        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
395        if BIT_WIDTH == 0 {
396            return 0;
397        }
398        let start_byte = BIT_OFFSET / 8;
399        let bit_shift = BIT_OFFSET % 8;
400        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
401        let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
402        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
403            let mut val = 0usize;
404            if cfg!(target_endian = "big") {
405                let mut i = 0;
406                while i < bytes_needed {
407                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
408                    val |= (byte.reverse_bits() as usize) << (i * 8);
409                    i += 1;
410                }
411            } else {
412                let mut i = 0;
413                while i < bytes_needed {
414                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
415                    val |= (byte as usize) << (i * 8);
416                    i += 1;
417                }
418            }
419            val >>= bit_shift;
420            if (BIT_WIDTH as u32) < usize::BITS {
421                val &= (1usize << BIT_WIDTH) - 1;
422            }
423            if cfg!(target_endian = "big") {
424                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
425            }
426            val as u64
427        } else {
428            let mut val = 0u64;
429            if cfg!(target_endian = "big") {
430                let mut i = 0;
431                while i < bytes_needed {
432                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
433                    val |= (byte.reverse_bits() as u64) << (i * 8);
434                    i += 1;
435                }
436            } else {
437                let mut i = 0;
438                while i < bytes_needed {
439                    let byte = unsafe { *storage_ptr.add(start_byte + i) };
440                    val |= (byte as u64) << (i * 8);
441                    i += 1;
442                }
443            }
444            val >>= bit_shift;
445            if BIT_WIDTH < 64 {
446                val &= (1u64 << BIT_WIDTH) - 1;
447            }
448            if cfg!(target_endian = "big") {
449                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
450            }
451            val
452        }
453    }
454    #[doc = " Raw pointer set using const generics for compile-time optimization."]
455    #[doc = " Uses native word size operations when the field fits in usize."]
456    #[inline]
457    pub unsafe fn raw_set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
458        this: *mut Self,
459        val: u64,
460    ) {
461        debug_assert!(BIT_WIDTH <= 64);
462        debug_assert!(BIT_OFFSET / 8 < N);
463        debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
464        if BIT_WIDTH == 0 {
465            return;
466        }
467        let start_byte = BIT_OFFSET / 8;
468        let bit_shift = BIT_OFFSET % 8;
469        let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
470        let storage_ptr = this.cast::<[u8; N]>().cast::<u8>();
471        if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
472            let mut val = val as usize;
473            if (BIT_WIDTH as u32) < usize::BITS {
474                val &= (1usize << BIT_WIDTH) - 1;
475            }
476            if cfg!(target_endian = "big") {
477                val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
478            }
479            val <<= bit_shift;
480            let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
481                !0usize << bit_shift
482            } else {
483                ((1usize << BIT_WIDTH) - 1) << bit_shift
484            };
485            let mut i = 0;
486            while i < bytes_needed {
487                let byte_val = (val >> (i * 8)) as u8;
488                let byte_mask = (field_mask >> (i * 8)) as u8;
489                let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
490                if cfg!(target_endian = "big") {
491                    let byte = unsafe { (*byte_ptr).reverse_bits() };
492                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
493                    unsafe { *byte_ptr = new_byte.reverse_bits() };
494                } else {
495                    unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
496                }
497                i += 1;
498            }
499        } else {
500            let mut val = val;
501            if BIT_WIDTH < 64 {
502                val &= (1u64 << BIT_WIDTH) - 1;
503            }
504            if cfg!(target_endian = "big") {
505                val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
506            }
507            val <<= bit_shift;
508            let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
509                !0u64 << bit_shift
510            } else {
511                ((1u64 << BIT_WIDTH) - 1) << bit_shift
512            };
513            let mut i = 0;
514            while i < bytes_needed {
515                let byte_val = (val >> (i * 8)) as u8;
516                let byte_mask = (field_mask >> (i * 8)) as u8;
517                let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
518                if cfg!(target_endian = "big") {
519                    let byte = unsafe { (*byte_ptr).reverse_bits() };
520                    let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
521                    unsafe { *byte_ptr = new_byte.reverse_bits() };
522                } else {
523                    unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
524                }
525                i += 1;
526            }
527        }
528    }
529}
530pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
531pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
532pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
533pub const AWSLC_API_VERSION: i32 = 37;
534pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"5.12.0\0";
535pub const AWSLC_FIPS_VERSION_NUMBER: i32 = 5;
536pub const AES_ENCRYPT: i32 = 1;
537pub const AES_DECRYPT: i32 = 0;
538pub const AES_MAXNR: i32 = 14;
539pub const AES_BLOCK_SIZE: i32 = 16;
540pub const SHA_CBLOCK: i32 = 64;
541pub const SHA_DIGEST_LENGTH: i32 = 20;
542pub const SHA224_CBLOCK: i32 = 64;
543pub const SHA224_DIGEST_LENGTH: i32 = 28;
544pub const SHA256_CBLOCK: i32 = 64;
545pub const SHA256_DIGEST_LENGTH: i32 = 32;
546pub const SHA384_CBLOCK: i32 = 128;
547pub const SHA384_DIGEST_LENGTH: i32 = 48;
548pub const SHA512_CBLOCK: i32 = 128;
549pub const SHA512_DIGEST_LENGTH: i32 = 64;
550pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
551pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
552pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 5.12.0)\0";
553pub const OPENSSL_VERSION: i32 = 0;
554pub const OPENSSL_CFLAGS: i32 = 1;
555pub const OPENSSL_BUILT_ON: i32 = 2;
556pub const OPENSSL_PLATFORM: i32 = 3;
557pub const OPENSSL_DIR: i32 = 4;
558pub const SSLEAY_VERSION: i32 = 0;
559pub const SSLEAY_CFLAGS: i32 = 1;
560pub const SSLEAY_BUILT_ON: i32 = 2;
561pub const SSLEAY_PLATFORM: i32 = 3;
562pub const SSLEAY_DIR: i32 = 4;
563pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
564pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
565pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
566pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
567pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
568pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
569pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
570pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
571pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
572pub const OPENSSL_INIT_ATFORK: i32 = 0;
573pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
574pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
575pub const ERR_FLAG_STRING: i32 = 1;
576pub const ERR_FLAG_MALLOCED: i32 = 2;
577pub const ERR_LIB_NONE: i32 = 1;
578pub const ERR_LIB_SYS: i32 = 2;
579pub const ERR_LIB_BN: i32 = 3;
580pub const ERR_LIB_RSA: i32 = 4;
581pub const ERR_LIB_DH: i32 = 5;
582pub const ERR_LIB_EVP: i32 = 6;
583pub const ERR_LIB_BUF: i32 = 7;
584pub const ERR_LIB_OBJ: i32 = 8;
585pub const ERR_LIB_PEM: i32 = 9;
586pub const ERR_LIB_DSA: i32 = 10;
587pub const ERR_LIB_X509: i32 = 11;
588pub const ERR_LIB_ASN1: i32 = 12;
589pub const ERR_LIB_CONF: i32 = 13;
590pub const ERR_LIB_CRYPTO: i32 = 14;
591pub const ERR_LIB_EC: i32 = 15;
592pub const ERR_LIB_SSL: i32 = 16;
593pub const ERR_LIB_BIO: i32 = 17;
594pub const ERR_LIB_PKCS7: i32 = 18;
595pub const ERR_LIB_PKCS8: i32 = 19;
596pub const ERR_LIB_X509V3: i32 = 20;
597pub const ERR_LIB_RAND: i32 = 21;
598pub const ERR_LIB_ENGINE: i32 = 22;
599pub const ERR_LIB_OCSP: i32 = 23;
600pub const ERR_LIB_UI: i32 = 24;
601pub const ERR_LIB_COMP: i32 = 25;
602pub const ERR_LIB_ECDSA: i32 = 26;
603pub const ERR_LIB_ECDH: i32 = 27;
604pub const ERR_LIB_HMAC: i32 = 28;
605pub const ERR_LIB_DIGEST: i32 = 29;
606pub const ERR_LIB_CIPHER: i32 = 30;
607pub const ERR_LIB_HKDF: i32 = 31;
608pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
609pub const ERR_LIB_USER: i32 = 33;
610pub const ERR_NUM_LIBS: i32 = 34;
611pub const ERR_LIB_PKCS12: i32 = 35;
612pub const ERR_LIB_DSO: i32 = 36;
613pub const ERR_LIB_OSSL_STORE: i32 = 37;
614pub const ERR_LIB_FIPS: i32 = 38;
615pub const ERR_LIB_CMS: i32 = 39;
616pub const ERR_LIB_TS: i32 = 40;
617pub const ERR_LIB_CT: i32 = 41;
618pub const ERR_LIB_ASYNC: i32 = 42;
619pub const ERR_LIB_KDF: i32 = 43;
620pub const ERR_LIB_SM2: i32 = 44;
621pub const ERR_R_SYS_LIB: i32 = 2;
622pub const ERR_R_BN_LIB: i32 = 3;
623pub const ERR_R_RSA_LIB: i32 = 4;
624pub const ERR_R_DH_LIB: i32 = 5;
625pub const ERR_R_EVP_LIB: i32 = 6;
626pub const ERR_R_BUF_LIB: i32 = 7;
627pub const ERR_R_OBJ_LIB: i32 = 8;
628pub const ERR_R_PEM_LIB: i32 = 9;
629pub const ERR_R_DSA_LIB: i32 = 10;
630pub const ERR_R_X509_LIB: i32 = 11;
631pub const ERR_R_ASN1_LIB: i32 = 12;
632pub const ERR_R_CONF_LIB: i32 = 13;
633pub const ERR_R_CRYPTO_LIB: i32 = 14;
634pub const ERR_R_EC_LIB: i32 = 15;
635pub const ERR_R_SSL_LIB: i32 = 16;
636pub const ERR_R_BIO_LIB: i32 = 17;
637pub const ERR_R_PKCS7_LIB: i32 = 18;
638pub const ERR_R_PKCS8_LIB: i32 = 19;
639pub const ERR_R_X509V3_LIB: i32 = 20;
640pub const ERR_R_RAND_LIB: i32 = 21;
641pub const ERR_R_DSO_LIB: i32 = 36;
642pub const ERR_R_ENGINE_LIB: i32 = 22;
643pub const ERR_R_OCSP_LIB: i32 = 23;
644pub const ERR_R_UI_LIB: i32 = 24;
645pub const ERR_R_COMP_LIB: i32 = 25;
646pub const ERR_R_ECDSA_LIB: i32 = 26;
647pub const ERR_R_ECDH_LIB: i32 = 27;
648pub const ERR_R_FIPS_LIB: i32 = 38;
649pub const ERR_R_CMS_LIB: i32 = 39;
650pub const ERR_R_TS_LIB: i32 = 40;
651pub const ERR_R_HMAC_LIB: i32 = 28;
652pub const ERR_R_USER_LIB: i32 = 33;
653pub const ERR_R_DIGEST_LIB: i32 = 29;
654pub const ERR_R_CIPHER_LIB: i32 = 30;
655pub const ERR_R_HKDF_LIB: i32 = 31;
656pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
657pub const ERR_R_FATAL: i32 = 64;
658pub const ERR_R_MALLOC_FAILURE: i32 = 65;
659pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
660pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
661pub const ERR_R_INTERNAL_ERROR: i32 = 68;
662pub const ERR_R_OVERFLOW: i32 = 69;
663pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
664pub const ERR_TXT_STRING: i32 = 1;
665pub const ERR_TXT_MALLOCED: i32 = 2;
666pub const ERR_NUM_ERRORS: i32 = 16;
667pub const BN_BITS2: i32 = 64;
668pub const BN_RAND_TOP_ANY: i32 = -1;
669pub const BN_RAND_TOP_ONE: i32 = 0;
670pub const BN_RAND_TOP_TWO: i32 = 1;
671pub const BN_RAND_BOTTOM_ANY: i32 = 0;
672pub const BN_RAND_BOTTOM_ODD: i32 = 1;
673pub const BN_GENCB_GENERATED: i32 = 0;
674pub const BN_GENCB_PRIME_TEST: i32 = 1;
675pub const BN_prime_checks_for_validation: i32 = 64;
676pub const BN_prime_checks_for_generation: i32 = 0;
677pub const BN_prime_checks: i32 = 64;
678pub const BN_FLG_MALLOCED: i32 = 1;
679pub const BN_FLG_STATIC_DATA: i32 = 2;
680pub const BN_FLG_CONSTTIME: i32 = 0;
681pub const BN_R_ARG2_LT_ARG3: i32 = 100;
682pub const BN_R_BAD_RECIPROCAL: i32 = 101;
683pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
684pub const BN_R_BITS_TOO_SMALL: i32 = 103;
685pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
686pub const BN_R_DIV_BY_ZERO: i32 = 105;
687pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
688pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
689pub const BN_R_INVALID_RANGE: i32 = 108;
690pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
691pub const BN_R_NOT_A_SQUARE: i32 = 110;
692pub const BN_R_NOT_INITIALIZED: i32 = 111;
693pub const BN_R_NO_INVERSE: i32 = 112;
694pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
695pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
696pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
697pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
698pub const BN_R_BAD_ENCODING: i32 = 117;
699pub const BN_R_ENCODE_ERROR: i32 = 118;
700pub const BN_R_INVALID_INPUT: i32 = 119;
701pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
702pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
703pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
704pub const CBS_ASN1_UNIVERSAL: i32 = 0;
705pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
706pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
707pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
708pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
709pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
710pub const CBS_ASN1_BOOLEAN: i32 = 1;
711pub const CBS_ASN1_INTEGER: i32 = 2;
712pub const CBS_ASN1_BITSTRING: i32 = 3;
713pub const CBS_ASN1_OCTETSTRING: i32 = 4;
714pub const CBS_ASN1_NULL: i32 = 5;
715pub const CBS_ASN1_OBJECT: i32 = 6;
716pub const CBS_ASN1_ENUMERATED: i32 = 10;
717pub const CBS_ASN1_UTF8STRING: i32 = 12;
718pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
719pub const CBS_ASN1_SET: i32 = 536870929;
720pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
721pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
722pub const CBS_ASN1_T61STRING: i32 = 20;
723pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
724pub const CBS_ASN1_IA5STRING: i32 = 22;
725pub const CBS_ASN1_UTCTIME: i32 = 23;
726pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
727pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
728pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
729pub const CBS_ASN1_GENERALSTRING: i32 = 27;
730pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
731pub const CBS_ASN1_BMPSTRING: i32 = 30;
732pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
733pub const EVP_CIPH_ECB_MODE: i32 = 1;
734pub const EVP_CIPH_CBC_MODE: i32 = 2;
735pub const EVP_CIPH_CFB_MODE: i32 = 3;
736pub const EVP_CIPH_OFB_MODE: i32 = 4;
737pub const EVP_CIPH_CTR_MODE: i32 = 5;
738pub const EVP_CIPH_GCM_MODE: i32 = 6;
739pub const EVP_CIPH_XTS_MODE: i32 = 7;
740pub const EVP_CIPH_CCM_MODE: i32 = 8;
741pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
742pub const EVP_CIPH_OCB_MODE: i32 = 9;
743pub const EVP_CIPH_WRAP_MODE: i32 = 10;
744pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
745pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
746pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
747pub const EVP_CIPH_CTRL_INIT: i32 = 512;
748pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
749pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
750pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
751pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
752pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
753pub const EVP_CIPH_NO_PADDING: i32 = 2048;
754pub const EVP_CTRL_INIT: i32 = 0;
755pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
756pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
757pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
758pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
759pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
760pub const EVP_CTRL_RAND_KEY: i32 = 6;
761pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
762pub const EVP_CTRL_COPY: i32 = 8;
763pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
764pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
765pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
766pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
767pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
768pub const EVP_CTRL_CCM_SET_L: i32 = 20;
769pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
770pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
771pub const EVP_CTRL_GET_IVLEN: i32 = 25;
772pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
773pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
774pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
775pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
776pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
777pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
778pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
779pub const EVP_CTRL_CCM_SET_IVLEN: i32 = 9;
780pub const EVP_CTRL_CCM_GET_TAG: i32 = 16;
781pub const EVP_CTRL_CCM_SET_TAG: i32 = 17;
782pub const EVP_MAX_KEY_LENGTH: i32 = 64;
783pub const EVP_MAX_IV_LENGTH: i32 = 16;
784pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
785pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
786pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
787pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
788pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
789pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
790pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
791pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
792pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
793pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
794pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
795pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
796pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
797pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
798pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
799pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
800pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
801pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
802pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
803pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
804pub const CIPHER_R_TOO_LARGE: i32 = 117;
805pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
806pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
807pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
808pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
809pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
810pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
811pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
812pub const CIPHER_R_INVALID_NONCE: i32 = 125;
813pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
814pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
815pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
816pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
817pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
818pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
819pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
820pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
821pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
822pub const X25519_SHARED_KEY_LEN: i32 = 32;
823pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
824pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
825pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
826pub const ED25519_SIGNATURE_LEN: i32 = 64;
827pub const ED25519_SEED_LEN: i32 = 32;
828pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
829pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
830pub const EVP_MAX_MD_SIZE: i32 = 64;
831pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
832pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
833pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
834pub const EVP_MD_FLAG_XOF: i32 = 4;
835pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
836pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
837pub const DIGEST_R_DECODE_ERROR: i32 = 101;
838pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
839pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
840pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
841pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
842pub const EC_PKEY_NO_PUBKEY: i32 = 2;
843pub const ECDSA_FLAG_OPAQUE: i32 = 1;
844pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
845pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
846pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
847pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
848pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
849pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
850pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
851pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
852pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
853pub const EC_R_INVALID_ENCODING: i32 = 109;
854pub const EC_R_INVALID_FIELD: i32 = 110;
855pub const EC_R_INVALID_FORM: i32 = 111;
856pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
857pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
858pub const EC_R_MISSING_PARAMETERS: i32 = 114;
859pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
860pub const EC_R_NON_NAMED_CURVE: i32 = 116;
861pub const EC_R_NOT_INITIALIZED: i32 = 117;
862pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
863pub const EC_R_POINT_AT_INFINITY: i32 = 119;
864pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
865pub const EC_R_SLOT_FULL: i32 = 121;
866pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
867pub const EC_R_UNKNOWN_GROUP: i32 = 123;
868pub const EC_R_UNKNOWN_ORDER: i32 = 124;
869pub const EC_R_WRONG_ORDER: i32 = 125;
870pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
871pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
872pub const EC_R_DECODE_ERROR: i32 = 128;
873pub const EC_R_ENCODE_ERROR: i32 = 129;
874pub const EC_R_GROUP_MISMATCH: i32 = 130;
875pub const EC_R_INVALID_COFACTOR: i32 = 131;
876pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
877pub const EC_R_INVALID_SCALAR: i32 = 133;
878pub const ECDH_R_KDF_FAILED: i32 = 100;
879pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
880pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
881pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
882pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
883pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
884pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
885pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
886pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
887pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
888pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
889pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
890pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
891pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
892pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
893pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
894pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
895pub const SN_undef: &[u8; 6] = b"UNDEF\0";
896pub const LN_undef: &[u8; 10] = b"undefined\0";
897pub const NID_undef: i32 = 0;
898pub const OBJ_undef: i32 = 0;
899pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
900pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
901pub const NID_rsadsi: i32 = 1;
902pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
903pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
904pub const NID_pkcs: i32 = 2;
905pub const SN_md2: &[u8; 4] = b"MD2\0";
906pub const LN_md2: &[u8; 4] = b"md2\0";
907pub const NID_md2: i32 = 3;
908pub const SN_md5: &[u8; 4] = b"MD5\0";
909pub const LN_md5: &[u8; 4] = b"md5\0";
910pub const NID_md5: i32 = 4;
911pub const SN_rc4: &[u8; 4] = b"RC4\0";
912pub const LN_rc4: &[u8; 4] = b"rc4\0";
913pub const NID_rc4: i32 = 5;
914pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
915pub const NID_rsaEncryption: i32 = 6;
916pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
917pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
918pub const NID_md2WithRSAEncryption: i32 = 7;
919pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
920pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
921pub const NID_md5WithRSAEncryption: i32 = 8;
922pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
923pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
924pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
925pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
926pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
927pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
928pub const SN_X500: &[u8; 5] = b"X500\0";
929pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
930pub const NID_X500: i32 = 11;
931pub const SN_X509: &[u8; 5] = b"X509\0";
932pub const NID_X509: i32 = 12;
933pub const SN_commonName: &[u8; 3] = b"CN\0";
934pub const LN_commonName: &[u8; 11] = b"commonName\0";
935pub const NID_commonName: i32 = 13;
936pub const SN_countryName: &[u8; 2] = b"C\0";
937pub const LN_countryName: &[u8; 12] = b"countryName\0";
938pub const NID_countryName: i32 = 14;
939pub const SN_localityName: &[u8; 2] = b"L\0";
940pub const LN_localityName: &[u8; 13] = b"localityName\0";
941pub const NID_localityName: i32 = 15;
942pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
943pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
944pub const NID_stateOrProvinceName: i32 = 16;
945pub const SN_organizationName: &[u8; 2] = b"O\0";
946pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
947pub const NID_organizationName: i32 = 17;
948pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
949pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
950pub const NID_organizationalUnitName: i32 = 18;
951pub const SN_rsa: &[u8; 4] = b"RSA\0";
952pub const LN_rsa: &[u8; 4] = b"rsa\0";
953pub const NID_rsa: i32 = 19;
954pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
955pub const NID_pkcs7: i32 = 20;
956pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
957pub const NID_pkcs7_data: i32 = 21;
958pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
959pub const NID_pkcs7_signed: i32 = 22;
960pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
961pub const NID_pkcs7_enveloped: i32 = 23;
962pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
963pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
964pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
965pub const NID_pkcs7_digest: i32 = 25;
966pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
967pub const NID_pkcs7_encrypted: i32 = 26;
968pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
969pub const NID_pkcs3: i32 = 27;
970pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
971pub const NID_dhKeyAgreement: i32 = 28;
972pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
973pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
974pub const NID_des_ecb: i32 = 29;
975pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
976pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
977pub const NID_des_cfb64: i32 = 30;
978pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
979pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
980pub const NID_des_cbc: i32 = 31;
981pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
982pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
983pub const NID_des_ede_ecb: i32 = 32;
984pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
985pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
986pub const NID_des_ede3_ecb: i32 = 33;
987pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
988pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
989pub const NID_idea_cbc: i32 = 34;
990pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
991pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
992pub const NID_idea_cfb64: i32 = 35;
993pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
994pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
995pub const NID_idea_ecb: i32 = 36;
996pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
997pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
998pub const NID_rc2_cbc: i32 = 37;
999pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1000pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1001pub const NID_rc2_ecb: i32 = 38;
1002pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1003pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1004pub const NID_rc2_cfb64: i32 = 39;
1005pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1006pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1007pub const NID_rc2_ofb64: i32 = 40;
1008pub const SN_sha: &[u8; 4] = b"SHA\0";
1009pub const LN_sha: &[u8; 4] = b"sha\0";
1010pub const NID_sha: i32 = 41;
1011pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1012pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1013pub const NID_shaWithRSAEncryption: i32 = 42;
1014pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1015pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1016pub const NID_des_ede_cbc: i32 = 43;
1017pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1018pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1019pub const NID_des_ede3_cbc: i32 = 44;
1020pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1021pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1022pub const NID_des_ofb64: i32 = 45;
1023pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1024pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1025pub const NID_idea_ofb64: i32 = 46;
1026pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1027pub const NID_pkcs9: i32 = 47;
1028pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1029pub const NID_pkcs9_emailAddress: i32 = 48;
1030pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1031pub const NID_pkcs9_unstructuredName: i32 = 49;
1032pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1033pub const NID_pkcs9_contentType: i32 = 50;
1034pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1035pub const NID_pkcs9_messageDigest: i32 = 51;
1036pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1037pub const NID_pkcs9_signingTime: i32 = 52;
1038pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1039pub const NID_pkcs9_countersignature: i32 = 53;
1040pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1041pub const NID_pkcs9_challengePassword: i32 = 54;
1042pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1043pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1044pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1045pub const NID_pkcs9_extCertAttributes: i32 = 56;
1046pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1047pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1048pub const NID_netscape: i32 = 57;
1049pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1050pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1051pub const NID_netscape_cert_extension: i32 = 58;
1052pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1053pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1054pub const NID_netscape_data_type: i32 = 59;
1055pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1056pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1057pub const NID_des_ede_cfb64: i32 = 60;
1058pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1059pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1060pub const NID_des_ede3_cfb64: i32 = 61;
1061pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1062pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1063pub const NID_des_ede_ofb64: i32 = 62;
1064pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1065pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1066pub const NID_des_ede3_ofb64: i32 = 63;
1067pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1068pub const LN_sha1: &[u8; 5] = b"sha1\0";
1069pub const NID_sha1: i32 = 64;
1070pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1071pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1072pub const NID_sha1WithRSAEncryption: i32 = 65;
1073pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1074pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1075pub const NID_dsaWithSHA: i32 = 66;
1076pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1077pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1078pub const NID_dsa_2: i32 = 67;
1079pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1080pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1081pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1082pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1083pub const NID_id_pbkdf2: i32 = 69;
1084pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1085pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1086pub const NID_dsaWithSHA1_2: i32 = 70;
1087pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1088pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1089pub const NID_netscape_cert_type: i32 = 71;
1090pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1091pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1092pub const NID_netscape_base_url: i32 = 72;
1093pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1094pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1095pub const NID_netscape_revocation_url: i32 = 73;
1096pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1097pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1098pub const NID_netscape_ca_revocation_url: i32 = 74;
1099pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1100pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1101pub const NID_netscape_renewal_url: i32 = 75;
1102pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1103pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1104pub const NID_netscape_ca_policy_url: i32 = 76;
1105pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1106pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1107pub const NID_netscape_ssl_server_name: i32 = 77;
1108pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1109pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1110pub const NID_netscape_comment: i32 = 78;
1111pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1112pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1113pub const NID_netscape_cert_sequence: i32 = 79;
1114pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1115pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1116pub const NID_desx_cbc: i32 = 80;
1117pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1118pub const NID_id_ce: i32 = 81;
1119pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1120pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1121pub const NID_subject_key_identifier: i32 = 82;
1122pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1123pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1124pub const NID_key_usage: i32 = 83;
1125pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1126pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1127pub const NID_private_key_usage_period: i32 = 84;
1128pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1129pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1130pub const NID_subject_alt_name: i32 = 85;
1131pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1132pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1133pub const NID_issuer_alt_name: i32 = 86;
1134pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1135pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1136pub const NID_basic_constraints: i32 = 87;
1137pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1138pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1139pub const NID_crl_number: i32 = 88;
1140pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1141pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1142pub const NID_certificate_policies: i32 = 89;
1143pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1144pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1145pub const NID_authority_key_identifier: i32 = 90;
1146pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1147pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1148pub const NID_bf_cbc: i32 = 91;
1149pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1150pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1151pub const NID_bf_ecb: i32 = 92;
1152pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1153pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1154pub const NID_bf_cfb64: i32 = 93;
1155pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1156pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1157pub const NID_bf_ofb64: i32 = 94;
1158pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1159pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1160pub const NID_mdc2: i32 = 95;
1161pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1162pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1163pub const NID_mdc2WithRSA: i32 = 96;
1164pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1165pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1166pub const NID_rc4_40: i32 = 97;
1167pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1168pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1169pub const NID_rc2_40_cbc: i32 = 98;
1170pub const SN_givenName: &[u8; 3] = b"GN\0";
1171pub const LN_givenName: &[u8; 10] = b"givenName\0";
1172pub const NID_givenName: i32 = 99;
1173pub const SN_surname: &[u8; 3] = b"SN\0";
1174pub const LN_surname: &[u8; 8] = b"surname\0";
1175pub const NID_surname: i32 = 100;
1176pub const SN_initials: &[u8; 9] = b"initials\0";
1177pub const LN_initials: &[u8; 9] = b"initials\0";
1178pub const NID_initials: i32 = 101;
1179pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1180pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1181pub const NID_crl_distribution_points: i32 = 103;
1182pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1183pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1184pub const NID_md5WithRSA: i32 = 104;
1185pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1186pub const NID_serialNumber: i32 = 105;
1187pub const SN_title: &[u8; 6] = b"title\0";
1188pub const LN_title: &[u8; 6] = b"title\0";
1189pub const NID_title: i32 = 106;
1190pub const LN_description: &[u8; 12] = b"description\0";
1191pub const NID_description: i32 = 107;
1192pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1193pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1194pub const NID_cast5_cbc: i32 = 108;
1195pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1196pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1197pub const NID_cast5_ecb: i32 = 109;
1198pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1199pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1200pub const NID_cast5_cfb64: i32 = 110;
1201pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1202pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1203pub const NID_cast5_ofb64: i32 = 111;
1204pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1205pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1206pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1207pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1208pub const NID_dsaWithSHA1: i32 = 113;
1209pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1210pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1211pub const NID_md5_sha1: i32 = 114;
1212pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1213pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1214pub const NID_sha1WithRSA: i32 = 115;
1215pub const SN_dsa: &[u8; 4] = b"DSA\0";
1216pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1217pub const NID_dsa: i32 = 116;
1218pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1219pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1220pub const NID_ripemd160: i32 = 117;
1221pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1222pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1223pub const NID_ripemd160WithRSA: i32 = 119;
1224pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1225pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1226pub const NID_rc5_cbc: i32 = 120;
1227pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1228pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1229pub const NID_rc5_ecb: i32 = 121;
1230pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1231pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1232pub const NID_rc5_cfb64: i32 = 122;
1233pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1234pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1235pub const NID_rc5_ofb64: i32 = 123;
1236pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1237pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1238pub const NID_zlib_compression: i32 = 125;
1239pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1240pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1241pub const NID_ext_key_usage: i32 = 126;
1242pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1243pub const NID_id_pkix: i32 = 127;
1244pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1245pub const NID_id_kp: i32 = 128;
1246pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1247pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1248pub const NID_server_auth: i32 = 129;
1249pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1250pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1251pub const NID_client_auth: i32 = 130;
1252pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1253pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1254pub const NID_code_sign: i32 = 131;
1255pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1256pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1257pub const NID_email_protect: i32 = 132;
1258pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1259pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1260pub const NID_time_stamp: i32 = 133;
1261pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1262pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1263pub const NID_ms_code_ind: i32 = 134;
1264pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1265pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1266pub const NID_ms_code_com: i32 = 135;
1267pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1268pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1269pub const NID_ms_ctl_sign: i32 = 136;
1270pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1271pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1272pub const NID_ms_sgc: i32 = 137;
1273pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1274pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1275pub const NID_ms_efs: i32 = 138;
1276pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1277pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1278pub const NID_ns_sgc: i32 = 139;
1279pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1280pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1281pub const NID_delta_crl: i32 = 140;
1282pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1283pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1284pub const NID_crl_reason: i32 = 141;
1285pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1286pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1287pub const NID_invalidity_date: i32 = 142;
1288pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1289pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1290pub const NID_sxnet: i32 = 143;
1291pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1292pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1293pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1294pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1295pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1296pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1297pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1298pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1299pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1300pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1301pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1302pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1303pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1304pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1305pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1306pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1307pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1308pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1309pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1310pub const NID_keyBag: i32 = 150;
1311pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1312pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1313pub const LN_certBag: &[u8; 8] = b"certBag\0";
1314pub const NID_certBag: i32 = 152;
1315pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1316pub const NID_crlBag: i32 = 153;
1317pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1318pub const NID_secretBag: i32 = 154;
1319pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1320pub const NID_safeContentsBag: i32 = 155;
1321pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1322pub const NID_friendlyName: i32 = 156;
1323pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1324pub const NID_localKeyID: i32 = 157;
1325pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1326pub const NID_x509Certificate: i32 = 158;
1327pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1328pub const NID_sdsiCertificate: i32 = 159;
1329pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1330pub const NID_x509Crl: i32 = 160;
1331pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1332pub const NID_pbes2: i32 = 161;
1333pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1334pub const NID_pbmac1: i32 = 162;
1335pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1336pub const NID_hmacWithSHA1: i32 = 163;
1337pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1338pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1339pub const NID_id_qt_cps: i32 = 164;
1340pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1341pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1342pub const NID_id_qt_unotice: i32 = 165;
1343pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1344pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1345pub const NID_rc2_64_cbc: i32 = 166;
1346pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1347pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1348pub const NID_SMIMECapabilities: i32 = 167;
1349pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1350pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1351pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1352pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1353pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1354pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1355pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1356pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1357pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1358pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1359pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1360pub const NID_ms_ext_req: i32 = 171;
1361pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1362pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1363pub const NID_ext_req: i32 = 172;
1364pub const SN_name: &[u8; 5] = b"name\0";
1365pub const LN_name: &[u8; 5] = b"name\0";
1366pub const NID_name: i32 = 173;
1367pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1368pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1369pub const NID_dnQualifier: i32 = 174;
1370pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1371pub const NID_id_pe: i32 = 175;
1372pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1373pub const NID_id_ad: i32 = 176;
1374pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1375pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1376pub const NID_info_access: i32 = 177;
1377pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1378pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1379pub const NID_ad_OCSP: i32 = 178;
1380pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1381pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1382pub const NID_ad_ca_issuers: i32 = 179;
1383pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1384pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1385pub const NID_OCSP_sign: i32 = 180;
1386pub const SN_iso: &[u8; 4] = b"ISO\0";
1387pub const LN_iso: &[u8; 4] = b"iso\0";
1388pub const NID_iso: i32 = 181;
1389pub const OBJ_iso: i32 = 1;
1390pub const SN_member_body: &[u8; 12] = b"member-body\0";
1391pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1392pub const NID_member_body: i32 = 182;
1393pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1394pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1395pub const NID_ISO_US: i32 = 183;
1396pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1397pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1398pub const NID_X9_57: i32 = 184;
1399pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1400pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1401pub const NID_X9cm: i32 = 185;
1402pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1403pub const NID_pkcs1: i32 = 186;
1404pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1405pub const NID_pkcs5: i32 = 187;
1406pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1407pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1408pub const NID_SMIME: i32 = 188;
1409pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1410pub const NID_id_smime_mod: i32 = 189;
1411pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1412pub const NID_id_smime_ct: i32 = 190;
1413pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1414pub const NID_id_smime_aa: i32 = 191;
1415pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1416pub const NID_id_smime_alg: i32 = 192;
1417pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1418pub const NID_id_smime_cd: i32 = 193;
1419pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1420pub const NID_id_smime_spq: i32 = 194;
1421pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1422pub const NID_id_smime_cti: i32 = 195;
1423pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1424pub const NID_id_smime_mod_cms: i32 = 196;
1425pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1426pub const NID_id_smime_mod_ess: i32 = 197;
1427pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1428pub const NID_id_smime_mod_oid: i32 = 198;
1429pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1430pub const NID_id_smime_mod_msg_v3: i32 = 199;
1431pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1432pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1433pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1434pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1435pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1436pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1437pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1438pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1439pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1440pub const NID_id_smime_ct_receipt: i32 = 204;
1441pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1442pub const NID_id_smime_ct_authData: i32 = 205;
1443pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1444pub const NID_id_smime_ct_publishCert: i32 = 206;
1445pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1446pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1447pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1448pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1449pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1450pub const NID_id_smime_ct_contentInfo: i32 = 209;
1451pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1452pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1453pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1454pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1455pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1456pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1457pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1458pub const NID_id_smime_aa_securityLabel: i32 = 213;
1459pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1460pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1461pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1462pub const NID_id_smime_aa_contentHint: i32 = 215;
1463pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1464pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1465pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1466pub const NID_id_smime_aa_encapContentType: i32 = 217;
1467pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1468pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1469pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1470pub const NID_id_smime_aa_macValue: i32 = 219;
1471pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1472pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1473pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1474pub const NID_id_smime_aa_contentReference: i32 = 221;
1475pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1476pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1477pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1478pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1479pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1480pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1481pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1482pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1483pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1484pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1485pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1486pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1487pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1488pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1489pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1490pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1491pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1492pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1493pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1494pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1495pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1496pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1497pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1498pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1499pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1500pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1501pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1502pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1503pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1504pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1505pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1506pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1507pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1508pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1509pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1510pub const NID_id_smime_aa_signatureType: i32 = 239;
1511pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1512pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1513pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1514pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1515pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1516pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1517pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1518pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1519pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1520pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1521pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1522pub const NID_id_smime_alg_ESDH: i32 = 245;
1523pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1524pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1525pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1526pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1527pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1528pub const NID_id_smime_cd_ldap: i32 = 248;
1529pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1530pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1531pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1532pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1533pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1534pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1535pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1536pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1537pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1538pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1539pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1540pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1541pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1542pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1543pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1544pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1545pub const SN_md4: &[u8; 4] = b"MD4\0";
1546pub const LN_md4: &[u8; 4] = b"md4\0";
1547pub const NID_md4: i32 = 257;
1548pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1549pub const NID_id_pkix_mod: i32 = 258;
1550pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1551pub const NID_id_qt: i32 = 259;
1552pub const SN_id_it: &[u8; 6] = b"id-it\0";
1553pub const NID_id_it: i32 = 260;
1554pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1555pub const NID_id_pkip: i32 = 261;
1556pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1557pub const NID_id_alg: i32 = 262;
1558pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1559pub const NID_id_cmc: i32 = 263;
1560pub const SN_id_on: &[u8; 6] = b"id-on\0";
1561pub const NID_id_on: i32 = 264;
1562pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1563pub const NID_id_pda: i32 = 265;
1564pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1565pub const NID_id_aca: i32 = 266;
1566pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1567pub const NID_id_qcs: i32 = 267;
1568pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1569pub const NID_id_cct: i32 = 268;
1570pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1571pub const NID_id_pkix1_explicit_88: i32 = 269;
1572pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1573pub const NID_id_pkix1_implicit_88: i32 = 270;
1574pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1575pub const NID_id_pkix1_explicit_93: i32 = 271;
1576pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1577pub const NID_id_pkix1_implicit_93: i32 = 272;
1578pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1579pub const NID_id_mod_crmf: i32 = 273;
1580pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1581pub const NID_id_mod_cmc: i32 = 274;
1582pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1583pub const NID_id_mod_kea_profile_88: i32 = 275;
1584pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1585pub const NID_id_mod_kea_profile_93: i32 = 276;
1586pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1587pub const NID_id_mod_cmp: i32 = 277;
1588pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1589pub const NID_id_mod_qualified_cert_88: i32 = 278;
1590pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1591pub const NID_id_mod_qualified_cert_93: i32 = 279;
1592pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1593pub const NID_id_mod_attribute_cert: i32 = 280;
1594pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1595pub const NID_id_mod_timestamp_protocol: i32 = 281;
1596pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1597pub const NID_id_mod_ocsp: i32 = 282;
1598pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1599pub const NID_id_mod_dvcs: i32 = 283;
1600pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1601pub const NID_id_mod_cmp2000: i32 = 284;
1602pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1603pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1604pub const NID_biometricInfo: i32 = 285;
1605pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1606pub const NID_qcStatements: i32 = 286;
1607pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1608pub const NID_ac_auditEntity: i32 = 287;
1609pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1610pub const NID_ac_targeting: i32 = 288;
1611pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1612pub const NID_aaControls: i32 = 289;
1613pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1614pub const NID_sbgp_ipAddrBlock: i32 = 290;
1615pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1616pub const NID_sbgp_autonomousSysNum: i32 = 291;
1617pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1618pub const NID_sbgp_routerIdentifier: i32 = 292;
1619pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1620pub const NID_textNotice: i32 = 293;
1621pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1622pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1623pub const NID_ipsecEndSystem: i32 = 294;
1624pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1625pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1626pub const NID_ipsecTunnel: i32 = 295;
1627pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1628pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1629pub const NID_ipsecUser: i32 = 296;
1630pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1631pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1632pub const NID_dvcs: i32 = 297;
1633pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1634pub const NID_id_it_caProtEncCert: i32 = 298;
1635pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1636pub const NID_id_it_signKeyPairTypes: i32 = 299;
1637pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1638pub const NID_id_it_encKeyPairTypes: i32 = 300;
1639pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1640pub const NID_id_it_preferredSymmAlg: i32 = 301;
1641pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1642pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1643pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1644pub const NID_id_it_currentCRL: i32 = 303;
1645pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1646pub const NID_id_it_unsupportedOIDs: i32 = 304;
1647pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1648pub const NID_id_it_subscriptionRequest: i32 = 305;
1649pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1650pub const NID_id_it_subscriptionResponse: i32 = 306;
1651pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1652pub const NID_id_it_keyPairParamReq: i32 = 307;
1653pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1654pub const NID_id_it_keyPairParamRep: i32 = 308;
1655pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1656pub const NID_id_it_revPassphrase: i32 = 309;
1657pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1658pub const NID_id_it_implicitConfirm: i32 = 310;
1659pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1660pub const NID_id_it_confirmWaitTime: i32 = 311;
1661pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1662pub const NID_id_it_origPKIMessage: i32 = 312;
1663pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1664pub const NID_id_regCtrl: i32 = 313;
1665pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1666pub const NID_id_regInfo: i32 = 314;
1667pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1668pub const NID_id_regCtrl_regToken: i32 = 315;
1669pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1670pub const NID_id_regCtrl_authenticator: i32 = 316;
1671pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1672pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1673pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1674pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1675pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1676pub const NID_id_regCtrl_oldCertID: i32 = 319;
1677pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1678pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1679pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1680pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1681pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1682pub const NID_id_regInfo_certReq: i32 = 322;
1683pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1684pub const NID_id_alg_des40: i32 = 323;
1685pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1686pub const NID_id_alg_noSignature: i32 = 324;
1687pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1688pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1689pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1690pub const NID_id_alg_dh_pop: i32 = 326;
1691pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1692pub const NID_id_cmc_statusInfo: i32 = 327;
1693pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1694pub const NID_id_cmc_identification: i32 = 328;
1695pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1696pub const NID_id_cmc_identityProof: i32 = 329;
1697pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1698pub const NID_id_cmc_dataReturn: i32 = 330;
1699pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1700pub const NID_id_cmc_transactionId: i32 = 331;
1701pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1702pub const NID_id_cmc_senderNonce: i32 = 332;
1703pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1704pub const NID_id_cmc_recipientNonce: i32 = 333;
1705pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1706pub const NID_id_cmc_addExtensions: i32 = 334;
1707pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1708pub const NID_id_cmc_encryptedPOP: i32 = 335;
1709pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1710pub const NID_id_cmc_decryptedPOP: i32 = 336;
1711pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1712pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1713pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1714pub const NID_id_cmc_getCert: i32 = 338;
1715pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1716pub const NID_id_cmc_getCRL: i32 = 339;
1717pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1718pub const NID_id_cmc_revokeRequest: i32 = 340;
1719pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1720pub const NID_id_cmc_regInfo: i32 = 341;
1721pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1722pub const NID_id_cmc_responseInfo: i32 = 342;
1723pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1724pub const NID_id_cmc_queryPending: i32 = 343;
1725pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1726pub const NID_id_cmc_popLinkRandom: i32 = 344;
1727pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1728pub const NID_id_cmc_popLinkWitness: i32 = 345;
1729pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1730pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1731pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1732pub const NID_id_on_personalData: i32 = 347;
1733pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1734pub const NID_id_pda_dateOfBirth: i32 = 348;
1735pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1736pub const NID_id_pda_placeOfBirth: i32 = 349;
1737pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1738pub const NID_id_pda_gender: i32 = 351;
1739pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1740pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1741pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1742pub const NID_id_pda_countryOfResidence: i32 = 353;
1743pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1744pub const NID_id_aca_authenticationInfo: i32 = 354;
1745pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1746pub const NID_id_aca_accessIdentity: i32 = 355;
1747pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1748pub const NID_id_aca_chargingIdentity: i32 = 356;
1749pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1750pub const NID_id_aca_group: i32 = 357;
1751pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1752pub const NID_id_aca_role: i32 = 358;
1753pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1754pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1755pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1756pub const NID_id_cct_crs: i32 = 360;
1757pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1758pub const NID_id_cct_PKIData: i32 = 361;
1759pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1760pub const NID_id_cct_PKIResponse: i32 = 362;
1761pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1762pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1763pub const NID_ad_timeStamping: i32 = 363;
1764pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1765pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1766pub const NID_ad_dvcs: i32 = 364;
1767pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1768pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1769pub const NID_id_pkix_OCSP_basic: i32 = 365;
1770pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1771pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1772pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1773pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1774pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1775pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1776pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1777pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1778pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1779pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1780pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1781pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1782pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1783pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1784pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1785pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1786pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1787pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1788pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1789pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1790pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1791pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1792pub const NID_id_pkix_OCSP_valid: i32 = 373;
1793pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1794pub const NID_id_pkix_OCSP_path: i32 = 374;
1795pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1796pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1797pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1798pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1799pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1800pub const NID_algorithm: i32 = 376;
1801pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1802pub const NID_rsaSignature: i32 = 377;
1803pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1804pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1805pub const NID_X500algorithms: i32 = 378;
1806pub const SN_org: &[u8; 4] = b"ORG\0";
1807pub const LN_org: &[u8; 4] = b"org\0";
1808pub const NID_org: i32 = 379;
1809pub const SN_dod: &[u8; 4] = b"DOD\0";
1810pub const LN_dod: &[u8; 4] = b"dod\0";
1811pub const NID_dod: i32 = 380;
1812pub const SN_iana: &[u8; 5] = b"IANA\0";
1813pub const LN_iana: &[u8; 5] = b"iana\0";
1814pub const NID_iana: i32 = 381;
1815pub const SN_Directory: &[u8; 10] = b"directory\0";
1816pub const LN_Directory: &[u8; 10] = b"Directory\0";
1817pub const NID_Directory: i32 = 382;
1818pub const SN_Management: &[u8; 5] = b"mgmt\0";
1819pub const LN_Management: &[u8; 11] = b"Management\0";
1820pub const NID_Management: i32 = 383;
1821pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1822pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1823pub const NID_Experimental: i32 = 384;
1824pub const SN_Private: &[u8; 8] = b"private\0";
1825pub const LN_Private: &[u8; 8] = b"Private\0";
1826pub const NID_Private: i32 = 385;
1827pub const SN_Security: &[u8; 9] = b"security\0";
1828pub const LN_Security: &[u8; 9] = b"Security\0";
1829pub const NID_Security: i32 = 386;
1830pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1831pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1832pub const NID_SNMPv2: i32 = 387;
1833pub const LN_Mail: &[u8; 5] = b"Mail\0";
1834pub const NID_Mail: i32 = 388;
1835pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1836pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1837pub const NID_Enterprises: i32 = 389;
1838pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1839pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1840pub const NID_dcObject: i32 = 390;
1841pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1842pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1843pub const NID_domainComponent: i32 = 391;
1844pub const SN_Domain: &[u8; 7] = b"domain\0";
1845pub const LN_Domain: &[u8; 7] = b"Domain\0";
1846pub const NID_Domain: i32 = 392;
1847pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1848pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1849pub const NID_selected_attribute_types: i32 = 394;
1850pub const SN_clearance: &[u8; 10] = b"clearance\0";
1851pub const NID_clearance: i32 = 395;
1852pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1853pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1854pub const NID_md4WithRSAEncryption: i32 = 396;
1855pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1856pub const NID_ac_proxying: i32 = 397;
1857pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1858pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1859pub const NID_sinfo_access: i32 = 398;
1860pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1861pub const NID_id_aca_encAttrs: i32 = 399;
1862pub const SN_role: &[u8; 5] = b"role\0";
1863pub const LN_role: &[u8; 5] = b"role\0";
1864pub const NID_role: i32 = 400;
1865pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1866pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1867pub const NID_policy_constraints: i32 = 401;
1868pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1869pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1870pub const NID_target_information: i32 = 402;
1871pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1872pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1873pub const NID_no_rev_avail: i32 = 403;
1874pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1875pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1876pub const NID_ansi_X9_62: i32 = 405;
1877pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1878pub const NID_X9_62_prime_field: i32 = 406;
1879pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1880pub const NID_X9_62_characteristic_two_field: i32 = 407;
1881pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1882pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1883pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1884pub const NID_X9_62_prime192v1: i32 = 409;
1885pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1886pub const NID_X9_62_prime192v2: i32 = 410;
1887pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1888pub const NID_X9_62_prime192v3: i32 = 411;
1889pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1890pub const NID_X9_62_prime239v1: i32 = 412;
1891pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1892pub const NID_X9_62_prime239v2: i32 = 413;
1893pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1894pub const NID_X9_62_prime239v3: i32 = 414;
1895pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1896pub const NID_X9_62_prime256v1: i32 = 415;
1897pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1898pub const NID_ecdsa_with_SHA1: i32 = 416;
1899pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1900pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1901pub const NID_ms_csp_name: i32 = 417;
1902pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1903pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1904pub const NID_aes_128_ecb: i32 = 418;
1905pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1906pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1907pub const NID_aes_128_cbc: i32 = 419;
1908pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1909pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1910pub const NID_aes_128_ofb128: i32 = 420;
1911pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1912pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1913pub const NID_aes_128_cfb128: i32 = 421;
1914pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1915pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1916pub const NID_aes_192_ecb: i32 = 422;
1917pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1918pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1919pub const NID_aes_192_cbc: i32 = 423;
1920pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1921pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1922pub const NID_aes_192_ofb128: i32 = 424;
1923pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1924pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1925pub const NID_aes_192_cfb128: i32 = 425;
1926pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1927pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1928pub const NID_aes_256_ecb: i32 = 426;
1929pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1930pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1931pub const NID_aes_256_cbc: i32 = 427;
1932pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1933pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1934pub const NID_aes_256_ofb128: i32 = 428;
1935pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1936pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1937pub const NID_aes_256_cfb128: i32 = 429;
1938pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1939pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1940pub const NID_hold_instruction_code: i32 = 430;
1941pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1942pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1943pub const NID_hold_instruction_none: i32 = 431;
1944pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1945pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1946pub const NID_hold_instruction_call_issuer: i32 = 432;
1947pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1948pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1949pub const NID_hold_instruction_reject: i32 = 433;
1950pub const SN_data: &[u8; 5] = b"data\0";
1951pub const NID_data: i32 = 434;
1952pub const SN_pss: &[u8; 4] = b"pss\0";
1953pub const NID_pss: i32 = 435;
1954pub const SN_ucl: &[u8; 4] = b"ucl\0";
1955pub const NID_ucl: i32 = 436;
1956pub const SN_pilot: &[u8; 6] = b"pilot\0";
1957pub const NID_pilot: i32 = 437;
1958pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1959pub const NID_pilotAttributeType: i32 = 438;
1960pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1961pub const NID_pilotAttributeSyntax: i32 = 439;
1962pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1963pub const NID_pilotObjectClass: i32 = 440;
1964pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1965pub const NID_pilotGroups: i32 = 441;
1966pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1967pub const NID_iA5StringSyntax: i32 = 442;
1968pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1969pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1970pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1971pub const NID_pilotObject: i32 = 444;
1972pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1973pub const NID_pilotPerson: i32 = 445;
1974pub const SN_account: &[u8; 8] = b"account\0";
1975pub const NID_account: i32 = 446;
1976pub const SN_document: &[u8; 9] = b"document\0";
1977pub const NID_document: i32 = 447;
1978pub const SN_room: &[u8; 5] = b"room\0";
1979pub const NID_room: i32 = 448;
1980pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1981pub const NID_documentSeries: i32 = 449;
1982pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1983pub const NID_rFC822localPart: i32 = 450;
1984pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1985pub const NID_dNSDomain: i32 = 451;
1986pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1987pub const NID_domainRelatedObject: i32 = 452;
1988pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1989pub const NID_friendlyCountry: i32 = 453;
1990pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1991pub const NID_simpleSecurityObject: i32 = 454;
1992pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1993pub const NID_pilotOrganization: i32 = 455;
1994pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1995pub const NID_pilotDSA: i32 = 456;
1996pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1997pub const NID_qualityLabelledData: i32 = 457;
1998pub const SN_userId: &[u8; 4] = b"UID\0";
1999pub const LN_userId: &[u8; 7] = b"userId\0";
2000pub const NID_userId: i32 = 458;
2001pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2002pub const NID_textEncodedORAddress: i32 = 459;
2003pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2004pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2005pub const NID_rfc822Mailbox: i32 = 460;
2006pub const SN_info: &[u8; 5] = b"info\0";
2007pub const NID_info: i32 = 461;
2008pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2009pub const NID_favouriteDrink: i32 = 462;
2010pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2011pub const NID_roomNumber: i32 = 463;
2012pub const SN_photo: &[u8; 6] = b"photo\0";
2013pub const NID_photo: i32 = 464;
2014pub const LN_userClass: &[u8; 10] = b"userClass\0";
2015pub const NID_userClass: i32 = 465;
2016pub const SN_host: &[u8; 5] = b"host\0";
2017pub const NID_host: i32 = 466;
2018pub const SN_manager: &[u8; 8] = b"manager\0";
2019pub const NID_manager: i32 = 467;
2020pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2021pub const NID_documentIdentifier: i32 = 468;
2022pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2023pub const NID_documentTitle: i32 = 469;
2024pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2025pub const NID_documentVersion: i32 = 470;
2026pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2027pub const NID_documentAuthor: i32 = 471;
2028pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2029pub const NID_documentLocation: i32 = 472;
2030pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2031pub const NID_homeTelephoneNumber: i32 = 473;
2032pub const SN_secretary: &[u8; 10] = b"secretary\0";
2033pub const NID_secretary: i32 = 474;
2034pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2035pub const NID_otherMailbox: i32 = 475;
2036pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2037pub const NID_lastModifiedTime: i32 = 476;
2038pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2039pub const NID_lastModifiedBy: i32 = 477;
2040pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2041pub const NID_aRecord: i32 = 478;
2042pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2043pub const NID_pilotAttributeType27: i32 = 479;
2044pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2045pub const NID_mXRecord: i32 = 480;
2046pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2047pub const NID_nSRecord: i32 = 481;
2048pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2049pub const NID_sOARecord: i32 = 482;
2050pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2051pub const NID_cNAMERecord: i32 = 483;
2052pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2053pub const NID_associatedDomain: i32 = 484;
2054pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2055pub const NID_associatedName: i32 = 485;
2056pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2057pub const NID_homePostalAddress: i32 = 486;
2058pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2059pub const NID_personalTitle: i32 = 487;
2060pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2061pub const NID_mobileTelephoneNumber: i32 = 488;
2062pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2063pub const NID_pagerTelephoneNumber: i32 = 489;
2064pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2065pub const NID_friendlyCountryName: i32 = 490;
2066pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2067pub const NID_organizationalStatus: i32 = 491;
2068pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2069pub const NID_janetMailbox: i32 = 492;
2070pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2071pub const NID_mailPreferenceOption: i32 = 493;
2072pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2073pub const NID_buildingName: i32 = 494;
2074pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2075pub const NID_dSAQuality: i32 = 495;
2076pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2077pub const NID_singleLevelQuality: i32 = 496;
2078pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2079pub const NID_subtreeMinimumQuality: i32 = 497;
2080pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2081pub const NID_subtreeMaximumQuality: i32 = 498;
2082pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2083pub const NID_personalSignature: i32 = 499;
2084pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2085pub const NID_dITRedirect: i32 = 500;
2086pub const SN_audio: &[u8; 6] = b"audio\0";
2087pub const NID_audio: i32 = 501;
2088pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2089pub const NID_documentPublisher: i32 = 502;
2090pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2091pub const NID_x500UniqueIdentifier: i32 = 503;
2092pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2093pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2094pub const NID_mime_mhs: i32 = 504;
2095pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2096pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2097pub const NID_mime_mhs_headings: i32 = 505;
2098pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2099pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2100pub const NID_mime_mhs_bodies: i32 = 506;
2101pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2102pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2103pub const NID_id_hex_partial_message: i32 = 507;
2104pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2105pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2106pub const NID_id_hex_multipart_message: i32 = 508;
2107pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2108pub const NID_generationQualifier: i32 = 509;
2109pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2110pub const NID_pseudonym: i32 = 510;
2111pub const SN_id_set: &[u8; 7] = b"id-set\0";
2112pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2113pub const NID_id_set: i32 = 512;
2114pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2115pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2116pub const NID_set_ctype: i32 = 513;
2117pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2118pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2119pub const NID_set_msgExt: i32 = 514;
2120pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2121pub const NID_set_attr: i32 = 515;
2122pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2123pub const NID_set_policy: i32 = 516;
2124pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2125pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2126pub const NID_set_certExt: i32 = 517;
2127pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2128pub const NID_set_brand: i32 = 518;
2129pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2130pub const NID_setct_PANData: i32 = 519;
2131pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2132pub const NID_setct_PANToken: i32 = 520;
2133pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2134pub const NID_setct_PANOnly: i32 = 521;
2135pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2136pub const NID_setct_OIData: i32 = 522;
2137pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2138pub const NID_setct_PI: i32 = 523;
2139pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2140pub const NID_setct_PIData: i32 = 524;
2141pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2142pub const NID_setct_PIDataUnsigned: i32 = 525;
2143pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2144pub const NID_setct_HODInput: i32 = 526;
2145pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2146pub const NID_setct_AuthResBaggage: i32 = 527;
2147pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2148pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2149pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2150pub const NID_setct_AuthRevResBaggage: i32 = 529;
2151pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2152pub const NID_setct_CapTokenSeq: i32 = 530;
2153pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2154pub const NID_setct_PInitResData: i32 = 531;
2155pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2156pub const NID_setct_PI_TBS: i32 = 532;
2157pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2158pub const NID_setct_PResData: i32 = 533;
2159pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2160pub const NID_setct_AuthReqTBS: i32 = 534;
2161pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2162pub const NID_setct_AuthResTBS: i32 = 535;
2163pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2164pub const NID_setct_AuthResTBSX: i32 = 536;
2165pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2166pub const NID_setct_AuthTokenTBS: i32 = 537;
2167pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2168pub const NID_setct_CapTokenData: i32 = 538;
2169pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2170pub const NID_setct_CapTokenTBS: i32 = 539;
2171pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2172pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2173pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2174pub const NID_setct_AuthRevReqTBS: i32 = 541;
2175pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2176pub const NID_setct_AuthRevResData: i32 = 542;
2177pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2178pub const NID_setct_AuthRevResTBS: i32 = 543;
2179pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2180pub const NID_setct_CapReqTBS: i32 = 544;
2181pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2182pub const NID_setct_CapReqTBSX: i32 = 545;
2183pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2184pub const NID_setct_CapResData: i32 = 546;
2185pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2186pub const NID_setct_CapRevReqTBS: i32 = 547;
2187pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2188pub const NID_setct_CapRevReqTBSX: i32 = 548;
2189pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2190pub const NID_setct_CapRevResData: i32 = 549;
2191pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2192pub const NID_setct_CredReqTBS: i32 = 550;
2193pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2194pub const NID_setct_CredReqTBSX: i32 = 551;
2195pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2196pub const NID_setct_CredResData: i32 = 552;
2197pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2198pub const NID_setct_CredRevReqTBS: i32 = 553;
2199pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2200pub const NID_setct_CredRevReqTBSX: i32 = 554;
2201pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2202pub const NID_setct_CredRevResData: i32 = 555;
2203pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2204pub const NID_setct_PCertReqData: i32 = 556;
2205pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2206pub const NID_setct_PCertResTBS: i32 = 557;
2207pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2208pub const NID_setct_BatchAdminReqData: i32 = 558;
2209pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2210pub const NID_setct_BatchAdminResData: i32 = 559;
2211pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2212pub const NID_setct_CardCInitResTBS: i32 = 560;
2213pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2214pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2215pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2216pub const NID_setct_RegFormResTBS: i32 = 562;
2217pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2218pub const NID_setct_CertReqData: i32 = 563;
2219pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2220pub const NID_setct_CertReqTBS: i32 = 564;
2221pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2222pub const NID_setct_CertResData: i32 = 565;
2223pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2224pub const NID_setct_CertInqReqTBS: i32 = 566;
2225pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2226pub const NID_setct_ErrorTBS: i32 = 567;
2227pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2228pub const NID_setct_PIDualSignedTBE: i32 = 568;
2229pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2230pub const NID_setct_PIUnsignedTBE: i32 = 569;
2231pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2232pub const NID_setct_AuthReqTBE: i32 = 570;
2233pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2234pub const NID_setct_AuthResTBE: i32 = 571;
2235pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2236pub const NID_setct_AuthResTBEX: i32 = 572;
2237pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2238pub const NID_setct_AuthTokenTBE: i32 = 573;
2239pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2240pub const NID_setct_CapTokenTBE: i32 = 574;
2241pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2242pub const NID_setct_CapTokenTBEX: i32 = 575;
2243pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2244pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2245pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2246pub const NID_setct_AuthRevReqTBE: i32 = 577;
2247pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2248pub const NID_setct_AuthRevResTBE: i32 = 578;
2249pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2250pub const NID_setct_AuthRevResTBEB: i32 = 579;
2251pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2252pub const NID_setct_CapReqTBE: i32 = 580;
2253pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2254pub const NID_setct_CapReqTBEX: i32 = 581;
2255pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2256pub const NID_setct_CapResTBE: i32 = 582;
2257pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2258pub const NID_setct_CapRevReqTBE: i32 = 583;
2259pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2260pub const NID_setct_CapRevReqTBEX: i32 = 584;
2261pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2262pub const NID_setct_CapRevResTBE: i32 = 585;
2263pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2264pub const NID_setct_CredReqTBE: i32 = 586;
2265pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2266pub const NID_setct_CredReqTBEX: i32 = 587;
2267pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2268pub const NID_setct_CredResTBE: i32 = 588;
2269pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2270pub const NID_setct_CredRevReqTBE: i32 = 589;
2271pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2272pub const NID_setct_CredRevReqTBEX: i32 = 590;
2273pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2274pub const NID_setct_CredRevResTBE: i32 = 591;
2275pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2276pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2277pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2278pub const NID_setct_BatchAdminResTBE: i32 = 593;
2279pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2280pub const NID_setct_RegFormReqTBE: i32 = 594;
2281pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2282pub const NID_setct_CertReqTBE: i32 = 595;
2283pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2284pub const NID_setct_CertReqTBEX: i32 = 596;
2285pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2286pub const NID_setct_CertResTBE: i32 = 597;
2287pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2288pub const NID_setct_CRLNotificationTBS: i32 = 598;
2289pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2290pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2291pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2292pub const NID_setct_BCIDistributionTBS: i32 = 600;
2293pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2294pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2295pub const NID_setext_genCrypt: i32 = 601;
2296pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2297pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2298pub const NID_setext_miAuth: i32 = 602;
2299pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2300pub const NID_setext_pinSecure: i32 = 603;
2301pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2302pub const NID_setext_pinAny: i32 = 604;
2303pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2304pub const NID_setext_track2: i32 = 605;
2305pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2306pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2307pub const NID_setext_cv: i32 = 606;
2308pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2309pub const NID_set_policy_root: i32 = 607;
2310pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2311pub const NID_setCext_hashedRoot: i32 = 608;
2312pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2313pub const NID_setCext_certType: i32 = 609;
2314pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2315pub const NID_setCext_merchData: i32 = 610;
2316pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2317pub const NID_setCext_cCertRequired: i32 = 611;
2318pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2319pub const NID_setCext_tunneling: i32 = 612;
2320pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2321pub const NID_setCext_setExt: i32 = 613;
2322pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2323pub const NID_setCext_setQualf: i32 = 614;
2324pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2325pub const NID_setCext_PGWYcapabilities: i32 = 615;
2326pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2327pub const NID_setCext_TokenIdentifier: i32 = 616;
2328pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2329pub const NID_setCext_Track2Data: i32 = 617;
2330pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2331pub const NID_setCext_TokenType: i32 = 618;
2332pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2333pub const NID_setCext_IssuerCapabilities: i32 = 619;
2334pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2335pub const NID_setAttr_Cert: i32 = 620;
2336pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2337pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2338pub const NID_setAttr_PGWYcap: i32 = 621;
2339pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2340pub const NID_setAttr_TokenType: i32 = 622;
2341pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2342pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2343pub const NID_setAttr_IssCap: i32 = 623;
2344pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2345pub const NID_set_rootKeyThumb: i32 = 624;
2346pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2347pub const NID_set_addPolicy: i32 = 625;
2348pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2349pub const NID_setAttr_Token_EMV: i32 = 626;
2350pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2351pub const NID_setAttr_Token_B0Prime: i32 = 627;
2352pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2353pub const NID_setAttr_IssCap_CVM: i32 = 628;
2354pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2355pub const NID_setAttr_IssCap_T2: i32 = 629;
2356pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2357pub const NID_setAttr_IssCap_Sig: i32 = 630;
2358pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2359pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2360pub const NID_setAttr_GenCryptgrm: i32 = 631;
2361pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2362pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2363pub const NID_setAttr_T2Enc: i32 = 632;
2364pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2365pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2366pub const NID_setAttr_T2cleartxt: i32 = 633;
2367pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2368pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2369pub const NID_setAttr_TokICCsig: i32 = 634;
2370pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2371pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2372pub const NID_setAttr_SecDevSig: i32 = 635;
2373pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2374pub const NID_set_brand_IATA_ATA: i32 = 636;
2375pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2376pub const NID_set_brand_Diners: i32 = 637;
2377pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2378pub const NID_set_brand_AmericanExpress: i32 = 638;
2379pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2380pub const NID_set_brand_JCB: i32 = 639;
2381pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2382pub const NID_set_brand_Visa: i32 = 640;
2383pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2384pub const NID_set_brand_MasterCard: i32 = 641;
2385pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2386pub const NID_set_brand_Novus: i32 = 642;
2387pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2388pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2389pub const NID_des_cdmf: i32 = 643;
2390pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2391pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2392pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2393pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2394pub const NID_itu_t: i32 = 645;
2395pub const OBJ_itu_t: i32 = 0;
2396pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2397pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2398pub const NID_joint_iso_itu_t: i32 = 646;
2399pub const OBJ_joint_iso_itu_t: i32 = 2;
2400pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2401pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2402pub const NID_international_organizations: i32 = 647;
2403pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2404pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2405pub const NID_ms_smartcard_login: i32 = 648;
2406pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2407pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2408pub const NID_ms_upn: i32 = 649;
2409pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2410pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2411pub const NID_aes_128_cfb1: i32 = 650;
2412pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2413pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2414pub const NID_aes_192_cfb1: i32 = 651;
2415pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2416pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2417pub const NID_aes_256_cfb1: i32 = 652;
2418pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2419pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2420pub const NID_aes_128_cfb8: i32 = 653;
2421pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2422pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2423pub const NID_aes_192_cfb8: i32 = 654;
2424pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2425pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2426pub const NID_aes_256_cfb8: i32 = 655;
2427pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2428pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2429pub const NID_des_cfb1: i32 = 656;
2430pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2431pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2432pub const NID_des_cfb8: i32 = 657;
2433pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2434pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2435pub const NID_des_ede3_cfb1: i32 = 658;
2436pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2437pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2438pub const NID_des_ede3_cfb8: i32 = 659;
2439pub const SN_streetAddress: &[u8; 7] = b"street\0";
2440pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2441pub const NID_streetAddress: i32 = 660;
2442pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2443pub const NID_postalCode: i32 = 661;
2444pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2445pub const NID_id_ppl: i32 = 662;
2446pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2447pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2448pub const NID_proxyCertInfo: i32 = 663;
2449pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2450pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2451pub const NID_id_ppl_anyLanguage: i32 = 664;
2452pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2453pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2454pub const NID_id_ppl_inheritAll: i32 = 665;
2455pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2456pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2457pub const NID_name_constraints: i32 = 666;
2458pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2459pub const LN_Independent: &[u8; 12] = b"Independent\0";
2460pub const NID_Independent: i32 = 667;
2461pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2462pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2463pub const NID_sha256WithRSAEncryption: i32 = 668;
2464pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2465pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2466pub const NID_sha384WithRSAEncryption: i32 = 669;
2467pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2468pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2469pub const NID_sha512WithRSAEncryption: i32 = 670;
2470pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2471pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2472pub const NID_sha224WithRSAEncryption: i32 = 671;
2473pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2474pub const LN_sha256: &[u8; 7] = b"sha256\0";
2475pub const NID_sha256: i32 = 672;
2476pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2477pub const LN_sha384: &[u8; 7] = b"sha384\0";
2478pub const NID_sha384: i32 = 673;
2479pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2480pub const LN_sha512: &[u8; 7] = b"sha512\0";
2481pub const NID_sha512: i32 = 674;
2482pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2483pub const LN_sha224: &[u8; 7] = b"sha224\0";
2484pub const NID_sha224: i32 = 675;
2485pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2486pub const NID_identified_organization: i32 = 676;
2487pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2488pub const NID_certicom_arc: i32 = 677;
2489pub const SN_wap: &[u8; 4] = b"wap\0";
2490pub const NID_wap: i32 = 678;
2491pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2492pub const NID_wap_wsg: i32 = 679;
2493pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2494pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2495pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2496pub const NID_X9_62_onBasis: i32 = 681;
2497pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2498pub const NID_X9_62_tpBasis: i32 = 682;
2499pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2500pub const NID_X9_62_ppBasis: i32 = 683;
2501pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2502pub const NID_X9_62_c2pnb163v1: i32 = 684;
2503pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2504pub const NID_X9_62_c2pnb163v2: i32 = 685;
2505pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2506pub const NID_X9_62_c2pnb163v3: i32 = 686;
2507pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2508pub const NID_X9_62_c2pnb176v1: i32 = 687;
2509pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2510pub const NID_X9_62_c2tnb191v1: i32 = 688;
2511pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2512pub const NID_X9_62_c2tnb191v2: i32 = 689;
2513pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2514pub const NID_X9_62_c2tnb191v3: i32 = 690;
2515pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2516pub const NID_X9_62_c2onb191v4: i32 = 691;
2517pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2518pub const NID_X9_62_c2onb191v5: i32 = 692;
2519pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2520pub const NID_X9_62_c2pnb208w1: i32 = 693;
2521pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2522pub const NID_X9_62_c2tnb239v1: i32 = 694;
2523pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2524pub const NID_X9_62_c2tnb239v2: i32 = 695;
2525pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2526pub const NID_X9_62_c2tnb239v3: i32 = 696;
2527pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2528pub const NID_X9_62_c2onb239v4: i32 = 697;
2529pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2530pub const NID_X9_62_c2onb239v5: i32 = 698;
2531pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2532pub const NID_X9_62_c2pnb272w1: i32 = 699;
2533pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2534pub const NID_X9_62_c2pnb304w1: i32 = 700;
2535pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2536pub const NID_X9_62_c2tnb359v1: i32 = 701;
2537pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2538pub const NID_X9_62_c2pnb368w1: i32 = 702;
2539pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2540pub const NID_X9_62_c2tnb431r1: i32 = 703;
2541pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2542pub const NID_secp112r1: i32 = 704;
2543pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2544pub const NID_secp112r2: i32 = 705;
2545pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2546pub const NID_secp128r1: i32 = 706;
2547pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2548pub const NID_secp128r2: i32 = 707;
2549pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2550pub const NID_secp160k1: i32 = 708;
2551pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2552pub const NID_secp160r1: i32 = 709;
2553pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2554pub const NID_secp160r2: i32 = 710;
2555pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2556pub const NID_secp192k1: i32 = 711;
2557pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2558pub const NID_secp224k1: i32 = 712;
2559pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2560pub const NID_secp224r1: i32 = 713;
2561pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2562pub const NID_secp256k1: i32 = 714;
2563pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2564pub const NID_secp384r1: i32 = 715;
2565pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2566pub const NID_secp521r1: i32 = 716;
2567pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2568pub const NID_sect113r1: i32 = 717;
2569pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2570pub const NID_sect113r2: i32 = 718;
2571pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2572pub const NID_sect131r1: i32 = 719;
2573pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2574pub const NID_sect131r2: i32 = 720;
2575pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2576pub const NID_sect163k1: i32 = 721;
2577pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2578pub const NID_sect163r1: i32 = 722;
2579pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2580pub const NID_sect163r2: i32 = 723;
2581pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2582pub const NID_sect193r1: i32 = 724;
2583pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2584pub const NID_sect193r2: i32 = 725;
2585pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2586pub const NID_sect233k1: i32 = 726;
2587pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2588pub const NID_sect233r1: i32 = 727;
2589pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2590pub const NID_sect239k1: i32 = 728;
2591pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2592pub const NID_sect283k1: i32 = 729;
2593pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2594pub const NID_sect283r1: i32 = 730;
2595pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2596pub const NID_sect409k1: i32 = 731;
2597pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2598pub const NID_sect409r1: i32 = 732;
2599pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2600pub const NID_sect571k1: i32 = 733;
2601pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2602pub const NID_sect571r1: i32 = 734;
2603pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2604pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2605pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2606pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2607pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2608pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2609pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2610pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2611pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2612pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2613pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2614pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2615pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2616pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2617pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2618pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2619pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2620pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2621pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2622pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2623pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2624pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2625pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2626pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2627pub const NID_any_policy: i32 = 746;
2628pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2629pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2630pub const NID_policy_mappings: i32 = 747;
2631pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2632pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2633pub const NID_inhibit_any_policy: i32 = 748;
2634pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2635pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2636pub const NID_ipsec3: i32 = 749;
2637pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2638pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2639pub const NID_ipsec4: i32 = 750;
2640pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2641pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2642pub const NID_camellia_128_cbc: i32 = 751;
2643pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2644pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2645pub const NID_camellia_192_cbc: i32 = 752;
2646pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2647pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2648pub const NID_camellia_256_cbc: i32 = 753;
2649pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2650pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2651pub const NID_camellia_128_ecb: i32 = 754;
2652pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2653pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2654pub const NID_camellia_192_ecb: i32 = 755;
2655pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2656pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2657pub const NID_camellia_256_ecb: i32 = 756;
2658pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2659pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2660pub const NID_camellia_128_cfb128: i32 = 757;
2661pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2662pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2663pub const NID_camellia_192_cfb128: i32 = 758;
2664pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2665pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2666pub const NID_camellia_256_cfb128: i32 = 759;
2667pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2668pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2669pub const NID_camellia_128_cfb1: i32 = 760;
2670pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2671pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2672pub const NID_camellia_192_cfb1: i32 = 761;
2673pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2674pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2675pub const NID_camellia_256_cfb1: i32 = 762;
2676pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2677pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2678pub const NID_camellia_128_cfb8: i32 = 763;
2679pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2680pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2681pub const NID_camellia_192_cfb8: i32 = 764;
2682pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2683pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2684pub const NID_camellia_256_cfb8: i32 = 765;
2685pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2686pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2687pub const NID_camellia_128_ofb128: i32 = 766;
2688pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2689pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2690pub const NID_camellia_192_ofb128: i32 = 767;
2691pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2692pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2693pub const NID_camellia_256_ofb128: i32 = 768;
2694pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2695pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2696pub const NID_subject_directory_attributes: i32 = 769;
2697pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2698pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2699pub const NID_issuing_distribution_point: i32 = 770;
2700pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2701pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2702pub const NID_certificate_issuer: i32 = 771;
2703pub const SN_kisa: &[u8; 5] = b"KISA\0";
2704pub const LN_kisa: &[u8; 5] = b"kisa\0";
2705pub const NID_kisa: i32 = 773;
2706pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2707pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2708pub const NID_seed_ecb: i32 = 776;
2709pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2710pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2711pub const NID_seed_cbc: i32 = 777;
2712pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2713pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2714pub const NID_seed_ofb128: i32 = 778;
2715pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2716pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2717pub const NID_seed_cfb128: i32 = 779;
2718pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2719pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2720pub const NID_hmac_md5: i32 = 780;
2721pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2722pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2723pub const NID_hmac_sha1: i32 = 781;
2724pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2725pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2726pub const NID_id_PasswordBasedMAC: i32 = 782;
2727pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2728pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2729pub const NID_id_DHBasedMac: i32 = 783;
2730pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2731pub const NID_id_it_suppLangTags: i32 = 784;
2732pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2733pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2734pub const NID_caRepository: i32 = 785;
2735pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2736pub const NID_id_smime_ct_compressedData: i32 = 786;
2737pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2738pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2739pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2740pub const NID_id_aes128_wrap: i32 = 788;
2741pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2742pub const NID_id_aes192_wrap: i32 = 789;
2743pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2744pub const NID_id_aes256_wrap: i32 = 790;
2745pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2746pub const NID_ecdsa_with_Recommended: i32 = 791;
2747pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2748pub const NID_ecdsa_with_Specified: i32 = 792;
2749pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2750pub const NID_ecdsa_with_SHA224: i32 = 793;
2751pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2752pub const NID_ecdsa_with_SHA256: i32 = 794;
2753pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2754pub const NID_ecdsa_with_SHA384: i32 = 795;
2755pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2756pub const NID_ecdsa_with_SHA512: i32 = 796;
2757pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2758pub const NID_hmacWithMD5: i32 = 797;
2759pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2760pub const NID_hmacWithSHA224: i32 = 798;
2761pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2762pub const NID_hmacWithSHA256: i32 = 799;
2763pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2764pub const NID_hmacWithSHA384: i32 = 800;
2765pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2766pub const NID_hmacWithSHA512: i32 = 801;
2767pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2768pub const NID_dsa_with_SHA224: i32 = 802;
2769pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2770pub const NID_dsa_with_SHA256: i32 = 803;
2771pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2772pub const NID_whirlpool: i32 = 804;
2773pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2774pub const NID_cryptopro: i32 = 805;
2775pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2776pub const NID_cryptocom: i32 = 806;
2777pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2778    b"id-GostR3411-94-with-GostR3410-2001\0";
2779pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2780    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2781pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2782pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2783pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2784    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2785pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2786pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2787pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2788pub const NID_id_GostR3411_94: i32 = 809;
2789pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2790pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2791pub const NID_id_HMACGostR3411_94: i32 = 810;
2792pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2793pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2794pub const NID_id_GostR3410_2001: i32 = 811;
2795pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2796pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2797pub const NID_id_GostR3410_94: i32 = 812;
2798pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2799pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2800pub const NID_id_Gost28147_89: i32 = 813;
2801pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2802pub const NID_gost89_cnt: i32 = 814;
2803pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2804pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2805pub const NID_id_Gost28147_89_MAC: i32 = 815;
2806pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2807pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2808pub const NID_id_GostR3411_94_prf: i32 = 816;
2809pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2810pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2811pub const NID_id_GostR3410_2001DH: i32 = 817;
2812pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2813pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2814pub const NID_id_GostR3410_94DH: i32 = 818;
2815pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2816    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2817pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2818pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2819pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2820pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2821pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2822pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2823pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2824pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2825pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2826pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2827    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2828pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2829pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2830    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2831pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2832pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2833    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2834pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2835pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2836    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2837pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2838pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2839    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2840pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2841pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2842    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2843pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2844pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2845    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2846pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2847pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2848pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2849pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2850    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2851pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2852pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2853    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2854pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2855pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2856    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2857pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2858pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2859    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2860pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2861pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2862    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2863pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2864pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2865    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2866pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2867pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2868    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2869pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2870pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2871pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2872pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2873    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2874pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2875pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2876    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2877pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2878pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2879    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2880pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2881pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2882    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2883pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2884pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2885    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2886pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2887pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2888pub const NID_id_GostR3410_94_a: i32 = 845;
2889pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2890pub const NID_id_GostR3410_94_aBis: i32 = 846;
2891pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2892pub const NID_id_GostR3410_94_b: i32 = 847;
2893pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2894pub const NID_id_GostR3410_94_bBis: i32 = 848;
2895pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2896pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2897pub const NID_id_Gost28147_89_cc: i32 = 849;
2898pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2899pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2900pub const NID_id_GostR3410_94_cc: i32 = 850;
2901pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2902pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2903pub const NID_id_GostR3410_2001_cc: i32 = 851;
2904pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2905    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2906pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2907    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2908pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2909pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2910    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2911pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2912    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2913pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2914pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2915pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2916    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2917pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2918pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2919pub const LN_hmac: &[u8; 5] = b"hmac\0";
2920pub const NID_hmac: i32 = 855;
2921pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2922pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2923pub const NID_LocalKeySet: i32 = 856;
2924pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2925pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2926pub const NID_freshest_crl: i32 = 857;
2927pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2928pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2929pub const NID_id_on_permanentIdentifier: i32 = 858;
2930pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2931pub const NID_searchGuide: i32 = 859;
2932pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2933pub const NID_businessCategory: i32 = 860;
2934pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2935pub const NID_postalAddress: i32 = 861;
2936pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2937pub const NID_postOfficeBox: i32 = 862;
2938pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2939pub const NID_physicalDeliveryOfficeName: i32 = 863;
2940pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2941pub const NID_telephoneNumber: i32 = 864;
2942pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2943pub const NID_telexNumber: i32 = 865;
2944pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2945pub const NID_teletexTerminalIdentifier: i32 = 866;
2946pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2947pub const NID_facsimileTelephoneNumber: i32 = 867;
2948pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2949pub const NID_x121Address: i32 = 868;
2950pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2951pub const NID_internationaliSDNNumber: i32 = 869;
2952pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2953pub const NID_registeredAddress: i32 = 870;
2954pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2955pub const NID_destinationIndicator: i32 = 871;
2956pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2957pub const NID_preferredDeliveryMethod: i32 = 872;
2958pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2959pub const NID_presentationAddress: i32 = 873;
2960pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2961pub const NID_supportedApplicationContext: i32 = 874;
2962pub const SN_member: &[u8; 7] = b"member\0";
2963pub const NID_member: i32 = 875;
2964pub const SN_owner: &[u8; 6] = b"owner\0";
2965pub const NID_owner: i32 = 876;
2966pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2967pub const NID_roleOccupant: i32 = 877;
2968pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2969pub const NID_seeAlso: i32 = 878;
2970pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2971pub const NID_userPassword: i32 = 879;
2972pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2973pub const NID_userCertificate: i32 = 880;
2974pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2975pub const NID_cACertificate: i32 = 881;
2976pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2977pub const NID_authorityRevocationList: i32 = 882;
2978pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2979pub const NID_certificateRevocationList: i32 = 883;
2980pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2981pub const NID_crossCertificatePair: i32 = 884;
2982pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2983pub const NID_enhancedSearchGuide: i32 = 885;
2984pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2985pub const NID_protocolInformation: i32 = 886;
2986pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2987pub const NID_distinguishedName: i32 = 887;
2988pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2989pub const NID_uniqueMember: i32 = 888;
2990pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2991pub const NID_houseIdentifier: i32 = 889;
2992pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2993pub const NID_supportedAlgorithms: i32 = 890;
2994pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2995pub const NID_deltaRevocationList: i32 = 891;
2996pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2997pub const NID_dmdName: i32 = 892;
2998pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2999pub const NID_id_alg_PWRI_KEK: i32 = 893;
3000pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3001pub const LN_cmac: &[u8; 5] = b"cmac\0";
3002pub const NID_cmac: i32 = 894;
3003pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3004pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3005pub const NID_aes_128_gcm: i32 = 895;
3006pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3007pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3008pub const NID_aes_128_ccm: i32 = 896;
3009pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3010pub const NID_id_aes128_wrap_pad: i32 = 897;
3011pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3012pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3013pub const NID_aes_192_gcm: i32 = 898;
3014pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3015pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3016pub const NID_aes_192_ccm: i32 = 899;
3017pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3018pub const NID_id_aes192_wrap_pad: i32 = 900;
3019pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3020pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3021pub const NID_aes_256_gcm: i32 = 901;
3022pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3023pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3024pub const NID_aes_256_ccm: i32 = 902;
3025pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3026pub const NID_id_aes256_wrap_pad: i32 = 903;
3027pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3028pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3029pub const NID_aes_128_ctr: i32 = 904;
3030pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3031pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3032pub const NID_aes_192_ctr: i32 = 905;
3033pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3034pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3035pub const NID_aes_256_ctr: i32 = 906;
3036pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3037pub const NID_id_camellia128_wrap: i32 = 907;
3038pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3039pub const NID_id_camellia192_wrap: i32 = 908;
3040pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3041pub const NID_id_camellia256_wrap: i32 = 909;
3042pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3043pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3044pub const NID_anyExtendedKeyUsage: i32 = 910;
3045pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3046pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3047pub const NID_mgf1: i32 = 911;
3048pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3049pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3050pub const NID_rsassaPss: i32 = 912;
3051pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3052pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3053pub const NID_aes_128_xts: i32 = 913;
3054pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3055pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3056pub const NID_aes_256_xts: i32 = 914;
3057pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3058pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3059pub const NID_rc4_hmac_md5: i32 = 915;
3060pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3061pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3062pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3063pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3064pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3065pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3066pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3067pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3068pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3069pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3070pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3071pub const NID_rsaesOaep: i32 = 919;
3072pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3073pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3074pub const NID_dhpublicnumber: i32 = 920;
3075pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3076pub const NID_brainpoolP160r1: i32 = 921;
3077pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3078pub const NID_brainpoolP160t1: i32 = 922;
3079pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3080pub const NID_brainpoolP192r1: i32 = 923;
3081pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3082pub const NID_brainpoolP192t1: i32 = 924;
3083pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3084pub const NID_brainpoolP224r1: i32 = 925;
3085pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3086pub const NID_brainpoolP224t1: i32 = 926;
3087pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3088pub const NID_brainpoolP256r1: i32 = 927;
3089pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3090pub const NID_brainpoolP256t1: i32 = 928;
3091pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3092pub const NID_brainpoolP320r1: i32 = 929;
3093pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3094pub const NID_brainpoolP320t1: i32 = 930;
3095pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3096pub const NID_brainpoolP384r1: i32 = 931;
3097pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3098pub const NID_brainpoolP384t1: i32 = 932;
3099pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3100pub const NID_brainpoolP512r1: i32 = 933;
3101pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3102pub const NID_brainpoolP512t1: i32 = 934;
3103pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3104pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3105pub const NID_pSpecified: i32 = 935;
3106pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3107pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3108pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3109    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3110pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3111pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3112    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3113pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3114pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3115    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3116pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3117pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3118    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3119pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3120pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3121    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3122pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3123pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3124    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3125pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3126pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3127    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3128pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3129pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3130    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3131pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3132pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3133    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3134pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3135pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3136pub const NID_dh_std_kdf: i32 = 946;
3137pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3138pub const NID_dh_cofactor_kdf: i32 = 947;
3139pub const SN_X25519: &[u8; 7] = b"X25519\0";
3140pub const NID_X25519: i32 = 948;
3141pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3142pub const NID_ED25519: i32 = 949;
3143pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3144pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3145pub const NID_chacha20_poly1305: i32 = 950;
3146pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3147pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3148pub const NID_kx_rsa: i32 = 951;
3149pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3150pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3151pub const NID_kx_ecdhe: i32 = 952;
3152pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3153pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3154pub const NID_kx_psk: i32 = 953;
3155pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3156pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3157pub const NID_auth_rsa: i32 = 954;
3158pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3159pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3160pub const NID_auth_ecdsa: i32 = 955;
3161pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3162pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3163pub const NID_auth_psk: i32 = 956;
3164pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3165pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3166pub const NID_kx_any: i32 = 957;
3167pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3168pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3169pub const NID_auth_any: i32 = 958;
3170pub const SN_ED448: &[u8; 6] = b"ED448\0";
3171pub const NID_ED448: i32 = 960;
3172pub const SN_X448: &[u8; 5] = b"X448\0";
3173pub const NID_X448: i32 = 961;
3174pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3175pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3176pub const NID_sha512_256: i32 = 962;
3177pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3178pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3179pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3180pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3181pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3182pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3183pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3184pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3185pub const NID_sha3_224: i32 = 965;
3186pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3187pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3188pub const NID_sha3_256: i32 = 966;
3189pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3190pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3191pub const NID_sha3_384: i32 = 967;
3192pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3193pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3194pub const NID_sha3_512: i32 = 968;
3195pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3196pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3197pub const NID_hkdf: i32 = 969;
3198pub const SN_kem: &[u8; 4] = b"KEM\0";
3199pub const LN_kem: &[u8; 4] = b"kem\0";
3200pub const NID_kem: i32 = 970;
3201pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3202pub const NID_ffdhe2048: i32 = 976;
3203pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3204pub const NID_ffdhe4096: i32 = 977;
3205pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3206pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3207pub const NID_sha512_224: i32 = 978;
3208pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3209pub const LN_shake128: &[u8; 9] = b"shake128\0";
3210pub const NID_shake128: i32 = 979;
3211pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3212pub const LN_shake256: &[u8; 9] = b"shake256\0";
3213pub const NID_shake256: i32 = 980;
3214pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3215pub const NID_ffdhe3072: i32 = 983;
3216pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3217pub const NID_ffdhe8192: i32 = 984;
3218pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3219pub const NID_MLKEM512IPD: i32 = 985;
3220pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3221pub const NID_MLKEM768IPD: i32 = 986;
3222pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3223pub const NID_MLKEM1024IPD: i32 = 987;
3224pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3225pub const NID_MLKEM512: i32 = 988;
3226pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3227pub const NID_MLKEM768: i32 = 989;
3228pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3229pub const NID_MLKEM1024: i32 = 990;
3230pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3231pub const NID_X25519MLKEM768: i32 = 991;
3232pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3233pub const NID_SecP256r1MLKEM768: i32 = 992;
3234pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
3235pub const NID_PQDSA: i32 = 993;
3236pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
3237pub const LN_MLDSA44: &[u8; 10] = b"ML-DSA-44\0";
3238pub const NID_MLDSA44: i32 = 994;
3239pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
3240pub const LN_MLDSA65: &[u8; 10] = b"ML-DSA-65\0";
3241pub const NID_MLDSA65: i32 = 995;
3242pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
3243pub const LN_MLDSA87: &[u8; 10] = b"ML-DSA-87\0";
3244pub const NID_MLDSA87: i32 = 996;
3245pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
3246pub const NID_ED25519ph: i32 = 997;
3247pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
3248pub const NID_SecP384r1MLKEM1024: i32 = 998;
3249pub const SN_ct_precert_scts: &[u8; 16] = b"ct_precert_scts\0";
3250pub const LN_ct_precert_scts: &[u8; 23] = b"CT Precertificate SCTs\0";
3251pub const NID_ct_precert_scts: i32 = 999;
3252pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3253pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3254pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3255pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3256pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3257pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3258pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3259pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3260pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3261pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3262pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3263pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3264pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3265pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
3266pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
3267pub const EVP_PKEY_NONE: i32 = 0;
3268pub const EVP_PKEY_RSA: i32 = 6;
3269pub const EVP_PKEY_RSA_PSS: i32 = 912;
3270pub const EVP_PKEY_EC: i32 = 408;
3271pub const EVP_PKEY_ED25519: i32 = 949;
3272pub const EVP_PKEY_ED25519PH: i32 = 997;
3273pub const EVP_PKEY_X25519: i32 = 948;
3274pub const EVP_PKEY_HKDF: i32 = 969;
3275pub const EVP_PKEY_HMAC: i32 = 855;
3276pub const EVP_PKEY_DH: i32 = 28;
3277pub const EVP_PKEY_PQDSA: i32 = 993;
3278pub const EVP_PKEY_KEM: i32 = 970;
3279pub const PKCS5_SALT_LEN: i32 = 8;
3280pub const EVP_PKEY_RSA2: i32 = 19;
3281pub const EVP_PKEY_X448: i32 = 961;
3282pub const EVP_PKEY_ED448: i32 = 960;
3283pub const EVP_PKEY_DSA: i32 = 116;
3284pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3285pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3286pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3287pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3288pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
3289pub const RSA_PKCS1_PADDING: i32 = 1;
3290pub const RSA_NO_PADDING: i32 = 3;
3291pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3292pub const RSA_X931_PADDING: i32 = 5;
3293pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3294pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3295pub const RSA_PSS_SALTLEN_AUTO: i32 = -2;
3296pub const RSA_FLAG_OPAQUE: i32 = 1;
3297pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3298pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3299pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3300pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3301pub const RSA_3: i32 = 3;
3302pub const RSA_F4: i32 = 65537;
3303pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3304pub const RSA_R_BAD_ENCODING: i32 = 100;
3305pub const RSA_R_BAD_E_VALUE: i32 = 101;
3306pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3307pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3308pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3309pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3310pub const RSA_R_BAD_VERSION: i32 = 106;
3311pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3312pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3313pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3314pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3315pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3316pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3317pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3318pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3319pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3320pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3321pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3322pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3323pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3324pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3325pub const RSA_R_ENCODE_ERROR: i32 = 121;
3326pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3327pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3328pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3329pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3330pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3331pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3332pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3333pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3334pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3335pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3336pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3337pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3338pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3339pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3340pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3341pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3342pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3343pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3344pub const RSA_R_TOO_LONG: i32 = 140;
3345pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3346pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3347pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3348pub const RSA_R_VALUE_MISSING: i32 = 144;
3349pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3350pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3351pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3352pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3353pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3354pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3355pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
3356#[repr(C)]
3357#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
3358pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3359    pub _bindgen_align: [u32; 0],
3360    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3361    pub __bindgen_padding_0: [u8; 3usize],
3362}
3363#[test]
3364fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3365) {
3366    assert_eq!(
3367        ::std::mem::size_of::<
3368            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3369        >(),
3370        4usize,
3371        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3372    );
3373    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");
3374}
3375impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3376    #[inline]
3377    #[allow(unnecessary_transmutes)]
3378    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3379        &self,
3380    ) -> ::std::os::raw::c_uint {
3381        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
3382    }
3383    #[inline]
3384    #[allow(unnecessary_transmutes)]
3385    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3386        &mut self,
3387        val: ::std::os::raw::c_uint,
3388    ) {
3389        unsafe {
3390            let val: u32 = ::std::mem::transmute(val);
3391            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
3392        }
3393    }
3394    #[inline]
3395    #[allow(unnecessary_transmutes)]
3396    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3397        this: *const Self,
3398    ) -> ::std::os::raw::c_uint {
3399        unsafe {
3400            ::std::mem::transmute(
3401                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
3402                    ::std::ptr::addr_of!((*this)._bitfield_1),
3403                ) as u32,
3404            )
3405        }
3406    }
3407    #[inline]
3408    #[allow(unnecessary_transmutes)]
3409    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3410        this: *mut Self,
3411        val: ::std::os::raw::c_uint,
3412    ) {
3413        unsafe {
3414            let val: u32 = ::std::mem::transmute(val);
3415            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
3416                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3417                val as u64,
3418            )
3419        }
3420    }
3421    #[inline]
3422    #[allow(unnecessary_transmutes)]
3423    pub fn new_bitfield_1(
3424        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3425    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3426        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3427        __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 }) ;
3428        __bindgen_bitfield_unit
3429    }
3430}
3431pub type ossl_ssize_t = isize;
3432pub type CBS_ASN1_TAG = u32;
3433pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3434#[repr(C)]
3435#[derive(Debug)]
3436pub struct asn1_null_st {
3437    _unused: [u8; 0],
3438}
3439pub type ASN1_NULL = asn1_null_st;
3440pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3441pub type ASN1_ITEM = ASN1_ITEM_st;
3442#[repr(C)]
3443#[derive(Debug)]
3444pub struct asn1_object_st {
3445    _unused: [u8; 0],
3446}
3447pub type ASN1_OBJECT = asn1_object_st;
3448#[repr(C)]
3449#[derive(Debug)]
3450pub struct asn1_pctx_st {
3451    _unused: [u8; 0],
3452}
3453pub type ASN1_PCTX = asn1_pctx_st;
3454pub type ASN1_BIT_STRING = asn1_string_st;
3455pub type ASN1_BMPSTRING = asn1_string_st;
3456pub type ASN1_ENUMERATED = asn1_string_st;
3457pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3458pub type ASN1_GENERALSTRING = asn1_string_st;
3459pub type ASN1_IA5STRING = asn1_string_st;
3460pub type ASN1_INTEGER = asn1_string_st;
3461pub type ASN1_OCTET_STRING = asn1_string_st;
3462pub type ASN1_PRINTABLESTRING = asn1_string_st;
3463pub type ASN1_STRING = asn1_string_st;
3464pub type ASN1_T61STRING = asn1_string_st;
3465pub type ASN1_TIME = asn1_string_st;
3466pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3467pub type ASN1_UTCTIME = asn1_string_st;
3468pub type ASN1_UTF8STRING = asn1_string_st;
3469pub type ASN1_VISIBLESTRING = asn1_string_st;
3470pub type ASN1_TYPE = asn1_type_st;
3471pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3472pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3473pub type DIST_POINT = DIST_POINT_st;
3474pub type DSA_SIG = DSA_SIG_st;
3475pub type GENERAL_NAME = GENERAL_NAME_st;
3476pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3477pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3478pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3479pub type NETSCAPE_SPKI = Netscape_spki_st;
3480pub type RIPEMD160_CTX = RIPEMD160state_st;
3481#[repr(C)]
3482#[derive(Debug)]
3483pub struct X509_VERIFY_PARAM_st {
3484    _unused: [u8; 0],
3485}
3486pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3487pub type X509_ALGOR = X509_algor_st;
3488#[repr(C)]
3489#[derive(Debug)]
3490pub struct X509_crl_st {
3491    _unused: [u8; 0],
3492}
3493pub type X509_CRL = X509_crl_st;
3494#[repr(C)]
3495#[derive(Debug)]
3496pub struct X509_extension_st {
3497    _unused: [u8; 0],
3498}
3499pub type X509_EXTENSION = X509_extension_st;
3500pub type X509_INFO = X509_info_st;
3501#[repr(C)]
3502#[derive(Debug)]
3503pub struct X509_name_entry_st {
3504    _unused: [u8; 0],
3505}
3506pub type X509_NAME_ENTRY = X509_name_entry_st;
3507#[repr(C)]
3508#[derive(Debug)]
3509pub struct X509_name_st {
3510    _unused: [u8; 0],
3511}
3512pub type X509_NAME = X509_name_st;
3513#[repr(C)]
3514#[derive(Debug)]
3515pub struct X509_pubkey_st {
3516    _unused: [u8; 0],
3517}
3518pub type X509_PUBKEY = X509_pubkey_st;
3519#[repr(C)]
3520#[derive(Debug)]
3521pub struct X509_req_st {
3522    _unused: [u8; 0],
3523}
3524pub type X509_REQ = X509_req_st;
3525#[repr(C)]
3526#[derive(Debug)]
3527pub struct x509_sig_info_st {
3528    _unused: [u8; 0],
3529}
3530pub type X509_SIG_INFO = x509_sig_info_st;
3531#[repr(C)]
3532#[derive(Debug)]
3533pub struct X509_sig_st {
3534    _unused: [u8; 0],
3535}
3536pub type X509_SIG = X509_sig_st;
3537#[repr(C)]
3538#[derive(Debug)]
3539pub struct bignum_ctx {
3540    _unused: [u8; 0],
3541}
3542pub type BN_CTX = bignum_ctx;
3543pub type BIGNUM = bignum_st;
3544pub type BIO_METHOD = bio_method_st;
3545pub type BIO = bio_st;
3546pub type BLAKE2B_CTX = blake2b_state_st;
3547pub type BN_GENCB = bn_gencb_st;
3548pub type BN_MONT_CTX = bn_mont_ctx_st;
3549pub type BUF_MEM = buf_mem_st;
3550#[repr(C)]
3551#[derive(Debug)]
3552pub struct cast_key_st {
3553    _unused: [u8; 0],
3554}
3555pub type CAST_KEY = cast_key_st;
3556pub type CBB = cbb_st;
3557pub type CBS = cbs_st;
3558#[repr(C)]
3559#[derive(Debug)]
3560pub struct cmac_ctx_st {
3561    _unused: [u8; 0],
3562}
3563pub type CMAC_CTX = cmac_ctx_st;
3564pub type CONF = conf_st;
3565pub type CONF_VALUE = conf_value_st;
3566#[repr(C)]
3567#[derive(Debug)]
3568pub struct crypto_buffer_pool_st {
3569    _unused: [u8; 0],
3570}
3571pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3572#[repr(C)]
3573#[derive(Debug)]
3574pub struct crypto_buffer_st {
3575    _unused: [u8; 0],
3576}
3577pub type CRYPTO_BUFFER = crypto_buffer_st;
3578#[repr(C)]
3579#[derive(Debug)]
3580pub struct ctr_drbg_state_st {
3581    _unused: [u8; 0],
3582}
3583pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3584#[repr(C)]
3585#[derive(Debug)]
3586pub struct dh_st {
3587    _unused: [u8; 0],
3588}
3589pub type DH = dh_st;
3590#[repr(C)]
3591#[derive(Debug)]
3592pub struct dsa_st {
3593    _unused: [u8; 0],
3594}
3595pub type DSA = dsa_st;
3596#[repr(C)]
3597#[derive(Debug)]
3598pub struct ec_group_st {
3599    _unused: [u8; 0],
3600}
3601pub type EC_GROUP = ec_group_st;
3602#[repr(C)]
3603#[derive(Debug)]
3604pub struct ec_key_st {
3605    _unused: [u8; 0],
3606}
3607pub type EC_KEY = ec_key_st;
3608#[repr(C)]
3609#[derive(Debug)]
3610pub struct ec_point_st {
3611    _unused: [u8; 0],
3612}
3613pub type EC_POINT = ec_point_st;
3614#[repr(C)]
3615#[derive(Debug)]
3616pub struct ec_key_method_st {
3617    _unused: [u8; 0],
3618}
3619pub type EC_KEY_METHOD = ec_key_method_st;
3620pub type ECDSA_SIG = ecdsa_sig_st;
3621#[repr(C)]
3622#[derive(Debug)]
3623pub struct engine_st {
3624    _unused: [u8; 0],
3625}
3626pub type ENGINE = engine_st;
3627pub type EVP_MD_CTX = env_md_ctx_st;
3628#[repr(C)]
3629#[derive(Debug)]
3630pub struct env_md_st {
3631    _unused: [u8; 0],
3632}
3633pub type EVP_MD = env_md_st;
3634#[repr(C)]
3635#[derive(Debug)]
3636pub struct evp_aead_st {
3637    _unused: [u8; 0],
3638}
3639pub type EVP_AEAD = evp_aead_st;
3640pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3641pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3642#[repr(C)]
3643#[derive(Debug)]
3644pub struct evp_cipher_st {
3645    _unused: [u8; 0],
3646}
3647pub type EVP_CIPHER = evp_cipher_st;
3648#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3649pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3650#[repr(C)]
3651#[derive(Debug)]
3652pub struct evp_hpke_aead_st {
3653    _unused: [u8; 0],
3654}
3655pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3656pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3657#[repr(C)]
3658#[derive(Debug)]
3659pub struct evp_hpke_kdf_st {
3660    _unused: [u8; 0],
3661}
3662pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3663#[repr(C)]
3664#[derive(Debug)]
3665pub struct evp_hpke_kem_st {
3666    _unused: [u8; 0],
3667}
3668pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3669pub type EVP_HPKE_KEY = evp_hpke_key_st;
3670#[repr(C)]
3671#[derive(Debug)]
3672pub struct evp_kem_st {
3673    _unused: [u8; 0],
3674}
3675pub type EVP_KEM = evp_kem_st;
3676#[repr(C)]
3677#[derive(Debug)]
3678pub struct kem_key_st {
3679    _unused: [u8; 0],
3680}
3681pub type KEM_KEY = kem_key_st;
3682#[repr(C)]
3683#[derive(Debug)]
3684pub struct evp_pkey_ctx_st {
3685    _unused: [u8; 0],
3686}
3687pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3688#[repr(C)]
3689#[derive(Debug)]
3690pub struct evp_pkey_asn1_method_st {
3691    _unused: [u8; 0],
3692}
3693pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3694#[repr(C)]
3695#[derive(Debug)]
3696pub struct evp_pkey_st {
3697    _unused: [u8; 0],
3698}
3699pub type EVP_PKEY = evp_pkey_st;
3700#[repr(C)]
3701#[derive(Debug)]
3702pub struct evp_pkey_ctx_signature_context_params_st {
3703    _unused: [u8; 0],
3704}
3705pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3706pub type HMAC_CTX = hmac_ctx_st;
3707pub type MD4_CTX = md4_state_st;
3708pub type MD5_CTX = md5_state_st;
3709#[repr(C)]
3710#[derive(Debug)]
3711pub struct pqdsa_key_st {
3712    _unused: [u8; 0],
3713}
3714pub type PQDSA_KEY = pqdsa_key_st;
3715#[repr(C)]
3716#[derive(Debug)]
3717pub struct ocsp_req_ctx_st {
3718    _unused: [u8; 0],
3719}
3720pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3721#[repr(C)]
3722#[derive(Debug)]
3723pub struct ossl_init_settings_st {
3724    _unused: [u8; 0],
3725}
3726pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3727#[repr(C)]
3728#[derive(Debug)]
3729pub struct pkcs7_digest_st {
3730    _unused: [u8; 0],
3731}
3732pub type PKCS7_DIGEST = pkcs7_digest_st;
3733#[repr(C)]
3734#[derive(Debug)]
3735pub struct pkcs7_enc_content_st {
3736    _unused: [u8; 0],
3737}
3738pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3739#[repr(C)]
3740#[derive(Debug)]
3741pub struct pkcs7_encrypt_st {
3742    _unused: [u8; 0],
3743}
3744pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3745pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3746pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3747pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3748pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3749pub type PKCS7_SIGNED = pkcs7_signed_st;
3750pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3751pub type PKCS7 = pkcs7_st;
3752#[repr(C)]
3753#[derive(Debug)]
3754pub struct pkcs12_st {
3755    _unused: [u8; 0],
3756}
3757pub type PKCS12 = pkcs12_st;
3758#[repr(C)]
3759#[derive(Debug)]
3760pub struct pkcs8_priv_key_info_st {
3761    _unused: [u8; 0],
3762}
3763pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3764pub type X509_PKEY = private_key_st;
3765pub type RAND_METHOD = rand_meth_st;
3766pub type RC4_KEY = rc4_key_st;
3767#[repr(C)]
3768#[derive(Debug)]
3769pub struct rsa_meth_st {
3770    _unused: [u8; 0],
3771}
3772pub type RSA_METHOD = rsa_meth_st;
3773#[repr(C)]
3774#[derive(Debug)]
3775pub struct rsassa_pss_params_st {
3776    _unused: [u8; 0],
3777}
3778pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3779pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3780#[repr(C)]
3781#[derive(Debug)]
3782pub struct rsa_st {
3783    _unused: [u8; 0],
3784}
3785pub type RSA = rsa_st;
3786pub type SHA256_CTX = sha256_state_st;
3787pub type SHA512_CTX = sha512_state_st;
3788pub type SHA_CTX = sha_state_st;
3789#[repr(C)]
3790#[derive(Debug)]
3791pub struct spake2_ctx_st {
3792    _unused: [u8; 0],
3793}
3794pub type SPAKE2_CTX = spake2_ctx_st;
3795#[repr(C)]
3796#[derive(Debug)]
3797pub struct srtp_protection_profile_st {
3798    _unused: [u8; 0],
3799}
3800pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3801#[repr(C)]
3802#[derive(Debug)]
3803pub struct ssl_cipher_st {
3804    _unused: [u8; 0],
3805}
3806pub type SSL_CIPHER = ssl_cipher_st;
3807#[repr(C)]
3808#[derive(Debug)]
3809pub struct ssl_ctx_st {
3810    _unused: [u8; 0],
3811}
3812pub type SSL_CTX = ssl_ctx_st;
3813#[repr(C)]
3814#[derive(Debug)]
3815pub struct ssl_early_callback_ctx {
3816    _unused: [u8; 0],
3817}
3818pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3819#[repr(C)]
3820#[derive(Debug)]
3821pub struct ssl_ech_keys_st {
3822    _unused: [u8; 0],
3823}
3824pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3825#[repr(C)]
3826#[derive(Debug)]
3827pub struct ssl_method_st {
3828    _unused: [u8; 0],
3829}
3830pub type SSL_METHOD = ssl_method_st;
3831#[repr(C)]
3832#[derive(Debug)]
3833pub struct ssl_private_key_method_st {
3834    _unused: [u8; 0],
3835}
3836pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3837#[repr(C)]
3838#[derive(Debug)]
3839pub struct ssl_quic_method_st {
3840    _unused: [u8; 0],
3841}
3842pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3843#[repr(C)]
3844#[derive(Debug)]
3845pub struct ssl_session_st {
3846    _unused: [u8; 0],
3847}
3848pub type SSL_SESSION = ssl_session_st;
3849#[repr(C)]
3850#[derive(Debug)]
3851pub struct ssl_st {
3852    _unused: [u8; 0],
3853}
3854pub type SSL = ssl_st;
3855#[repr(C)]
3856#[derive(Debug)]
3857pub struct ssl_ticket_aead_method_st {
3858    _unused: [u8; 0],
3859}
3860pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3861#[repr(C)]
3862#[derive(Debug)]
3863pub struct st_ERR_FNS {
3864    _unused: [u8; 0],
3865}
3866pub type ERR_FNS = st_ERR_FNS;
3867pub type TRUST_TOKEN = trust_token_st;
3868#[repr(C)]
3869#[derive(Debug)]
3870pub struct trust_token_client_st {
3871    _unused: [u8; 0],
3872}
3873pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3874#[repr(C)]
3875#[derive(Debug)]
3876pub struct trust_token_issuer_st {
3877    _unused: [u8; 0],
3878}
3879pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3880#[repr(C)]
3881#[derive(Debug)]
3882pub struct trust_token_method_st {
3883    _unused: [u8; 0],
3884}
3885pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3886pub type X509V3_CTX = v3_ext_ctx;
3887pub type X509V3_EXT_METHOD = v3_ext_method;
3888#[repr(C)]
3889#[derive(Debug)]
3890pub struct x509_attributes_st {
3891    _unused: [u8; 0],
3892}
3893pub type X509_ATTRIBUTE = x509_attributes_st;
3894#[repr(C)]
3895#[derive(Debug)]
3896pub struct x509_lookup_st {
3897    _unused: [u8; 0],
3898}
3899pub type X509_LOOKUP = x509_lookup_st;
3900#[repr(C)]
3901#[derive(Debug)]
3902pub struct x509_lookup_method_st {
3903    _unused: [u8; 0],
3904}
3905pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3906#[repr(C)]
3907#[derive(Debug)]
3908pub struct x509_object_st {
3909    _unused: [u8; 0],
3910}
3911pub type X509_OBJECT = x509_object_st;
3912#[repr(C)]
3913#[derive(Debug)]
3914pub struct x509_revoked_st {
3915    _unused: [u8; 0],
3916}
3917pub type X509_REVOKED = x509_revoked_st;
3918#[repr(C)]
3919#[derive(Debug)]
3920pub struct x509_st {
3921    _unused: [u8; 0],
3922}
3923pub type X509 = x509_st;
3924#[repr(C)]
3925#[derive(Debug)]
3926pub struct x509_store_ctx_st {
3927    _unused: [u8; 0],
3928}
3929pub type X509_STORE_CTX = x509_store_ctx_st;
3930#[repr(C)]
3931#[derive(Debug)]
3932pub struct x509_store_st {
3933    _unused: [u8; 0],
3934}
3935pub type X509_STORE = x509_store_st;
3936pub type X509_TRUST = x509_trust_st;
3937pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3938#[repr(C)]
3939#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3940pub struct aes_key_st {
3941    pub rd_key: [u32; 60usize],
3942    pub rounds: ::std::os::raw::c_uint,
3943}
3944#[test]
3945fn bindgen_test_layout_aes_key_st() {
3946    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3947    let ptr = UNINIT.as_ptr();
3948    assert_eq!(
3949        ::std::mem::size_of::<aes_key_st>(),
3950        244usize,
3951        "Size of aes_key_st"
3952    );
3953    assert_eq!(
3954        ::std::mem::align_of::<aes_key_st>(),
3955        4usize,
3956        "Alignment of aes_key_st"
3957    );
3958    assert_eq!(
3959        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3960        0usize,
3961        "Offset of field: aes_key_st::rd_key"
3962    );
3963    assert_eq!(
3964        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3965        240usize,
3966        "Offset of field: aes_key_st::rounds"
3967    );
3968}
3969impl Default for aes_key_st {
3970    fn default() -> Self {
3971        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3972        unsafe {
3973            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3974            s.assume_init()
3975        }
3976    }
3977}
3978pub type AES_KEY = aes_key_st;
3979extern "C" {
3980    #[link_name = "aws_lc_0_47_0_AES_set_encrypt_key"]
3981    pub fn AES_set_encrypt_key(
3982        key: *const u8,
3983        bits: ::std::os::raw::c_uint,
3984        aeskey: *mut AES_KEY,
3985    ) -> ::std::os::raw::c_int;
3986}
3987extern "C" {
3988    #[link_name = "aws_lc_0_47_0_AES_set_decrypt_key"]
3989    pub fn AES_set_decrypt_key(
3990        key: *const u8,
3991        bits: ::std::os::raw::c_uint,
3992        aeskey: *mut AES_KEY,
3993    ) -> ::std::os::raw::c_int;
3994}
3995extern "C" {
3996    #[link_name = "aws_lc_0_47_0_AES_encrypt"]
3997    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3998}
3999extern "C" {
4000    #[link_name = "aws_lc_0_47_0_AES_decrypt"]
4001    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4002}
4003extern "C" {
4004    #[link_name = "aws_lc_0_47_0_AES_ctr128_encrypt"]
4005    pub fn AES_ctr128_encrypt(
4006        in_: *const u8,
4007        out: *mut u8,
4008        len: usize,
4009        key: *const AES_KEY,
4010        ivec: *mut u8,
4011        ecount_buf: *mut u8,
4012        num: *mut ::std::os::raw::c_uint,
4013    );
4014}
4015extern "C" {
4016    #[link_name = "aws_lc_0_47_0_AES_ecb_encrypt"]
4017    pub fn AES_ecb_encrypt(
4018        in_: *const u8,
4019        out: *mut u8,
4020        key: *const AES_KEY,
4021        enc: ::std::os::raw::c_int,
4022    );
4023}
4024extern "C" {
4025    #[link_name = "aws_lc_0_47_0_AES_cbc_encrypt"]
4026    pub fn AES_cbc_encrypt(
4027        in_: *const u8,
4028        out: *mut u8,
4029        len: usize,
4030        key: *const AES_KEY,
4031        ivec: *mut u8,
4032        enc: ::std::os::raw::c_int,
4033    );
4034}
4035extern "C" {
4036    #[link_name = "aws_lc_0_47_0_AES_ofb128_encrypt"]
4037    pub fn AES_ofb128_encrypt(
4038        in_: *const u8,
4039        out: *mut u8,
4040        len: usize,
4041        key: *const AES_KEY,
4042        ivec: *mut u8,
4043        num: *mut ::std::os::raw::c_int,
4044    );
4045}
4046extern "C" {
4047    #[link_name = "aws_lc_0_47_0_AES_cfb1_encrypt"]
4048    pub fn AES_cfb1_encrypt(
4049        in_: *const u8,
4050        out: *mut u8,
4051        bits: usize,
4052        key: *const AES_KEY,
4053        ivec: *mut u8,
4054        num: *mut ::std::os::raw::c_int,
4055        enc: ::std::os::raw::c_int,
4056    );
4057}
4058extern "C" {
4059    #[link_name = "aws_lc_0_47_0_AES_cfb8_encrypt"]
4060    pub fn AES_cfb8_encrypt(
4061        in_: *const u8,
4062        out: *mut u8,
4063        len: usize,
4064        key: *const AES_KEY,
4065        ivec: *mut u8,
4066        num: *mut ::std::os::raw::c_int,
4067        enc: ::std::os::raw::c_int,
4068    );
4069}
4070extern "C" {
4071    #[link_name = "aws_lc_0_47_0_AES_cfb128_encrypt"]
4072    pub fn AES_cfb128_encrypt(
4073        in_: *const u8,
4074        out: *mut u8,
4075        len: usize,
4076        key: *const AES_KEY,
4077        ivec: *mut u8,
4078        num: *mut ::std::os::raw::c_int,
4079        enc: ::std::os::raw::c_int,
4080    );
4081}
4082extern "C" {
4083    #[link_name = "aws_lc_0_47_0_AES_wrap_key"]
4084    pub fn AES_wrap_key(
4085        key: *const AES_KEY,
4086        iv: *const u8,
4087        out: *mut u8,
4088        in_: *const u8,
4089        in_len: usize,
4090    ) -> ::std::os::raw::c_int;
4091}
4092extern "C" {
4093    #[link_name = "aws_lc_0_47_0_AES_unwrap_key"]
4094    pub fn AES_unwrap_key(
4095        key: *const AES_KEY,
4096        iv: *const u8,
4097        out: *mut u8,
4098        in_: *const u8,
4099        in_len: usize,
4100    ) -> ::std::os::raw::c_int;
4101}
4102extern "C" {
4103    #[link_name = "aws_lc_0_47_0_AES_wrap_key_padded"]
4104    pub fn AES_wrap_key_padded(
4105        key: *const AES_KEY,
4106        out: *mut u8,
4107        out_len: *mut usize,
4108        max_out: usize,
4109        in_: *const u8,
4110        in_len: usize,
4111    ) -> ::std::os::raw::c_int;
4112}
4113extern "C" {
4114    #[link_name = "aws_lc_0_47_0_AES_unwrap_key_padded"]
4115    pub fn AES_unwrap_key_padded(
4116        key: *const AES_KEY,
4117        out: *mut u8,
4118        out_len: *mut usize,
4119        max_out: usize,
4120        in_: *const u8,
4121        in_len: usize,
4122    ) -> ::std::os::raw::c_int;
4123}
4124#[repr(C)]
4125#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4126pub struct buf_mem_st {
4127    pub length: usize,
4128    pub data: *mut ::std::os::raw::c_char,
4129    pub max: usize,
4130}
4131#[test]
4132fn bindgen_test_layout_buf_mem_st() {
4133    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
4134    let ptr = UNINIT.as_ptr();
4135    assert_eq!(
4136        ::std::mem::size_of::<buf_mem_st>(),
4137        24usize,
4138        "Size of buf_mem_st"
4139    );
4140    assert_eq!(
4141        ::std::mem::align_of::<buf_mem_st>(),
4142        8usize,
4143        "Alignment of buf_mem_st"
4144    );
4145    assert_eq!(
4146        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4147        0usize,
4148        "Offset of field: buf_mem_st::length"
4149    );
4150    assert_eq!(
4151        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4152        8usize,
4153        "Offset of field: buf_mem_st::data"
4154    );
4155    assert_eq!(
4156        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4157        16usize,
4158        "Offset of field: buf_mem_st::max"
4159    );
4160}
4161impl Default for buf_mem_st {
4162    fn default() -> Self {
4163        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4164        unsafe {
4165            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4166            s.assume_init()
4167        }
4168    }
4169}
4170extern "C" {
4171    #[link_name = "aws_lc_0_47_0_SHA1_Init"]
4172    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4173}
4174extern "C" {
4175    #[link_name = "aws_lc_0_47_0_SHA1_Update"]
4176    pub fn SHA1_Update(
4177        sha: *mut SHA_CTX,
4178        data: *const ::std::os::raw::c_void,
4179        len: usize,
4180    ) -> ::std::os::raw::c_int;
4181}
4182extern "C" {
4183    #[link_name = "aws_lc_0_47_0_SHA1_Final"]
4184    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4185}
4186extern "C" {
4187    #[link_name = "aws_lc_0_47_0_SHA1"]
4188    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4189}
4190extern "C" {
4191    #[link_name = "aws_lc_0_47_0_SHA1_Transform"]
4192    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4193}
4194#[repr(C)]
4195#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4196pub struct sha_state_st {
4197    pub h: [u32; 5usize],
4198    pub Nl: u32,
4199    pub Nh: u32,
4200    pub data: [u8; 64usize],
4201    pub num: ::std::os::raw::c_uint,
4202}
4203#[test]
4204fn bindgen_test_layout_sha_state_st() {
4205    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4206    let ptr = UNINIT.as_ptr();
4207    assert_eq!(
4208        ::std::mem::size_of::<sha_state_st>(),
4209        96usize,
4210        "Size of sha_state_st"
4211    );
4212    assert_eq!(
4213        ::std::mem::align_of::<sha_state_st>(),
4214        4usize,
4215        "Alignment of sha_state_st"
4216    );
4217    assert_eq!(
4218        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4219        0usize,
4220        "Offset of field: sha_state_st::h"
4221    );
4222    assert_eq!(
4223        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4224        20usize,
4225        "Offset of field: sha_state_st::Nl"
4226    );
4227    assert_eq!(
4228        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4229        24usize,
4230        "Offset of field: sha_state_st::Nh"
4231    );
4232    assert_eq!(
4233        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4234        28usize,
4235        "Offset of field: sha_state_st::data"
4236    );
4237    assert_eq!(
4238        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4239        92usize,
4240        "Offset of field: sha_state_st::num"
4241    );
4242}
4243impl Default for sha_state_st {
4244    fn default() -> Self {
4245        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4246        unsafe {
4247            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4248            s.assume_init()
4249        }
4250    }
4251}
4252extern "C" {
4253    #[link_name = "aws_lc_0_47_0_SHA224_Init"]
4254    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4255}
4256extern "C" {
4257    #[link_name = "aws_lc_0_47_0_SHA224_Update"]
4258    pub fn SHA224_Update(
4259        sha: *mut SHA256_CTX,
4260        data: *const ::std::os::raw::c_void,
4261        len: usize,
4262    ) -> ::std::os::raw::c_int;
4263}
4264extern "C" {
4265    #[link_name = "aws_lc_0_47_0_SHA224_Final"]
4266    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4267}
4268extern "C" {
4269    #[link_name = "aws_lc_0_47_0_SHA224"]
4270    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4271}
4272extern "C" {
4273    #[link_name = "aws_lc_0_47_0_SHA256_Init"]
4274    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4275}
4276extern "C" {
4277    #[link_name = "aws_lc_0_47_0_SHA256_Update"]
4278    pub fn SHA256_Update(
4279        sha: *mut SHA256_CTX,
4280        data: *const ::std::os::raw::c_void,
4281        len: usize,
4282    ) -> ::std::os::raw::c_int;
4283}
4284extern "C" {
4285    #[link_name = "aws_lc_0_47_0_SHA256_Final"]
4286    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4287}
4288extern "C" {
4289    #[link_name = "aws_lc_0_47_0_SHA256"]
4290    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4291}
4292extern "C" {
4293    #[link_name = "aws_lc_0_47_0_SHA256_Transform"]
4294    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4295}
4296extern "C" {
4297    #[link_name = "aws_lc_0_47_0_SHA256_TransformBlocks"]
4298    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4299}
4300#[repr(C)]
4301#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4302pub struct sha256_state_st {
4303    pub h: [u32; 8usize],
4304    pub Nl: u32,
4305    pub Nh: u32,
4306    pub data: [u8; 64usize],
4307    pub num: ::std::os::raw::c_uint,
4308    pub md_len: ::std::os::raw::c_uint,
4309}
4310#[test]
4311fn bindgen_test_layout_sha256_state_st() {
4312    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4313    let ptr = UNINIT.as_ptr();
4314    assert_eq!(
4315        ::std::mem::size_of::<sha256_state_st>(),
4316        112usize,
4317        "Size of sha256_state_st"
4318    );
4319    assert_eq!(
4320        ::std::mem::align_of::<sha256_state_st>(),
4321        4usize,
4322        "Alignment of sha256_state_st"
4323    );
4324    assert_eq!(
4325        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4326        0usize,
4327        "Offset of field: sha256_state_st::h"
4328    );
4329    assert_eq!(
4330        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4331        32usize,
4332        "Offset of field: sha256_state_st::Nl"
4333    );
4334    assert_eq!(
4335        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4336        36usize,
4337        "Offset of field: sha256_state_st::Nh"
4338    );
4339    assert_eq!(
4340        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4341        40usize,
4342        "Offset of field: sha256_state_st::data"
4343    );
4344    assert_eq!(
4345        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4346        104usize,
4347        "Offset of field: sha256_state_st::num"
4348    );
4349    assert_eq!(
4350        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4351        108usize,
4352        "Offset of field: sha256_state_st::md_len"
4353    );
4354}
4355impl Default for sha256_state_st {
4356    fn default() -> Self {
4357        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4358        unsafe {
4359            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4360            s.assume_init()
4361        }
4362    }
4363}
4364extern "C" {
4365    #[link_name = "aws_lc_0_47_0_SHA384_Init"]
4366    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4367}
4368extern "C" {
4369    #[link_name = "aws_lc_0_47_0_SHA384_Update"]
4370    pub fn SHA384_Update(
4371        sha: *mut SHA512_CTX,
4372        data: *const ::std::os::raw::c_void,
4373        len: usize,
4374    ) -> ::std::os::raw::c_int;
4375}
4376extern "C" {
4377    #[link_name = "aws_lc_0_47_0_SHA384_Final"]
4378    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4379}
4380extern "C" {
4381    #[link_name = "aws_lc_0_47_0_SHA384"]
4382    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4383}
4384extern "C" {
4385    #[link_name = "aws_lc_0_47_0_SHA512_Init"]
4386    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4387}
4388extern "C" {
4389    #[link_name = "aws_lc_0_47_0_SHA512_Update"]
4390    pub fn SHA512_Update(
4391        sha: *mut SHA512_CTX,
4392        data: *const ::std::os::raw::c_void,
4393        len: usize,
4394    ) -> ::std::os::raw::c_int;
4395}
4396extern "C" {
4397    #[link_name = "aws_lc_0_47_0_SHA512_Final"]
4398    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4399}
4400extern "C" {
4401    #[link_name = "aws_lc_0_47_0_SHA512"]
4402    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4403}
4404extern "C" {
4405    #[link_name = "aws_lc_0_47_0_SHA512_Transform"]
4406    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4407}
4408#[repr(C)]
4409#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4410pub struct sha512_state_st {
4411    pub h: [u64; 8usize],
4412    pub Nl: u64,
4413    pub Nh: u64,
4414    pub p: [u8; 128usize],
4415    pub num: ::std::os::raw::c_uint,
4416    pub md_len: ::std::os::raw::c_uint,
4417}
4418#[test]
4419fn bindgen_test_layout_sha512_state_st() {
4420    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4421    let ptr = UNINIT.as_ptr();
4422    assert_eq!(
4423        ::std::mem::size_of::<sha512_state_st>(),
4424        216usize,
4425        "Size of sha512_state_st"
4426    );
4427    assert_eq!(
4428        ::std::mem::align_of::<sha512_state_st>(),
4429        8usize,
4430        "Alignment of sha512_state_st"
4431    );
4432    assert_eq!(
4433        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4434        0usize,
4435        "Offset of field: sha512_state_st::h"
4436    );
4437    assert_eq!(
4438        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4439        64usize,
4440        "Offset of field: sha512_state_st::Nl"
4441    );
4442    assert_eq!(
4443        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4444        72usize,
4445        "Offset of field: sha512_state_st::Nh"
4446    );
4447    assert_eq!(
4448        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4449        80usize,
4450        "Offset of field: sha512_state_st::p"
4451    );
4452    assert_eq!(
4453        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4454        208usize,
4455        "Offset of field: sha512_state_st::num"
4456    );
4457    assert_eq!(
4458        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4459        212usize,
4460        "Offset of field: sha512_state_st::md_len"
4461    );
4462}
4463impl Default for sha512_state_st {
4464    fn default() -> Self {
4465        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4466        unsafe {
4467            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4468            s.assume_init()
4469        }
4470    }
4471}
4472extern "C" {
4473    #[link_name = "aws_lc_0_47_0_SHA512_224_Init"]
4474    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4475}
4476extern "C" {
4477    #[link_name = "aws_lc_0_47_0_SHA512_224_Update"]
4478    pub fn SHA512_224_Update(
4479        sha: *mut SHA512_CTX,
4480        data: *const ::std::os::raw::c_void,
4481        len: usize,
4482    ) -> ::std::os::raw::c_int;
4483}
4484extern "C" {
4485    #[link_name = "aws_lc_0_47_0_SHA512_224_Final"]
4486    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4487}
4488extern "C" {
4489    #[link_name = "aws_lc_0_47_0_SHA512_224"]
4490    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4491}
4492extern "C" {
4493    #[link_name = "aws_lc_0_47_0_SHA512_256_Init"]
4494    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4495}
4496extern "C" {
4497    #[link_name = "aws_lc_0_47_0_SHA512_256_Update"]
4498    pub fn SHA512_256_Update(
4499        sha: *mut SHA512_CTX,
4500        data: *const ::std::os::raw::c_void,
4501        len: usize,
4502    ) -> ::std::os::raw::c_int;
4503}
4504extern "C" {
4505    #[link_name = "aws_lc_0_47_0_SHA512_256_Final"]
4506    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4507}
4508extern "C" {
4509    #[link_name = "aws_lc_0_47_0_SHA512_256"]
4510    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4511}
4512extern "C" {
4513    #[link_name = "aws_lc_0_47_0_OPENSSL_malloc"]
4514    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4515}
4516extern "C" {
4517    #[link_name = "aws_lc_0_47_0_OPENSSL_zalloc"]
4518    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4519}
4520extern "C" {
4521    #[link_name = "aws_lc_0_47_0_OPENSSL_calloc"]
4522    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4523}
4524extern "C" {
4525    #[link_name = "aws_lc_0_47_0_OPENSSL_realloc"]
4526    pub fn OPENSSL_realloc(
4527        ptr: *mut ::std::os::raw::c_void,
4528        new_size: usize,
4529    ) -> *mut ::std::os::raw::c_void;
4530}
4531extern "C" {
4532    #[link_name = "aws_lc_0_47_0_OPENSSL_free"]
4533    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4534}
4535extern "C" {
4536    #[link_name = "aws_lc_0_47_0_OPENSSL_cleanse"]
4537    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4538}
4539extern "C" {
4540    #[link_name = "aws_lc_0_47_0_CRYPTO_memcmp"]
4541    pub fn CRYPTO_memcmp(
4542        a: *const ::std::os::raw::c_void,
4543        b: *const ::std::os::raw::c_void,
4544        len: usize,
4545    ) -> ::std::os::raw::c_int;
4546}
4547extern "C" {
4548    #[link_name = "aws_lc_0_47_0_OPENSSL_hash32"]
4549    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4550}
4551extern "C" {
4552    #[link_name = "aws_lc_0_47_0_OPENSSL_strhash"]
4553    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4554}
4555extern "C" {
4556    #[link_name = "aws_lc_0_47_0_OPENSSL_strdup"]
4557    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4558}
4559extern "C" {
4560    #[link_name = "aws_lc_0_47_0_OPENSSL_strnlen"]
4561    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4562}
4563extern "C" {
4564    #[link_name = "aws_lc_0_47_0_OPENSSL_isalpha"]
4565    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4566}
4567extern "C" {
4568    #[link_name = "aws_lc_0_47_0_OPENSSL_isdigit"]
4569    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4570}
4571extern "C" {
4572    #[link_name = "aws_lc_0_47_0_OPENSSL_isxdigit"]
4573    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4574}
4575extern "C" {
4576    #[link_name = "aws_lc_0_47_0_OPENSSL_fromxdigit"]
4577    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4578}
4579extern "C" {
4580    #[link_name = "aws_lc_0_47_0_OPENSSL_hexstr2buf"]
4581    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4582}
4583extern "C" {
4584    #[link_name = "aws_lc_0_47_0_OPENSSL_isalnum"]
4585    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4586}
4587extern "C" {
4588    #[link_name = "aws_lc_0_47_0_OPENSSL_tolower"]
4589    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4590}
4591extern "C" {
4592    #[link_name = "aws_lc_0_47_0_OPENSSL_isspace"]
4593    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4594}
4595extern "C" {
4596    #[link_name = "aws_lc_0_47_0_OPENSSL_strcasecmp"]
4597    pub fn OPENSSL_strcasecmp(
4598        a: *const ::std::os::raw::c_char,
4599        b: *const ::std::os::raw::c_char,
4600    ) -> ::std::os::raw::c_int;
4601}
4602extern "C" {
4603    #[link_name = "aws_lc_0_47_0_OPENSSL_strncasecmp"]
4604    pub fn OPENSSL_strncasecmp(
4605        a: *const ::std::os::raw::c_char,
4606        b: *const ::std::os::raw::c_char,
4607        n: usize,
4608    ) -> ::std::os::raw::c_int;
4609}
4610extern "C" {
4611    #[link_name = "aws_lc_0_47_0_BIO_snprintf"]
4612    pub fn BIO_snprintf(
4613        buf: *mut ::std::os::raw::c_char,
4614        n: usize,
4615        format: *const ::std::os::raw::c_char,
4616        ...
4617    ) -> ::std::os::raw::c_int;
4618}
4619extern "C" {
4620    #[link_name = "aws_lc_0_47_0_OPENSSL_asprintf"]
4621    pub fn OPENSSL_asprintf(
4622        str_: *mut *mut ::std::os::raw::c_char,
4623        format: *const ::std::os::raw::c_char,
4624        ...
4625    ) -> ::std::os::raw::c_int;
4626}
4627extern "C" {
4628    #[link_name = "aws_lc_0_47_0_OPENSSL_strndup"]
4629    pub fn OPENSSL_strndup(
4630        str_: *const ::std::os::raw::c_char,
4631        size: usize,
4632    ) -> *mut ::std::os::raw::c_char;
4633}
4634extern "C" {
4635    #[link_name = "aws_lc_0_47_0_OPENSSL_memdup"]
4636    pub fn OPENSSL_memdup(
4637        data: *const ::std::os::raw::c_void,
4638        size: usize,
4639    ) -> *mut ::std::os::raw::c_void;
4640}
4641extern "C" {
4642    #[link_name = "aws_lc_0_47_0_OPENSSL_strlcpy"]
4643    pub fn OPENSSL_strlcpy(
4644        dst: *mut ::std::os::raw::c_char,
4645        src: *const ::std::os::raw::c_char,
4646        dst_size: usize,
4647    ) -> usize;
4648}
4649extern "C" {
4650    #[link_name = "aws_lc_0_47_0_OPENSSL_strlcat"]
4651    pub fn OPENSSL_strlcat(
4652        dst: *mut ::std::os::raw::c_char,
4653        src: *const ::std::os::raw::c_char,
4654        dst_size: usize,
4655    ) -> usize;
4656}
4657extern "C" {
4658    #[link_name = "aws_lc_0_47_0_CRYPTO_malloc"]
4659    pub fn CRYPTO_malloc(
4660        size: usize,
4661        file: *const ::std::os::raw::c_char,
4662        line: ::std::os::raw::c_int,
4663    ) -> *mut ::std::os::raw::c_void;
4664}
4665extern "C" {
4666    #[link_name = "aws_lc_0_47_0_CRYPTO_realloc"]
4667    pub fn CRYPTO_realloc(
4668        ptr: *mut ::std::os::raw::c_void,
4669        new_size: usize,
4670        file: *const ::std::os::raw::c_char,
4671        line: ::std::os::raw::c_int,
4672    ) -> *mut ::std::os::raw::c_void;
4673}
4674extern "C" {
4675    #[link_name = "aws_lc_0_47_0_CRYPTO_free"]
4676    pub fn CRYPTO_free(
4677        ptr: *mut ::std::os::raw::c_void,
4678        file: *const ::std::os::raw::c_char,
4679        line: ::std::os::raw::c_int,
4680    );
4681}
4682extern "C" {
4683    #[link_name = "aws_lc_0_47_0_OPENSSL_clear_free"]
4684    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4685}
4686extern "C" {
4687    #[link_name = "aws_lc_0_47_0_CRYPTO_set_mem_functions"]
4688    pub fn CRYPTO_set_mem_functions(
4689        m: ::std::option::Option<
4690            unsafe extern "C" fn(
4691                arg1: usize,
4692                arg2: *const ::std::os::raw::c_char,
4693                arg3: ::std::os::raw::c_int,
4694            ) -> *mut ::std::os::raw::c_void,
4695        >,
4696        r: ::std::option::Option<
4697            unsafe extern "C" fn(
4698                arg1: *mut ::std::os::raw::c_void,
4699                arg2: usize,
4700                arg3: *const ::std::os::raw::c_char,
4701                arg4: ::std::os::raw::c_int,
4702            ) -> *mut ::std::os::raw::c_void,
4703        >,
4704        f: ::std::option::Option<
4705            unsafe extern "C" fn(
4706                arg1: *mut ::std::os::raw::c_void,
4707                arg2: *const ::std::os::raw::c_char,
4708                arg3: ::std::os::raw::c_int,
4709            ),
4710        >,
4711    ) -> ::std::os::raw::c_int;
4712}
4713extern "C" {
4714    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_malloc_init"]
4715    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4716}
4717extern "C" {
4718    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_malloc_initialized"]
4719    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4720}
4721extern "C" {
4722    #[link_name = "aws_lc_0_47_0_CRYPTO_secure_used"]
4723    pub fn CRYPTO_secure_used() -> usize;
4724}
4725extern "C" {
4726    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_malloc"]
4727    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4728}
4729extern "C" {
4730    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_zalloc"]
4731    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4732}
4733extern "C" {
4734    #[link_name = "aws_lc_0_47_0_OPENSSL_secure_clear_free"]
4735    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4736}
4737pub type CRYPTO_refcount_t = u32;
4738extern "C" {
4739    #[link_name = "aws_lc_0_47_0_CRYPTO_library_init"]
4740    pub fn CRYPTO_library_init();
4741}
4742extern "C" {
4743    #[link_name = "aws_lc_0_47_0_CRYPTO_is_confidential_build"]
4744    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4745}
4746extern "C" {
4747    #[link_name = "aws_lc_0_47_0_CRYPTO_has_asm"]
4748    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4749}
4750extern "C" {
4751    #[link_name = "aws_lc_0_47_0_BORINGSSL_self_test"]
4752    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4753}
4754extern "C" {
4755    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4756}
4757extern "C" {
4758    #[link_name = "aws_lc_0_47_0_CRYPTO_pre_sandbox_init"]
4759    pub fn CRYPTO_pre_sandbox_init();
4760}
4761extern "C" {
4762    #[link_name = "aws_lc_0_47_0_FIPS_mode"]
4763    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4764}
4765extern "C" {
4766    #[link_name = "aws_lc_0_47_0_FIPS_is_entropy_cpu_jitter"]
4767    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4768}
4769extern "C" {
4770    #[link_name = "aws_lc_0_47_0_FIPS_version"]
4771    pub fn FIPS_version() -> u32;
4772}
4773extern "C" {
4774    #[link_name = "aws_lc_0_47_0_FIPS_module_name"]
4775    pub fn FIPS_module_name() -> *const ::std::os::raw::c_char;
4776}
4777extern "C" {
4778    #[link_name = "aws_lc_0_47_0_OpenSSL_version"]
4779    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4780}
4781extern "C" {
4782    #[link_name = "aws_lc_0_47_0_SSLeay_version"]
4783    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4784}
4785extern "C" {
4786    #[link_name = "aws_lc_0_47_0_SSLeay"]
4787    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4788}
4789extern "C" {
4790    #[link_name = "aws_lc_0_47_0_OpenSSL_version_num"]
4791    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4792}
4793extern "C" {
4794    #[link_name = "aws_lc_0_47_0_awslc_api_version_num"]
4795    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4796}
4797extern "C" {
4798    #[link_name = "aws_lc_0_47_0_CRYPTO_malloc_init"]
4799    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4800}
4801extern "C" {
4802    #[link_name = "aws_lc_0_47_0_OPENSSL_malloc_init"]
4803    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4804}
4805extern "C" {
4806    #[link_name = "aws_lc_0_47_0_ENGINE_load_builtin_engines"]
4807    pub fn ENGINE_load_builtin_engines();
4808}
4809extern "C" {
4810    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_ciphers"]
4811    pub fn ENGINE_register_all_ciphers();
4812}
4813extern "C" {
4814    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_digests"]
4815    pub fn ENGINE_register_all_digests();
4816}
4817extern "C" {
4818    #[link_name = "aws_lc_0_47_0_ENGINE_register_all_complete"]
4819    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4820}
4821extern "C" {
4822    #[link_name = "aws_lc_0_47_0_OPENSSL_load_builtin_modules"]
4823    pub fn OPENSSL_load_builtin_modules();
4824}
4825extern "C" {
4826    #[link_name = "aws_lc_0_47_0_OPENSSL_init_crypto"]
4827    pub fn OPENSSL_init_crypto(
4828        opts: u64,
4829        settings: *const OPENSSL_INIT_SETTINGS,
4830    ) -> ::std::os::raw::c_int;
4831}
4832extern "C" {
4833    #[link_name = "aws_lc_0_47_0_OPENSSL_init"]
4834    pub fn OPENSSL_init();
4835}
4836extern "C" {
4837    #[link_name = "aws_lc_0_47_0_OPENSSL_cleanup"]
4838    pub fn OPENSSL_cleanup();
4839}
4840extern "C" {
4841    #[link_name = "aws_lc_0_47_0_FIPS_mode_set"]
4842    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4843}
4844extern "C" {
4845    #[link_name = "aws_lc_0_47_0_CRYPTO_mem_ctrl"]
4846    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4847}
4848extern "C" {
4849    #[link_name = "aws_lc_0_47_0_ERR_load_BIO_strings"]
4850    pub fn ERR_load_BIO_strings();
4851}
4852extern "C" {
4853    #[link_name = "aws_lc_0_47_0_ERR_load_ERR_strings"]
4854    pub fn ERR_load_ERR_strings();
4855}
4856extern "C" {
4857    #[link_name = "aws_lc_0_47_0_ERR_load_CRYPTO_strings"]
4858    pub fn ERR_load_CRYPTO_strings();
4859}
4860extern "C" {
4861    #[link_name = "aws_lc_0_47_0_ERR_load_crypto_strings"]
4862    pub fn ERR_load_crypto_strings();
4863}
4864extern "C" {
4865    #[link_name = "aws_lc_0_47_0_ERR_load_RAND_strings"]
4866    pub fn ERR_load_RAND_strings();
4867}
4868extern "C" {
4869    #[link_name = "aws_lc_0_47_0_ERR_free_strings"]
4870    pub fn ERR_free_strings();
4871}
4872extern "C" {
4873    #[link_name = "aws_lc_0_47_0_ERR_get_error"]
4874    pub fn ERR_get_error() -> u32;
4875}
4876extern "C" {
4877    #[link_name = "aws_lc_0_47_0_ERR_get_error_line"]
4878    pub fn ERR_get_error_line(
4879        file: *mut *const ::std::os::raw::c_char,
4880        line: *mut ::std::os::raw::c_int,
4881    ) -> u32;
4882}
4883extern "C" {
4884    #[link_name = "aws_lc_0_47_0_ERR_get_error_line_data"]
4885    pub fn ERR_get_error_line_data(
4886        file: *mut *const ::std::os::raw::c_char,
4887        line: *mut ::std::os::raw::c_int,
4888        data: *mut *const ::std::os::raw::c_char,
4889        flags: *mut ::std::os::raw::c_int,
4890    ) -> u32;
4891}
4892extern "C" {
4893    #[link_name = "aws_lc_0_47_0_ERR_peek_error"]
4894    pub fn ERR_peek_error() -> u32;
4895}
4896extern "C" {
4897    #[link_name = "aws_lc_0_47_0_ERR_peek_error_line"]
4898    pub fn ERR_peek_error_line(
4899        file: *mut *const ::std::os::raw::c_char,
4900        line: *mut ::std::os::raw::c_int,
4901    ) -> u32;
4902}
4903extern "C" {
4904    #[link_name = "aws_lc_0_47_0_ERR_peek_error_line_data"]
4905    pub fn ERR_peek_error_line_data(
4906        file: *mut *const ::std::os::raw::c_char,
4907        line: *mut ::std::os::raw::c_int,
4908        data: *mut *const ::std::os::raw::c_char,
4909        flags: *mut ::std::os::raw::c_int,
4910    ) -> u32;
4911}
4912extern "C" {
4913    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error"]
4914    pub fn ERR_peek_last_error() -> u32;
4915}
4916extern "C" {
4917    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error_line"]
4918    pub fn ERR_peek_last_error_line(
4919        file: *mut *const ::std::os::raw::c_char,
4920        line: *mut ::std::os::raw::c_int,
4921    ) -> u32;
4922}
4923extern "C" {
4924    #[link_name = "aws_lc_0_47_0_ERR_peek_last_error_line_data"]
4925    pub fn ERR_peek_last_error_line_data(
4926        file: *mut *const ::std::os::raw::c_char,
4927        line: *mut ::std::os::raw::c_int,
4928        data: *mut *const ::std::os::raw::c_char,
4929        flags: *mut ::std::os::raw::c_int,
4930    ) -> u32;
4931}
4932extern "C" {
4933    #[link_name = "aws_lc_0_47_0_ERR_error_string_n"]
4934    pub fn ERR_error_string_n(
4935        packed_error: u32,
4936        buf: *mut ::std::os::raw::c_char,
4937        len: usize,
4938    ) -> *mut ::std::os::raw::c_char;
4939}
4940extern "C" {
4941    #[link_name = "aws_lc_0_47_0_ERR_lib_error_string"]
4942    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4943}
4944extern "C" {
4945    #[link_name = "aws_lc_0_47_0_ERR_reason_error_string"]
4946    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4947}
4948pub type ERR_print_errors_callback_t = ::std::option::Option<
4949    unsafe extern "C" fn(
4950        str_: *const ::std::os::raw::c_char,
4951        len: usize,
4952        ctx: *mut ::std::os::raw::c_void,
4953    ) -> ::std::os::raw::c_int,
4954>;
4955extern "C" {
4956    #[link_name = "aws_lc_0_47_0_ERR_print_errors_cb"]
4957    pub fn ERR_print_errors_cb(
4958        callback: ERR_print_errors_callback_t,
4959        ctx: *mut ::std::os::raw::c_void,
4960    );
4961}
4962extern "C" {
4963    #[link_name = "aws_lc_0_47_0_ERR_clear_error"]
4964    pub fn ERR_clear_error();
4965}
4966extern "C" {
4967    #[link_name = "aws_lc_0_47_0_ERR_set_mark"]
4968    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4969}
4970extern "C" {
4971    #[link_name = "aws_lc_0_47_0_ERR_pop_to_mark"]
4972    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4973}
4974extern "C" {
4975    #[link_name = "aws_lc_0_47_0_ERR_get_next_error_library"]
4976    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4977}
4978extern "C" {
4979    #[link_name = "aws_lc_0_47_0_ERR_remove_state"]
4980    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4981}
4982extern "C" {
4983    #[link_name = "aws_lc_0_47_0_ERR_remove_thread_state"]
4984    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4985}
4986extern "C" {
4987    #[link_name = "aws_lc_0_47_0_ERR_func_error_string"]
4988    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4989}
4990extern "C" {
4991    #[link_name = "aws_lc_0_47_0_ERR_error_string"]
4992    pub fn ERR_error_string(
4993        packed_error: u32,
4994        buf: *mut ::std::os::raw::c_char,
4995    ) -> *mut ::std::os::raw::c_char;
4996}
4997extern "C" {
4998    #[link_name = "aws_lc_0_47_0_ERR_clear_system_error"]
4999    pub fn ERR_clear_system_error();
5000}
5001extern "C" {
5002    #[link_name = "aws_lc_0_47_0_ERR_put_error"]
5003    pub fn ERR_put_error(
5004        library: ::std::os::raw::c_int,
5005        unused: ::std::os::raw::c_int,
5006        reason: ::std::os::raw::c_int,
5007        file: *const ::std::os::raw::c_char,
5008        line: ::std::os::raw::c_uint,
5009    );
5010}
5011extern "C" {
5012    #[link_name = "aws_lc_0_47_0_ERR_add_error_data"]
5013    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
5014}
5015extern "C" {
5016    #[link_name = "aws_lc_0_47_0_ERR_add_error_dataf"]
5017    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
5018}
5019extern "C" {
5020    #[link_name = "aws_lc_0_47_0_ERR_set_error_data"]
5021    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
5022}
5023#[repr(C)]
5024#[derive(Debug)]
5025pub struct stack_st_void {
5026    _unused: [u8; 0],
5027}
5028pub type CRYPTO_EX_DATA = crypto_ex_data_st;
5029pub type CRYPTO_EX_free = ::std::option::Option<
5030    unsafe extern "C" fn(
5031        parent: *mut ::std::os::raw::c_void,
5032        ptr: *mut ::std::os::raw::c_void,
5033        ad: *mut CRYPTO_EX_DATA,
5034        index: ::std::os::raw::c_int,
5035        argl: ::std::os::raw::c_long,
5036        argp: *mut ::std::os::raw::c_void,
5037    ),
5038>;
5039pub type CRYPTO_EX_dup = ::std::option::Option<
5040    unsafe extern "C" fn(
5041        to: *mut CRYPTO_EX_DATA,
5042        from: *const CRYPTO_EX_DATA,
5043        from_d: *mut *mut ::std::os::raw::c_void,
5044        index: ::std::os::raw::c_int,
5045        argl: ::std::os::raw::c_long,
5046        argp: *mut ::std::os::raw::c_void,
5047    ) -> ::std::os::raw::c_int,
5048>;
5049pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
5050#[repr(C)]
5051#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5052pub struct crypto_ex_data_st {
5053    pub sk: *mut stack_st_void,
5054}
5055#[test]
5056fn bindgen_test_layout_crypto_ex_data_st() {
5057    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
5058    let ptr = UNINIT.as_ptr();
5059    assert_eq!(
5060        ::std::mem::size_of::<crypto_ex_data_st>(),
5061        8usize,
5062        "Size of crypto_ex_data_st"
5063    );
5064    assert_eq!(
5065        ::std::mem::align_of::<crypto_ex_data_st>(),
5066        8usize,
5067        "Alignment of crypto_ex_data_st"
5068    );
5069    assert_eq!(
5070        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
5071        0usize,
5072        "Offset of field: crypto_ex_data_st::sk"
5073    );
5074}
5075impl Default for crypto_ex_data_st {
5076    fn default() -> Self {
5077        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5078        unsafe {
5079            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5080            s.assume_init()
5081        }
5082    }
5083}
5084pub type bio_info_cb = ::std::option::Option<
5085    unsafe extern "C" fn(
5086        b: *mut BIO,
5087        state: ::std::os::raw::c_int,
5088        res: ::std::os::raw::c_int,
5089    ) -> ::std::os::raw::c_long,
5090>;
5091pub type BIO_callback_fn_ex = ::std::option::Option<
5092    unsafe extern "C" fn(
5093        bio: *mut BIO,
5094        oper: ::std::os::raw::c_int,
5095        argp: *const ::std::os::raw::c_char,
5096        len: usize,
5097        argi: ::std::os::raw::c_int,
5098        argl: ::std::os::raw::c_long,
5099        bio_ret: ::std::os::raw::c_int,
5100        processed: *mut usize,
5101    ) -> ::std::os::raw::c_long,
5102>;
5103pub type BIO_callback_fn = ::std::option::Option<
5104    unsafe extern "C" fn(
5105        bio: *mut BIO,
5106        oper: ::std::os::raw::c_int,
5107        argp: *const ::std::os::raw::c_char,
5108        argi: ::std::os::raw::c_int,
5109        argl: ::std::os::raw::c_long,
5110        bio_ret: ::std::os::raw::c_long,
5111    ) -> ::std::os::raw::c_long,
5112>;
5113#[repr(C)]
5114#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5115pub struct bio_method_st {
5116    pub type_: ::std::os::raw::c_int,
5117    pub name: *const ::std::os::raw::c_char,
5118    pub bwrite: ::std::option::Option<
5119        unsafe extern "C" fn(
5120            arg1: *mut BIO,
5121            arg2: *const ::std::os::raw::c_char,
5122            arg3: ::std::os::raw::c_int,
5123        ) -> ::std::os::raw::c_int,
5124    >,
5125    pub bread: ::std::option::Option<
5126        unsafe extern "C" fn(
5127            arg1: *mut BIO,
5128            arg2: *mut ::std::os::raw::c_char,
5129            arg3: ::std::os::raw::c_int,
5130        ) -> ::std::os::raw::c_int,
5131    >,
5132    pub bputs: ::std::option::Option<
5133        unsafe extern "C" fn(
5134            arg1: *mut BIO,
5135            arg2: *const ::std::os::raw::c_char,
5136        ) -> ::std::os::raw::c_int,
5137    >,
5138    pub bgets: ::std::option::Option<
5139        unsafe extern "C" fn(
5140            arg1: *mut BIO,
5141            arg2: *mut ::std::os::raw::c_char,
5142            arg3: ::std::os::raw::c_int,
5143        ) -> ::std::os::raw::c_int,
5144    >,
5145    pub ctrl: ::std::option::Option<
5146        unsafe extern "C" fn(
5147            arg1: *mut BIO,
5148            arg2: ::std::os::raw::c_int,
5149            arg3: ::std::os::raw::c_long,
5150            arg4: *mut ::std::os::raw::c_void,
5151        ) -> ::std::os::raw::c_long,
5152    >,
5153    pub create:
5154        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5155    pub destroy:
5156        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5157    pub callback_ctrl: ::std::option::Option<
5158        unsafe extern "C" fn(
5159            arg1: *mut BIO,
5160            arg2: ::std::os::raw::c_int,
5161            arg3: bio_info_cb,
5162        ) -> ::std::os::raw::c_long,
5163    >,
5164}
5165#[test]
5166fn bindgen_test_layout_bio_method_st() {
5167    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5168    let ptr = UNINIT.as_ptr();
5169    assert_eq!(
5170        ::std::mem::size_of::<bio_method_st>(),
5171        80usize,
5172        "Size of bio_method_st"
5173    );
5174    assert_eq!(
5175        ::std::mem::align_of::<bio_method_st>(),
5176        8usize,
5177        "Alignment of bio_method_st"
5178    );
5179    assert_eq!(
5180        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5181        0usize,
5182        "Offset of field: bio_method_st::type_"
5183    );
5184    assert_eq!(
5185        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5186        8usize,
5187        "Offset of field: bio_method_st::name"
5188    );
5189    assert_eq!(
5190        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5191        16usize,
5192        "Offset of field: bio_method_st::bwrite"
5193    );
5194    assert_eq!(
5195        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5196        24usize,
5197        "Offset of field: bio_method_st::bread"
5198    );
5199    assert_eq!(
5200        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5201        32usize,
5202        "Offset of field: bio_method_st::bputs"
5203    );
5204    assert_eq!(
5205        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5206        40usize,
5207        "Offset of field: bio_method_st::bgets"
5208    );
5209    assert_eq!(
5210        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5211        48usize,
5212        "Offset of field: bio_method_st::ctrl"
5213    );
5214    assert_eq!(
5215        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5216        56usize,
5217        "Offset of field: bio_method_st::create"
5218    );
5219    assert_eq!(
5220        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5221        64usize,
5222        "Offset of field: bio_method_st::destroy"
5223    );
5224    assert_eq!(
5225        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5226        72usize,
5227        "Offset of field: bio_method_st::callback_ctrl"
5228    );
5229}
5230impl Default for bio_method_st {
5231    fn default() -> Self {
5232        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5233        unsafe {
5234            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5235            s.assume_init()
5236        }
5237    }
5238}
5239#[repr(C)]
5240#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5241pub struct bio_st {
5242    pub method: *const BIO_METHOD,
5243    pub ex_data: CRYPTO_EX_DATA,
5244    pub callback_ex: BIO_callback_fn_ex,
5245    pub callback: BIO_callback_fn,
5246    pub cb_arg: *mut ::std::os::raw::c_char,
5247    pub init: ::std::os::raw::c_int,
5248    pub shutdown: ::std::os::raw::c_int,
5249    pub flags: ::std::os::raw::c_int,
5250    pub retry_reason: ::std::os::raw::c_int,
5251    pub num: ::std::os::raw::c_int,
5252    pub references: CRYPTO_refcount_t,
5253    pub ptr: *mut ::std::os::raw::c_void,
5254    pub next_bio: *mut BIO,
5255    pub num_read: u64,
5256    pub num_write: u64,
5257}
5258#[test]
5259fn bindgen_test_layout_bio_st() {
5260    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5261    let ptr = UNINIT.as_ptr();
5262    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5263    assert_eq!(
5264        ::std::mem::align_of::<bio_st>(),
5265        8usize,
5266        "Alignment of bio_st"
5267    );
5268    assert_eq!(
5269        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5270        0usize,
5271        "Offset of field: bio_st::method"
5272    );
5273    assert_eq!(
5274        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5275        8usize,
5276        "Offset of field: bio_st::ex_data"
5277    );
5278    assert_eq!(
5279        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5280        16usize,
5281        "Offset of field: bio_st::callback_ex"
5282    );
5283    assert_eq!(
5284        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5285        24usize,
5286        "Offset of field: bio_st::callback"
5287    );
5288    assert_eq!(
5289        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5290        32usize,
5291        "Offset of field: bio_st::cb_arg"
5292    );
5293    assert_eq!(
5294        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5295        40usize,
5296        "Offset of field: bio_st::init"
5297    );
5298    assert_eq!(
5299        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5300        44usize,
5301        "Offset of field: bio_st::shutdown"
5302    );
5303    assert_eq!(
5304        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5305        48usize,
5306        "Offset of field: bio_st::flags"
5307    );
5308    assert_eq!(
5309        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5310        52usize,
5311        "Offset of field: bio_st::retry_reason"
5312    );
5313    assert_eq!(
5314        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5315        56usize,
5316        "Offset of field: bio_st::num"
5317    );
5318    assert_eq!(
5319        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5320        60usize,
5321        "Offset of field: bio_st::references"
5322    );
5323    assert_eq!(
5324        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5325        64usize,
5326        "Offset of field: bio_st::ptr"
5327    );
5328    assert_eq!(
5329        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5330        72usize,
5331        "Offset of field: bio_st::next_bio"
5332    );
5333    assert_eq!(
5334        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5335        80usize,
5336        "Offset of field: bio_st::num_read"
5337    );
5338    assert_eq!(
5339        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5340        88usize,
5341        "Offset of field: bio_st::num_write"
5342    );
5343}
5344impl Default for bio_st {
5345    fn default() -> Self {
5346        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5347        unsafe {
5348            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5349            s.assume_init()
5350        }
5351    }
5352}
5353pub type BN_ULONG = u64;
5354extern "C" {
5355    #[link_name = "aws_lc_0_47_0_BN_new"]
5356    pub fn BN_new() -> *mut BIGNUM;
5357}
5358extern "C" {
5359    #[link_name = "aws_lc_0_47_0_BN_init"]
5360    pub fn BN_init(bn: *mut BIGNUM);
5361}
5362extern "C" {
5363    #[link_name = "aws_lc_0_47_0_BN_free"]
5364    pub fn BN_free(bn: *mut BIGNUM);
5365}
5366extern "C" {
5367    #[link_name = "aws_lc_0_47_0_BN_clear_free"]
5368    pub fn BN_clear_free(bn: *mut BIGNUM);
5369}
5370extern "C" {
5371    #[link_name = "aws_lc_0_47_0_BN_dup"]
5372    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5373}
5374extern "C" {
5375    #[link_name = "aws_lc_0_47_0_BN_copy"]
5376    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5377}
5378extern "C" {
5379    #[link_name = "aws_lc_0_47_0_BN_clear"]
5380    pub fn BN_clear(bn: *mut BIGNUM);
5381}
5382extern "C" {
5383    #[link_name = "aws_lc_0_47_0_BN_value_one"]
5384    pub fn BN_value_one() -> *const BIGNUM;
5385}
5386extern "C" {
5387    #[link_name = "aws_lc_0_47_0_BN_num_bits"]
5388    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5389}
5390extern "C" {
5391    #[link_name = "aws_lc_0_47_0_BN_num_bytes"]
5392    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5393}
5394extern "C" {
5395    #[link_name = "aws_lc_0_47_0_BN_get_minimal_width"]
5396    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5397}
5398extern "C" {
5399    #[link_name = "aws_lc_0_47_0_BN_zero"]
5400    pub fn BN_zero(bn: *mut BIGNUM);
5401}
5402extern "C" {
5403    #[link_name = "aws_lc_0_47_0_BN_one"]
5404    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5405}
5406extern "C" {
5407    #[link_name = "aws_lc_0_47_0_BN_set_word"]
5408    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5409}
5410extern "C" {
5411    #[link_name = "aws_lc_0_47_0_BN_set_u64"]
5412    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5413}
5414extern "C" {
5415    #[link_name = "aws_lc_0_47_0_BN_set_negative"]
5416    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5417}
5418extern "C" {
5419    #[link_name = "aws_lc_0_47_0_BN_is_negative"]
5420    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5421}
5422extern "C" {
5423    #[link_name = "aws_lc_0_47_0_BN_bin2bn"]
5424    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5425}
5426extern "C" {
5427    #[link_name = "aws_lc_0_47_0_BN_bn2bin"]
5428    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5429}
5430extern "C" {
5431    #[link_name = "aws_lc_0_47_0_BN_le2bn"]
5432    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5433}
5434extern "C" {
5435    #[link_name = "aws_lc_0_47_0_BN_bn2le_padded"]
5436    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5437}
5438extern "C" {
5439    #[link_name = "aws_lc_0_47_0_BN_bn2bin_padded"]
5440    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5441}
5442extern "C" {
5443    #[link_name = "aws_lc_0_47_0_BN_bn2cbb_padded"]
5444    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5445        -> ::std::os::raw::c_int;
5446}
5447extern "C" {
5448    #[link_name = "aws_lc_0_47_0_BN_bn2hex"]
5449    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5450}
5451extern "C" {
5452    #[link_name = "aws_lc_0_47_0_BN_hex2bn"]
5453    pub fn BN_hex2bn(
5454        outp: *mut *mut BIGNUM,
5455        in_: *const ::std::os::raw::c_char,
5456    ) -> ::std::os::raw::c_int;
5457}
5458extern "C" {
5459    #[link_name = "aws_lc_0_47_0_BN_bn2dec"]
5460    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5461}
5462extern "C" {
5463    #[link_name = "aws_lc_0_47_0_BN_dec2bn"]
5464    pub fn BN_dec2bn(
5465        outp: *mut *mut BIGNUM,
5466        in_: *const ::std::os::raw::c_char,
5467    ) -> ::std::os::raw::c_int;
5468}
5469extern "C" {
5470    #[link_name = "aws_lc_0_47_0_BN_asc2bn"]
5471    pub fn BN_asc2bn(
5472        outp: *mut *mut BIGNUM,
5473        in_: *const ::std::os::raw::c_char,
5474    ) -> ::std::os::raw::c_int;
5475}
5476extern "C" {
5477    #[link_name = "aws_lc_0_47_0_BN_print"]
5478    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5479}
5480extern "C" {
5481    #[link_name = "aws_lc_0_47_0_BN_get_word"]
5482    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5483}
5484extern "C" {
5485    #[link_name = "aws_lc_0_47_0_BN_get_u64"]
5486    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5487}
5488extern "C" {
5489    #[link_name = "aws_lc_0_47_0_BN_get_flags"]
5490    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5491}
5492extern "C" {
5493    #[link_name = "aws_lc_0_47_0_BN_parse_asn1_unsigned"]
5494    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5495}
5496extern "C" {
5497    #[link_name = "aws_lc_0_47_0_BN_marshal_asn1"]
5498    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5499}
5500extern "C" {
5501    #[link_name = "aws_lc_0_47_0_BN_CTX_new"]
5502    pub fn BN_CTX_new() -> *mut BN_CTX;
5503}
5504extern "C" {
5505    #[link_name = "aws_lc_0_47_0_BN_CTX_free"]
5506    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5507}
5508extern "C" {
5509    #[link_name = "aws_lc_0_47_0_BN_CTX_start"]
5510    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5511}
5512extern "C" {
5513    #[link_name = "aws_lc_0_47_0_BN_CTX_get"]
5514    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5515}
5516extern "C" {
5517    #[link_name = "aws_lc_0_47_0_BN_CTX_end"]
5518    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5519}
5520extern "C" {
5521    #[link_name = "aws_lc_0_47_0_BN_add"]
5522    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5523}
5524extern "C" {
5525    #[link_name = "aws_lc_0_47_0_BN_uadd"]
5526    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5527}
5528extern "C" {
5529    #[link_name = "aws_lc_0_47_0_BN_add_word"]
5530    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5531}
5532extern "C" {
5533    #[link_name = "aws_lc_0_47_0_BN_sub"]
5534    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5535}
5536extern "C" {
5537    #[link_name = "aws_lc_0_47_0_BN_usub"]
5538    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5539}
5540extern "C" {
5541    #[link_name = "aws_lc_0_47_0_BN_sub_word"]
5542    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5543}
5544extern "C" {
5545    #[link_name = "aws_lc_0_47_0_BN_mul"]
5546    pub fn BN_mul(
5547        r: *mut BIGNUM,
5548        a: *const BIGNUM,
5549        b: *const BIGNUM,
5550        ctx: *mut BN_CTX,
5551    ) -> ::std::os::raw::c_int;
5552}
5553extern "C" {
5554    #[link_name = "aws_lc_0_47_0_BN_mul_word"]
5555    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5556}
5557extern "C" {
5558    #[link_name = "aws_lc_0_47_0_BN_sqr"]
5559    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5560}
5561extern "C" {
5562    #[link_name = "aws_lc_0_47_0_BN_div"]
5563    pub fn BN_div(
5564        quotient: *mut BIGNUM,
5565        rem: *mut BIGNUM,
5566        numerator: *const BIGNUM,
5567        divisor: *const BIGNUM,
5568        ctx: *mut BN_CTX,
5569    ) -> ::std::os::raw::c_int;
5570}
5571extern "C" {
5572    #[link_name = "aws_lc_0_47_0_BN_div_word"]
5573    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5574}
5575extern "C" {
5576    #[link_name = "aws_lc_0_47_0_BN_sqrt"]
5577    pub fn BN_sqrt(
5578        out_sqrt: *mut BIGNUM,
5579        in_: *const BIGNUM,
5580        ctx: *mut BN_CTX,
5581    ) -> ::std::os::raw::c_int;
5582}
5583extern "C" {
5584    #[link_name = "aws_lc_0_47_0_BN_cmp"]
5585    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5586}
5587extern "C" {
5588    #[link_name = "aws_lc_0_47_0_BN_cmp_word"]
5589    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5590}
5591extern "C" {
5592    #[link_name = "aws_lc_0_47_0_BN_ucmp"]
5593    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5594}
5595extern "C" {
5596    #[link_name = "aws_lc_0_47_0_BN_equal_consttime"]
5597    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5598}
5599extern "C" {
5600    #[link_name = "aws_lc_0_47_0_BN_abs_is_word"]
5601    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5602}
5603extern "C" {
5604    #[link_name = "aws_lc_0_47_0_BN_is_zero"]
5605    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5606}
5607extern "C" {
5608    #[link_name = "aws_lc_0_47_0_BN_is_one"]
5609    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5610}
5611extern "C" {
5612    #[link_name = "aws_lc_0_47_0_BN_is_word"]
5613    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5614}
5615extern "C" {
5616    #[link_name = "aws_lc_0_47_0_BN_is_odd"]
5617    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5618}
5619extern "C" {
5620    #[link_name = "aws_lc_0_47_0_BN_is_pow2"]
5621    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5622}
5623extern "C" {
5624    #[link_name = "aws_lc_0_47_0_BN_lshift"]
5625    pub fn BN_lshift(
5626        r: *mut BIGNUM,
5627        a: *const BIGNUM,
5628        n: ::std::os::raw::c_int,
5629    ) -> ::std::os::raw::c_int;
5630}
5631extern "C" {
5632    #[link_name = "aws_lc_0_47_0_BN_lshift1"]
5633    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5634}
5635extern "C" {
5636    #[link_name = "aws_lc_0_47_0_BN_rshift"]
5637    pub fn BN_rshift(
5638        r: *mut BIGNUM,
5639        a: *const BIGNUM,
5640        n: ::std::os::raw::c_int,
5641    ) -> ::std::os::raw::c_int;
5642}
5643extern "C" {
5644    #[link_name = "aws_lc_0_47_0_BN_rshift1"]
5645    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5646}
5647extern "C" {
5648    #[link_name = "aws_lc_0_47_0_BN_set_bit"]
5649    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5650}
5651extern "C" {
5652    #[link_name = "aws_lc_0_47_0_BN_clear_bit"]
5653    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5654}
5655extern "C" {
5656    #[link_name = "aws_lc_0_47_0_BN_is_bit_set"]
5657    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5658}
5659extern "C" {
5660    #[link_name = "aws_lc_0_47_0_BN_mask_bits"]
5661    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5662}
5663extern "C" {
5664    #[link_name = "aws_lc_0_47_0_BN_count_low_zero_bits"]
5665    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5666}
5667extern "C" {
5668    #[link_name = "aws_lc_0_47_0_BN_mod_word"]
5669    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5670}
5671extern "C" {
5672    #[link_name = "aws_lc_0_47_0_BN_mod_pow2"]
5673    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5674}
5675extern "C" {
5676    #[link_name = "aws_lc_0_47_0_BN_nnmod_pow2"]
5677    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5678}
5679extern "C" {
5680    #[link_name = "aws_lc_0_47_0_BN_nnmod"]
5681    pub fn BN_nnmod(
5682        rem: *mut BIGNUM,
5683        numerator: *const BIGNUM,
5684        divisor: *const BIGNUM,
5685        ctx: *mut BN_CTX,
5686    ) -> ::std::os::raw::c_int;
5687}
5688extern "C" {
5689    #[link_name = "aws_lc_0_47_0_BN_mod_add"]
5690    pub fn BN_mod_add(
5691        r: *mut BIGNUM,
5692        a: *const BIGNUM,
5693        b: *const BIGNUM,
5694        m: *const BIGNUM,
5695        ctx: *mut BN_CTX,
5696    ) -> ::std::os::raw::c_int;
5697}
5698extern "C" {
5699    #[link_name = "aws_lc_0_47_0_BN_mod_add_quick"]
5700    pub fn BN_mod_add_quick(
5701        r: *mut BIGNUM,
5702        a: *const BIGNUM,
5703        b: *const BIGNUM,
5704        m: *const BIGNUM,
5705    ) -> ::std::os::raw::c_int;
5706}
5707extern "C" {
5708    #[link_name = "aws_lc_0_47_0_BN_mod_sub"]
5709    pub fn BN_mod_sub(
5710        r: *mut BIGNUM,
5711        a: *const BIGNUM,
5712        b: *const BIGNUM,
5713        m: *const BIGNUM,
5714        ctx: *mut BN_CTX,
5715    ) -> ::std::os::raw::c_int;
5716}
5717extern "C" {
5718    #[link_name = "aws_lc_0_47_0_BN_mod_sub_quick"]
5719    pub fn BN_mod_sub_quick(
5720        r: *mut BIGNUM,
5721        a: *const BIGNUM,
5722        b: *const BIGNUM,
5723        m: *const BIGNUM,
5724    ) -> ::std::os::raw::c_int;
5725}
5726extern "C" {
5727    #[link_name = "aws_lc_0_47_0_BN_mod_mul"]
5728    pub fn BN_mod_mul(
5729        r: *mut BIGNUM,
5730        a: *const BIGNUM,
5731        b: *const BIGNUM,
5732        m: *const BIGNUM,
5733        ctx: *mut BN_CTX,
5734    ) -> ::std::os::raw::c_int;
5735}
5736extern "C" {
5737    #[link_name = "aws_lc_0_47_0_BN_mod_sqr"]
5738    pub fn BN_mod_sqr(
5739        r: *mut BIGNUM,
5740        a: *const BIGNUM,
5741        m: *const BIGNUM,
5742        ctx: *mut BN_CTX,
5743    ) -> ::std::os::raw::c_int;
5744}
5745extern "C" {
5746    #[link_name = "aws_lc_0_47_0_BN_mod_lshift"]
5747    pub fn BN_mod_lshift(
5748        r: *mut BIGNUM,
5749        a: *const BIGNUM,
5750        n: ::std::os::raw::c_int,
5751        m: *const BIGNUM,
5752        ctx: *mut BN_CTX,
5753    ) -> ::std::os::raw::c_int;
5754}
5755extern "C" {
5756    #[link_name = "aws_lc_0_47_0_BN_mod_lshift_quick"]
5757    pub fn BN_mod_lshift_quick(
5758        r: *mut BIGNUM,
5759        a: *const BIGNUM,
5760        n: ::std::os::raw::c_int,
5761        m: *const BIGNUM,
5762    ) -> ::std::os::raw::c_int;
5763}
5764extern "C" {
5765    #[link_name = "aws_lc_0_47_0_BN_mod_lshift1"]
5766    pub fn BN_mod_lshift1(
5767        r: *mut BIGNUM,
5768        a: *const BIGNUM,
5769        m: *const BIGNUM,
5770        ctx: *mut BN_CTX,
5771    ) -> ::std::os::raw::c_int;
5772}
5773extern "C" {
5774    #[link_name = "aws_lc_0_47_0_BN_mod_lshift1_quick"]
5775    pub fn BN_mod_lshift1_quick(
5776        r: *mut BIGNUM,
5777        a: *const BIGNUM,
5778        m: *const BIGNUM,
5779    ) -> ::std::os::raw::c_int;
5780}
5781extern "C" {
5782    #[link_name = "aws_lc_0_47_0_BN_mod_sqrt"]
5783    pub fn BN_mod_sqrt(
5784        in_: *mut BIGNUM,
5785        a: *const BIGNUM,
5786        p: *const BIGNUM,
5787        ctx: *mut BN_CTX,
5788    ) -> *mut BIGNUM;
5789}
5790extern "C" {
5791    #[link_name = "aws_lc_0_47_0_BN_rand"]
5792    pub fn BN_rand(
5793        rnd: *mut BIGNUM,
5794        bits: ::std::os::raw::c_int,
5795        top: ::std::os::raw::c_int,
5796        bottom: ::std::os::raw::c_int,
5797    ) -> ::std::os::raw::c_int;
5798}
5799extern "C" {
5800    #[link_name = "aws_lc_0_47_0_BN_pseudo_rand"]
5801    pub fn BN_pseudo_rand(
5802        rnd: *mut BIGNUM,
5803        bits: ::std::os::raw::c_int,
5804        top: ::std::os::raw::c_int,
5805        bottom: ::std::os::raw::c_int,
5806    ) -> ::std::os::raw::c_int;
5807}
5808extern "C" {
5809    #[link_name = "aws_lc_0_47_0_BN_rand_range"]
5810    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5811}
5812extern "C" {
5813    #[link_name = "aws_lc_0_47_0_BN_rand_range_ex"]
5814    pub fn BN_rand_range_ex(
5815        r: *mut BIGNUM,
5816        min_inclusive: BN_ULONG,
5817        max_exclusive: *const BIGNUM,
5818    ) -> ::std::os::raw::c_int;
5819}
5820extern "C" {
5821    #[link_name = "aws_lc_0_47_0_BN_pseudo_rand_range"]
5822    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5823}
5824#[repr(C)]
5825#[derive(Copy, Clone)]
5826pub struct bn_gencb_st {
5827    pub type_: u8,
5828    pub arg: *mut ::std::os::raw::c_void,
5829    pub callback: bn_gencb_st__bindgen_ty_1,
5830}
5831#[repr(C)]
5832#[derive(Copy, Clone)]
5833pub union bn_gencb_st__bindgen_ty_1 {
5834    pub new_style: ::std::option::Option<
5835        unsafe extern "C" fn(
5836            event: ::std::os::raw::c_int,
5837            n: ::std::os::raw::c_int,
5838            arg1: *mut bn_gencb_st,
5839        ) -> ::std::os::raw::c_int,
5840    >,
5841    pub old_style: ::std::option::Option<
5842        unsafe extern "C" fn(
5843            arg1: ::std::os::raw::c_int,
5844            arg2: ::std::os::raw::c_int,
5845            arg3: *mut ::std::os::raw::c_void,
5846        ),
5847    >,
5848}
5849#[test]
5850fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5851    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5852        ::std::mem::MaybeUninit::uninit();
5853    let ptr = UNINIT.as_ptr();
5854    assert_eq!(
5855        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5856        8usize,
5857        "Size of bn_gencb_st__bindgen_ty_1"
5858    );
5859    assert_eq!(
5860        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5861        8usize,
5862        "Alignment of bn_gencb_st__bindgen_ty_1"
5863    );
5864    assert_eq!(
5865        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5866        0usize,
5867        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5868    );
5869    assert_eq!(
5870        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5871        0usize,
5872        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5873    );
5874}
5875impl Default for bn_gencb_st__bindgen_ty_1 {
5876    fn default() -> Self {
5877        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5878        unsafe {
5879            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5880            s.assume_init()
5881        }
5882    }
5883}
5884#[test]
5885fn bindgen_test_layout_bn_gencb_st() {
5886    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5887    let ptr = UNINIT.as_ptr();
5888    assert_eq!(
5889        ::std::mem::size_of::<bn_gencb_st>(),
5890        24usize,
5891        "Size of bn_gencb_st"
5892    );
5893    assert_eq!(
5894        ::std::mem::align_of::<bn_gencb_st>(),
5895        8usize,
5896        "Alignment of bn_gencb_st"
5897    );
5898    assert_eq!(
5899        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5900        0usize,
5901        "Offset of field: bn_gencb_st::type_"
5902    );
5903    assert_eq!(
5904        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5905        8usize,
5906        "Offset of field: bn_gencb_st::arg"
5907    );
5908    assert_eq!(
5909        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5910        16usize,
5911        "Offset of field: bn_gencb_st::callback"
5912    );
5913}
5914impl Default for bn_gencb_st {
5915    fn default() -> Self {
5916        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5917        unsafe {
5918            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5919            s.assume_init()
5920        }
5921    }
5922}
5923extern "C" {
5924    #[link_name = "aws_lc_0_47_0_BN_GENCB_new"]
5925    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5926}
5927extern "C" {
5928    #[link_name = "aws_lc_0_47_0_BN_GENCB_free"]
5929    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5930}
5931extern "C" {
5932    #[link_name = "aws_lc_0_47_0_BN_GENCB_set"]
5933    pub fn BN_GENCB_set(
5934        callback: *mut BN_GENCB,
5935        f: ::std::option::Option<
5936            unsafe extern "C" fn(
5937                event: ::std::os::raw::c_int,
5938                n: ::std::os::raw::c_int,
5939                arg1: *mut BN_GENCB,
5940            ) -> ::std::os::raw::c_int,
5941        >,
5942        arg: *mut ::std::os::raw::c_void,
5943    );
5944}
5945extern "C" {
5946    #[link_name = "aws_lc_0_47_0_BN_GENCB_call"]
5947    pub fn BN_GENCB_call(
5948        callback: *mut BN_GENCB,
5949        event: ::std::os::raw::c_int,
5950        n: ::std::os::raw::c_int,
5951    ) -> ::std::os::raw::c_int;
5952}
5953extern "C" {
5954    #[link_name = "aws_lc_0_47_0_BN_GENCB_get_arg"]
5955    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5956}
5957extern "C" {
5958    #[link_name = "aws_lc_0_47_0_BN_generate_prime_ex"]
5959    pub fn BN_generate_prime_ex(
5960        ret: *mut BIGNUM,
5961        bits: ::std::os::raw::c_int,
5962        safe: ::std::os::raw::c_int,
5963        add: *const BIGNUM,
5964        rem: *const BIGNUM,
5965        cb: *mut BN_GENCB,
5966    ) -> ::std::os::raw::c_int;
5967}
5968pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5969pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5970pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5971pub type bn_primality_result_t = ::std::os::raw::c_uint;
5972extern "C" {
5973    #[link_name = "aws_lc_0_47_0_BN_enhanced_miller_rabin_primality_test"]
5974    pub fn BN_enhanced_miller_rabin_primality_test(
5975        out_result: *mut bn_primality_result_t,
5976        w: *const BIGNUM,
5977        checks: ::std::os::raw::c_int,
5978        ctx: *mut BN_CTX,
5979        cb: *mut BN_GENCB,
5980    ) -> ::std::os::raw::c_int;
5981}
5982extern "C" {
5983    #[link_name = "aws_lc_0_47_0_BN_primality_test"]
5984    pub fn BN_primality_test(
5985        is_probably_prime: *mut ::std::os::raw::c_int,
5986        candidate: *const BIGNUM,
5987        checks: ::std::os::raw::c_int,
5988        ctx: *mut BN_CTX,
5989        do_trial_division: ::std::os::raw::c_int,
5990        cb: *mut BN_GENCB,
5991    ) -> ::std::os::raw::c_int;
5992}
5993extern "C" {
5994    #[link_name = "aws_lc_0_47_0_BN_is_prime_fasttest_ex"]
5995    pub fn BN_is_prime_fasttest_ex(
5996        candidate: *const BIGNUM,
5997        checks: ::std::os::raw::c_int,
5998        ctx: *mut BN_CTX,
5999        do_trial_division: ::std::os::raw::c_int,
6000        cb: *mut BN_GENCB,
6001    ) -> ::std::os::raw::c_int;
6002}
6003extern "C" {
6004    #[link_name = "aws_lc_0_47_0_BN_is_prime_ex"]
6005    pub fn BN_is_prime_ex(
6006        candidate: *const BIGNUM,
6007        checks: ::std::os::raw::c_int,
6008        ctx: *mut BN_CTX,
6009        cb: *mut BN_GENCB,
6010    ) -> ::std::os::raw::c_int;
6011}
6012extern "C" {
6013    #[link_name = "aws_lc_0_47_0_BN_gcd"]
6014    pub fn BN_gcd(
6015        r: *mut BIGNUM,
6016        a: *const BIGNUM,
6017        b: *const BIGNUM,
6018        ctx: *mut BN_CTX,
6019    ) -> ::std::os::raw::c_int;
6020}
6021extern "C" {
6022    #[link_name = "aws_lc_0_47_0_BN_mod_inverse"]
6023    pub fn BN_mod_inverse(
6024        out: *mut BIGNUM,
6025        a: *const BIGNUM,
6026        n: *const BIGNUM,
6027        ctx: *mut BN_CTX,
6028    ) -> *mut BIGNUM;
6029}
6030extern "C" {
6031    #[link_name = "aws_lc_0_47_0_BN_mod_inverse_blinded"]
6032    pub fn BN_mod_inverse_blinded(
6033        out: *mut BIGNUM,
6034        out_no_inverse: *mut ::std::os::raw::c_int,
6035        a: *const BIGNUM,
6036        mont: *const BN_MONT_CTX,
6037        ctx: *mut BN_CTX,
6038    ) -> ::std::os::raw::c_int;
6039}
6040extern "C" {
6041    #[link_name = "aws_lc_0_47_0_BN_mod_inverse_odd"]
6042    pub fn BN_mod_inverse_odd(
6043        out: *mut BIGNUM,
6044        out_no_inverse: *mut ::std::os::raw::c_int,
6045        a: *const BIGNUM,
6046        n: *const BIGNUM,
6047        ctx: *mut BN_CTX,
6048    ) -> ::std::os::raw::c_int;
6049}
6050extern "C" {
6051    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new_for_modulus"]
6052    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
6053}
6054extern "C" {
6055    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new_consttime"]
6056    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
6057}
6058extern "C" {
6059    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_free"]
6060    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
6061}
6062extern "C" {
6063    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_copy"]
6064    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
6065}
6066extern "C" {
6067    #[link_name = "aws_lc_0_47_0_BN_to_montgomery"]
6068    pub fn BN_to_montgomery(
6069        ret: *mut BIGNUM,
6070        a: *const BIGNUM,
6071        mont: *const BN_MONT_CTX,
6072        ctx: *mut BN_CTX,
6073    ) -> ::std::os::raw::c_int;
6074}
6075extern "C" {
6076    #[link_name = "aws_lc_0_47_0_BN_from_montgomery"]
6077    pub fn BN_from_montgomery(
6078        ret: *mut BIGNUM,
6079        a: *const BIGNUM,
6080        mont: *const BN_MONT_CTX,
6081        ctx: *mut BN_CTX,
6082    ) -> ::std::os::raw::c_int;
6083}
6084extern "C" {
6085    #[link_name = "aws_lc_0_47_0_BN_mod_mul_montgomery"]
6086    pub fn BN_mod_mul_montgomery(
6087        r: *mut BIGNUM,
6088        a: *const BIGNUM,
6089        b: *const BIGNUM,
6090        mont: *const BN_MONT_CTX,
6091        ctx: *mut BN_CTX,
6092    ) -> ::std::os::raw::c_int;
6093}
6094extern "C" {
6095    #[link_name = "aws_lc_0_47_0_BN_exp"]
6096    pub fn BN_exp(
6097        r: *mut BIGNUM,
6098        a: *const BIGNUM,
6099        p: *const BIGNUM,
6100        ctx: *mut BN_CTX,
6101    ) -> ::std::os::raw::c_int;
6102}
6103extern "C" {
6104    #[link_name = "aws_lc_0_47_0_BN_mod_exp"]
6105    pub fn BN_mod_exp(
6106        r: *mut BIGNUM,
6107        a: *const BIGNUM,
6108        p: *const BIGNUM,
6109        m: *const BIGNUM,
6110        ctx: *mut BN_CTX,
6111    ) -> ::std::os::raw::c_int;
6112}
6113extern "C" {
6114    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont"]
6115    pub fn BN_mod_exp_mont(
6116        r: *mut BIGNUM,
6117        a: *const BIGNUM,
6118        p: *const BIGNUM,
6119        m: *const BIGNUM,
6120        ctx: *mut BN_CTX,
6121        mont: *const BN_MONT_CTX,
6122    ) -> ::std::os::raw::c_int;
6123}
6124extern "C" {
6125    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_consttime"]
6126    pub fn BN_mod_exp_mont_consttime(
6127        rr: *mut BIGNUM,
6128        a: *const BIGNUM,
6129        p: *const BIGNUM,
6130        m: *const BIGNUM,
6131        ctx: *mut BN_CTX,
6132        mont: *const BN_MONT_CTX,
6133    ) -> ::std::os::raw::c_int;
6134}
6135extern "C" {
6136    #[link_name = "aws_lc_0_47_0_BN_GENCB_set_old"]
6137    pub fn BN_GENCB_set_old(
6138        callback: *mut BN_GENCB,
6139        f: ::std::option::Option<
6140            unsafe extern "C" fn(
6141                arg1: ::std::os::raw::c_int,
6142                arg2: ::std::os::raw::c_int,
6143                arg3: *mut ::std::os::raw::c_void,
6144            ),
6145        >,
6146        cb_arg: *mut ::std::os::raw::c_void,
6147    );
6148}
6149extern "C" {
6150    #[link_name = "aws_lc_0_47_0_BN_bn2mpi"]
6151    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6152}
6153extern "C" {
6154    #[link_name = "aws_lc_0_47_0_BN_mpi2bn"]
6155    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6156}
6157extern "C" {
6158    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_word"]
6159    pub fn BN_mod_exp_mont_word(
6160        r: *mut BIGNUM,
6161        a: BN_ULONG,
6162        p: *const BIGNUM,
6163        m: *const BIGNUM,
6164        ctx: *mut BN_CTX,
6165        mont: *const BN_MONT_CTX,
6166    ) -> ::std::os::raw::c_int;
6167}
6168extern "C" {
6169    #[link_name = "aws_lc_0_47_0_BN_mod_exp2_mont"]
6170    pub fn BN_mod_exp2_mont(
6171        r: *mut BIGNUM,
6172        a1: *const BIGNUM,
6173        p1: *const BIGNUM,
6174        a2: *const BIGNUM,
6175        p2: *const BIGNUM,
6176        m: *const BIGNUM,
6177        ctx: *mut BN_CTX,
6178        mont: *const BN_MONT_CTX,
6179    ) -> ::std::os::raw::c_int;
6180}
6181extern "C" {
6182    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_new"]
6183    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6184}
6185extern "C" {
6186    #[link_name = "aws_lc_0_47_0_BN_MONT_CTX_set"]
6187    pub fn BN_MONT_CTX_set(
6188        mont: *mut BN_MONT_CTX,
6189        mod_: *const BIGNUM,
6190        ctx: *mut BN_CTX,
6191    ) -> ::std::os::raw::c_int;
6192}
6193extern "C" {
6194    #[link_name = "aws_lc_0_47_0_BN_bn2binpad"]
6195    pub fn BN_bn2binpad(
6196        in_: *const BIGNUM,
6197        out: *mut u8,
6198        len: ::std::os::raw::c_int,
6199    ) -> ::std::os::raw::c_int;
6200}
6201extern "C" {
6202    #[link_name = "aws_lc_0_47_0_BN_secure_new"]
6203    pub fn BN_secure_new() -> *mut BIGNUM;
6204}
6205extern "C" {
6206    #[link_name = "aws_lc_0_47_0_BN_CTX_secure_new"]
6207    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6208}
6209extern "C" {
6210    #[link_name = "aws_lc_0_47_0_BN_mod_exp_mont_consttime_x2"]
6211    pub fn BN_mod_exp_mont_consttime_x2(
6212        rr1: *mut BIGNUM,
6213        a1: *const BIGNUM,
6214        p1: *const BIGNUM,
6215        m1: *const BIGNUM,
6216        in_mont1: *const BN_MONT_CTX,
6217        rr2: *mut BIGNUM,
6218        a2: *const BIGNUM,
6219        p2: *const BIGNUM,
6220        m2: *const BIGNUM,
6221        in_mont2: *const BN_MONT_CTX,
6222        ctx: *mut BN_CTX,
6223    ) -> ::std::os::raw::c_int;
6224}
6225extern "C" {
6226    #[link_name = "aws_lc_0_47_0_BN_set_flags"]
6227    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6228}
6229#[repr(C)]
6230#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6231pub struct bignum_st {
6232    pub d: *mut BN_ULONG,
6233    pub width: ::std::os::raw::c_int,
6234    pub dmax: ::std::os::raw::c_int,
6235    pub neg: ::std::os::raw::c_int,
6236    pub flags: ::std::os::raw::c_int,
6237}
6238#[test]
6239fn bindgen_test_layout_bignum_st() {
6240    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6241    let ptr = UNINIT.as_ptr();
6242    assert_eq!(
6243        ::std::mem::size_of::<bignum_st>(),
6244        24usize,
6245        "Size of bignum_st"
6246    );
6247    assert_eq!(
6248        ::std::mem::align_of::<bignum_st>(),
6249        8usize,
6250        "Alignment of bignum_st"
6251    );
6252    assert_eq!(
6253        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6254        0usize,
6255        "Offset of field: bignum_st::d"
6256    );
6257    assert_eq!(
6258        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6259        8usize,
6260        "Offset of field: bignum_st::width"
6261    );
6262    assert_eq!(
6263        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6264        12usize,
6265        "Offset of field: bignum_st::dmax"
6266    );
6267    assert_eq!(
6268        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6269        16usize,
6270        "Offset of field: bignum_st::neg"
6271    );
6272    assert_eq!(
6273        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6274        20usize,
6275        "Offset of field: bignum_st::flags"
6276    );
6277}
6278impl Default for bignum_st {
6279    fn default() -> Self {
6280        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6281        unsafe {
6282            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6283            s.assume_init()
6284        }
6285    }
6286}
6287#[repr(C)]
6288#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6289pub struct bn_mont_ctx_st {
6290    pub RR: BIGNUM,
6291    pub N: BIGNUM,
6292    pub n0: [BN_ULONG; 2usize],
6293}
6294#[test]
6295fn bindgen_test_layout_bn_mont_ctx_st() {
6296    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6297    let ptr = UNINIT.as_ptr();
6298    assert_eq!(
6299        ::std::mem::size_of::<bn_mont_ctx_st>(),
6300        64usize,
6301        "Size of bn_mont_ctx_st"
6302    );
6303    assert_eq!(
6304        ::std::mem::align_of::<bn_mont_ctx_st>(),
6305        8usize,
6306        "Alignment of bn_mont_ctx_st"
6307    );
6308    assert_eq!(
6309        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6310        0usize,
6311        "Offset of field: bn_mont_ctx_st::RR"
6312    );
6313    assert_eq!(
6314        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6315        24usize,
6316        "Offset of field: bn_mont_ctx_st::N"
6317    );
6318    assert_eq!(
6319        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6320        48usize,
6321        "Offset of field: bn_mont_ctx_st::n0"
6322    );
6323}
6324impl Default for bn_mont_ctx_st {
6325    fn default() -> Self {
6326        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6327        unsafe {
6328            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6329            s.assume_init()
6330        }
6331    }
6332}
6333extern "C" {
6334    #[link_name = "aws_lc_0_47_0_BN_num_bits_word"]
6335    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6336}
6337#[repr(C)]
6338#[derive(Debug)]
6339pub struct ASN1_VALUE_st {
6340    _unused: [u8; 0],
6341}
6342pub type ASN1_VALUE = ASN1_VALUE_st;
6343#[repr(C)]
6344#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6345pub struct asn1_string_st {
6346    pub length: ::std::os::raw::c_int,
6347    pub type_: ::std::os::raw::c_int,
6348    pub data: *mut ::std::os::raw::c_uchar,
6349    pub flags: ::std::os::raw::c_long,
6350}
6351#[test]
6352fn bindgen_test_layout_asn1_string_st() {
6353    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6354    let ptr = UNINIT.as_ptr();
6355    assert_eq!(
6356        ::std::mem::size_of::<asn1_string_st>(),
6357        24usize,
6358        "Size of asn1_string_st"
6359    );
6360    assert_eq!(
6361        ::std::mem::align_of::<asn1_string_st>(),
6362        8usize,
6363        "Alignment of asn1_string_st"
6364    );
6365    assert_eq!(
6366        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6367        0usize,
6368        "Offset of field: asn1_string_st::length"
6369    );
6370    assert_eq!(
6371        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6372        4usize,
6373        "Offset of field: asn1_string_st::type_"
6374    );
6375    assert_eq!(
6376        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6377        8usize,
6378        "Offset of field: asn1_string_st::data"
6379    );
6380    assert_eq!(
6381        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6382        16usize,
6383        "Offset of field: asn1_string_st::flags"
6384    );
6385}
6386impl Default for asn1_string_st {
6387    fn default() -> Self {
6388        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6389        unsafe {
6390            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6391            s.assume_init()
6392        }
6393    }
6394}
6395#[repr(C)]
6396#[derive(Copy, Clone)]
6397pub struct asn1_type_st {
6398    pub type_: ::std::os::raw::c_int,
6399    pub value: asn1_type_st__bindgen_ty_1,
6400}
6401#[repr(C)]
6402#[derive(Copy, Clone)]
6403pub union asn1_type_st__bindgen_ty_1 {
6404    pub ptr: *mut ::std::os::raw::c_char,
6405    pub boolean: ASN1_BOOLEAN,
6406    pub asn1_string: *mut ASN1_STRING,
6407    pub object: *mut ASN1_OBJECT,
6408    pub integer: *mut ASN1_INTEGER,
6409    pub enumerated: *mut ASN1_ENUMERATED,
6410    pub bit_string: *mut ASN1_BIT_STRING,
6411    pub octet_string: *mut ASN1_OCTET_STRING,
6412    pub printablestring: *mut ASN1_PRINTABLESTRING,
6413    pub t61string: *mut ASN1_T61STRING,
6414    pub ia5string: *mut ASN1_IA5STRING,
6415    pub generalstring: *mut ASN1_GENERALSTRING,
6416    pub bmpstring: *mut ASN1_BMPSTRING,
6417    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6418    pub utctime: *mut ASN1_UTCTIME,
6419    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6420    pub visiblestring: *mut ASN1_VISIBLESTRING,
6421    pub utf8string: *mut ASN1_UTF8STRING,
6422    pub set: *mut ASN1_STRING,
6423    pub sequence: *mut ASN1_STRING,
6424    pub asn1_value: *mut ASN1_VALUE,
6425}
6426#[test]
6427fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6428    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6429        ::std::mem::MaybeUninit::uninit();
6430    let ptr = UNINIT.as_ptr();
6431    assert_eq!(
6432        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6433        8usize,
6434        "Size of asn1_type_st__bindgen_ty_1"
6435    );
6436    assert_eq!(
6437        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6438        8usize,
6439        "Alignment of asn1_type_st__bindgen_ty_1"
6440    );
6441    assert_eq!(
6442        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6443        0usize,
6444        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6445    );
6446    assert_eq!(
6447        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6448        0usize,
6449        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6450    );
6451    assert_eq!(
6452        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6453        0usize,
6454        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6455    );
6456    assert_eq!(
6457        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6458        0usize,
6459        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6460    );
6461    assert_eq!(
6462        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6463        0usize,
6464        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6465    );
6466    assert_eq!(
6467        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6468        0usize,
6469        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6470    );
6471    assert_eq!(
6472        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6473        0usize,
6474        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6475    );
6476    assert_eq!(
6477        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6478        0usize,
6479        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6480    );
6481    assert_eq!(
6482        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6483        0usize,
6484        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6485    );
6486    assert_eq!(
6487        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6488        0usize,
6489        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6490    );
6491    assert_eq!(
6492        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6493        0usize,
6494        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6495    );
6496    assert_eq!(
6497        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6498        0usize,
6499        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6500    );
6501    assert_eq!(
6502        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6503        0usize,
6504        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6505    );
6506    assert_eq!(
6507        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6508        0usize,
6509        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6510    );
6511    assert_eq!(
6512        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6513        0usize,
6514        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6515    );
6516    assert_eq!(
6517        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6518        0usize,
6519        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6520    );
6521    assert_eq!(
6522        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6523        0usize,
6524        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6525    );
6526    assert_eq!(
6527        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6528        0usize,
6529        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6530    );
6531    assert_eq!(
6532        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6533        0usize,
6534        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6535    );
6536    assert_eq!(
6537        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6538        0usize,
6539        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6540    );
6541    assert_eq!(
6542        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6543        0usize,
6544        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6545    );
6546}
6547impl Default for asn1_type_st__bindgen_ty_1 {
6548    fn default() -> Self {
6549        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6550        unsafe {
6551            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6552            s.assume_init()
6553        }
6554    }
6555}
6556#[test]
6557fn bindgen_test_layout_asn1_type_st() {
6558    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6559    let ptr = UNINIT.as_ptr();
6560    assert_eq!(
6561        ::std::mem::size_of::<asn1_type_st>(),
6562        16usize,
6563        "Size of asn1_type_st"
6564    );
6565    assert_eq!(
6566        ::std::mem::align_of::<asn1_type_st>(),
6567        8usize,
6568        "Alignment of asn1_type_st"
6569    );
6570    assert_eq!(
6571        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6572        0usize,
6573        "Offset of field: asn1_type_st::type_"
6574    );
6575    assert_eq!(
6576        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6577        8usize,
6578        "Offset of field: asn1_type_st::value"
6579    );
6580}
6581impl Default for asn1_type_st {
6582    fn default() -> Self {
6583        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6584        unsafe {
6585            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6586            s.assume_init()
6587        }
6588    }
6589}
6590pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6591#[repr(C)]
6592#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6593pub struct ASN1_TEMPLATE_st {
6594    pub flags: u32,
6595    pub tag: ::std::os::raw::c_int,
6596    pub offset: ::std::os::raw::c_ulong,
6597    pub field_name: *const ::std::os::raw::c_char,
6598    pub item: *const ASN1_ITEM_st,
6599}
6600#[test]
6601fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6602    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6603    let ptr = UNINIT.as_ptr();
6604    assert_eq!(
6605        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6606        32usize,
6607        "Size of ASN1_TEMPLATE_st"
6608    );
6609    assert_eq!(
6610        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6611        8usize,
6612        "Alignment of ASN1_TEMPLATE_st"
6613    );
6614    assert_eq!(
6615        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6616        0usize,
6617        "Offset of field: ASN1_TEMPLATE_st::flags"
6618    );
6619    assert_eq!(
6620        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6621        4usize,
6622        "Offset of field: ASN1_TEMPLATE_st::tag"
6623    );
6624    assert_eq!(
6625        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6626        8usize,
6627        "Offset of field: ASN1_TEMPLATE_st::offset"
6628    );
6629    assert_eq!(
6630        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6631        16usize,
6632        "Offset of field: ASN1_TEMPLATE_st::field_name"
6633    );
6634    assert_eq!(
6635        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6636        24usize,
6637        "Offset of field: ASN1_TEMPLATE_st::item"
6638    );
6639}
6640impl Default for ASN1_TEMPLATE_st {
6641    fn default() -> Self {
6642        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6643        unsafe {
6644            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6645            s.assume_init()
6646        }
6647    }
6648}
6649#[repr(C)]
6650#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6651pub struct ASN1_ITEM_st {
6652    pub itype: ::std::os::raw::c_char,
6653    pub utype: ::std::os::raw::c_int,
6654    pub templates: *const ASN1_TEMPLATE,
6655    pub tcount: ::std::os::raw::c_long,
6656    pub funcs: *const ::std::os::raw::c_void,
6657    pub size: ::std::os::raw::c_long,
6658    pub sname: *const ::std::os::raw::c_char,
6659}
6660#[test]
6661fn bindgen_test_layout_ASN1_ITEM_st() {
6662    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6663    let ptr = UNINIT.as_ptr();
6664    assert_eq!(
6665        ::std::mem::size_of::<ASN1_ITEM_st>(),
6666        48usize,
6667        "Size of ASN1_ITEM_st"
6668    );
6669    assert_eq!(
6670        ::std::mem::align_of::<ASN1_ITEM_st>(),
6671        8usize,
6672        "Alignment of ASN1_ITEM_st"
6673    );
6674    assert_eq!(
6675        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6676        0usize,
6677        "Offset of field: ASN1_ITEM_st::itype"
6678    );
6679    assert_eq!(
6680        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6681        4usize,
6682        "Offset of field: ASN1_ITEM_st::utype"
6683    );
6684    assert_eq!(
6685        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6686        8usize,
6687        "Offset of field: ASN1_ITEM_st::templates"
6688    );
6689    assert_eq!(
6690        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6691        16usize,
6692        "Offset of field: ASN1_ITEM_st::tcount"
6693    );
6694    assert_eq!(
6695        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6696        24usize,
6697        "Offset of field: ASN1_ITEM_st::funcs"
6698    );
6699    assert_eq!(
6700        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6701        32usize,
6702        "Offset of field: ASN1_ITEM_st::size"
6703    );
6704    assert_eq!(
6705        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6706        40usize,
6707        "Offset of field: ASN1_ITEM_st::sname"
6708    );
6709}
6710impl Default for ASN1_ITEM_st {
6711    fn default() -> Self {
6712        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6713        unsafe {
6714            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6715            s.assume_init()
6716        }
6717    }
6718}
6719#[repr(C)]
6720#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6721pub struct evp_encode_ctx_st {
6722    pub data_used: ::std::os::raw::c_uint,
6723    pub data: [u8; 48usize],
6724    pub eof_seen: ::std::os::raw::c_char,
6725    pub error_encountered: ::std::os::raw::c_char,
6726}
6727#[test]
6728fn bindgen_test_layout_evp_encode_ctx_st() {
6729    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6730    let ptr = UNINIT.as_ptr();
6731    assert_eq!(
6732        ::std::mem::size_of::<evp_encode_ctx_st>(),
6733        56usize,
6734        "Size of evp_encode_ctx_st"
6735    );
6736    assert_eq!(
6737        ::std::mem::align_of::<evp_encode_ctx_st>(),
6738        4usize,
6739        "Alignment of evp_encode_ctx_st"
6740    );
6741    assert_eq!(
6742        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6743        0usize,
6744        "Offset of field: evp_encode_ctx_st::data_used"
6745    );
6746    assert_eq!(
6747        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6748        4usize,
6749        "Offset of field: evp_encode_ctx_st::data"
6750    );
6751    assert_eq!(
6752        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6753        52usize,
6754        "Offset of field: evp_encode_ctx_st::eof_seen"
6755    );
6756    assert_eq!(
6757        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6758        53usize,
6759        "Offset of field: evp_encode_ctx_st::error_encountered"
6760    );
6761}
6762impl Default for evp_encode_ctx_st {
6763    fn default() -> Self {
6764        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6765        unsafe {
6766            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6767            s.assume_init()
6768        }
6769    }
6770}
6771#[repr(C)]
6772#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6773pub struct blake2b_state_st {
6774    pub h: [u64; 8usize],
6775    pub t_low: u64,
6776    pub t_high: u64,
6777    pub block: [u8; 128usize],
6778    pub block_used: usize,
6779}
6780#[test]
6781fn bindgen_test_layout_blake2b_state_st() {
6782    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6783    let ptr = UNINIT.as_ptr();
6784    assert_eq!(
6785        ::std::mem::size_of::<blake2b_state_st>(),
6786        216usize,
6787        "Size of blake2b_state_st"
6788    );
6789    assert_eq!(
6790        ::std::mem::align_of::<blake2b_state_st>(),
6791        8usize,
6792        "Alignment of blake2b_state_st"
6793    );
6794    assert_eq!(
6795        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6796        0usize,
6797        "Offset of field: blake2b_state_st::h"
6798    );
6799    assert_eq!(
6800        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6801        64usize,
6802        "Offset of field: blake2b_state_st::t_low"
6803    );
6804    assert_eq!(
6805        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6806        72usize,
6807        "Offset of field: blake2b_state_st::t_high"
6808    );
6809    assert_eq!(
6810        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6811        80usize,
6812        "Offset of field: blake2b_state_st::block"
6813    );
6814    assert_eq!(
6815        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6816        208usize,
6817        "Offset of field: blake2b_state_st::block_used"
6818    );
6819}
6820impl Default for blake2b_state_st {
6821    fn default() -> Self {
6822        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6823        unsafe {
6824            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6825            s.assume_init()
6826        }
6827    }
6828}
6829#[repr(C)]
6830#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6831pub struct cbs_st {
6832    pub data: *const u8,
6833    pub len: usize,
6834}
6835#[test]
6836fn bindgen_test_layout_cbs_st() {
6837    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6838    let ptr = UNINIT.as_ptr();
6839    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6840    assert_eq!(
6841        ::std::mem::align_of::<cbs_st>(),
6842        8usize,
6843        "Alignment of cbs_st"
6844    );
6845    assert_eq!(
6846        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6847        0usize,
6848        "Offset of field: cbs_st::data"
6849    );
6850    assert_eq!(
6851        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6852        8usize,
6853        "Offset of field: cbs_st::len"
6854    );
6855}
6856impl Default for cbs_st {
6857    fn default() -> Self {
6858        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6859        unsafe {
6860            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6861            s.assume_init()
6862        }
6863    }
6864}
6865extern "C" {
6866    #[link_name = "aws_lc_0_47_0_CBS_init"]
6867    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6868}
6869extern "C" {
6870    #[link_name = "aws_lc_0_47_0_CBS_skip"]
6871    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    #[link_name = "aws_lc_0_47_0_CBS_data"]
6875    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6876}
6877extern "C" {
6878    #[link_name = "aws_lc_0_47_0_CBS_len"]
6879    pub fn CBS_len(cbs: *const CBS) -> usize;
6880}
6881extern "C" {
6882    #[link_name = "aws_lc_0_47_0_CBS_stow"]
6883    pub fn CBS_stow(
6884        cbs: *const CBS,
6885        out_ptr: *mut *mut u8,
6886        out_len: *mut usize,
6887    ) -> ::std::os::raw::c_int;
6888}
6889extern "C" {
6890    #[link_name = "aws_lc_0_47_0_CBS_strdup"]
6891    pub fn CBS_strdup(
6892        cbs: *const CBS,
6893        out_ptr: *mut *mut ::std::os::raw::c_char,
6894    ) -> ::std::os::raw::c_int;
6895}
6896extern "C" {
6897    #[link_name = "aws_lc_0_47_0_CBS_contains_zero_byte"]
6898    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6899}
6900extern "C" {
6901    #[link_name = "aws_lc_0_47_0_CBS_mem_equal"]
6902    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6903}
6904extern "C" {
6905    #[link_name = "aws_lc_0_47_0_CBS_get_u8"]
6906    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6907}
6908extern "C" {
6909    #[link_name = "aws_lc_0_47_0_CBS_get_u16"]
6910    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6911}
6912extern "C" {
6913    #[link_name = "aws_lc_0_47_0_CBS_get_u16le"]
6914    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6915}
6916extern "C" {
6917    #[link_name = "aws_lc_0_47_0_CBS_get_u24"]
6918    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6919}
6920extern "C" {
6921    #[link_name = "aws_lc_0_47_0_CBS_get_u32"]
6922    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6923}
6924extern "C" {
6925    #[link_name = "aws_lc_0_47_0_CBS_get_u32le"]
6926    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6927}
6928extern "C" {
6929    #[link_name = "aws_lc_0_47_0_CBS_get_u64"]
6930    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6931}
6932extern "C" {
6933    #[link_name = "aws_lc_0_47_0_CBS_get_u64le"]
6934    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6935}
6936extern "C" {
6937    #[link_name = "aws_lc_0_47_0_CBS_get_last_u8"]
6938    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6939}
6940extern "C" {
6941    #[link_name = "aws_lc_0_47_0_CBS_get_bytes"]
6942    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6943}
6944extern "C" {
6945    #[link_name = "aws_lc_0_47_0_CBS_copy_bytes"]
6946    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6947}
6948extern "C" {
6949    #[link_name = "aws_lc_0_47_0_CBS_get_u8_length_prefixed"]
6950    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6951}
6952extern "C" {
6953    #[link_name = "aws_lc_0_47_0_CBS_get_u16_length_prefixed"]
6954    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6955}
6956extern "C" {
6957    #[link_name = "aws_lc_0_47_0_CBS_get_u24_length_prefixed"]
6958    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6959}
6960extern "C" {
6961    #[link_name = "aws_lc_0_47_0_CBS_get_until_first"]
6962    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6963}
6964extern "C" {
6965    #[link_name = "aws_lc_0_47_0_CBS_get_u64_decimal"]
6966    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6967}
6968extern "C" {
6969    #[link_name = "aws_lc_0_47_0_CBS_get_asn1"]
6970    pub fn CBS_get_asn1(
6971        cbs: *mut CBS,
6972        out: *mut CBS,
6973        tag_value: CBS_ASN1_TAG,
6974    ) -> ::std::os::raw::c_int;
6975}
6976extern "C" {
6977    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_element"]
6978    pub fn CBS_get_asn1_element(
6979        cbs: *mut CBS,
6980        out: *mut CBS,
6981        tag_value: CBS_ASN1_TAG,
6982    ) -> ::std::os::raw::c_int;
6983}
6984extern "C" {
6985    #[link_name = "aws_lc_0_47_0_CBS_peek_asn1_tag"]
6986    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6987}
6988extern "C" {
6989    #[link_name = "aws_lc_0_47_0_CBS_get_any_asn1"]
6990    pub fn CBS_get_any_asn1(
6991        cbs: *mut CBS,
6992        out: *mut CBS,
6993        out_tag: *mut CBS_ASN1_TAG,
6994    ) -> ::std::os::raw::c_int;
6995}
6996extern "C" {
6997    #[link_name = "aws_lc_0_47_0_CBS_get_any_asn1_element"]
6998    pub fn CBS_get_any_asn1_element(
6999        cbs: *mut CBS,
7000        out: *mut CBS,
7001        out_tag: *mut CBS_ASN1_TAG,
7002        out_header_len: *mut usize,
7003    ) -> ::std::os::raw::c_int;
7004}
7005extern "C" {
7006    #[link_name = "aws_lc_0_47_0_CBS_get_any_ber_asn1_element"]
7007    pub fn CBS_get_any_ber_asn1_element(
7008        cbs: *mut CBS,
7009        out: *mut CBS,
7010        out_tag: *mut CBS_ASN1_TAG,
7011        out_header_len: *mut usize,
7012        out_ber_found: *mut ::std::os::raw::c_int,
7013        out_indefinite: *mut ::std::os::raw::c_int,
7014    ) -> ::std::os::raw::c_int;
7015}
7016extern "C" {
7017    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_uint64"]
7018    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
7019}
7020extern "C" {
7021    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_int64"]
7022    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
7023}
7024extern "C" {
7025    #[link_name = "aws_lc_0_47_0_CBS_get_asn1_bool"]
7026    pub fn CBS_get_asn1_bool(
7027        cbs: *mut CBS,
7028        out: *mut ::std::os::raw::c_int,
7029    ) -> ::std::os::raw::c_int;
7030}
7031extern "C" {
7032    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1"]
7033    pub fn CBS_get_optional_asn1(
7034        cbs: *mut CBS,
7035        out: *mut CBS,
7036        out_present: *mut ::std::os::raw::c_int,
7037        tag: CBS_ASN1_TAG,
7038    ) -> ::std::os::raw::c_int;
7039}
7040extern "C" {
7041    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_octet_string"]
7042    pub fn CBS_get_optional_asn1_octet_string(
7043        cbs: *mut CBS,
7044        out: *mut CBS,
7045        out_present: *mut ::std::os::raw::c_int,
7046        tag: CBS_ASN1_TAG,
7047    ) -> ::std::os::raw::c_int;
7048}
7049extern "C" {
7050    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_uint64"]
7051    pub fn CBS_get_optional_asn1_uint64(
7052        cbs: *mut CBS,
7053        out: *mut u64,
7054        tag: CBS_ASN1_TAG,
7055        default_value: u64,
7056    ) -> ::std::os::raw::c_int;
7057}
7058extern "C" {
7059    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_bool"]
7060    pub fn CBS_get_optional_asn1_bool(
7061        cbs: *mut CBS,
7062        out: *mut ::std::os::raw::c_int,
7063        tag: CBS_ASN1_TAG,
7064        default_value: ::std::os::raw::c_int,
7065    ) -> ::std::os::raw::c_int;
7066}
7067extern "C" {
7068    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_bitstring"]
7069    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
7070}
7071extern "C" {
7072    #[link_name = "aws_lc_0_47_0_CBS_asn1_bitstring_has_bit"]
7073    pub fn CBS_asn1_bitstring_has_bit(
7074        cbs: *const CBS,
7075        bit: ::std::os::raw::c_uint,
7076    ) -> ::std::os::raw::c_int;
7077}
7078extern "C" {
7079    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_integer"]
7080    pub fn CBS_is_valid_asn1_integer(
7081        cbs: *const CBS,
7082        out_is_negative: *mut ::std::os::raw::c_int,
7083    ) -> ::std::os::raw::c_int;
7084}
7085extern "C" {
7086    #[link_name = "aws_lc_0_47_0_CBS_is_unsigned_asn1_integer"]
7087    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
7088}
7089extern "C" {
7090    #[link_name = "aws_lc_0_47_0_CBS_is_valid_asn1_oid"]
7091    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
7092}
7093extern "C" {
7094    #[link_name = "aws_lc_0_47_0_CBS_asn1_oid_to_text"]
7095    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
7096}
7097extern "C" {
7098    #[link_name = "aws_lc_0_47_0_CBS_get_optional_asn1_int64"]
7099    pub fn CBS_get_optional_asn1_int64(
7100        cbs: *mut CBS,
7101        out: *mut i64,
7102        tag: CBS_ASN1_TAG,
7103        default_value: i64,
7104    ) -> ::std::os::raw::c_int;
7105}
7106#[repr(C)]
7107#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7108pub struct cbb_buffer_st {
7109    pub buf: *mut u8,
7110    pub len: usize,
7111    pub cap: usize,
7112    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7113    pub __bindgen_padding_0: [u8; 7usize],
7114}
7115#[test]
7116fn bindgen_test_layout_cbb_buffer_st() {
7117    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
7118    let ptr = UNINIT.as_ptr();
7119    assert_eq!(
7120        ::std::mem::size_of::<cbb_buffer_st>(),
7121        32usize,
7122        "Size of cbb_buffer_st"
7123    );
7124    assert_eq!(
7125        ::std::mem::align_of::<cbb_buffer_st>(),
7126        8usize,
7127        "Alignment of cbb_buffer_st"
7128    );
7129    assert_eq!(
7130        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7131        0usize,
7132        "Offset of field: cbb_buffer_st::buf"
7133    );
7134    assert_eq!(
7135        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7136        8usize,
7137        "Offset of field: cbb_buffer_st::len"
7138    );
7139    assert_eq!(
7140        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7141        16usize,
7142        "Offset of field: cbb_buffer_st::cap"
7143    );
7144}
7145impl Default for cbb_buffer_st {
7146    fn default() -> Self {
7147        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7148        unsafe {
7149            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7150            s.assume_init()
7151        }
7152    }
7153}
7154impl cbb_buffer_st {
7155    #[inline]
7156    #[allow(unnecessary_transmutes)]
7157    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7158        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
7159    }
7160    #[inline]
7161    #[allow(unnecessary_transmutes)]
7162    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7163        unsafe {
7164            let val: u32 = ::std::mem::transmute(val);
7165            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
7166        }
7167    }
7168    #[inline]
7169    #[allow(unnecessary_transmutes)]
7170    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7171        unsafe {
7172            ::std::mem::transmute(
7173                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
7174                    ::std::ptr::addr_of!((*this)._bitfield_1),
7175                ) as u32,
7176            )
7177        }
7178    }
7179    #[inline]
7180    #[allow(unnecessary_transmutes)]
7181    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7182        unsafe {
7183            let val: u32 = ::std::mem::transmute(val);
7184            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
7185                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7186                val as u64,
7187            )
7188        }
7189    }
7190    #[inline]
7191    #[allow(unnecessary_transmutes)]
7192    pub fn error(&self) -> ::std::os::raw::c_uint {
7193        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<1usize, 1u8>() as u32) }
7194    }
7195    #[inline]
7196    #[allow(unnecessary_transmutes)]
7197    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7198        unsafe {
7199            let val: u32 = ::std::mem::transmute(val);
7200            self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
7201        }
7202    }
7203    #[inline]
7204    #[allow(unnecessary_transmutes)]
7205    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7206        unsafe {
7207            ::std::mem::transmute(
7208                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
7209                    ::std::ptr::addr_of!((*this)._bitfield_1),
7210                ) as u32,
7211            )
7212        }
7213    }
7214    #[inline]
7215    #[allow(unnecessary_transmutes)]
7216    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7217        unsafe {
7218            let val: u32 = ::std::mem::transmute(val);
7219            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
7220                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7221                val as u64,
7222            )
7223        }
7224    }
7225    #[inline]
7226    #[allow(unnecessary_transmutes)]
7227    pub fn new_bitfield_1(
7228        can_resize: ::std::os::raw::c_uint,
7229        error: ::std::os::raw::c_uint,
7230    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7231        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7232        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
7233            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7234            can_resize as u64
7235        });
7236        __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
7237            let error: u32 = unsafe { ::std::mem::transmute(error) };
7238            error as u64
7239        });
7240        __bindgen_bitfield_unit
7241    }
7242}
7243#[repr(C)]
7244#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7245pub struct cbb_child_st {
7246    pub base: *mut cbb_buffer_st,
7247    pub offset: usize,
7248    pub pending_len_len: u8,
7249    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7250    pub __bindgen_padding_0: [u16; 3usize],
7251}
7252#[test]
7253fn bindgen_test_layout_cbb_child_st() {
7254    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7255    let ptr = UNINIT.as_ptr();
7256    assert_eq!(
7257        ::std::mem::size_of::<cbb_child_st>(),
7258        24usize,
7259        "Size of cbb_child_st"
7260    );
7261    assert_eq!(
7262        ::std::mem::align_of::<cbb_child_st>(),
7263        8usize,
7264        "Alignment of cbb_child_st"
7265    );
7266    assert_eq!(
7267        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7268        0usize,
7269        "Offset of field: cbb_child_st::base"
7270    );
7271    assert_eq!(
7272        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7273        8usize,
7274        "Offset of field: cbb_child_st::offset"
7275    );
7276    assert_eq!(
7277        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7278        16usize,
7279        "Offset of field: cbb_child_st::pending_len_len"
7280    );
7281}
7282impl Default for cbb_child_st {
7283    fn default() -> Self {
7284        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7285        unsafe {
7286            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7287            s.assume_init()
7288        }
7289    }
7290}
7291impl cbb_child_st {
7292    #[inline]
7293    #[allow(unnecessary_transmutes)]
7294    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7295        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
7296    }
7297    #[inline]
7298    #[allow(unnecessary_transmutes)]
7299    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7300        unsafe {
7301            let val: u32 = ::std::mem::transmute(val);
7302            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
7303        }
7304    }
7305    #[inline]
7306    #[allow(unnecessary_transmutes)]
7307    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7308        unsafe {
7309            ::std::mem::transmute(
7310                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
7311                    ::std::ptr::addr_of!((*this)._bitfield_1),
7312                ) as u32,
7313            )
7314        }
7315    }
7316    #[inline]
7317    #[allow(unnecessary_transmutes)]
7318    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7319        unsafe {
7320            let val: u32 = ::std::mem::transmute(val);
7321            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
7322                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7323                val as u64,
7324            )
7325        }
7326    }
7327    #[inline]
7328    #[allow(unnecessary_transmutes)]
7329    pub fn new_bitfield_1(
7330        pending_is_asn1: ::std::os::raw::c_uint,
7331    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7332        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7333        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
7334            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7335            pending_is_asn1 as u64
7336        });
7337        __bindgen_bitfield_unit
7338    }
7339}
7340#[repr(C)]
7341#[derive(Copy, Clone)]
7342pub struct cbb_st {
7343    pub child: *mut CBB,
7344    pub is_child: ::std::os::raw::c_char,
7345    pub u: cbb_st__bindgen_ty_1,
7346}
7347#[repr(C)]
7348#[derive(Copy, Clone)]
7349pub union cbb_st__bindgen_ty_1 {
7350    pub base: cbb_buffer_st,
7351    pub child: cbb_child_st,
7352}
7353#[test]
7354fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7355    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7356    let ptr = UNINIT.as_ptr();
7357    assert_eq!(
7358        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7359        32usize,
7360        "Size of cbb_st__bindgen_ty_1"
7361    );
7362    assert_eq!(
7363        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7364        8usize,
7365        "Alignment of cbb_st__bindgen_ty_1"
7366    );
7367    assert_eq!(
7368        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7369        0usize,
7370        "Offset of field: cbb_st__bindgen_ty_1::base"
7371    );
7372    assert_eq!(
7373        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7374        0usize,
7375        "Offset of field: cbb_st__bindgen_ty_1::child"
7376    );
7377}
7378impl Default for cbb_st__bindgen_ty_1 {
7379    fn default() -> Self {
7380        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7381        unsafe {
7382            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7383            s.assume_init()
7384        }
7385    }
7386}
7387#[test]
7388fn bindgen_test_layout_cbb_st() {
7389    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7390    let ptr = UNINIT.as_ptr();
7391    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7392    assert_eq!(
7393        ::std::mem::align_of::<cbb_st>(),
7394        8usize,
7395        "Alignment of cbb_st"
7396    );
7397    assert_eq!(
7398        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7399        0usize,
7400        "Offset of field: cbb_st::child"
7401    );
7402    assert_eq!(
7403        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7404        8usize,
7405        "Offset of field: cbb_st::is_child"
7406    );
7407    assert_eq!(
7408        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7409        16usize,
7410        "Offset of field: cbb_st::u"
7411    );
7412}
7413impl Default for cbb_st {
7414    fn default() -> Self {
7415        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7416        unsafe {
7417            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7418            s.assume_init()
7419        }
7420    }
7421}
7422extern "C" {
7423    #[link_name = "aws_lc_0_47_0_CBB_zero"]
7424    pub fn CBB_zero(cbb: *mut CBB);
7425}
7426extern "C" {
7427    #[link_name = "aws_lc_0_47_0_CBB_init"]
7428    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7429}
7430extern "C" {
7431    #[link_name = "aws_lc_0_47_0_CBB_init_fixed"]
7432    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7433}
7434extern "C" {
7435    #[link_name = "aws_lc_0_47_0_CBB_cleanup"]
7436    pub fn CBB_cleanup(cbb: *mut CBB);
7437}
7438extern "C" {
7439    #[link_name = "aws_lc_0_47_0_CBB_finish"]
7440    pub fn CBB_finish(
7441        cbb: *mut CBB,
7442        out_data: *mut *mut u8,
7443        out_len: *mut usize,
7444    ) -> ::std::os::raw::c_int;
7445}
7446extern "C" {
7447    #[link_name = "aws_lc_0_47_0_CBB_flush"]
7448    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7449}
7450extern "C" {
7451    #[link_name = "aws_lc_0_47_0_CBB_data"]
7452    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7453}
7454extern "C" {
7455    #[link_name = "aws_lc_0_47_0_CBB_len"]
7456    pub fn CBB_len(cbb: *const CBB) -> usize;
7457}
7458extern "C" {
7459    #[link_name = "aws_lc_0_47_0_CBB_add_u8_length_prefixed"]
7460    pub fn CBB_add_u8_length_prefixed(
7461        cbb: *mut CBB,
7462        out_contents: *mut CBB,
7463    ) -> ::std::os::raw::c_int;
7464}
7465extern "C" {
7466    #[link_name = "aws_lc_0_47_0_CBB_add_u16_length_prefixed"]
7467    pub fn CBB_add_u16_length_prefixed(
7468        cbb: *mut CBB,
7469        out_contents: *mut CBB,
7470    ) -> ::std::os::raw::c_int;
7471}
7472extern "C" {
7473    #[link_name = "aws_lc_0_47_0_CBB_add_u24_length_prefixed"]
7474    pub fn CBB_add_u24_length_prefixed(
7475        cbb: *mut CBB,
7476        out_contents: *mut CBB,
7477    ) -> ::std::os::raw::c_int;
7478}
7479extern "C" {
7480    #[link_name = "aws_lc_0_47_0_CBB_add_asn1"]
7481    pub fn CBB_add_asn1(
7482        cbb: *mut CBB,
7483        out_contents: *mut CBB,
7484        tag: CBS_ASN1_TAG,
7485    ) -> ::std::os::raw::c_int;
7486}
7487extern "C" {
7488    #[link_name = "aws_lc_0_47_0_CBB_add_bytes"]
7489    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7490}
7491extern "C" {
7492    #[link_name = "aws_lc_0_47_0_CBB_add_zeros"]
7493    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7494}
7495extern "C" {
7496    #[link_name = "aws_lc_0_47_0_CBB_add_space"]
7497    pub fn CBB_add_space(
7498        cbb: *mut CBB,
7499        out_data: *mut *mut u8,
7500        len: usize,
7501    ) -> ::std::os::raw::c_int;
7502}
7503extern "C" {
7504    #[link_name = "aws_lc_0_47_0_CBB_reserve"]
7505    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7506}
7507extern "C" {
7508    #[link_name = "aws_lc_0_47_0_CBB_did_write"]
7509    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7510}
7511extern "C" {
7512    #[link_name = "aws_lc_0_47_0_CBB_add_u8"]
7513    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7514}
7515extern "C" {
7516    #[link_name = "aws_lc_0_47_0_CBB_add_u16"]
7517    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7518}
7519extern "C" {
7520    #[link_name = "aws_lc_0_47_0_CBB_add_u16le"]
7521    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7522}
7523extern "C" {
7524    #[link_name = "aws_lc_0_47_0_CBB_add_u24"]
7525    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7526}
7527extern "C" {
7528    #[link_name = "aws_lc_0_47_0_CBB_add_u32"]
7529    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7530}
7531extern "C" {
7532    #[link_name = "aws_lc_0_47_0_CBB_add_u32le"]
7533    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7534}
7535extern "C" {
7536    #[link_name = "aws_lc_0_47_0_CBB_add_u64"]
7537    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7538}
7539extern "C" {
7540    #[link_name = "aws_lc_0_47_0_CBB_add_u64le"]
7541    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7542}
7543extern "C" {
7544    #[link_name = "aws_lc_0_47_0_CBB_discard_child"]
7545    pub fn CBB_discard_child(cbb: *mut CBB);
7546}
7547extern "C" {
7548    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_uint64"]
7549    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7550}
7551extern "C" {
7552    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_uint64_with_tag"]
7553    pub fn CBB_add_asn1_uint64_with_tag(
7554        cbb: *mut CBB,
7555        value: u64,
7556        tag: CBS_ASN1_TAG,
7557    ) -> ::std::os::raw::c_int;
7558}
7559extern "C" {
7560    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_int64"]
7561    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7562}
7563extern "C" {
7564    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_int64_with_tag"]
7565    pub fn CBB_add_asn1_int64_with_tag(
7566        cbb: *mut CBB,
7567        value: i64,
7568        tag: CBS_ASN1_TAG,
7569    ) -> ::std::os::raw::c_int;
7570}
7571extern "C" {
7572    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_octet_string"]
7573    pub fn CBB_add_asn1_octet_string(
7574        cbb: *mut CBB,
7575        data: *const u8,
7576        data_len: usize,
7577    ) -> ::std::os::raw::c_int;
7578}
7579extern "C" {
7580    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_bool"]
7581    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7582}
7583extern "C" {
7584    #[link_name = "aws_lc_0_47_0_CBB_add_asn1_oid_from_text"]
7585    pub fn CBB_add_asn1_oid_from_text(
7586        cbb: *mut CBB,
7587        text: *const ::std::os::raw::c_char,
7588        len: usize,
7589    ) -> ::std::os::raw::c_int;
7590}
7591extern "C" {
7592    #[link_name = "aws_lc_0_47_0_CBB_flush_asn1_set_of"]
7593    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7594}
7595extern "C" {
7596    #[link_name = "aws_lc_0_47_0_CRYPTO_chacha_20"]
7597    pub fn CRYPTO_chacha_20(
7598        out: *mut u8,
7599        in_: *const u8,
7600        in_len: usize,
7601        key: *const u8,
7602        nonce: *const u8,
7603        counter: u32,
7604    );
7605}
7606extern "C" {
7607    #[link_name = "aws_lc_0_47_0_EVP_rc4"]
7608    pub fn EVP_rc4() -> *const EVP_CIPHER;
7609}
7610extern "C" {
7611    #[link_name = "aws_lc_0_47_0_EVP_des_cbc"]
7612    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7613}
7614extern "C" {
7615    #[link_name = "aws_lc_0_47_0_EVP_des_ecb"]
7616    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7617}
7618extern "C" {
7619    #[link_name = "aws_lc_0_47_0_EVP_des_ede"]
7620    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7621}
7622extern "C" {
7623    #[link_name = "aws_lc_0_47_0_EVP_des_ede3"]
7624    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7625}
7626extern "C" {
7627    #[link_name = "aws_lc_0_47_0_EVP_des_ede_cbc"]
7628    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7629}
7630extern "C" {
7631    #[link_name = "aws_lc_0_47_0_EVP_des_ede3_cbc"]
7632    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7633}
7634extern "C" {
7635    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ecb"]
7636    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7637}
7638extern "C" {
7639    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc"]
7640    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7641}
7642extern "C" {
7643    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ctr"]
7644    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7645}
7646extern "C" {
7647    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ofb"]
7648    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7649}
7650extern "C" {
7651    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ecb"]
7652    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7653}
7654extern "C" {
7655    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc"]
7656    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7657}
7658extern "C" {
7659    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ctr"]
7660    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7661}
7662extern "C" {
7663    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ofb"]
7664    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7665}
7666extern "C" {
7667    #[link_name = "aws_lc_0_47_0_EVP_aes_256_xts"]
7668    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7669}
7670extern "C" {
7671    #[link_name = "aws_lc_0_47_0_EVP_aes_256_wrap"]
7672    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7673}
7674extern "C" {
7675    #[link_name = "aws_lc_0_47_0_EVP_enc_null"]
7676    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7677}
7678extern "C" {
7679    #[link_name = "aws_lc_0_47_0_EVP_rc2_cbc"]
7680    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7681}
7682extern "C" {
7683    #[link_name = "aws_lc_0_47_0_EVP_rc2_40_cbc"]
7684    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7685}
7686extern "C" {
7687    #[link_name = "aws_lc_0_47_0_EVP_chacha20_poly1305"]
7688    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7689}
7690extern "C" {
7691    #[link_name = "aws_lc_0_47_0_EVP_get_cipherbynid"]
7692    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7693}
7694extern "C" {
7695    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_init"]
7696    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7697}
7698extern "C" {
7699    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_new"]
7700    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7701}
7702extern "C" {
7703    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_cleanup"]
7704    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7705}
7706extern "C" {
7707    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_free"]
7708    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7709}
7710extern "C" {
7711    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_copy"]
7712    pub fn EVP_CIPHER_CTX_copy(
7713        out: *mut EVP_CIPHER_CTX,
7714        in_: *const EVP_CIPHER_CTX,
7715    ) -> ::std::os::raw::c_int;
7716}
7717extern "C" {
7718    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_reset"]
7719    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7720}
7721extern "C" {
7722    #[link_name = "aws_lc_0_47_0_EVP_CipherInit_ex"]
7723    pub fn EVP_CipherInit_ex(
7724        ctx: *mut EVP_CIPHER_CTX,
7725        cipher: *const EVP_CIPHER,
7726        engine: *mut ENGINE,
7727        key: *const u8,
7728        iv: *const u8,
7729        enc: ::std::os::raw::c_int,
7730    ) -> ::std::os::raw::c_int;
7731}
7732extern "C" {
7733    #[link_name = "aws_lc_0_47_0_EVP_EncryptInit_ex"]
7734    pub fn EVP_EncryptInit_ex(
7735        ctx: *mut EVP_CIPHER_CTX,
7736        cipher: *const EVP_CIPHER,
7737        impl_: *mut ENGINE,
7738        key: *const u8,
7739        iv: *const u8,
7740    ) -> ::std::os::raw::c_int;
7741}
7742extern "C" {
7743    #[link_name = "aws_lc_0_47_0_EVP_DecryptInit_ex"]
7744    pub fn EVP_DecryptInit_ex(
7745        ctx: *mut EVP_CIPHER_CTX,
7746        cipher: *const EVP_CIPHER,
7747        impl_: *mut ENGINE,
7748        key: *const u8,
7749        iv: *const u8,
7750    ) -> ::std::os::raw::c_int;
7751}
7752extern "C" {
7753    #[link_name = "aws_lc_0_47_0_EVP_EncryptUpdate"]
7754    pub fn EVP_EncryptUpdate(
7755        ctx: *mut EVP_CIPHER_CTX,
7756        out: *mut u8,
7757        out_len: *mut ::std::os::raw::c_int,
7758        in_: *const u8,
7759        in_len: ::std::os::raw::c_int,
7760    ) -> ::std::os::raw::c_int;
7761}
7762extern "C" {
7763    #[link_name = "aws_lc_0_47_0_EVP_EncryptFinal_ex"]
7764    pub fn EVP_EncryptFinal_ex(
7765        ctx: *mut EVP_CIPHER_CTX,
7766        out: *mut u8,
7767        out_len: *mut ::std::os::raw::c_int,
7768    ) -> ::std::os::raw::c_int;
7769}
7770extern "C" {
7771    #[link_name = "aws_lc_0_47_0_EVP_DecryptUpdate"]
7772    pub fn EVP_DecryptUpdate(
7773        ctx: *mut EVP_CIPHER_CTX,
7774        out: *mut u8,
7775        out_len: *mut ::std::os::raw::c_int,
7776        in_: *const u8,
7777        in_len: ::std::os::raw::c_int,
7778    ) -> ::std::os::raw::c_int;
7779}
7780extern "C" {
7781    #[link_name = "aws_lc_0_47_0_EVP_DecryptFinal_ex"]
7782    pub fn EVP_DecryptFinal_ex(
7783        ctx: *mut EVP_CIPHER_CTX,
7784        out: *mut u8,
7785        out_len: *mut ::std::os::raw::c_int,
7786    ) -> ::std::os::raw::c_int;
7787}
7788extern "C" {
7789    #[link_name = "aws_lc_0_47_0_EVP_CipherUpdate"]
7790    pub fn EVP_CipherUpdate(
7791        ctx: *mut EVP_CIPHER_CTX,
7792        out: *mut u8,
7793        out_len: *mut ::std::os::raw::c_int,
7794        in_: *const u8,
7795        in_len: ::std::os::raw::c_int,
7796    ) -> ::std::os::raw::c_int;
7797}
7798extern "C" {
7799    #[link_name = "aws_lc_0_47_0_EVP_CipherFinal_ex"]
7800    pub fn EVP_CipherFinal_ex(
7801        ctx: *mut EVP_CIPHER_CTX,
7802        out: *mut u8,
7803        out_len: *mut ::std::os::raw::c_int,
7804    ) -> ::std::os::raw::c_int;
7805}
7806extern "C" {
7807    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_cipher"]
7808    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7809}
7810extern "C" {
7811    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_nid"]
7812    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7813}
7814extern "C" {
7815    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_encrypting"]
7816    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7817}
7818extern "C" {
7819    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_block_size"]
7820    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7821}
7822extern "C" {
7823    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_key_length"]
7824    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7825}
7826extern "C" {
7827    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_iv_length"]
7828    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7829}
7830extern "C" {
7831    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_get_app_data"]
7832    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7833}
7834extern "C" {
7835    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_app_data"]
7836    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7837}
7838extern "C" {
7839    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_flags"]
7840    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7841}
7842extern "C" {
7843    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_mode"]
7844    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7845}
7846extern "C" {
7847    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_ctrl"]
7848    pub fn EVP_CIPHER_CTX_ctrl(
7849        ctx: *mut EVP_CIPHER_CTX,
7850        command: ::std::os::raw::c_int,
7851        arg: ::std::os::raw::c_int,
7852        ptr: *mut ::std::os::raw::c_void,
7853    ) -> ::std::os::raw::c_int;
7854}
7855extern "C" {
7856    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_padding"]
7857    pub fn EVP_CIPHER_CTX_set_padding(
7858        ctx: *mut EVP_CIPHER_CTX,
7859        pad: ::std::os::raw::c_int,
7860    ) -> ::std::os::raw::c_int;
7861}
7862extern "C" {
7863    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_key_length"]
7864    pub fn EVP_CIPHER_CTX_set_key_length(
7865        ctx: *mut EVP_CIPHER_CTX,
7866        key_len: ::std::os::raw::c_uint,
7867    ) -> ::std::os::raw::c_int;
7868}
7869extern "C" {
7870    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_nid"]
7871    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7872}
7873extern "C" {
7874    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_name"]
7875    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7876}
7877extern "C" {
7878    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_block_size"]
7879    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7880}
7881extern "C" {
7882    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_key_length"]
7883    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7884}
7885extern "C" {
7886    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_iv_length"]
7887    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7888}
7889extern "C" {
7890    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_flags"]
7891    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7892}
7893extern "C" {
7894    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_mode"]
7895    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7896}
7897extern "C" {
7898    #[link_name = "aws_lc_0_47_0_EVP_BytesToKey"]
7899    pub fn EVP_BytesToKey(
7900        type_: *const EVP_CIPHER,
7901        md: *const EVP_MD,
7902        salt: *const u8,
7903        data: *const u8,
7904        data_len: usize,
7905        count: ::std::os::raw::c_uint,
7906        key: *mut u8,
7907        iv: *mut u8,
7908    ) -> ::std::os::raw::c_int;
7909}
7910extern "C" {
7911    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc_hmac_sha1"]
7912    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7913}
7914extern "C" {
7915    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc_hmac_sha1"]
7916    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7917}
7918extern "C" {
7919    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cbc_hmac_sha256"]
7920    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7921}
7922extern "C" {
7923    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cbc_hmac_sha256"]
7924    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7925}
7926extern "C" {
7927    #[link_name = "aws_lc_0_47_0_EVP_CipherInit"]
7928    pub fn EVP_CipherInit(
7929        ctx: *mut EVP_CIPHER_CTX,
7930        cipher: *const EVP_CIPHER,
7931        key: *const u8,
7932        iv: *const u8,
7933        enc: ::std::os::raw::c_int,
7934    ) -> ::std::os::raw::c_int;
7935}
7936extern "C" {
7937    #[link_name = "aws_lc_0_47_0_EVP_EncryptInit"]
7938    pub fn EVP_EncryptInit(
7939        ctx: *mut EVP_CIPHER_CTX,
7940        cipher: *const EVP_CIPHER,
7941        key: *const u8,
7942        iv: *const u8,
7943    ) -> ::std::os::raw::c_int;
7944}
7945extern "C" {
7946    #[link_name = "aws_lc_0_47_0_EVP_DecryptInit"]
7947    pub fn EVP_DecryptInit(
7948        ctx: *mut EVP_CIPHER_CTX,
7949        cipher: *const EVP_CIPHER,
7950        key: *const u8,
7951        iv: *const u8,
7952    ) -> ::std::os::raw::c_int;
7953}
7954extern "C" {
7955    #[link_name = "aws_lc_0_47_0_EVP_CipherFinal"]
7956    pub fn EVP_CipherFinal(
7957        ctx: *mut EVP_CIPHER_CTX,
7958        out: *mut u8,
7959        out_len: *mut ::std::os::raw::c_int,
7960    ) -> ::std::os::raw::c_int;
7961}
7962extern "C" {
7963    #[link_name = "aws_lc_0_47_0_EVP_EncryptFinal"]
7964    pub fn EVP_EncryptFinal(
7965        ctx: *mut EVP_CIPHER_CTX,
7966        out: *mut u8,
7967        out_len: *mut ::std::os::raw::c_int,
7968    ) -> ::std::os::raw::c_int;
7969}
7970extern "C" {
7971    #[link_name = "aws_lc_0_47_0_EVP_DecryptFinal"]
7972    pub fn EVP_DecryptFinal(
7973        ctx: *mut EVP_CIPHER_CTX,
7974        out: *mut u8,
7975        out_len: *mut ::std::os::raw::c_int,
7976    ) -> ::std::os::raw::c_int;
7977}
7978extern "C" {
7979    #[link_name = "aws_lc_0_47_0_EVP_Cipher"]
7980    pub fn EVP_Cipher(
7981        ctx: *mut EVP_CIPHER_CTX,
7982        out: *mut u8,
7983        in_: *const u8,
7984        in_len: usize,
7985    ) -> ::std::os::raw::c_int;
7986}
7987extern "C" {
7988    #[link_name = "aws_lc_0_47_0_EVP_get_cipherbyname"]
7989    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7990}
7991extern "C" {
7992    #[link_name = "aws_lc_0_47_0_EVP_aes_128_gcm"]
7993    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7994}
7995extern "C" {
7996    #[link_name = "aws_lc_0_47_0_EVP_aes_256_gcm"]
7997    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7998}
7999extern "C" {
8000    #[link_name = "aws_lc_0_47_0_EVP_aes_128_ccm"]
8001    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
8002}
8003extern "C" {
8004    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ccm"]
8005    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
8006}
8007extern "C" {
8008    #[link_name = "aws_lc_0_47_0_EVP_aes_256_ccm"]
8009    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
8010}
8011extern "C" {
8012    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ecb"]
8013    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
8014}
8015extern "C" {
8016    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cbc"]
8017    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
8018}
8019extern "C" {
8020    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ctr"]
8021    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
8022}
8023extern "C" {
8024    #[link_name = "aws_lc_0_47_0_EVP_aes_192_gcm"]
8025    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
8026}
8027extern "C" {
8028    #[link_name = "aws_lc_0_47_0_EVP_aes_192_ofb"]
8029    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
8030}
8031extern "C" {
8032    #[link_name = "aws_lc_0_47_0_EVP_des_ede3_ecb"]
8033    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
8034}
8035extern "C" {
8036    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb128"]
8037    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
8038}
8039extern "C" {
8040    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb"]
8041    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
8042}
8043extern "C" {
8044    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb1"]
8045    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
8046}
8047extern "C" {
8048    #[link_name = "aws_lc_0_47_0_EVP_aes_128_cfb8"]
8049    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
8050}
8051extern "C" {
8052    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb128"]
8053    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
8054}
8055extern "C" {
8056    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb"]
8057    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
8058}
8059extern "C" {
8060    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb1"]
8061    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
8062}
8063extern "C" {
8064    #[link_name = "aws_lc_0_47_0_EVP_aes_192_cfb8"]
8065    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
8066}
8067extern "C" {
8068    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb128"]
8069    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
8070}
8071extern "C" {
8072    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb"]
8073    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
8074}
8075extern "C" {
8076    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb1"]
8077    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
8078}
8079extern "C" {
8080    #[link_name = "aws_lc_0_47_0_EVP_aes_256_cfb8"]
8081    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
8082}
8083extern "C" {
8084    #[link_name = "aws_lc_0_47_0_EVP_bf_ecb"]
8085    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
8086}
8087extern "C" {
8088    #[link_name = "aws_lc_0_47_0_EVP_bf_cbc"]
8089    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
8090}
8091extern "C" {
8092    #[link_name = "aws_lc_0_47_0_EVP_bf_cfb"]
8093    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
8094}
8095extern "C" {
8096    #[link_name = "aws_lc_0_47_0_EVP_bf_cfb64"]
8097    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
8098}
8099extern "C" {
8100    #[link_name = "aws_lc_0_47_0_EVP_bf_ofb"]
8101    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
8102}
8103extern "C" {
8104    #[link_name = "aws_lc_0_47_0_EVP_cast5_ecb"]
8105    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
8106}
8107extern "C" {
8108    #[link_name = "aws_lc_0_47_0_EVP_cast5_cbc"]
8109    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
8110}
8111extern "C" {
8112    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_CTX_set_flags"]
8113    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
8114}
8115extern "C" {
8116    #[link_name = "aws_lc_0_47_0_EVP_add_cipher"]
8117    pub fn EVP_add_cipher(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
8118}
8119extern "C" {
8120    #[link_name = "aws_lc_0_47_0_EVP_add_cipher_alias"]
8121    pub fn EVP_add_cipher_alias(
8122        a: *const ::std::os::raw::c_char,
8123        b: *const ::std::os::raw::c_char,
8124    ) -> ::std::os::raw::c_int;
8125}
8126#[repr(C)]
8127#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8128pub struct evp_cipher_ctx_st {
8129    pub cipher: *const EVP_CIPHER,
8130    pub app_data: *mut ::std::os::raw::c_void,
8131    pub cipher_data: *mut ::std::os::raw::c_void,
8132    pub key_len: ::std::os::raw::c_uint,
8133    pub encrypt: ::std::os::raw::c_int,
8134    pub flags: u32,
8135    pub oiv: [u8; 16usize],
8136    pub iv: [u8; 16usize],
8137    pub buf: [u8; 32usize],
8138    pub buf_len: ::std::os::raw::c_int,
8139    pub num: ::std::os::raw::c_uint,
8140    pub final_used: ::std::os::raw::c_int,
8141    pub final_: [u8; 32usize],
8142    pub poisoned: ::std::os::raw::c_int,
8143}
8144#[test]
8145fn bindgen_test_layout_evp_cipher_ctx_st() {
8146    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8147    let ptr = UNINIT.as_ptr();
8148    assert_eq!(
8149        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8150        152usize,
8151        "Size of evp_cipher_ctx_st"
8152    );
8153    assert_eq!(
8154        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8155        8usize,
8156        "Alignment of evp_cipher_ctx_st"
8157    );
8158    assert_eq!(
8159        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8160        0usize,
8161        "Offset of field: evp_cipher_ctx_st::cipher"
8162    );
8163    assert_eq!(
8164        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8165        8usize,
8166        "Offset of field: evp_cipher_ctx_st::app_data"
8167    );
8168    assert_eq!(
8169        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8170        16usize,
8171        "Offset of field: evp_cipher_ctx_st::cipher_data"
8172    );
8173    assert_eq!(
8174        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8175        24usize,
8176        "Offset of field: evp_cipher_ctx_st::key_len"
8177    );
8178    assert_eq!(
8179        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8180        28usize,
8181        "Offset of field: evp_cipher_ctx_st::encrypt"
8182    );
8183    assert_eq!(
8184        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8185        32usize,
8186        "Offset of field: evp_cipher_ctx_st::flags"
8187    );
8188    assert_eq!(
8189        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8190        36usize,
8191        "Offset of field: evp_cipher_ctx_st::oiv"
8192    );
8193    assert_eq!(
8194        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8195        52usize,
8196        "Offset of field: evp_cipher_ctx_st::iv"
8197    );
8198    assert_eq!(
8199        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8200        68usize,
8201        "Offset of field: evp_cipher_ctx_st::buf"
8202    );
8203    assert_eq!(
8204        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8205        100usize,
8206        "Offset of field: evp_cipher_ctx_st::buf_len"
8207    );
8208    assert_eq!(
8209        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8210        104usize,
8211        "Offset of field: evp_cipher_ctx_st::num"
8212    );
8213    assert_eq!(
8214        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8215        108usize,
8216        "Offset of field: evp_cipher_ctx_st::final_used"
8217    );
8218    assert_eq!(
8219        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8220        112usize,
8221        "Offset of field: evp_cipher_ctx_st::final_"
8222    );
8223    assert_eq!(
8224        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8225        144usize,
8226        "Offset of field: evp_cipher_ctx_st::poisoned"
8227    );
8228}
8229impl Default for evp_cipher_ctx_st {
8230    fn default() -> Self {
8231        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8232        unsafe {
8233            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8234            s.assume_init()
8235        }
8236    }
8237}
8238#[repr(C)]
8239#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8240pub struct evp_cipher_info_st {
8241    pub cipher: *const EVP_CIPHER,
8242    pub iv: [::std::os::raw::c_uchar; 16usize],
8243}
8244#[test]
8245fn bindgen_test_layout_evp_cipher_info_st() {
8246    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8247    let ptr = UNINIT.as_ptr();
8248    assert_eq!(
8249        ::std::mem::size_of::<evp_cipher_info_st>(),
8250        24usize,
8251        "Size of evp_cipher_info_st"
8252    );
8253    assert_eq!(
8254        ::std::mem::align_of::<evp_cipher_info_st>(),
8255        8usize,
8256        "Alignment of evp_cipher_info_st"
8257    );
8258    assert_eq!(
8259        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8260        0usize,
8261        "Offset of field: evp_cipher_info_st::cipher"
8262    );
8263    assert_eq!(
8264        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8265        8usize,
8266        "Offset of field: evp_cipher_info_st::iv"
8267    );
8268}
8269impl Default for evp_cipher_info_st {
8270    fn default() -> Self {
8271        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8272        unsafe {
8273            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8274            s.assume_init()
8275        }
8276    }
8277}
8278pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8279extern "C" {
8280    #[link_name = "aws_lc_0_47_0_AES_CMAC"]
8281    pub fn AES_CMAC(
8282        out: *mut u8,
8283        key: *const u8,
8284        key_len: usize,
8285        in_: *const u8,
8286        in_len: usize,
8287    ) -> ::std::os::raw::c_int;
8288}
8289extern "C" {
8290    #[link_name = "aws_lc_0_47_0_CMAC_CTX_new"]
8291    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8292}
8293extern "C" {
8294    #[link_name = "aws_lc_0_47_0_CMAC_CTX_free"]
8295    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8296}
8297extern "C" {
8298    #[link_name = "aws_lc_0_47_0_CMAC_CTX_copy"]
8299    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8300}
8301extern "C" {
8302    #[link_name = "aws_lc_0_47_0_CMAC_Init"]
8303    pub fn CMAC_Init(
8304        ctx: *mut CMAC_CTX,
8305        key: *const ::std::os::raw::c_void,
8306        key_len: usize,
8307        cipher: *const EVP_CIPHER,
8308        engine: *mut ENGINE,
8309    ) -> ::std::os::raw::c_int;
8310}
8311extern "C" {
8312    #[link_name = "aws_lc_0_47_0_CMAC_Reset"]
8313    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "aws_lc_0_47_0_CMAC_Update"]
8317    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8318}
8319extern "C" {
8320    #[link_name = "aws_lc_0_47_0_CMAC_Final"]
8321    pub fn CMAC_Final(
8322        ctx: *mut CMAC_CTX,
8323        out: *mut u8,
8324        out_len: *mut usize,
8325    ) -> ::std::os::raw::c_int;
8326}
8327extern "C" {
8328    #[link_name = "aws_lc_0_47_0_CMAC_CTX_get0_cipher_ctx"]
8329    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8330}
8331#[repr(C)]
8332#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8333pub struct conf_value_st {
8334    pub section: *mut ::std::os::raw::c_char,
8335    pub name: *mut ::std::os::raw::c_char,
8336    pub value: *mut ::std::os::raw::c_char,
8337}
8338#[test]
8339fn bindgen_test_layout_conf_value_st() {
8340    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8341    let ptr = UNINIT.as_ptr();
8342    assert_eq!(
8343        ::std::mem::size_of::<conf_value_st>(),
8344        24usize,
8345        "Size of conf_value_st"
8346    );
8347    assert_eq!(
8348        ::std::mem::align_of::<conf_value_st>(),
8349        8usize,
8350        "Alignment of conf_value_st"
8351    );
8352    assert_eq!(
8353        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8354        0usize,
8355        "Offset of field: conf_value_st::section"
8356    );
8357    assert_eq!(
8358        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8359        8usize,
8360        "Offset of field: conf_value_st::name"
8361    );
8362    assert_eq!(
8363        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8364        16usize,
8365        "Offset of field: conf_value_st::value"
8366    );
8367}
8368impl Default for conf_value_st {
8369    fn default() -> Self {
8370        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8371        unsafe {
8372            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8373            s.assume_init()
8374        }
8375    }
8376}
8377#[repr(C)]
8378#[derive(Debug)]
8379pub struct stack_st_CONF_VALUE {
8380    _unused: [u8; 0],
8381}
8382#[repr(C)]
8383#[derive(Debug)]
8384pub struct lhash_st_CONF_VALUE {
8385    _unused: [u8; 0],
8386}
8387#[repr(C)]
8388#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8389pub struct conf_st {
8390    pub data: *mut lhash_st_CONF_VALUE,
8391}
8392#[test]
8393fn bindgen_test_layout_conf_st() {
8394    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8395    let ptr = UNINIT.as_ptr();
8396    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8397    assert_eq!(
8398        ::std::mem::align_of::<conf_st>(),
8399        8usize,
8400        "Alignment of conf_st"
8401    );
8402    assert_eq!(
8403        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8404        0usize,
8405        "Offset of field: conf_st::data"
8406    );
8407}
8408impl Default for conf_st {
8409    fn default() -> Self {
8410        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8411        unsafe {
8412            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8413            s.assume_init()
8414        }
8415    }
8416}
8417extern "C" {
8418    #[link_name = "aws_lc_0_47_0_X25519_keypair"]
8419    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8420}
8421extern "C" {
8422    #[link_name = "aws_lc_0_47_0_X25519"]
8423    pub fn X25519(
8424        out_shared_key: *mut u8,
8425        private_key: *const u8,
8426        peer_public_value: *const u8,
8427    ) -> ::std::os::raw::c_int;
8428}
8429extern "C" {
8430    #[link_name = "aws_lc_0_47_0_X25519_public_from_private"]
8431    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8432}
8433extern "C" {
8434    #[link_name = "aws_lc_0_47_0_ED25519_keypair"]
8435    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8436}
8437extern "C" {
8438    #[link_name = "aws_lc_0_47_0_ED25519_sign"]
8439    pub fn ED25519_sign(
8440        out_sig: *mut u8,
8441        message: *const u8,
8442        message_len: usize,
8443        private_key: *const u8,
8444    ) -> ::std::os::raw::c_int;
8445}
8446extern "C" {
8447    #[link_name = "aws_lc_0_47_0_ED25519_verify"]
8448    pub fn ED25519_verify(
8449        message: *const u8,
8450        message_len: usize,
8451        signature: *const u8,
8452        public_key: *const u8,
8453    ) -> ::std::os::raw::c_int;
8454}
8455extern "C" {
8456    #[link_name = "aws_lc_0_47_0_ED25519ctx_sign"]
8457    pub fn ED25519ctx_sign(
8458        out_sig: *mut u8,
8459        message: *const u8,
8460        message_len: usize,
8461        private_key: *const u8,
8462        context: *const u8,
8463        context_len: usize,
8464    ) -> ::std::os::raw::c_int;
8465}
8466extern "C" {
8467    #[link_name = "aws_lc_0_47_0_ED25519ctx_verify"]
8468    pub fn ED25519ctx_verify(
8469        message: *const u8,
8470        message_len: usize,
8471        signature: *const u8,
8472        public_key: *const u8,
8473        context: *const u8,
8474        context_len: usize,
8475    ) -> ::std::os::raw::c_int;
8476}
8477extern "C" {
8478    #[link_name = "aws_lc_0_47_0_ED25519ph_sign"]
8479    pub fn ED25519ph_sign(
8480        out_sig: *mut u8,
8481        message: *const u8,
8482        message_len: usize,
8483        private_key: *const u8,
8484        context: *const u8,
8485        context_len: usize,
8486    ) -> ::std::os::raw::c_int;
8487}
8488extern "C" {
8489    #[link_name = "aws_lc_0_47_0_ED25519ph_verify"]
8490    pub fn ED25519ph_verify(
8491        message: *const u8,
8492        message_len: usize,
8493        signature: *const u8,
8494        public_key: *const u8,
8495        context: *const u8,
8496        context_len: usize,
8497    ) -> ::std::os::raw::c_int;
8498}
8499extern "C" {
8500    #[link_name = "aws_lc_0_47_0_ED25519ph_sign_digest"]
8501    pub fn ED25519ph_sign_digest(
8502        out_sig: *mut u8,
8503        digest: *const u8,
8504        private_key: *const u8,
8505        context: *const u8,
8506        context_len: usize,
8507    ) -> ::std::os::raw::c_int;
8508}
8509extern "C" {
8510    #[link_name = "aws_lc_0_47_0_ED25519ph_verify_digest"]
8511    pub fn ED25519ph_verify_digest(
8512        digest: *const u8,
8513        signature: *const u8,
8514        public_key: *const u8,
8515        context: *const u8,
8516        context_len: usize,
8517    ) -> ::std::os::raw::c_int;
8518}
8519extern "C" {
8520    #[link_name = "aws_lc_0_47_0_ED25519_keypair_from_seed"]
8521    pub fn ED25519_keypair_from_seed(
8522        out_public_key: *mut u8,
8523        out_private_key: *mut u8,
8524        seed: *const u8,
8525    );
8526}
8527pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8528pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8529pub type spake2_role_t = ::std::os::raw::c_uint;
8530extern "C" {
8531    #[link_name = "aws_lc_0_47_0_SPAKE2_CTX_new"]
8532    pub fn SPAKE2_CTX_new(
8533        my_role: spake2_role_t,
8534        my_name: *const u8,
8535        my_name_len: usize,
8536        their_name: *const u8,
8537        their_name_len: usize,
8538    ) -> *mut SPAKE2_CTX;
8539}
8540extern "C" {
8541    #[link_name = "aws_lc_0_47_0_SPAKE2_CTX_free"]
8542    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8543}
8544extern "C" {
8545    #[link_name = "aws_lc_0_47_0_SPAKE2_generate_msg"]
8546    pub fn SPAKE2_generate_msg(
8547        ctx: *mut SPAKE2_CTX,
8548        out: *mut u8,
8549        out_len: *mut usize,
8550        max_out_len: usize,
8551        password: *const u8,
8552        password_len: usize,
8553    ) -> ::std::os::raw::c_int;
8554}
8555extern "C" {
8556    #[link_name = "aws_lc_0_47_0_SPAKE2_process_msg"]
8557    pub fn SPAKE2_process_msg(
8558        ctx: *mut SPAKE2_CTX,
8559        out_key: *mut u8,
8560        out_key_len: *mut usize,
8561        max_out_key_len: usize,
8562        their_msg: *const u8,
8563        their_msg_len: usize,
8564    ) -> ::std::os::raw::c_int;
8565}
8566extern "C" {
8567    #[link_name = "aws_lc_0_47_0_EVP_md4"]
8568    pub fn EVP_md4() -> *const EVP_MD;
8569}
8570extern "C" {
8571    #[link_name = "aws_lc_0_47_0_EVP_md5"]
8572    pub fn EVP_md5() -> *const EVP_MD;
8573}
8574extern "C" {
8575    #[link_name = "aws_lc_0_47_0_EVP_ripemd160"]
8576    pub fn EVP_ripemd160() -> *const EVP_MD;
8577}
8578extern "C" {
8579    #[link_name = "aws_lc_0_47_0_EVP_sha1"]
8580    pub fn EVP_sha1() -> *const EVP_MD;
8581}
8582extern "C" {
8583    #[link_name = "aws_lc_0_47_0_EVP_sha224"]
8584    pub fn EVP_sha224() -> *const EVP_MD;
8585}
8586extern "C" {
8587    #[link_name = "aws_lc_0_47_0_EVP_sha256"]
8588    pub fn EVP_sha256() -> *const EVP_MD;
8589}
8590extern "C" {
8591    #[link_name = "aws_lc_0_47_0_EVP_sha384"]
8592    pub fn EVP_sha384() -> *const EVP_MD;
8593}
8594extern "C" {
8595    #[link_name = "aws_lc_0_47_0_EVP_sha512"]
8596    pub fn EVP_sha512() -> *const EVP_MD;
8597}
8598extern "C" {
8599    #[link_name = "aws_lc_0_47_0_EVP_sha512_224"]
8600    pub fn EVP_sha512_224() -> *const EVP_MD;
8601}
8602extern "C" {
8603    #[link_name = "aws_lc_0_47_0_EVP_sha512_256"]
8604    pub fn EVP_sha512_256() -> *const EVP_MD;
8605}
8606extern "C" {
8607    #[link_name = "aws_lc_0_47_0_EVP_sha3_224"]
8608    pub fn EVP_sha3_224() -> *const EVP_MD;
8609}
8610extern "C" {
8611    #[link_name = "aws_lc_0_47_0_EVP_sha3_256"]
8612    pub fn EVP_sha3_256() -> *const EVP_MD;
8613}
8614extern "C" {
8615    #[link_name = "aws_lc_0_47_0_EVP_sha3_384"]
8616    pub fn EVP_sha3_384() -> *const EVP_MD;
8617}
8618extern "C" {
8619    #[link_name = "aws_lc_0_47_0_EVP_sha3_512"]
8620    pub fn EVP_sha3_512() -> *const EVP_MD;
8621}
8622extern "C" {
8623    #[link_name = "aws_lc_0_47_0_EVP_shake128"]
8624    pub fn EVP_shake128() -> *const EVP_MD;
8625}
8626extern "C" {
8627    #[link_name = "aws_lc_0_47_0_EVP_shake256"]
8628    pub fn EVP_shake256() -> *const EVP_MD;
8629}
8630extern "C" {
8631    #[link_name = "aws_lc_0_47_0_EVP_blake2b256"]
8632    pub fn EVP_blake2b256() -> *const EVP_MD;
8633}
8634extern "C" {
8635    #[link_name = "aws_lc_0_47_0_EVP_keccak256"]
8636    pub fn EVP_keccak256() -> *const EVP_MD;
8637}
8638extern "C" {
8639    #[link_name = "aws_lc_0_47_0_EVP_md5_sha1"]
8640    pub fn EVP_md5_sha1() -> *const EVP_MD;
8641}
8642extern "C" {
8643    #[link_name = "aws_lc_0_47_0_EVP_get_digestbynid"]
8644    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8645}
8646extern "C" {
8647    #[link_name = "aws_lc_0_47_0_EVP_get_digestbyobj"]
8648    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8649}
8650extern "C" {
8651    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_init"]
8652    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8653}
8654extern "C" {
8655    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_new"]
8656    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8657}
8658extern "C" {
8659    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_cleanup"]
8660    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8661}
8662extern "C" {
8663    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_cleanse"]
8664    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8665}
8666extern "C" {
8667    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_free"]
8668    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8669}
8670extern "C" {
8671    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_copy_ex"]
8672    pub fn EVP_MD_CTX_copy_ex(
8673        out: *mut EVP_MD_CTX,
8674        in_: *const EVP_MD_CTX,
8675    ) -> ::std::os::raw::c_int;
8676}
8677extern "C" {
8678    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_move"]
8679    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8680}
8681extern "C" {
8682    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_reset"]
8683    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8684}
8685extern "C" {
8686    #[link_name = "aws_lc_0_47_0_EVP_DigestInit_ex"]
8687    pub fn EVP_DigestInit_ex(
8688        ctx: *mut EVP_MD_CTX,
8689        type_: *const EVP_MD,
8690        engine: *mut ENGINE,
8691    ) -> ::std::os::raw::c_int;
8692}
8693extern "C" {
8694    #[link_name = "aws_lc_0_47_0_EVP_DigestInit"]
8695    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8696}
8697extern "C" {
8698    #[link_name = "aws_lc_0_47_0_EVP_DigestUpdate"]
8699    pub fn EVP_DigestUpdate(
8700        ctx: *mut EVP_MD_CTX,
8701        data: *const ::std::os::raw::c_void,
8702        len: usize,
8703    ) -> ::std::os::raw::c_int;
8704}
8705extern "C" {
8706    #[link_name = "aws_lc_0_47_0_EVP_DigestFinal_ex"]
8707    pub fn EVP_DigestFinal_ex(
8708        ctx: *mut EVP_MD_CTX,
8709        md_out: *mut u8,
8710        out_size: *mut ::std::os::raw::c_uint,
8711    ) -> ::std::os::raw::c_int;
8712}
8713extern "C" {
8714    #[link_name = "aws_lc_0_47_0_EVP_DigestFinal"]
8715    pub fn EVP_DigestFinal(
8716        ctx: *mut EVP_MD_CTX,
8717        md_out: *mut u8,
8718        out_size: *mut ::std::os::raw::c_uint,
8719    ) -> ::std::os::raw::c_int;
8720}
8721extern "C" {
8722    #[link_name = "aws_lc_0_47_0_EVP_Digest"]
8723    pub fn EVP_Digest(
8724        data: *const ::std::os::raw::c_void,
8725        len: usize,
8726        md_out: *mut u8,
8727        out_size: *mut ::std::os::raw::c_uint,
8728        type_: *const EVP_MD,
8729        impl_: *mut ENGINE,
8730    ) -> ::std::os::raw::c_int;
8731}
8732extern "C" {
8733    #[link_name = "aws_lc_0_47_0_EVP_MD_type"]
8734    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8735}
8736extern "C" {
8737    #[link_name = "aws_lc_0_47_0_EVP_MD_flags"]
8738    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8739}
8740extern "C" {
8741    #[link_name = "aws_lc_0_47_0_EVP_MD_size"]
8742    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8743}
8744extern "C" {
8745    #[link_name = "aws_lc_0_47_0_EVP_MD_block_size"]
8746    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8747}
8748extern "C" {
8749    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_md"]
8750    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8751}
8752extern "C" {
8753    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_size"]
8754    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8755}
8756extern "C" {
8757    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_block_size"]
8758    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8759}
8760extern "C" {
8761    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_type"]
8762    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8763}
8764extern "C" {
8765    #[link_name = "aws_lc_0_47_0_EVP_parse_digest_algorithm"]
8766    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8767}
8768extern "C" {
8769    #[link_name = "aws_lc_0_47_0_EVP_marshal_digest_algorithm"]
8770    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8771}
8772extern "C" {
8773    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_copy"]
8774    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8775}
8776extern "C" {
8777    #[link_name = "aws_lc_0_47_0_EVP_get_digestbyname"]
8778    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8779}
8780extern "C" {
8781    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_create"]
8782    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8783}
8784extern "C" {
8785    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_destroy"]
8786    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8787}
8788extern "C" {
8789    #[link_name = "aws_lc_0_47_0_EVP_DigestFinalXOF"]
8790    pub fn EVP_DigestFinalXOF(
8791        ctx: *mut EVP_MD_CTX,
8792        out: *mut u8,
8793        len: usize,
8794    ) -> ::std::os::raw::c_int;
8795}
8796extern "C" {
8797    #[link_name = "aws_lc_0_47_0_EVP_DigestSqueeze"]
8798    pub fn EVP_DigestSqueeze(
8799        ctx: *mut EVP_MD_CTX,
8800        out: *mut u8,
8801        len: usize,
8802    ) -> ::std::os::raw::c_int;
8803}
8804extern "C" {
8805    #[link_name = "aws_lc_0_47_0_EVP_MD_meth_get_flags"]
8806    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8807}
8808extern "C" {
8809    #[link_name = "aws_lc_0_47_0_EVP_MD_nid"]
8810    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8811}
8812extern "C" {
8813    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_set_pkey_ctx"]
8814    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8815}
8816extern "C" {
8817    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_get_pkey_ctx"]
8818    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8819}
8820extern "C" {
8821    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_pkey_ctx"]
8822    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8823}
8824#[repr(C)]
8825#[derive(Debug)]
8826pub struct evp_md_pctx_ops {
8827    _unused: [u8; 0],
8828}
8829#[repr(C)]
8830#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8831pub struct env_md_ctx_st {
8832    pub digest: *const EVP_MD,
8833    pub md_data: *mut ::std::os::raw::c_void,
8834    pub update: ::std::option::Option<
8835        unsafe extern "C" fn(
8836            ctx: *mut EVP_MD_CTX,
8837            data: *const ::std::os::raw::c_void,
8838            count: usize,
8839        ) -> ::std::os::raw::c_int,
8840    >,
8841    pub pctx: *mut EVP_PKEY_CTX,
8842    pub pctx_ops: *const evp_md_pctx_ops,
8843    pub flags: ::std::os::raw::c_ulong,
8844}
8845#[test]
8846fn bindgen_test_layout_env_md_ctx_st() {
8847    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8848    let ptr = UNINIT.as_ptr();
8849    assert_eq!(
8850        ::std::mem::size_of::<env_md_ctx_st>(),
8851        48usize,
8852        "Size of env_md_ctx_st"
8853    );
8854    assert_eq!(
8855        ::std::mem::align_of::<env_md_ctx_st>(),
8856        8usize,
8857        "Alignment of env_md_ctx_st"
8858    );
8859    assert_eq!(
8860        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8861        0usize,
8862        "Offset of field: env_md_ctx_st::digest"
8863    );
8864    assert_eq!(
8865        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8866        8usize,
8867        "Offset of field: env_md_ctx_st::md_data"
8868    );
8869    assert_eq!(
8870        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8871        16usize,
8872        "Offset of field: env_md_ctx_st::update"
8873    );
8874    assert_eq!(
8875        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8876        24usize,
8877        "Offset of field: env_md_ctx_st::pctx"
8878    );
8879    assert_eq!(
8880        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8881        32usize,
8882        "Offset of field: env_md_ctx_st::pctx_ops"
8883    );
8884    assert_eq!(
8885        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8886        40usize,
8887        "Offset of field: env_md_ctx_st::flags"
8888    );
8889}
8890impl Default for env_md_ctx_st {
8891    fn default() -> Self {
8892        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8893        unsafe {
8894            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8895            s.assume_init()
8896        }
8897    }
8898}
8899extern "C" {
8900    #[link_name = "aws_lc_0_47_0_EVP_MD_unstable_sha3_enable"]
8901    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8902}
8903extern "C" {
8904    #[link_name = "aws_lc_0_47_0_EVP_MD_unstable_sha3_is_enabled"]
8905    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8906}
8907extern "C" {
8908    #[link_name = "aws_lc_0_47_0_EVP_MD_CTX_set_flags"]
8909    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8910}
8911extern "C" {
8912    #[link_name = "aws_lc_0_47_0_EVP_add_digest"]
8913    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8914}
8915extern "C" {
8916    #[link_name = "aws_lc_0_47_0_EVP_md_null"]
8917    pub fn EVP_md_null() -> *const EVP_MD;
8918}
8919#[repr(C)]
8920#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8921pub struct DSA_SIG_st {
8922    pub r: *mut BIGNUM,
8923    pub s: *mut BIGNUM,
8924}
8925#[test]
8926fn bindgen_test_layout_DSA_SIG_st() {
8927    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8928    let ptr = UNINIT.as_ptr();
8929    assert_eq!(
8930        ::std::mem::size_of::<DSA_SIG_st>(),
8931        16usize,
8932        "Size of DSA_SIG_st"
8933    );
8934    assert_eq!(
8935        ::std::mem::align_of::<DSA_SIG_st>(),
8936        8usize,
8937        "Alignment of DSA_SIG_st"
8938    );
8939    assert_eq!(
8940        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8941        0usize,
8942        "Offset of field: DSA_SIG_st::r"
8943    );
8944    assert_eq!(
8945        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8946        8usize,
8947        "Offset of field: DSA_SIG_st::s"
8948    );
8949}
8950impl Default for DSA_SIG_st {
8951    fn default() -> Self {
8952        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8953        unsafe {
8954            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8955            s.assume_init()
8956        }
8957    }
8958}
8959#[repr(u32)]
8960#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8961pub enum point_conversion_form_t {
8962    POINT_CONVERSION_COMPRESSED = 2,
8963    POINT_CONVERSION_UNCOMPRESSED = 4,
8964    POINT_CONVERSION_HYBRID = 6,
8965}
8966extern "C" {
8967    #[link_name = "aws_lc_0_47_0_EC_group_p224"]
8968    pub fn EC_group_p224() -> *const EC_GROUP;
8969}
8970extern "C" {
8971    #[link_name = "aws_lc_0_47_0_EC_group_p256"]
8972    pub fn EC_group_p256() -> *const EC_GROUP;
8973}
8974extern "C" {
8975    #[link_name = "aws_lc_0_47_0_EC_group_p384"]
8976    pub fn EC_group_p384() -> *const EC_GROUP;
8977}
8978extern "C" {
8979    #[link_name = "aws_lc_0_47_0_EC_group_p521"]
8980    pub fn EC_group_p521() -> *const EC_GROUP;
8981}
8982extern "C" {
8983    #[link_name = "aws_lc_0_47_0_EC_group_secp256k1"]
8984    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8985}
8986extern "C" {
8987    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP224r1"]
8988    pub fn EC_group_brainpoolP224r1() -> *const EC_GROUP;
8989}
8990extern "C" {
8991    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP256r1"]
8992    pub fn EC_group_brainpoolP256r1() -> *const EC_GROUP;
8993}
8994extern "C" {
8995    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP320r1"]
8996    pub fn EC_group_brainpoolP320r1() -> *const EC_GROUP;
8997}
8998extern "C" {
8999    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP384r1"]
9000    pub fn EC_group_brainpoolP384r1() -> *const EC_GROUP;
9001}
9002extern "C" {
9003    #[link_name = "aws_lc_0_47_0_EC_group_brainpoolP512r1"]
9004    pub fn EC_group_brainpoolP512r1() -> *const EC_GROUP;
9005}
9006extern "C" {
9007    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_by_curve_name"]
9008    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
9009}
9010extern "C" {
9011    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_by_curve_name_mutable"]
9012    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
9013}
9014extern "C" {
9015    #[link_name = "aws_lc_0_47_0_EC_GROUP_cmp"]
9016    pub fn EC_GROUP_cmp(
9017        a: *const EC_GROUP,
9018        b: *const EC_GROUP,
9019        ignored: *mut BN_CTX,
9020    ) -> ::std::os::raw::c_int;
9021}
9022extern "C" {
9023    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_generator"]
9024    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
9025}
9026extern "C" {
9027    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_order"]
9028    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
9029}
9030extern "C" {
9031    #[link_name = "aws_lc_0_47_0_EC_GROUP_order_bits"]
9032    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9033}
9034extern "C" {
9035    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_cofactor"]
9036    pub fn EC_GROUP_get_cofactor(
9037        group: *const EC_GROUP,
9038        cofactor: *mut BIGNUM,
9039        ctx: *mut BN_CTX,
9040    ) -> ::std::os::raw::c_int;
9041}
9042extern "C" {
9043    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_curve_GFp"]
9044    pub fn EC_GROUP_get_curve_GFp(
9045        group: *const EC_GROUP,
9046        out_p: *mut BIGNUM,
9047        out_a: *mut BIGNUM,
9048        out_b: *mut BIGNUM,
9049        ctx: *mut BN_CTX,
9050    ) -> ::std::os::raw::c_int;
9051}
9052extern "C" {
9053    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_curve_name"]
9054    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9055}
9056extern "C" {
9057    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_degree"]
9058    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
9059}
9060extern "C" {
9061    #[link_name = "aws_lc_0_47_0_EC_curve_nid2nist"]
9062    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9063}
9064extern "C" {
9065    #[link_name = "aws_lc_0_47_0_EC_curve_nist2nid"]
9066    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9067}
9068extern "C" {
9069    #[link_name = "aws_lc_0_47_0_EC_POINT_new"]
9070    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
9071}
9072extern "C" {
9073    #[link_name = "aws_lc_0_47_0_EC_POINT_free"]
9074    pub fn EC_POINT_free(point: *mut EC_POINT);
9075}
9076extern "C" {
9077    #[link_name = "aws_lc_0_47_0_EC_POINT_copy"]
9078    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
9079}
9080extern "C" {
9081    #[link_name = "aws_lc_0_47_0_EC_POINT_dup"]
9082    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
9083}
9084extern "C" {
9085    #[link_name = "aws_lc_0_47_0_EC_POINT_set_to_infinity"]
9086    pub fn EC_POINT_set_to_infinity(
9087        group: *const EC_GROUP,
9088        point: *mut EC_POINT,
9089    ) -> ::std::os::raw::c_int;
9090}
9091extern "C" {
9092    #[link_name = "aws_lc_0_47_0_EC_POINT_is_at_infinity"]
9093    pub fn EC_POINT_is_at_infinity(
9094        group: *const EC_GROUP,
9095        point: *const EC_POINT,
9096    ) -> ::std::os::raw::c_int;
9097}
9098extern "C" {
9099    #[link_name = "aws_lc_0_47_0_EC_POINT_is_on_curve"]
9100    pub fn EC_POINT_is_on_curve(
9101        group: *const EC_GROUP,
9102        point: *const EC_POINT,
9103        ctx: *mut BN_CTX,
9104    ) -> ::std::os::raw::c_int;
9105}
9106extern "C" {
9107    #[link_name = "aws_lc_0_47_0_EC_POINT_cmp"]
9108    pub fn EC_POINT_cmp(
9109        group: *const EC_GROUP,
9110        a: *const EC_POINT,
9111        b: *const EC_POINT,
9112        ctx: *mut BN_CTX,
9113    ) -> ::std::os::raw::c_int;
9114}
9115extern "C" {
9116    #[link_name = "aws_lc_0_47_0_EC_POINT_get_affine_coordinates_GFp"]
9117    pub fn EC_POINT_get_affine_coordinates_GFp(
9118        group: *const EC_GROUP,
9119        point: *const EC_POINT,
9120        x: *mut BIGNUM,
9121        y: *mut BIGNUM,
9122        ctx: *mut BN_CTX,
9123    ) -> ::std::os::raw::c_int;
9124}
9125extern "C" {
9126    #[link_name = "aws_lc_0_47_0_EC_POINT_get_affine_coordinates"]
9127    pub fn EC_POINT_get_affine_coordinates(
9128        group: *const EC_GROUP,
9129        point: *const EC_POINT,
9130        x: *mut BIGNUM,
9131        y: *mut BIGNUM,
9132        ctx: *mut BN_CTX,
9133    ) -> ::std::os::raw::c_int;
9134}
9135extern "C" {
9136    #[link_name = "aws_lc_0_47_0_EC_POINT_set_affine_coordinates_GFp"]
9137    pub fn EC_POINT_set_affine_coordinates_GFp(
9138        group: *const EC_GROUP,
9139        point: *mut EC_POINT,
9140        x: *const BIGNUM,
9141        y: *const BIGNUM,
9142        ctx: *mut BN_CTX,
9143    ) -> ::std::os::raw::c_int;
9144}
9145extern "C" {
9146    #[link_name = "aws_lc_0_47_0_EC_POINT_set_affine_coordinates"]
9147    pub fn EC_POINT_set_affine_coordinates(
9148        group: *const EC_GROUP,
9149        point: *mut EC_POINT,
9150        x: *const BIGNUM,
9151        y: *const BIGNUM,
9152        ctx: *mut BN_CTX,
9153    ) -> ::std::os::raw::c_int;
9154}
9155extern "C" {
9156    #[link_name = "aws_lc_0_47_0_EC_POINT_point2oct"]
9157    pub fn EC_POINT_point2oct(
9158        group: *const EC_GROUP,
9159        point: *const EC_POINT,
9160        form: point_conversion_form_t,
9161        buf: *mut u8,
9162        len: usize,
9163        ctx: *mut BN_CTX,
9164    ) -> usize;
9165}
9166extern "C" {
9167    #[link_name = "aws_lc_0_47_0_EC_POINT_point2cbb"]
9168    pub fn EC_POINT_point2cbb(
9169        out: *mut CBB,
9170        group: *const EC_GROUP,
9171        point: *const EC_POINT,
9172        form: point_conversion_form_t,
9173        ctx: *mut BN_CTX,
9174    ) -> ::std::os::raw::c_int;
9175}
9176extern "C" {
9177    #[link_name = "aws_lc_0_47_0_EC_POINT_oct2point"]
9178    pub fn EC_POINT_oct2point(
9179        group: *const EC_GROUP,
9180        point: *mut EC_POINT,
9181        buf: *const u8,
9182        len: usize,
9183        ctx: *mut BN_CTX,
9184    ) -> ::std::os::raw::c_int;
9185}
9186extern "C" {
9187    #[link_name = "aws_lc_0_47_0_EC_POINT_set_compressed_coordinates_GFp"]
9188    pub fn EC_POINT_set_compressed_coordinates_GFp(
9189        group: *const EC_GROUP,
9190        point: *mut EC_POINT,
9191        x: *const BIGNUM,
9192        y_bit: ::std::os::raw::c_int,
9193        ctx: *mut BN_CTX,
9194    ) -> ::std::os::raw::c_int;
9195}
9196extern "C" {
9197    #[link_name = "aws_lc_0_47_0_EC_POINT_add"]
9198    pub fn EC_POINT_add(
9199        group: *const EC_GROUP,
9200        r: *mut EC_POINT,
9201        a: *const EC_POINT,
9202        b: *const EC_POINT,
9203        ctx: *mut BN_CTX,
9204    ) -> ::std::os::raw::c_int;
9205}
9206extern "C" {
9207    #[link_name = "aws_lc_0_47_0_EC_POINT_dbl"]
9208    pub fn EC_POINT_dbl(
9209        group: *const EC_GROUP,
9210        r: *mut EC_POINT,
9211        a: *const EC_POINT,
9212        ctx: *mut BN_CTX,
9213    ) -> ::std::os::raw::c_int;
9214}
9215extern "C" {
9216    #[link_name = "aws_lc_0_47_0_EC_POINT_invert"]
9217    pub fn EC_POINT_invert(
9218        group: *const EC_GROUP,
9219        a: *mut EC_POINT,
9220        ctx: *mut BN_CTX,
9221    ) -> ::std::os::raw::c_int;
9222}
9223extern "C" {
9224    #[link_name = "aws_lc_0_47_0_EC_POINT_mul"]
9225    pub fn EC_POINT_mul(
9226        group: *const EC_GROUP,
9227        r: *mut EC_POINT,
9228        n: *const BIGNUM,
9229        q: *const EC_POINT,
9230        m: *const BIGNUM,
9231        ctx: *mut BN_CTX,
9232    ) -> ::std::os::raw::c_int;
9233}
9234extern "C" {
9235    #[link_name = "aws_lc_0_47_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9236    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9237        group: *const EC_GROUP,
9238        out: *mut EC_POINT,
9239        dst: *const u8,
9240        dst_len: usize,
9241        msg: *const u8,
9242        msg_len: usize,
9243    ) -> ::std::os::raw::c_int;
9244}
9245extern "C" {
9246    #[link_name = "aws_lc_0_47_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9247    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9248        group: *const EC_GROUP,
9249        out: *mut EC_POINT,
9250        dst: *const u8,
9251        dst_len: usize,
9252        msg: *const u8,
9253        msg_len: usize,
9254    ) -> ::std::os::raw::c_int;
9255}
9256extern "C" {
9257    #[link_name = "aws_lc_0_47_0_EC_GROUP_free"]
9258    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9259}
9260extern "C" {
9261    #[link_name = "aws_lc_0_47_0_EC_GROUP_dup"]
9262    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9263}
9264extern "C" {
9265    #[link_name = "aws_lc_0_47_0_EC_GROUP_new_curve_GFp"]
9266    pub fn EC_GROUP_new_curve_GFp(
9267        p: *const BIGNUM,
9268        a: *const BIGNUM,
9269        b: *const BIGNUM,
9270        ctx: *mut BN_CTX,
9271    ) -> *mut EC_GROUP;
9272}
9273extern "C" {
9274    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_generator"]
9275    pub fn EC_GROUP_set_generator(
9276        group: *mut EC_GROUP,
9277        generator: *const EC_POINT,
9278        order: *const BIGNUM,
9279        cofactor: *const BIGNUM,
9280    ) -> ::std::os::raw::c_int;
9281}
9282extern "C" {
9283    #[link_name = "aws_lc_0_47_0_EC_POINT_point2bn"]
9284    pub fn EC_POINT_point2bn(
9285        group: *const EC_GROUP,
9286        point: *const EC_POINT,
9287        form: point_conversion_form_t,
9288        ret: *mut BIGNUM,
9289        ctx: *mut BN_CTX,
9290    ) -> *mut BIGNUM;
9291}
9292extern "C" {
9293    #[link_name = "aws_lc_0_47_0_EC_POINT_bn2point"]
9294    pub fn EC_POINT_bn2point(
9295        group: *const EC_GROUP,
9296        bn: *const BIGNUM,
9297        point: *mut EC_POINT,
9298        ctx: *mut BN_CTX,
9299    ) -> *mut EC_POINT;
9300}
9301extern "C" {
9302    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_order"]
9303    pub fn EC_GROUP_get_order(
9304        group: *const EC_GROUP,
9305        order: *mut BIGNUM,
9306        ctx: *mut BN_CTX,
9307    ) -> ::std::os::raw::c_int;
9308}
9309#[repr(C)]
9310#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9311pub struct EC_builtin_curve {
9312    pub nid: ::std::os::raw::c_int,
9313    pub comment: *const ::std::os::raw::c_char,
9314}
9315#[test]
9316fn bindgen_test_layout_EC_builtin_curve() {
9317    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9318    let ptr = UNINIT.as_ptr();
9319    assert_eq!(
9320        ::std::mem::size_of::<EC_builtin_curve>(),
9321        16usize,
9322        "Size of EC_builtin_curve"
9323    );
9324    assert_eq!(
9325        ::std::mem::align_of::<EC_builtin_curve>(),
9326        8usize,
9327        "Alignment of EC_builtin_curve"
9328    );
9329    assert_eq!(
9330        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9331        0usize,
9332        "Offset of field: EC_builtin_curve::nid"
9333    );
9334    assert_eq!(
9335        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9336        8usize,
9337        "Offset of field: EC_builtin_curve::comment"
9338    );
9339}
9340impl Default for EC_builtin_curve {
9341    fn default() -> Self {
9342        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9343        unsafe {
9344            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9345            s.assume_init()
9346        }
9347    }
9348}
9349extern "C" {
9350    #[link_name = "aws_lc_0_47_0_EC_get_builtin_curves"]
9351    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9352        -> usize;
9353}
9354extern "C" {
9355    #[link_name = "aws_lc_0_47_0_EC_POINT_clear_free"]
9356    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9357}
9358extern "C" {
9359    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_seed"]
9360    pub fn EC_GROUP_set_seed(
9361        group: *mut EC_GROUP,
9362        p: *const ::std::os::raw::c_uchar,
9363        len: usize,
9364    ) -> usize;
9365}
9366extern "C" {
9367    #[link_name = "aws_lc_0_47_0_EC_GROUP_get0_seed"]
9368    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9369}
9370extern "C" {
9371    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_seed_len"]
9372    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9373}
9374extern "C" {
9375    #[link_name = "aws_lc_0_47_0_ECPKParameters_print"]
9376    pub fn ECPKParameters_print(
9377        bio: *mut BIO,
9378        group: *const EC_GROUP,
9379        offset: ::std::os::raw::c_int,
9380    ) -> ::std::os::raw::c_int;
9381}
9382extern "C" {
9383    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_asn1_flag"]
9384    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9385}
9386extern "C" {
9387    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_asn1_flag"]
9388    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9389}
9390extern "C" {
9391    #[link_name = "aws_lc_0_47_0_EC_GROUP_set_point_conversion_form"]
9392    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9393}
9394extern "C" {
9395    #[link_name = "aws_lc_0_47_0_EC_GROUP_get_point_conversion_form"]
9396    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9397}
9398extern "C" {
9399    #[link_name = "aws_lc_0_47_0_EC_KEY_decoded_from_explicit_params"]
9400    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9401}
9402#[repr(C)]
9403#[derive(Debug)]
9404pub struct ec_method_st {
9405    _unused: [u8; 0],
9406}
9407pub type EC_METHOD = ec_method_st;
9408extern "C" {
9409    #[link_name = "aws_lc_0_47_0_EC_GROUP_method_of"]
9410    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9411}
9412extern "C" {
9413    #[link_name = "aws_lc_0_47_0_EC_METHOD_get_field_type"]
9414    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9415}
9416extern "C" {
9417    #[link_name = "aws_lc_0_47_0_EC_KEY_new"]
9418    pub fn EC_KEY_new() -> *mut EC_KEY;
9419}
9420extern "C" {
9421    #[link_name = "aws_lc_0_47_0_EC_KEY_new_method"]
9422    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9423}
9424extern "C" {
9425    #[link_name = "aws_lc_0_47_0_EC_KEY_new_by_curve_name"]
9426    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9427}
9428extern "C" {
9429    #[link_name = "aws_lc_0_47_0_EC_KEY_free"]
9430    pub fn EC_KEY_free(key: *mut EC_KEY);
9431}
9432extern "C" {
9433    #[link_name = "aws_lc_0_47_0_EC_KEY_dup"]
9434    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9435}
9436extern "C" {
9437    #[link_name = "aws_lc_0_47_0_EC_KEY_up_ref"]
9438    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9439}
9440extern "C" {
9441    #[link_name = "aws_lc_0_47_0_EC_KEY_is_opaque"]
9442    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9443}
9444extern "C" {
9445    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_group"]
9446    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9447}
9448extern "C" {
9449    #[link_name = "aws_lc_0_47_0_EC_KEY_set_group"]
9450    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9451}
9452extern "C" {
9453    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_private_key"]
9454    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9455}
9456extern "C" {
9457    #[link_name = "aws_lc_0_47_0_EC_KEY_set_private_key"]
9458    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9459}
9460extern "C" {
9461    #[link_name = "aws_lc_0_47_0_EC_KEY_get0_public_key"]
9462    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9463}
9464extern "C" {
9465    #[link_name = "aws_lc_0_47_0_EC_KEY_set_public_key"]
9466    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9467}
9468extern "C" {
9469    #[link_name = "aws_lc_0_47_0_EC_KEY_get_enc_flags"]
9470    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9471}
9472extern "C" {
9473    #[link_name = "aws_lc_0_47_0_EC_KEY_set_enc_flags"]
9474    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9475}
9476extern "C" {
9477    #[link_name = "aws_lc_0_47_0_EC_KEY_get_conv_form"]
9478    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9479}
9480extern "C" {
9481    #[link_name = "aws_lc_0_47_0_EC_KEY_set_conv_form"]
9482    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9483}
9484extern "C" {
9485    #[link_name = "aws_lc_0_47_0_EC_KEY_check_key"]
9486    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9487}
9488extern "C" {
9489    #[link_name = "aws_lc_0_47_0_EC_KEY_check_fips"]
9490    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9491}
9492extern "C" {
9493    #[link_name = "aws_lc_0_47_0_EC_KEY_set_public_key_affine_coordinates"]
9494    pub fn EC_KEY_set_public_key_affine_coordinates(
9495        key: *mut EC_KEY,
9496        x: *const BIGNUM,
9497        y: *const BIGNUM,
9498    ) -> ::std::os::raw::c_int;
9499}
9500extern "C" {
9501    #[link_name = "aws_lc_0_47_0_EC_KEY_key2buf"]
9502    pub fn EC_KEY_key2buf(
9503        key: *const EC_KEY,
9504        form: point_conversion_form_t,
9505        out_buf: *mut *mut ::std::os::raw::c_uchar,
9506        ctx: *mut BN_CTX,
9507    ) -> usize;
9508}
9509extern "C" {
9510    #[link_name = "aws_lc_0_47_0_EC_KEY_generate_key"]
9511    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9512}
9513extern "C" {
9514    #[link_name = "aws_lc_0_47_0_EC_KEY_generate_key_fips"]
9515    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9516}
9517extern "C" {
9518    #[link_name = "aws_lc_0_47_0_EC_KEY_derive_from_secret"]
9519    pub fn EC_KEY_derive_from_secret(
9520        group: *const EC_GROUP,
9521        secret: *const u8,
9522        secret_len: usize,
9523    ) -> *mut EC_KEY;
9524}
9525extern "C" {
9526    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_private_key"]
9527    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9528}
9529extern "C" {
9530    #[link_name = "aws_lc_0_47_0_EC_KEY_marshal_private_key"]
9531    pub fn EC_KEY_marshal_private_key(
9532        cbb: *mut CBB,
9533        key: *const EC_KEY,
9534        enc_flags: ::std::os::raw::c_uint,
9535    ) -> ::std::os::raw::c_int;
9536}
9537extern "C" {
9538    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_curve_name"]
9539    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9540}
9541extern "C" {
9542    #[link_name = "aws_lc_0_47_0_EC_KEY_marshal_curve_name"]
9543    pub fn EC_KEY_marshal_curve_name(
9544        cbb: *mut CBB,
9545        group: *const EC_GROUP,
9546    ) -> ::std::os::raw::c_int;
9547}
9548extern "C" {
9549    #[link_name = "aws_lc_0_47_0_EC_KEY_parse_parameters"]
9550    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9551}
9552extern "C" {
9553    #[link_name = "aws_lc_0_47_0_EC_KEY_get_ex_new_index"]
9554    pub fn EC_KEY_get_ex_new_index(
9555        argl: ::std::os::raw::c_long,
9556        argp: *mut ::std::os::raw::c_void,
9557        unused: *mut CRYPTO_EX_unused,
9558        dup_unused: CRYPTO_EX_dup,
9559        free_func: CRYPTO_EX_free,
9560    ) -> ::std::os::raw::c_int;
9561}
9562extern "C" {
9563    #[link_name = "aws_lc_0_47_0_EC_KEY_set_ex_data"]
9564    pub fn EC_KEY_set_ex_data(
9565        r: *mut EC_KEY,
9566        idx: ::std::os::raw::c_int,
9567        arg: *mut ::std::os::raw::c_void,
9568    ) -> ::std::os::raw::c_int;
9569}
9570extern "C" {
9571    #[link_name = "aws_lc_0_47_0_EC_KEY_get_ex_data"]
9572    pub fn EC_KEY_get_ex_data(
9573        r: *const EC_KEY,
9574        idx: ::std::os::raw::c_int,
9575    ) -> *mut ::std::os::raw::c_void;
9576}
9577extern "C" {
9578    #[link_name = "aws_lc_0_47_0_d2i_ECPrivateKey"]
9579    pub fn d2i_ECPrivateKey(
9580        out_key: *mut *mut EC_KEY,
9581        inp: *mut *const u8,
9582        len: ::std::os::raw::c_long,
9583    ) -> *mut EC_KEY;
9584}
9585extern "C" {
9586    #[link_name = "aws_lc_0_47_0_i2d_ECPrivateKey"]
9587    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9588}
9589extern "C" {
9590    #[link_name = "aws_lc_0_47_0_d2i_ECParameters"]
9591    pub fn d2i_ECParameters(
9592        out_key: *mut *mut EC_KEY,
9593        inp: *mut *const u8,
9594        len: ::std::os::raw::c_long,
9595    ) -> *mut EC_KEY;
9596}
9597extern "C" {
9598    #[link_name = "aws_lc_0_47_0_i2d_ECParameters"]
9599    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9600}
9601extern "C" {
9602    #[link_name = "aws_lc_0_47_0_d2i_ECPKParameters"]
9603    pub fn d2i_ECPKParameters(
9604        out_group: *mut *mut EC_GROUP,
9605        inp: *mut *const u8,
9606        len: ::std::os::raw::c_long,
9607    ) -> *mut EC_GROUP;
9608}
9609extern "C" {
9610    #[link_name = "aws_lc_0_47_0_i2d_ECPKParameters"]
9611    pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9612}
9613extern "C" {
9614    #[link_name = "aws_lc_0_47_0_d2i_ECPKParameters_bio"]
9615    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9616}
9617extern "C" {
9618    #[link_name = "aws_lc_0_47_0_i2d_ECPKParameters_bio"]
9619    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9620}
9621extern "C" {
9622    #[link_name = "aws_lc_0_47_0_o2i_ECPublicKey"]
9623    pub fn o2i_ECPublicKey(
9624        out_key: *mut *mut EC_KEY,
9625        inp: *mut *const u8,
9626        len: ::std::os::raw::c_long,
9627    ) -> *mut EC_KEY;
9628}
9629extern "C" {
9630    #[link_name = "aws_lc_0_47_0_i2o_ECPublicKey"]
9631    pub fn i2o_ECPublicKey(
9632        key: *const EC_KEY,
9633        outp: *mut *mut ::std::os::raw::c_uchar,
9634    ) -> ::std::os::raw::c_int;
9635}
9636extern "C" {
9637    #[link_name = "aws_lc_0_47_0_EC_KEY_get_default_method"]
9638    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9639}
9640extern "C" {
9641    #[link_name = "aws_lc_0_47_0_EC_KEY_OpenSSL"]
9642    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9643}
9644extern "C" {
9645    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_new"]
9646    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9647}
9648extern "C" {
9649    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_free"]
9650    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9651}
9652extern "C" {
9653    #[link_name = "aws_lc_0_47_0_EC_KEY_set_method"]
9654    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9655}
9656extern "C" {
9657    #[link_name = "aws_lc_0_47_0_EC_KEY_get_method"]
9658    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9659}
9660extern "C" {
9661    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_sign_awslc"]
9662    pub fn EC_KEY_METHOD_set_sign_awslc(
9663        meth: *mut EC_KEY_METHOD,
9664        sign: ::std::option::Option<
9665            unsafe extern "C" fn(
9666                type_: ::std::os::raw::c_int,
9667                digest: *const u8,
9668                digest_len: ::std::os::raw::c_int,
9669                sig: *mut u8,
9670                siglen: *mut ::std::os::raw::c_uint,
9671                k_inv: *const BIGNUM,
9672                r: *const BIGNUM,
9673                eckey: *mut EC_KEY,
9674            ) -> ::std::os::raw::c_int,
9675        >,
9676        sign_sig: ::std::option::Option<
9677            unsafe extern "C" fn(
9678                digest: *const u8,
9679                digest_len: ::std::os::raw::c_int,
9680                in_kinv: *const BIGNUM,
9681                in_r: *const BIGNUM,
9682                eckey: *mut EC_KEY,
9683            ) -> *mut ECDSA_SIG,
9684        >,
9685    );
9686}
9687extern "C" {
9688    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_init_awslc"]
9689    pub fn EC_KEY_METHOD_set_init_awslc(
9690        meth: *mut EC_KEY_METHOD,
9691        init: ::std::option::Option<
9692            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9693        >,
9694        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9695    );
9696}
9697extern "C" {
9698    #[link_name = "aws_lc_0_47_0_EC_KEY_METHOD_set_flags"]
9699    pub fn EC_KEY_METHOD_set_flags(
9700        meth: *mut EC_KEY_METHOD,
9701        flags: ::std::os::raw::c_int,
9702    ) -> ::std::os::raw::c_int;
9703}
9704extern "C" {
9705    #[link_name = "aws_lc_0_47_0_EC_KEY_set_asn1_flag"]
9706    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9707}
9708extern "C" {
9709    #[link_name = "aws_lc_0_47_0_ECDH_compute_key"]
9710    pub fn ECDH_compute_key(
9711        out: *mut ::std::os::raw::c_void,
9712        outlen: usize,
9713        pub_key: *const EC_POINT,
9714        priv_key: *const EC_KEY,
9715        kdf: ::std::option::Option<
9716            unsafe extern "C" fn(
9717                in_: *const ::std::os::raw::c_void,
9718                inlen: usize,
9719                out: *mut ::std::os::raw::c_void,
9720                outlen: *mut usize,
9721            ) -> *mut ::std::os::raw::c_void,
9722        >,
9723    ) -> ::std::os::raw::c_int;
9724}
9725extern "C" {
9726    #[link_name = "aws_lc_0_47_0_ECDH_compute_key_fips"]
9727    pub fn ECDH_compute_key_fips(
9728        out: *mut u8,
9729        out_len: usize,
9730        pub_key: *const EC_POINT,
9731        priv_key: *const EC_KEY,
9732    ) -> ::std::os::raw::c_int;
9733}
9734extern "C" {
9735    #[link_name = "aws_lc_0_47_0_ECDSA_sign"]
9736    pub fn ECDSA_sign(
9737        type_: ::std::os::raw::c_int,
9738        digest: *const u8,
9739        digest_len: usize,
9740        sig: *mut u8,
9741        sig_len: *mut ::std::os::raw::c_uint,
9742        key: *const EC_KEY,
9743    ) -> ::std::os::raw::c_int;
9744}
9745extern "C" {
9746    #[link_name = "aws_lc_0_47_0_ECDSA_verify"]
9747    pub fn ECDSA_verify(
9748        type_: ::std::os::raw::c_int,
9749        digest: *const u8,
9750        digest_len: usize,
9751        sig: *const u8,
9752        sig_len: usize,
9753        key: *const EC_KEY,
9754    ) -> ::std::os::raw::c_int;
9755}
9756extern "C" {
9757    #[link_name = "aws_lc_0_47_0_ECDSA_size"]
9758    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9759}
9760#[repr(C)]
9761#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9762pub struct ecdsa_sig_st {
9763    pub r: *mut BIGNUM,
9764    pub s: *mut BIGNUM,
9765}
9766#[test]
9767fn bindgen_test_layout_ecdsa_sig_st() {
9768    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9769    let ptr = UNINIT.as_ptr();
9770    assert_eq!(
9771        ::std::mem::size_of::<ecdsa_sig_st>(),
9772        16usize,
9773        "Size of ecdsa_sig_st"
9774    );
9775    assert_eq!(
9776        ::std::mem::align_of::<ecdsa_sig_st>(),
9777        8usize,
9778        "Alignment of ecdsa_sig_st"
9779    );
9780    assert_eq!(
9781        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9782        0usize,
9783        "Offset of field: ecdsa_sig_st::r"
9784    );
9785    assert_eq!(
9786        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9787        8usize,
9788        "Offset of field: ecdsa_sig_st::s"
9789    );
9790}
9791impl Default for ecdsa_sig_st {
9792    fn default() -> Self {
9793        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9794        unsafe {
9795            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9796            s.assume_init()
9797        }
9798    }
9799}
9800extern "C" {
9801    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_new"]
9802    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9803}
9804extern "C" {
9805    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_free"]
9806    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9807}
9808extern "C" {
9809    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0_r"]
9810    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9811}
9812extern "C" {
9813    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0_s"]
9814    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9815}
9816extern "C" {
9817    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_get0"]
9818    pub fn ECDSA_SIG_get0(
9819        sig: *const ECDSA_SIG,
9820        out_r: *mut *const BIGNUM,
9821        out_s: *mut *const BIGNUM,
9822    );
9823}
9824extern "C" {
9825    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_set0"]
9826    pub fn ECDSA_SIG_set0(
9827        sig: *mut ECDSA_SIG,
9828        r: *mut BIGNUM,
9829        s: *mut BIGNUM,
9830    ) -> ::std::os::raw::c_int;
9831}
9832extern "C" {
9833    #[link_name = "aws_lc_0_47_0_ECDSA_do_sign"]
9834    pub fn ECDSA_do_sign(
9835        digest: *const u8,
9836        digest_len: usize,
9837        key: *const EC_KEY,
9838    ) -> *mut ECDSA_SIG;
9839}
9840extern "C" {
9841    #[link_name = "aws_lc_0_47_0_ECDSA_do_verify"]
9842    pub fn ECDSA_do_verify(
9843        digest: *const u8,
9844        digest_len: usize,
9845        sig: *const ECDSA_SIG,
9846        key: *const EC_KEY,
9847    ) -> ::std::os::raw::c_int;
9848}
9849extern "C" {
9850    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_parse"]
9851    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9852}
9853extern "C" {
9854    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_from_bytes"]
9855    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9856}
9857extern "C" {
9858    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_marshal"]
9859    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9860}
9861extern "C" {
9862    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_to_bytes"]
9863    pub fn ECDSA_SIG_to_bytes(
9864        out_bytes: *mut *mut u8,
9865        out_len: *mut usize,
9866        sig: *const ECDSA_SIG,
9867    ) -> ::std::os::raw::c_int;
9868}
9869extern "C" {
9870    #[link_name = "aws_lc_0_47_0_ECDSA_SIG_max_len"]
9871    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9872}
9873extern "C" {
9874    #[link_name = "aws_lc_0_47_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9875    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9876        digest: *const u8,
9877        digest_len: usize,
9878        eckey: *const EC_KEY,
9879        nonce: *const u8,
9880        nonce_len: usize,
9881    ) -> *mut ECDSA_SIG;
9882}
9883extern "C" {
9884    #[link_name = "aws_lc_0_47_0_d2i_ECDSA_SIG"]
9885    pub fn d2i_ECDSA_SIG(
9886        out: *mut *mut ECDSA_SIG,
9887        inp: *mut *const u8,
9888        len: ::std::os::raw::c_long,
9889    ) -> *mut ECDSA_SIG;
9890}
9891extern "C" {
9892    #[link_name = "aws_lc_0_47_0_i2d_ECDSA_SIG"]
9893    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9894}
9895extern "C" {
9896    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm"]
9897    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9898}
9899extern "C" {
9900    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_192_gcm"]
9901    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9902}
9903extern "C" {
9904    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm"]
9905    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9906}
9907extern "C" {
9908    #[link_name = "aws_lc_0_47_0_EVP_aead_chacha20_poly1305"]
9909    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9910}
9911extern "C" {
9912    #[link_name = "aws_lc_0_47_0_EVP_aead_xchacha20_poly1305"]
9913    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9914}
9915extern "C" {
9916    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9917    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9918}
9919extern "C" {
9920    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9921    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9922}
9923extern "C" {
9924    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_siv"]
9925    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9926}
9927extern "C" {
9928    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_siv"]
9929    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9930}
9931extern "C" {
9932    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_randnonce"]
9933    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9934}
9935extern "C" {
9936    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_randnonce"]
9937    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9938}
9939extern "C" {
9940    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_bluetooth"]
9941    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9942}
9943extern "C" {
9944    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9945    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9946}
9947extern "C" {
9948    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_ccm_matter"]
9949    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9950}
9951extern "C" {
9952    #[link_name = "aws_lc_0_47_0_EVP_has_aes_hardware"]
9953    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9954}
9955extern "C" {
9956    #[link_name = "aws_lc_0_47_0_EVP_AEAD_key_length"]
9957    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9958}
9959extern "C" {
9960    #[link_name = "aws_lc_0_47_0_EVP_AEAD_nonce_length"]
9961    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9962}
9963extern "C" {
9964    #[link_name = "aws_lc_0_47_0_EVP_AEAD_max_overhead"]
9965    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9966}
9967extern "C" {
9968    #[link_name = "aws_lc_0_47_0_EVP_AEAD_max_tag_len"]
9969    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9970}
9971#[repr(C)]
9972#[derive(Copy, Clone)]
9973pub union evp_aead_ctx_st_state {
9974    pub opaque: [u8; 564usize],
9975    pub alignment: u64,
9976    pub ptr: *mut ::std::os::raw::c_void,
9977}
9978#[test]
9979fn bindgen_test_layout_evp_aead_ctx_st_state() {
9980    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9981        ::std::mem::MaybeUninit::uninit();
9982    let ptr = UNINIT.as_ptr();
9983    assert_eq!(
9984        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9985        568usize,
9986        "Size of evp_aead_ctx_st_state"
9987    );
9988    assert_eq!(
9989        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9990        8usize,
9991        "Alignment of evp_aead_ctx_st_state"
9992    );
9993    assert_eq!(
9994        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9995        0usize,
9996        "Offset of field: evp_aead_ctx_st_state::opaque"
9997    );
9998    assert_eq!(
9999        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
10000        0usize,
10001        "Offset of field: evp_aead_ctx_st_state::alignment"
10002    );
10003    assert_eq!(
10004        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10005        0usize,
10006        "Offset of field: evp_aead_ctx_st_state::ptr"
10007    );
10008}
10009impl Default for evp_aead_ctx_st_state {
10010    fn default() -> Self {
10011        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10012        unsafe {
10013            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10014            s.assume_init()
10015        }
10016    }
10017}
10018#[repr(C)]
10019#[derive(Copy, Clone)]
10020pub struct evp_aead_ctx_st {
10021    pub aead: *const EVP_AEAD,
10022    pub state: evp_aead_ctx_st_state,
10023    pub state_offset: u8,
10024    pub tag_len: u8,
10025}
10026#[test]
10027fn bindgen_test_layout_evp_aead_ctx_st() {
10028    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
10029    let ptr = UNINIT.as_ptr();
10030    assert_eq!(
10031        ::std::mem::size_of::<evp_aead_ctx_st>(),
10032        584usize,
10033        "Size of evp_aead_ctx_st"
10034    );
10035    assert_eq!(
10036        ::std::mem::align_of::<evp_aead_ctx_st>(),
10037        8usize,
10038        "Alignment of evp_aead_ctx_st"
10039    );
10040    assert_eq!(
10041        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
10042        0usize,
10043        "Offset of field: evp_aead_ctx_st::aead"
10044    );
10045    assert_eq!(
10046        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10047        8usize,
10048        "Offset of field: evp_aead_ctx_st::state"
10049    );
10050    assert_eq!(
10051        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
10052        576usize,
10053        "Offset of field: evp_aead_ctx_st::state_offset"
10054    );
10055    assert_eq!(
10056        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
10057        577usize,
10058        "Offset of field: evp_aead_ctx_st::tag_len"
10059    );
10060}
10061impl Default for evp_aead_ctx_st {
10062    fn default() -> Self {
10063        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10064        unsafe {
10065            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10066            s.assume_init()
10067        }
10068    }
10069}
10070extern "C" {
10071    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_zero"]
10072    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
10073}
10074extern "C" {
10075    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_new"]
10076    pub fn EVP_AEAD_CTX_new(
10077        aead: *const EVP_AEAD,
10078        key: *const u8,
10079        key_len: usize,
10080        tag_len: usize,
10081    ) -> *mut EVP_AEAD_CTX;
10082}
10083extern "C" {
10084    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_free"]
10085    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
10086}
10087extern "C" {
10088    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_init"]
10089    pub fn EVP_AEAD_CTX_init(
10090        ctx: *mut EVP_AEAD_CTX,
10091        aead: *const EVP_AEAD,
10092        key: *const u8,
10093        key_len: usize,
10094        tag_len: usize,
10095        impl_: *mut ENGINE,
10096    ) -> ::std::os::raw::c_int;
10097}
10098extern "C" {
10099    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_cleanup"]
10100    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
10101}
10102extern "C" {
10103    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_copy"]
10104    pub fn EVP_AEAD_CTX_copy(
10105        out: *mut EVP_AEAD_CTX,
10106        in_: *const EVP_AEAD_CTX,
10107    ) -> ::std::os::raw::c_int;
10108}
10109extern "C" {
10110    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_seal"]
10111    pub fn EVP_AEAD_CTX_seal(
10112        ctx: *const EVP_AEAD_CTX,
10113        out: *mut u8,
10114        out_len: *mut usize,
10115        max_out_len: usize,
10116        nonce: *const u8,
10117        nonce_len: usize,
10118        in_: *const u8,
10119        in_len: usize,
10120        ad: *const u8,
10121        ad_len: usize,
10122    ) -> ::std::os::raw::c_int;
10123}
10124extern "C" {
10125    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_open"]
10126    pub fn EVP_AEAD_CTX_open(
10127        ctx: *const EVP_AEAD_CTX,
10128        out: *mut u8,
10129        out_len: *mut usize,
10130        max_out_len: usize,
10131        nonce: *const u8,
10132        nonce_len: usize,
10133        in_: *const u8,
10134        in_len: usize,
10135        ad: *const u8,
10136        ad_len: usize,
10137    ) -> ::std::os::raw::c_int;
10138}
10139extern "C" {
10140    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_seal_scatter"]
10141    pub fn EVP_AEAD_CTX_seal_scatter(
10142        ctx: *const EVP_AEAD_CTX,
10143        out: *mut u8,
10144        out_tag: *mut u8,
10145        out_tag_len: *mut usize,
10146        max_out_tag_len: usize,
10147        nonce: *const u8,
10148        nonce_len: usize,
10149        in_: *const u8,
10150        in_len: usize,
10151        extra_in: *const u8,
10152        extra_in_len: usize,
10153        ad: *const u8,
10154        ad_len: usize,
10155    ) -> ::std::os::raw::c_int;
10156}
10157extern "C" {
10158    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_open_gather"]
10159    pub fn EVP_AEAD_CTX_open_gather(
10160        ctx: *const EVP_AEAD_CTX,
10161        out: *mut u8,
10162        nonce: *const u8,
10163        nonce_len: usize,
10164        in_: *const u8,
10165        in_len: usize,
10166        in_tag: *const u8,
10167        in_tag_len: usize,
10168        ad: *const u8,
10169        ad_len: usize,
10170    ) -> ::std::os::raw::c_int;
10171}
10172extern "C" {
10173    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_aead"]
10174    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
10175}
10176extern "C" {
10177    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha1_tls"]
10178    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
10179}
10180extern "C" {
10181    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
10182    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10183}
10184extern "C" {
10185    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha1_tls"]
10186    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10187}
10188extern "C" {
10189    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10190    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10191}
10192extern "C" {
10193    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha256_tls"]
10194    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10195}
10196extern "C" {
10197    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10198    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10199}
10200extern "C" {
10201    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_cbc_sha384_tls"]
10202    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10203}
10204extern "C" {
10205    #[link_name = "aws_lc_0_47_0_EVP_aead_des_ede3_cbc_sha1_tls"]
10206    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10207}
10208extern "C" {
10209    #[link_name = "aws_lc_0_47_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10210    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10211}
10212extern "C" {
10213    #[link_name = "aws_lc_0_47_0_EVP_aead_null_sha1_tls"]
10214    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10215}
10216extern "C" {
10217    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_tls12"]
10218    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10219}
10220extern "C" {
10221    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_tls12"]
10222    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10223}
10224extern "C" {
10225    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_128_gcm_tls13"]
10226    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10227}
10228extern "C" {
10229    #[link_name = "aws_lc_0_47_0_EVP_aead_aes_256_gcm_tls13"]
10230    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10231}
10232pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10233pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10234pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10235extern "C" {
10236    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_init_with_direction"]
10237    pub fn EVP_AEAD_CTX_init_with_direction(
10238        ctx: *mut EVP_AEAD_CTX,
10239        aead: *const EVP_AEAD,
10240        key: *const u8,
10241        key_len: usize,
10242        tag_len: usize,
10243        dir: evp_aead_direction_t,
10244    ) -> ::std::os::raw::c_int;
10245}
10246extern "C" {
10247    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_get_iv"]
10248    pub fn EVP_AEAD_CTX_get_iv(
10249        ctx: *const EVP_AEAD_CTX,
10250        out_iv: *mut *const u8,
10251        out_len: *mut usize,
10252    ) -> ::std::os::raw::c_int;
10253}
10254extern "C" {
10255    #[link_name = "aws_lc_0_47_0_EVP_AEAD_CTX_tag_len"]
10256    pub fn EVP_AEAD_CTX_tag_len(
10257        ctx: *const EVP_AEAD_CTX,
10258        out_tag_len: *mut usize,
10259        in_len: usize,
10260        extra_in_len: usize,
10261    ) -> ::std::os::raw::c_int;
10262}
10263extern "C" {
10264    #[link_name = "aws_lc_0_47_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10265    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10266        ipv4_address: u32,
10267        nanosecs: u64,
10268        out_iv: *mut u8,
10269    ) -> ::std::os::raw::c_int;
10270}
10271#[repr(C)]
10272#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10273pub struct md5_state_st {
10274    pub h: [u32; 4usize],
10275    pub Nl: u32,
10276    pub Nh: u32,
10277    pub data: [u8; 64usize],
10278    pub num: ::std::os::raw::c_uint,
10279}
10280#[test]
10281fn bindgen_test_layout_md5_state_st() {
10282    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10283    let ptr = UNINIT.as_ptr();
10284    assert_eq!(
10285        ::std::mem::size_of::<md5_state_st>(),
10286        92usize,
10287        "Size of md5_state_st"
10288    );
10289    assert_eq!(
10290        ::std::mem::align_of::<md5_state_st>(),
10291        4usize,
10292        "Alignment of md5_state_st"
10293    );
10294    assert_eq!(
10295        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10296        0usize,
10297        "Offset of field: md5_state_st::h"
10298    );
10299    assert_eq!(
10300        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10301        16usize,
10302        "Offset of field: md5_state_st::Nl"
10303    );
10304    assert_eq!(
10305        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10306        20usize,
10307        "Offset of field: md5_state_st::Nh"
10308    );
10309    assert_eq!(
10310        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10311        24usize,
10312        "Offset of field: md5_state_st::data"
10313    );
10314    assert_eq!(
10315        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10316        88usize,
10317        "Offset of field: md5_state_st::num"
10318    );
10319}
10320impl Default for md5_state_st {
10321    fn default() -> Self {
10322        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10323        unsafe {
10324            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10325            s.assume_init()
10326        }
10327    }
10328}
10329extern "C" {
10330    #[link_name = "aws_lc_0_47_0_HMAC"]
10331    pub fn HMAC(
10332        evp_md: *const EVP_MD,
10333        key: *const ::std::os::raw::c_void,
10334        key_len: usize,
10335        data: *const u8,
10336        data_len: usize,
10337        out: *mut u8,
10338        out_len: *mut ::std::os::raw::c_uint,
10339    ) -> *mut u8;
10340}
10341extern "C" {
10342    #[link_name = "aws_lc_0_47_0_HMAC_CTX_init"]
10343    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10344}
10345extern "C" {
10346    #[link_name = "aws_lc_0_47_0_HMAC_CTX_new"]
10347    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10348}
10349extern "C" {
10350    #[link_name = "aws_lc_0_47_0_HMAC_CTX_cleanup"]
10351    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10352}
10353extern "C" {
10354    #[link_name = "aws_lc_0_47_0_HMAC_CTX_cleanse"]
10355    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10356}
10357extern "C" {
10358    #[link_name = "aws_lc_0_47_0_HMAC_CTX_free"]
10359    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10360}
10361extern "C" {
10362    #[link_name = "aws_lc_0_47_0_HMAC_Init_ex"]
10363    pub fn HMAC_Init_ex(
10364        ctx: *mut HMAC_CTX,
10365        key: *const ::std::os::raw::c_void,
10366        key_len: usize,
10367        md: *const EVP_MD,
10368        impl_: *mut ENGINE,
10369    ) -> ::std::os::raw::c_int;
10370}
10371extern "C" {
10372    #[link_name = "aws_lc_0_47_0_HMAC_Update"]
10373    pub fn HMAC_Update(
10374        ctx: *mut HMAC_CTX,
10375        data: *const u8,
10376        data_len: usize,
10377    ) -> ::std::os::raw::c_int;
10378}
10379extern "C" {
10380    #[link_name = "aws_lc_0_47_0_HMAC_Final"]
10381    pub fn HMAC_Final(
10382        ctx: *mut HMAC_CTX,
10383        out: *mut u8,
10384        out_len: *mut ::std::os::raw::c_uint,
10385    ) -> ::std::os::raw::c_int;
10386}
10387extern "C" {
10388    #[link_name = "aws_lc_0_47_0_HMAC_size"]
10389    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10390}
10391extern "C" {
10392    #[link_name = "aws_lc_0_47_0_HMAC_CTX_get_md"]
10393    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10394}
10395extern "C" {
10396    #[link_name = "aws_lc_0_47_0_HMAC_CTX_copy_ex"]
10397    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10398}
10399extern "C" {
10400    #[link_name = "aws_lc_0_47_0_HMAC_CTX_reset"]
10401    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10402}
10403extern "C" {
10404    #[link_name = "aws_lc_0_47_0_HMAC_set_precomputed_key_export"]
10405    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10406}
10407extern "C" {
10408    #[link_name = "aws_lc_0_47_0_HMAC_get_precomputed_key"]
10409    pub fn HMAC_get_precomputed_key(
10410        ctx: *mut HMAC_CTX,
10411        out: *mut u8,
10412        out_len: *mut usize,
10413    ) -> ::std::os::raw::c_int;
10414}
10415extern "C" {
10416    #[link_name = "aws_lc_0_47_0_HMAC_Init_from_precomputed_key"]
10417    pub fn HMAC_Init_from_precomputed_key(
10418        ctx: *mut HMAC_CTX,
10419        precomputed_key: *const u8,
10420        precompute_key_len: usize,
10421        md: *const EVP_MD,
10422    ) -> ::std::os::raw::c_int;
10423}
10424extern "C" {
10425    #[link_name = "aws_lc_0_47_0_HMAC_Init"]
10426    pub fn HMAC_Init(
10427        ctx: *mut HMAC_CTX,
10428        key: *const ::std::os::raw::c_void,
10429        key_len: ::std::os::raw::c_int,
10430        md: *const EVP_MD,
10431    ) -> ::std::os::raw::c_int;
10432}
10433extern "C" {
10434    #[link_name = "aws_lc_0_47_0_HMAC_CTX_copy"]
10435    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10436}
10437#[repr(C)]
10438#[derive(Debug)]
10439pub struct hmac_methods_st {
10440    _unused: [u8; 0],
10441}
10442pub type HmacMethods = hmac_methods_st;
10443#[repr(C)]
10444#[derive(Copy, Clone)]
10445pub union md_ctx_union {
10446    pub md5: MD5_CTX,
10447    pub sha1: SHA_CTX,
10448    pub sha256: SHA256_CTX,
10449    pub sha512: SHA512_CTX,
10450    pub sha3: [u8; 400usize],
10451}
10452#[test]
10453fn bindgen_test_layout_md_ctx_union() {
10454    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10455    let ptr = UNINIT.as_ptr();
10456    assert_eq!(
10457        ::std::mem::size_of::<md_ctx_union>(),
10458        400usize,
10459        "Size of md_ctx_union"
10460    );
10461    assert_eq!(
10462        ::std::mem::align_of::<md_ctx_union>(),
10463        8usize,
10464        "Alignment of md_ctx_union"
10465    );
10466    assert_eq!(
10467        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10468        0usize,
10469        "Offset of field: md_ctx_union::md5"
10470    );
10471    assert_eq!(
10472        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10473        0usize,
10474        "Offset of field: md_ctx_union::sha1"
10475    );
10476    assert_eq!(
10477        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10478        0usize,
10479        "Offset of field: md_ctx_union::sha256"
10480    );
10481    assert_eq!(
10482        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10483        0usize,
10484        "Offset of field: md_ctx_union::sha512"
10485    );
10486    assert_eq!(
10487        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10488        0usize,
10489        "Offset of field: md_ctx_union::sha3"
10490    );
10491}
10492impl Default for md_ctx_union {
10493    fn default() -> Self {
10494        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10495        unsafe {
10496            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10497            s.assume_init()
10498        }
10499    }
10500}
10501#[repr(C)]
10502#[derive(Copy, Clone)]
10503pub struct hmac_ctx_st {
10504    pub md: *const EVP_MD,
10505    pub methods: *const HmacMethods,
10506    pub md_ctx: md_ctx_union,
10507    pub i_ctx: md_ctx_union,
10508    pub o_ctx: md_ctx_union,
10509    pub state: i8,
10510}
10511#[test]
10512fn bindgen_test_layout_hmac_ctx_st() {
10513    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10514    let ptr = UNINIT.as_ptr();
10515    assert_eq!(
10516        ::std::mem::size_of::<hmac_ctx_st>(),
10517        1224usize,
10518        "Size of hmac_ctx_st"
10519    );
10520    assert_eq!(
10521        ::std::mem::align_of::<hmac_ctx_st>(),
10522        8usize,
10523        "Alignment of hmac_ctx_st"
10524    );
10525    assert_eq!(
10526        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10527        0usize,
10528        "Offset of field: hmac_ctx_st::md"
10529    );
10530    assert_eq!(
10531        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10532        8usize,
10533        "Offset of field: hmac_ctx_st::methods"
10534    );
10535    assert_eq!(
10536        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10537        16usize,
10538        "Offset of field: hmac_ctx_st::md_ctx"
10539    );
10540    assert_eq!(
10541        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10542        416usize,
10543        "Offset of field: hmac_ctx_st::i_ctx"
10544    );
10545    assert_eq!(
10546        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10547        816usize,
10548        "Offset of field: hmac_ctx_st::o_ctx"
10549    );
10550    assert_eq!(
10551        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10552        1216usize,
10553        "Offset of field: hmac_ctx_st::state"
10554    );
10555}
10556impl Default for hmac_ctx_st {
10557    fn default() -> Self {
10558        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10559        unsafe {
10560            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10561            s.assume_init()
10562        }
10563    }
10564}
10565extern "C" {
10566    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new"]
10567    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10568}
10569extern "C" {
10570    #[link_name = "aws_lc_0_47_0_EVP_PKEY_free"]
10571    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10572}
10573extern "C" {
10574    #[link_name = "aws_lc_0_47_0_EVP_PKEY_up_ref"]
10575    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "aws_lc_0_47_0_EVP_PKEY_is_opaque"]
10579    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10580}
10581extern "C" {
10582    #[link_name = "aws_lc_0_47_0_EVP_PKEY_cmp"]
10583    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10584}
10585extern "C" {
10586    #[link_name = "aws_lc_0_47_0_EVP_PKEY_copy_parameters"]
10587    pub fn EVP_PKEY_copy_parameters(
10588        to: *mut EVP_PKEY,
10589        from: *const EVP_PKEY,
10590    ) -> ::std::os::raw::c_int;
10591}
10592extern "C" {
10593    #[link_name = "aws_lc_0_47_0_EVP_PKEY_missing_parameters"]
10594    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10595}
10596extern "C" {
10597    #[link_name = "aws_lc_0_47_0_EVP_PKEY_size"]
10598    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10599}
10600extern "C" {
10601    #[link_name = "aws_lc_0_47_0_EVP_PKEY_bits"]
10602    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10603}
10604extern "C" {
10605    #[link_name = "aws_lc_0_47_0_EVP_PKEY_id"]
10606    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10607}
10608extern "C" {
10609    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_get_type"]
10610    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10611}
10612extern "C" {
10613    #[link_name = "aws_lc_0_47_0_EVP_MD_get0_name"]
10614    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10615}
10616extern "C" {
10617    #[link_name = "aws_lc_0_47_0_EVP_MD_name"]
10618    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10619}
10620extern "C" {
10621    #[link_name = "aws_lc_0_47_0_EVP_get_pw_prompt"]
10622    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10623}
10624extern "C" {
10625    #[link_name = "aws_lc_0_47_0_EVP_read_pw_string"]
10626    pub fn EVP_read_pw_string(
10627        buf: *mut ::std::os::raw::c_char,
10628        length: ::std::os::raw::c_int,
10629        prompt: *const ::std::os::raw::c_char,
10630        verify: ::std::os::raw::c_int,
10631    ) -> ::std::os::raw::c_int;
10632}
10633extern "C" {
10634    #[link_name = "aws_lc_0_47_0_EVP_read_pw_string_min"]
10635    pub fn EVP_read_pw_string_min(
10636        buf: *mut ::std::os::raw::c_char,
10637        min_length: ::std::os::raw::c_int,
10638        length: ::std::os::raw::c_int,
10639        prompt: *const ::std::os::raw::c_char,
10640        verify: ::std::os::raw::c_int,
10641    ) -> ::std::os::raw::c_int;
10642}
10643extern "C" {
10644    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_RSA"]
10645    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10646}
10647extern "C" {
10648    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_RSA"]
10649    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10650}
10651extern "C" {
10652    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_RSA"]
10653    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10654}
10655extern "C" {
10656    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_RSA"]
10657    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10658}
10659extern "C" {
10660    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_DSA"]
10661    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10662}
10663extern "C" {
10664    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_DSA"]
10665    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10666}
10667extern "C" {
10668    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_DSA"]
10669    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10670}
10671extern "C" {
10672    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_DSA"]
10673    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10674}
10675extern "C" {
10676    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_EC_KEY"]
10677    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10678}
10679extern "C" {
10680    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_EC_KEY"]
10681    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10682}
10683extern "C" {
10684    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_EC_KEY"]
10685    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10686}
10687extern "C" {
10688    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_EC_KEY"]
10689    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10690}
10691extern "C" {
10692    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_DH"]
10693    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10694}
10695extern "C" {
10696    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign_DH"]
10697    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10698}
10699extern "C" {
10700    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0_DH"]
10701    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10702}
10703extern "C" {
10704    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_DH"]
10705    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10706}
10707extern "C" {
10708    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10709    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10710        ctx: *mut EVP_PKEY_CTX,
10711        pbits: ::std::os::raw::c_int,
10712    ) -> ::std::os::raw::c_int;
10713}
10714extern "C" {
10715    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10716    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10717        ctx: *mut EVP_PKEY_CTX,
10718        gen_: ::std::os::raw::c_int,
10719    ) -> ::std::os::raw::c_int;
10720}
10721extern "C" {
10722    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set_type"]
10723    pub fn EVP_PKEY_set_type(
10724        pkey: *mut EVP_PKEY,
10725        type_: ::std::os::raw::c_int,
10726    ) -> ::std::os::raw::c_int;
10727}
10728extern "C" {
10729    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set_type_str"]
10730    pub fn EVP_PKEY_set_type_str(
10731        pkey: *mut EVP_PKEY,
10732        str_: *const ::std::os::raw::c_char,
10733        len: ::std::os::raw::c_int,
10734    ) -> ::std::os::raw::c_int;
10735}
10736extern "C" {
10737    #[link_name = "aws_lc_0_47_0_EVP_PKEY_cmp_parameters"]
10738    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10739        -> ::std::os::raw::c_int;
10740}
10741extern "C" {
10742    #[link_name = "aws_lc_0_47_0_EVP_parse_public_key"]
10743    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10744}
10745extern "C" {
10746    #[link_name = "aws_lc_0_47_0_EVP_marshal_public_key"]
10747    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10748}
10749extern "C" {
10750    #[link_name = "aws_lc_0_47_0_EVP_parse_private_key"]
10751    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10752}
10753extern "C" {
10754    #[link_name = "aws_lc_0_47_0_EVP_marshal_private_key"]
10755    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10756}
10757extern "C" {
10758    #[link_name = "aws_lc_0_47_0_EVP_marshal_private_key_v2"]
10759    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10760        -> ::std::os::raw::c_int;
10761}
10762extern "C" {
10763    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_raw_private_key"]
10764    pub fn EVP_PKEY_new_raw_private_key(
10765        type_: ::std::os::raw::c_int,
10766        unused: *mut ENGINE,
10767        in_: *const u8,
10768        len: usize,
10769    ) -> *mut EVP_PKEY;
10770}
10771extern "C" {
10772    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_raw_public_key"]
10773    pub fn EVP_PKEY_new_raw_public_key(
10774        type_: ::std::os::raw::c_int,
10775        unused: *mut ENGINE,
10776        in_: *const u8,
10777        len: usize,
10778    ) -> *mut EVP_PKEY;
10779}
10780extern "C" {
10781    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_raw_private_key"]
10782    pub fn EVP_PKEY_get_raw_private_key(
10783        pkey: *const EVP_PKEY,
10784        out: *mut u8,
10785        out_len: *mut usize,
10786    ) -> ::std::os::raw::c_int;
10787}
10788extern "C" {
10789    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_raw_public_key"]
10790    pub fn EVP_PKEY_get_raw_public_key(
10791        pkey: *const EVP_PKEY,
10792        out: *mut u8,
10793        out_len: *mut usize,
10794    ) -> ::std::os::raw::c_int;
10795}
10796extern "C" {
10797    #[link_name = "aws_lc_0_47_0_EVP_DigestSignInit"]
10798    pub fn EVP_DigestSignInit(
10799        ctx: *mut EVP_MD_CTX,
10800        pctx: *mut *mut EVP_PKEY_CTX,
10801        type_: *const EVP_MD,
10802        e: *mut ENGINE,
10803        pkey: *mut EVP_PKEY,
10804    ) -> ::std::os::raw::c_int;
10805}
10806extern "C" {
10807    #[link_name = "aws_lc_0_47_0_EVP_DigestSignUpdate"]
10808    pub fn EVP_DigestSignUpdate(
10809        ctx: *mut EVP_MD_CTX,
10810        data: *const ::std::os::raw::c_void,
10811        len: usize,
10812    ) -> ::std::os::raw::c_int;
10813}
10814extern "C" {
10815    #[link_name = "aws_lc_0_47_0_EVP_DigestSignFinal"]
10816    pub fn EVP_DigestSignFinal(
10817        ctx: *mut EVP_MD_CTX,
10818        out_sig: *mut u8,
10819        out_sig_len: *mut usize,
10820    ) -> ::std::os::raw::c_int;
10821}
10822extern "C" {
10823    #[link_name = "aws_lc_0_47_0_EVP_DigestSign"]
10824    pub fn EVP_DigestSign(
10825        ctx: *mut EVP_MD_CTX,
10826        out_sig: *mut u8,
10827        out_sig_len: *mut usize,
10828        data: *const u8,
10829        data_len: usize,
10830    ) -> ::std::os::raw::c_int;
10831}
10832extern "C" {
10833    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyInit"]
10834    pub fn EVP_DigestVerifyInit(
10835        ctx: *mut EVP_MD_CTX,
10836        pctx: *mut *mut EVP_PKEY_CTX,
10837        type_: *const EVP_MD,
10838        e: *mut ENGINE,
10839        pkey: *mut EVP_PKEY,
10840    ) -> ::std::os::raw::c_int;
10841}
10842extern "C" {
10843    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyUpdate"]
10844    pub fn EVP_DigestVerifyUpdate(
10845        ctx: *mut EVP_MD_CTX,
10846        data: *const ::std::os::raw::c_void,
10847        len: usize,
10848    ) -> ::std::os::raw::c_int;
10849}
10850extern "C" {
10851    #[link_name = "aws_lc_0_47_0_EVP_DigestVerifyFinal"]
10852    pub fn EVP_DigestVerifyFinal(
10853        ctx: *mut EVP_MD_CTX,
10854        sig: *const u8,
10855        sig_len: usize,
10856    ) -> ::std::os::raw::c_int;
10857}
10858extern "C" {
10859    #[link_name = "aws_lc_0_47_0_EVP_DigestVerify"]
10860    pub fn EVP_DigestVerify(
10861        ctx: *mut EVP_MD_CTX,
10862        sig: *const u8,
10863        sig_len: usize,
10864        data: *const u8,
10865        len: usize,
10866    ) -> ::std::os::raw::c_int;
10867}
10868extern "C" {
10869    #[link_name = "aws_lc_0_47_0_EVP_SignInit_ex"]
10870    pub fn EVP_SignInit_ex(
10871        ctx: *mut EVP_MD_CTX,
10872        type_: *const EVP_MD,
10873        impl_: *mut ENGINE,
10874    ) -> ::std::os::raw::c_int;
10875}
10876extern "C" {
10877    #[link_name = "aws_lc_0_47_0_EVP_SignInit"]
10878    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10879}
10880extern "C" {
10881    #[link_name = "aws_lc_0_47_0_EVP_SignUpdate"]
10882    pub fn EVP_SignUpdate(
10883        ctx: *mut EVP_MD_CTX,
10884        data: *const ::std::os::raw::c_void,
10885        len: usize,
10886    ) -> ::std::os::raw::c_int;
10887}
10888extern "C" {
10889    #[link_name = "aws_lc_0_47_0_EVP_SignFinal"]
10890    pub fn EVP_SignFinal(
10891        ctx: *const EVP_MD_CTX,
10892        sig: *mut u8,
10893        out_sig_len: *mut ::std::os::raw::c_uint,
10894        pkey: *mut EVP_PKEY,
10895    ) -> ::std::os::raw::c_int;
10896}
10897extern "C" {
10898    #[link_name = "aws_lc_0_47_0_EVP_VerifyInit_ex"]
10899    pub fn EVP_VerifyInit_ex(
10900        ctx: *mut EVP_MD_CTX,
10901        type_: *const EVP_MD,
10902        impl_: *mut ENGINE,
10903    ) -> ::std::os::raw::c_int;
10904}
10905extern "C" {
10906    #[link_name = "aws_lc_0_47_0_EVP_VerifyInit"]
10907    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10908}
10909extern "C" {
10910    #[link_name = "aws_lc_0_47_0_EVP_VerifyUpdate"]
10911    pub fn EVP_VerifyUpdate(
10912        ctx: *mut EVP_MD_CTX,
10913        data: *const ::std::os::raw::c_void,
10914        len: usize,
10915    ) -> ::std::os::raw::c_int;
10916}
10917extern "C" {
10918    #[link_name = "aws_lc_0_47_0_EVP_VerifyFinal"]
10919    pub fn EVP_VerifyFinal(
10920        ctx: *mut EVP_MD_CTX,
10921        sig: *const u8,
10922        sig_len: usize,
10923        pkey: *mut EVP_PKEY,
10924    ) -> ::std::os::raw::c_int;
10925}
10926extern "C" {
10927    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_public"]
10928    pub fn EVP_PKEY_print_public(
10929        out: *mut BIO,
10930        pkey: *const EVP_PKEY,
10931        indent: ::std::os::raw::c_int,
10932        pctx: *mut ASN1_PCTX,
10933    ) -> ::std::os::raw::c_int;
10934}
10935extern "C" {
10936    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_private"]
10937    pub fn EVP_PKEY_print_private(
10938        out: *mut BIO,
10939        pkey: *const EVP_PKEY,
10940        indent: ::std::os::raw::c_int,
10941        pctx: *mut ASN1_PCTX,
10942    ) -> ::std::os::raw::c_int;
10943}
10944extern "C" {
10945    #[link_name = "aws_lc_0_47_0_EVP_PKEY_print_params"]
10946    pub fn EVP_PKEY_print_params(
10947        out: *mut BIO,
10948        pkey: *const EVP_PKEY,
10949        indent: ::std::os::raw::c_int,
10950        pctx: *mut ASN1_PCTX,
10951    ) -> ::std::os::raw::c_int;
10952}
10953extern "C" {
10954    #[link_name = "aws_lc_0_47_0_PKCS5_PBKDF2_HMAC"]
10955    pub fn PKCS5_PBKDF2_HMAC(
10956        password: *const ::std::os::raw::c_char,
10957        password_len: usize,
10958        salt: *const u8,
10959        salt_len: usize,
10960        iterations: u32,
10961        digest: *const EVP_MD,
10962        key_len: usize,
10963        out_key: *mut u8,
10964    ) -> ::std::os::raw::c_int;
10965}
10966extern "C" {
10967    #[link_name = "aws_lc_0_47_0_PKCS5_PBKDF2_HMAC_SHA1"]
10968    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10969        password: *const ::std::os::raw::c_char,
10970        password_len: usize,
10971        salt: *const u8,
10972        salt_len: usize,
10973        iterations: u32,
10974        key_len: usize,
10975        out_key: *mut u8,
10976    ) -> ::std::os::raw::c_int;
10977}
10978extern "C" {
10979    #[link_name = "aws_lc_0_47_0_EVP_PBE_scrypt"]
10980    pub fn EVP_PBE_scrypt(
10981        password: *const ::std::os::raw::c_char,
10982        password_len: usize,
10983        salt: *const u8,
10984        salt_len: usize,
10985        N: u64,
10986        r: u64,
10987        p: u64,
10988        max_mem: usize,
10989        out_key: *mut u8,
10990        key_len: usize,
10991    ) -> ::std::os::raw::c_int;
10992}
10993extern "C" {
10994    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_new"]
10995    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10996}
10997extern "C" {
10998    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_new_id"]
10999    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
11000}
11001extern "C" {
11002    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_free"]
11003    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
11004}
11005extern "C" {
11006    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_dup"]
11007    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
11008}
11009extern "C" {
11010    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_pkey"]
11011    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
11012}
11013extern "C" {
11014    #[link_name = "aws_lc_0_47_0_EVP_PKEY_sign_init"]
11015    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11016}
11017extern "C" {
11018    #[link_name = "aws_lc_0_47_0_EVP_PKEY_sign"]
11019    pub fn EVP_PKEY_sign(
11020        ctx: *mut EVP_PKEY_CTX,
11021        sig: *mut u8,
11022        sig_len: *mut usize,
11023        digest: *const u8,
11024        digest_len: usize,
11025    ) -> ::std::os::raw::c_int;
11026}
11027extern "C" {
11028    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_init"]
11029    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11030}
11031extern "C" {
11032    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify"]
11033    pub fn EVP_PKEY_verify(
11034        ctx: *mut EVP_PKEY_CTX,
11035        sig: *const u8,
11036        sig_len: usize,
11037        digest: *const u8,
11038        digest_len: usize,
11039    ) -> ::std::os::raw::c_int;
11040}
11041extern "C" {
11042    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encrypt_init"]
11043    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11044}
11045extern "C" {
11046    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encrypt"]
11047    pub fn EVP_PKEY_encrypt(
11048        ctx: *mut EVP_PKEY_CTX,
11049        out: *mut u8,
11050        out_len: *mut usize,
11051        in_: *const u8,
11052        in_len: usize,
11053    ) -> ::std::os::raw::c_int;
11054}
11055extern "C" {
11056    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decrypt_init"]
11057    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11058}
11059extern "C" {
11060    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decrypt"]
11061    pub fn EVP_PKEY_decrypt(
11062        ctx: *mut EVP_PKEY_CTX,
11063        out: *mut u8,
11064        out_len: *mut usize,
11065        in_: *const u8,
11066        in_len: usize,
11067    ) -> ::std::os::raw::c_int;
11068}
11069extern "C" {
11070    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_recover_init"]
11071    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11072}
11073extern "C" {
11074    #[link_name = "aws_lc_0_47_0_EVP_PKEY_verify_recover"]
11075    pub fn EVP_PKEY_verify_recover(
11076        ctx: *mut EVP_PKEY_CTX,
11077        out: *mut u8,
11078        out_len: *mut usize,
11079        sig: *const u8,
11080        siglen: usize,
11081    ) -> ::std::os::raw::c_int;
11082}
11083extern "C" {
11084    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive_init"]
11085    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11086}
11087extern "C" {
11088    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive_set_peer"]
11089    pub fn EVP_PKEY_derive_set_peer(
11090        ctx: *mut EVP_PKEY_CTX,
11091        peer: *mut EVP_PKEY,
11092    ) -> ::std::os::raw::c_int;
11093}
11094extern "C" {
11095    #[link_name = "aws_lc_0_47_0_EVP_PKEY_derive"]
11096    pub fn EVP_PKEY_derive(
11097        ctx: *mut EVP_PKEY_CTX,
11098        key: *mut u8,
11099        out_key_len: *mut usize,
11100    ) -> ::std::os::raw::c_int;
11101}
11102extern "C" {
11103    #[link_name = "aws_lc_0_47_0_EVP_PKEY_check"]
11104    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11105}
11106extern "C" {
11107    #[link_name = "aws_lc_0_47_0_EVP_PKEY_public_check"]
11108    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11109}
11110extern "C" {
11111    #[link_name = "aws_lc_0_47_0_EVP_PKEY_param_check"]
11112    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11113}
11114extern "C" {
11115    #[link_name = "aws_lc_0_47_0_EVP_PKEY_keygen_init"]
11116    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11117}
11118extern "C" {
11119    #[link_name = "aws_lc_0_47_0_EVP_PKEY_keygen"]
11120    pub fn EVP_PKEY_keygen(
11121        ctx: *mut EVP_PKEY_CTX,
11122        out_pkey: *mut *mut EVP_PKEY,
11123    ) -> ::std::os::raw::c_int;
11124}
11125extern "C" {
11126    #[link_name = "aws_lc_0_47_0_EVP_PKEY_encapsulate"]
11127    pub fn EVP_PKEY_encapsulate(
11128        ctx: *mut EVP_PKEY_CTX,
11129        ciphertext: *mut u8,
11130        ciphertext_len: *mut usize,
11131        shared_secret: *mut u8,
11132        shared_secret_len: *mut usize,
11133    ) -> ::std::os::raw::c_int;
11134}
11135extern "C" {
11136    #[link_name = "aws_lc_0_47_0_EVP_PKEY_decapsulate"]
11137    pub fn EVP_PKEY_decapsulate(
11138        ctx: *mut EVP_PKEY_CTX,
11139        shared_secret: *mut u8,
11140        shared_secret_len: *mut usize,
11141        ciphertext: *const u8,
11142        ciphertext_len: usize,
11143    ) -> ::std::os::raw::c_int;
11144}
11145extern "C" {
11146    #[link_name = "aws_lc_0_47_0_EVP_PKEY_paramgen_init"]
11147    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11148}
11149extern "C" {
11150    #[link_name = "aws_lc_0_47_0_EVP_PKEY_paramgen"]
11151    pub fn EVP_PKEY_paramgen(
11152        ctx: *mut EVP_PKEY_CTX,
11153        out_pkey: *mut *mut EVP_PKEY,
11154    ) -> ::std::os::raw::c_int;
11155}
11156extern "C" {
11157    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_signature_md"]
11158    pub fn EVP_PKEY_CTX_set_signature_md(
11159        ctx: *mut EVP_PKEY_CTX,
11160        md: *const EVP_MD,
11161    ) -> ::std::os::raw::c_int;
11162}
11163extern "C" {
11164    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_signature_md"]
11165    pub fn EVP_PKEY_CTX_get_signature_md(
11166        ctx: *mut EVP_PKEY_CTX,
11167        out_md: *mut *const EVP_MD,
11168    ) -> ::std::os::raw::c_int;
11169}
11170extern "C" {
11171    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_signature_context_string"]
11172    pub fn EVP_PKEY_CTX_set1_signature_context_string(
11173        ctx: *mut EVP_PKEY_CTX,
11174        context: *const u8,
11175        context_len: usize,
11176    ) -> ::std::os::raw::c_int;
11177}
11178extern "C" {
11179    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_signature_context"]
11180    pub fn EVP_PKEY_CTX_set_signature_context(
11181        ctx: *mut EVP_PKEY_CTX,
11182        context: *const u8,
11183        context_len: usize,
11184    ) -> ::std::os::raw::c_int;
11185}
11186extern "C" {
11187    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_signature_context"]
11188    pub fn EVP_PKEY_CTX_get0_signature_context(
11189        ctx: *mut EVP_PKEY_CTX,
11190        context: *mut *const u8,
11191        context_len: *mut usize,
11192    ) -> ::std::os::raw::c_int;
11193}
11194extern "C" {
11195    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_padding"]
11196    pub fn EVP_PKEY_CTX_set_rsa_padding(
11197        ctx: *mut EVP_PKEY_CTX,
11198        padding: ::std::os::raw::c_int,
11199    ) -> ::std::os::raw::c_int;
11200}
11201extern "C" {
11202    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_padding"]
11203    pub fn EVP_PKEY_CTX_get_rsa_padding(
11204        ctx: *mut EVP_PKEY_CTX,
11205        out_padding: *mut ::std::os::raw::c_int,
11206    ) -> ::std::os::raw::c_int;
11207}
11208extern "C" {
11209    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11210    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11211        ctx: *mut EVP_PKEY_CTX,
11212        salt_len: ::std::os::raw::c_int,
11213    ) -> ::std::os::raw::c_int;
11214}
11215extern "C" {
11216    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11217    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11218        ctx: *mut EVP_PKEY_CTX,
11219        out_salt_len: *mut ::std::os::raw::c_int,
11220    ) -> ::std::os::raw::c_int;
11221}
11222extern "C" {
11223    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11224    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11225        ctx: *mut EVP_PKEY_CTX,
11226        bits: ::std::os::raw::c_int,
11227    ) -> ::std::os::raw::c_int;
11228}
11229extern "C" {
11230    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11231    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11232        ctx: *mut EVP_PKEY_CTX,
11233        e: *mut BIGNUM,
11234    ) -> ::std::os::raw::c_int;
11235}
11236extern "C" {
11237    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11238    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11239        ctx: *mut EVP_PKEY_CTX,
11240        md: *const EVP_MD,
11241    ) -> ::std::os::raw::c_int;
11242}
11243extern "C" {
11244    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11245    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11246        ctx: *mut EVP_PKEY_CTX,
11247        out_md: *mut *const EVP_MD,
11248    ) -> ::std::os::raw::c_int;
11249}
11250extern "C" {
11251    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11252    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11253        ctx: *mut EVP_PKEY_CTX,
11254        md: *const EVP_MD,
11255    ) -> ::std::os::raw::c_int;
11256}
11257extern "C" {
11258    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11259    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11260        ctx: *mut EVP_PKEY_CTX,
11261        out_md: *mut *const EVP_MD,
11262    ) -> ::std::os::raw::c_int;
11263}
11264extern "C" {
11265    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11266    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11267        ctx: *mut EVP_PKEY_CTX,
11268        label: *mut u8,
11269        label_len: usize,
11270    ) -> ::std::os::raw::c_int;
11271}
11272extern "C" {
11273    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11274    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11275        ctx: *mut EVP_PKEY_CTX,
11276        out_label: *mut *const u8,
11277    ) -> ::std::os::raw::c_int;
11278}
11279extern "C" {
11280    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11281    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11282        ctx: *mut EVP_PKEY_CTX,
11283        nid: ::std::os::raw::c_int,
11284    ) -> ::std::os::raw::c_int;
11285}
11286extern "C" {
11287    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_kem_set_params"]
11288    pub fn EVP_PKEY_CTX_kem_set_params(
11289        ctx: *mut EVP_PKEY_CTX,
11290        nid: ::std::os::raw::c_int,
11291    ) -> ::std::os::raw::c_int;
11292}
11293extern "C" {
11294    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_public_key"]
11295    pub fn EVP_PKEY_kem_new_raw_public_key(
11296        nid: ::std::os::raw::c_int,
11297        in_: *const u8,
11298        len: usize,
11299    ) -> *mut EVP_PKEY;
11300}
11301extern "C" {
11302    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_secret_key"]
11303    pub fn EVP_PKEY_kem_new_raw_secret_key(
11304        nid: ::std::os::raw::c_int,
11305        in_: *const u8,
11306        len: usize,
11307    ) -> *mut EVP_PKEY;
11308}
11309extern "C" {
11310    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_new_raw_key"]
11311    pub fn EVP_PKEY_kem_new_raw_key(
11312        nid: ::std::os::raw::c_int,
11313        in_public: *const u8,
11314        len_public: usize,
11315        in_secret: *const u8,
11316        len_secret: usize,
11317    ) -> *mut EVP_PKEY;
11318}
11319extern "C" {
11320    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_check_key"]
11321    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11322}
11323extern "C" {
11324    #[link_name = "aws_lc_0_47_0_EVP_PKEY_kem_get_type"]
11325    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11326}
11327extern "C" {
11328    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_pqdsa_set_params"]
11329    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11330        ctx: *mut EVP_PKEY_CTX,
11331        nid: ::std::os::raw::c_int,
11332    ) -> ::std::os::raw::c_int;
11333}
11334extern "C" {
11335    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11336    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11337        nid: ::std::os::raw::c_int,
11338        in_: *const u8,
11339        len: usize,
11340    ) -> *mut EVP_PKEY;
11341}
11342extern "C" {
11343    #[link_name = "aws_lc_0_47_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11344    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11345        nid: ::std::os::raw::c_int,
11346        in_: *const u8,
11347        len: usize,
11348    ) -> *mut EVP_PKEY;
11349}
11350extern "C" {
11351    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dh_pad"]
11352    pub fn EVP_PKEY_CTX_set_dh_pad(
11353        ctx: *mut EVP_PKEY_CTX,
11354        pad: ::std::os::raw::c_int,
11355    ) -> ::std::os::raw::c_int;
11356}
11357extern "C" {
11358    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get_count"]
11359    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11360}
11361extern "C" {
11362    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get0"]
11363    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11364}
11365extern "C" {
11366    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_find"]
11367    pub fn EVP_PKEY_asn1_find(
11368        _pe: *mut *mut ENGINE,
11369        type_: ::std::os::raw::c_int,
11370    ) -> *const EVP_PKEY_ASN1_METHOD;
11371}
11372extern "C" {
11373    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_find_str"]
11374    pub fn EVP_PKEY_asn1_find_str(
11375        _pe: *mut *mut ENGINE,
11376        name: *const ::std::os::raw::c_char,
11377        len: ::std::os::raw::c_int,
11378    ) -> *const EVP_PKEY_ASN1_METHOD;
11379}
11380extern "C" {
11381    #[link_name = "aws_lc_0_47_0_EVP_PKEY_asn1_get0_info"]
11382    pub fn EVP_PKEY_asn1_get0_info(
11383        ppkey_id: *mut ::std::os::raw::c_int,
11384        pkey_base_id: *mut ::std::os::raw::c_int,
11385        ppkey_flags: *mut ::std::os::raw::c_int,
11386        pinfo: *mut *const ::std::os::raw::c_char,
11387        ppem_str: *mut *const ::std::os::raw::c_char,
11388        ameth: *const EVP_PKEY_ASN1_METHOD,
11389    ) -> ::std::os::raw::c_int;
11390}
11391extern "C" {
11392    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get_private_seed"]
11393    pub fn EVP_PKEY_get_private_seed(
11394        key: *const EVP_PKEY,
11395        out: *mut u8,
11396        out_len: *mut usize,
11397    ) -> ::std::os::raw::c_int;
11398}
11399pub type EVP_PKEY_gen_cb =
11400    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11401extern "C" {
11402    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_cb"]
11403    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11404}
11405extern "C" {
11406    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_keygen_info"]
11407    pub fn EVP_PKEY_CTX_get_keygen_info(
11408        ctx: *mut EVP_PKEY_CTX,
11409        idx: ::std::os::raw::c_int,
11410    ) -> ::std::os::raw::c_int;
11411}
11412extern "C" {
11413    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_app_data"]
11414    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11415}
11416extern "C" {
11417    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_get_app_data"]
11418    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11419}
11420extern "C" {
11421    #[link_name = "aws_lc_0_47_0_EVP_MD_get_pkey_type"]
11422    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11423}
11424extern "C" {
11425    #[link_name = "aws_lc_0_47_0_EVP_MD_pkey_type"]
11426    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11427}
11428extern "C" {
11429    #[link_name = "aws_lc_0_47_0_EVP_CIPHER_do_all_sorted"]
11430    pub fn EVP_CIPHER_do_all_sorted(
11431        callback: ::std::option::Option<
11432            unsafe extern "C" fn(
11433                cipher: *const EVP_CIPHER,
11434                name: *const ::std::os::raw::c_char,
11435                unused: *const ::std::os::raw::c_char,
11436                arg: *mut ::std::os::raw::c_void,
11437            ),
11438        >,
11439        arg: *mut ::std::os::raw::c_void,
11440    );
11441}
11442extern "C" {
11443    #[link_name = "aws_lc_0_47_0_EVP_MD_do_all_sorted"]
11444    pub fn EVP_MD_do_all_sorted(
11445        callback: ::std::option::Option<
11446            unsafe extern "C" fn(
11447                cipher: *const EVP_MD,
11448                name: *const ::std::os::raw::c_char,
11449                unused: *const ::std::os::raw::c_char,
11450                arg: *mut ::std::os::raw::c_void,
11451            ),
11452        >,
11453        arg: *mut ::std::os::raw::c_void,
11454    );
11455}
11456extern "C" {
11457    #[link_name = "aws_lc_0_47_0_EVP_MD_do_all"]
11458    pub fn EVP_MD_do_all(
11459        callback: ::std::option::Option<
11460            unsafe extern "C" fn(
11461                cipher: *const EVP_MD,
11462                name: *const ::std::os::raw::c_char,
11463                unused: *const ::std::os::raw::c_char,
11464                arg: *mut ::std::os::raw::c_void,
11465            ),
11466        >,
11467        arg: *mut ::std::os::raw::c_void,
11468    );
11469}
11470extern "C" {
11471    #[link_name = "aws_lc_0_47_0_i2d_PrivateKey"]
11472    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11473}
11474extern "C" {
11475    #[link_name = "aws_lc_0_47_0_i2d_PublicKey"]
11476    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11477}
11478extern "C" {
11479    #[link_name = "aws_lc_0_47_0_d2i_PrivateKey"]
11480    pub fn d2i_PrivateKey(
11481        type_: ::std::os::raw::c_int,
11482        out: *mut *mut EVP_PKEY,
11483        inp: *mut *const u8,
11484        len: ::std::os::raw::c_long,
11485    ) -> *mut EVP_PKEY;
11486}
11487extern "C" {
11488    #[link_name = "aws_lc_0_47_0_d2i_AutoPrivateKey"]
11489    pub fn d2i_AutoPrivateKey(
11490        out: *mut *mut EVP_PKEY,
11491        inp: *mut *const u8,
11492        len: ::std::os::raw::c_long,
11493    ) -> *mut EVP_PKEY;
11494}
11495extern "C" {
11496    #[link_name = "aws_lc_0_47_0_d2i_PublicKey"]
11497    pub fn d2i_PublicKey(
11498        type_: ::std::os::raw::c_int,
11499        out: *mut *mut EVP_PKEY,
11500        inp: *mut *const u8,
11501        len: ::std::os::raw::c_long,
11502    ) -> *mut EVP_PKEY;
11503}
11504extern "C" {
11505    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_ec_param_enc"]
11506    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11507        ctx: *mut EVP_PKEY_CTX,
11508        encoding: ::std::os::raw::c_int,
11509    ) -> ::std::os::raw::c_int;
11510}
11511extern "C" {
11512    #[link_name = "aws_lc_0_47_0_EVP_PKEY_set1_tls_encodedpoint"]
11513    pub fn EVP_PKEY_set1_tls_encodedpoint(
11514        pkey: *mut EVP_PKEY,
11515        in_: *const u8,
11516        len: usize,
11517    ) -> ::std::os::raw::c_int;
11518}
11519extern "C" {
11520    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get1_tls_encodedpoint"]
11521    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11522}
11523extern "C" {
11524    #[link_name = "aws_lc_0_47_0_EVP_PKEY_base_id"]
11525    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11526}
11527extern "C" {
11528    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11529    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11530        ctx: *mut EVP_PKEY_CTX,
11531        md: *const EVP_MD,
11532    ) -> ::std::os::raw::c_int;
11533}
11534extern "C" {
11535    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11536    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11537        ctx: *mut EVP_PKEY_CTX,
11538        salt_len: ::std::os::raw::c_int,
11539    ) -> ::std::os::raw::c_int;
11540}
11541extern "C" {
11542    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11543    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11544        ctx: *mut EVP_PKEY_CTX,
11545        md: *const EVP_MD,
11546    ) -> ::std::os::raw::c_int;
11547}
11548extern "C" {
11549    #[link_name = "aws_lc_0_47_0_i2d_PUBKEY"]
11550    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11551}
11552extern "C" {
11553    #[link_name = "aws_lc_0_47_0_d2i_PUBKEY"]
11554    pub fn d2i_PUBKEY(
11555        out: *mut *mut EVP_PKEY,
11556        inp: *mut *const u8,
11557        len: ::std::os::raw::c_long,
11558    ) -> *mut EVP_PKEY;
11559}
11560extern "C" {
11561    #[link_name = "aws_lc_0_47_0_i2d_RSA_PUBKEY"]
11562    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11563}
11564extern "C" {
11565    #[link_name = "aws_lc_0_47_0_d2i_RSA_PUBKEY"]
11566    pub fn d2i_RSA_PUBKEY(
11567        out: *mut *mut RSA,
11568        inp: *mut *const u8,
11569        len: ::std::os::raw::c_long,
11570    ) -> *mut RSA;
11571}
11572extern "C" {
11573    #[link_name = "aws_lc_0_47_0_i2d_DSA_PUBKEY"]
11574    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11575}
11576extern "C" {
11577    #[link_name = "aws_lc_0_47_0_d2i_DSA_PUBKEY"]
11578    pub fn d2i_DSA_PUBKEY(
11579        out: *mut *mut DSA,
11580        inp: *mut *const u8,
11581        len: ::std::os::raw::c_long,
11582    ) -> *mut DSA;
11583}
11584extern "C" {
11585    #[link_name = "aws_lc_0_47_0_i2d_EC_PUBKEY"]
11586    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11587}
11588extern "C" {
11589    #[link_name = "aws_lc_0_47_0_d2i_EC_PUBKEY"]
11590    pub fn d2i_EC_PUBKEY(
11591        out: *mut *mut EC_KEY,
11592        inp: *mut *const u8,
11593        len: ::std::os::raw::c_long,
11594    ) -> *mut EC_KEY;
11595}
11596extern "C" {
11597    #[link_name = "aws_lc_0_47_0_EVP_PKEY_assign"]
11598    pub fn EVP_PKEY_assign(
11599        pkey: *mut EVP_PKEY,
11600        type_: ::std::os::raw::c_int,
11601        key: *mut ::std::os::raw::c_void,
11602    ) -> ::std::os::raw::c_int;
11603}
11604extern "C" {
11605    #[link_name = "aws_lc_0_47_0_EVP_PKEY_type"]
11606    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11607}
11608extern "C" {
11609    #[link_name = "aws_lc_0_47_0_EVP_PKEY_new_mac_key"]
11610    pub fn EVP_PKEY_new_mac_key(
11611        type_: ::std::os::raw::c_int,
11612        engine: *mut ENGINE,
11613        mac_key: *const u8,
11614        mac_key_len: usize,
11615    ) -> *mut EVP_PKEY;
11616}
11617extern "C" {
11618    #[link_name = "aws_lc_0_47_0_EVP_PKEY_get0"]
11619    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11620}
11621extern "C" {
11622    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_algorithms"]
11623    pub fn OpenSSL_add_all_algorithms();
11624}
11625extern "C" {
11626    #[link_name = "aws_lc_0_47_0_OPENSSL_add_all_algorithms_conf"]
11627    pub fn OPENSSL_add_all_algorithms_conf();
11628}
11629extern "C" {
11630    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_ciphers"]
11631    pub fn OpenSSL_add_all_ciphers();
11632}
11633extern "C" {
11634    #[link_name = "aws_lc_0_47_0_OpenSSL_add_all_digests"]
11635    pub fn OpenSSL_add_all_digests();
11636}
11637extern "C" {
11638    #[link_name = "aws_lc_0_47_0_EVP_cleanup"]
11639    pub fn EVP_cleanup();
11640}
11641extern "C" {
11642    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11643    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11644        ctx: *mut EVP_PKEY_CTX,
11645        nbits: ::std::os::raw::c_int,
11646    ) -> ::std::os::raw::c_int;
11647}
11648extern "C" {
11649    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11650    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11651        ctx: *mut EVP_PKEY_CTX,
11652        md: *const EVP_MD,
11653    ) -> ::std::os::raw::c_int;
11654}
11655extern "C" {
11656    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11657    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11658        ctx: *mut EVP_PKEY_CTX,
11659        qbits: ::std::os::raw::c_int,
11660    ) -> ::std::os::raw::c_int;
11661}
11662extern "C" {
11663    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_ctrl_str"]
11664    pub fn EVP_PKEY_CTX_ctrl_str(
11665        ctx: *mut EVP_PKEY_CTX,
11666        type_: *const ::std::os::raw::c_char,
11667        value: *const ::std::os::raw::c_char,
11668    ) -> ::std::os::raw::c_int;
11669}
11670extern "C" {
11671    #[link_name = "aws_lc_0_47_0_CRYPTO_tls1_prf"]
11672    pub fn CRYPTO_tls1_prf(
11673        digest: *const EVP_MD,
11674        out: *mut u8,
11675        out_len: usize,
11676        secret: *const u8,
11677        secret_len: usize,
11678        label: *const ::std::os::raw::c_char,
11679        label_len: usize,
11680        seed1: *const u8,
11681        seed1_len: usize,
11682        seed2: *const u8,
11683        seed2_len: usize,
11684    ) -> ::std::os::raw::c_int;
11685}
11686extern "C" {
11687    #[link_name = "aws_lc_0_47_0_CRYPTO_tls13_hkdf_expand_label"]
11688    pub fn CRYPTO_tls13_hkdf_expand_label(
11689        out: *mut u8,
11690        out_len: usize,
11691        digest: *const EVP_MD,
11692        secret: *const u8,
11693        secret_len: usize,
11694        label: *const u8,
11695        label_len: usize,
11696        hash: *const u8,
11697        hash_len: usize,
11698    ) -> ::std::os::raw::c_int;
11699}
11700extern "C" {
11701    #[link_name = "aws_lc_0_47_0_SSKDF_digest"]
11702    pub fn SSKDF_digest(
11703        out_key: *mut u8,
11704        out_len: usize,
11705        digest: *const EVP_MD,
11706        secret: *const u8,
11707        secret_len: usize,
11708        info: *const u8,
11709        info_len: usize,
11710    ) -> ::std::os::raw::c_int;
11711}
11712extern "C" {
11713    #[link_name = "aws_lc_0_47_0_SSKDF_hmac"]
11714    pub fn SSKDF_hmac(
11715        out_key: *mut u8,
11716        out_len: usize,
11717        digest: *const EVP_MD,
11718        secret: *const u8,
11719        secret_len: usize,
11720        info: *const u8,
11721        info_len: usize,
11722        salt: *const u8,
11723        salt_len: usize,
11724    ) -> ::std::os::raw::c_int;
11725}
11726extern "C" {
11727    #[link_name = "aws_lc_0_47_0_KBKDF_ctr_hmac"]
11728    pub fn KBKDF_ctr_hmac(
11729        out_key: *mut u8,
11730        out_len: usize,
11731        digest: *const EVP_MD,
11732        secret: *const u8,
11733        secret_len: usize,
11734        info: *const u8,
11735        info_len: usize,
11736    ) -> ::std::os::raw::c_int;
11737}
11738extern "C" {
11739    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_hkdf_mode"]
11740    pub fn EVP_PKEY_CTX_hkdf_mode(
11741        ctx: *mut EVP_PKEY_CTX,
11742        mode: ::std::os::raw::c_int,
11743    ) -> ::std::os::raw::c_int;
11744}
11745extern "C" {
11746    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set_hkdf_md"]
11747    pub fn EVP_PKEY_CTX_set_hkdf_md(
11748        ctx: *mut EVP_PKEY_CTX,
11749        md: *const EVP_MD,
11750    ) -> ::std::os::raw::c_int;
11751}
11752extern "C" {
11753    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_hkdf_key"]
11754    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11755        ctx: *mut EVP_PKEY_CTX,
11756        key: *const u8,
11757        key_len: usize,
11758    ) -> ::std::os::raw::c_int;
11759}
11760extern "C" {
11761    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11762    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11763        ctx: *mut EVP_PKEY_CTX,
11764        salt: *const u8,
11765        salt_len: usize,
11766    ) -> ::std::os::raw::c_int;
11767}
11768extern "C" {
11769    #[link_name = "aws_lc_0_47_0_EVP_PKEY_CTX_add1_hkdf_info"]
11770    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11771        ctx: *mut EVP_PKEY_CTX,
11772        info: *const u8,
11773        info_len: usize,
11774    ) -> ::std::os::raw::c_int;
11775}
11776extern "C" {
11777    #[link_name = "aws_lc_0_47_0_HKDF"]
11778    pub fn HKDF(
11779        out_key: *mut u8,
11780        out_len: usize,
11781        digest: *const EVP_MD,
11782        secret: *const u8,
11783        secret_len: usize,
11784        salt: *const u8,
11785        salt_len: usize,
11786        info: *const u8,
11787        info_len: usize,
11788    ) -> ::std::os::raw::c_int;
11789}
11790extern "C" {
11791    #[link_name = "aws_lc_0_47_0_HKDF_extract"]
11792    pub fn HKDF_extract(
11793        out_key: *mut u8,
11794        out_len: *mut usize,
11795        digest: *const EVP_MD,
11796        secret: *const u8,
11797        secret_len: usize,
11798        salt: *const u8,
11799        salt_len: usize,
11800    ) -> ::std::os::raw::c_int;
11801}
11802extern "C" {
11803    #[link_name = "aws_lc_0_47_0_HKDF_expand"]
11804    pub fn HKDF_expand(
11805        out_key: *mut u8,
11806        out_len: usize,
11807        digest: *const EVP_MD,
11808        prk: *const u8,
11809        prk_len: usize,
11810        info: *const u8,
11811        info_len: usize,
11812    ) -> ::std::os::raw::c_int;
11813}
11814#[repr(C)]
11815#[derive(Copy, Clone)]
11816pub struct evp_hpke_ctx_st {
11817    pub kem: *const EVP_HPKE_KEM,
11818    pub aead: *const EVP_HPKE_AEAD,
11819    pub kdf: *const EVP_HPKE_KDF,
11820    pub aead_ctx: EVP_AEAD_CTX,
11821    pub base_nonce: [u8; 24usize],
11822    pub exporter_secret: [u8; 64usize],
11823    pub seq: u64,
11824    pub is_sender: ::std::os::raw::c_int,
11825}
11826#[test]
11827fn bindgen_test_layout_evp_hpke_ctx_st() {
11828    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11829    let ptr = UNINIT.as_ptr();
11830    assert_eq!(
11831        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11832        712usize,
11833        "Size of evp_hpke_ctx_st"
11834    );
11835    assert_eq!(
11836        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11837        8usize,
11838        "Alignment of evp_hpke_ctx_st"
11839    );
11840    assert_eq!(
11841        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11842        0usize,
11843        "Offset of field: evp_hpke_ctx_st::kem"
11844    );
11845    assert_eq!(
11846        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11847        8usize,
11848        "Offset of field: evp_hpke_ctx_st::aead"
11849    );
11850    assert_eq!(
11851        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11852        16usize,
11853        "Offset of field: evp_hpke_ctx_st::kdf"
11854    );
11855    assert_eq!(
11856        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11857        24usize,
11858        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11859    );
11860    assert_eq!(
11861        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11862        608usize,
11863        "Offset of field: evp_hpke_ctx_st::base_nonce"
11864    );
11865    assert_eq!(
11866        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11867        632usize,
11868        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11869    );
11870    assert_eq!(
11871        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11872        696usize,
11873        "Offset of field: evp_hpke_ctx_st::seq"
11874    );
11875    assert_eq!(
11876        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11877        704usize,
11878        "Offset of field: evp_hpke_ctx_st::is_sender"
11879    );
11880}
11881impl Default for evp_hpke_ctx_st {
11882    fn default() -> Self {
11883        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11884        unsafe {
11885            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11886            s.assume_init()
11887        }
11888    }
11889}
11890#[repr(C)]
11891#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11892pub struct evp_hpke_key_st {
11893    pub kem: *const EVP_HPKE_KEM,
11894    pub private_key: *mut u8,
11895    pub public_key: *mut u8,
11896    pub expanded_private_key: *mut u8,
11897    pub reserved: [u8; 40usize],
11898}
11899#[test]
11900fn bindgen_test_layout_evp_hpke_key_st() {
11901    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11902    let ptr = UNINIT.as_ptr();
11903    assert_eq!(
11904        ::std::mem::size_of::<evp_hpke_key_st>(),
11905        72usize,
11906        "Size of evp_hpke_key_st"
11907    );
11908    assert_eq!(
11909        ::std::mem::align_of::<evp_hpke_key_st>(),
11910        8usize,
11911        "Alignment of evp_hpke_key_st"
11912    );
11913    assert_eq!(
11914        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11915        0usize,
11916        "Offset of field: evp_hpke_key_st::kem"
11917    );
11918    assert_eq!(
11919        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11920        8usize,
11921        "Offset of field: evp_hpke_key_st::private_key"
11922    );
11923    assert_eq!(
11924        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11925        16usize,
11926        "Offset of field: evp_hpke_key_st::public_key"
11927    );
11928    assert_eq!(
11929        unsafe { ::std::ptr::addr_of!((*ptr).expanded_private_key) as usize - ptr as usize },
11930        24usize,
11931        "Offset of field: evp_hpke_key_st::expanded_private_key"
11932    );
11933    assert_eq!(
11934        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
11935        32usize,
11936        "Offset of field: evp_hpke_key_st::reserved"
11937    );
11938}
11939impl Default for evp_hpke_key_st {
11940    fn default() -> Self {
11941        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11942        unsafe {
11943            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11944            s.assume_init()
11945        }
11946    }
11947}
11948#[repr(C)]
11949#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11950pub struct md4_state_st {
11951    pub h: [u32; 4usize],
11952    pub Nl: u32,
11953    pub Nh: u32,
11954    pub data: [u8; 64usize],
11955    pub num: ::std::os::raw::c_uint,
11956}
11957#[test]
11958fn bindgen_test_layout_md4_state_st() {
11959    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11960    let ptr = UNINIT.as_ptr();
11961    assert_eq!(
11962        ::std::mem::size_of::<md4_state_st>(),
11963        92usize,
11964        "Size of md4_state_st"
11965    );
11966    assert_eq!(
11967        ::std::mem::align_of::<md4_state_st>(),
11968        4usize,
11969        "Alignment of md4_state_st"
11970    );
11971    assert_eq!(
11972        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11973        0usize,
11974        "Offset of field: md4_state_st::h"
11975    );
11976    assert_eq!(
11977        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11978        16usize,
11979        "Offset of field: md4_state_st::Nl"
11980    );
11981    assert_eq!(
11982        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11983        20usize,
11984        "Offset of field: md4_state_st::Nh"
11985    );
11986    assert_eq!(
11987        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11988        24usize,
11989        "Offset of field: md4_state_st::data"
11990    );
11991    assert_eq!(
11992        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11993        88usize,
11994        "Offset of field: md4_state_st::num"
11995    );
11996}
11997impl Default for md4_state_st {
11998    fn default() -> Self {
11999        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12000        unsafe {
12001            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12002            s.assume_init()
12003        }
12004    }
12005}
12006#[repr(C)]
12007#[derive(Debug)]
12008pub struct stack_st_X509 {
12009    _unused: [u8; 0],
12010}
12011#[repr(C)]
12012#[derive(Debug)]
12013pub struct stack_st_X509_CRL {
12014    _unused: [u8; 0],
12015}
12016#[repr(C)]
12017#[derive(Copy, Clone)]
12018pub struct pkcs7_st {
12019    pub type_: *mut ASN1_OBJECT,
12020    pub d: pkcs7_st__bindgen_ty_1,
12021}
12022#[repr(C)]
12023#[derive(Copy, Clone)]
12024pub union pkcs7_st__bindgen_ty_1 {
12025    pub ptr: *mut ::std::os::raw::c_char,
12026    pub data: *mut ASN1_OCTET_STRING,
12027    pub sign: *mut PKCS7_SIGNED,
12028    pub enveloped: *mut PKCS7_ENVELOPE,
12029    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
12030    pub digest: *mut PKCS7_DIGEST,
12031    pub encrypted: *mut PKCS7_ENCRYPT,
12032    pub other: *mut ASN1_TYPE,
12033}
12034#[test]
12035fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
12036    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
12037        ::std::mem::MaybeUninit::uninit();
12038    let ptr = UNINIT.as_ptr();
12039    assert_eq!(
12040        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
12041        8usize,
12042        "Size of pkcs7_st__bindgen_ty_1"
12043    );
12044    assert_eq!(
12045        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
12046        8usize,
12047        "Alignment of pkcs7_st__bindgen_ty_1"
12048    );
12049    assert_eq!(
12050        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
12051        0usize,
12052        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
12053    );
12054    assert_eq!(
12055        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12056        0usize,
12057        "Offset of field: pkcs7_st__bindgen_ty_1::data"
12058    );
12059    assert_eq!(
12060        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
12061        0usize,
12062        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
12063    );
12064    assert_eq!(
12065        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
12066        0usize,
12067        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
12068    );
12069    assert_eq!(
12070        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
12071        0usize,
12072        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
12073    );
12074    assert_eq!(
12075        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
12076        0usize,
12077        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
12078    );
12079    assert_eq!(
12080        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
12081        0usize,
12082        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
12083    );
12084    assert_eq!(
12085        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
12086        0usize,
12087        "Offset of field: pkcs7_st__bindgen_ty_1::other"
12088    );
12089}
12090impl Default for pkcs7_st__bindgen_ty_1 {
12091    fn default() -> Self {
12092        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12093        unsafe {
12094            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12095            s.assume_init()
12096        }
12097    }
12098}
12099#[test]
12100fn bindgen_test_layout_pkcs7_st() {
12101    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
12102    let ptr = UNINIT.as_ptr();
12103    assert_eq!(
12104        ::std::mem::size_of::<pkcs7_st>(),
12105        16usize,
12106        "Size of pkcs7_st"
12107    );
12108    assert_eq!(
12109        ::std::mem::align_of::<pkcs7_st>(),
12110        8usize,
12111        "Alignment of pkcs7_st"
12112    );
12113    assert_eq!(
12114        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
12115        0usize,
12116        "Offset of field: pkcs7_st::type_"
12117    );
12118    assert_eq!(
12119        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
12120        8usize,
12121        "Offset of field: pkcs7_st::d"
12122    );
12123}
12124impl Default for pkcs7_st {
12125    fn default() -> Self {
12126        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12127        unsafe {
12128            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12129            s.assume_init()
12130        }
12131    }
12132}
12133#[repr(C)]
12134#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12135pub struct pkcs7_signed_st {
12136    pub version: *mut ASN1_INTEGER,
12137    pub md_algs: *mut stack_st_X509_ALGOR,
12138    pub contents: *mut PKCS7,
12139    pub cert: *mut stack_st_X509,
12140    pub crl: *mut stack_st_X509_CRL,
12141    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12142}
12143#[test]
12144fn bindgen_test_layout_pkcs7_signed_st() {
12145    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
12146    let ptr = UNINIT.as_ptr();
12147    assert_eq!(
12148        ::std::mem::size_of::<pkcs7_signed_st>(),
12149        48usize,
12150        "Size of pkcs7_signed_st"
12151    );
12152    assert_eq!(
12153        ::std::mem::align_of::<pkcs7_signed_st>(),
12154        8usize,
12155        "Alignment of pkcs7_signed_st"
12156    );
12157    assert_eq!(
12158        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12159        0usize,
12160        "Offset of field: pkcs7_signed_st::version"
12161    );
12162    assert_eq!(
12163        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12164        8usize,
12165        "Offset of field: pkcs7_signed_st::md_algs"
12166    );
12167    assert_eq!(
12168        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
12169        16usize,
12170        "Offset of field: pkcs7_signed_st::contents"
12171    );
12172    assert_eq!(
12173        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12174        24usize,
12175        "Offset of field: pkcs7_signed_st::cert"
12176    );
12177    assert_eq!(
12178        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12179        32usize,
12180        "Offset of field: pkcs7_signed_st::crl"
12181    );
12182    assert_eq!(
12183        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12184        40usize,
12185        "Offset of field: pkcs7_signed_st::signer_info"
12186    );
12187}
12188impl Default for pkcs7_signed_st {
12189    fn default() -> Self {
12190        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12191        unsafe {
12192            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12193            s.assume_init()
12194        }
12195    }
12196}
12197#[repr(C)]
12198#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12199pub struct pkcs7_signer_info_st {
12200    pub version: *mut ASN1_INTEGER,
12201    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12202    pub digest_alg: *mut X509_ALGOR,
12203    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
12204    pub digest_enc_alg: *mut X509_ALGOR,
12205    pub enc_digest: *mut ASN1_OCTET_STRING,
12206    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
12207    pub pkey: *mut EVP_PKEY,
12208}
12209#[test]
12210fn bindgen_test_layout_pkcs7_signer_info_st() {
12211    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
12212    let ptr = UNINIT.as_ptr();
12213    assert_eq!(
12214        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12215        64usize,
12216        "Size of pkcs7_signer_info_st"
12217    );
12218    assert_eq!(
12219        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12220        8usize,
12221        "Alignment of pkcs7_signer_info_st"
12222    );
12223    assert_eq!(
12224        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12225        0usize,
12226        "Offset of field: pkcs7_signer_info_st::version"
12227    );
12228    assert_eq!(
12229        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12230        8usize,
12231        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12232    );
12233    assert_eq!(
12234        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12235        16usize,
12236        "Offset of field: pkcs7_signer_info_st::digest_alg"
12237    );
12238    assert_eq!(
12239        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12240        24usize,
12241        "Offset of field: pkcs7_signer_info_st::auth_attr"
12242    );
12243    assert_eq!(
12244        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12245        32usize,
12246        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12247    );
12248    assert_eq!(
12249        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12250        40usize,
12251        "Offset of field: pkcs7_signer_info_st::enc_digest"
12252    );
12253    assert_eq!(
12254        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12255        48usize,
12256        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12257    );
12258    assert_eq!(
12259        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12260        56usize,
12261        "Offset of field: pkcs7_signer_info_st::pkey"
12262    );
12263}
12264impl Default for pkcs7_signer_info_st {
12265    fn default() -> Self {
12266        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12267        unsafe {
12268            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12269            s.assume_init()
12270        }
12271    }
12272}
12273#[repr(C)]
12274#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12275pub struct pkcs7_sign_envelope_st {
12276    pub version: *mut ASN1_INTEGER,
12277    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12278    pub md_algs: *mut stack_st_X509_ALGOR,
12279    pub enc_data: *mut PKCS7_ENC_CONTENT,
12280    pub cert: *mut stack_st_X509,
12281    pub crl: *mut stack_st_X509_CRL,
12282    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12283}
12284#[test]
12285fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12286    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12287        ::std::mem::MaybeUninit::uninit();
12288    let ptr = UNINIT.as_ptr();
12289    assert_eq!(
12290        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12291        56usize,
12292        "Size of pkcs7_sign_envelope_st"
12293    );
12294    assert_eq!(
12295        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12296        8usize,
12297        "Alignment of pkcs7_sign_envelope_st"
12298    );
12299    assert_eq!(
12300        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12301        0usize,
12302        "Offset of field: pkcs7_sign_envelope_st::version"
12303    );
12304    assert_eq!(
12305        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12306        8usize,
12307        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12308    );
12309    assert_eq!(
12310        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12311        16usize,
12312        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12313    );
12314    assert_eq!(
12315        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12316        24usize,
12317        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12318    );
12319    assert_eq!(
12320        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12321        32usize,
12322        "Offset of field: pkcs7_sign_envelope_st::cert"
12323    );
12324    assert_eq!(
12325        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12326        40usize,
12327        "Offset of field: pkcs7_sign_envelope_st::crl"
12328    );
12329    assert_eq!(
12330        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12331        48usize,
12332        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12333    );
12334}
12335impl Default for pkcs7_sign_envelope_st {
12336    fn default() -> Self {
12337        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12338        unsafe {
12339            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12340            s.assume_init()
12341        }
12342    }
12343}
12344#[repr(C)]
12345#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12346pub struct pkcs7_envelope_st {
12347    pub version: *mut ASN1_INTEGER,
12348    pub enc_data: *mut PKCS7_ENC_CONTENT,
12349    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12350}
12351#[test]
12352fn bindgen_test_layout_pkcs7_envelope_st() {
12353    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12354    let ptr = UNINIT.as_ptr();
12355    assert_eq!(
12356        ::std::mem::size_of::<pkcs7_envelope_st>(),
12357        24usize,
12358        "Size of pkcs7_envelope_st"
12359    );
12360    assert_eq!(
12361        ::std::mem::align_of::<pkcs7_envelope_st>(),
12362        8usize,
12363        "Alignment of pkcs7_envelope_st"
12364    );
12365    assert_eq!(
12366        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12367        0usize,
12368        "Offset of field: pkcs7_envelope_st::version"
12369    );
12370    assert_eq!(
12371        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12372        8usize,
12373        "Offset of field: pkcs7_envelope_st::enc_data"
12374    );
12375    assert_eq!(
12376        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12377        16usize,
12378        "Offset of field: pkcs7_envelope_st::recipientinfo"
12379    );
12380}
12381impl Default for pkcs7_envelope_st {
12382    fn default() -> Self {
12383        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12384        unsafe {
12385            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12386            s.assume_init()
12387        }
12388    }
12389}
12390#[repr(C)]
12391#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12392pub struct pkcs7_recip_info_st {
12393    pub version: *mut ASN1_INTEGER,
12394    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12395    pub key_enc_algor: *mut X509_ALGOR,
12396    pub enc_key: *mut ASN1_OCTET_STRING,
12397    pub cert: *mut X509,
12398}
12399#[test]
12400fn bindgen_test_layout_pkcs7_recip_info_st() {
12401    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12402    let ptr = UNINIT.as_ptr();
12403    assert_eq!(
12404        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12405        40usize,
12406        "Size of pkcs7_recip_info_st"
12407    );
12408    assert_eq!(
12409        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12410        8usize,
12411        "Alignment of pkcs7_recip_info_st"
12412    );
12413    assert_eq!(
12414        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12415        0usize,
12416        "Offset of field: pkcs7_recip_info_st::version"
12417    );
12418    assert_eq!(
12419        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12420        8usize,
12421        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12422    );
12423    assert_eq!(
12424        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12425        16usize,
12426        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12427    );
12428    assert_eq!(
12429        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12430        24usize,
12431        "Offset of field: pkcs7_recip_info_st::enc_key"
12432    );
12433    assert_eq!(
12434        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12435        32usize,
12436        "Offset of field: pkcs7_recip_info_st::cert"
12437    );
12438}
12439impl Default for pkcs7_recip_info_st {
12440    fn default() -> Self {
12441        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12442        unsafe {
12443            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12444            s.assume_init()
12445        }
12446    }
12447}
12448#[repr(C)]
12449#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12450pub struct pkcs7_issuer_and_serial_st {
12451    pub issuer: *mut X509_NAME,
12452    pub serial: *mut ASN1_INTEGER,
12453}
12454#[test]
12455fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12456    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12457        ::std::mem::MaybeUninit::uninit();
12458    let ptr = UNINIT.as_ptr();
12459    assert_eq!(
12460        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12461        16usize,
12462        "Size of pkcs7_issuer_and_serial_st"
12463    );
12464    assert_eq!(
12465        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12466        8usize,
12467        "Alignment of pkcs7_issuer_and_serial_st"
12468    );
12469    assert_eq!(
12470        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12471        0usize,
12472        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12473    );
12474    assert_eq!(
12475        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12476        8usize,
12477        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12478    );
12479}
12480impl Default for pkcs7_issuer_and_serial_st {
12481    fn default() -> Self {
12482        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12483        unsafe {
12484            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12485            s.assume_init()
12486        }
12487    }
12488}
12489#[repr(C)]
12490#[derive(Debug)]
12491pub struct stack_st_PKCS7_RECIP_INFO {
12492    _unused: [u8; 0],
12493}
12494#[repr(C)]
12495#[derive(Debug)]
12496pub struct stack_st_PKCS7_SIGNER_INFO {
12497    _unused: [u8; 0],
12498}
12499extern "C" {
12500    #[link_name = "aws_lc_0_47_0_RSA_new_public_key"]
12501    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12502}
12503extern "C" {
12504    #[link_name = "aws_lc_0_47_0_RSA_new_private_key"]
12505    pub fn RSA_new_private_key(
12506        n: *const BIGNUM,
12507        e: *const BIGNUM,
12508        d: *const BIGNUM,
12509        p: *const BIGNUM,
12510        q: *const BIGNUM,
12511        dmp1: *const BIGNUM,
12512        dmq1: *const BIGNUM,
12513        iqmp: *const BIGNUM,
12514    ) -> *mut RSA;
12515}
12516extern "C" {
12517    #[link_name = "aws_lc_0_47_0_RSA_new"]
12518    pub fn RSA_new() -> *mut RSA;
12519}
12520extern "C" {
12521    #[link_name = "aws_lc_0_47_0_RSA_new_method"]
12522    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12523}
12524extern "C" {
12525    #[link_name = "aws_lc_0_47_0_RSA_free"]
12526    pub fn RSA_free(rsa: *mut RSA);
12527}
12528extern "C" {
12529    #[link_name = "aws_lc_0_47_0_RSA_up_ref"]
12530    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12531}
12532extern "C" {
12533    #[link_name = "aws_lc_0_47_0_RSA_bits"]
12534    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12535}
12536extern "C" {
12537    #[link_name = "aws_lc_0_47_0_RSA_get0_n"]
12538    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12539}
12540extern "C" {
12541    #[link_name = "aws_lc_0_47_0_RSA_get0_e"]
12542    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12543}
12544extern "C" {
12545    #[link_name = "aws_lc_0_47_0_RSA_get0_d"]
12546    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12547}
12548extern "C" {
12549    #[link_name = "aws_lc_0_47_0_RSA_get0_p"]
12550    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12551}
12552extern "C" {
12553    #[link_name = "aws_lc_0_47_0_RSA_get0_q"]
12554    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12555}
12556extern "C" {
12557    #[link_name = "aws_lc_0_47_0_RSA_get0_dmp1"]
12558    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12559}
12560extern "C" {
12561    #[link_name = "aws_lc_0_47_0_RSA_get0_dmq1"]
12562    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12563}
12564extern "C" {
12565    #[link_name = "aws_lc_0_47_0_RSA_get0_iqmp"]
12566    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12567}
12568extern "C" {
12569    #[link_name = "aws_lc_0_47_0_RSA_get0_key"]
12570    pub fn RSA_get0_key(
12571        rsa: *const RSA,
12572        out_n: *mut *const BIGNUM,
12573        out_e: *mut *const BIGNUM,
12574        out_d: *mut *const BIGNUM,
12575    );
12576}
12577extern "C" {
12578    #[link_name = "aws_lc_0_47_0_RSA_get0_factors"]
12579    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12580}
12581extern "C" {
12582    #[link_name = "aws_lc_0_47_0_RSA_get0_crt_params"]
12583    pub fn RSA_get0_crt_params(
12584        rsa: *const RSA,
12585        out_dmp1: *mut *const BIGNUM,
12586        out_dmq1: *mut *const BIGNUM,
12587        out_iqmp: *mut *const BIGNUM,
12588    );
12589}
12590extern "C" {
12591    #[link_name = "aws_lc_0_47_0_RSA_set0_key"]
12592    pub fn RSA_set0_key(
12593        rsa: *mut RSA,
12594        n: *mut BIGNUM,
12595        e: *mut BIGNUM,
12596        d: *mut BIGNUM,
12597    ) -> ::std::os::raw::c_int;
12598}
12599extern "C" {
12600    #[link_name = "aws_lc_0_47_0_RSA_set0_factors"]
12601    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12602        -> ::std::os::raw::c_int;
12603}
12604extern "C" {
12605    #[link_name = "aws_lc_0_47_0_RSA_set0_crt_params"]
12606    pub fn RSA_set0_crt_params(
12607        rsa: *mut RSA,
12608        dmp1: *mut BIGNUM,
12609        dmq1: *mut BIGNUM,
12610        iqmp: *mut BIGNUM,
12611    ) -> ::std::os::raw::c_int;
12612}
12613extern "C" {
12614    #[link_name = "aws_lc_0_47_0_RSA_get_default_method"]
12615    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12616}
12617extern "C" {
12618    #[link_name = "aws_lc_0_47_0_RSA_meth_new"]
12619    pub fn RSA_meth_new(
12620        name: *const ::std::os::raw::c_char,
12621        flags: ::std::os::raw::c_int,
12622    ) -> *mut RSA_METHOD;
12623}
12624extern "C" {
12625    #[link_name = "aws_lc_0_47_0_RSA_set_method"]
12626    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12627}
12628extern "C" {
12629    #[link_name = "aws_lc_0_47_0_RSA_get_method"]
12630    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12631}
12632extern "C" {
12633    #[link_name = "aws_lc_0_47_0_RSA_meth_free"]
12634    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12635}
12636extern "C" {
12637    #[link_name = "aws_lc_0_47_0_RSA_meth_set_init"]
12638    pub fn RSA_meth_set_init(
12639        meth: *mut RSA_METHOD,
12640        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12641    ) -> ::std::os::raw::c_int;
12642}
12643extern "C" {
12644    #[link_name = "aws_lc_0_47_0_RSA_meth_set_finish"]
12645    pub fn RSA_meth_set_finish(
12646        meth: *mut RSA_METHOD,
12647        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12648    ) -> ::std::os::raw::c_int;
12649}
12650extern "C" {
12651    #[link_name = "aws_lc_0_47_0_RSA_meth_set_priv_dec"]
12652    pub fn RSA_meth_set_priv_dec(
12653        meth: *mut RSA_METHOD,
12654        priv_dec: ::std::option::Option<
12655            unsafe extern "C" fn(
12656                max_out: ::std::os::raw::c_int,
12657                from: *const u8,
12658                to: *mut u8,
12659                rsa: *mut RSA,
12660                padding: ::std::os::raw::c_int,
12661            ) -> ::std::os::raw::c_int,
12662        >,
12663    ) -> ::std::os::raw::c_int;
12664}
12665extern "C" {
12666    #[link_name = "aws_lc_0_47_0_RSA_meth_set_priv_enc"]
12667    pub fn RSA_meth_set_priv_enc(
12668        meth: *mut RSA_METHOD,
12669        priv_enc: ::std::option::Option<
12670            unsafe extern "C" fn(
12671                max_out: ::std::os::raw::c_int,
12672                from: *const u8,
12673                to: *mut u8,
12674                rsa: *mut RSA,
12675                padding: ::std::os::raw::c_int,
12676            ) -> ::std::os::raw::c_int,
12677        >,
12678    ) -> ::std::os::raw::c_int;
12679}
12680extern "C" {
12681    #[link_name = "aws_lc_0_47_0_RSA_meth_set_pub_dec"]
12682    pub fn RSA_meth_set_pub_dec(
12683        meth: *mut RSA_METHOD,
12684        pub_dec: ::std::option::Option<
12685            unsafe extern "C" fn(
12686                max_out: ::std::os::raw::c_int,
12687                from: *const u8,
12688                to: *mut u8,
12689                rsa: *mut RSA,
12690                padding: ::std::os::raw::c_int,
12691            ) -> ::std::os::raw::c_int,
12692        >,
12693    ) -> ::std::os::raw::c_int;
12694}
12695extern "C" {
12696    #[link_name = "aws_lc_0_47_0_RSA_meth_set_pub_enc"]
12697    pub fn RSA_meth_set_pub_enc(
12698        meth: *mut RSA_METHOD,
12699        pub_enc: ::std::option::Option<
12700            unsafe extern "C" fn(
12701                max_out: ::std::os::raw::c_int,
12702                from: *const u8,
12703                to: *mut u8,
12704                rsa: *mut RSA,
12705                padding: ::std::os::raw::c_int,
12706            ) -> ::std::os::raw::c_int,
12707        >,
12708    ) -> ::std::os::raw::c_int;
12709}
12710extern "C" {
12711    #[link_name = "aws_lc_0_47_0_RSA_meth_set0_app_data"]
12712    pub fn RSA_meth_set0_app_data(
12713        meth: *mut RSA_METHOD,
12714        app_data: *mut ::std::os::raw::c_void,
12715    ) -> ::std::os::raw::c_int;
12716}
12717extern "C" {
12718    #[link_name = "aws_lc_0_47_0_RSA_meth_set_sign"]
12719    pub fn RSA_meth_set_sign(
12720        meth: *mut RSA_METHOD,
12721        sign: ::std::option::Option<
12722            unsafe extern "C" fn(
12723                type_: ::std::os::raw::c_int,
12724                m: *const ::std::os::raw::c_uchar,
12725                m_length: ::std::os::raw::c_uint,
12726                sigret: *mut ::std::os::raw::c_uchar,
12727                siglen: *mut ::std::os::raw::c_uint,
12728                rsa: *const RSA,
12729            ) -> ::std::os::raw::c_int,
12730        >,
12731    ) -> ::std::os::raw::c_int;
12732}
12733extern "C" {
12734    #[link_name = "aws_lc_0_47_0_RSA_generate_key_ex"]
12735    pub fn RSA_generate_key_ex(
12736        rsa: *mut RSA,
12737        bits: ::std::os::raw::c_int,
12738        e: *const BIGNUM,
12739        cb: *mut BN_GENCB,
12740    ) -> ::std::os::raw::c_int;
12741}
12742extern "C" {
12743    #[link_name = "aws_lc_0_47_0_RSA_generate_key_fips"]
12744    pub fn RSA_generate_key_fips(
12745        rsa: *mut RSA,
12746        bits: ::std::os::raw::c_int,
12747        cb: *mut BN_GENCB,
12748    ) -> ::std::os::raw::c_int;
12749}
12750extern "C" {
12751    #[link_name = "aws_lc_0_47_0_RSA_encrypt"]
12752    pub fn RSA_encrypt(
12753        rsa: *mut RSA,
12754        out_len: *mut usize,
12755        out: *mut u8,
12756        max_out: usize,
12757        in_: *const u8,
12758        in_len: usize,
12759        padding: ::std::os::raw::c_int,
12760    ) -> ::std::os::raw::c_int;
12761}
12762extern "C" {
12763    #[link_name = "aws_lc_0_47_0_RSA_decrypt"]
12764    pub fn RSA_decrypt(
12765        rsa: *mut RSA,
12766        out_len: *mut usize,
12767        out: *mut u8,
12768        max_out: usize,
12769        in_: *const u8,
12770        in_len: usize,
12771        padding: ::std::os::raw::c_int,
12772    ) -> ::std::os::raw::c_int;
12773}
12774extern "C" {
12775    #[link_name = "aws_lc_0_47_0_RSA_public_encrypt"]
12776    pub fn RSA_public_encrypt(
12777        flen: usize,
12778        from: *const u8,
12779        to: *mut u8,
12780        rsa: *mut RSA,
12781        padding: ::std::os::raw::c_int,
12782    ) -> ::std::os::raw::c_int;
12783}
12784extern "C" {
12785    #[link_name = "aws_lc_0_47_0_RSA_private_decrypt"]
12786    pub fn RSA_private_decrypt(
12787        flen: usize,
12788        from: *const u8,
12789        to: *mut u8,
12790        rsa: *mut RSA,
12791        padding: ::std::os::raw::c_int,
12792    ) -> ::std::os::raw::c_int;
12793}
12794extern "C" {
12795    #[link_name = "aws_lc_0_47_0_RSA_sign"]
12796    pub fn RSA_sign(
12797        hash_nid: ::std::os::raw::c_int,
12798        digest: *const u8,
12799        digest_len: usize,
12800        out: *mut u8,
12801        out_len: *mut ::std::os::raw::c_uint,
12802        rsa: *mut RSA,
12803    ) -> ::std::os::raw::c_int;
12804}
12805extern "C" {
12806    #[link_name = "aws_lc_0_47_0_RSA_sign_pss_mgf1"]
12807    pub fn RSA_sign_pss_mgf1(
12808        rsa: *mut RSA,
12809        out_len: *mut usize,
12810        out: *mut u8,
12811        max_out: usize,
12812        digest: *const u8,
12813        digest_len: usize,
12814        md: *const EVP_MD,
12815        mgf1_md: *const EVP_MD,
12816        salt_len: ::std::os::raw::c_int,
12817    ) -> ::std::os::raw::c_int;
12818}
12819extern "C" {
12820    #[link_name = "aws_lc_0_47_0_RSA_sign_raw"]
12821    pub fn RSA_sign_raw(
12822        rsa: *mut RSA,
12823        out_len: *mut usize,
12824        out: *mut u8,
12825        max_out: usize,
12826        in_: *const u8,
12827        in_len: usize,
12828        padding: ::std::os::raw::c_int,
12829    ) -> ::std::os::raw::c_int;
12830}
12831extern "C" {
12832    #[link_name = "aws_lc_0_47_0_RSA_verify"]
12833    pub fn RSA_verify(
12834        hash_nid: ::std::os::raw::c_int,
12835        digest: *const u8,
12836        digest_len: usize,
12837        sig: *const u8,
12838        sig_len: usize,
12839        rsa: *mut RSA,
12840    ) -> ::std::os::raw::c_int;
12841}
12842extern "C" {
12843    #[link_name = "aws_lc_0_47_0_RSA_verify_pss_mgf1"]
12844    pub fn RSA_verify_pss_mgf1(
12845        rsa: *mut RSA,
12846        digest: *const u8,
12847        digest_len: usize,
12848        md: *const EVP_MD,
12849        mgf1_md: *const EVP_MD,
12850        salt_len: ::std::os::raw::c_int,
12851        sig: *const u8,
12852        sig_len: usize,
12853    ) -> ::std::os::raw::c_int;
12854}
12855extern "C" {
12856    #[link_name = "aws_lc_0_47_0_RSA_verify_raw"]
12857    pub fn RSA_verify_raw(
12858        rsa: *mut RSA,
12859        out_len: *mut usize,
12860        out: *mut u8,
12861        max_out: usize,
12862        in_: *const u8,
12863        in_len: usize,
12864        padding: ::std::os::raw::c_int,
12865    ) -> ::std::os::raw::c_int;
12866}
12867extern "C" {
12868    #[link_name = "aws_lc_0_47_0_RSA_private_encrypt"]
12869    pub fn RSA_private_encrypt(
12870        flen: usize,
12871        from: *const u8,
12872        to: *mut u8,
12873        rsa: *mut RSA,
12874        padding: ::std::os::raw::c_int,
12875    ) -> ::std::os::raw::c_int;
12876}
12877extern "C" {
12878    #[link_name = "aws_lc_0_47_0_RSA_public_decrypt"]
12879    pub fn RSA_public_decrypt(
12880        flen: usize,
12881        from: *const u8,
12882        to: *mut u8,
12883        rsa: *mut RSA,
12884        padding: ::std::os::raw::c_int,
12885    ) -> ::std::os::raw::c_int;
12886}
12887extern "C" {
12888    #[link_name = "aws_lc_0_47_0_RSA_size"]
12889    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12890}
12891extern "C" {
12892    #[link_name = "aws_lc_0_47_0_RSA_is_opaque"]
12893    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12894}
12895extern "C" {
12896    #[link_name = "aws_lc_0_47_0_RSAPublicKey_dup"]
12897    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12898}
12899extern "C" {
12900    #[link_name = "aws_lc_0_47_0_RSAPrivateKey_dup"]
12901    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12902}
12903extern "C" {
12904    #[link_name = "aws_lc_0_47_0_RSA_check_key"]
12905    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12906}
12907extern "C" {
12908    #[link_name = "aws_lc_0_47_0_RSA_check_fips"]
12909    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12910}
12911extern "C" {
12912    #[link_name = "aws_lc_0_47_0_RSA_verify_PKCS1_PSS_mgf1"]
12913    pub fn RSA_verify_PKCS1_PSS_mgf1(
12914        rsa: *const RSA,
12915        mHash: *const u8,
12916        Hash: *const EVP_MD,
12917        mgf1Hash: *const EVP_MD,
12918        EM: *const u8,
12919        sLen: ::std::os::raw::c_int,
12920    ) -> ::std::os::raw::c_int;
12921}
12922extern "C" {
12923    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12924    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12925        rsa: *const RSA,
12926        EM: *mut u8,
12927        mHash: *const u8,
12928        Hash: *const EVP_MD,
12929        mgf1Hash: *const EVP_MD,
12930        sLen: ::std::os::raw::c_int,
12931    ) -> ::std::os::raw::c_int;
12932}
12933extern "C" {
12934    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12935    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12936        to: *mut u8,
12937        to_len: usize,
12938        from: *const u8,
12939        from_len: usize,
12940        param: *const u8,
12941        param_len: usize,
12942        md: *const EVP_MD,
12943        mgf1md: *const EVP_MD,
12944    ) -> ::std::os::raw::c_int;
12945}
12946extern "C" {
12947    #[link_name = "aws_lc_0_47_0_PKCS1_MGF1"]
12948    pub fn PKCS1_MGF1(
12949        out: *mut u8,
12950        len: usize,
12951        seed: *const u8,
12952        seed_len: usize,
12953        md: *const EVP_MD,
12954    ) -> ::std::os::raw::c_int;
12955}
12956extern "C" {
12957    #[link_name = "aws_lc_0_47_0_RSA_add_pkcs1_prefix"]
12958    pub fn RSA_add_pkcs1_prefix(
12959        out_msg: *mut *mut u8,
12960        out_msg_len: *mut usize,
12961        is_alloced: *mut ::std::os::raw::c_int,
12962        hash_nid: ::std::os::raw::c_int,
12963        digest: *const u8,
12964        digest_len: usize,
12965    ) -> ::std::os::raw::c_int;
12966}
12967extern "C" {
12968    #[link_name = "aws_lc_0_47_0_RSA_parse_public_key"]
12969    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12970}
12971extern "C" {
12972    #[link_name = "aws_lc_0_47_0_RSA_public_key_from_bytes"]
12973    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12974}
12975extern "C" {
12976    #[link_name = "aws_lc_0_47_0_RSA_marshal_public_key"]
12977    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12978}
12979extern "C" {
12980    #[link_name = "aws_lc_0_47_0_RSA_public_key_to_bytes"]
12981    pub fn RSA_public_key_to_bytes(
12982        out_bytes: *mut *mut u8,
12983        out_len: *mut usize,
12984        rsa: *const RSA,
12985    ) -> ::std::os::raw::c_int;
12986}
12987extern "C" {
12988    #[link_name = "aws_lc_0_47_0_RSA_parse_private_key"]
12989    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12990}
12991extern "C" {
12992    #[link_name = "aws_lc_0_47_0_RSA_private_key_from_bytes"]
12993    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12994}
12995extern "C" {
12996    #[link_name = "aws_lc_0_47_0_RSA_marshal_private_key"]
12997    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12998}
12999extern "C" {
13000    #[link_name = "aws_lc_0_47_0_RSA_private_key_to_bytes"]
13001    pub fn RSA_private_key_to_bytes(
13002        out_bytes: *mut *mut u8,
13003        out_len: *mut usize,
13004        rsa: *const RSA,
13005    ) -> ::std::os::raw::c_int;
13006}
13007extern "C" {
13008    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_no_crt"]
13009    pub fn RSA_new_private_key_no_crt(
13010        n: *const BIGNUM,
13011        e: *const BIGNUM,
13012        d: *const BIGNUM,
13013    ) -> *mut RSA;
13014}
13015extern "C" {
13016    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_no_e"]
13017    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
13018}
13019extern "C" {
13020    #[link_name = "aws_lc_0_47_0_RSA_new_public_key_large_e"]
13021    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
13022}
13023extern "C" {
13024    #[link_name = "aws_lc_0_47_0_RSA_new_private_key_large_e"]
13025    pub fn RSA_new_private_key_large_e(
13026        n: *const BIGNUM,
13027        e: *const BIGNUM,
13028        d: *const BIGNUM,
13029        p: *const BIGNUM,
13030        q: *const BIGNUM,
13031        dmp1: *const BIGNUM,
13032        dmq1: *const BIGNUM,
13033        iqmp: *const BIGNUM,
13034    ) -> *mut RSA;
13035}
13036extern "C" {
13037    #[link_name = "aws_lc_0_47_0_RSA_get_ex_new_index"]
13038    pub fn RSA_get_ex_new_index(
13039        argl: ::std::os::raw::c_long,
13040        argp: *mut ::std::os::raw::c_void,
13041        unused: *mut CRYPTO_EX_unused,
13042        dup_unused: CRYPTO_EX_dup,
13043        free_func: CRYPTO_EX_free,
13044    ) -> ::std::os::raw::c_int;
13045}
13046extern "C" {
13047    #[link_name = "aws_lc_0_47_0_RSA_set_ex_data"]
13048    pub fn RSA_set_ex_data(
13049        rsa: *mut RSA,
13050        idx: ::std::os::raw::c_int,
13051        arg: *mut ::std::os::raw::c_void,
13052    ) -> ::std::os::raw::c_int;
13053}
13054extern "C" {
13055    #[link_name = "aws_lc_0_47_0_RSA_get_ex_data"]
13056    pub fn RSA_get_ex_data(
13057        rsa: *const RSA,
13058        idx: ::std::os::raw::c_int,
13059    ) -> *mut ::std::os::raw::c_void;
13060}
13061extern "C" {
13062    #[link_name = "aws_lc_0_47_0_RSA_flags"]
13063    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
13064}
13065extern "C" {
13066    #[link_name = "aws_lc_0_47_0_RSA_set_flags"]
13067    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
13068}
13069extern "C" {
13070    #[link_name = "aws_lc_0_47_0_RSA_test_flags"]
13071    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13072}
13073extern "C" {
13074    #[link_name = "aws_lc_0_47_0_RSA_blinding_on"]
13075    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
13076}
13077extern "C" {
13078    #[link_name = "aws_lc_0_47_0_RSA_blinding_off_temp_for_accp_compatibility"]
13079    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
13080}
13081extern "C" {
13082    #[link_name = "aws_lc_0_47_0_RSA_pkey_ctx_ctrl"]
13083    pub fn RSA_pkey_ctx_ctrl(
13084        ctx: *mut EVP_PKEY_CTX,
13085        optype: ::std::os::raw::c_int,
13086        cmd: ::std::os::raw::c_int,
13087        p1: ::std::os::raw::c_int,
13088        p2: *mut ::std::os::raw::c_void,
13089    ) -> ::std::os::raw::c_int;
13090}
13091extern "C" {
13092    #[link_name = "aws_lc_0_47_0_RSA_generate_key"]
13093    pub fn RSA_generate_key(
13094        bits: ::std::os::raw::c_int,
13095        e: u64,
13096        callback: *mut ::std::os::raw::c_void,
13097        cb_arg: *mut ::std::os::raw::c_void,
13098    ) -> *mut RSA;
13099}
13100extern "C" {
13101    #[link_name = "aws_lc_0_47_0_d2i_RSAPublicKey"]
13102    pub fn d2i_RSAPublicKey(
13103        out: *mut *mut RSA,
13104        inp: *mut *const u8,
13105        len: ::std::os::raw::c_long,
13106    ) -> *mut RSA;
13107}
13108extern "C" {
13109    #[link_name = "aws_lc_0_47_0_i2d_RSAPublicKey"]
13110    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13111}
13112extern "C" {
13113    #[link_name = "aws_lc_0_47_0_d2i_RSAPrivateKey"]
13114    pub fn d2i_RSAPrivateKey(
13115        out: *mut *mut RSA,
13116        inp: *mut *const u8,
13117        len: ::std::os::raw::c_long,
13118    ) -> *mut RSA;
13119}
13120extern "C" {
13121    #[link_name = "aws_lc_0_47_0_i2d_RSAPrivateKey"]
13122    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13123}
13124extern "C" {
13125    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_PSS"]
13126    pub fn RSA_padding_add_PKCS1_PSS(
13127        rsa: *const RSA,
13128        EM: *mut u8,
13129        mHash: *const u8,
13130        Hash: *const EVP_MD,
13131        sLen: ::std::os::raw::c_int,
13132    ) -> ::std::os::raw::c_int;
13133}
13134extern "C" {
13135    #[link_name = "aws_lc_0_47_0_RSA_verify_PKCS1_PSS"]
13136    pub fn RSA_verify_PKCS1_PSS(
13137        rsa: *const RSA,
13138        mHash: *const u8,
13139        Hash: *const EVP_MD,
13140        EM: *const u8,
13141        sLen: ::std::os::raw::c_int,
13142    ) -> ::std::os::raw::c_int;
13143}
13144extern "C" {
13145    #[link_name = "aws_lc_0_47_0_RSA_padding_add_PKCS1_OAEP"]
13146    pub fn RSA_padding_add_PKCS1_OAEP(
13147        to: *mut u8,
13148        to_len: usize,
13149        from: *const u8,
13150        from_len: usize,
13151        param: *const u8,
13152        param_len: usize,
13153    ) -> ::std::os::raw::c_int;
13154}
13155extern "C" {
13156    #[link_name = "aws_lc_0_47_0_RSA_print"]
13157    pub fn RSA_print(
13158        bio: *mut BIO,
13159        rsa: *const RSA,
13160        indent: ::std::os::raw::c_int,
13161    ) -> ::std::os::raw::c_int;
13162}
13163extern "C" {
13164    #[link_name = "aws_lc_0_47_0_RSA_get0_pss_params"]
13165    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
13166}
13167extern "C" {
13168    #[link_name = "aws_lc_0_47_0_RSA_new_method_no_e"]
13169    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
13170}
13171#[repr(C)]
13172#[derive(Debug)]
13173pub struct stack_st_GENERAL_NAME {
13174    _unused: [u8; 0],
13175}
13176pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
13177#[repr(C)]
13178#[derive(Debug)]
13179pub struct stack_st_X509_NAME_ENTRY {
13180    _unused: [u8; 0],
13181}
13182#[repr(C)]
13183#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13184pub struct otherName_st {
13185    pub type_id: *mut ASN1_OBJECT,
13186    pub value: *mut ASN1_TYPE,
13187}
13188#[test]
13189fn bindgen_test_layout_otherName_st() {
13190    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
13191    let ptr = UNINIT.as_ptr();
13192    assert_eq!(
13193        ::std::mem::size_of::<otherName_st>(),
13194        16usize,
13195        "Size of otherName_st"
13196    );
13197    assert_eq!(
13198        ::std::mem::align_of::<otherName_st>(),
13199        8usize,
13200        "Alignment of otherName_st"
13201    );
13202    assert_eq!(
13203        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
13204        0usize,
13205        "Offset of field: otherName_st::type_id"
13206    );
13207    assert_eq!(
13208        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13209        8usize,
13210        "Offset of field: otherName_st::value"
13211    );
13212}
13213impl Default for otherName_st {
13214    fn default() -> Self {
13215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13216        unsafe {
13217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13218            s.assume_init()
13219        }
13220    }
13221}
13222pub type OTHERNAME = otherName_st;
13223#[repr(C)]
13224#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13225pub struct EDIPartyName_st {
13226    pub nameAssigner: *mut ASN1_STRING,
13227    pub partyName: *mut ASN1_STRING,
13228}
13229#[test]
13230fn bindgen_test_layout_EDIPartyName_st() {
13231    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13232    let ptr = UNINIT.as_ptr();
13233    assert_eq!(
13234        ::std::mem::size_of::<EDIPartyName_st>(),
13235        16usize,
13236        "Size of EDIPartyName_st"
13237    );
13238    assert_eq!(
13239        ::std::mem::align_of::<EDIPartyName_st>(),
13240        8usize,
13241        "Alignment of EDIPartyName_st"
13242    );
13243    assert_eq!(
13244        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13245        0usize,
13246        "Offset of field: EDIPartyName_st::nameAssigner"
13247    );
13248    assert_eq!(
13249        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13250        8usize,
13251        "Offset of field: EDIPartyName_st::partyName"
13252    );
13253}
13254impl Default for EDIPartyName_st {
13255    fn default() -> Self {
13256        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13257        unsafe {
13258            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13259            s.assume_init()
13260        }
13261    }
13262}
13263pub type EDIPARTYNAME = EDIPartyName_st;
13264#[repr(C)]
13265#[derive(Copy, Clone)]
13266pub struct GENERAL_NAME_st {
13267    pub type_: ::std::os::raw::c_int,
13268    pub d: GENERAL_NAME_st__bindgen_ty_1,
13269}
13270#[repr(C)]
13271#[derive(Copy, Clone)]
13272pub union GENERAL_NAME_st__bindgen_ty_1 {
13273    pub ptr: *mut ::std::os::raw::c_char,
13274    pub otherName: *mut OTHERNAME,
13275    pub rfc822Name: *mut ASN1_IA5STRING,
13276    pub dNSName: *mut ASN1_IA5STRING,
13277    pub x400Address: *mut ASN1_STRING,
13278    pub directoryName: *mut X509_NAME,
13279    pub ediPartyName: *mut EDIPARTYNAME,
13280    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13281    pub iPAddress: *mut ASN1_OCTET_STRING,
13282    pub registeredID: *mut ASN1_OBJECT,
13283    pub ip: *mut ASN1_OCTET_STRING,
13284    pub dirn: *mut X509_NAME,
13285    pub ia5: *mut ASN1_IA5STRING,
13286    pub rid: *mut ASN1_OBJECT,
13287}
13288#[test]
13289fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13290    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13291        ::std::mem::MaybeUninit::uninit();
13292    let ptr = UNINIT.as_ptr();
13293    assert_eq!(
13294        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13295        8usize,
13296        "Size of GENERAL_NAME_st__bindgen_ty_1"
13297    );
13298    assert_eq!(
13299        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13300        8usize,
13301        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13302    );
13303    assert_eq!(
13304        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13305        0usize,
13306        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13307    );
13308    assert_eq!(
13309        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13310        0usize,
13311        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13312    );
13313    assert_eq!(
13314        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13315        0usize,
13316        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13317    );
13318    assert_eq!(
13319        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13320        0usize,
13321        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13322    );
13323    assert_eq!(
13324        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13325        0usize,
13326        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13327    );
13328    assert_eq!(
13329        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13330        0usize,
13331        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13332    );
13333    assert_eq!(
13334        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13335        0usize,
13336        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13337    );
13338    assert_eq!(
13339        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13340        0usize,
13341        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13342    );
13343    assert_eq!(
13344        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13345        0usize,
13346        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13347    );
13348    assert_eq!(
13349        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13350        0usize,
13351        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13352    );
13353    assert_eq!(
13354        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13355        0usize,
13356        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13357    );
13358    assert_eq!(
13359        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13360        0usize,
13361        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13362    );
13363    assert_eq!(
13364        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13365        0usize,
13366        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13367    );
13368    assert_eq!(
13369        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13370        0usize,
13371        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13372    );
13373}
13374impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13375    fn default() -> Self {
13376        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13377        unsafe {
13378            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13379            s.assume_init()
13380        }
13381    }
13382}
13383#[test]
13384fn bindgen_test_layout_GENERAL_NAME_st() {
13385    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13386    let ptr = UNINIT.as_ptr();
13387    assert_eq!(
13388        ::std::mem::size_of::<GENERAL_NAME_st>(),
13389        16usize,
13390        "Size of GENERAL_NAME_st"
13391    );
13392    assert_eq!(
13393        ::std::mem::align_of::<GENERAL_NAME_st>(),
13394        8usize,
13395        "Alignment of GENERAL_NAME_st"
13396    );
13397    assert_eq!(
13398        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13399        0usize,
13400        "Offset of field: GENERAL_NAME_st::type_"
13401    );
13402    assert_eq!(
13403        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13404        8usize,
13405        "Offset of field: GENERAL_NAME_st::d"
13406    );
13407}
13408impl Default for GENERAL_NAME_st {
13409    fn default() -> Self {
13410        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13411        unsafe {
13412            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13413            s.assume_init()
13414        }
13415    }
13416}
13417#[repr(C)]
13418#[derive(Debug)]
13419pub struct stack_st_X509_ALGOR {
13420    _unused: [u8; 0],
13421}
13422#[repr(C)]
13423#[derive(Debug)]
13424pub struct stack_st_X509_ATTRIBUTE {
13425    _unused: [u8; 0],
13426}
13427#[repr(C)]
13428#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13429pub struct Netscape_spki_st {
13430    pub spkac: *mut NETSCAPE_SPKAC,
13431    pub sig_algor: *mut X509_ALGOR,
13432    pub signature: *mut ASN1_BIT_STRING,
13433}
13434#[test]
13435fn bindgen_test_layout_Netscape_spki_st() {
13436    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13437    let ptr = UNINIT.as_ptr();
13438    assert_eq!(
13439        ::std::mem::size_of::<Netscape_spki_st>(),
13440        24usize,
13441        "Size of Netscape_spki_st"
13442    );
13443    assert_eq!(
13444        ::std::mem::align_of::<Netscape_spki_st>(),
13445        8usize,
13446        "Alignment of Netscape_spki_st"
13447    );
13448    assert_eq!(
13449        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13450        0usize,
13451        "Offset of field: Netscape_spki_st::spkac"
13452    );
13453    assert_eq!(
13454        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13455        8usize,
13456        "Offset of field: Netscape_spki_st::sig_algor"
13457    );
13458    assert_eq!(
13459        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13460        16usize,
13461        "Offset of field: Netscape_spki_st::signature"
13462    );
13463}
13464impl Default for Netscape_spki_st {
13465    fn default() -> Self {
13466        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13467        unsafe {
13468            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13469            s.assume_init()
13470        }
13471    }
13472}
13473#[repr(C)]
13474#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13475pub struct Netscape_spkac_st {
13476    pub pubkey: *mut X509_PUBKEY,
13477    pub challenge: *mut ASN1_IA5STRING,
13478}
13479#[test]
13480fn bindgen_test_layout_Netscape_spkac_st() {
13481    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13482    let ptr = UNINIT.as_ptr();
13483    assert_eq!(
13484        ::std::mem::size_of::<Netscape_spkac_st>(),
13485        16usize,
13486        "Size of Netscape_spkac_st"
13487    );
13488    assert_eq!(
13489        ::std::mem::align_of::<Netscape_spkac_st>(),
13490        8usize,
13491        "Alignment of Netscape_spkac_st"
13492    );
13493    assert_eq!(
13494        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13495        0usize,
13496        "Offset of field: Netscape_spkac_st::pubkey"
13497    );
13498    assert_eq!(
13499        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13500        8usize,
13501        "Offset of field: Netscape_spkac_st::challenge"
13502    );
13503}
13504impl Default for Netscape_spkac_st {
13505    fn default() -> Self {
13506        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13507        unsafe {
13508            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13509            s.assume_init()
13510        }
13511    }
13512}
13513#[repr(C)]
13514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13515pub struct rsa_pss_params_st {
13516    pub hashAlgorithm: *mut X509_ALGOR,
13517    pub maskGenAlgorithm: *mut X509_ALGOR,
13518    pub saltLength: *mut ASN1_INTEGER,
13519    pub trailerField: *mut ASN1_INTEGER,
13520    pub maskHash: *mut X509_ALGOR,
13521}
13522#[test]
13523fn bindgen_test_layout_rsa_pss_params_st() {
13524    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13525    let ptr = UNINIT.as_ptr();
13526    assert_eq!(
13527        ::std::mem::size_of::<rsa_pss_params_st>(),
13528        40usize,
13529        "Size of rsa_pss_params_st"
13530    );
13531    assert_eq!(
13532        ::std::mem::align_of::<rsa_pss_params_st>(),
13533        8usize,
13534        "Alignment of rsa_pss_params_st"
13535    );
13536    assert_eq!(
13537        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13538        0usize,
13539        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13540    );
13541    assert_eq!(
13542        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13543        8usize,
13544        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13545    );
13546    assert_eq!(
13547        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13548        16usize,
13549        "Offset of field: rsa_pss_params_st::saltLength"
13550    );
13551    assert_eq!(
13552        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13553        24usize,
13554        "Offset of field: rsa_pss_params_st::trailerField"
13555    );
13556    assert_eq!(
13557        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13558        32usize,
13559        "Offset of field: rsa_pss_params_st::maskHash"
13560    );
13561}
13562impl Default for rsa_pss_params_st {
13563    fn default() -> Self {
13564        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13565        unsafe {
13566            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13567            s.assume_init()
13568        }
13569    }
13570}
13571#[repr(C)]
13572#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13573pub struct private_key_st {
13574    pub dec_pkey: *mut EVP_PKEY,
13575}
13576#[test]
13577fn bindgen_test_layout_private_key_st() {
13578    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13579    let ptr = UNINIT.as_ptr();
13580    assert_eq!(
13581        ::std::mem::size_of::<private_key_st>(),
13582        8usize,
13583        "Size of private_key_st"
13584    );
13585    assert_eq!(
13586        ::std::mem::align_of::<private_key_st>(),
13587        8usize,
13588        "Alignment of private_key_st"
13589    );
13590    assert_eq!(
13591        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13592        0usize,
13593        "Offset of field: private_key_st::dec_pkey"
13594    );
13595}
13596impl Default for private_key_st {
13597    fn default() -> Self {
13598        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13599        unsafe {
13600            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13601            s.assume_init()
13602        }
13603    }
13604}
13605#[repr(C)]
13606#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13607pub struct X509_info_st {
13608    pub x509: *mut X509,
13609    pub crl: *mut X509_CRL,
13610    pub x_pkey: *mut X509_PKEY,
13611    pub enc_cipher: EVP_CIPHER_INFO,
13612    pub enc_len: ::std::os::raw::c_int,
13613    pub enc_data: *mut ::std::os::raw::c_char,
13614}
13615#[test]
13616fn bindgen_test_layout_X509_info_st() {
13617    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13618    let ptr = UNINIT.as_ptr();
13619    assert_eq!(
13620        ::std::mem::size_of::<X509_info_st>(),
13621        64usize,
13622        "Size of X509_info_st"
13623    );
13624    assert_eq!(
13625        ::std::mem::align_of::<X509_info_st>(),
13626        8usize,
13627        "Alignment of X509_info_st"
13628    );
13629    assert_eq!(
13630        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13631        0usize,
13632        "Offset of field: X509_info_st::x509"
13633    );
13634    assert_eq!(
13635        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13636        8usize,
13637        "Offset of field: X509_info_st::crl"
13638    );
13639    assert_eq!(
13640        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13641        16usize,
13642        "Offset of field: X509_info_st::x_pkey"
13643    );
13644    assert_eq!(
13645        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13646        24usize,
13647        "Offset of field: X509_info_st::enc_cipher"
13648    );
13649    assert_eq!(
13650        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13651        48usize,
13652        "Offset of field: X509_info_st::enc_len"
13653    );
13654    assert_eq!(
13655        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13656        56usize,
13657        "Offset of field: X509_info_st::enc_data"
13658    );
13659}
13660impl Default for X509_info_st {
13661    fn default() -> Self {
13662        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13663        unsafe {
13664            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13665            s.assume_init()
13666        }
13667    }
13668}
13669pub type X509V3_EXT_NEW =
13670    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13671pub type X509V3_EXT_FREE =
13672    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13673pub type X509V3_EXT_D2I = ::std::option::Option<
13674    unsafe extern "C" fn(
13675        ext: *mut ::std::os::raw::c_void,
13676        inp: *mut *const u8,
13677        len: ::std::os::raw::c_long,
13678    ) -> *mut ::std::os::raw::c_void,
13679>;
13680pub type X509V3_EXT_I2D = ::std::option::Option<
13681    unsafe extern "C" fn(
13682        ext: *mut ::std::os::raw::c_void,
13683        outp: *mut *mut u8,
13684    ) -> ::std::os::raw::c_int,
13685>;
13686pub type X509V3_EXT_I2V = ::std::option::Option<
13687    unsafe extern "C" fn(
13688        method: *const X509V3_EXT_METHOD,
13689        ext: *mut ::std::os::raw::c_void,
13690        extlist: *mut stack_st_CONF_VALUE,
13691    ) -> *mut stack_st_CONF_VALUE,
13692>;
13693pub type X509V3_EXT_V2I = ::std::option::Option<
13694    unsafe extern "C" fn(
13695        method: *const X509V3_EXT_METHOD,
13696        ctx: *const X509V3_CTX,
13697        values: *const stack_st_CONF_VALUE,
13698    ) -> *mut ::std::os::raw::c_void,
13699>;
13700pub type X509V3_EXT_I2S = ::std::option::Option<
13701    unsafe extern "C" fn(
13702        method: *const X509V3_EXT_METHOD,
13703        ext: *mut ::std::os::raw::c_void,
13704    ) -> *mut ::std::os::raw::c_char,
13705>;
13706pub type X509V3_EXT_S2I = ::std::option::Option<
13707    unsafe extern "C" fn(
13708        method: *const X509V3_EXT_METHOD,
13709        ctx: *const X509V3_CTX,
13710        str_: *const ::std::os::raw::c_char,
13711    ) -> *mut ::std::os::raw::c_void,
13712>;
13713pub type X509V3_EXT_I2R = ::std::option::Option<
13714    unsafe extern "C" fn(
13715        method: *const X509V3_EXT_METHOD,
13716        ext: *mut ::std::os::raw::c_void,
13717        out: *mut BIO,
13718        indent: ::std::os::raw::c_int,
13719    ) -> ::std::os::raw::c_int,
13720>;
13721pub type X509V3_EXT_R2I = ::std::option::Option<
13722    unsafe extern "C" fn(
13723        method: *const X509V3_EXT_METHOD,
13724        ctx: *const X509V3_CTX,
13725        str_: *const ::std::os::raw::c_char,
13726    ) -> *mut ::std::os::raw::c_void,
13727>;
13728#[repr(C)]
13729#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13730pub struct v3_ext_method {
13731    pub ext_nid: ::std::os::raw::c_int,
13732    pub ext_flags: ::std::os::raw::c_int,
13733    pub it: *const ASN1_ITEM_st,
13734    pub ext_new: X509V3_EXT_NEW,
13735    pub ext_free: X509V3_EXT_FREE,
13736    pub d2i: X509V3_EXT_D2I,
13737    pub i2d: X509V3_EXT_I2D,
13738    pub i2s: X509V3_EXT_I2S,
13739    pub s2i: X509V3_EXT_S2I,
13740    pub i2v: X509V3_EXT_I2V,
13741    pub v2i: X509V3_EXT_V2I,
13742    pub i2r: X509V3_EXT_I2R,
13743    pub r2i: X509V3_EXT_R2I,
13744    pub usr_data: *mut ::std::os::raw::c_void,
13745}
13746#[test]
13747fn bindgen_test_layout_v3_ext_method() {
13748    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13749    let ptr = UNINIT.as_ptr();
13750    assert_eq!(
13751        ::std::mem::size_of::<v3_ext_method>(),
13752        104usize,
13753        "Size of v3_ext_method"
13754    );
13755    assert_eq!(
13756        ::std::mem::align_of::<v3_ext_method>(),
13757        8usize,
13758        "Alignment of v3_ext_method"
13759    );
13760    assert_eq!(
13761        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13762        0usize,
13763        "Offset of field: v3_ext_method::ext_nid"
13764    );
13765    assert_eq!(
13766        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13767        4usize,
13768        "Offset of field: v3_ext_method::ext_flags"
13769    );
13770    assert_eq!(
13771        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13772        8usize,
13773        "Offset of field: v3_ext_method::it"
13774    );
13775    assert_eq!(
13776        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13777        16usize,
13778        "Offset of field: v3_ext_method::ext_new"
13779    );
13780    assert_eq!(
13781        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13782        24usize,
13783        "Offset of field: v3_ext_method::ext_free"
13784    );
13785    assert_eq!(
13786        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13787        32usize,
13788        "Offset of field: v3_ext_method::d2i"
13789    );
13790    assert_eq!(
13791        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13792        40usize,
13793        "Offset of field: v3_ext_method::i2d"
13794    );
13795    assert_eq!(
13796        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13797        48usize,
13798        "Offset of field: v3_ext_method::i2s"
13799    );
13800    assert_eq!(
13801        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13802        56usize,
13803        "Offset of field: v3_ext_method::s2i"
13804    );
13805    assert_eq!(
13806        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13807        64usize,
13808        "Offset of field: v3_ext_method::i2v"
13809    );
13810    assert_eq!(
13811        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13812        72usize,
13813        "Offset of field: v3_ext_method::v2i"
13814    );
13815    assert_eq!(
13816        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13817        80usize,
13818        "Offset of field: v3_ext_method::i2r"
13819    );
13820    assert_eq!(
13821        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13822        88usize,
13823        "Offset of field: v3_ext_method::r2i"
13824    );
13825    assert_eq!(
13826        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13827        96usize,
13828        "Offset of field: v3_ext_method::usr_data"
13829    );
13830}
13831impl Default for v3_ext_method {
13832    fn default() -> Self {
13833        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13834        unsafe {
13835            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13836            s.assume_init()
13837        }
13838    }
13839}
13840#[repr(C)]
13841#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13842pub struct v3_ext_ctx {
13843    pub flags: ::std::os::raw::c_int,
13844    pub issuer_cert: *const X509,
13845    pub subject_cert: *const X509,
13846    pub subject_req: *const X509_REQ,
13847    pub crl: *const X509_CRL,
13848    pub db: *const CONF,
13849}
13850#[test]
13851fn bindgen_test_layout_v3_ext_ctx() {
13852    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13853    let ptr = UNINIT.as_ptr();
13854    assert_eq!(
13855        ::std::mem::size_of::<v3_ext_ctx>(),
13856        48usize,
13857        "Size of v3_ext_ctx"
13858    );
13859    assert_eq!(
13860        ::std::mem::align_of::<v3_ext_ctx>(),
13861        8usize,
13862        "Alignment of v3_ext_ctx"
13863    );
13864    assert_eq!(
13865        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13866        0usize,
13867        "Offset of field: v3_ext_ctx::flags"
13868    );
13869    assert_eq!(
13870        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13871        8usize,
13872        "Offset of field: v3_ext_ctx::issuer_cert"
13873    );
13874    assert_eq!(
13875        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13876        16usize,
13877        "Offset of field: v3_ext_ctx::subject_cert"
13878    );
13879    assert_eq!(
13880        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13881        24usize,
13882        "Offset of field: v3_ext_ctx::subject_req"
13883    );
13884    assert_eq!(
13885        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13886        32usize,
13887        "Offset of field: v3_ext_ctx::crl"
13888    );
13889    assert_eq!(
13890        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13891        40usize,
13892        "Offset of field: v3_ext_ctx::db"
13893    );
13894}
13895impl Default for v3_ext_ctx {
13896    fn default() -> Self {
13897        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13898        unsafe {
13899            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13900            s.assume_init()
13901        }
13902    }
13903}
13904#[repr(C)]
13905#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13906pub struct X509_algor_st {
13907    pub algorithm: *mut ASN1_OBJECT,
13908    pub parameter: *mut ASN1_TYPE,
13909}
13910#[test]
13911fn bindgen_test_layout_X509_algor_st() {
13912    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13913    let ptr = UNINIT.as_ptr();
13914    assert_eq!(
13915        ::std::mem::size_of::<X509_algor_st>(),
13916        16usize,
13917        "Size of X509_algor_st"
13918    );
13919    assert_eq!(
13920        ::std::mem::align_of::<X509_algor_st>(),
13921        8usize,
13922        "Alignment of X509_algor_st"
13923    );
13924    assert_eq!(
13925        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13926        0usize,
13927        "Offset of field: X509_algor_st::algorithm"
13928    );
13929    assert_eq!(
13930        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13931        8usize,
13932        "Offset of field: X509_algor_st::parameter"
13933    );
13934}
13935impl Default for X509_algor_st {
13936    fn default() -> Self {
13937        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13938        unsafe {
13939            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13940            s.assume_init()
13941        }
13942    }
13943}
13944#[repr(C)]
13945#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13946pub struct x509_trust_st {
13947    pub trust: ::std::os::raw::c_int,
13948    pub flags: ::std::os::raw::c_int,
13949    pub check_trust: ::std::option::Option<
13950        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13951    >,
13952    pub name: *mut ::std::os::raw::c_char,
13953    pub arg1: ::std::os::raw::c_int,
13954    pub arg2: *mut ::std::os::raw::c_void,
13955}
13956#[test]
13957fn bindgen_test_layout_x509_trust_st() {
13958    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13959    let ptr = UNINIT.as_ptr();
13960    assert_eq!(
13961        ::std::mem::size_of::<x509_trust_st>(),
13962        40usize,
13963        "Size of x509_trust_st"
13964    );
13965    assert_eq!(
13966        ::std::mem::align_of::<x509_trust_st>(),
13967        8usize,
13968        "Alignment of x509_trust_st"
13969    );
13970    assert_eq!(
13971        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13972        0usize,
13973        "Offset of field: x509_trust_st::trust"
13974    );
13975    assert_eq!(
13976        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13977        4usize,
13978        "Offset of field: x509_trust_st::flags"
13979    );
13980    assert_eq!(
13981        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13982        8usize,
13983        "Offset of field: x509_trust_st::check_trust"
13984    );
13985    assert_eq!(
13986        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13987        16usize,
13988        "Offset of field: x509_trust_st::name"
13989    );
13990    assert_eq!(
13991        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13992        24usize,
13993        "Offset of field: x509_trust_st::arg1"
13994    );
13995    assert_eq!(
13996        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13997        32usize,
13998        "Offset of field: x509_trust_st::arg2"
13999    );
14000}
14001impl Default for x509_trust_st {
14002    fn default() -> Self {
14003        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14004        unsafe {
14005            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14006            s.assume_init()
14007        }
14008    }
14009}
14010#[repr(C)]
14011#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14012pub struct BASIC_CONSTRAINTS_st {
14013    pub ca: ASN1_BOOLEAN,
14014    pub pathlen: *mut ASN1_INTEGER,
14015}
14016#[test]
14017fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
14018    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14019    let ptr = UNINIT.as_ptr();
14020    assert_eq!(
14021        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
14022        16usize,
14023        "Size of BASIC_CONSTRAINTS_st"
14024    );
14025    assert_eq!(
14026        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
14027        8usize,
14028        "Alignment of BASIC_CONSTRAINTS_st"
14029    );
14030    assert_eq!(
14031        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
14032        0usize,
14033        "Offset of field: BASIC_CONSTRAINTS_st::ca"
14034    );
14035    assert_eq!(
14036        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
14037        8usize,
14038        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
14039    );
14040}
14041impl Default for BASIC_CONSTRAINTS_st {
14042    fn default() -> Self {
14043        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14044        unsafe {
14045            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14046            s.assume_init()
14047        }
14048    }
14049}
14050#[repr(C)]
14051#[derive(Copy, Clone)]
14052pub struct DIST_POINT_NAME_st {
14053    pub type_: ::std::os::raw::c_int,
14054    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
14055    pub dpname: *mut X509_NAME,
14056}
14057#[repr(C)]
14058#[derive(Copy, Clone)]
14059pub union DIST_POINT_NAME_st__bindgen_ty_1 {
14060    pub fullname: *mut GENERAL_NAMES,
14061    pub relativename: *mut stack_st_X509_NAME_ENTRY,
14062}
14063#[test]
14064fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
14065    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
14066        ::std::mem::MaybeUninit::uninit();
14067    let ptr = UNINIT.as_ptr();
14068    assert_eq!(
14069        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
14070        8usize,
14071        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
14072    );
14073    assert_eq!(
14074        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
14075        8usize,
14076        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
14077    );
14078    assert_eq!(
14079        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
14080        0usize,
14081        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
14082    );
14083    assert_eq!(
14084        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
14085        0usize,
14086        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
14087    );
14088}
14089impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
14090    fn default() -> Self {
14091        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14092        unsafe {
14093            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14094            s.assume_init()
14095        }
14096    }
14097}
14098#[test]
14099fn bindgen_test_layout_DIST_POINT_NAME_st() {
14100    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
14101    let ptr = UNINIT.as_ptr();
14102    assert_eq!(
14103        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
14104        24usize,
14105        "Size of DIST_POINT_NAME_st"
14106    );
14107    assert_eq!(
14108        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
14109        8usize,
14110        "Alignment of DIST_POINT_NAME_st"
14111    );
14112    assert_eq!(
14113        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
14114        0usize,
14115        "Offset of field: DIST_POINT_NAME_st::type_"
14116    );
14117    assert_eq!(
14118        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
14119        8usize,
14120        "Offset of field: DIST_POINT_NAME_st::name"
14121    );
14122    assert_eq!(
14123        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
14124        16usize,
14125        "Offset of field: DIST_POINT_NAME_st::dpname"
14126    );
14127}
14128impl Default for DIST_POINT_NAME_st {
14129    fn default() -> Self {
14130        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14131        unsafe {
14132            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14133            s.assume_init()
14134        }
14135    }
14136}
14137pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
14138#[repr(C)]
14139#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14140pub struct DIST_POINT_st {
14141    pub distpoint: *mut DIST_POINT_NAME,
14142    pub reasons: *mut ASN1_BIT_STRING,
14143    pub CRLissuer: *mut GENERAL_NAMES,
14144}
14145#[test]
14146fn bindgen_test_layout_DIST_POINT_st() {
14147    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
14148    let ptr = UNINIT.as_ptr();
14149    assert_eq!(
14150        ::std::mem::size_of::<DIST_POINT_st>(),
14151        24usize,
14152        "Size of DIST_POINT_st"
14153    );
14154    assert_eq!(
14155        ::std::mem::align_of::<DIST_POINT_st>(),
14156        8usize,
14157        "Alignment of DIST_POINT_st"
14158    );
14159    assert_eq!(
14160        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14161        0usize,
14162        "Offset of field: DIST_POINT_st::distpoint"
14163    );
14164    assert_eq!(
14165        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
14166        8usize,
14167        "Offset of field: DIST_POINT_st::reasons"
14168    );
14169    assert_eq!(
14170        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
14171        16usize,
14172        "Offset of field: DIST_POINT_st::CRLissuer"
14173    );
14174}
14175impl Default for DIST_POINT_st {
14176    fn default() -> Self {
14177        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14178        unsafe {
14179            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14180            s.assume_init()
14181        }
14182    }
14183}
14184#[repr(C)]
14185#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14186pub struct AUTHORITY_KEYID_st {
14187    pub keyid: *mut ASN1_OCTET_STRING,
14188    pub issuer: *mut GENERAL_NAMES,
14189    pub serial: *mut ASN1_INTEGER,
14190}
14191#[test]
14192fn bindgen_test_layout_AUTHORITY_KEYID_st() {
14193    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
14194    let ptr = UNINIT.as_ptr();
14195    assert_eq!(
14196        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
14197        24usize,
14198        "Size of AUTHORITY_KEYID_st"
14199    );
14200    assert_eq!(
14201        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
14202        8usize,
14203        "Alignment of AUTHORITY_KEYID_st"
14204    );
14205    assert_eq!(
14206        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
14207        0usize,
14208        "Offset of field: AUTHORITY_KEYID_st::keyid"
14209    );
14210    assert_eq!(
14211        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
14212        8usize,
14213        "Offset of field: AUTHORITY_KEYID_st::issuer"
14214    );
14215    assert_eq!(
14216        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14217        16usize,
14218        "Offset of field: AUTHORITY_KEYID_st::serial"
14219    );
14220}
14221impl Default for AUTHORITY_KEYID_st {
14222    fn default() -> Self {
14223        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14224        unsafe {
14225            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14226            s.assume_init()
14227        }
14228    }
14229}
14230#[repr(C)]
14231#[derive(Debug)]
14232pub struct stack_st_GENERAL_SUBTREE {
14233    _unused: [u8; 0],
14234}
14235#[repr(C)]
14236#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14237pub struct NAME_CONSTRAINTS_st {
14238    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14239    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14240}
14241#[test]
14242fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14243    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14244    let ptr = UNINIT.as_ptr();
14245    assert_eq!(
14246        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14247        16usize,
14248        "Size of NAME_CONSTRAINTS_st"
14249    );
14250    assert_eq!(
14251        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14252        8usize,
14253        "Alignment of NAME_CONSTRAINTS_st"
14254    );
14255    assert_eq!(
14256        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14257        0usize,
14258        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14259    );
14260    assert_eq!(
14261        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14262        8usize,
14263        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14264    );
14265}
14266impl Default for NAME_CONSTRAINTS_st {
14267    fn default() -> Self {
14268        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14269        unsafe {
14270            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14271            s.assume_init()
14272        }
14273    }
14274}
14275#[repr(C)]
14276#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14277pub struct ISSUING_DIST_POINT_st {
14278    pub distpoint: *mut DIST_POINT_NAME,
14279    pub onlyuser: ASN1_BOOLEAN,
14280    pub onlyCA: ASN1_BOOLEAN,
14281    pub onlysomereasons: *mut ASN1_BIT_STRING,
14282    pub indirectCRL: ASN1_BOOLEAN,
14283    pub onlyattr: ASN1_BOOLEAN,
14284}
14285#[test]
14286fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14287    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14288        ::std::mem::MaybeUninit::uninit();
14289    let ptr = UNINIT.as_ptr();
14290    assert_eq!(
14291        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14292        32usize,
14293        "Size of ISSUING_DIST_POINT_st"
14294    );
14295    assert_eq!(
14296        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14297        8usize,
14298        "Alignment of ISSUING_DIST_POINT_st"
14299    );
14300    assert_eq!(
14301        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14302        0usize,
14303        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14304    );
14305    assert_eq!(
14306        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14307        8usize,
14308        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14309    );
14310    assert_eq!(
14311        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14312        12usize,
14313        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14314    );
14315    assert_eq!(
14316        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14317        16usize,
14318        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14319    );
14320    assert_eq!(
14321        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14322        24usize,
14323        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14324    );
14325    assert_eq!(
14326        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14327        28usize,
14328        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14329    );
14330}
14331impl Default for ISSUING_DIST_POINT_st {
14332    fn default() -> Self {
14333        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14334        unsafe {
14335            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14336            s.assume_init()
14337        }
14338    }
14339}
14340pub type poly1305_state = [u8; 512usize];
14341extern "C" {
14342    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_init"]
14343    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14344}
14345extern "C" {
14346    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_update"]
14347    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14348}
14349extern "C" {
14350    #[link_name = "aws_lc_0_47_0_CRYPTO_poly1305_finish"]
14351    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14352}
14353extern "C" {
14354    #[link_name = "aws_lc_0_47_0_RAND_bytes"]
14355    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14356}
14357extern "C" {
14358    #[link_name = "aws_lc_0_47_0_RAND_priv_bytes"]
14359    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14360}
14361extern "C" {
14362    #[link_name = "aws_lc_0_47_0_RAND_public_bytes"]
14363    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14364}
14365extern "C" {
14366    #[link_name = "aws_lc_0_47_0_RAND_bytes_with_user_prediction_resistance"]
14367    pub fn RAND_bytes_with_user_prediction_resistance(
14368        out: *mut u8,
14369        out_len: usize,
14370        user_pred_resistance: *const u8,
14371    ) -> ::std::os::raw::c_int;
14372}
14373extern "C" {
14374    #[link_name = "aws_lc_0_47_0_RAND_pseudo_bytes"]
14375    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14376}
14377extern "C" {
14378    #[link_name = "aws_lc_0_47_0_RAND_seed"]
14379    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14380}
14381extern "C" {
14382    #[link_name = "aws_lc_0_47_0_RAND_load_file"]
14383    pub fn RAND_load_file(
14384        path: *const ::std::os::raw::c_char,
14385        num: ::std::os::raw::c_long,
14386    ) -> ::std::os::raw::c_int;
14387}
14388extern "C" {
14389    #[link_name = "aws_lc_0_47_0_RAND_write_file"]
14390    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14391}
14392extern "C" {
14393    #[link_name = "aws_lc_0_47_0_RAND_file_name"]
14394    pub fn RAND_file_name(
14395        buf: *mut ::std::os::raw::c_char,
14396        num: usize,
14397    ) -> *const ::std::os::raw::c_char;
14398}
14399extern "C" {
14400    #[link_name = "aws_lc_0_47_0_RAND_add"]
14401    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14402}
14403extern "C" {
14404    #[link_name = "aws_lc_0_47_0_RAND_egd"]
14405    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14406}
14407extern "C" {
14408    #[link_name = "aws_lc_0_47_0_RAND_egd_bytes"]
14409    pub fn RAND_egd_bytes(
14410        arg1: *const ::std::os::raw::c_char,
14411        bytes: ::std::os::raw::c_int,
14412    ) -> ::std::os::raw::c_int;
14413}
14414extern "C" {
14415    #[link_name = "aws_lc_0_47_0_RAND_poll"]
14416    pub fn RAND_poll() -> ::std::os::raw::c_int;
14417}
14418extern "C" {
14419    #[link_name = "aws_lc_0_47_0_RAND_status"]
14420    pub fn RAND_status() -> ::std::os::raw::c_int;
14421}
14422extern "C" {
14423    #[link_name = "aws_lc_0_47_0_RAND_cleanup"]
14424    pub fn RAND_cleanup();
14425}
14426#[repr(C)]
14427#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14428pub struct rand_meth_st {
14429    pub seed: ::std::option::Option<
14430        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14431    >,
14432    pub bytes: ::std::option::Option<
14433        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14434    >,
14435    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14436    pub add: ::std::option::Option<
14437        unsafe extern "C" fn(
14438            buf: *const ::std::os::raw::c_void,
14439            num: ::std::os::raw::c_int,
14440            entropy: f64,
14441        ),
14442    >,
14443    pub pseudorand: ::std::option::Option<
14444        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14445    >,
14446    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14447}
14448#[test]
14449fn bindgen_test_layout_rand_meth_st() {
14450    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14451    let ptr = UNINIT.as_ptr();
14452    assert_eq!(
14453        ::std::mem::size_of::<rand_meth_st>(),
14454        48usize,
14455        "Size of rand_meth_st"
14456    );
14457    assert_eq!(
14458        ::std::mem::align_of::<rand_meth_st>(),
14459        8usize,
14460        "Alignment of rand_meth_st"
14461    );
14462    assert_eq!(
14463        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14464        0usize,
14465        "Offset of field: rand_meth_st::seed"
14466    );
14467    assert_eq!(
14468        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14469        8usize,
14470        "Offset of field: rand_meth_st::bytes"
14471    );
14472    assert_eq!(
14473        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14474        16usize,
14475        "Offset of field: rand_meth_st::cleanup"
14476    );
14477    assert_eq!(
14478        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14479        24usize,
14480        "Offset of field: rand_meth_st::add"
14481    );
14482    assert_eq!(
14483        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14484        32usize,
14485        "Offset of field: rand_meth_st::pseudorand"
14486    );
14487    assert_eq!(
14488        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14489        40usize,
14490        "Offset of field: rand_meth_st::status"
14491    );
14492}
14493extern "C" {
14494    #[link_name = "aws_lc_0_47_0_RAND_SSLeay"]
14495    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14496}
14497extern "C" {
14498    #[link_name = "aws_lc_0_47_0_RAND_OpenSSL"]
14499    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14500}
14501extern "C" {
14502    #[link_name = "aws_lc_0_47_0_RAND_get_rand_method"]
14503    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14504}
14505extern "C" {
14506    #[link_name = "aws_lc_0_47_0_RAND_set_rand_method"]
14507    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14508}
14509extern "C" {
14510    #[link_name = "aws_lc_0_47_0_RAND_keep_random_devices_open"]
14511    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14512}
14513#[repr(C)]
14514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14515pub struct rc4_key_st {
14516    pub x: u32,
14517    pub y: u32,
14518    pub data: [u32; 256usize],
14519}
14520#[test]
14521fn bindgen_test_layout_rc4_key_st() {
14522    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14523    let ptr = UNINIT.as_ptr();
14524    assert_eq!(
14525        ::std::mem::size_of::<rc4_key_st>(),
14526        1032usize,
14527        "Size of rc4_key_st"
14528    );
14529    assert_eq!(
14530        ::std::mem::align_of::<rc4_key_st>(),
14531        4usize,
14532        "Alignment of rc4_key_st"
14533    );
14534    assert_eq!(
14535        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14536        0usize,
14537        "Offset of field: rc4_key_st::x"
14538    );
14539    assert_eq!(
14540        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14541        4usize,
14542        "Offset of field: rc4_key_st::y"
14543    );
14544    assert_eq!(
14545        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14546        8usize,
14547        "Offset of field: rc4_key_st::data"
14548    );
14549}
14550impl Default for rc4_key_st {
14551    fn default() -> Self {
14552        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14553        unsafe {
14554            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14555            s.assume_init()
14556        }
14557    }
14558}
14559#[repr(C)]
14560#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14561pub struct RIPEMD160state_st {
14562    pub h: [u32; 5usize],
14563    pub Nl: u32,
14564    pub Nh: u32,
14565    pub data: [u8; 64usize],
14566    pub num: ::std::os::raw::c_uint,
14567}
14568#[test]
14569fn bindgen_test_layout_RIPEMD160state_st() {
14570    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14571    let ptr = UNINIT.as_ptr();
14572    assert_eq!(
14573        ::std::mem::size_of::<RIPEMD160state_st>(),
14574        96usize,
14575        "Size of RIPEMD160state_st"
14576    );
14577    assert_eq!(
14578        ::std::mem::align_of::<RIPEMD160state_st>(),
14579        4usize,
14580        "Alignment of RIPEMD160state_st"
14581    );
14582    assert_eq!(
14583        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14584        0usize,
14585        "Offset of field: RIPEMD160state_st::h"
14586    );
14587    assert_eq!(
14588        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14589        20usize,
14590        "Offset of field: RIPEMD160state_st::Nl"
14591    );
14592    assert_eq!(
14593        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14594        24usize,
14595        "Offset of field: RIPEMD160state_st::Nh"
14596    );
14597    assert_eq!(
14598        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14599        28usize,
14600        "Offset of field: RIPEMD160state_st::data"
14601    );
14602    assert_eq!(
14603        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14604        92usize,
14605        "Offset of field: RIPEMD160state_st::num"
14606    );
14607}
14608impl Default for RIPEMD160state_st {
14609    fn default() -> Self {
14610        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14611        unsafe {
14612            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14613            s.assume_init()
14614        }
14615    }
14616}
14617#[repr(C)]
14618#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14619pub struct trust_token_st {
14620    pub data: *mut u8,
14621    pub len: usize,
14622}
14623#[test]
14624fn bindgen_test_layout_trust_token_st() {
14625    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14626    let ptr = UNINIT.as_ptr();
14627    assert_eq!(
14628        ::std::mem::size_of::<trust_token_st>(),
14629        16usize,
14630        "Size of trust_token_st"
14631    );
14632    assert_eq!(
14633        ::std::mem::align_of::<trust_token_st>(),
14634        8usize,
14635        "Alignment of trust_token_st"
14636    );
14637    assert_eq!(
14638        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14639        0usize,
14640        "Offset of field: trust_token_st::data"
14641    );
14642    assert_eq!(
14643        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14644        8usize,
14645        "Offset of field: trust_token_st::len"
14646    );
14647}
14648impl Default for trust_token_st {
14649    fn default() -> Self {
14650        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14651        unsafe {
14652            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14653            s.assume_init()
14654        }
14655    }
14656}
14657extern "C" {
14658    #[link_name = "aws_lc_0_47_0_ERR_GET_LIB_RUST"]
14659    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14660}
14661extern "C" {
14662    #[link_name = "aws_lc_0_47_0_ERR_GET_REASON_RUST"]
14663    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14664}
14665extern "C" {
14666    #[link_name = "aws_lc_0_47_0_ERR_GET_FUNC_RUST"]
14667    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14668}