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.11.0\0";
535pub const AWSLC_FIPS_VERSION_NUMBER: i32 = 5;
536pub const AES_ENCRYPT: i32 = 1;
537pub const AES_DECRYPT: i32 = 0;
538pub const AES_MAXNR: i32 = 14;
539pub const AES_BLOCK_SIZE: i32 = 16;
540pub const SHA_CBLOCK: i32 = 64;
541pub const SHA_DIGEST_LENGTH: i32 = 20;
542pub const SHA224_CBLOCK: i32 = 64;
543pub const SHA224_DIGEST_LENGTH: i32 = 28;
544pub const SHA256_CBLOCK: i32 = 64;
545pub const SHA256_DIGEST_LENGTH: i32 = 32;
546pub const SHA384_CBLOCK: i32 = 128;
547pub const SHA384_DIGEST_LENGTH: i32 = 48;
548pub const SHA512_CBLOCK: i32 = 128;
549pub const SHA512_DIGEST_LENGTH: i32 = 64;
550pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
551pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
552pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 5.11.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_FLAG_OPAQUE: i32 = 1;
3296pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3297pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3298pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3299pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3300pub const RSA_3: i32 = 3;
3301pub const RSA_F4: i32 = 65537;
3302pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3303pub const RSA_R_BAD_ENCODING: i32 = 100;
3304pub const RSA_R_BAD_E_VALUE: i32 = 101;
3305pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3306pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3307pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3308pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3309pub const RSA_R_BAD_VERSION: i32 = 106;
3310pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3311pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3312pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3313pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3314pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3315pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3316pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3317pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3318pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3319pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3320pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3321pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3322pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3323pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3324pub const RSA_R_ENCODE_ERROR: i32 = 121;
3325pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3326pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3327pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3328pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3329pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3330pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3331pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3332pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3333pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3334pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3335pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3336pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3337pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3338pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3339pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3340pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3341pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3342pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3343pub const RSA_R_TOO_LONG: i32 = 140;
3344pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3345pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3346pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3347pub const RSA_R_VALUE_MISSING: i32 = 144;
3348pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3349pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3350pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3351pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3352pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3353pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3354pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
3355#[repr(C)]
3356#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
3357pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3358    pub _bindgen_align: [u32; 0],
3359    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3360    pub __bindgen_padding_0: [u8; 3usize],
3361}
3362#[test]
3363fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3364) {
3365    assert_eq!(
3366        ::std::mem::size_of::<
3367            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3368        >(),
3369        4usize,
3370        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3371    );
3372    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");
3373}
3374impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3375    #[inline]
3376    #[allow(unnecessary_transmutes)]
3377    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3378        &self,
3379    ) -> ::std::os::raw::c_uint {
3380        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
3381    }
3382    #[inline]
3383    #[allow(unnecessary_transmutes)]
3384    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3385        &mut self,
3386        val: ::std::os::raw::c_uint,
3387    ) {
3388        unsafe {
3389            let val: u32 = ::std::mem::transmute(val);
3390            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
3391        }
3392    }
3393    #[inline]
3394    #[allow(unnecessary_transmutes)]
3395    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3396        this: *const Self,
3397    ) -> ::std::os::raw::c_uint {
3398        unsafe {
3399            ::std::mem::transmute(
3400                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
3401                    ::std::ptr::addr_of!((*this)._bitfield_1),
3402                ) as u32,
3403            )
3404        }
3405    }
3406    #[inline]
3407    #[allow(unnecessary_transmutes)]
3408    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3409        this: *mut Self,
3410        val: ::std::os::raw::c_uint,
3411    ) {
3412        unsafe {
3413            let val: u32 = ::std::mem::transmute(val);
3414            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
3415                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3416                val as u64,
3417            )
3418        }
3419    }
3420    #[inline]
3421    #[allow(unnecessary_transmutes)]
3422    pub fn new_bitfield_1(
3423        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3424    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3425        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3426        __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 }) ;
3427        __bindgen_bitfield_unit
3428    }
3429}
3430pub type ossl_ssize_t = isize;
3431pub type CBS_ASN1_TAG = u32;
3432pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3433#[repr(C)]
3434#[derive(Debug)]
3435pub struct asn1_null_st {
3436    _unused: [u8; 0],
3437}
3438pub type ASN1_NULL = asn1_null_st;
3439pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3440pub type ASN1_ITEM = ASN1_ITEM_st;
3441#[repr(C)]
3442#[derive(Debug)]
3443pub struct asn1_object_st {
3444    _unused: [u8; 0],
3445}
3446pub type ASN1_OBJECT = asn1_object_st;
3447#[repr(C)]
3448#[derive(Debug)]
3449pub struct asn1_pctx_st {
3450    _unused: [u8; 0],
3451}
3452pub type ASN1_PCTX = asn1_pctx_st;
3453pub type ASN1_BIT_STRING = asn1_string_st;
3454pub type ASN1_BMPSTRING = asn1_string_st;
3455pub type ASN1_ENUMERATED = asn1_string_st;
3456pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3457pub type ASN1_GENERALSTRING = asn1_string_st;
3458pub type ASN1_IA5STRING = asn1_string_st;
3459pub type ASN1_INTEGER = asn1_string_st;
3460pub type ASN1_OCTET_STRING = asn1_string_st;
3461pub type ASN1_PRINTABLESTRING = asn1_string_st;
3462pub type ASN1_STRING = asn1_string_st;
3463pub type ASN1_T61STRING = asn1_string_st;
3464pub type ASN1_TIME = asn1_string_st;
3465pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3466pub type ASN1_UTCTIME = asn1_string_st;
3467pub type ASN1_UTF8STRING = asn1_string_st;
3468pub type ASN1_VISIBLESTRING = asn1_string_st;
3469pub type ASN1_TYPE = asn1_type_st;
3470pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3471pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3472pub type DIST_POINT = DIST_POINT_st;
3473pub type DSA_SIG = DSA_SIG_st;
3474pub type GENERAL_NAME = GENERAL_NAME_st;
3475pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3476pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3477pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3478pub type NETSCAPE_SPKI = Netscape_spki_st;
3479pub type RIPEMD160_CTX = RIPEMD160state_st;
3480#[repr(C)]
3481#[derive(Debug)]
3482pub struct X509_VERIFY_PARAM_st {
3483    _unused: [u8; 0],
3484}
3485pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3486pub type X509_ALGOR = X509_algor_st;
3487#[repr(C)]
3488#[derive(Debug)]
3489pub struct X509_crl_st {
3490    _unused: [u8; 0],
3491}
3492pub type X509_CRL = X509_crl_st;
3493#[repr(C)]
3494#[derive(Debug)]
3495pub struct X509_extension_st {
3496    _unused: [u8; 0],
3497}
3498pub type X509_EXTENSION = X509_extension_st;
3499pub type X509_INFO = X509_info_st;
3500#[repr(C)]
3501#[derive(Debug)]
3502pub struct X509_name_entry_st {
3503    _unused: [u8; 0],
3504}
3505pub type X509_NAME_ENTRY = X509_name_entry_st;
3506#[repr(C)]
3507#[derive(Debug)]
3508pub struct X509_name_st {
3509    _unused: [u8; 0],
3510}
3511pub type X509_NAME = X509_name_st;
3512#[repr(C)]
3513#[derive(Debug)]
3514pub struct X509_pubkey_st {
3515    _unused: [u8; 0],
3516}
3517pub type X509_PUBKEY = X509_pubkey_st;
3518#[repr(C)]
3519#[derive(Debug)]
3520pub struct X509_req_st {
3521    _unused: [u8; 0],
3522}
3523pub type X509_REQ = X509_req_st;
3524#[repr(C)]
3525#[derive(Debug)]
3526pub struct x509_sig_info_st {
3527    _unused: [u8; 0],
3528}
3529pub type X509_SIG_INFO = x509_sig_info_st;
3530#[repr(C)]
3531#[derive(Debug)]
3532pub struct X509_sig_st {
3533    _unused: [u8; 0],
3534}
3535pub type X509_SIG = X509_sig_st;
3536#[repr(C)]
3537#[derive(Debug)]
3538pub struct bignum_ctx {
3539    _unused: [u8; 0],
3540}
3541pub type BN_CTX = bignum_ctx;
3542pub type BIGNUM = bignum_st;
3543pub type BIO_METHOD = bio_method_st;
3544pub type BIO = bio_st;
3545pub type BLAKE2B_CTX = blake2b_state_st;
3546pub type BN_GENCB = bn_gencb_st;
3547pub type BN_MONT_CTX = bn_mont_ctx_st;
3548pub type BUF_MEM = buf_mem_st;
3549#[repr(C)]
3550#[derive(Debug)]
3551pub struct cast_key_st {
3552    _unused: [u8; 0],
3553}
3554pub type CAST_KEY = cast_key_st;
3555pub type CBB = cbb_st;
3556pub type CBS = cbs_st;
3557#[repr(C)]
3558#[derive(Debug)]
3559pub struct cmac_ctx_st {
3560    _unused: [u8; 0],
3561}
3562pub type CMAC_CTX = cmac_ctx_st;
3563pub type CONF = conf_st;
3564pub type CONF_VALUE = conf_value_st;
3565#[repr(C)]
3566#[derive(Debug)]
3567pub struct crypto_buffer_pool_st {
3568    _unused: [u8; 0],
3569}
3570pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3571#[repr(C)]
3572#[derive(Debug)]
3573pub struct crypto_buffer_st {
3574    _unused: [u8; 0],
3575}
3576pub type CRYPTO_BUFFER = crypto_buffer_st;
3577#[repr(C)]
3578#[derive(Debug)]
3579pub struct ctr_drbg_state_st {
3580    _unused: [u8; 0],
3581}
3582pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3583#[repr(C)]
3584#[derive(Debug)]
3585pub struct dh_st {
3586    _unused: [u8; 0],
3587}
3588pub type DH = dh_st;
3589#[repr(C)]
3590#[derive(Debug)]
3591pub struct dsa_st {
3592    _unused: [u8; 0],
3593}
3594pub type DSA = dsa_st;
3595#[repr(C)]
3596#[derive(Debug)]
3597pub struct ec_group_st {
3598    _unused: [u8; 0],
3599}
3600pub type EC_GROUP = ec_group_st;
3601#[repr(C)]
3602#[derive(Debug)]
3603pub struct ec_key_st {
3604    _unused: [u8; 0],
3605}
3606pub type EC_KEY = ec_key_st;
3607#[repr(C)]
3608#[derive(Debug)]
3609pub struct ec_point_st {
3610    _unused: [u8; 0],
3611}
3612pub type EC_POINT = ec_point_st;
3613#[repr(C)]
3614#[derive(Debug)]
3615pub struct ec_key_method_st {
3616    _unused: [u8; 0],
3617}
3618pub type EC_KEY_METHOD = ec_key_method_st;
3619pub type ECDSA_SIG = ecdsa_sig_st;
3620#[repr(C)]
3621#[derive(Debug)]
3622pub struct engine_st {
3623    _unused: [u8; 0],
3624}
3625pub type ENGINE = engine_st;
3626pub type EVP_MD_CTX = env_md_ctx_st;
3627#[repr(C)]
3628#[derive(Debug)]
3629pub struct env_md_st {
3630    _unused: [u8; 0],
3631}
3632pub type EVP_MD = env_md_st;
3633#[repr(C)]
3634#[derive(Debug)]
3635pub struct evp_aead_st {
3636    _unused: [u8; 0],
3637}
3638pub type EVP_AEAD = evp_aead_st;
3639pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3640pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3641#[repr(C)]
3642#[derive(Debug)]
3643pub struct evp_cipher_st {
3644    _unused: [u8; 0],
3645}
3646pub type EVP_CIPHER = evp_cipher_st;
3647#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3648pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3649#[repr(C)]
3650#[derive(Debug)]
3651pub struct evp_hpke_aead_st {
3652    _unused: [u8; 0],
3653}
3654pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3655pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3656#[repr(C)]
3657#[derive(Debug)]
3658pub struct evp_hpke_kdf_st {
3659    _unused: [u8; 0],
3660}
3661pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3662#[repr(C)]
3663#[derive(Debug)]
3664pub struct evp_hpke_kem_st {
3665    _unused: [u8; 0],
3666}
3667pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3668pub type EVP_HPKE_KEY = evp_hpke_key_st;
3669#[repr(C)]
3670#[derive(Debug)]
3671pub struct evp_kem_st {
3672    _unused: [u8; 0],
3673}
3674pub type EVP_KEM = evp_kem_st;
3675#[repr(C)]
3676#[derive(Debug)]
3677pub struct kem_key_st {
3678    _unused: [u8; 0],
3679}
3680pub type KEM_KEY = kem_key_st;
3681#[repr(C)]
3682#[derive(Debug)]
3683pub struct evp_pkey_ctx_st {
3684    _unused: [u8; 0],
3685}
3686pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3687#[repr(C)]
3688#[derive(Debug)]
3689pub struct evp_pkey_asn1_method_st {
3690    _unused: [u8; 0],
3691}
3692pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3693#[repr(C)]
3694#[derive(Debug)]
3695pub struct evp_pkey_st {
3696    _unused: [u8; 0],
3697}
3698pub type EVP_PKEY = evp_pkey_st;
3699#[repr(C)]
3700#[derive(Debug)]
3701pub struct evp_pkey_ctx_signature_context_params_st {
3702    _unused: [u8; 0],
3703}
3704pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3705pub type HMAC_CTX = hmac_ctx_st;
3706pub type MD4_CTX = md4_state_st;
3707pub type MD5_CTX = md5_state_st;
3708#[repr(C)]
3709#[derive(Debug)]
3710pub struct pqdsa_key_st {
3711    _unused: [u8; 0],
3712}
3713pub type PQDSA_KEY = pqdsa_key_st;
3714#[repr(C)]
3715#[derive(Debug)]
3716pub struct ocsp_req_ctx_st {
3717    _unused: [u8; 0],
3718}
3719pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3720#[repr(C)]
3721#[derive(Debug)]
3722pub struct ossl_init_settings_st {
3723    _unused: [u8; 0],
3724}
3725pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3726#[repr(C)]
3727#[derive(Debug)]
3728pub struct pkcs7_digest_st {
3729    _unused: [u8; 0],
3730}
3731pub type PKCS7_DIGEST = pkcs7_digest_st;
3732#[repr(C)]
3733#[derive(Debug)]
3734pub struct pkcs7_enc_content_st {
3735    _unused: [u8; 0],
3736}
3737pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3738#[repr(C)]
3739#[derive(Debug)]
3740pub struct pkcs7_encrypt_st {
3741    _unused: [u8; 0],
3742}
3743pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3744pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3745pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3746pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3747pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3748pub type PKCS7_SIGNED = pkcs7_signed_st;
3749pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3750pub type PKCS7 = pkcs7_st;
3751#[repr(C)]
3752#[derive(Debug)]
3753pub struct pkcs12_st {
3754    _unused: [u8; 0],
3755}
3756pub type PKCS12 = pkcs12_st;
3757#[repr(C)]
3758#[derive(Debug)]
3759pub struct pkcs8_priv_key_info_st {
3760    _unused: [u8; 0],
3761}
3762pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3763pub type X509_PKEY = private_key_st;
3764pub type RAND_METHOD = rand_meth_st;
3765pub type RC4_KEY = rc4_key_st;
3766#[repr(C)]
3767#[derive(Debug)]
3768pub struct rsa_meth_st {
3769    _unused: [u8; 0],
3770}
3771pub type RSA_METHOD = rsa_meth_st;
3772#[repr(C)]
3773#[derive(Debug)]
3774pub struct rsassa_pss_params_st {
3775    _unused: [u8; 0],
3776}
3777pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3778pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3779#[repr(C)]
3780#[derive(Debug)]
3781pub struct rsa_st {
3782    _unused: [u8; 0],
3783}
3784pub type RSA = rsa_st;
3785pub type SHA256_CTX = sha256_state_st;
3786pub type SHA512_CTX = sha512_state_st;
3787pub type SHA_CTX = sha_state_st;
3788#[repr(C)]
3789#[derive(Debug)]
3790pub struct spake2_ctx_st {
3791    _unused: [u8; 0],
3792}
3793pub type SPAKE2_CTX = spake2_ctx_st;
3794#[repr(C)]
3795#[derive(Debug)]
3796pub struct srtp_protection_profile_st {
3797    _unused: [u8; 0],
3798}
3799pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3800#[repr(C)]
3801#[derive(Debug)]
3802pub struct ssl_cipher_st {
3803    _unused: [u8; 0],
3804}
3805pub type SSL_CIPHER = ssl_cipher_st;
3806#[repr(C)]
3807#[derive(Debug)]
3808pub struct ssl_ctx_st {
3809    _unused: [u8; 0],
3810}
3811pub type SSL_CTX = ssl_ctx_st;
3812#[repr(C)]
3813#[derive(Debug)]
3814pub struct ssl_early_callback_ctx {
3815    _unused: [u8; 0],
3816}
3817pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3818#[repr(C)]
3819#[derive(Debug)]
3820pub struct ssl_ech_keys_st {
3821    _unused: [u8; 0],
3822}
3823pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3824#[repr(C)]
3825#[derive(Debug)]
3826pub struct ssl_method_st {
3827    _unused: [u8; 0],
3828}
3829pub type SSL_METHOD = ssl_method_st;
3830#[repr(C)]
3831#[derive(Debug)]
3832pub struct ssl_private_key_method_st {
3833    _unused: [u8; 0],
3834}
3835pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3836#[repr(C)]
3837#[derive(Debug)]
3838pub struct ssl_quic_method_st {
3839    _unused: [u8; 0],
3840}
3841pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3842#[repr(C)]
3843#[derive(Debug)]
3844pub struct ssl_session_st {
3845    _unused: [u8; 0],
3846}
3847pub type SSL_SESSION = ssl_session_st;
3848#[repr(C)]
3849#[derive(Debug)]
3850pub struct ssl_st {
3851    _unused: [u8; 0],
3852}
3853pub type SSL = ssl_st;
3854#[repr(C)]
3855#[derive(Debug)]
3856pub struct ssl_ticket_aead_method_st {
3857    _unused: [u8; 0],
3858}
3859pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3860#[repr(C)]
3861#[derive(Debug)]
3862pub struct st_ERR_FNS {
3863    _unused: [u8; 0],
3864}
3865pub type ERR_FNS = st_ERR_FNS;
3866pub type TRUST_TOKEN = trust_token_st;
3867#[repr(C)]
3868#[derive(Debug)]
3869pub struct trust_token_client_st {
3870    _unused: [u8; 0],
3871}
3872pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3873#[repr(C)]
3874#[derive(Debug)]
3875pub struct trust_token_issuer_st {
3876    _unused: [u8; 0],
3877}
3878pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3879#[repr(C)]
3880#[derive(Debug)]
3881pub struct trust_token_method_st {
3882    _unused: [u8; 0],
3883}
3884pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3885pub type X509V3_CTX = v3_ext_ctx;
3886pub type X509V3_EXT_METHOD = v3_ext_method;
3887#[repr(C)]
3888#[derive(Debug)]
3889pub struct x509_attributes_st {
3890    _unused: [u8; 0],
3891}
3892pub type X509_ATTRIBUTE = x509_attributes_st;
3893#[repr(C)]
3894#[derive(Debug)]
3895pub struct x509_lookup_st {
3896    _unused: [u8; 0],
3897}
3898pub type X509_LOOKUP = x509_lookup_st;
3899#[repr(C)]
3900#[derive(Debug)]
3901pub struct x509_lookup_method_st {
3902    _unused: [u8; 0],
3903}
3904pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3905#[repr(C)]
3906#[derive(Debug)]
3907pub struct x509_object_st {
3908    _unused: [u8; 0],
3909}
3910pub type X509_OBJECT = x509_object_st;
3911#[repr(C)]
3912#[derive(Debug)]
3913pub struct x509_revoked_st {
3914    _unused: [u8; 0],
3915}
3916pub type X509_REVOKED = x509_revoked_st;
3917#[repr(C)]
3918#[derive(Debug)]
3919pub struct x509_st {
3920    _unused: [u8; 0],
3921}
3922pub type X509 = x509_st;
3923#[repr(C)]
3924#[derive(Debug)]
3925pub struct x509_store_ctx_st {
3926    _unused: [u8; 0],
3927}
3928pub type X509_STORE_CTX = x509_store_ctx_st;
3929#[repr(C)]
3930#[derive(Debug)]
3931pub struct x509_store_st {
3932    _unused: [u8; 0],
3933}
3934pub type X509_STORE = x509_store_st;
3935pub type X509_TRUST = x509_trust_st;
3936pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3937#[repr(C)]
3938#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3939pub struct aes_key_st {
3940    pub rd_key: [u32; 60usize],
3941    pub rounds: ::std::os::raw::c_uint,
3942}
3943#[test]
3944fn bindgen_test_layout_aes_key_st() {
3945    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3946    let ptr = UNINIT.as_ptr();
3947    assert_eq!(
3948        ::std::mem::size_of::<aes_key_st>(),
3949        244usize,
3950        "Size of aes_key_st"
3951    );
3952    assert_eq!(
3953        ::std::mem::align_of::<aes_key_st>(),
3954        4usize,
3955        "Alignment of aes_key_st"
3956    );
3957    assert_eq!(
3958        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3959        0usize,
3960        "Offset of field: aes_key_st::rd_key"
3961    );
3962    assert_eq!(
3963        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3964        240usize,
3965        "Offset of field: aes_key_st::rounds"
3966    );
3967}
3968impl Default for aes_key_st {
3969    fn default() -> Self {
3970        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3971        unsafe {
3972            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3973            s.assume_init()
3974        }
3975    }
3976}
3977pub type AES_KEY = aes_key_st;
3978extern "C" {
3979    #[link_name = "aws_lc_0_46_0_AES_set_encrypt_key"]
3980    pub fn AES_set_encrypt_key(
3981        key: *const u8,
3982        bits: ::std::os::raw::c_uint,
3983        aeskey: *mut AES_KEY,
3984    ) -> ::std::os::raw::c_int;
3985}
3986extern "C" {
3987    #[link_name = "aws_lc_0_46_0_AES_set_decrypt_key"]
3988    pub fn AES_set_decrypt_key(
3989        key: *const u8,
3990        bits: ::std::os::raw::c_uint,
3991        aeskey: *mut AES_KEY,
3992    ) -> ::std::os::raw::c_int;
3993}
3994extern "C" {
3995    #[link_name = "aws_lc_0_46_0_AES_encrypt"]
3996    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3997}
3998extern "C" {
3999    #[link_name = "aws_lc_0_46_0_AES_decrypt"]
4000    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4001}
4002extern "C" {
4003    #[link_name = "aws_lc_0_46_0_AES_ctr128_encrypt"]
4004    pub fn AES_ctr128_encrypt(
4005        in_: *const u8,
4006        out: *mut u8,
4007        len: usize,
4008        key: *const AES_KEY,
4009        ivec: *mut u8,
4010        ecount_buf: *mut u8,
4011        num: *mut ::std::os::raw::c_uint,
4012    );
4013}
4014extern "C" {
4015    #[link_name = "aws_lc_0_46_0_AES_ecb_encrypt"]
4016    pub fn AES_ecb_encrypt(
4017        in_: *const u8,
4018        out: *mut u8,
4019        key: *const AES_KEY,
4020        enc: ::std::os::raw::c_int,
4021    );
4022}
4023extern "C" {
4024    #[link_name = "aws_lc_0_46_0_AES_cbc_encrypt"]
4025    pub fn AES_cbc_encrypt(
4026        in_: *const u8,
4027        out: *mut u8,
4028        len: usize,
4029        key: *const AES_KEY,
4030        ivec: *mut u8,
4031        enc: ::std::os::raw::c_int,
4032    );
4033}
4034extern "C" {
4035    #[link_name = "aws_lc_0_46_0_AES_ofb128_encrypt"]
4036    pub fn AES_ofb128_encrypt(
4037        in_: *const u8,
4038        out: *mut u8,
4039        len: usize,
4040        key: *const AES_KEY,
4041        ivec: *mut u8,
4042        num: *mut ::std::os::raw::c_int,
4043    );
4044}
4045extern "C" {
4046    #[link_name = "aws_lc_0_46_0_AES_cfb1_encrypt"]
4047    pub fn AES_cfb1_encrypt(
4048        in_: *const u8,
4049        out: *mut u8,
4050        bits: usize,
4051        key: *const AES_KEY,
4052        ivec: *mut u8,
4053        num: *mut ::std::os::raw::c_int,
4054        enc: ::std::os::raw::c_int,
4055    );
4056}
4057extern "C" {
4058    #[link_name = "aws_lc_0_46_0_AES_cfb8_encrypt"]
4059    pub fn AES_cfb8_encrypt(
4060        in_: *const u8,
4061        out: *mut u8,
4062        len: usize,
4063        key: *const AES_KEY,
4064        ivec: *mut u8,
4065        num: *mut ::std::os::raw::c_int,
4066        enc: ::std::os::raw::c_int,
4067    );
4068}
4069extern "C" {
4070    #[link_name = "aws_lc_0_46_0_AES_cfb128_encrypt"]
4071    pub fn AES_cfb128_encrypt(
4072        in_: *const u8,
4073        out: *mut u8,
4074        len: usize,
4075        key: *const AES_KEY,
4076        ivec: *mut u8,
4077        num: *mut ::std::os::raw::c_int,
4078        enc: ::std::os::raw::c_int,
4079    );
4080}
4081extern "C" {
4082    #[link_name = "aws_lc_0_46_0_AES_wrap_key"]
4083    pub fn AES_wrap_key(
4084        key: *const AES_KEY,
4085        iv: *const u8,
4086        out: *mut u8,
4087        in_: *const u8,
4088        in_len: usize,
4089    ) -> ::std::os::raw::c_int;
4090}
4091extern "C" {
4092    #[link_name = "aws_lc_0_46_0_AES_unwrap_key"]
4093    pub fn AES_unwrap_key(
4094        key: *const AES_KEY,
4095        iv: *const u8,
4096        out: *mut u8,
4097        in_: *const u8,
4098        in_len: usize,
4099    ) -> ::std::os::raw::c_int;
4100}
4101extern "C" {
4102    #[link_name = "aws_lc_0_46_0_AES_wrap_key_padded"]
4103    pub fn AES_wrap_key_padded(
4104        key: *const AES_KEY,
4105        out: *mut u8,
4106        out_len: *mut usize,
4107        max_out: usize,
4108        in_: *const u8,
4109        in_len: usize,
4110    ) -> ::std::os::raw::c_int;
4111}
4112extern "C" {
4113    #[link_name = "aws_lc_0_46_0_AES_unwrap_key_padded"]
4114    pub fn AES_unwrap_key_padded(
4115        key: *const AES_KEY,
4116        out: *mut u8,
4117        out_len: *mut usize,
4118        max_out: usize,
4119        in_: *const u8,
4120        in_len: usize,
4121    ) -> ::std::os::raw::c_int;
4122}
4123#[repr(C)]
4124#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4125pub struct buf_mem_st {
4126    pub length: usize,
4127    pub data: *mut ::std::os::raw::c_char,
4128    pub max: usize,
4129}
4130#[test]
4131fn bindgen_test_layout_buf_mem_st() {
4132    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
4133    let ptr = UNINIT.as_ptr();
4134    assert_eq!(
4135        ::std::mem::size_of::<buf_mem_st>(),
4136        24usize,
4137        "Size of buf_mem_st"
4138    );
4139    assert_eq!(
4140        ::std::mem::align_of::<buf_mem_st>(),
4141        8usize,
4142        "Alignment of buf_mem_st"
4143    );
4144    assert_eq!(
4145        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4146        0usize,
4147        "Offset of field: buf_mem_st::length"
4148    );
4149    assert_eq!(
4150        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4151        8usize,
4152        "Offset of field: buf_mem_st::data"
4153    );
4154    assert_eq!(
4155        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4156        16usize,
4157        "Offset of field: buf_mem_st::max"
4158    );
4159}
4160impl Default for buf_mem_st {
4161    fn default() -> Self {
4162        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4163        unsafe {
4164            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4165            s.assume_init()
4166        }
4167    }
4168}
4169extern "C" {
4170    #[link_name = "aws_lc_0_46_0_SHA1_Init"]
4171    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4172}
4173extern "C" {
4174    #[link_name = "aws_lc_0_46_0_SHA1_Update"]
4175    pub fn SHA1_Update(
4176        sha: *mut SHA_CTX,
4177        data: *const ::std::os::raw::c_void,
4178        len: usize,
4179    ) -> ::std::os::raw::c_int;
4180}
4181extern "C" {
4182    #[link_name = "aws_lc_0_46_0_SHA1_Final"]
4183    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4184}
4185extern "C" {
4186    #[link_name = "aws_lc_0_46_0_SHA1"]
4187    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4188}
4189extern "C" {
4190    #[link_name = "aws_lc_0_46_0_SHA1_Transform"]
4191    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4192}
4193#[repr(C)]
4194#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4195pub struct sha_state_st {
4196    pub h: [u32; 5usize],
4197    pub Nl: u32,
4198    pub Nh: u32,
4199    pub data: [u8; 64usize],
4200    pub num: ::std::os::raw::c_uint,
4201}
4202#[test]
4203fn bindgen_test_layout_sha_state_st() {
4204    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4205    let ptr = UNINIT.as_ptr();
4206    assert_eq!(
4207        ::std::mem::size_of::<sha_state_st>(),
4208        96usize,
4209        "Size of sha_state_st"
4210    );
4211    assert_eq!(
4212        ::std::mem::align_of::<sha_state_st>(),
4213        4usize,
4214        "Alignment of sha_state_st"
4215    );
4216    assert_eq!(
4217        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4218        0usize,
4219        "Offset of field: sha_state_st::h"
4220    );
4221    assert_eq!(
4222        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4223        20usize,
4224        "Offset of field: sha_state_st::Nl"
4225    );
4226    assert_eq!(
4227        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4228        24usize,
4229        "Offset of field: sha_state_st::Nh"
4230    );
4231    assert_eq!(
4232        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4233        28usize,
4234        "Offset of field: sha_state_st::data"
4235    );
4236    assert_eq!(
4237        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4238        92usize,
4239        "Offset of field: sha_state_st::num"
4240    );
4241}
4242impl Default for sha_state_st {
4243    fn default() -> Self {
4244        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4245        unsafe {
4246            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4247            s.assume_init()
4248        }
4249    }
4250}
4251extern "C" {
4252    #[link_name = "aws_lc_0_46_0_SHA224_Init"]
4253    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4254}
4255extern "C" {
4256    #[link_name = "aws_lc_0_46_0_SHA224_Update"]
4257    pub fn SHA224_Update(
4258        sha: *mut SHA256_CTX,
4259        data: *const ::std::os::raw::c_void,
4260        len: usize,
4261    ) -> ::std::os::raw::c_int;
4262}
4263extern "C" {
4264    #[link_name = "aws_lc_0_46_0_SHA224_Final"]
4265    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4266}
4267extern "C" {
4268    #[link_name = "aws_lc_0_46_0_SHA224"]
4269    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4270}
4271extern "C" {
4272    #[link_name = "aws_lc_0_46_0_SHA256_Init"]
4273    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4274}
4275extern "C" {
4276    #[link_name = "aws_lc_0_46_0_SHA256_Update"]
4277    pub fn SHA256_Update(
4278        sha: *mut SHA256_CTX,
4279        data: *const ::std::os::raw::c_void,
4280        len: usize,
4281    ) -> ::std::os::raw::c_int;
4282}
4283extern "C" {
4284    #[link_name = "aws_lc_0_46_0_SHA256_Final"]
4285    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4286}
4287extern "C" {
4288    #[link_name = "aws_lc_0_46_0_SHA256"]
4289    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4290}
4291extern "C" {
4292    #[link_name = "aws_lc_0_46_0_SHA256_Transform"]
4293    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4294}
4295extern "C" {
4296    #[link_name = "aws_lc_0_46_0_SHA256_TransformBlocks"]
4297    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4298}
4299#[repr(C)]
4300#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4301pub struct sha256_state_st {
4302    pub h: [u32; 8usize],
4303    pub Nl: u32,
4304    pub Nh: u32,
4305    pub data: [u8; 64usize],
4306    pub num: ::std::os::raw::c_uint,
4307    pub md_len: ::std::os::raw::c_uint,
4308}
4309#[test]
4310fn bindgen_test_layout_sha256_state_st() {
4311    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4312    let ptr = UNINIT.as_ptr();
4313    assert_eq!(
4314        ::std::mem::size_of::<sha256_state_st>(),
4315        112usize,
4316        "Size of sha256_state_st"
4317    );
4318    assert_eq!(
4319        ::std::mem::align_of::<sha256_state_st>(),
4320        4usize,
4321        "Alignment of sha256_state_st"
4322    );
4323    assert_eq!(
4324        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4325        0usize,
4326        "Offset of field: sha256_state_st::h"
4327    );
4328    assert_eq!(
4329        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4330        32usize,
4331        "Offset of field: sha256_state_st::Nl"
4332    );
4333    assert_eq!(
4334        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4335        36usize,
4336        "Offset of field: sha256_state_st::Nh"
4337    );
4338    assert_eq!(
4339        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4340        40usize,
4341        "Offset of field: sha256_state_st::data"
4342    );
4343    assert_eq!(
4344        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4345        104usize,
4346        "Offset of field: sha256_state_st::num"
4347    );
4348    assert_eq!(
4349        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4350        108usize,
4351        "Offset of field: sha256_state_st::md_len"
4352    );
4353}
4354impl Default for sha256_state_st {
4355    fn default() -> Self {
4356        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4357        unsafe {
4358            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4359            s.assume_init()
4360        }
4361    }
4362}
4363extern "C" {
4364    #[link_name = "aws_lc_0_46_0_SHA384_Init"]
4365    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4366}
4367extern "C" {
4368    #[link_name = "aws_lc_0_46_0_SHA384_Update"]
4369    pub fn SHA384_Update(
4370        sha: *mut SHA512_CTX,
4371        data: *const ::std::os::raw::c_void,
4372        len: usize,
4373    ) -> ::std::os::raw::c_int;
4374}
4375extern "C" {
4376    #[link_name = "aws_lc_0_46_0_SHA384_Final"]
4377    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4378}
4379extern "C" {
4380    #[link_name = "aws_lc_0_46_0_SHA384"]
4381    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4382}
4383extern "C" {
4384    #[link_name = "aws_lc_0_46_0_SHA512_Init"]
4385    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4386}
4387extern "C" {
4388    #[link_name = "aws_lc_0_46_0_SHA512_Update"]
4389    pub fn SHA512_Update(
4390        sha: *mut SHA512_CTX,
4391        data: *const ::std::os::raw::c_void,
4392        len: usize,
4393    ) -> ::std::os::raw::c_int;
4394}
4395extern "C" {
4396    #[link_name = "aws_lc_0_46_0_SHA512_Final"]
4397    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4398}
4399extern "C" {
4400    #[link_name = "aws_lc_0_46_0_SHA512"]
4401    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4402}
4403extern "C" {
4404    #[link_name = "aws_lc_0_46_0_SHA512_Transform"]
4405    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4406}
4407#[repr(C)]
4408#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4409pub struct sha512_state_st {
4410    pub h: [u64; 8usize],
4411    pub Nl: u64,
4412    pub Nh: u64,
4413    pub p: [u8; 128usize],
4414    pub num: ::std::os::raw::c_uint,
4415    pub md_len: ::std::os::raw::c_uint,
4416}
4417#[test]
4418fn bindgen_test_layout_sha512_state_st() {
4419    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4420    let ptr = UNINIT.as_ptr();
4421    assert_eq!(
4422        ::std::mem::size_of::<sha512_state_st>(),
4423        216usize,
4424        "Size of sha512_state_st"
4425    );
4426    assert_eq!(
4427        ::std::mem::align_of::<sha512_state_st>(),
4428        8usize,
4429        "Alignment of sha512_state_st"
4430    );
4431    assert_eq!(
4432        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4433        0usize,
4434        "Offset of field: sha512_state_st::h"
4435    );
4436    assert_eq!(
4437        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4438        64usize,
4439        "Offset of field: sha512_state_st::Nl"
4440    );
4441    assert_eq!(
4442        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4443        72usize,
4444        "Offset of field: sha512_state_st::Nh"
4445    );
4446    assert_eq!(
4447        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4448        80usize,
4449        "Offset of field: sha512_state_st::p"
4450    );
4451    assert_eq!(
4452        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4453        208usize,
4454        "Offset of field: sha512_state_st::num"
4455    );
4456    assert_eq!(
4457        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4458        212usize,
4459        "Offset of field: sha512_state_st::md_len"
4460    );
4461}
4462impl Default for sha512_state_st {
4463    fn default() -> Self {
4464        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4465        unsafe {
4466            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4467            s.assume_init()
4468        }
4469    }
4470}
4471extern "C" {
4472    #[link_name = "aws_lc_0_46_0_SHA512_224_Init"]
4473    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4474}
4475extern "C" {
4476    #[link_name = "aws_lc_0_46_0_SHA512_224_Update"]
4477    pub fn SHA512_224_Update(
4478        sha: *mut SHA512_CTX,
4479        data: *const ::std::os::raw::c_void,
4480        len: usize,
4481    ) -> ::std::os::raw::c_int;
4482}
4483extern "C" {
4484    #[link_name = "aws_lc_0_46_0_SHA512_224_Final"]
4485    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4486}
4487extern "C" {
4488    #[link_name = "aws_lc_0_46_0_SHA512_224"]
4489    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4490}
4491extern "C" {
4492    #[link_name = "aws_lc_0_46_0_SHA512_256_Init"]
4493    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4494}
4495extern "C" {
4496    #[link_name = "aws_lc_0_46_0_SHA512_256_Update"]
4497    pub fn SHA512_256_Update(
4498        sha: *mut SHA512_CTX,
4499        data: *const ::std::os::raw::c_void,
4500        len: usize,
4501    ) -> ::std::os::raw::c_int;
4502}
4503extern "C" {
4504    #[link_name = "aws_lc_0_46_0_SHA512_256_Final"]
4505    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4506}
4507extern "C" {
4508    #[link_name = "aws_lc_0_46_0_SHA512_256"]
4509    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4510}
4511extern "C" {
4512    #[link_name = "aws_lc_0_46_0_OPENSSL_malloc"]
4513    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4514}
4515extern "C" {
4516    #[link_name = "aws_lc_0_46_0_OPENSSL_zalloc"]
4517    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4518}
4519extern "C" {
4520    #[link_name = "aws_lc_0_46_0_OPENSSL_calloc"]
4521    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4522}
4523extern "C" {
4524    #[link_name = "aws_lc_0_46_0_OPENSSL_realloc"]
4525    pub fn OPENSSL_realloc(
4526        ptr: *mut ::std::os::raw::c_void,
4527        new_size: usize,
4528    ) -> *mut ::std::os::raw::c_void;
4529}
4530extern "C" {
4531    #[link_name = "aws_lc_0_46_0_OPENSSL_free"]
4532    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4533}
4534extern "C" {
4535    #[link_name = "aws_lc_0_46_0_OPENSSL_cleanse"]
4536    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4537}
4538extern "C" {
4539    #[link_name = "aws_lc_0_46_0_CRYPTO_memcmp"]
4540    pub fn CRYPTO_memcmp(
4541        a: *const ::std::os::raw::c_void,
4542        b: *const ::std::os::raw::c_void,
4543        len: usize,
4544    ) -> ::std::os::raw::c_int;
4545}
4546extern "C" {
4547    #[link_name = "aws_lc_0_46_0_OPENSSL_hash32"]
4548    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4549}
4550extern "C" {
4551    #[link_name = "aws_lc_0_46_0_OPENSSL_strhash"]
4552    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4553}
4554extern "C" {
4555    #[link_name = "aws_lc_0_46_0_OPENSSL_strdup"]
4556    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4557}
4558extern "C" {
4559    #[link_name = "aws_lc_0_46_0_OPENSSL_strnlen"]
4560    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4561}
4562extern "C" {
4563    #[link_name = "aws_lc_0_46_0_OPENSSL_isalpha"]
4564    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4565}
4566extern "C" {
4567    #[link_name = "aws_lc_0_46_0_OPENSSL_isdigit"]
4568    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4569}
4570extern "C" {
4571    #[link_name = "aws_lc_0_46_0_OPENSSL_isxdigit"]
4572    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4573}
4574extern "C" {
4575    #[link_name = "aws_lc_0_46_0_OPENSSL_fromxdigit"]
4576    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4577}
4578extern "C" {
4579    #[link_name = "aws_lc_0_46_0_OPENSSL_hexstr2buf"]
4580    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4581}
4582extern "C" {
4583    #[link_name = "aws_lc_0_46_0_OPENSSL_isalnum"]
4584    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4585}
4586extern "C" {
4587    #[link_name = "aws_lc_0_46_0_OPENSSL_tolower"]
4588    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4589}
4590extern "C" {
4591    #[link_name = "aws_lc_0_46_0_OPENSSL_isspace"]
4592    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4593}
4594extern "C" {
4595    #[link_name = "aws_lc_0_46_0_OPENSSL_strcasecmp"]
4596    pub fn OPENSSL_strcasecmp(
4597        a: *const ::std::os::raw::c_char,
4598        b: *const ::std::os::raw::c_char,
4599    ) -> ::std::os::raw::c_int;
4600}
4601extern "C" {
4602    #[link_name = "aws_lc_0_46_0_OPENSSL_strncasecmp"]
4603    pub fn OPENSSL_strncasecmp(
4604        a: *const ::std::os::raw::c_char,
4605        b: *const ::std::os::raw::c_char,
4606        n: usize,
4607    ) -> ::std::os::raw::c_int;
4608}
4609extern "C" {
4610    #[link_name = "aws_lc_0_46_0_BIO_snprintf"]
4611    pub fn BIO_snprintf(
4612        buf: *mut ::std::os::raw::c_char,
4613        n: usize,
4614        format: *const ::std::os::raw::c_char,
4615        ...
4616    ) -> ::std::os::raw::c_int;
4617}
4618extern "C" {
4619    #[link_name = "aws_lc_0_46_0_OPENSSL_asprintf"]
4620    pub fn OPENSSL_asprintf(
4621        str_: *mut *mut ::std::os::raw::c_char,
4622        format: *const ::std::os::raw::c_char,
4623        ...
4624    ) -> ::std::os::raw::c_int;
4625}
4626extern "C" {
4627    #[link_name = "aws_lc_0_46_0_OPENSSL_strndup"]
4628    pub fn OPENSSL_strndup(
4629        str_: *const ::std::os::raw::c_char,
4630        size: usize,
4631    ) -> *mut ::std::os::raw::c_char;
4632}
4633extern "C" {
4634    #[link_name = "aws_lc_0_46_0_OPENSSL_memdup"]
4635    pub fn OPENSSL_memdup(
4636        data: *const ::std::os::raw::c_void,
4637        size: usize,
4638    ) -> *mut ::std::os::raw::c_void;
4639}
4640extern "C" {
4641    #[link_name = "aws_lc_0_46_0_OPENSSL_strlcpy"]
4642    pub fn OPENSSL_strlcpy(
4643        dst: *mut ::std::os::raw::c_char,
4644        src: *const ::std::os::raw::c_char,
4645        dst_size: usize,
4646    ) -> usize;
4647}
4648extern "C" {
4649    #[link_name = "aws_lc_0_46_0_OPENSSL_strlcat"]
4650    pub fn OPENSSL_strlcat(
4651        dst: *mut ::std::os::raw::c_char,
4652        src: *const ::std::os::raw::c_char,
4653        dst_size: usize,
4654    ) -> usize;
4655}
4656extern "C" {
4657    #[link_name = "aws_lc_0_46_0_CRYPTO_malloc"]
4658    pub fn CRYPTO_malloc(
4659        size: usize,
4660        file: *const ::std::os::raw::c_char,
4661        line: ::std::os::raw::c_int,
4662    ) -> *mut ::std::os::raw::c_void;
4663}
4664extern "C" {
4665    #[link_name = "aws_lc_0_46_0_CRYPTO_realloc"]
4666    pub fn CRYPTO_realloc(
4667        ptr: *mut ::std::os::raw::c_void,
4668        new_size: usize,
4669        file: *const ::std::os::raw::c_char,
4670        line: ::std::os::raw::c_int,
4671    ) -> *mut ::std::os::raw::c_void;
4672}
4673extern "C" {
4674    #[link_name = "aws_lc_0_46_0_CRYPTO_free"]
4675    pub fn CRYPTO_free(
4676        ptr: *mut ::std::os::raw::c_void,
4677        file: *const ::std::os::raw::c_char,
4678        line: ::std::os::raw::c_int,
4679    );
4680}
4681extern "C" {
4682    #[link_name = "aws_lc_0_46_0_OPENSSL_clear_free"]
4683    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4684}
4685extern "C" {
4686    #[link_name = "aws_lc_0_46_0_CRYPTO_set_mem_functions"]
4687    pub fn CRYPTO_set_mem_functions(
4688        m: ::std::option::Option<
4689            unsafe extern "C" fn(
4690                arg1: usize,
4691                arg2: *const ::std::os::raw::c_char,
4692                arg3: ::std::os::raw::c_int,
4693            ) -> *mut ::std::os::raw::c_void,
4694        >,
4695        r: ::std::option::Option<
4696            unsafe extern "C" fn(
4697                arg1: *mut ::std::os::raw::c_void,
4698                arg2: usize,
4699                arg3: *const ::std::os::raw::c_char,
4700                arg4: ::std::os::raw::c_int,
4701            ) -> *mut ::std::os::raw::c_void,
4702        >,
4703        f: ::std::option::Option<
4704            unsafe extern "C" fn(
4705                arg1: *mut ::std::os::raw::c_void,
4706                arg2: *const ::std::os::raw::c_char,
4707                arg3: ::std::os::raw::c_int,
4708            ),
4709        >,
4710    ) -> ::std::os::raw::c_int;
4711}
4712extern "C" {
4713    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_malloc_init"]
4714    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4715}
4716extern "C" {
4717    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_malloc_initialized"]
4718    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4719}
4720extern "C" {
4721    #[link_name = "aws_lc_0_46_0_CRYPTO_secure_used"]
4722    pub fn CRYPTO_secure_used() -> usize;
4723}
4724extern "C" {
4725    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_malloc"]
4726    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4727}
4728extern "C" {
4729    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_zalloc"]
4730    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4731}
4732extern "C" {
4733    #[link_name = "aws_lc_0_46_0_OPENSSL_secure_clear_free"]
4734    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4735}
4736pub type CRYPTO_refcount_t = u32;
4737extern "C" {
4738    #[link_name = "aws_lc_0_46_0_CRYPTO_library_init"]
4739    pub fn CRYPTO_library_init();
4740}
4741extern "C" {
4742    #[link_name = "aws_lc_0_46_0_CRYPTO_is_confidential_build"]
4743    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4744}
4745extern "C" {
4746    #[link_name = "aws_lc_0_46_0_CRYPTO_has_asm"]
4747    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4748}
4749extern "C" {
4750    #[link_name = "aws_lc_0_46_0_BORINGSSL_self_test"]
4751    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4752}
4753extern "C" {
4754    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4755}
4756extern "C" {
4757    #[link_name = "aws_lc_0_46_0_CRYPTO_pre_sandbox_init"]
4758    pub fn CRYPTO_pre_sandbox_init();
4759}
4760extern "C" {
4761    #[link_name = "aws_lc_0_46_0_FIPS_mode"]
4762    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4763}
4764extern "C" {
4765    #[link_name = "aws_lc_0_46_0_FIPS_is_entropy_cpu_jitter"]
4766    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4767}
4768extern "C" {
4769    #[link_name = "aws_lc_0_46_0_FIPS_version"]
4770    pub fn FIPS_version() -> u32;
4771}
4772extern "C" {
4773    #[link_name = "aws_lc_0_46_0_FIPS_module_name"]
4774    pub fn FIPS_module_name() -> *const ::std::os::raw::c_char;
4775}
4776extern "C" {
4777    #[link_name = "aws_lc_0_46_0_OpenSSL_version"]
4778    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4779}
4780extern "C" {
4781    #[link_name = "aws_lc_0_46_0_SSLeay_version"]
4782    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4783}
4784extern "C" {
4785    #[link_name = "aws_lc_0_46_0_SSLeay"]
4786    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4787}
4788extern "C" {
4789    #[link_name = "aws_lc_0_46_0_OpenSSL_version_num"]
4790    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4791}
4792extern "C" {
4793    #[link_name = "aws_lc_0_46_0_awslc_api_version_num"]
4794    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4795}
4796extern "C" {
4797    #[link_name = "aws_lc_0_46_0_CRYPTO_malloc_init"]
4798    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4799}
4800extern "C" {
4801    #[link_name = "aws_lc_0_46_0_OPENSSL_malloc_init"]
4802    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4803}
4804extern "C" {
4805    #[link_name = "aws_lc_0_46_0_ENGINE_load_builtin_engines"]
4806    pub fn ENGINE_load_builtin_engines();
4807}
4808extern "C" {
4809    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_ciphers"]
4810    pub fn ENGINE_register_all_ciphers();
4811}
4812extern "C" {
4813    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_digests"]
4814    pub fn ENGINE_register_all_digests();
4815}
4816extern "C" {
4817    #[link_name = "aws_lc_0_46_0_ENGINE_register_all_complete"]
4818    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4819}
4820extern "C" {
4821    #[link_name = "aws_lc_0_46_0_OPENSSL_load_builtin_modules"]
4822    pub fn OPENSSL_load_builtin_modules();
4823}
4824extern "C" {
4825    #[link_name = "aws_lc_0_46_0_OPENSSL_init_crypto"]
4826    pub fn OPENSSL_init_crypto(
4827        opts: u64,
4828        settings: *const OPENSSL_INIT_SETTINGS,
4829    ) -> ::std::os::raw::c_int;
4830}
4831extern "C" {
4832    #[link_name = "aws_lc_0_46_0_OPENSSL_init"]
4833    pub fn OPENSSL_init();
4834}
4835extern "C" {
4836    #[link_name = "aws_lc_0_46_0_OPENSSL_cleanup"]
4837    pub fn OPENSSL_cleanup();
4838}
4839extern "C" {
4840    #[link_name = "aws_lc_0_46_0_FIPS_mode_set"]
4841    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4842}
4843extern "C" {
4844    #[link_name = "aws_lc_0_46_0_CRYPTO_mem_ctrl"]
4845    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4846}
4847extern "C" {
4848    #[link_name = "aws_lc_0_46_0_ERR_load_BIO_strings"]
4849    pub fn ERR_load_BIO_strings();
4850}
4851extern "C" {
4852    #[link_name = "aws_lc_0_46_0_ERR_load_ERR_strings"]
4853    pub fn ERR_load_ERR_strings();
4854}
4855extern "C" {
4856    #[link_name = "aws_lc_0_46_0_ERR_load_CRYPTO_strings"]
4857    pub fn ERR_load_CRYPTO_strings();
4858}
4859extern "C" {
4860    #[link_name = "aws_lc_0_46_0_ERR_load_crypto_strings"]
4861    pub fn ERR_load_crypto_strings();
4862}
4863extern "C" {
4864    #[link_name = "aws_lc_0_46_0_ERR_load_RAND_strings"]
4865    pub fn ERR_load_RAND_strings();
4866}
4867extern "C" {
4868    #[link_name = "aws_lc_0_46_0_ERR_free_strings"]
4869    pub fn ERR_free_strings();
4870}
4871extern "C" {
4872    #[link_name = "aws_lc_0_46_0_ERR_get_error"]
4873    pub fn ERR_get_error() -> u32;
4874}
4875extern "C" {
4876    #[link_name = "aws_lc_0_46_0_ERR_get_error_line"]
4877    pub fn ERR_get_error_line(
4878        file: *mut *const ::std::os::raw::c_char,
4879        line: *mut ::std::os::raw::c_int,
4880    ) -> u32;
4881}
4882extern "C" {
4883    #[link_name = "aws_lc_0_46_0_ERR_get_error_line_data"]
4884    pub fn ERR_get_error_line_data(
4885        file: *mut *const ::std::os::raw::c_char,
4886        line: *mut ::std::os::raw::c_int,
4887        data: *mut *const ::std::os::raw::c_char,
4888        flags: *mut ::std::os::raw::c_int,
4889    ) -> u32;
4890}
4891extern "C" {
4892    #[link_name = "aws_lc_0_46_0_ERR_peek_error"]
4893    pub fn ERR_peek_error() -> u32;
4894}
4895extern "C" {
4896    #[link_name = "aws_lc_0_46_0_ERR_peek_error_line"]
4897    pub fn ERR_peek_error_line(
4898        file: *mut *const ::std::os::raw::c_char,
4899        line: *mut ::std::os::raw::c_int,
4900    ) -> u32;
4901}
4902extern "C" {
4903    #[link_name = "aws_lc_0_46_0_ERR_peek_error_line_data"]
4904    pub fn ERR_peek_error_line_data(
4905        file: *mut *const ::std::os::raw::c_char,
4906        line: *mut ::std::os::raw::c_int,
4907        data: *mut *const ::std::os::raw::c_char,
4908        flags: *mut ::std::os::raw::c_int,
4909    ) -> u32;
4910}
4911extern "C" {
4912    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error"]
4913    pub fn ERR_peek_last_error() -> u32;
4914}
4915extern "C" {
4916    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error_line"]
4917    pub fn ERR_peek_last_error_line(
4918        file: *mut *const ::std::os::raw::c_char,
4919        line: *mut ::std::os::raw::c_int,
4920    ) -> u32;
4921}
4922extern "C" {
4923    #[link_name = "aws_lc_0_46_0_ERR_peek_last_error_line_data"]
4924    pub fn ERR_peek_last_error_line_data(
4925        file: *mut *const ::std::os::raw::c_char,
4926        line: *mut ::std::os::raw::c_int,
4927        data: *mut *const ::std::os::raw::c_char,
4928        flags: *mut ::std::os::raw::c_int,
4929    ) -> u32;
4930}
4931extern "C" {
4932    #[link_name = "aws_lc_0_46_0_ERR_error_string_n"]
4933    pub fn ERR_error_string_n(
4934        packed_error: u32,
4935        buf: *mut ::std::os::raw::c_char,
4936        len: usize,
4937    ) -> *mut ::std::os::raw::c_char;
4938}
4939extern "C" {
4940    #[link_name = "aws_lc_0_46_0_ERR_lib_error_string"]
4941    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4942}
4943extern "C" {
4944    #[link_name = "aws_lc_0_46_0_ERR_reason_error_string"]
4945    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4946}
4947pub type ERR_print_errors_callback_t = ::std::option::Option<
4948    unsafe extern "C" fn(
4949        str_: *const ::std::os::raw::c_char,
4950        len: usize,
4951        ctx: *mut ::std::os::raw::c_void,
4952    ) -> ::std::os::raw::c_int,
4953>;
4954extern "C" {
4955    #[link_name = "aws_lc_0_46_0_ERR_print_errors_cb"]
4956    pub fn ERR_print_errors_cb(
4957        callback: ERR_print_errors_callback_t,
4958        ctx: *mut ::std::os::raw::c_void,
4959    );
4960}
4961extern "C" {
4962    #[link_name = "aws_lc_0_46_0_ERR_clear_error"]
4963    pub fn ERR_clear_error();
4964}
4965extern "C" {
4966    #[link_name = "aws_lc_0_46_0_ERR_set_mark"]
4967    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4968}
4969extern "C" {
4970    #[link_name = "aws_lc_0_46_0_ERR_pop_to_mark"]
4971    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4972}
4973extern "C" {
4974    #[link_name = "aws_lc_0_46_0_ERR_get_next_error_library"]
4975    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4976}
4977extern "C" {
4978    #[link_name = "aws_lc_0_46_0_ERR_remove_state"]
4979    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4980}
4981extern "C" {
4982    #[link_name = "aws_lc_0_46_0_ERR_remove_thread_state"]
4983    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4984}
4985extern "C" {
4986    #[link_name = "aws_lc_0_46_0_ERR_func_error_string"]
4987    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4988}
4989extern "C" {
4990    #[link_name = "aws_lc_0_46_0_ERR_error_string"]
4991    pub fn ERR_error_string(
4992        packed_error: u32,
4993        buf: *mut ::std::os::raw::c_char,
4994    ) -> *mut ::std::os::raw::c_char;
4995}
4996extern "C" {
4997    #[link_name = "aws_lc_0_46_0_ERR_clear_system_error"]
4998    pub fn ERR_clear_system_error();
4999}
5000extern "C" {
5001    #[link_name = "aws_lc_0_46_0_ERR_put_error"]
5002    pub fn ERR_put_error(
5003        library: ::std::os::raw::c_int,
5004        unused: ::std::os::raw::c_int,
5005        reason: ::std::os::raw::c_int,
5006        file: *const ::std::os::raw::c_char,
5007        line: ::std::os::raw::c_uint,
5008    );
5009}
5010extern "C" {
5011    #[link_name = "aws_lc_0_46_0_ERR_add_error_data"]
5012    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
5013}
5014extern "C" {
5015    #[link_name = "aws_lc_0_46_0_ERR_add_error_dataf"]
5016    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
5017}
5018extern "C" {
5019    #[link_name = "aws_lc_0_46_0_ERR_set_error_data"]
5020    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
5021}
5022#[repr(C)]
5023#[derive(Debug)]
5024pub struct stack_st_void {
5025    _unused: [u8; 0],
5026}
5027pub type CRYPTO_EX_DATA = crypto_ex_data_st;
5028pub type CRYPTO_EX_free = ::std::option::Option<
5029    unsafe extern "C" fn(
5030        parent: *mut ::std::os::raw::c_void,
5031        ptr: *mut ::std::os::raw::c_void,
5032        ad: *mut CRYPTO_EX_DATA,
5033        index: ::std::os::raw::c_int,
5034        argl: ::std::os::raw::c_long,
5035        argp: *mut ::std::os::raw::c_void,
5036    ),
5037>;
5038pub type CRYPTO_EX_dup = ::std::option::Option<
5039    unsafe extern "C" fn(
5040        to: *mut CRYPTO_EX_DATA,
5041        from: *const CRYPTO_EX_DATA,
5042        from_d: *mut *mut ::std::os::raw::c_void,
5043        index: ::std::os::raw::c_int,
5044        argl: ::std::os::raw::c_long,
5045        argp: *mut ::std::os::raw::c_void,
5046    ) -> ::std::os::raw::c_int,
5047>;
5048pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
5049#[repr(C)]
5050#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5051pub struct crypto_ex_data_st {
5052    pub sk: *mut stack_st_void,
5053}
5054#[test]
5055fn bindgen_test_layout_crypto_ex_data_st() {
5056    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
5057    let ptr = UNINIT.as_ptr();
5058    assert_eq!(
5059        ::std::mem::size_of::<crypto_ex_data_st>(),
5060        8usize,
5061        "Size of crypto_ex_data_st"
5062    );
5063    assert_eq!(
5064        ::std::mem::align_of::<crypto_ex_data_st>(),
5065        8usize,
5066        "Alignment of crypto_ex_data_st"
5067    );
5068    assert_eq!(
5069        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
5070        0usize,
5071        "Offset of field: crypto_ex_data_st::sk"
5072    );
5073}
5074impl Default for crypto_ex_data_st {
5075    fn default() -> Self {
5076        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5077        unsafe {
5078            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5079            s.assume_init()
5080        }
5081    }
5082}
5083pub type bio_info_cb = ::std::option::Option<
5084    unsafe extern "C" fn(
5085        b: *mut BIO,
5086        state: ::std::os::raw::c_int,
5087        res: ::std::os::raw::c_int,
5088    ) -> ::std::os::raw::c_long,
5089>;
5090pub type BIO_callback_fn_ex = ::std::option::Option<
5091    unsafe extern "C" fn(
5092        bio: *mut BIO,
5093        oper: ::std::os::raw::c_int,
5094        argp: *const ::std::os::raw::c_char,
5095        len: usize,
5096        argi: ::std::os::raw::c_int,
5097        argl: ::std::os::raw::c_long,
5098        bio_ret: ::std::os::raw::c_int,
5099        processed: *mut usize,
5100    ) -> ::std::os::raw::c_long,
5101>;
5102pub type BIO_callback_fn = ::std::option::Option<
5103    unsafe extern "C" fn(
5104        bio: *mut BIO,
5105        oper: ::std::os::raw::c_int,
5106        argp: *const ::std::os::raw::c_char,
5107        argi: ::std::os::raw::c_int,
5108        argl: ::std::os::raw::c_long,
5109        bio_ret: ::std::os::raw::c_long,
5110    ) -> ::std::os::raw::c_long,
5111>;
5112#[repr(C)]
5113#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5114pub struct bio_method_st {
5115    pub type_: ::std::os::raw::c_int,
5116    pub name: *const ::std::os::raw::c_char,
5117    pub bwrite: ::std::option::Option<
5118        unsafe extern "C" fn(
5119            arg1: *mut BIO,
5120            arg2: *const ::std::os::raw::c_char,
5121            arg3: ::std::os::raw::c_int,
5122        ) -> ::std::os::raw::c_int,
5123    >,
5124    pub bread: ::std::option::Option<
5125        unsafe extern "C" fn(
5126            arg1: *mut BIO,
5127            arg2: *mut ::std::os::raw::c_char,
5128            arg3: ::std::os::raw::c_int,
5129        ) -> ::std::os::raw::c_int,
5130    >,
5131    pub bputs: ::std::option::Option<
5132        unsafe extern "C" fn(
5133            arg1: *mut BIO,
5134            arg2: *const ::std::os::raw::c_char,
5135        ) -> ::std::os::raw::c_int,
5136    >,
5137    pub bgets: ::std::option::Option<
5138        unsafe extern "C" fn(
5139            arg1: *mut BIO,
5140            arg2: *mut ::std::os::raw::c_char,
5141            arg3: ::std::os::raw::c_int,
5142        ) -> ::std::os::raw::c_int,
5143    >,
5144    pub ctrl: ::std::option::Option<
5145        unsafe extern "C" fn(
5146            arg1: *mut BIO,
5147            arg2: ::std::os::raw::c_int,
5148            arg3: ::std::os::raw::c_long,
5149            arg4: *mut ::std::os::raw::c_void,
5150        ) -> ::std::os::raw::c_long,
5151    >,
5152    pub create:
5153        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5154    pub destroy:
5155        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5156    pub callback_ctrl: ::std::option::Option<
5157        unsafe extern "C" fn(
5158            arg1: *mut BIO,
5159            arg2: ::std::os::raw::c_int,
5160            arg3: bio_info_cb,
5161        ) -> ::std::os::raw::c_long,
5162    >,
5163}
5164#[test]
5165fn bindgen_test_layout_bio_method_st() {
5166    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5167    let ptr = UNINIT.as_ptr();
5168    assert_eq!(
5169        ::std::mem::size_of::<bio_method_st>(),
5170        80usize,
5171        "Size of bio_method_st"
5172    );
5173    assert_eq!(
5174        ::std::mem::align_of::<bio_method_st>(),
5175        8usize,
5176        "Alignment of bio_method_st"
5177    );
5178    assert_eq!(
5179        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5180        0usize,
5181        "Offset of field: bio_method_st::type_"
5182    );
5183    assert_eq!(
5184        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5185        8usize,
5186        "Offset of field: bio_method_st::name"
5187    );
5188    assert_eq!(
5189        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5190        16usize,
5191        "Offset of field: bio_method_st::bwrite"
5192    );
5193    assert_eq!(
5194        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5195        24usize,
5196        "Offset of field: bio_method_st::bread"
5197    );
5198    assert_eq!(
5199        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5200        32usize,
5201        "Offset of field: bio_method_st::bputs"
5202    );
5203    assert_eq!(
5204        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5205        40usize,
5206        "Offset of field: bio_method_st::bgets"
5207    );
5208    assert_eq!(
5209        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5210        48usize,
5211        "Offset of field: bio_method_st::ctrl"
5212    );
5213    assert_eq!(
5214        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5215        56usize,
5216        "Offset of field: bio_method_st::create"
5217    );
5218    assert_eq!(
5219        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5220        64usize,
5221        "Offset of field: bio_method_st::destroy"
5222    );
5223    assert_eq!(
5224        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5225        72usize,
5226        "Offset of field: bio_method_st::callback_ctrl"
5227    );
5228}
5229impl Default for bio_method_st {
5230    fn default() -> Self {
5231        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5232        unsafe {
5233            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5234            s.assume_init()
5235        }
5236    }
5237}
5238#[repr(C)]
5239#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5240pub struct bio_st {
5241    pub method: *const BIO_METHOD,
5242    pub ex_data: CRYPTO_EX_DATA,
5243    pub callback_ex: BIO_callback_fn_ex,
5244    pub callback: BIO_callback_fn,
5245    pub cb_arg: *mut ::std::os::raw::c_char,
5246    pub init: ::std::os::raw::c_int,
5247    pub shutdown: ::std::os::raw::c_int,
5248    pub flags: ::std::os::raw::c_int,
5249    pub retry_reason: ::std::os::raw::c_int,
5250    pub num: ::std::os::raw::c_int,
5251    pub references: CRYPTO_refcount_t,
5252    pub ptr: *mut ::std::os::raw::c_void,
5253    pub next_bio: *mut BIO,
5254    pub num_read: u64,
5255    pub num_write: u64,
5256}
5257#[test]
5258fn bindgen_test_layout_bio_st() {
5259    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5260    let ptr = UNINIT.as_ptr();
5261    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5262    assert_eq!(
5263        ::std::mem::align_of::<bio_st>(),
5264        8usize,
5265        "Alignment of bio_st"
5266    );
5267    assert_eq!(
5268        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5269        0usize,
5270        "Offset of field: bio_st::method"
5271    );
5272    assert_eq!(
5273        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5274        8usize,
5275        "Offset of field: bio_st::ex_data"
5276    );
5277    assert_eq!(
5278        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5279        16usize,
5280        "Offset of field: bio_st::callback_ex"
5281    );
5282    assert_eq!(
5283        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5284        24usize,
5285        "Offset of field: bio_st::callback"
5286    );
5287    assert_eq!(
5288        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5289        32usize,
5290        "Offset of field: bio_st::cb_arg"
5291    );
5292    assert_eq!(
5293        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5294        40usize,
5295        "Offset of field: bio_st::init"
5296    );
5297    assert_eq!(
5298        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5299        44usize,
5300        "Offset of field: bio_st::shutdown"
5301    );
5302    assert_eq!(
5303        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5304        48usize,
5305        "Offset of field: bio_st::flags"
5306    );
5307    assert_eq!(
5308        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5309        52usize,
5310        "Offset of field: bio_st::retry_reason"
5311    );
5312    assert_eq!(
5313        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5314        56usize,
5315        "Offset of field: bio_st::num"
5316    );
5317    assert_eq!(
5318        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5319        60usize,
5320        "Offset of field: bio_st::references"
5321    );
5322    assert_eq!(
5323        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5324        64usize,
5325        "Offset of field: bio_st::ptr"
5326    );
5327    assert_eq!(
5328        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5329        72usize,
5330        "Offset of field: bio_st::next_bio"
5331    );
5332    assert_eq!(
5333        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5334        80usize,
5335        "Offset of field: bio_st::num_read"
5336    );
5337    assert_eq!(
5338        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5339        88usize,
5340        "Offset of field: bio_st::num_write"
5341    );
5342}
5343impl Default for bio_st {
5344    fn default() -> Self {
5345        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5346        unsafe {
5347            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5348            s.assume_init()
5349        }
5350    }
5351}
5352pub type BN_ULONG = u64;
5353extern "C" {
5354    #[link_name = "aws_lc_0_46_0_BN_new"]
5355    pub fn BN_new() -> *mut BIGNUM;
5356}
5357extern "C" {
5358    #[link_name = "aws_lc_0_46_0_BN_init"]
5359    pub fn BN_init(bn: *mut BIGNUM);
5360}
5361extern "C" {
5362    #[link_name = "aws_lc_0_46_0_BN_free"]
5363    pub fn BN_free(bn: *mut BIGNUM);
5364}
5365extern "C" {
5366    #[link_name = "aws_lc_0_46_0_BN_clear_free"]
5367    pub fn BN_clear_free(bn: *mut BIGNUM);
5368}
5369extern "C" {
5370    #[link_name = "aws_lc_0_46_0_BN_dup"]
5371    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5372}
5373extern "C" {
5374    #[link_name = "aws_lc_0_46_0_BN_copy"]
5375    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5376}
5377extern "C" {
5378    #[link_name = "aws_lc_0_46_0_BN_clear"]
5379    pub fn BN_clear(bn: *mut BIGNUM);
5380}
5381extern "C" {
5382    #[link_name = "aws_lc_0_46_0_BN_value_one"]
5383    pub fn BN_value_one() -> *const BIGNUM;
5384}
5385extern "C" {
5386    #[link_name = "aws_lc_0_46_0_BN_num_bits"]
5387    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5388}
5389extern "C" {
5390    #[link_name = "aws_lc_0_46_0_BN_num_bytes"]
5391    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5392}
5393extern "C" {
5394    #[link_name = "aws_lc_0_46_0_BN_get_minimal_width"]
5395    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5396}
5397extern "C" {
5398    #[link_name = "aws_lc_0_46_0_BN_zero"]
5399    pub fn BN_zero(bn: *mut BIGNUM);
5400}
5401extern "C" {
5402    #[link_name = "aws_lc_0_46_0_BN_one"]
5403    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5404}
5405extern "C" {
5406    #[link_name = "aws_lc_0_46_0_BN_set_word"]
5407    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5408}
5409extern "C" {
5410    #[link_name = "aws_lc_0_46_0_BN_set_u64"]
5411    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5412}
5413extern "C" {
5414    #[link_name = "aws_lc_0_46_0_BN_set_negative"]
5415    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5416}
5417extern "C" {
5418    #[link_name = "aws_lc_0_46_0_BN_is_negative"]
5419    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5420}
5421extern "C" {
5422    #[link_name = "aws_lc_0_46_0_BN_bin2bn"]
5423    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5424}
5425extern "C" {
5426    #[link_name = "aws_lc_0_46_0_BN_bn2bin"]
5427    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5428}
5429extern "C" {
5430    #[link_name = "aws_lc_0_46_0_BN_le2bn"]
5431    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5432}
5433extern "C" {
5434    #[link_name = "aws_lc_0_46_0_BN_bn2le_padded"]
5435    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5436}
5437extern "C" {
5438    #[link_name = "aws_lc_0_46_0_BN_bn2bin_padded"]
5439    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5440}
5441extern "C" {
5442    #[link_name = "aws_lc_0_46_0_BN_bn2cbb_padded"]
5443    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5444        -> ::std::os::raw::c_int;
5445}
5446extern "C" {
5447    #[link_name = "aws_lc_0_46_0_BN_bn2hex"]
5448    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5449}
5450extern "C" {
5451    #[link_name = "aws_lc_0_46_0_BN_hex2bn"]
5452    pub fn BN_hex2bn(
5453        outp: *mut *mut BIGNUM,
5454        in_: *const ::std::os::raw::c_char,
5455    ) -> ::std::os::raw::c_int;
5456}
5457extern "C" {
5458    #[link_name = "aws_lc_0_46_0_BN_bn2dec"]
5459    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5460}
5461extern "C" {
5462    #[link_name = "aws_lc_0_46_0_BN_dec2bn"]
5463    pub fn BN_dec2bn(
5464        outp: *mut *mut BIGNUM,
5465        in_: *const ::std::os::raw::c_char,
5466    ) -> ::std::os::raw::c_int;
5467}
5468extern "C" {
5469    #[link_name = "aws_lc_0_46_0_BN_asc2bn"]
5470    pub fn BN_asc2bn(
5471        outp: *mut *mut BIGNUM,
5472        in_: *const ::std::os::raw::c_char,
5473    ) -> ::std::os::raw::c_int;
5474}
5475extern "C" {
5476    #[link_name = "aws_lc_0_46_0_BN_print"]
5477    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5478}
5479extern "C" {
5480    #[link_name = "aws_lc_0_46_0_BN_get_word"]
5481    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5482}
5483extern "C" {
5484    #[link_name = "aws_lc_0_46_0_BN_get_u64"]
5485    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5486}
5487extern "C" {
5488    #[link_name = "aws_lc_0_46_0_BN_get_flags"]
5489    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5490}
5491extern "C" {
5492    #[link_name = "aws_lc_0_46_0_BN_parse_asn1_unsigned"]
5493    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5494}
5495extern "C" {
5496    #[link_name = "aws_lc_0_46_0_BN_marshal_asn1"]
5497    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5498}
5499extern "C" {
5500    #[link_name = "aws_lc_0_46_0_BN_CTX_new"]
5501    pub fn BN_CTX_new() -> *mut BN_CTX;
5502}
5503extern "C" {
5504    #[link_name = "aws_lc_0_46_0_BN_CTX_free"]
5505    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5506}
5507extern "C" {
5508    #[link_name = "aws_lc_0_46_0_BN_CTX_start"]
5509    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5510}
5511extern "C" {
5512    #[link_name = "aws_lc_0_46_0_BN_CTX_get"]
5513    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5514}
5515extern "C" {
5516    #[link_name = "aws_lc_0_46_0_BN_CTX_end"]
5517    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5518}
5519extern "C" {
5520    #[link_name = "aws_lc_0_46_0_BN_add"]
5521    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5522}
5523extern "C" {
5524    #[link_name = "aws_lc_0_46_0_BN_uadd"]
5525    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5526}
5527extern "C" {
5528    #[link_name = "aws_lc_0_46_0_BN_add_word"]
5529    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5530}
5531extern "C" {
5532    #[link_name = "aws_lc_0_46_0_BN_sub"]
5533    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5534}
5535extern "C" {
5536    #[link_name = "aws_lc_0_46_0_BN_usub"]
5537    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5538}
5539extern "C" {
5540    #[link_name = "aws_lc_0_46_0_BN_sub_word"]
5541    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5542}
5543extern "C" {
5544    #[link_name = "aws_lc_0_46_0_BN_mul"]
5545    pub fn BN_mul(
5546        r: *mut BIGNUM,
5547        a: *const BIGNUM,
5548        b: *const BIGNUM,
5549        ctx: *mut BN_CTX,
5550    ) -> ::std::os::raw::c_int;
5551}
5552extern "C" {
5553    #[link_name = "aws_lc_0_46_0_BN_mul_word"]
5554    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5555}
5556extern "C" {
5557    #[link_name = "aws_lc_0_46_0_BN_sqr"]
5558    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5559}
5560extern "C" {
5561    #[link_name = "aws_lc_0_46_0_BN_div"]
5562    pub fn BN_div(
5563        quotient: *mut BIGNUM,
5564        rem: *mut BIGNUM,
5565        numerator: *const BIGNUM,
5566        divisor: *const BIGNUM,
5567        ctx: *mut BN_CTX,
5568    ) -> ::std::os::raw::c_int;
5569}
5570extern "C" {
5571    #[link_name = "aws_lc_0_46_0_BN_div_word"]
5572    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5573}
5574extern "C" {
5575    #[link_name = "aws_lc_0_46_0_BN_sqrt"]
5576    pub fn BN_sqrt(
5577        out_sqrt: *mut BIGNUM,
5578        in_: *const BIGNUM,
5579        ctx: *mut BN_CTX,
5580    ) -> ::std::os::raw::c_int;
5581}
5582extern "C" {
5583    #[link_name = "aws_lc_0_46_0_BN_cmp"]
5584    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5585}
5586extern "C" {
5587    #[link_name = "aws_lc_0_46_0_BN_cmp_word"]
5588    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5589}
5590extern "C" {
5591    #[link_name = "aws_lc_0_46_0_BN_ucmp"]
5592    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5593}
5594extern "C" {
5595    #[link_name = "aws_lc_0_46_0_BN_equal_consttime"]
5596    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5597}
5598extern "C" {
5599    #[link_name = "aws_lc_0_46_0_BN_abs_is_word"]
5600    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5601}
5602extern "C" {
5603    #[link_name = "aws_lc_0_46_0_BN_is_zero"]
5604    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5605}
5606extern "C" {
5607    #[link_name = "aws_lc_0_46_0_BN_is_one"]
5608    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5609}
5610extern "C" {
5611    #[link_name = "aws_lc_0_46_0_BN_is_word"]
5612    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5613}
5614extern "C" {
5615    #[link_name = "aws_lc_0_46_0_BN_is_odd"]
5616    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5617}
5618extern "C" {
5619    #[link_name = "aws_lc_0_46_0_BN_is_pow2"]
5620    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5621}
5622extern "C" {
5623    #[link_name = "aws_lc_0_46_0_BN_lshift"]
5624    pub fn BN_lshift(
5625        r: *mut BIGNUM,
5626        a: *const BIGNUM,
5627        n: ::std::os::raw::c_int,
5628    ) -> ::std::os::raw::c_int;
5629}
5630extern "C" {
5631    #[link_name = "aws_lc_0_46_0_BN_lshift1"]
5632    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5633}
5634extern "C" {
5635    #[link_name = "aws_lc_0_46_0_BN_rshift"]
5636    pub fn BN_rshift(
5637        r: *mut BIGNUM,
5638        a: *const BIGNUM,
5639        n: ::std::os::raw::c_int,
5640    ) -> ::std::os::raw::c_int;
5641}
5642extern "C" {
5643    #[link_name = "aws_lc_0_46_0_BN_rshift1"]
5644    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5645}
5646extern "C" {
5647    #[link_name = "aws_lc_0_46_0_BN_set_bit"]
5648    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5649}
5650extern "C" {
5651    #[link_name = "aws_lc_0_46_0_BN_clear_bit"]
5652    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5653}
5654extern "C" {
5655    #[link_name = "aws_lc_0_46_0_BN_is_bit_set"]
5656    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5657}
5658extern "C" {
5659    #[link_name = "aws_lc_0_46_0_BN_mask_bits"]
5660    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5661}
5662extern "C" {
5663    #[link_name = "aws_lc_0_46_0_BN_count_low_zero_bits"]
5664    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5665}
5666extern "C" {
5667    #[link_name = "aws_lc_0_46_0_BN_mod_word"]
5668    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5669}
5670extern "C" {
5671    #[link_name = "aws_lc_0_46_0_BN_mod_pow2"]
5672    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5673}
5674extern "C" {
5675    #[link_name = "aws_lc_0_46_0_BN_nnmod_pow2"]
5676    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5677}
5678extern "C" {
5679    #[link_name = "aws_lc_0_46_0_BN_nnmod"]
5680    pub fn BN_nnmod(
5681        rem: *mut BIGNUM,
5682        numerator: *const BIGNUM,
5683        divisor: *const BIGNUM,
5684        ctx: *mut BN_CTX,
5685    ) -> ::std::os::raw::c_int;
5686}
5687extern "C" {
5688    #[link_name = "aws_lc_0_46_0_BN_mod_add"]
5689    pub fn BN_mod_add(
5690        r: *mut BIGNUM,
5691        a: *const BIGNUM,
5692        b: *const BIGNUM,
5693        m: *const BIGNUM,
5694        ctx: *mut BN_CTX,
5695    ) -> ::std::os::raw::c_int;
5696}
5697extern "C" {
5698    #[link_name = "aws_lc_0_46_0_BN_mod_add_quick"]
5699    pub fn BN_mod_add_quick(
5700        r: *mut BIGNUM,
5701        a: *const BIGNUM,
5702        b: *const BIGNUM,
5703        m: *const BIGNUM,
5704    ) -> ::std::os::raw::c_int;
5705}
5706extern "C" {
5707    #[link_name = "aws_lc_0_46_0_BN_mod_sub"]
5708    pub fn BN_mod_sub(
5709        r: *mut BIGNUM,
5710        a: *const BIGNUM,
5711        b: *const BIGNUM,
5712        m: *const BIGNUM,
5713        ctx: *mut BN_CTX,
5714    ) -> ::std::os::raw::c_int;
5715}
5716extern "C" {
5717    #[link_name = "aws_lc_0_46_0_BN_mod_sub_quick"]
5718    pub fn BN_mod_sub_quick(
5719        r: *mut BIGNUM,
5720        a: *const BIGNUM,
5721        b: *const BIGNUM,
5722        m: *const BIGNUM,
5723    ) -> ::std::os::raw::c_int;
5724}
5725extern "C" {
5726    #[link_name = "aws_lc_0_46_0_BN_mod_mul"]
5727    pub fn BN_mod_mul(
5728        r: *mut BIGNUM,
5729        a: *const BIGNUM,
5730        b: *const BIGNUM,
5731        m: *const BIGNUM,
5732        ctx: *mut BN_CTX,
5733    ) -> ::std::os::raw::c_int;
5734}
5735extern "C" {
5736    #[link_name = "aws_lc_0_46_0_BN_mod_sqr"]
5737    pub fn BN_mod_sqr(
5738        r: *mut BIGNUM,
5739        a: *const BIGNUM,
5740        m: *const BIGNUM,
5741        ctx: *mut BN_CTX,
5742    ) -> ::std::os::raw::c_int;
5743}
5744extern "C" {
5745    #[link_name = "aws_lc_0_46_0_BN_mod_lshift"]
5746    pub fn BN_mod_lshift(
5747        r: *mut BIGNUM,
5748        a: *const BIGNUM,
5749        n: ::std::os::raw::c_int,
5750        m: *const BIGNUM,
5751        ctx: *mut BN_CTX,
5752    ) -> ::std::os::raw::c_int;
5753}
5754extern "C" {
5755    #[link_name = "aws_lc_0_46_0_BN_mod_lshift_quick"]
5756    pub fn BN_mod_lshift_quick(
5757        r: *mut BIGNUM,
5758        a: *const BIGNUM,
5759        n: ::std::os::raw::c_int,
5760        m: *const BIGNUM,
5761    ) -> ::std::os::raw::c_int;
5762}
5763extern "C" {
5764    #[link_name = "aws_lc_0_46_0_BN_mod_lshift1"]
5765    pub fn BN_mod_lshift1(
5766        r: *mut BIGNUM,
5767        a: *const BIGNUM,
5768        m: *const BIGNUM,
5769        ctx: *mut BN_CTX,
5770    ) -> ::std::os::raw::c_int;
5771}
5772extern "C" {
5773    #[link_name = "aws_lc_0_46_0_BN_mod_lshift1_quick"]
5774    pub fn BN_mod_lshift1_quick(
5775        r: *mut BIGNUM,
5776        a: *const BIGNUM,
5777        m: *const BIGNUM,
5778    ) -> ::std::os::raw::c_int;
5779}
5780extern "C" {
5781    #[link_name = "aws_lc_0_46_0_BN_mod_sqrt"]
5782    pub fn BN_mod_sqrt(
5783        in_: *mut BIGNUM,
5784        a: *const BIGNUM,
5785        p: *const BIGNUM,
5786        ctx: *mut BN_CTX,
5787    ) -> *mut BIGNUM;
5788}
5789extern "C" {
5790    #[link_name = "aws_lc_0_46_0_BN_rand"]
5791    pub fn BN_rand(
5792        rnd: *mut BIGNUM,
5793        bits: ::std::os::raw::c_int,
5794        top: ::std::os::raw::c_int,
5795        bottom: ::std::os::raw::c_int,
5796    ) -> ::std::os::raw::c_int;
5797}
5798extern "C" {
5799    #[link_name = "aws_lc_0_46_0_BN_pseudo_rand"]
5800    pub fn BN_pseudo_rand(
5801        rnd: *mut BIGNUM,
5802        bits: ::std::os::raw::c_int,
5803        top: ::std::os::raw::c_int,
5804        bottom: ::std::os::raw::c_int,
5805    ) -> ::std::os::raw::c_int;
5806}
5807extern "C" {
5808    #[link_name = "aws_lc_0_46_0_BN_rand_range"]
5809    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5810}
5811extern "C" {
5812    #[link_name = "aws_lc_0_46_0_BN_rand_range_ex"]
5813    pub fn BN_rand_range_ex(
5814        r: *mut BIGNUM,
5815        min_inclusive: BN_ULONG,
5816        max_exclusive: *const BIGNUM,
5817    ) -> ::std::os::raw::c_int;
5818}
5819extern "C" {
5820    #[link_name = "aws_lc_0_46_0_BN_pseudo_rand_range"]
5821    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5822}
5823#[repr(C)]
5824#[derive(Copy, Clone)]
5825pub struct bn_gencb_st {
5826    pub type_: u8,
5827    pub arg: *mut ::std::os::raw::c_void,
5828    pub callback: bn_gencb_st__bindgen_ty_1,
5829}
5830#[repr(C)]
5831#[derive(Copy, Clone)]
5832pub union bn_gencb_st__bindgen_ty_1 {
5833    pub new_style: ::std::option::Option<
5834        unsafe extern "C" fn(
5835            event: ::std::os::raw::c_int,
5836            n: ::std::os::raw::c_int,
5837            arg1: *mut bn_gencb_st,
5838        ) -> ::std::os::raw::c_int,
5839    >,
5840    pub old_style: ::std::option::Option<
5841        unsafe extern "C" fn(
5842            arg1: ::std::os::raw::c_int,
5843            arg2: ::std::os::raw::c_int,
5844            arg3: *mut ::std::os::raw::c_void,
5845        ),
5846    >,
5847}
5848#[test]
5849fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5850    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5851        ::std::mem::MaybeUninit::uninit();
5852    let ptr = UNINIT.as_ptr();
5853    assert_eq!(
5854        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5855        8usize,
5856        "Size of bn_gencb_st__bindgen_ty_1"
5857    );
5858    assert_eq!(
5859        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5860        8usize,
5861        "Alignment of bn_gencb_st__bindgen_ty_1"
5862    );
5863    assert_eq!(
5864        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5865        0usize,
5866        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5867    );
5868    assert_eq!(
5869        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5870        0usize,
5871        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5872    );
5873}
5874impl Default for bn_gencb_st__bindgen_ty_1 {
5875    fn default() -> Self {
5876        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5877        unsafe {
5878            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5879            s.assume_init()
5880        }
5881    }
5882}
5883#[test]
5884fn bindgen_test_layout_bn_gencb_st() {
5885    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5886    let ptr = UNINIT.as_ptr();
5887    assert_eq!(
5888        ::std::mem::size_of::<bn_gencb_st>(),
5889        24usize,
5890        "Size of bn_gencb_st"
5891    );
5892    assert_eq!(
5893        ::std::mem::align_of::<bn_gencb_st>(),
5894        8usize,
5895        "Alignment of bn_gencb_st"
5896    );
5897    assert_eq!(
5898        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5899        0usize,
5900        "Offset of field: bn_gencb_st::type_"
5901    );
5902    assert_eq!(
5903        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5904        8usize,
5905        "Offset of field: bn_gencb_st::arg"
5906    );
5907    assert_eq!(
5908        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5909        16usize,
5910        "Offset of field: bn_gencb_st::callback"
5911    );
5912}
5913impl Default for bn_gencb_st {
5914    fn default() -> Self {
5915        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5916        unsafe {
5917            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5918            s.assume_init()
5919        }
5920    }
5921}
5922extern "C" {
5923    #[link_name = "aws_lc_0_46_0_BN_GENCB_new"]
5924    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5925}
5926extern "C" {
5927    #[link_name = "aws_lc_0_46_0_BN_GENCB_free"]
5928    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5929}
5930extern "C" {
5931    #[link_name = "aws_lc_0_46_0_BN_GENCB_set"]
5932    pub fn BN_GENCB_set(
5933        callback: *mut BN_GENCB,
5934        f: ::std::option::Option<
5935            unsafe extern "C" fn(
5936                event: ::std::os::raw::c_int,
5937                n: ::std::os::raw::c_int,
5938                arg1: *mut BN_GENCB,
5939            ) -> ::std::os::raw::c_int,
5940        >,
5941        arg: *mut ::std::os::raw::c_void,
5942    );
5943}
5944extern "C" {
5945    #[link_name = "aws_lc_0_46_0_BN_GENCB_call"]
5946    pub fn BN_GENCB_call(
5947        callback: *mut BN_GENCB,
5948        event: ::std::os::raw::c_int,
5949        n: ::std::os::raw::c_int,
5950    ) -> ::std::os::raw::c_int;
5951}
5952extern "C" {
5953    #[link_name = "aws_lc_0_46_0_BN_GENCB_get_arg"]
5954    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5955}
5956extern "C" {
5957    #[link_name = "aws_lc_0_46_0_BN_generate_prime_ex"]
5958    pub fn BN_generate_prime_ex(
5959        ret: *mut BIGNUM,
5960        bits: ::std::os::raw::c_int,
5961        safe: ::std::os::raw::c_int,
5962        add: *const BIGNUM,
5963        rem: *const BIGNUM,
5964        cb: *mut BN_GENCB,
5965    ) -> ::std::os::raw::c_int;
5966}
5967pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5968pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5969pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5970pub type bn_primality_result_t = ::std::os::raw::c_uint;
5971extern "C" {
5972    #[link_name = "aws_lc_0_46_0_BN_enhanced_miller_rabin_primality_test"]
5973    pub fn BN_enhanced_miller_rabin_primality_test(
5974        out_result: *mut bn_primality_result_t,
5975        w: *const BIGNUM,
5976        checks: ::std::os::raw::c_int,
5977        ctx: *mut BN_CTX,
5978        cb: *mut BN_GENCB,
5979    ) -> ::std::os::raw::c_int;
5980}
5981extern "C" {
5982    #[link_name = "aws_lc_0_46_0_BN_primality_test"]
5983    pub fn BN_primality_test(
5984        is_probably_prime: *mut ::std::os::raw::c_int,
5985        candidate: *const BIGNUM,
5986        checks: ::std::os::raw::c_int,
5987        ctx: *mut BN_CTX,
5988        do_trial_division: ::std::os::raw::c_int,
5989        cb: *mut BN_GENCB,
5990    ) -> ::std::os::raw::c_int;
5991}
5992extern "C" {
5993    #[link_name = "aws_lc_0_46_0_BN_is_prime_fasttest_ex"]
5994    pub fn BN_is_prime_fasttest_ex(
5995        candidate: *const BIGNUM,
5996        checks: ::std::os::raw::c_int,
5997        ctx: *mut BN_CTX,
5998        do_trial_division: ::std::os::raw::c_int,
5999        cb: *mut BN_GENCB,
6000    ) -> ::std::os::raw::c_int;
6001}
6002extern "C" {
6003    #[link_name = "aws_lc_0_46_0_BN_is_prime_ex"]
6004    pub fn BN_is_prime_ex(
6005        candidate: *const BIGNUM,
6006        checks: ::std::os::raw::c_int,
6007        ctx: *mut BN_CTX,
6008        cb: *mut BN_GENCB,
6009    ) -> ::std::os::raw::c_int;
6010}
6011extern "C" {
6012    #[link_name = "aws_lc_0_46_0_BN_gcd"]
6013    pub fn BN_gcd(
6014        r: *mut BIGNUM,
6015        a: *const BIGNUM,
6016        b: *const BIGNUM,
6017        ctx: *mut BN_CTX,
6018    ) -> ::std::os::raw::c_int;
6019}
6020extern "C" {
6021    #[link_name = "aws_lc_0_46_0_BN_mod_inverse"]
6022    pub fn BN_mod_inverse(
6023        out: *mut BIGNUM,
6024        a: *const BIGNUM,
6025        n: *const BIGNUM,
6026        ctx: *mut BN_CTX,
6027    ) -> *mut BIGNUM;
6028}
6029extern "C" {
6030    #[link_name = "aws_lc_0_46_0_BN_mod_inverse_blinded"]
6031    pub fn BN_mod_inverse_blinded(
6032        out: *mut BIGNUM,
6033        out_no_inverse: *mut ::std::os::raw::c_int,
6034        a: *const BIGNUM,
6035        mont: *const BN_MONT_CTX,
6036        ctx: *mut BN_CTX,
6037    ) -> ::std::os::raw::c_int;
6038}
6039extern "C" {
6040    #[link_name = "aws_lc_0_46_0_BN_mod_inverse_odd"]
6041    pub fn BN_mod_inverse_odd(
6042        out: *mut BIGNUM,
6043        out_no_inverse: *mut ::std::os::raw::c_int,
6044        a: *const BIGNUM,
6045        n: *const BIGNUM,
6046        ctx: *mut BN_CTX,
6047    ) -> ::std::os::raw::c_int;
6048}
6049extern "C" {
6050    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new_for_modulus"]
6051    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
6052}
6053extern "C" {
6054    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new_consttime"]
6055    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
6056}
6057extern "C" {
6058    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_free"]
6059    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
6060}
6061extern "C" {
6062    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_copy"]
6063    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
6064}
6065extern "C" {
6066    #[link_name = "aws_lc_0_46_0_BN_to_montgomery"]
6067    pub fn BN_to_montgomery(
6068        ret: *mut BIGNUM,
6069        a: *const BIGNUM,
6070        mont: *const BN_MONT_CTX,
6071        ctx: *mut BN_CTX,
6072    ) -> ::std::os::raw::c_int;
6073}
6074extern "C" {
6075    #[link_name = "aws_lc_0_46_0_BN_from_montgomery"]
6076    pub fn BN_from_montgomery(
6077        ret: *mut BIGNUM,
6078        a: *const BIGNUM,
6079        mont: *const BN_MONT_CTX,
6080        ctx: *mut BN_CTX,
6081    ) -> ::std::os::raw::c_int;
6082}
6083extern "C" {
6084    #[link_name = "aws_lc_0_46_0_BN_mod_mul_montgomery"]
6085    pub fn BN_mod_mul_montgomery(
6086        r: *mut BIGNUM,
6087        a: *const BIGNUM,
6088        b: *const BIGNUM,
6089        mont: *const BN_MONT_CTX,
6090        ctx: *mut BN_CTX,
6091    ) -> ::std::os::raw::c_int;
6092}
6093extern "C" {
6094    #[link_name = "aws_lc_0_46_0_BN_exp"]
6095    pub fn BN_exp(
6096        r: *mut BIGNUM,
6097        a: *const BIGNUM,
6098        p: *const BIGNUM,
6099        ctx: *mut BN_CTX,
6100    ) -> ::std::os::raw::c_int;
6101}
6102extern "C" {
6103    #[link_name = "aws_lc_0_46_0_BN_mod_exp"]
6104    pub fn BN_mod_exp(
6105        r: *mut BIGNUM,
6106        a: *const BIGNUM,
6107        p: *const BIGNUM,
6108        m: *const BIGNUM,
6109        ctx: *mut BN_CTX,
6110    ) -> ::std::os::raw::c_int;
6111}
6112extern "C" {
6113    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont"]
6114    pub fn BN_mod_exp_mont(
6115        r: *mut BIGNUM,
6116        a: *const BIGNUM,
6117        p: *const BIGNUM,
6118        m: *const BIGNUM,
6119        ctx: *mut BN_CTX,
6120        mont: *const BN_MONT_CTX,
6121    ) -> ::std::os::raw::c_int;
6122}
6123extern "C" {
6124    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_consttime"]
6125    pub fn BN_mod_exp_mont_consttime(
6126        rr: *mut BIGNUM,
6127        a: *const BIGNUM,
6128        p: *const BIGNUM,
6129        m: *const BIGNUM,
6130        ctx: *mut BN_CTX,
6131        mont: *const BN_MONT_CTX,
6132    ) -> ::std::os::raw::c_int;
6133}
6134extern "C" {
6135    #[link_name = "aws_lc_0_46_0_BN_GENCB_set_old"]
6136    pub fn BN_GENCB_set_old(
6137        callback: *mut BN_GENCB,
6138        f: ::std::option::Option<
6139            unsafe extern "C" fn(
6140                arg1: ::std::os::raw::c_int,
6141                arg2: ::std::os::raw::c_int,
6142                arg3: *mut ::std::os::raw::c_void,
6143            ),
6144        >,
6145        cb_arg: *mut ::std::os::raw::c_void,
6146    );
6147}
6148extern "C" {
6149    #[link_name = "aws_lc_0_46_0_BN_bn2mpi"]
6150    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6151}
6152extern "C" {
6153    #[link_name = "aws_lc_0_46_0_BN_mpi2bn"]
6154    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6155}
6156extern "C" {
6157    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_word"]
6158    pub fn BN_mod_exp_mont_word(
6159        r: *mut BIGNUM,
6160        a: BN_ULONG,
6161        p: *const BIGNUM,
6162        m: *const BIGNUM,
6163        ctx: *mut BN_CTX,
6164        mont: *const BN_MONT_CTX,
6165    ) -> ::std::os::raw::c_int;
6166}
6167extern "C" {
6168    #[link_name = "aws_lc_0_46_0_BN_mod_exp2_mont"]
6169    pub fn BN_mod_exp2_mont(
6170        r: *mut BIGNUM,
6171        a1: *const BIGNUM,
6172        p1: *const BIGNUM,
6173        a2: *const BIGNUM,
6174        p2: *const BIGNUM,
6175        m: *const BIGNUM,
6176        ctx: *mut BN_CTX,
6177        mont: *const BN_MONT_CTX,
6178    ) -> ::std::os::raw::c_int;
6179}
6180extern "C" {
6181    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_new"]
6182    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6183}
6184extern "C" {
6185    #[link_name = "aws_lc_0_46_0_BN_MONT_CTX_set"]
6186    pub fn BN_MONT_CTX_set(
6187        mont: *mut BN_MONT_CTX,
6188        mod_: *const BIGNUM,
6189        ctx: *mut BN_CTX,
6190    ) -> ::std::os::raw::c_int;
6191}
6192extern "C" {
6193    #[link_name = "aws_lc_0_46_0_BN_bn2binpad"]
6194    pub fn BN_bn2binpad(
6195        in_: *const BIGNUM,
6196        out: *mut u8,
6197        len: ::std::os::raw::c_int,
6198    ) -> ::std::os::raw::c_int;
6199}
6200extern "C" {
6201    #[link_name = "aws_lc_0_46_0_BN_secure_new"]
6202    pub fn BN_secure_new() -> *mut BIGNUM;
6203}
6204extern "C" {
6205    #[link_name = "aws_lc_0_46_0_BN_CTX_secure_new"]
6206    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6207}
6208extern "C" {
6209    #[link_name = "aws_lc_0_46_0_BN_mod_exp_mont_consttime_x2"]
6210    pub fn BN_mod_exp_mont_consttime_x2(
6211        rr1: *mut BIGNUM,
6212        a1: *const BIGNUM,
6213        p1: *const BIGNUM,
6214        m1: *const BIGNUM,
6215        in_mont1: *const BN_MONT_CTX,
6216        rr2: *mut BIGNUM,
6217        a2: *const BIGNUM,
6218        p2: *const BIGNUM,
6219        m2: *const BIGNUM,
6220        in_mont2: *const BN_MONT_CTX,
6221        ctx: *mut BN_CTX,
6222    ) -> ::std::os::raw::c_int;
6223}
6224extern "C" {
6225    #[link_name = "aws_lc_0_46_0_BN_set_flags"]
6226    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6227}
6228#[repr(C)]
6229#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6230pub struct bignum_st {
6231    pub d: *mut BN_ULONG,
6232    pub width: ::std::os::raw::c_int,
6233    pub dmax: ::std::os::raw::c_int,
6234    pub neg: ::std::os::raw::c_int,
6235    pub flags: ::std::os::raw::c_int,
6236}
6237#[test]
6238fn bindgen_test_layout_bignum_st() {
6239    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6240    let ptr = UNINIT.as_ptr();
6241    assert_eq!(
6242        ::std::mem::size_of::<bignum_st>(),
6243        24usize,
6244        "Size of bignum_st"
6245    );
6246    assert_eq!(
6247        ::std::mem::align_of::<bignum_st>(),
6248        8usize,
6249        "Alignment of bignum_st"
6250    );
6251    assert_eq!(
6252        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6253        0usize,
6254        "Offset of field: bignum_st::d"
6255    );
6256    assert_eq!(
6257        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6258        8usize,
6259        "Offset of field: bignum_st::width"
6260    );
6261    assert_eq!(
6262        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6263        12usize,
6264        "Offset of field: bignum_st::dmax"
6265    );
6266    assert_eq!(
6267        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6268        16usize,
6269        "Offset of field: bignum_st::neg"
6270    );
6271    assert_eq!(
6272        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6273        20usize,
6274        "Offset of field: bignum_st::flags"
6275    );
6276}
6277impl Default for bignum_st {
6278    fn default() -> Self {
6279        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6280        unsafe {
6281            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6282            s.assume_init()
6283        }
6284    }
6285}
6286#[repr(C)]
6287#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6288pub struct bn_mont_ctx_st {
6289    pub RR: BIGNUM,
6290    pub N: BIGNUM,
6291    pub n0: [BN_ULONG; 2usize],
6292}
6293#[test]
6294fn bindgen_test_layout_bn_mont_ctx_st() {
6295    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6296    let ptr = UNINIT.as_ptr();
6297    assert_eq!(
6298        ::std::mem::size_of::<bn_mont_ctx_st>(),
6299        64usize,
6300        "Size of bn_mont_ctx_st"
6301    );
6302    assert_eq!(
6303        ::std::mem::align_of::<bn_mont_ctx_st>(),
6304        8usize,
6305        "Alignment of bn_mont_ctx_st"
6306    );
6307    assert_eq!(
6308        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6309        0usize,
6310        "Offset of field: bn_mont_ctx_st::RR"
6311    );
6312    assert_eq!(
6313        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6314        24usize,
6315        "Offset of field: bn_mont_ctx_st::N"
6316    );
6317    assert_eq!(
6318        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6319        48usize,
6320        "Offset of field: bn_mont_ctx_st::n0"
6321    );
6322}
6323impl Default for bn_mont_ctx_st {
6324    fn default() -> Self {
6325        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6326        unsafe {
6327            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6328            s.assume_init()
6329        }
6330    }
6331}
6332extern "C" {
6333    #[link_name = "aws_lc_0_46_0_BN_num_bits_word"]
6334    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6335}
6336#[repr(C)]
6337#[derive(Debug)]
6338pub struct ASN1_VALUE_st {
6339    _unused: [u8; 0],
6340}
6341pub type ASN1_VALUE = ASN1_VALUE_st;
6342#[repr(C)]
6343#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6344pub struct asn1_string_st {
6345    pub length: ::std::os::raw::c_int,
6346    pub type_: ::std::os::raw::c_int,
6347    pub data: *mut ::std::os::raw::c_uchar,
6348    pub flags: ::std::os::raw::c_long,
6349}
6350#[test]
6351fn bindgen_test_layout_asn1_string_st() {
6352    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6353    let ptr = UNINIT.as_ptr();
6354    assert_eq!(
6355        ::std::mem::size_of::<asn1_string_st>(),
6356        24usize,
6357        "Size of asn1_string_st"
6358    );
6359    assert_eq!(
6360        ::std::mem::align_of::<asn1_string_st>(),
6361        8usize,
6362        "Alignment of asn1_string_st"
6363    );
6364    assert_eq!(
6365        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6366        0usize,
6367        "Offset of field: asn1_string_st::length"
6368    );
6369    assert_eq!(
6370        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6371        4usize,
6372        "Offset of field: asn1_string_st::type_"
6373    );
6374    assert_eq!(
6375        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6376        8usize,
6377        "Offset of field: asn1_string_st::data"
6378    );
6379    assert_eq!(
6380        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6381        16usize,
6382        "Offset of field: asn1_string_st::flags"
6383    );
6384}
6385impl Default for asn1_string_st {
6386    fn default() -> Self {
6387        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6388        unsafe {
6389            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6390            s.assume_init()
6391        }
6392    }
6393}
6394#[repr(C)]
6395#[derive(Copy, Clone)]
6396pub struct asn1_type_st {
6397    pub type_: ::std::os::raw::c_int,
6398    pub value: asn1_type_st__bindgen_ty_1,
6399}
6400#[repr(C)]
6401#[derive(Copy, Clone)]
6402pub union asn1_type_st__bindgen_ty_1 {
6403    pub ptr: *mut ::std::os::raw::c_char,
6404    pub boolean: ASN1_BOOLEAN,
6405    pub asn1_string: *mut ASN1_STRING,
6406    pub object: *mut ASN1_OBJECT,
6407    pub integer: *mut ASN1_INTEGER,
6408    pub enumerated: *mut ASN1_ENUMERATED,
6409    pub bit_string: *mut ASN1_BIT_STRING,
6410    pub octet_string: *mut ASN1_OCTET_STRING,
6411    pub printablestring: *mut ASN1_PRINTABLESTRING,
6412    pub t61string: *mut ASN1_T61STRING,
6413    pub ia5string: *mut ASN1_IA5STRING,
6414    pub generalstring: *mut ASN1_GENERALSTRING,
6415    pub bmpstring: *mut ASN1_BMPSTRING,
6416    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6417    pub utctime: *mut ASN1_UTCTIME,
6418    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6419    pub visiblestring: *mut ASN1_VISIBLESTRING,
6420    pub utf8string: *mut ASN1_UTF8STRING,
6421    pub set: *mut ASN1_STRING,
6422    pub sequence: *mut ASN1_STRING,
6423    pub asn1_value: *mut ASN1_VALUE,
6424}
6425#[test]
6426fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6427    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6428        ::std::mem::MaybeUninit::uninit();
6429    let ptr = UNINIT.as_ptr();
6430    assert_eq!(
6431        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6432        8usize,
6433        "Size of asn1_type_st__bindgen_ty_1"
6434    );
6435    assert_eq!(
6436        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6437        8usize,
6438        "Alignment of asn1_type_st__bindgen_ty_1"
6439    );
6440    assert_eq!(
6441        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6442        0usize,
6443        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6444    );
6445    assert_eq!(
6446        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6447        0usize,
6448        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6449    );
6450    assert_eq!(
6451        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6452        0usize,
6453        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6454    );
6455    assert_eq!(
6456        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6457        0usize,
6458        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6459    );
6460    assert_eq!(
6461        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6462        0usize,
6463        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6464    );
6465    assert_eq!(
6466        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6467        0usize,
6468        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6469    );
6470    assert_eq!(
6471        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6472        0usize,
6473        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6474    );
6475    assert_eq!(
6476        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6477        0usize,
6478        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6479    );
6480    assert_eq!(
6481        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6482        0usize,
6483        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6484    );
6485    assert_eq!(
6486        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6487        0usize,
6488        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6489    );
6490    assert_eq!(
6491        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6492        0usize,
6493        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6494    );
6495    assert_eq!(
6496        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6497        0usize,
6498        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6499    );
6500    assert_eq!(
6501        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6502        0usize,
6503        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6504    );
6505    assert_eq!(
6506        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6507        0usize,
6508        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6509    );
6510    assert_eq!(
6511        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6512        0usize,
6513        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6514    );
6515    assert_eq!(
6516        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6517        0usize,
6518        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6519    );
6520    assert_eq!(
6521        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6522        0usize,
6523        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6524    );
6525    assert_eq!(
6526        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6527        0usize,
6528        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6529    );
6530    assert_eq!(
6531        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6532        0usize,
6533        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6534    );
6535    assert_eq!(
6536        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6537        0usize,
6538        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6539    );
6540    assert_eq!(
6541        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6542        0usize,
6543        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6544    );
6545}
6546impl Default for asn1_type_st__bindgen_ty_1 {
6547    fn default() -> Self {
6548        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6549        unsafe {
6550            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6551            s.assume_init()
6552        }
6553    }
6554}
6555#[test]
6556fn bindgen_test_layout_asn1_type_st() {
6557    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6558    let ptr = UNINIT.as_ptr();
6559    assert_eq!(
6560        ::std::mem::size_of::<asn1_type_st>(),
6561        16usize,
6562        "Size of asn1_type_st"
6563    );
6564    assert_eq!(
6565        ::std::mem::align_of::<asn1_type_st>(),
6566        8usize,
6567        "Alignment of asn1_type_st"
6568    );
6569    assert_eq!(
6570        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6571        0usize,
6572        "Offset of field: asn1_type_st::type_"
6573    );
6574    assert_eq!(
6575        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6576        8usize,
6577        "Offset of field: asn1_type_st::value"
6578    );
6579}
6580impl Default for asn1_type_st {
6581    fn default() -> Self {
6582        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6583        unsafe {
6584            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6585            s.assume_init()
6586        }
6587    }
6588}
6589pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6590#[repr(C)]
6591#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6592pub struct ASN1_TEMPLATE_st {
6593    pub flags: u32,
6594    pub tag: ::std::os::raw::c_int,
6595    pub offset: ::std::os::raw::c_ulong,
6596    pub field_name: *const ::std::os::raw::c_char,
6597    pub item: *const ASN1_ITEM_st,
6598}
6599#[test]
6600fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6601    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6602    let ptr = UNINIT.as_ptr();
6603    assert_eq!(
6604        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6605        32usize,
6606        "Size of ASN1_TEMPLATE_st"
6607    );
6608    assert_eq!(
6609        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6610        8usize,
6611        "Alignment of ASN1_TEMPLATE_st"
6612    );
6613    assert_eq!(
6614        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6615        0usize,
6616        "Offset of field: ASN1_TEMPLATE_st::flags"
6617    );
6618    assert_eq!(
6619        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6620        4usize,
6621        "Offset of field: ASN1_TEMPLATE_st::tag"
6622    );
6623    assert_eq!(
6624        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6625        8usize,
6626        "Offset of field: ASN1_TEMPLATE_st::offset"
6627    );
6628    assert_eq!(
6629        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6630        16usize,
6631        "Offset of field: ASN1_TEMPLATE_st::field_name"
6632    );
6633    assert_eq!(
6634        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6635        24usize,
6636        "Offset of field: ASN1_TEMPLATE_st::item"
6637    );
6638}
6639impl Default for ASN1_TEMPLATE_st {
6640    fn default() -> Self {
6641        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6642        unsafe {
6643            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6644            s.assume_init()
6645        }
6646    }
6647}
6648#[repr(C)]
6649#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6650pub struct ASN1_ITEM_st {
6651    pub itype: ::std::os::raw::c_char,
6652    pub utype: ::std::os::raw::c_int,
6653    pub templates: *const ASN1_TEMPLATE,
6654    pub tcount: ::std::os::raw::c_long,
6655    pub funcs: *const ::std::os::raw::c_void,
6656    pub size: ::std::os::raw::c_long,
6657    pub sname: *const ::std::os::raw::c_char,
6658}
6659#[test]
6660fn bindgen_test_layout_ASN1_ITEM_st() {
6661    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6662    let ptr = UNINIT.as_ptr();
6663    assert_eq!(
6664        ::std::mem::size_of::<ASN1_ITEM_st>(),
6665        48usize,
6666        "Size of ASN1_ITEM_st"
6667    );
6668    assert_eq!(
6669        ::std::mem::align_of::<ASN1_ITEM_st>(),
6670        8usize,
6671        "Alignment of ASN1_ITEM_st"
6672    );
6673    assert_eq!(
6674        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6675        0usize,
6676        "Offset of field: ASN1_ITEM_st::itype"
6677    );
6678    assert_eq!(
6679        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6680        4usize,
6681        "Offset of field: ASN1_ITEM_st::utype"
6682    );
6683    assert_eq!(
6684        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6685        8usize,
6686        "Offset of field: ASN1_ITEM_st::templates"
6687    );
6688    assert_eq!(
6689        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6690        16usize,
6691        "Offset of field: ASN1_ITEM_st::tcount"
6692    );
6693    assert_eq!(
6694        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6695        24usize,
6696        "Offset of field: ASN1_ITEM_st::funcs"
6697    );
6698    assert_eq!(
6699        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6700        32usize,
6701        "Offset of field: ASN1_ITEM_st::size"
6702    );
6703    assert_eq!(
6704        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6705        40usize,
6706        "Offset of field: ASN1_ITEM_st::sname"
6707    );
6708}
6709impl Default for ASN1_ITEM_st {
6710    fn default() -> Self {
6711        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6712        unsafe {
6713            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6714            s.assume_init()
6715        }
6716    }
6717}
6718#[repr(C)]
6719#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6720pub struct evp_encode_ctx_st {
6721    pub data_used: ::std::os::raw::c_uint,
6722    pub data: [u8; 48usize],
6723    pub eof_seen: ::std::os::raw::c_char,
6724    pub error_encountered: ::std::os::raw::c_char,
6725}
6726#[test]
6727fn bindgen_test_layout_evp_encode_ctx_st() {
6728    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6729    let ptr = UNINIT.as_ptr();
6730    assert_eq!(
6731        ::std::mem::size_of::<evp_encode_ctx_st>(),
6732        56usize,
6733        "Size of evp_encode_ctx_st"
6734    );
6735    assert_eq!(
6736        ::std::mem::align_of::<evp_encode_ctx_st>(),
6737        4usize,
6738        "Alignment of evp_encode_ctx_st"
6739    );
6740    assert_eq!(
6741        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6742        0usize,
6743        "Offset of field: evp_encode_ctx_st::data_used"
6744    );
6745    assert_eq!(
6746        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6747        4usize,
6748        "Offset of field: evp_encode_ctx_st::data"
6749    );
6750    assert_eq!(
6751        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6752        52usize,
6753        "Offset of field: evp_encode_ctx_st::eof_seen"
6754    );
6755    assert_eq!(
6756        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6757        53usize,
6758        "Offset of field: evp_encode_ctx_st::error_encountered"
6759    );
6760}
6761impl Default for evp_encode_ctx_st {
6762    fn default() -> Self {
6763        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6764        unsafe {
6765            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6766            s.assume_init()
6767        }
6768    }
6769}
6770#[repr(C)]
6771#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6772pub struct blake2b_state_st {
6773    pub h: [u64; 8usize],
6774    pub t_low: u64,
6775    pub t_high: u64,
6776    pub block: [u8; 128usize],
6777    pub block_used: usize,
6778}
6779#[test]
6780fn bindgen_test_layout_blake2b_state_st() {
6781    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6782    let ptr = UNINIT.as_ptr();
6783    assert_eq!(
6784        ::std::mem::size_of::<blake2b_state_st>(),
6785        216usize,
6786        "Size of blake2b_state_st"
6787    );
6788    assert_eq!(
6789        ::std::mem::align_of::<blake2b_state_st>(),
6790        8usize,
6791        "Alignment of blake2b_state_st"
6792    );
6793    assert_eq!(
6794        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6795        0usize,
6796        "Offset of field: blake2b_state_st::h"
6797    );
6798    assert_eq!(
6799        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6800        64usize,
6801        "Offset of field: blake2b_state_st::t_low"
6802    );
6803    assert_eq!(
6804        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6805        72usize,
6806        "Offset of field: blake2b_state_st::t_high"
6807    );
6808    assert_eq!(
6809        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6810        80usize,
6811        "Offset of field: blake2b_state_st::block"
6812    );
6813    assert_eq!(
6814        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6815        208usize,
6816        "Offset of field: blake2b_state_st::block_used"
6817    );
6818}
6819impl Default for blake2b_state_st {
6820    fn default() -> Self {
6821        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6822        unsafe {
6823            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6824            s.assume_init()
6825        }
6826    }
6827}
6828#[repr(C)]
6829#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6830pub struct cbs_st {
6831    pub data: *const u8,
6832    pub len: usize,
6833}
6834#[test]
6835fn bindgen_test_layout_cbs_st() {
6836    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6837    let ptr = UNINIT.as_ptr();
6838    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6839    assert_eq!(
6840        ::std::mem::align_of::<cbs_st>(),
6841        8usize,
6842        "Alignment of cbs_st"
6843    );
6844    assert_eq!(
6845        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6846        0usize,
6847        "Offset of field: cbs_st::data"
6848    );
6849    assert_eq!(
6850        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6851        8usize,
6852        "Offset of field: cbs_st::len"
6853    );
6854}
6855impl Default for cbs_st {
6856    fn default() -> Self {
6857        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6858        unsafe {
6859            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6860            s.assume_init()
6861        }
6862    }
6863}
6864extern "C" {
6865    #[link_name = "aws_lc_0_46_0_CBS_init"]
6866    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6867}
6868extern "C" {
6869    #[link_name = "aws_lc_0_46_0_CBS_skip"]
6870    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6871}
6872extern "C" {
6873    #[link_name = "aws_lc_0_46_0_CBS_data"]
6874    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6875}
6876extern "C" {
6877    #[link_name = "aws_lc_0_46_0_CBS_len"]
6878    pub fn CBS_len(cbs: *const CBS) -> usize;
6879}
6880extern "C" {
6881    #[link_name = "aws_lc_0_46_0_CBS_stow"]
6882    pub fn CBS_stow(
6883        cbs: *const CBS,
6884        out_ptr: *mut *mut u8,
6885        out_len: *mut usize,
6886    ) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889    #[link_name = "aws_lc_0_46_0_CBS_strdup"]
6890    pub fn CBS_strdup(
6891        cbs: *const CBS,
6892        out_ptr: *mut *mut ::std::os::raw::c_char,
6893    ) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "aws_lc_0_46_0_CBS_contains_zero_byte"]
6897    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6898}
6899extern "C" {
6900    #[link_name = "aws_lc_0_46_0_CBS_mem_equal"]
6901    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6902}
6903extern "C" {
6904    #[link_name = "aws_lc_0_46_0_CBS_get_u8"]
6905    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6906}
6907extern "C" {
6908    #[link_name = "aws_lc_0_46_0_CBS_get_u16"]
6909    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6910}
6911extern "C" {
6912    #[link_name = "aws_lc_0_46_0_CBS_get_u16le"]
6913    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6914}
6915extern "C" {
6916    #[link_name = "aws_lc_0_46_0_CBS_get_u24"]
6917    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6918}
6919extern "C" {
6920    #[link_name = "aws_lc_0_46_0_CBS_get_u32"]
6921    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6922}
6923extern "C" {
6924    #[link_name = "aws_lc_0_46_0_CBS_get_u32le"]
6925    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6926}
6927extern "C" {
6928    #[link_name = "aws_lc_0_46_0_CBS_get_u64"]
6929    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6930}
6931extern "C" {
6932    #[link_name = "aws_lc_0_46_0_CBS_get_u64le"]
6933    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6934}
6935extern "C" {
6936    #[link_name = "aws_lc_0_46_0_CBS_get_last_u8"]
6937    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6938}
6939extern "C" {
6940    #[link_name = "aws_lc_0_46_0_CBS_get_bytes"]
6941    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6942}
6943extern "C" {
6944    #[link_name = "aws_lc_0_46_0_CBS_copy_bytes"]
6945    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6946}
6947extern "C" {
6948    #[link_name = "aws_lc_0_46_0_CBS_get_u8_length_prefixed"]
6949    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6950}
6951extern "C" {
6952    #[link_name = "aws_lc_0_46_0_CBS_get_u16_length_prefixed"]
6953    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6954}
6955extern "C" {
6956    #[link_name = "aws_lc_0_46_0_CBS_get_u24_length_prefixed"]
6957    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960    #[link_name = "aws_lc_0_46_0_CBS_get_until_first"]
6961    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6962}
6963extern "C" {
6964    #[link_name = "aws_lc_0_46_0_CBS_get_u64_decimal"]
6965    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6966}
6967extern "C" {
6968    #[link_name = "aws_lc_0_46_0_CBS_get_asn1"]
6969    pub fn CBS_get_asn1(
6970        cbs: *mut CBS,
6971        out: *mut CBS,
6972        tag_value: CBS_ASN1_TAG,
6973    ) -> ::std::os::raw::c_int;
6974}
6975extern "C" {
6976    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_element"]
6977    pub fn CBS_get_asn1_element(
6978        cbs: *mut CBS,
6979        out: *mut CBS,
6980        tag_value: CBS_ASN1_TAG,
6981    ) -> ::std::os::raw::c_int;
6982}
6983extern "C" {
6984    #[link_name = "aws_lc_0_46_0_CBS_peek_asn1_tag"]
6985    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6986}
6987extern "C" {
6988    #[link_name = "aws_lc_0_46_0_CBS_get_any_asn1"]
6989    pub fn CBS_get_any_asn1(
6990        cbs: *mut CBS,
6991        out: *mut CBS,
6992        out_tag: *mut CBS_ASN1_TAG,
6993    ) -> ::std::os::raw::c_int;
6994}
6995extern "C" {
6996    #[link_name = "aws_lc_0_46_0_CBS_get_any_asn1_element"]
6997    pub fn CBS_get_any_asn1_element(
6998        cbs: *mut CBS,
6999        out: *mut CBS,
7000        out_tag: *mut CBS_ASN1_TAG,
7001        out_header_len: *mut usize,
7002    ) -> ::std::os::raw::c_int;
7003}
7004extern "C" {
7005    #[link_name = "aws_lc_0_46_0_CBS_get_any_ber_asn1_element"]
7006    pub fn CBS_get_any_ber_asn1_element(
7007        cbs: *mut CBS,
7008        out: *mut CBS,
7009        out_tag: *mut CBS_ASN1_TAG,
7010        out_header_len: *mut usize,
7011        out_ber_found: *mut ::std::os::raw::c_int,
7012        out_indefinite: *mut ::std::os::raw::c_int,
7013    ) -> ::std::os::raw::c_int;
7014}
7015extern "C" {
7016    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_uint64"]
7017    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
7018}
7019extern "C" {
7020    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_int64"]
7021    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
7022}
7023extern "C" {
7024    #[link_name = "aws_lc_0_46_0_CBS_get_asn1_bool"]
7025    pub fn CBS_get_asn1_bool(
7026        cbs: *mut CBS,
7027        out: *mut ::std::os::raw::c_int,
7028    ) -> ::std::os::raw::c_int;
7029}
7030extern "C" {
7031    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1"]
7032    pub fn CBS_get_optional_asn1(
7033        cbs: *mut CBS,
7034        out: *mut CBS,
7035        out_present: *mut ::std::os::raw::c_int,
7036        tag: CBS_ASN1_TAG,
7037    ) -> ::std::os::raw::c_int;
7038}
7039extern "C" {
7040    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_octet_string"]
7041    pub fn CBS_get_optional_asn1_octet_string(
7042        cbs: *mut CBS,
7043        out: *mut CBS,
7044        out_present: *mut ::std::os::raw::c_int,
7045        tag: CBS_ASN1_TAG,
7046    ) -> ::std::os::raw::c_int;
7047}
7048extern "C" {
7049    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_uint64"]
7050    pub fn CBS_get_optional_asn1_uint64(
7051        cbs: *mut CBS,
7052        out: *mut u64,
7053        tag: CBS_ASN1_TAG,
7054        default_value: u64,
7055    ) -> ::std::os::raw::c_int;
7056}
7057extern "C" {
7058    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_bool"]
7059    pub fn CBS_get_optional_asn1_bool(
7060        cbs: *mut CBS,
7061        out: *mut ::std::os::raw::c_int,
7062        tag: CBS_ASN1_TAG,
7063        default_value: ::std::os::raw::c_int,
7064    ) -> ::std::os::raw::c_int;
7065}
7066extern "C" {
7067    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_bitstring"]
7068    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
7069}
7070extern "C" {
7071    #[link_name = "aws_lc_0_46_0_CBS_asn1_bitstring_has_bit"]
7072    pub fn CBS_asn1_bitstring_has_bit(
7073        cbs: *const CBS,
7074        bit: ::std::os::raw::c_uint,
7075    ) -> ::std::os::raw::c_int;
7076}
7077extern "C" {
7078    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_integer"]
7079    pub fn CBS_is_valid_asn1_integer(
7080        cbs: *const CBS,
7081        out_is_negative: *mut ::std::os::raw::c_int,
7082    ) -> ::std::os::raw::c_int;
7083}
7084extern "C" {
7085    #[link_name = "aws_lc_0_46_0_CBS_is_unsigned_asn1_integer"]
7086    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
7087}
7088extern "C" {
7089    #[link_name = "aws_lc_0_46_0_CBS_is_valid_asn1_oid"]
7090    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
7091}
7092extern "C" {
7093    #[link_name = "aws_lc_0_46_0_CBS_asn1_oid_to_text"]
7094    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
7095}
7096extern "C" {
7097    #[link_name = "aws_lc_0_46_0_CBS_get_optional_asn1_int64"]
7098    pub fn CBS_get_optional_asn1_int64(
7099        cbs: *mut CBS,
7100        out: *mut i64,
7101        tag: CBS_ASN1_TAG,
7102        default_value: i64,
7103    ) -> ::std::os::raw::c_int;
7104}
7105#[repr(C)]
7106#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7107pub struct cbb_buffer_st {
7108    pub buf: *mut u8,
7109    pub len: usize,
7110    pub cap: usize,
7111    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7112    pub __bindgen_padding_0: [u8; 7usize],
7113}
7114#[test]
7115fn bindgen_test_layout_cbb_buffer_st() {
7116    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
7117    let ptr = UNINIT.as_ptr();
7118    assert_eq!(
7119        ::std::mem::size_of::<cbb_buffer_st>(),
7120        32usize,
7121        "Size of cbb_buffer_st"
7122    );
7123    assert_eq!(
7124        ::std::mem::align_of::<cbb_buffer_st>(),
7125        8usize,
7126        "Alignment of cbb_buffer_st"
7127    );
7128    assert_eq!(
7129        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7130        0usize,
7131        "Offset of field: cbb_buffer_st::buf"
7132    );
7133    assert_eq!(
7134        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7135        8usize,
7136        "Offset of field: cbb_buffer_st::len"
7137    );
7138    assert_eq!(
7139        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7140        16usize,
7141        "Offset of field: cbb_buffer_st::cap"
7142    );
7143}
7144impl Default for cbb_buffer_st {
7145    fn default() -> Self {
7146        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7147        unsafe {
7148            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7149            s.assume_init()
7150        }
7151    }
7152}
7153impl cbb_buffer_st {
7154    #[inline]
7155    #[allow(unnecessary_transmutes)]
7156    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7157        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
7158    }
7159    #[inline]
7160    #[allow(unnecessary_transmutes)]
7161    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7162        unsafe {
7163            let val: u32 = ::std::mem::transmute(val);
7164            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
7165        }
7166    }
7167    #[inline]
7168    #[allow(unnecessary_transmutes)]
7169    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7170        unsafe {
7171            ::std::mem::transmute(
7172                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
7173                    ::std::ptr::addr_of!((*this)._bitfield_1),
7174                ) as u32,
7175            )
7176        }
7177    }
7178    #[inline]
7179    #[allow(unnecessary_transmutes)]
7180    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7181        unsafe {
7182            let val: u32 = ::std::mem::transmute(val);
7183            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
7184                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7185                val as u64,
7186            )
7187        }
7188    }
7189    #[inline]
7190    #[allow(unnecessary_transmutes)]
7191    pub fn error(&self) -> ::std::os::raw::c_uint {
7192        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<1usize, 1u8>() as u32) }
7193    }
7194    #[inline]
7195    #[allow(unnecessary_transmutes)]
7196    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7197        unsafe {
7198            let val: u32 = ::std::mem::transmute(val);
7199            self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
7200        }
7201    }
7202    #[inline]
7203    #[allow(unnecessary_transmutes)]
7204    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7205        unsafe {
7206            ::std::mem::transmute(
7207                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
7208                    ::std::ptr::addr_of!((*this)._bitfield_1),
7209                ) as u32,
7210            )
7211        }
7212    }
7213    #[inline]
7214    #[allow(unnecessary_transmutes)]
7215    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7216        unsafe {
7217            let val: u32 = ::std::mem::transmute(val);
7218            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
7219                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7220                val as u64,
7221            )
7222        }
7223    }
7224    #[inline]
7225    #[allow(unnecessary_transmutes)]
7226    pub fn new_bitfield_1(
7227        can_resize: ::std::os::raw::c_uint,
7228        error: ::std::os::raw::c_uint,
7229    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7230        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7231        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
7232            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7233            can_resize as u64
7234        });
7235        __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
7236            let error: u32 = unsafe { ::std::mem::transmute(error) };
7237            error as u64
7238        });
7239        __bindgen_bitfield_unit
7240    }
7241}
7242#[repr(C)]
7243#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7244pub struct cbb_child_st {
7245    pub base: *mut cbb_buffer_st,
7246    pub offset: usize,
7247    pub pending_len_len: u8,
7248    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7249    pub __bindgen_padding_0: [u16; 3usize],
7250}
7251#[test]
7252fn bindgen_test_layout_cbb_child_st() {
7253    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7254    let ptr = UNINIT.as_ptr();
7255    assert_eq!(
7256        ::std::mem::size_of::<cbb_child_st>(),
7257        24usize,
7258        "Size of cbb_child_st"
7259    );
7260    assert_eq!(
7261        ::std::mem::align_of::<cbb_child_st>(),
7262        8usize,
7263        "Alignment of cbb_child_st"
7264    );
7265    assert_eq!(
7266        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7267        0usize,
7268        "Offset of field: cbb_child_st::base"
7269    );
7270    assert_eq!(
7271        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7272        8usize,
7273        "Offset of field: cbb_child_st::offset"
7274    );
7275    assert_eq!(
7276        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7277        16usize,
7278        "Offset of field: cbb_child_st::pending_len_len"
7279    );
7280}
7281impl Default for cbb_child_st {
7282    fn default() -> Self {
7283        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7284        unsafe {
7285            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7286            s.assume_init()
7287        }
7288    }
7289}
7290impl cbb_child_st {
7291    #[inline]
7292    #[allow(unnecessary_transmutes)]
7293    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7294        unsafe { ::std::mem::transmute(self._bitfield_1.get_const::<0usize, 1u8>() as u32) }
7295    }
7296    #[inline]
7297    #[allow(unnecessary_transmutes)]
7298    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7299        unsafe {
7300            let val: u32 = ::std::mem::transmute(val);
7301            self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
7302        }
7303    }
7304    #[inline]
7305    #[allow(unnecessary_transmutes)]
7306    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7307        unsafe {
7308            ::std::mem::transmute(
7309                <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
7310                    ::std::ptr::addr_of!((*this)._bitfield_1),
7311                ) as u32,
7312            )
7313        }
7314    }
7315    #[inline]
7316    #[allow(unnecessary_transmutes)]
7317    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7318        unsafe {
7319            let val: u32 = ::std::mem::transmute(val);
7320            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
7321                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7322                val as u64,
7323            )
7324        }
7325    }
7326    #[inline]
7327    #[allow(unnecessary_transmutes)]
7328    pub fn new_bitfield_1(
7329        pending_is_asn1: ::std::os::raw::c_uint,
7330    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7331        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7332        __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
7333            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7334            pending_is_asn1 as u64
7335        });
7336        __bindgen_bitfield_unit
7337    }
7338}
7339#[repr(C)]
7340#[derive(Copy, Clone)]
7341pub struct cbb_st {
7342    pub child: *mut CBB,
7343    pub is_child: ::std::os::raw::c_char,
7344    pub u: cbb_st__bindgen_ty_1,
7345}
7346#[repr(C)]
7347#[derive(Copy, Clone)]
7348pub union cbb_st__bindgen_ty_1 {
7349    pub base: cbb_buffer_st,
7350    pub child: cbb_child_st,
7351}
7352#[test]
7353fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7354    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7355    let ptr = UNINIT.as_ptr();
7356    assert_eq!(
7357        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7358        32usize,
7359        "Size of cbb_st__bindgen_ty_1"
7360    );
7361    assert_eq!(
7362        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7363        8usize,
7364        "Alignment of cbb_st__bindgen_ty_1"
7365    );
7366    assert_eq!(
7367        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7368        0usize,
7369        "Offset of field: cbb_st__bindgen_ty_1::base"
7370    );
7371    assert_eq!(
7372        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7373        0usize,
7374        "Offset of field: cbb_st__bindgen_ty_1::child"
7375    );
7376}
7377impl Default for cbb_st__bindgen_ty_1 {
7378    fn default() -> Self {
7379        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7380        unsafe {
7381            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7382            s.assume_init()
7383        }
7384    }
7385}
7386#[test]
7387fn bindgen_test_layout_cbb_st() {
7388    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7389    let ptr = UNINIT.as_ptr();
7390    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7391    assert_eq!(
7392        ::std::mem::align_of::<cbb_st>(),
7393        8usize,
7394        "Alignment of cbb_st"
7395    );
7396    assert_eq!(
7397        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7398        0usize,
7399        "Offset of field: cbb_st::child"
7400    );
7401    assert_eq!(
7402        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7403        8usize,
7404        "Offset of field: cbb_st::is_child"
7405    );
7406    assert_eq!(
7407        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7408        16usize,
7409        "Offset of field: cbb_st::u"
7410    );
7411}
7412impl Default for cbb_st {
7413    fn default() -> Self {
7414        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7415        unsafe {
7416            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7417            s.assume_init()
7418        }
7419    }
7420}
7421extern "C" {
7422    #[link_name = "aws_lc_0_46_0_CBB_zero"]
7423    pub fn CBB_zero(cbb: *mut CBB);
7424}
7425extern "C" {
7426    #[link_name = "aws_lc_0_46_0_CBB_init"]
7427    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7428}
7429extern "C" {
7430    #[link_name = "aws_lc_0_46_0_CBB_init_fixed"]
7431    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7432}
7433extern "C" {
7434    #[link_name = "aws_lc_0_46_0_CBB_cleanup"]
7435    pub fn CBB_cleanup(cbb: *mut CBB);
7436}
7437extern "C" {
7438    #[link_name = "aws_lc_0_46_0_CBB_finish"]
7439    pub fn CBB_finish(
7440        cbb: *mut CBB,
7441        out_data: *mut *mut u8,
7442        out_len: *mut usize,
7443    ) -> ::std::os::raw::c_int;
7444}
7445extern "C" {
7446    #[link_name = "aws_lc_0_46_0_CBB_flush"]
7447    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7448}
7449extern "C" {
7450    #[link_name = "aws_lc_0_46_0_CBB_data"]
7451    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7452}
7453extern "C" {
7454    #[link_name = "aws_lc_0_46_0_CBB_len"]
7455    pub fn CBB_len(cbb: *const CBB) -> usize;
7456}
7457extern "C" {
7458    #[link_name = "aws_lc_0_46_0_CBB_add_u8_length_prefixed"]
7459    pub fn CBB_add_u8_length_prefixed(
7460        cbb: *mut CBB,
7461        out_contents: *mut CBB,
7462    ) -> ::std::os::raw::c_int;
7463}
7464extern "C" {
7465    #[link_name = "aws_lc_0_46_0_CBB_add_u16_length_prefixed"]
7466    pub fn CBB_add_u16_length_prefixed(
7467        cbb: *mut CBB,
7468        out_contents: *mut CBB,
7469    ) -> ::std::os::raw::c_int;
7470}
7471extern "C" {
7472    #[link_name = "aws_lc_0_46_0_CBB_add_u24_length_prefixed"]
7473    pub fn CBB_add_u24_length_prefixed(
7474        cbb: *mut CBB,
7475        out_contents: *mut CBB,
7476    ) -> ::std::os::raw::c_int;
7477}
7478extern "C" {
7479    #[link_name = "aws_lc_0_46_0_CBB_add_asn1"]
7480    pub fn CBB_add_asn1(
7481        cbb: *mut CBB,
7482        out_contents: *mut CBB,
7483        tag: CBS_ASN1_TAG,
7484    ) -> ::std::os::raw::c_int;
7485}
7486extern "C" {
7487    #[link_name = "aws_lc_0_46_0_CBB_add_bytes"]
7488    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7489}
7490extern "C" {
7491    #[link_name = "aws_lc_0_46_0_CBB_add_zeros"]
7492    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7493}
7494extern "C" {
7495    #[link_name = "aws_lc_0_46_0_CBB_add_space"]
7496    pub fn CBB_add_space(
7497        cbb: *mut CBB,
7498        out_data: *mut *mut u8,
7499        len: usize,
7500    ) -> ::std::os::raw::c_int;
7501}
7502extern "C" {
7503    #[link_name = "aws_lc_0_46_0_CBB_reserve"]
7504    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7505}
7506extern "C" {
7507    #[link_name = "aws_lc_0_46_0_CBB_did_write"]
7508    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7509}
7510extern "C" {
7511    #[link_name = "aws_lc_0_46_0_CBB_add_u8"]
7512    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7513}
7514extern "C" {
7515    #[link_name = "aws_lc_0_46_0_CBB_add_u16"]
7516    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7517}
7518extern "C" {
7519    #[link_name = "aws_lc_0_46_0_CBB_add_u16le"]
7520    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7521}
7522extern "C" {
7523    #[link_name = "aws_lc_0_46_0_CBB_add_u24"]
7524    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7525}
7526extern "C" {
7527    #[link_name = "aws_lc_0_46_0_CBB_add_u32"]
7528    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7529}
7530extern "C" {
7531    #[link_name = "aws_lc_0_46_0_CBB_add_u32le"]
7532    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7533}
7534extern "C" {
7535    #[link_name = "aws_lc_0_46_0_CBB_add_u64"]
7536    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7537}
7538extern "C" {
7539    #[link_name = "aws_lc_0_46_0_CBB_add_u64le"]
7540    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7541}
7542extern "C" {
7543    #[link_name = "aws_lc_0_46_0_CBB_discard_child"]
7544    pub fn CBB_discard_child(cbb: *mut CBB);
7545}
7546extern "C" {
7547    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_uint64"]
7548    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7549}
7550extern "C" {
7551    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_uint64_with_tag"]
7552    pub fn CBB_add_asn1_uint64_with_tag(
7553        cbb: *mut CBB,
7554        value: u64,
7555        tag: CBS_ASN1_TAG,
7556    ) -> ::std::os::raw::c_int;
7557}
7558extern "C" {
7559    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_int64"]
7560    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7561}
7562extern "C" {
7563    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_int64_with_tag"]
7564    pub fn CBB_add_asn1_int64_with_tag(
7565        cbb: *mut CBB,
7566        value: i64,
7567        tag: CBS_ASN1_TAG,
7568    ) -> ::std::os::raw::c_int;
7569}
7570extern "C" {
7571    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_octet_string"]
7572    pub fn CBB_add_asn1_octet_string(
7573        cbb: *mut CBB,
7574        data: *const u8,
7575        data_len: usize,
7576    ) -> ::std::os::raw::c_int;
7577}
7578extern "C" {
7579    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_bool"]
7580    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7581}
7582extern "C" {
7583    #[link_name = "aws_lc_0_46_0_CBB_add_asn1_oid_from_text"]
7584    pub fn CBB_add_asn1_oid_from_text(
7585        cbb: *mut CBB,
7586        text: *const ::std::os::raw::c_char,
7587        len: usize,
7588    ) -> ::std::os::raw::c_int;
7589}
7590extern "C" {
7591    #[link_name = "aws_lc_0_46_0_CBB_flush_asn1_set_of"]
7592    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7593}
7594extern "C" {
7595    #[link_name = "aws_lc_0_46_0_CRYPTO_chacha_20"]
7596    pub fn CRYPTO_chacha_20(
7597        out: *mut u8,
7598        in_: *const u8,
7599        in_len: usize,
7600        key: *const u8,
7601        nonce: *const u8,
7602        counter: u32,
7603    );
7604}
7605extern "C" {
7606    #[link_name = "aws_lc_0_46_0_EVP_rc4"]
7607    pub fn EVP_rc4() -> *const EVP_CIPHER;
7608}
7609extern "C" {
7610    #[link_name = "aws_lc_0_46_0_EVP_des_cbc"]
7611    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7612}
7613extern "C" {
7614    #[link_name = "aws_lc_0_46_0_EVP_des_ecb"]
7615    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7616}
7617extern "C" {
7618    #[link_name = "aws_lc_0_46_0_EVP_des_ede"]
7619    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7620}
7621extern "C" {
7622    #[link_name = "aws_lc_0_46_0_EVP_des_ede3"]
7623    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7624}
7625extern "C" {
7626    #[link_name = "aws_lc_0_46_0_EVP_des_ede_cbc"]
7627    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7628}
7629extern "C" {
7630    #[link_name = "aws_lc_0_46_0_EVP_des_ede3_cbc"]
7631    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7632}
7633extern "C" {
7634    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ecb"]
7635    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7636}
7637extern "C" {
7638    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc"]
7639    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7640}
7641extern "C" {
7642    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ctr"]
7643    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7644}
7645extern "C" {
7646    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ofb"]
7647    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7648}
7649extern "C" {
7650    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ecb"]
7651    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7652}
7653extern "C" {
7654    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc"]
7655    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7656}
7657extern "C" {
7658    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ctr"]
7659    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7660}
7661extern "C" {
7662    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ofb"]
7663    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7664}
7665extern "C" {
7666    #[link_name = "aws_lc_0_46_0_EVP_aes_256_xts"]
7667    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7668}
7669extern "C" {
7670    #[link_name = "aws_lc_0_46_0_EVP_aes_256_wrap"]
7671    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7672}
7673extern "C" {
7674    #[link_name = "aws_lc_0_46_0_EVP_enc_null"]
7675    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7676}
7677extern "C" {
7678    #[link_name = "aws_lc_0_46_0_EVP_rc2_cbc"]
7679    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7680}
7681extern "C" {
7682    #[link_name = "aws_lc_0_46_0_EVP_rc2_40_cbc"]
7683    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7684}
7685extern "C" {
7686    #[link_name = "aws_lc_0_46_0_EVP_chacha20_poly1305"]
7687    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7688}
7689extern "C" {
7690    #[link_name = "aws_lc_0_46_0_EVP_get_cipherbynid"]
7691    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7692}
7693extern "C" {
7694    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_init"]
7695    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7696}
7697extern "C" {
7698    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_new"]
7699    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7700}
7701extern "C" {
7702    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_cleanup"]
7703    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7704}
7705extern "C" {
7706    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_free"]
7707    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7708}
7709extern "C" {
7710    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_copy"]
7711    pub fn EVP_CIPHER_CTX_copy(
7712        out: *mut EVP_CIPHER_CTX,
7713        in_: *const EVP_CIPHER_CTX,
7714    ) -> ::std::os::raw::c_int;
7715}
7716extern "C" {
7717    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_reset"]
7718    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7719}
7720extern "C" {
7721    #[link_name = "aws_lc_0_46_0_EVP_CipherInit_ex"]
7722    pub fn EVP_CipherInit_ex(
7723        ctx: *mut EVP_CIPHER_CTX,
7724        cipher: *const EVP_CIPHER,
7725        engine: *mut ENGINE,
7726        key: *const u8,
7727        iv: *const u8,
7728        enc: ::std::os::raw::c_int,
7729    ) -> ::std::os::raw::c_int;
7730}
7731extern "C" {
7732    #[link_name = "aws_lc_0_46_0_EVP_EncryptInit_ex"]
7733    pub fn EVP_EncryptInit_ex(
7734        ctx: *mut EVP_CIPHER_CTX,
7735        cipher: *const EVP_CIPHER,
7736        impl_: *mut ENGINE,
7737        key: *const u8,
7738        iv: *const u8,
7739    ) -> ::std::os::raw::c_int;
7740}
7741extern "C" {
7742    #[link_name = "aws_lc_0_46_0_EVP_DecryptInit_ex"]
7743    pub fn EVP_DecryptInit_ex(
7744        ctx: *mut EVP_CIPHER_CTX,
7745        cipher: *const EVP_CIPHER,
7746        impl_: *mut ENGINE,
7747        key: *const u8,
7748        iv: *const u8,
7749    ) -> ::std::os::raw::c_int;
7750}
7751extern "C" {
7752    #[link_name = "aws_lc_0_46_0_EVP_EncryptUpdate"]
7753    pub fn EVP_EncryptUpdate(
7754        ctx: *mut EVP_CIPHER_CTX,
7755        out: *mut u8,
7756        out_len: *mut ::std::os::raw::c_int,
7757        in_: *const u8,
7758        in_len: ::std::os::raw::c_int,
7759    ) -> ::std::os::raw::c_int;
7760}
7761extern "C" {
7762    #[link_name = "aws_lc_0_46_0_EVP_EncryptFinal_ex"]
7763    pub fn EVP_EncryptFinal_ex(
7764        ctx: *mut EVP_CIPHER_CTX,
7765        out: *mut u8,
7766        out_len: *mut ::std::os::raw::c_int,
7767    ) -> ::std::os::raw::c_int;
7768}
7769extern "C" {
7770    #[link_name = "aws_lc_0_46_0_EVP_DecryptUpdate"]
7771    pub fn EVP_DecryptUpdate(
7772        ctx: *mut EVP_CIPHER_CTX,
7773        out: *mut u8,
7774        out_len: *mut ::std::os::raw::c_int,
7775        in_: *const u8,
7776        in_len: ::std::os::raw::c_int,
7777    ) -> ::std::os::raw::c_int;
7778}
7779extern "C" {
7780    #[link_name = "aws_lc_0_46_0_EVP_DecryptFinal_ex"]
7781    pub fn EVP_DecryptFinal_ex(
7782        ctx: *mut EVP_CIPHER_CTX,
7783        out: *mut u8,
7784        out_len: *mut ::std::os::raw::c_int,
7785    ) -> ::std::os::raw::c_int;
7786}
7787extern "C" {
7788    #[link_name = "aws_lc_0_46_0_EVP_CipherUpdate"]
7789    pub fn EVP_CipherUpdate(
7790        ctx: *mut EVP_CIPHER_CTX,
7791        out: *mut u8,
7792        out_len: *mut ::std::os::raw::c_int,
7793        in_: *const u8,
7794        in_len: ::std::os::raw::c_int,
7795    ) -> ::std::os::raw::c_int;
7796}
7797extern "C" {
7798    #[link_name = "aws_lc_0_46_0_EVP_CipherFinal_ex"]
7799    pub fn EVP_CipherFinal_ex(
7800        ctx: *mut EVP_CIPHER_CTX,
7801        out: *mut u8,
7802        out_len: *mut ::std::os::raw::c_int,
7803    ) -> ::std::os::raw::c_int;
7804}
7805extern "C" {
7806    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_cipher"]
7807    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7808}
7809extern "C" {
7810    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_nid"]
7811    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7812}
7813extern "C" {
7814    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_encrypting"]
7815    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7816}
7817extern "C" {
7818    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_block_size"]
7819    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7820}
7821extern "C" {
7822    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_key_length"]
7823    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7824}
7825extern "C" {
7826    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_iv_length"]
7827    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7828}
7829extern "C" {
7830    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_get_app_data"]
7831    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7832}
7833extern "C" {
7834    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_app_data"]
7835    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7836}
7837extern "C" {
7838    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_flags"]
7839    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7840}
7841extern "C" {
7842    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_mode"]
7843    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7844}
7845extern "C" {
7846    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_ctrl"]
7847    pub fn EVP_CIPHER_CTX_ctrl(
7848        ctx: *mut EVP_CIPHER_CTX,
7849        command: ::std::os::raw::c_int,
7850        arg: ::std::os::raw::c_int,
7851        ptr: *mut ::std::os::raw::c_void,
7852    ) -> ::std::os::raw::c_int;
7853}
7854extern "C" {
7855    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_padding"]
7856    pub fn EVP_CIPHER_CTX_set_padding(
7857        ctx: *mut EVP_CIPHER_CTX,
7858        pad: ::std::os::raw::c_int,
7859    ) -> ::std::os::raw::c_int;
7860}
7861extern "C" {
7862    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_key_length"]
7863    pub fn EVP_CIPHER_CTX_set_key_length(
7864        ctx: *mut EVP_CIPHER_CTX,
7865        key_len: ::std::os::raw::c_uint,
7866    ) -> ::std::os::raw::c_int;
7867}
7868extern "C" {
7869    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_nid"]
7870    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7871}
7872extern "C" {
7873    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_name"]
7874    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7875}
7876extern "C" {
7877    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_block_size"]
7878    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7879}
7880extern "C" {
7881    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_key_length"]
7882    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7883}
7884extern "C" {
7885    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_iv_length"]
7886    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7887}
7888extern "C" {
7889    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_flags"]
7890    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7891}
7892extern "C" {
7893    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_mode"]
7894    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7895}
7896extern "C" {
7897    #[link_name = "aws_lc_0_46_0_EVP_BytesToKey"]
7898    pub fn EVP_BytesToKey(
7899        type_: *const EVP_CIPHER,
7900        md: *const EVP_MD,
7901        salt: *const u8,
7902        data: *const u8,
7903        data_len: usize,
7904        count: ::std::os::raw::c_uint,
7905        key: *mut u8,
7906        iv: *mut u8,
7907    ) -> ::std::os::raw::c_int;
7908}
7909extern "C" {
7910    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc_hmac_sha1"]
7911    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7912}
7913extern "C" {
7914    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc_hmac_sha1"]
7915    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7916}
7917extern "C" {
7918    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cbc_hmac_sha256"]
7919    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7920}
7921extern "C" {
7922    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cbc_hmac_sha256"]
7923    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7924}
7925extern "C" {
7926    #[link_name = "aws_lc_0_46_0_EVP_CipherInit"]
7927    pub fn EVP_CipherInit(
7928        ctx: *mut EVP_CIPHER_CTX,
7929        cipher: *const EVP_CIPHER,
7930        key: *const u8,
7931        iv: *const u8,
7932        enc: ::std::os::raw::c_int,
7933    ) -> ::std::os::raw::c_int;
7934}
7935extern "C" {
7936    #[link_name = "aws_lc_0_46_0_EVP_EncryptInit"]
7937    pub fn EVP_EncryptInit(
7938        ctx: *mut EVP_CIPHER_CTX,
7939        cipher: *const EVP_CIPHER,
7940        key: *const u8,
7941        iv: *const u8,
7942    ) -> ::std::os::raw::c_int;
7943}
7944extern "C" {
7945    #[link_name = "aws_lc_0_46_0_EVP_DecryptInit"]
7946    pub fn EVP_DecryptInit(
7947        ctx: *mut EVP_CIPHER_CTX,
7948        cipher: *const EVP_CIPHER,
7949        key: *const u8,
7950        iv: *const u8,
7951    ) -> ::std::os::raw::c_int;
7952}
7953extern "C" {
7954    #[link_name = "aws_lc_0_46_0_EVP_CipherFinal"]
7955    pub fn EVP_CipherFinal(
7956        ctx: *mut EVP_CIPHER_CTX,
7957        out: *mut u8,
7958        out_len: *mut ::std::os::raw::c_int,
7959    ) -> ::std::os::raw::c_int;
7960}
7961extern "C" {
7962    #[link_name = "aws_lc_0_46_0_EVP_EncryptFinal"]
7963    pub fn EVP_EncryptFinal(
7964        ctx: *mut EVP_CIPHER_CTX,
7965        out: *mut u8,
7966        out_len: *mut ::std::os::raw::c_int,
7967    ) -> ::std::os::raw::c_int;
7968}
7969extern "C" {
7970    #[link_name = "aws_lc_0_46_0_EVP_DecryptFinal"]
7971    pub fn EVP_DecryptFinal(
7972        ctx: *mut EVP_CIPHER_CTX,
7973        out: *mut u8,
7974        out_len: *mut ::std::os::raw::c_int,
7975    ) -> ::std::os::raw::c_int;
7976}
7977extern "C" {
7978    #[link_name = "aws_lc_0_46_0_EVP_Cipher"]
7979    pub fn EVP_Cipher(
7980        ctx: *mut EVP_CIPHER_CTX,
7981        out: *mut u8,
7982        in_: *const u8,
7983        in_len: usize,
7984    ) -> ::std::os::raw::c_int;
7985}
7986extern "C" {
7987    #[link_name = "aws_lc_0_46_0_EVP_get_cipherbyname"]
7988    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7989}
7990extern "C" {
7991    #[link_name = "aws_lc_0_46_0_EVP_aes_128_gcm"]
7992    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7993}
7994extern "C" {
7995    #[link_name = "aws_lc_0_46_0_EVP_aes_256_gcm"]
7996    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7997}
7998extern "C" {
7999    #[link_name = "aws_lc_0_46_0_EVP_aes_128_ccm"]
8000    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
8001}
8002extern "C" {
8003    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ccm"]
8004    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
8005}
8006extern "C" {
8007    #[link_name = "aws_lc_0_46_0_EVP_aes_256_ccm"]
8008    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
8009}
8010extern "C" {
8011    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ecb"]
8012    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
8013}
8014extern "C" {
8015    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cbc"]
8016    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
8017}
8018extern "C" {
8019    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ctr"]
8020    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
8021}
8022extern "C" {
8023    #[link_name = "aws_lc_0_46_0_EVP_aes_192_gcm"]
8024    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
8025}
8026extern "C" {
8027    #[link_name = "aws_lc_0_46_0_EVP_aes_192_ofb"]
8028    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
8029}
8030extern "C" {
8031    #[link_name = "aws_lc_0_46_0_EVP_des_ede3_ecb"]
8032    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
8033}
8034extern "C" {
8035    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb128"]
8036    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
8037}
8038extern "C" {
8039    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb"]
8040    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
8041}
8042extern "C" {
8043    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb1"]
8044    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
8045}
8046extern "C" {
8047    #[link_name = "aws_lc_0_46_0_EVP_aes_128_cfb8"]
8048    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
8049}
8050extern "C" {
8051    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb128"]
8052    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
8053}
8054extern "C" {
8055    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb"]
8056    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
8057}
8058extern "C" {
8059    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb1"]
8060    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
8061}
8062extern "C" {
8063    #[link_name = "aws_lc_0_46_0_EVP_aes_192_cfb8"]
8064    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
8065}
8066extern "C" {
8067    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb128"]
8068    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
8069}
8070extern "C" {
8071    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb"]
8072    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
8073}
8074extern "C" {
8075    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb1"]
8076    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
8077}
8078extern "C" {
8079    #[link_name = "aws_lc_0_46_0_EVP_aes_256_cfb8"]
8080    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
8081}
8082extern "C" {
8083    #[link_name = "aws_lc_0_46_0_EVP_bf_ecb"]
8084    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
8085}
8086extern "C" {
8087    #[link_name = "aws_lc_0_46_0_EVP_bf_cbc"]
8088    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
8089}
8090extern "C" {
8091    #[link_name = "aws_lc_0_46_0_EVP_bf_cfb"]
8092    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
8093}
8094extern "C" {
8095    #[link_name = "aws_lc_0_46_0_EVP_bf_cfb64"]
8096    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
8097}
8098extern "C" {
8099    #[link_name = "aws_lc_0_46_0_EVP_bf_ofb"]
8100    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
8101}
8102extern "C" {
8103    #[link_name = "aws_lc_0_46_0_EVP_cast5_ecb"]
8104    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
8105}
8106extern "C" {
8107    #[link_name = "aws_lc_0_46_0_EVP_cast5_cbc"]
8108    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
8109}
8110extern "C" {
8111    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_CTX_set_flags"]
8112    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
8113}
8114extern "C" {
8115    #[link_name = "aws_lc_0_46_0_EVP_add_cipher"]
8116    pub fn EVP_add_cipher(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
8117}
8118extern "C" {
8119    #[link_name = "aws_lc_0_46_0_EVP_add_cipher_alias"]
8120    pub fn EVP_add_cipher_alias(
8121        a: *const ::std::os::raw::c_char,
8122        b: *const ::std::os::raw::c_char,
8123    ) -> ::std::os::raw::c_int;
8124}
8125#[repr(C)]
8126#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8127pub struct evp_cipher_ctx_st {
8128    pub cipher: *const EVP_CIPHER,
8129    pub app_data: *mut ::std::os::raw::c_void,
8130    pub cipher_data: *mut ::std::os::raw::c_void,
8131    pub key_len: ::std::os::raw::c_uint,
8132    pub encrypt: ::std::os::raw::c_int,
8133    pub flags: u32,
8134    pub oiv: [u8; 16usize],
8135    pub iv: [u8; 16usize],
8136    pub buf: [u8; 32usize],
8137    pub buf_len: ::std::os::raw::c_int,
8138    pub num: ::std::os::raw::c_uint,
8139    pub final_used: ::std::os::raw::c_int,
8140    pub final_: [u8; 32usize],
8141    pub poisoned: ::std::os::raw::c_int,
8142}
8143#[test]
8144fn bindgen_test_layout_evp_cipher_ctx_st() {
8145    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8146    let ptr = UNINIT.as_ptr();
8147    assert_eq!(
8148        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8149        152usize,
8150        "Size of evp_cipher_ctx_st"
8151    );
8152    assert_eq!(
8153        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8154        8usize,
8155        "Alignment of evp_cipher_ctx_st"
8156    );
8157    assert_eq!(
8158        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8159        0usize,
8160        "Offset of field: evp_cipher_ctx_st::cipher"
8161    );
8162    assert_eq!(
8163        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8164        8usize,
8165        "Offset of field: evp_cipher_ctx_st::app_data"
8166    );
8167    assert_eq!(
8168        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8169        16usize,
8170        "Offset of field: evp_cipher_ctx_st::cipher_data"
8171    );
8172    assert_eq!(
8173        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8174        24usize,
8175        "Offset of field: evp_cipher_ctx_st::key_len"
8176    );
8177    assert_eq!(
8178        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8179        28usize,
8180        "Offset of field: evp_cipher_ctx_st::encrypt"
8181    );
8182    assert_eq!(
8183        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8184        32usize,
8185        "Offset of field: evp_cipher_ctx_st::flags"
8186    );
8187    assert_eq!(
8188        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8189        36usize,
8190        "Offset of field: evp_cipher_ctx_st::oiv"
8191    );
8192    assert_eq!(
8193        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8194        52usize,
8195        "Offset of field: evp_cipher_ctx_st::iv"
8196    );
8197    assert_eq!(
8198        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8199        68usize,
8200        "Offset of field: evp_cipher_ctx_st::buf"
8201    );
8202    assert_eq!(
8203        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8204        100usize,
8205        "Offset of field: evp_cipher_ctx_st::buf_len"
8206    );
8207    assert_eq!(
8208        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8209        104usize,
8210        "Offset of field: evp_cipher_ctx_st::num"
8211    );
8212    assert_eq!(
8213        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8214        108usize,
8215        "Offset of field: evp_cipher_ctx_st::final_used"
8216    );
8217    assert_eq!(
8218        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8219        112usize,
8220        "Offset of field: evp_cipher_ctx_st::final_"
8221    );
8222    assert_eq!(
8223        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8224        144usize,
8225        "Offset of field: evp_cipher_ctx_st::poisoned"
8226    );
8227}
8228impl Default for evp_cipher_ctx_st {
8229    fn default() -> Self {
8230        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8231        unsafe {
8232            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8233            s.assume_init()
8234        }
8235    }
8236}
8237#[repr(C)]
8238#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8239pub struct evp_cipher_info_st {
8240    pub cipher: *const EVP_CIPHER,
8241    pub iv: [::std::os::raw::c_uchar; 16usize],
8242}
8243#[test]
8244fn bindgen_test_layout_evp_cipher_info_st() {
8245    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8246    let ptr = UNINIT.as_ptr();
8247    assert_eq!(
8248        ::std::mem::size_of::<evp_cipher_info_st>(),
8249        24usize,
8250        "Size of evp_cipher_info_st"
8251    );
8252    assert_eq!(
8253        ::std::mem::align_of::<evp_cipher_info_st>(),
8254        8usize,
8255        "Alignment of evp_cipher_info_st"
8256    );
8257    assert_eq!(
8258        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8259        0usize,
8260        "Offset of field: evp_cipher_info_st::cipher"
8261    );
8262    assert_eq!(
8263        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8264        8usize,
8265        "Offset of field: evp_cipher_info_st::iv"
8266    );
8267}
8268impl Default for evp_cipher_info_st {
8269    fn default() -> Self {
8270        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8271        unsafe {
8272            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8273            s.assume_init()
8274        }
8275    }
8276}
8277pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8278extern "C" {
8279    #[link_name = "aws_lc_0_46_0_AES_CMAC"]
8280    pub fn AES_CMAC(
8281        out: *mut u8,
8282        key: *const u8,
8283        key_len: usize,
8284        in_: *const u8,
8285        in_len: usize,
8286    ) -> ::std::os::raw::c_int;
8287}
8288extern "C" {
8289    #[link_name = "aws_lc_0_46_0_CMAC_CTX_new"]
8290    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8291}
8292extern "C" {
8293    #[link_name = "aws_lc_0_46_0_CMAC_CTX_free"]
8294    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8295}
8296extern "C" {
8297    #[link_name = "aws_lc_0_46_0_CMAC_CTX_copy"]
8298    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8299}
8300extern "C" {
8301    #[link_name = "aws_lc_0_46_0_CMAC_Init"]
8302    pub fn CMAC_Init(
8303        ctx: *mut CMAC_CTX,
8304        key: *const ::std::os::raw::c_void,
8305        key_len: usize,
8306        cipher: *const EVP_CIPHER,
8307        engine: *mut ENGINE,
8308    ) -> ::std::os::raw::c_int;
8309}
8310extern "C" {
8311    #[link_name = "aws_lc_0_46_0_CMAC_Reset"]
8312    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8313}
8314extern "C" {
8315    #[link_name = "aws_lc_0_46_0_CMAC_Update"]
8316    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8317}
8318extern "C" {
8319    #[link_name = "aws_lc_0_46_0_CMAC_Final"]
8320    pub fn CMAC_Final(
8321        ctx: *mut CMAC_CTX,
8322        out: *mut u8,
8323        out_len: *mut usize,
8324    ) -> ::std::os::raw::c_int;
8325}
8326extern "C" {
8327    #[link_name = "aws_lc_0_46_0_CMAC_CTX_get0_cipher_ctx"]
8328    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8329}
8330#[repr(C)]
8331#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8332pub struct conf_value_st {
8333    pub section: *mut ::std::os::raw::c_char,
8334    pub name: *mut ::std::os::raw::c_char,
8335    pub value: *mut ::std::os::raw::c_char,
8336}
8337#[test]
8338fn bindgen_test_layout_conf_value_st() {
8339    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8340    let ptr = UNINIT.as_ptr();
8341    assert_eq!(
8342        ::std::mem::size_of::<conf_value_st>(),
8343        24usize,
8344        "Size of conf_value_st"
8345    );
8346    assert_eq!(
8347        ::std::mem::align_of::<conf_value_st>(),
8348        8usize,
8349        "Alignment of conf_value_st"
8350    );
8351    assert_eq!(
8352        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8353        0usize,
8354        "Offset of field: conf_value_st::section"
8355    );
8356    assert_eq!(
8357        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8358        8usize,
8359        "Offset of field: conf_value_st::name"
8360    );
8361    assert_eq!(
8362        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8363        16usize,
8364        "Offset of field: conf_value_st::value"
8365    );
8366}
8367impl Default for conf_value_st {
8368    fn default() -> Self {
8369        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8370        unsafe {
8371            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8372            s.assume_init()
8373        }
8374    }
8375}
8376#[repr(C)]
8377#[derive(Debug)]
8378pub struct stack_st_CONF_VALUE {
8379    _unused: [u8; 0],
8380}
8381#[repr(C)]
8382#[derive(Debug)]
8383pub struct lhash_st_CONF_VALUE {
8384    _unused: [u8; 0],
8385}
8386#[repr(C)]
8387#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8388pub struct conf_st {
8389    pub data: *mut lhash_st_CONF_VALUE,
8390}
8391#[test]
8392fn bindgen_test_layout_conf_st() {
8393    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8394    let ptr = UNINIT.as_ptr();
8395    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8396    assert_eq!(
8397        ::std::mem::align_of::<conf_st>(),
8398        8usize,
8399        "Alignment of conf_st"
8400    );
8401    assert_eq!(
8402        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8403        0usize,
8404        "Offset of field: conf_st::data"
8405    );
8406}
8407impl Default for conf_st {
8408    fn default() -> Self {
8409        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8410        unsafe {
8411            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8412            s.assume_init()
8413        }
8414    }
8415}
8416extern "C" {
8417    #[link_name = "aws_lc_0_46_0_X25519_keypair"]
8418    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8419}
8420extern "C" {
8421    #[link_name = "aws_lc_0_46_0_X25519"]
8422    pub fn X25519(
8423        out_shared_key: *mut u8,
8424        private_key: *const u8,
8425        peer_public_value: *const u8,
8426    ) -> ::std::os::raw::c_int;
8427}
8428extern "C" {
8429    #[link_name = "aws_lc_0_46_0_X25519_public_from_private"]
8430    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8431}
8432extern "C" {
8433    #[link_name = "aws_lc_0_46_0_ED25519_keypair"]
8434    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8435}
8436extern "C" {
8437    #[link_name = "aws_lc_0_46_0_ED25519_sign"]
8438    pub fn ED25519_sign(
8439        out_sig: *mut u8,
8440        message: *const u8,
8441        message_len: usize,
8442        private_key: *const u8,
8443    ) -> ::std::os::raw::c_int;
8444}
8445extern "C" {
8446    #[link_name = "aws_lc_0_46_0_ED25519_verify"]
8447    pub fn ED25519_verify(
8448        message: *const u8,
8449        message_len: usize,
8450        signature: *const u8,
8451        public_key: *const u8,
8452    ) -> ::std::os::raw::c_int;
8453}
8454extern "C" {
8455    #[link_name = "aws_lc_0_46_0_ED25519ctx_sign"]
8456    pub fn ED25519ctx_sign(
8457        out_sig: *mut u8,
8458        message: *const u8,
8459        message_len: usize,
8460        private_key: *const u8,
8461        context: *const u8,
8462        context_len: usize,
8463    ) -> ::std::os::raw::c_int;
8464}
8465extern "C" {
8466    #[link_name = "aws_lc_0_46_0_ED25519ctx_verify"]
8467    pub fn ED25519ctx_verify(
8468        message: *const u8,
8469        message_len: usize,
8470        signature: *const u8,
8471        public_key: *const u8,
8472        context: *const u8,
8473        context_len: usize,
8474    ) -> ::std::os::raw::c_int;
8475}
8476extern "C" {
8477    #[link_name = "aws_lc_0_46_0_ED25519ph_sign"]
8478    pub fn ED25519ph_sign(
8479        out_sig: *mut u8,
8480        message: *const u8,
8481        message_len: usize,
8482        private_key: *const u8,
8483        context: *const u8,
8484        context_len: usize,
8485    ) -> ::std::os::raw::c_int;
8486}
8487extern "C" {
8488    #[link_name = "aws_lc_0_46_0_ED25519ph_verify"]
8489    pub fn ED25519ph_verify(
8490        message: *const u8,
8491        message_len: usize,
8492        signature: *const u8,
8493        public_key: *const u8,
8494        context: *const u8,
8495        context_len: usize,
8496    ) -> ::std::os::raw::c_int;
8497}
8498extern "C" {
8499    #[link_name = "aws_lc_0_46_0_ED25519ph_sign_digest"]
8500    pub fn ED25519ph_sign_digest(
8501        out_sig: *mut u8,
8502        digest: *const u8,
8503        private_key: *const u8,
8504        context: *const u8,
8505        context_len: usize,
8506    ) -> ::std::os::raw::c_int;
8507}
8508extern "C" {
8509    #[link_name = "aws_lc_0_46_0_ED25519ph_verify_digest"]
8510    pub fn ED25519ph_verify_digest(
8511        digest: *const u8,
8512        signature: *const u8,
8513        public_key: *const u8,
8514        context: *const u8,
8515        context_len: usize,
8516    ) -> ::std::os::raw::c_int;
8517}
8518extern "C" {
8519    #[link_name = "aws_lc_0_46_0_ED25519_keypair_from_seed"]
8520    pub fn ED25519_keypair_from_seed(
8521        out_public_key: *mut u8,
8522        out_private_key: *mut u8,
8523        seed: *const u8,
8524    );
8525}
8526pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8527pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8528pub type spake2_role_t = ::std::os::raw::c_uint;
8529extern "C" {
8530    #[link_name = "aws_lc_0_46_0_SPAKE2_CTX_new"]
8531    pub fn SPAKE2_CTX_new(
8532        my_role: spake2_role_t,
8533        my_name: *const u8,
8534        my_name_len: usize,
8535        their_name: *const u8,
8536        their_name_len: usize,
8537    ) -> *mut SPAKE2_CTX;
8538}
8539extern "C" {
8540    #[link_name = "aws_lc_0_46_0_SPAKE2_CTX_free"]
8541    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8542}
8543extern "C" {
8544    #[link_name = "aws_lc_0_46_0_SPAKE2_generate_msg"]
8545    pub fn SPAKE2_generate_msg(
8546        ctx: *mut SPAKE2_CTX,
8547        out: *mut u8,
8548        out_len: *mut usize,
8549        max_out_len: usize,
8550        password: *const u8,
8551        password_len: usize,
8552    ) -> ::std::os::raw::c_int;
8553}
8554extern "C" {
8555    #[link_name = "aws_lc_0_46_0_SPAKE2_process_msg"]
8556    pub fn SPAKE2_process_msg(
8557        ctx: *mut SPAKE2_CTX,
8558        out_key: *mut u8,
8559        out_key_len: *mut usize,
8560        max_out_key_len: usize,
8561        their_msg: *const u8,
8562        their_msg_len: usize,
8563    ) -> ::std::os::raw::c_int;
8564}
8565extern "C" {
8566    #[link_name = "aws_lc_0_46_0_EVP_md4"]
8567    pub fn EVP_md4() -> *const EVP_MD;
8568}
8569extern "C" {
8570    #[link_name = "aws_lc_0_46_0_EVP_md5"]
8571    pub fn EVP_md5() -> *const EVP_MD;
8572}
8573extern "C" {
8574    #[link_name = "aws_lc_0_46_0_EVP_ripemd160"]
8575    pub fn EVP_ripemd160() -> *const EVP_MD;
8576}
8577extern "C" {
8578    #[link_name = "aws_lc_0_46_0_EVP_sha1"]
8579    pub fn EVP_sha1() -> *const EVP_MD;
8580}
8581extern "C" {
8582    #[link_name = "aws_lc_0_46_0_EVP_sha224"]
8583    pub fn EVP_sha224() -> *const EVP_MD;
8584}
8585extern "C" {
8586    #[link_name = "aws_lc_0_46_0_EVP_sha256"]
8587    pub fn EVP_sha256() -> *const EVP_MD;
8588}
8589extern "C" {
8590    #[link_name = "aws_lc_0_46_0_EVP_sha384"]
8591    pub fn EVP_sha384() -> *const EVP_MD;
8592}
8593extern "C" {
8594    #[link_name = "aws_lc_0_46_0_EVP_sha512"]
8595    pub fn EVP_sha512() -> *const EVP_MD;
8596}
8597extern "C" {
8598    #[link_name = "aws_lc_0_46_0_EVP_sha512_224"]
8599    pub fn EVP_sha512_224() -> *const EVP_MD;
8600}
8601extern "C" {
8602    #[link_name = "aws_lc_0_46_0_EVP_sha512_256"]
8603    pub fn EVP_sha512_256() -> *const EVP_MD;
8604}
8605extern "C" {
8606    #[link_name = "aws_lc_0_46_0_EVP_sha3_224"]
8607    pub fn EVP_sha3_224() -> *const EVP_MD;
8608}
8609extern "C" {
8610    #[link_name = "aws_lc_0_46_0_EVP_sha3_256"]
8611    pub fn EVP_sha3_256() -> *const EVP_MD;
8612}
8613extern "C" {
8614    #[link_name = "aws_lc_0_46_0_EVP_sha3_384"]
8615    pub fn EVP_sha3_384() -> *const EVP_MD;
8616}
8617extern "C" {
8618    #[link_name = "aws_lc_0_46_0_EVP_sha3_512"]
8619    pub fn EVP_sha3_512() -> *const EVP_MD;
8620}
8621extern "C" {
8622    #[link_name = "aws_lc_0_46_0_EVP_shake128"]
8623    pub fn EVP_shake128() -> *const EVP_MD;
8624}
8625extern "C" {
8626    #[link_name = "aws_lc_0_46_0_EVP_shake256"]
8627    pub fn EVP_shake256() -> *const EVP_MD;
8628}
8629extern "C" {
8630    #[link_name = "aws_lc_0_46_0_EVP_blake2b256"]
8631    pub fn EVP_blake2b256() -> *const EVP_MD;
8632}
8633extern "C" {
8634    #[link_name = "aws_lc_0_46_0_EVP_keccak256"]
8635    pub fn EVP_keccak256() -> *const EVP_MD;
8636}
8637extern "C" {
8638    #[link_name = "aws_lc_0_46_0_EVP_md5_sha1"]
8639    pub fn EVP_md5_sha1() -> *const EVP_MD;
8640}
8641extern "C" {
8642    #[link_name = "aws_lc_0_46_0_EVP_get_digestbynid"]
8643    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8644}
8645extern "C" {
8646    #[link_name = "aws_lc_0_46_0_EVP_get_digestbyobj"]
8647    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8648}
8649extern "C" {
8650    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_init"]
8651    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8652}
8653extern "C" {
8654    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_new"]
8655    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8656}
8657extern "C" {
8658    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_cleanup"]
8659    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8660}
8661extern "C" {
8662    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_cleanse"]
8663    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8664}
8665extern "C" {
8666    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_free"]
8667    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8668}
8669extern "C" {
8670    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_copy_ex"]
8671    pub fn EVP_MD_CTX_copy_ex(
8672        out: *mut EVP_MD_CTX,
8673        in_: *const EVP_MD_CTX,
8674    ) -> ::std::os::raw::c_int;
8675}
8676extern "C" {
8677    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_move"]
8678    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8679}
8680extern "C" {
8681    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_reset"]
8682    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8683}
8684extern "C" {
8685    #[link_name = "aws_lc_0_46_0_EVP_DigestInit_ex"]
8686    pub fn EVP_DigestInit_ex(
8687        ctx: *mut EVP_MD_CTX,
8688        type_: *const EVP_MD,
8689        engine: *mut ENGINE,
8690    ) -> ::std::os::raw::c_int;
8691}
8692extern "C" {
8693    #[link_name = "aws_lc_0_46_0_EVP_DigestInit"]
8694    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8695}
8696extern "C" {
8697    #[link_name = "aws_lc_0_46_0_EVP_DigestUpdate"]
8698    pub fn EVP_DigestUpdate(
8699        ctx: *mut EVP_MD_CTX,
8700        data: *const ::std::os::raw::c_void,
8701        len: usize,
8702    ) -> ::std::os::raw::c_int;
8703}
8704extern "C" {
8705    #[link_name = "aws_lc_0_46_0_EVP_DigestFinal_ex"]
8706    pub fn EVP_DigestFinal_ex(
8707        ctx: *mut EVP_MD_CTX,
8708        md_out: *mut u8,
8709        out_size: *mut ::std::os::raw::c_uint,
8710    ) -> ::std::os::raw::c_int;
8711}
8712extern "C" {
8713    #[link_name = "aws_lc_0_46_0_EVP_DigestFinal"]
8714    pub fn EVP_DigestFinal(
8715        ctx: *mut EVP_MD_CTX,
8716        md_out: *mut u8,
8717        out_size: *mut ::std::os::raw::c_uint,
8718    ) -> ::std::os::raw::c_int;
8719}
8720extern "C" {
8721    #[link_name = "aws_lc_0_46_0_EVP_Digest"]
8722    pub fn EVP_Digest(
8723        data: *const ::std::os::raw::c_void,
8724        len: usize,
8725        md_out: *mut u8,
8726        out_size: *mut ::std::os::raw::c_uint,
8727        type_: *const EVP_MD,
8728        impl_: *mut ENGINE,
8729    ) -> ::std::os::raw::c_int;
8730}
8731extern "C" {
8732    #[link_name = "aws_lc_0_46_0_EVP_MD_type"]
8733    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8734}
8735extern "C" {
8736    #[link_name = "aws_lc_0_46_0_EVP_MD_flags"]
8737    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8738}
8739extern "C" {
8740    #[link_name = "aws_lc_0_46_0_EVP_MD_size"]
8741    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8742}
8743extern "C" {
8744    #[link_name = "aws_lc_0_46_0_EVP_MD_block_size"]
8745    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8746}
8747extern "C" {
8748    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_md"]
8749    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8750}
8751extern "C" {
8752    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_size"]
8753    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8754}
8755extern "C" {
8756    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_block_size"]
8757    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8758}
8759extern "C" {
8760    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_type"]
8761    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8762}
8763extern "C" {
8764    #[link_name = "aws_lc_0_46_0_EVP_parse_digest_algorithm"]
8765    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8766}
8767extern "C" {
8768    #[link_name = "aws_lc_0_46_0_EVP_marshal_digest_algorithm"]
8769    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8770}
8771extern "C" {
8772    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_copy"]
8773    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8774}
8775extern "C" {
8776    #[link_name = "aws_lc_0_46_0_EVP_get_digestbyname"]
8777    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8778}
8779extern "C" {
8780    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_create"]
8781    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8782}
8783extern "C" {
8784    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_destroy"]
8785    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8786}
8787extern "C" {
8788    #[link_name = "aws_lc_0_46_0_EVP_DigestFinalXOF"]
8789    pub fn EVP_DigestFinalXOF(
8790        ctx: *mut EVP_MD_CTX,
8791        out: *mut u8,
8792        len: usize,
8793    ) -> ::std::os::raw::c_int;
8794}
8795extern "C" {
8796    #[link_name = "aws_lc_0_46_0_EVP_DigestSqueeze"]
8797    pub fn EVP_DigestSqueeze(
8798        ctx: *mut EVP_MD_CTX,
8799        out: *mut u8,
8800        len: usize,
8801    ) -> ::std::os::raw::c_int;
8802}
8803extern "C" {
8804    #[link_name = "aws_lc_0_46_0_EVP_MD_meth_get_flags"]
8805    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8806}
8807extern "C" {
8808    #[link_name = "aws_lc_0_46_0_EVP_MD_nid"]
8809    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8810}
8811extern "C" {
8812    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_set_pkey_ctx"]
8813    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8814}
8815extern "C" {
8816    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_get_pkey_ctx"]
8817    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8818}
8819extern "C" {
8820    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_pkey_ctx"]
8821    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8822}
8823#[repr(C)]
8824#[derive(Debug)]
8825pub struct evp_md_pctx_ops {
8826    _unused: [u8; 0],
8827}
8828#[repr(C)]
8829#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8830pub struct env_md_ctx_st {
8831    pub digest: *const EVP_MD,
8832    pub md_data: *mut ::std::os::raw::c_void,
8833    pub update: ::std::option::Option<
8834        unsafe extern "C" fn(
8835            ctx: *mut EVP_MD_CTX,
8836            data: *const ::std::os::raw::c_void,
8837            count: usize,
8838        ) -> ::std::os::raw::c_int,
8839    >,
8840    pub pctx: *mut EVP_PKEY_CTX,
8841    pub pctx_ops: *const evp_md_pctx_ops,
8842    pub flags: ::std::os::raw::c_ulong,
8843}
8844#[test]
8845fn bindgen_test_layout_env_md_ctx_st() {
8846    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8847    let ptr = UNINIT.as_ptr();
8848    assert_eq!(
8849        ::std::mem::size_of::<env_md_ctx_st>(),
8850        48usize,
8851        "Size of env_md_ctx_st"
8852    );
8853    assert_eq!(
8854        ::std::mem::align_of::<env_md_ctx_st>(),
8855        8usize,
8856        "Alignment of env_md_ctx_st"
8857    );
8858    assert_eq!(
8859        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8860        0usize,
8861        "Offset of field: env_md_ctx_st::digest"
8862    );
8863    assert_eq!(
8864        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8865        8usize,
8866        "Offset of field: env_md_ctx_st::md_data"
8867    );
8868    assert_eq!(
8869        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8870        16usize,
8871        "Offset of field: env_md_ctx_st::update"
8872    );
8873    assert_eq!(
8874        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8875        24usize,
8876        "Offset of field: env_md_ctx_st::pctx"
8877    );
8878    assert_eq!(
8879        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8880        32usize,
8881        "Offset of field: env_md_ctx_st::pctx_ops"
8882    );
8883    assert_eq!(
8884        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8885        40usize,
8886        "Offset of field: env_md_ctx_st::flags"
8887    );
8888}
8889impl Default for env_md_ctx_st {
8890    fn default() -> Self {
8891        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8892        unsafe {
8893            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8894            s.assume_init()
8895        }
8896    }
8897}
8898extern "C" {
8899    #[link_name = "aws_lc_0_46_0_EVP_MD_unstable_sha3_enable"]
8900    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8901}
8902extern "C" {
8903    #[link_name = "aws_lc_0_46_0_EVP_MD_unstable_sha3_is_enabled"]
8904    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8905}
8906extern "C" {
8907    #[link_name = "aws_lc_0_46_0_EVP_MD_CTX_set_flags"]
8908    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8909}
8910extern "C" {
8911    #[link_name = "aws_lc_0_46_0_EVP_add_digest"]
8912    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8913}
8914extern "C" {
8915    #[link_name = "aws_lc_0_46_0_EVP_md_null"]
8916    pub fn EVP_md_null() -> *const EVP_MD;
8917}
8918#[repr(C)]
8919#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8920pub struct DSA_SIG_st {
8921    pub r: *mut BIGNUM,
8922    pub s: *mut BIGNUM,
8923}
8924#[test]
8925fn bindgen_test_layout_DSA_SIG_st() {
8926    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8927    let ptr = UNINIT.as_ptr();
8928    assert_eq!(
8929        ::std::mem::size_of::<DSA_SIG_st>(),
8930        16usize,
8931        "Size of DSA_SIG_st"
8932    );
8933    assert_eq!(
8934        ::std::mem::align_of::<DSA_SIG_st>(),
8935        8usize,
8936        "Alignment of DSA_SIG_st"
8937    );
8938    assert_eq!(
8939        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8940        0usize,
8941        "Offset of field: DSA_SIG_st::r"
8942    );
8943    assert_eq!(
8944        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8945        8usize,
8946        "Offset of field: DSA_SIG_st::s"
8947    );
8948}
8949impl Default for DSA_SIG_st {
8950    fn default() -> Self {
8951        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8952        unsafe {
8953            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8954            s.assume_init()
8955        }
8956    }
8957}
8958#[repr(u32)]
8959#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8960pub enum point_conversion_form_t {
8961    POINT_CONVERSION_COMPRESSED = 2,
8962    POINT_CONVERSION_UNCOMPRESSED = 4,
8963    POINT_CONVERSION_HYBRID = 6,
8964}
8965extern "C" {
8966    #[link_name = "aws_lc_0_46_0_EC_group_p224"]
8967    pub fn EC_group_p224() -> *const EC_GROUP;
8968}
8969extern "C" {
8970    #[link_name = "aws_lc_0_46_0_EC_group_p256"]
8971    pub fn EC_group_p256() -> *const EC_GROUP;
8972}
8973extern "C" {
8974    #[link_name = "aws_lc_0_46_0_EC_group_p384"]
8975    pub fn EC_group_p384() -> *const EC_GROUP;
8976}
8977extern "C" {
8978    #[link_name = "aws_lc_0_46_0_EC_group_p521"]
8979    pub fn EC_group_p521() -> *const EC_GROUP;
8980}
8981extern "C" {
8982    #[link_name = "aws_lc_0_46_0_EC_group_secp256k1"]
8983    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8984}
8985extern "C" {
8986    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP224r1"]
8987    pub fn EC_group_brainpoolP224r1() -> *const EC_GROUP;
8988}
8989extern "C" {
8990    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP256r1"]
8991    pub fn EC_group_brainpoolP256r1() -> *const EC_GROUP;
8992}
8993extern "C" {
8994    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP320r1"]
8995    pub fn EC_group_brainpoolP320r1() -> *const EC_GROUP;
8996}
8997extern "C" {
8998    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP384r1"]
8999    pub fn EC_group_brainpoolP384r1() -> *const EC_GROUP;
9000}
9001extern "C" {
9002    #[link_name = "aws_lc_0_46_0_EC_group_brainpoolP512r1"]
9003    pub fn EC_group_brainpoolP512r1() -> *const EC_GROUP;
9004}
9005extern "C" {
9006    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_by_curve_name"]
9007    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
9008}
9009extern "C" {
9010    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_by_curve_name_mutable"]
9011    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
9012}
9013extern "C" {
9014    #[link_name = "aws_lc_0_46_0_EC_GROUP_cmp"]
9015    pub fn EC_GROUP_cmp(
9016        a: *const EC_GROUP,
9017        b: *const EC_GROUP,
9018        ignored: *mut BN_CTX,
9019    ) -> ::std::os::raw::c_int;
9020}
9021extern "C" {
9022    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_generator"]
9023    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
9024}
9025extern "C" {
9026    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_order"]
9027    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
9028}
9029extern "C" {
9030    #[link_name = "aws_lc_0_46_0_EC_GROUP_order_bits"]
9031    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9032}
9033extern "C" {
9034    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_cofactor"]
9035    pub fn EC_GROUP_get_cofactor(
9036        group: *const EC_GROUP,
9037        cofactor: *mut BIGNUM,
9038        ctx: *mut BN_CTX,
9039    ) -> ::std::os::raw::c_int;
9040}
9041extern "C" {
9042    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_curve_GFp"]
9043    pub fn EC_GROUP_get_curve_GFp(
9044        group: *const EC_GROUP,
9045        out_p: *mut BIGNUM,
9046        out_a: *mut BIGNUM,
9047        out_b: *mut BIGNUM,
9048        ctx: *mut BN_CTX,
9049    ) -> ::std::os::raw::c_int;
9050}
9051extern "C" {
9052    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_curve_name"]
9053    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9054}
9055extern "C" {
9056    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_degree"]
9057    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
9058}
9059extern "C" {
9060    #[link_name = "aws_lc_0_46_0_EC_curve_nid2nist"]
9061    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9062}
9063extern "C" {
9064    #[link_name = "aws_lc_0_46_0_EC_curve_nist2nid"]
9065    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9066}
9067extern "C" {
9068    #[link_name = "aws_lc_0_46_0_EC_POINT_new"]
9069    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
9070}
9071extern "C" {
9072    #[link_name = "aws_lc_0_46_0_EC_POINT_free"]
9073    pub fn EC_POINT_free(point: *mut EC_POINT);
9074}
9075extern "C" {
9076    #[link_name = "aws_lc_0_46_0_EC_POINT_copy"]
9077    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
9078}
9079extern "C" {
9080    #[link_name = "aws_lc_0_46_0_EC_POINT_dup"]
9081    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
9082}
9083extern "C" {
9084    #[link_name = "aws_lc_0_46_0_EC_POINT_set_to_infinity"]
9085    pub fn EC_POINT_set_to_infinity(
9086        group: *const EC_GROUP,
9087        point: *mut EC_POINT,
9088    ) -> ::std::os::raw::c_int;
9089}
9090extern "C" {
9091    #[link_name = "aws_lc_0_46_0_EC_POINT_is_at_infinity"]
9092    pub fn EC_POINT_is_at_infinity(
9093        group: *const EC_GROUP,
9094        point: *const EC_POINT,
9095    ) -> ::std::os::raw::c_int;
9096}
9097extern "C" {
9098    #[link_name = "aws_lc_0_46_0_EC_POINT_is_on_curve"]
9099    pub fn EC_POINT_is_on_curve(
9100        group: *const EC_GROUP,
9101        point: *const EC_POINT,
9102        ctx: *mut BN_CTX,
9103    ) -> ::std::os::raw::c_int;
9104}
9105extern "C" {
9106    #[link_name = "aws_lc_0_46_0_EC_POINT_cmp"]
9107    pub fn EC_POINT_cmp(
9108        group: *const EC_GROUP,
9109        a: *const EC_POINT,
9110        b: *const EC_POINT,
9111        ctx: *mut BN_CTX,
9112    ) -> ::std::os::raw::c_int;
9113}
9114extern "C" {
9115    #[link_name = "aws_lc_0_46_0_EC_POINT_get_affine_coordinates_GFp"]
9116    pub fn EC_POINT_get_affine_coordinates_GFp(
9117        group: *const EC_GROUP,
9118        point: *const EC_POINT,
9119        x: *mut BIGNUM,
9120        y: *mut BIGNUM,
9121        ctx: *mut BN_CTX,
9122    ) -> ::std::os::raw::c_int;
9123}
9124extern "C" {
9125    #[link_name = "aws_lc_0_46_0_EC_POINT_get_affine_coordinates"]
9126    pub fn EC_POINT_get_affine_coordinates(
9127        group: *const EC_GROUP,
9128        point: *const EC_POINT,
9129        x: *mut BIGNUM,
9130        y: *mut BIGNUM,
9131        ctx: *mut BN_CTX,
9132    ) -> ::std::os::raw::c_int;
9133}
9134extern "C" {
9135    #[link_name = "aws_lc_0_46_0_EC_POINT_set_affine_coordinates_GFp"]
9136    pub fn EC_POINT_set_affine_coordinates_GFp(
9137        group: *const EC_GROUP,
9138        point: *mut EC_POINT,
9139        x: *const BIGNUM,
9140        y: *const BIGNUM,
9141        ctx: *mut BN_CTX,
9142    ) -> ::std::os::raw::c_int;
9143}
9144extern "C" {
9145    #[link_name = "aws_lc_0_46_0_EC_POINT_set_affine_coordinates"]
9146    pub fn EC_POINT_set_affine_coordinates(
9147        group: *const EC_GROUP,
9148        point: *mut EC_POINT,
9149        x: *const BIGNUM,
9150        y: *const BIGNUM,
9151        ctx: *mut BN_CTX,
9152    ) -> ::std::os::raw::c_int;
9153}
9154extern "C" {
9155    #[link_name = "aws_lc_0_46_0_EC_POINT_point2oct"]
9156    pub fn EC_POINT_point2oct(
9157        group: *const EC_GROUP,
9158        point: *const EC_POINT,
9159        form: point_conversion_form_t,
9160        buf: *mut u8,
9161        len: usize,
9162        ctx: *mut BN_CTX,
9163    ) -> usize;
9164}
9165extern "C" {
9166    #[link_name = "aws_lc_0_46_0_EC_POINT_point2cbb"]
9167    pub fn EC_POINT_point2cbb(
9168        out: *mut CBB,
9169        group: *const EC_GROUP,
9170        point: *const EC_POINT,
9171        form: point_conversion_form_t,
9172        ctx: *mut BN_CTX,
9173    ) -> ::std::os::raw::c_int;
9174}
9175extern "C" {
9176    #[link_name = "aws_lc_0_46_0_EC_POINT_oct2point"]
9177    pub fn EC_POINT_oct2point(
9178        group: *const EC_GROUP,
9179        point: *mut EC_POINT,
9180        buf: *const u8,
9181        len: usize,
9182        ctx: *mut BN_CTX,
9183    ) -> ::std::os::raw::c_int;
9184}
9185extern "C" {
9186    #[link_name = "aws_lc_0_46_0_EC_POINT_set_compressed_coordinates_GFp"]
9187    pub fn EC_POINT_set_compressed_coordinates_GFp(
9188        group: *const EC_GROUP,
9189        point: *mut EC_POINT,
9190        x: *const BIGNUM,
9191        y_bit: ::std::os::raw::c_int,
9192        ctx: *mut BN_CTX,
9193    ) -> ::std::os::raw::c_int;
9194}
9195extern "C" {
9196    #[link_name = "aws_lc_0_46_0_EC_POINT_add"]
9197    pub fn EC_POINT_add(
9198        group: *const EC_GROUP,
9199        r: *mut EC_POINT,
9200        a: *const EC_POINT,
9201        b: *const EC_POINT,
9202        ctx: *mut BN_CTX,
9203    ) -> ::std::os::raw::c_int;
9204}
9205extern "C" {
9206    #[link_name = "aws_lc_0_46_0_EC_POINT_dbl"]
9207    pub fn EC_POINT_dbl(
9208        group: *const EC_GROUP,
9209        r: *mut EC_POINT,
9210        a: *const EC_POINT,
9211        ctx: *mut BN_CTX,
9212    ) -> ::std::os::raw::c_int;
9213}
9214extern "C" {
9215    #[link_name = "aws_lc_0_46_0_EC_POINT_invert"]
9216    pub fn EC_POINT_invert(
9217        group: *const EC_GROUP,
9218        a: *mut EC_POINT,
9219        ctx: *mut BN_CTX,
9220    ) -> ::std::os::raw::c_int;
9221}
9222extern "C" {
9223    #[link_name = "aws_lc_0_46_0_EC_POINT_mul"]
9224    pub fn EC_POINT_mul(
9225        group: *const EC_GROUP,
9226        r: *mut EC_POINT,
9227        n: *const BIGNUM,
9228        q: *const EC_POINT,
9229        m: *const BIGNUM,
9230        ctx: *mut BN_CTX,
9231    ) -> ::std::os::raw::c_int;
9232}
9233extern "C" {
9234    #[link_name = "aws_lc_0_46_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9235    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9236        group: *const EC_GROUP,
9237        out: *mut EC_POINT,
9238        dst: *const u8,
9239        dst_len: usize,
9240        msg: *const u8,
9241        msg_len: usize,
9242    ) -> ::std::os::raw::c_int;
9243}
9244extern "C" {
9245    #[link_name = "aws_lc_0_46_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9246    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9247        group: *const EC_GROUP,
9248        out: *mut EC_POINT,
9249        dst: *const u8,
9250        dst_len: usize,
9251        msg: *const u8,
9252        msg_len: usize,
9253    ) -> ::std::os::raw::c_int;
9254}
9255extern "C" {
9256    #[link_name = "aws_lc_0_46_0_EC_GROUP_free"]
9257    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9258}
9259extern "C" {
9260    #[link_name = "aws_lc_0_46_0_EC_GROUP_dup"]
9261    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9262}
9263extern "C" {
9264    #[link_name = "aws_lc_0_46_0_EC_GROUP_new_curve_GFp"]
9265    pub fn EC_GROUP_new_curve_GFp(
9266        p: *const BIGNUM,
9267        a: *const BIGNUM,
9268        b: *const BIGNUM,
9269        ctx: *mut BN_CTX,
9270    ) -> *mut EC_GROUP;
9271}
9272extern "C" {
9273    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_generator"]
9274    pub fn EC_GROUP_set_generator(
9275        group: *mut EC_GROUP,
9276        generator: *const EC_POINT,
9277        order: *const BIGNUM,
9278        cofactor: *const BIGNUM,
9279    ) -> ::std::os::raw::c_int;
9280}
9281extern "C" {
9282    #[link_name = "aws_lc_0_46_0_EC_POINT_point2bn"]
9283    pub fn EC_POINT_point2bn(
9284        group: *const EC_GROUP,
9285        point: *const EC_POINT,
9286        form: point_conversion_form_t,
9287        ret: *mut BIGNUM,
9288        ctx: *mut BN_CTX,
9289    ) -> *mut BIGNUM;
9290}
9291extern "C" {
9292    #[link_name = "aws_lc_0_46_0_EC_POINT_bn2point"]
9293    pub fn EC_POINT_bn2point(
9294        group: *const EC_GROUP,
9295        bn: *const BIGNUM,
9296        point: *mut EC_POINT,
9297        ctx: *mut BN_CTX,
9298    ) -> *mut EC_POINT;
9299}
9300extern "C" {
9301    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_order"]
9302    pub fn EC_GROUP_get_order(
9303        group: *const EC_GROUP,
9304        order: *mut BIGNUM,
9305        ctx: *mut BN_CTX,
9306    ) -> ::std::os::raw::c_int;
9307}
9308#[repr(C)]
9309#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9310pub struct EC_builtin_curve {
9311    pub nid: ::std::os::raw::c_int,
9312    pub comment: *const ::std::os::raw::c_char,
9313}
9314#[test]
9315fn bindgen_test_layout_EC_builtin_curve() {
9316    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9317    let ptr = UNINIT.as_ptr();
9318    assert_eq!(
9319        ::std::mem::size_of::<EC_builtin_curve>(),
9320        16usize,
9321        "Size of EC_builtin_curve"
9322    );
9323    assert_eq!(
9324        ::std::mem::align_of::<EC_builtin_curve>(),
9325        8usize,
9326        "Alignment of EC_builtin_curve"
9327    );
9328    assert_eq!(
9329        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9330        0usize,
9331        "Offset of field: EC_builtin_curve::nid"
9332    );
9333    assert_eq!(
9334        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9335        8usize,
9336        "Offset of field: EC_builtin_curve::comment"
9337    );
9338}
9339impl Default for EC_builtin_curve {
9340    fn default() -> Self {
9341        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9342        unsafe {
9343            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9344            s.assume_init()
9345        }
9346    }
9347}
9348extern "C" {
9349    #[link_name = "aws_lc_0_46_0_EC_get_builtin_curves"]
9350    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9351        -> usize;
9352}
9353extern "C" {
9354    #[link_name = "aws_lc_0_46_0_EC_POINT_clear_free"]
9355    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9356}
9357extern "C" {
9358    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_seed"]
9359    pub fn EC_GROUP_set_seed(
9360        group: *mut EC_GROUP,
9361        p: *const ::std::os::raw::c_uchar,
9362        len: usize,
9363    ) -> usize;
9364}
9365extern "C" {
9366    #[link_name = "aws_lc_0_46_0_EC_GROUP_get0_seed"]
9367    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9368}
9369extern "C" {
9370    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_seed_len"]
9371    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9372}
9373extern "C" {
9374    #[link_name = "aws_lc_0_46_0_ECPKParameters_print"]
9375    pub fn ECPKParameters_print(
9376        bio: *mut BIO,
9377        group: *const EC_GROUP,
9378        offset: ::std::os::raw::c_int,
9379    ) -> ::std::os::raw::c_int;
9380}
9381extern "C" {
9382    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_asn1_flag"]
9383    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9384}
9385extern "C" {
9386    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_asn1_flag"]
9387    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9388}
9389extern "C" {
9390    #[link_name = "aws_lc_0_46_0_EC_GROUP_set_point_conversion_form"]
9391    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9392}
9393extern "C" {
9394    #[link_name = "aws_lc_0_46_0_EC_GROUP_get_point_conversion_form"]
9395    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9396}
9397extern "C" {
9398    #[link_name = "aws_lc_0_46_0_EC_KEY_decoded_from_explicit_params"]
9399    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9400}
9401#[repr(C)]
9402#[derive(Debug)]
9403pub struct ec_method_st {
9404    _unused: [u8; 0],
9405}
9406pub type EC_METHOD = ec_method_st;
9407extern "C" {
9408    #[link_name = "aws_lc_0_46_0_EC_GROUP_method_of"]
9409    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9410}
9411extern "C" {
9412    #[link_name = "aws_lc_0_46_0_EC_METHOD_get_field_type"]
9413    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9414}
9415extern "C" {
9416    #[link_name = "aws_lc_0_46_0_EC_KEY_new"]
9417    pub fn EC_KEY_new() -> *mut EC_KEY;
9418}
9419extern "C" {
9420    #[link_name = "aws_lc_0_46_0_EC_KEY_new_method"]
9421    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9422}
9423extern "C" {
9424    #[link_name = "aws_lc_0_46_0_EC_KEY_new_by_curve_name"]
9425    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9426}
9427extern "C" {
9428    #[link_name = "aws_lc_0_46_0_EC_KEY_free"]
9429    pub fn EC_KEY_free(key: *mut EC_KEY);
9430}
9431extern "C" {
9432    #[link_name = "aws_lc_0_46_0_EC_KEY_dup"]
9433    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9434}
9435extern "C" {
9436    #[link_name = "aws_lc_0_46_0_EC_KEY_up_ref"]
9437    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9438}
9439extern "C" {
9440    #[link_name = "aws_lc_0_46_0_EC_KEY_is_opaque"]
9441    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9442}
9443extern "C" {
9444    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_group"]
9445    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9446}
9447extern "C" {
9448    #[link_name = "aws_lc_0_46_0_EC_KEY_set_group"]
9449    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9450}
9451extern "C" {
9452    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_private_key"]
9453    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9454}
9455extern "C" {
9456    #[link_name = "aws_lc_0_46_0_EC_KEY_set_private_key"]
9457    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9458}
9459extern "C" {
9460    #[link_name = "aws_lc_0_46_0_EC_KEY_get0_public_key"]
9461    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9462}
9463extern "C" {
9464    #[link_name = "aws_lc_0_46_0_EC_KEY_set_public_key"]
9465    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9466}
9467extern "C" {
9468    #[link_name = "aws_lc_0_46_0_EC_KEY_get_enc_flags"]
9469    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9470}
9471extern "C" {
9472    #[link_name = "aws_lc_0_46_0_EC_KEY_set_enc_flags"]
9473    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9474}
9475extern "C" {
9476    #[link_name = "aws_lc_0_46_0_EC_KEY_get_conv_form"]
9477    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9478}
9479extern "C" {
9480    #[link_name = "aws_lc_0_46_0_EC_KEY_set_conv_form"]
9481    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9482}
9483extern "C" {
9484    #[link_name = "aws_lc_0_46_0_EC_KEY_check_key"]
9485    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9486}
9487extern "C" {
9488    #[link_name = "aws_lc_0_46_0_EC_KEY_check_fips"]
9489    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9490}
9491extern "C" {
9492    #[link_name = "aws_lc_0_46_0_EC_KEY_set_public_key_affine_coordinates"]
9493    pub fn EC_KEY_set_public_key_affine_coordinates(
9494        key: *mut EC_KEY,
9495        x: *const BIGNUM,
9496        y: *const BIGNUM,
9497    ) -> ::std::os::raw::c_int;
9498}
9499extern "C" {
9500    #[link_name = "aws_lc_0_46_0_EC_KEY_key2buf"]
9501    pub fn EC_KEY_key2buf(
9502        key: *const EC_KEY,
9503        form: point_conversion_form_t,
9504        out_buf: *mut *mut ::std::os::raw::c_uchar,
9505        ctx: *mut BN_CTX,
9506    ) -> usize;
9507}
9508extern "C" {
9509    #[link_name = "aws_lc_0_46_0_EC_KEY_generate_key"]
9510    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9511}
9512extern "C" {
9513    #[link_name = "aws_lc_0_46_0_EC_KEY_generate_key_fips"]
9514    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9515}
9516extern "C" {
9517    #[link_name = "aws_lc_0_46_0_EC_KEY_derive_from_secret"]
9518    pub fn EC_KEY_derive_from_secret(
9519        group: *const EC_GROUP,
9520        secret: *const u8,
9521        secret_len: usize,
9522    ) -> *mut EC_KEY;
9523}
9524extern "C" {
9525    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_private_key"]
9526    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9527}
9528extern "C" {
9529    #[link_name = "aws_lc_0_46_0_EC_KEY_marshal_private_key"]
9530    pub fn EC_KEY_marshal_private_key(
9531        cbb: *mut CBB,
9532        key: *const EC_KEY,
9533        enc_flags: ::std::os::raw::c_uint,
9534    ) -> ::std::os::raw::c_int;
9535}
9536extern "C" {
9537    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_curve_name"]
9538    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9539}
9540extern "C" {
9541    #[link_name = "aws_lc_0_46_0_EC_KEY_marshal_curve_name"]
9542    pub fn EC_KEY_marshal_curve_name(
9543        cbb: *mut CBB,
9544        group: *const EC_GROUP,
9545    ) -> ::std::os::raw::c_int;
9546}
9547extern "C" {
9548    #[link_name = "aws_lc_0_46_0_EC_KEY_parse_parameters"]
9549    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9550}
9551extern "C" {
9552    #[link_name = "aws_lc_0_46_0_EC_KEY_get_ex_new_index"]
9553    pub fn EC_KEY_get_ex_new_index(
9554        argl: ::std::os::raw::c_long,
9555        argp: *mut ::std::os::raw::c_void,
9556        unused: *mut CRYPTO_EX_unused,
9557        dup_unused: CRYPTO_EX_dup,
9558        free_func: CRYPTO_EX_free,
9559    ) -> ::std::os::raw::c_int;
9560}
9561extern "C" {
9562    #[link_name = "aws_lc_0_46_0_EC_KEY_set_ex_data"]
9563    pub fn EC_KEY_set_ex_data(
9564        r: *mut EC_KEY,
9565        idx: ::std::os::raw::c_int,
9566        arg: *mut ::std::os::raw::c_void,
9567    ) -> ::std::os::raw::c_int;
9568}
9569extern "C" {
9570    #[link_name = "aws_lc_0_46_0_EC_KEY_get_ex_data"]
9571    pub fn EC_KEY_get_ex_data(
9572        r: *const EC_KEY,
9573        idx: ::std::os::raw::c_int,
9574    ) -> *mut ::std::os::raw::c_void;
9575}
9576extern "C" {
9577    #[link_name = "aws_lc_0_46_0_d2i_ECPrivateKey"]
9578    pub fn d2i_ECPrivateKey(
9579        out_key: *mut *mut EC_KEY,
9580        inp: *mut *const u8,
9581        len: ::std::os::raw::c_long,
9582    ) -> *mut EC_KEY;
9583}
9584extern "C" {
9585    #[link_name = "aws_lc_0_46_0_i2d_ECPrivateKey"]
9586    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9587}
9588extern "C" {
9589    #[link_name = "aws_lc_0_46_0_d2i_ECParameters"]
9590    pub fn d2i_ECParameters(
9591        out_key: *mut *mut EC_KEY,
9592        inp: *mut *const u8,
9593        len: ::std::os::raw::c_long,
9594    ) -> *mut EC_KEY;
9595}
9596extern "C" {
9597    #[link_name = "aws_lc_0_46_0_i2d_ECParameters"]
9598    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9599}
9600extern "C" {
9601    #[link_name = "aws_lc_0_46_0_d2i_ECPKParameters"]
9602    pub fn d2i_ECPKParameters(
9603        out_group: *mut *mut EC_GROUP,
9604        inp: *mut *const u8,
9605        len: ::std::os::raw::c_long,
9606    ) -> *mut EC_GROUP;
9607}
9608extern "C" {
9609    #[link_name = "aws_lc_0_46_0_i2d_ECPKParameters"]
9610    pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9611}
9612extern "C" {
9613    #[link_name = "aws_lc_0_46_0_d2i_ECPKParameters_bio"]
9614    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9615}
9616extern "C" {
9617    #[link_name = "aws_lc_0_46_0_i2d_ECPKParameters_bio"]
9618    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9619}
9620extern "C" {
9621    #[link_name = "aws_lc_0_46_0_o2i_ECPublicKey"]
9622    pub fn o2i_ECPublicKey(
9623        out_key: *mut *mut EC_KEY,
9624        inp: *mut *const u8,
9625        len: ::std::os::raw::c_long,
9626    ) -> *mut EC_KEY;
9627}
9628extern "C" {
9629    #[link_name = "aws_lc_0_46_0_i2o_ECPublicKey"]
9630    pub fn i2o_ECPublicKey(
9631        key: *const EC_KEY,
9632        outp: *mut *mut ::std::os::raw::c_uchar,
9633    ) -> ::std::os::raw::c_int;
9634}
9635extern "C" {
9636    #[link_name = "aws_lc_0_46_0_EC_KEY_get_default_method"]
9637    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9638}
9639extern "C" {
9640    #[link_name = "aws_lc_0_46_0_EC_KEY_OpenSSL"]
9641    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9642}
9643extern "C" {
9644    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_new"]
9645    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9646}
9647extern "C" {
9648    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_free"]
9649    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9650}
9651extern "C" {
9652    #[link_name = "aws_lc_0_46_0_EC_KEY_set_method"]
9653    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9654}
9655extern "C" {
9656    #[link_name = "aws_lc_0_46_0_EC_KEY_get_method"]
9657    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9658}
9659extern "C" {
9660    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_sign_awslc"]
9661    pub fn EC_KEY_METHOD_set_sign_awslc(
9662        meth: *mut EC_KEY_METHOD,
9663        sign: ::std::option::Option<
9664            unsafe extern "C" fn(
9665                type_: ::std::os::raw::c_int,
9666                digest: *const u8,
9667                digest_len: ::std::os::raw::c_int,
9668                sig: *mut u8,
9669                siglen: *mut ::std::os::raw::c_uint,
9670                k_inv: *const BIGNUM,
9671                r: *const BIGNUM,
9672                eckey: *mut EC_KEY,
9673            ) -> ::std::os::raw::c_int,
9674        >,
9675        sign_sig: ::std::option::Option<
9676            unsafe extern "C" fn(
9677                digest: *const u8,
9678                digest_len: ::std::os::raw::c_int,
9679                in_kinv: *const BIGNUM,
9680                in_r: *const BIGNUM,
9681                eckey: *mut EC_KEY,
9682            ) -> *mut ECDSA_SIG,
9683        >,
9684    );
9685}
9686extern "C" {
9687    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_init_awslc"]
9688    pub fn EC_KEY_METHOD_set_init_awslc(
9689        meth: *mut EC_KEY_METHOD,
9690        init: ::std::option::Option<
9691            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9692        >,
9693        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9694    );
9695}
9696extern "C" {
9697    #[link_name = "aws_lc_0_46_0_EC_KEY_METHOD_set_flags"]
9698    pub fn EC_KEY_METHOD_set_flags(
9699        meth: *mut EC_KEY_METHOD,
9700        flags: ::std::os::raw::c_int,
9701    ) -> ::std::os::raw::c_int;
9702}
9703extern "C" {
9704    #[link_name = "aws_lc_0_46_0_EC_KEY_set_asn1_flag"]
9705    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9706}
9707extern "C" {
9708    #[link_name = "aws_lc_0_46_0_ECDH_compute_key"]
9709    pub fn ECDH_compute_key(
9710        out: *mut ::std::os::raw::c_void,
9711        outlen: usize,
9712        pub_key: *const EC_POINT,
9713        priv_key: *const EC_KEY,
9714        kdf: ::std::option::Option<
9715            unsafe extern "C" fn(
9716                in_: *const ::std::os::raw::c_void,
9717                inlen: usize,
9718                out: *mut ::std::os::raw::c_void,
9719                outlen: *mut usize,
9720            ) -> *mut ::std::os::raw::c_void,
9721        >,
9722    ) -> ::std::os::raw::c_int;
9723}
9724extern "C" {
9725    #[link_name = "aws_lc_0_46_0_ECDH_compute_key_fips"]
9726    pub fn ECDH_compute_key_fips(
9727        out: *mut u8,
9728        out_len: usize,
9729        pub_key: *const EC_POINT,
9730        priv_key: *const EC_KEY,
9731    ) -> ::std::os::raw::c_int;
9732}
9733extern "C" {
9734    #[link_name = "aws_lc_0_46_0_ECDSA_sign"]
9735    pub fn ECDSA_sign(
9736        type_: ::std::os::raw::c_int,
9737        digest: *const u8,
9738        digest_len: usize,
9739        sig: *mut u8,
9740        sig_len: *mut ::std::os::raw::c_uint,
9741        key: *const EC_KEY,
9742    ) -> ::std::os::raw::c_int;
9743}
9744extern "C" {
9745    #[link_name = "aws_lc_0_46_0_ECDSA_verify"]
9746    pub fn ECDSA_verify(
9747        type_: ::std::os::raw::c_int,
9748        digest: *const u8,
9749        digest_len: usize,
9750        sig: *const u8,
9751        sig_len: usize,
9752        key: *const EC_KEY,
9753    ) -> ::std::os::raw::c_int;
9754}
9755extern "C" {
9756    #[link_name = "aws_lc_0_46_0_ECDSA_size"]
9757    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9758}
9759#[repr(C)]
9760#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9761pub struct ecdsa_sig_st {
9762    pub r: *mut BIGNUM,
9763    pub s: *mut BIGNUM,
9764}
9765#[test]
9766fn bindgen_test_layout_ecdsa_sig_st() {
9767    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9768    let ptr = UNINIT.as_ptr();
9769    assert_eq!(
9770        ::std::mem::size_of::<ecdsa_sig_st>(),
9771        16usize,
9772        "Size of ecdsa_sig_st"
9773    );
9774    assert_eq!(
9775        ::std::mem::align_of::<ecdsa_sig_st>(),
9776        8usize,
9777        "Alignment of ecdsa_sig_st"
9778    );
9779    assert_eq!(
9780        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9781        0usize,
9782        "Offset of field: ecdsa_sig_st::r"
9783    );
9784    assert_eq!(
9785        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9786        8usize,
9787        "Offset of field: ecdsa_sig_st::s"
9788    );
9789}
9790impl Default for ecdsa_sig_st {
9791    fn default() -> Self {
9792        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9793        unsafe {
9794            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9795            s.assume_init()
9796        }
9797    }
9798}
9799extern "C" {
9800    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_new"]
9801    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9802}
9803extern "C" {
9804    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_free"]
9805    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9806}
9807extern "C" {
9808    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0_r"]
9809    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9810}
9811extern "C" {
9812    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0_s"]
9813    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9814}
9815extern "C" {
9816    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_get0"]
9817    pub fn ECDSA_SIG_get0(
9818        sig: *const ECDSA_SIG,
9819        out_r: *mut *const BIGNUM,
9820        out_s: *mut *const BIGNUM,
9821    );
9822}
9823extern "C" {
9824    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_set0"]
9825    pub fn ECDSA_SIG_set0(
9826        sig: *mut ECDSA_SIG,
9827        r: *mut BIGNUM,
9828        s: *mut BIGNUM,
9829    ) -> ::std::os::raw::c_int;
9830}
9831extern "C" {
9832    #[link_name = "aws_lc_0_46_0_ECDSA_do_sign"]
9833    pub fn ECDSA_do_sign(
9834        digest: *const u8,
9835        digest_len: usize,
9836        key: *const EC_KEY,
9837    ) -> *mut ECDSA_SIG;
9838}
9839extern "C" {
9840    #[link_name = "aws_lc_0_46_0_ECDSA_do_verify"]
9841    pub fn ECDSA_do_verify(
9842        digest: *const u8,
9843        digest_len: usize,
9844        sig: *const ECDSA_SIG,
9845        key: *const EC_KEY,
9846    ) -> ::std::os::raw::c_int;
9847}
9848extern "C" {
9849    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_parse"]
9850    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9851}
9852extern "C" {
9853    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_from_bytes"]
9854    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9855}
9856extern "C" {
9857    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_marshal"]
9858    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9859}
9860extern "C" {
9861    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_to_bytes"]
9862    pub fn ECDSA_SIG_to_bytes(
9863        out_bytes: *mut *mut u8,
9864        out_len: *mut usize,
9865        sig: *const ECDSA_SIG,
9866    ) -> ::std::os::raw::c_int;
9867}
9868extern "C" {
9869    #[link_name = "aws_lc_0_46_0_ECDSA_SIG_max_len"]
9870    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9871}
9872extern "C" {
9873    #[link_name = "aws_lc_0_46_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9874    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9875        digest: *const u8,
9876        digest_len: usize,
9877        eckey: *const EC_KEY,
9878        nonce: *const u8,
9879        nonce_len: usize,
9880    ) -> *mut ECDSA_SIG;
9881}
9882extern "C" {
9883    #[link_name = "aws_lc_0_46_0_d2i_ECDSA_SIG"]
9884    pub fn d2i_ECDSA_SIG(
9885        out: *mut *mut ECDSA_SIG,
9886        inp: *mut *const u8,
9887        len: ::std::os::raw::c_long,
9888    ) -> *mut ECDSA_SIG;
9889}
9890extern "C" {
9891    #[link_name = "aws_lc_0_46_0_i2d_ECDSA_SIG"]
9892    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9893}
9894extern "C" {
9895    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm"]
9896    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9897}
9898extern "C" {
9899    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_192_gcm"]
9900    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9901}
9902extern "C" {
9903    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm"]
9904    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9905}
9906extern "C" {
9907    #[link_name = "aws_lc_0_46_0_EVP_aead_chacha20_poly1305"]
9908    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9909}
9910extern "C" {
9911    #[link_name = "aws_lc_0_46_0_EVP_aead_xchacha20_poly1305"]
9912    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9913}
9914extern "C" {
9915    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9916    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9917}
9918extern "C" {
9919    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9920    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9921}
9922extern "C" {
9923    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_siv"]
9924    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9925}
9926extern "C" {
9927    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_siv"]
9928    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9929}
9930extern "C" {
9931    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_randnonce"]
9932    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9933}
9934extern "C" {
9935    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_randnonce"]
9936    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9937}
9938extern "C" {
9939    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_bluetooth"]
9940    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9941}
9942extern "C" {
9943    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9944    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9945}
9946extern "C" {
9947    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_ccm_matter"]
9948    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9949}
9950extern "C" {
9951    #[link_name = "aws_lc_0_46_0_EVP_has_aes_hardware"]
9952    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9953}
9954extern "C" {
9955    #[link_name = "aws_lc_0_46_0_EVP_AEAD_key_length"]
9956    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9957}
9958extern "C" {
9959    #[link_name = "aws_lc_0_46_0_EVP_AEAD_nonce_length"]
9960    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9961}
9962extern "C" {
9963    #[link_name = "aws_lc_0_46_0_EVP_AEAD_max_overhead"]
9964    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9965}
9966extern "C" {
9967    #[link_name = "aws_lc_0_46_0_EVP_AEAD_max_tag_len"]
9968    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9969}
9970#[repr(C)]
9971#[derive(Copy, Clone)]
9972pub union evp_aead_ctx_st_state {
9973    pub opaque: [u8; 564usize],
9974    pub alignment: u64,
9975    pub ptr: *mut ::std::os::raw::c_void,
9976}
9977#[test]
9978fn bindgen_test_layout_evp_aead_ctx_st_state() {
9979    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9980        ::std::mem::MaybeUninit::uninit();
9981    let ptr = UNINIT.as_ptr();
9982    assert_eq!(
9983        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9984        568usize,
9985        "Size of evp_aead_ctx_st_state"
9986    );
9987    assert_eq!(
9988        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9989        8usize,
9990        "Alignment of evp_aead_ctx_st_state"
9991    );
9992    assert_eq!(
9993        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9994        0usize,
9995        "Offset of field: evp_aead_ctx_st_state::opaque"
9996    );
9997    assert_eq!(
9998        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9999        0usize,
10000        "Offset of field: evp_aead_ctx_st_state::alignment"
10001    );
10002    assert_eq!(
10003        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10004        0usize,
10005        "Offset of field: evp_aead_ctx_st_state::ptr"
10006    );
10007}
10008impl Default for evp_aead_ctx_st_state {
10009    fn default() -> Self {
10010        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10011        unsafe {
10012            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10013            s.assume_init()
10014        }
10015    }
10016}
10017#[repr(C)]
10018#[derive(Copy, Clone)]
10019pub struct evp_aead_ctx_st {
10020    pub aead: *const EVP_AEAD,
10021    pub state: evp_aead_ctx_st_state,
10022    pub state_offset: u8,
10023    pub tag_len: u8,
10024}
10025#[test]
10026fn bindgen_test_layout_evp_aead_ctx_st() {
10027    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
10028    let ptr = UNINIT.as_ptr();
10029    assert_eq!(
10030        ::std::mem::size_of::<evp_aead_ctx_st>(),
10031        584usize,
10032        "Size of evp_aead_ctx_st"
10033    );
10034    assert_eq!(
10035        ::std::mem::align_of::<evp_aead_ctx_st>(),
10036        8usize,
10037        "Alignment of evp_aead_ctx_st"
10038    );
10039    assert_eq!(
10040        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
10041        0usize,
10042        "Offset of field: evp_aead_ctx_st::aead"
10043    );
10044    assert_eq!(
10045        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10046        8usize,
10047        "Offset of field: evp_aead_ctx_st::state"
10048    );
10049    assert_eq!(
10050        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
10051        576usize,
10052        "Offset of field: evp_aead_ctx_st::state_offset"
10053    );
10054    assert_eq!(
10055        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
10056        577usize,
10057        "Offset of field: evp_aead_ctx_st::tag_len"
10058    );
10059}
10060impl Default for evp_aead_ctx_st {
10061    fn default() -> Self {
10062        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10063        unsafe {
10064            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10065            s.assume_init()
10066        }
10067    }
10068}
10069extern "C" {
10070    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_zero"]
10071    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
10072}
10073extern "C" {
10074    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_new"]
10075    pub fn EVP_AEAD_CTX_new(
10076        aead: *const EVP_AEAD,
10077        key: *const u8,
10078        key_len: usize,
10079        tag_len: usize,
10080    ) -> *mut EVP_AEAD_CTX;
10081}
10082extern "C" {
10083    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_free"]
10084    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
10085}
10086extern "C" {
10087    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_init"]
10088    pub fn EVP_AEAD_CTX_init(
10089        ctx: *mut EVP_AEAD_CTX,
10090        aead: *const EVP_AEAD,
10091        key: *const u8,
10092        key_len: usize,
10093        tag_len: usize,
10094        impl_: *mut ENGINE,
10095    ) -> ::std::os::raw::c_int;
10096}
10097extern "C" {
10098    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_cleanup"]
10099    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
10100}
10101extern "C" {
10102    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_copy"]
10103    pub fn EVP_AEAD_CTX_copy(
10104        out: *mut EVP_AEAD_CTX,
10105        in_: *const EVP_AEAD_CTX,
10106    ) -> ::std::os::raw::c_int;
10107}
10108extern "C" {
10109    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_seal"]
10110    pub fn EVP_AEAD_CTX_seal(
10111        ctx: *const EVP_AEAD_CTX,
10112        out: *mut u8,
10113        out_len: *mut usize,
10114        max_out_len: usize,
10115        nonce: *const u8,
10116        nonce_len: usize,
10117        in_: *const u8,
10118        in_len: usize,
10119        ad: *const u8,
10120        ad_len: usize,
10121    ) -> ::std::os::raw::c_int;
10122}
10123extern "C" {
10124    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_open"]
10125    pub fn EVP_AEAD_CTX_open(
10126        ctx: *const EVP_AEAD_CTX,
10127        out: *mut u8,
10128        out_len: *mut usize,
10129        max_out_len: usize,
10130        nonce: *const u8,
10131        nonce_len: usize,
10132        in_: *const u8,
10133        in_len: usize,
10134        ad: *const u8,
10135        ad_len: usize,
10136    ) -> ::std::os::raw::c_int;
10137}
10138extern "C" {
10139    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_seal_scatter"]
10140    pub fn EVP_AEAD_CTX_seal_scatter(
10141        ctx: *const EVP_AEAD_CTX,
10142        out: *mut u8,
10143        out_tag: *mut u8,
10144        out_tag_len: *mut usize,
10145        max_out_tag_len: usize,
10146        nonce: *const u8,
10147        nonce_len: usize,
10148        in_: *const u8,
10149        in_len: usize,
10150        extra_in: *const u8,
10151        extra_in_len: usize,
10152        ad: *const u8,
10153        ad_len: usize,
10154    ) -> ::std::os::raw::c_int;
10155}
10156extern "C" {
10157    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_open_gather"]
10158    pub fn EVP_AEAD_CTX_open_gather(
10159        ctx: *const EVP_AEAD_CTX,
10160        out: *mut u8,
10161        nonce: *const u8,
10162        nonce_len: usize,
10163        in_: *const u8,
10164        in_len: usize,
10165        in_tag: *const u8,
10166        in_tag_len: usize,
10167        ad: *const u8,
10168        ad_len: usize,
10169    ) -> ::std::os::raw::c_int;
10170}
10171extern "C" {
10172    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_aead"]
10173    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
10174}
10175extern "C" {
10176    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha1_tls"]
10177    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
10178}
10179extern "C" {
10180    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
10181    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10182}
10183extern "C" {
10184    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha1_tls"]
10185    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10186}
10187extern "C" {
10188    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10189    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10190}
10191extern "C" {
10192    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha256_tls"]
10193    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10194}
10195extern "C" {
10196    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10197    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10198}
10199extern "C" {
10200    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_cbc_sha384_tls"]
10201    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10202}
10203extern "C" {
10204    #[link_name = "aws_lc_0_46_0_EVP_aead_des_ede3_cbc_sha1_tls"]
10205    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10206}
10207extern "C" {
10208    #[link_name = "aws_lc_0_46_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10209    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10210}
10211extern "C" {
10212    #[link_name = "aws_lc_0_46_0_EVP_aead_null_sha1_tls"]
10213    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10214}
10215extern "C" {
10216    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_tls12"]
10217    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10218}
10219extern "C" {
10220    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_tls12"]
10221    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10222}
10223extern "C" {
10224    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_128_gcm_tls13"]
10225    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10226}
10227extern "C" {
10228    #[link_name = "aws_lc_0_46_0_EVP_aead_aes_256_gcm_tls13"]
10229    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10230}
10231pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10232pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10233pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10234extern "C" {
10235    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_init_with_direction"]
10236    pub fn EVP_AEAD_CTX_init_with_direction(
10237        ctx: *mut EVP_AEAD_CTX,
10238        aead: *const EVP_AEAD,
10239        key: *const u8,
10240        key_len: usize,
10241        tag_len: usize,
10242        dir: evp_aead_direction_t,
10243    ) -> ::std::os::raw::c_int;
10244}
10245extern "C" {
10246    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_get_iv"]
10247    pub fn EVP_AEAD_CTX_get_iv(
10248        ctx: *const EVP_AEAD_CTX,
10249        out_iv: *mut *const u8,
10250        out_len: *mut usize,
10251    ) -> ::std::os::raw::c_int;
10252}
10253extern "C" {
10254    #[link_name = "aws_lc_0_46_0_EVP_AEAD_CTX_tag_len"]
10255    pub fn EVP_AEAD_CTX_tag_len(
10256        ctx: *const EVP_AEAD_CTX,
10257        out_tag_len: *mut usize,
10258        in_len: usize,
10259        extra_in_len: usize,
10260    ) -> ::std::os::raw::c_int;
10261}
10262extern "C" {
10263    #[link_name = "aws_lc_0_46_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10264    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10265        ipv4_address: u32,
10266        nanosecs: u64,
10267        out_iv: *mut u8,
10268    ) -> ::std::os::raw::c_int;
10269}
10270#[repr(C)]
10271#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10272pub struct md5_state_st {
10273    pub h: [u32; 4usize],
10274    pub Nl: u32,
10275    pub Nh: u32,
10276    pub data: [u8; 64usize],
10277    pub num: ::std::os::raw::c_uint,
10278}
10279#[test]
10280fn bindgen_test_layout_md5_state_st() {
10281    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10282    let ptr = UNINIT.as_ptr();
10283    assert_eq!(
10284        ::std::mem::size_of::<md5_state_st>(),
10285        92usize,
10286        "Size of md5_state_st"
10287    );
10288    assert_eq!(
10289        ::std::mem::align_of::<md5_state_st>(),
10290        4usize,
10291        "Alignment of md5_state_st"
10292    );
10293    assert_eq!(
10294        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10295        0usize,
10296        "Offset of field: md5_state_st::h"
10297    );
10298    assert_eq!(
10299        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10300        16usize,
10301        "Offset of field: md5_state_st::Nl"
10302    );
10303    assert_eq!(
10304        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10305        20usize,
10306        "Offset of field: md5_state_st::Nh"
10307    );
10308    assert_eq!(
10309        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10310        24usize,
10311        "Offset of field: md5_state_st::data"
10312    );
10313    assert_eq!(
10314        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10315        88usize,
10316        "Offset of field: md5_state_st::num"
10317    );
10318}
10319impl Default for md5_state_st {
10320    fn default() -> Self {
10321        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10322        unsafe {
10323            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10324            s.assume_init()
10325        }
10326    }
10327}
10328extern "C" {
10329    #[link_name = "aws_lc_0_46_0_HMAC"]
10330    pub fn HMAC(
10331        evp_md: *const EVP_MD,
10332        key: *const ::std::os::raw::c_void,
10333        key_len: usize,
10334        data: *const u8,
10335        data_len: usize,
10336        out: *mut u8,
10337        out_len: *mut ::std::os::raw::c_uint,
10338    ) -> *mut u8;
10339}
10340extern "C" {
10341    #[link_name = "aws_lc_0_46_0_HMAC_CTX_init"]
10342    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10343}
10344extern "C" {
10345    #[link_name = "aws_lc_0_46_0_HMAC_CTX_new"]
10346    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10347}
10348extern "C" {
10349    #[link_name = "aws_lc_0_46_0_HMAC_CTX_cleanup"]
10350    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10351}
10352extern "C" {
10353    #[link_name = "aws_lc_0_46_0_HMAC_CTX_cleanse"]
10354    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10355}
10356extern "C" {
10357    #[link_name = "aws_lc_0_46_0_HMAC_CTX_free"]
10358    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10359}
10360extern "C" {
10361    #[link_name = "aws_lc_0_46_0_HMAC_Init_ex"]
10362    pub fn HMAC_Init_ex(
10363        ctx: *mut HMAC_CTX,
10364        key: *const ::std::os::raw::c_void,
10365        key_len: usize,
10366        md: *const EVP_MD,
10367        impl_: *mut ENGINE,
10368    ) -> ::std::os::raw::c_int;
10369}
10370extern "C" {
10371    #[link_name = "aws_lc_0_46_0_HMAC_Update"]
10372    pub fn HMAC_Update(
10373        ctx: *mut HMAC_CTX,
10374        data: *const u8,
10375        data_len: usize,
10376    ) -> ::std::os::raw::c_int;
10377}
10378extern "C" {
10379    #[link_name = "aws_lc_0_46_0_HMAC_Final"]
10380    pub fn HMAC_Final(
10381        ctx: *mut HMAC_CTX,
10382        out: *mut u8,
10383        out_len: *mut ::std::os::raw::c_uint,
10384    ) -> ::std::os::raw::c_int;
10385}
10386extern "C" {
10387    #[link_name = "aws_lc_0_46_0_HMAC_size"]
10388    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10389}
10390extern "C" {
10391    #[link_name = "aws_lc_0_46_0_HMAC_CTX_get_md"]
10392    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10393}
10394extern "C" {
10395    #[link_name = "aws_lc_0_46_0_HMAC_CTX_copy_ex"]
10396    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10397}
10398extern "C" {
10399    #[link_name = "aws_lc_0_46_0_HMAC_CTX_reset"]
10400    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10401}
10402extern "C" {
10403    #[link_name = "aws_lc_0_46_0_HMAC_set_precomputed_key_export"]
10404    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10405}
10406extern "C" {
10407    #[link_name = "aws_lc_0_46_0_HMAC_get_precomputed_key"]
10408    pub fn HMAC_get_precomputed_key(
10409        ctx: *mut HMAC_CTX,
10410        out: *mut u8,
10411        out_len: *mut usize,
10412    ) -> ::std::os::raw::c_int;
10413}
10414extern "C" {
10415    #[link_name = "aws_lc_0_46_0_HMAC_Init_from_precomputed_key"]
10416    pub fn HMAC_Init_from_precomputed_key(
10417        ctx: *mut HMAC_CTX,
10418        precomputed_key: *const u8,
10419        precompute_key_len: usize,
10420        md: *const EVP_MD,
10421    ) -> ::std::os::raw::c_int;
10422}
10423extern "C" {
10424    #[link_name = "aws_lc_0_46_0_HMAC_Init"]
10425    pub fn HMAC_Init(
10426        ctx: *mut HMAC_CTX,
10427        key: *const ::std::os::raw::c_void,
10428        key_len: ::std::os::raw::c_int,
10429        md: *const EVP_MD,
10430    ) -> ::std::os::raw::c_int;
10431}
10432extern "C" {
10433    #[link_name = "aws_lc_0_46_0_HMAC_CTX_copy"]
10434    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10435}
10436#[repr(C)]
10437#[derive(Debug)]
10438pub struct hmac_methods_st {
10439    _unused: [u8; 0],
10440}
10441pub type HmacMethods = hmac_methods_st;
10442#[repr(C)]
10443#[derive(Copy, Clone)]
10444pub union md_ctx_union {
10445    pub md5: MD5_CTX,
10446    pub sha1: SHA_CTX,
10447    pub sha256: SHA256_CTX,
10448    pub sha512: SHA512_CTX,
10449    pub sha3: [u8; 400usize],
10450}
10451#[test]
10452fn bindgen_test_layout_md_ctx_union() {
10453    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10454    let ptr = UNINIT.as_ptr();
10455    assert_eq!(
10456        ::std::mem::size_of::<md_ctx_union>(),
10457        400usize,
10458        "Size of md_ctx_union"
10459    );
10460    assert_eq!(
10461        ::std::mem::align_of::<md_ctx_union>(),
10462        8usize,
10463        "Alignment of md_ctx_union"
10464    );
10465    assert_eq!(
10466        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10467        0usize,
10468        "Offset of field: md_ctx_union::md5"
10469    );
10470    assert_eq!(
10471        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10472        0usize,
10473        "Offset of field: md_ctx_union::sha1"
10474    );
10475    assert_eq!(
10476        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10477        0usize,
10478        "Offset of field: md_ctx_union::sha256"
10479    );
10480    assert_eq!(
10481        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10482        0usize,
10483        "Offset of field: md_ctx_union::sha512"
10484    );
10485    assert_eq!(
10486        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10487        0usize,
10488        "Offset of field: md_ctx_union::sha3"
10489    );
10490}
10491impl Default for md_ctx_union {
10492    fn default() -> Self {
10493        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10494        unsafe {
10495            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10496            s.assume_init()
10497        }
10498    }
10499}
10500#[repr(C)]
10501#[derive(Copy, Clone)]
10502pub struct hmac_ctx_st {
10503    pub md: *const EVP_MD,
10504    pub methods: *const HmacMethods,
10505    pub md_ctx: md_ctx_union,
10506    pub i_ctx: md_ctx_union,
10507    pub o_ctx: md_ctx_union,
10508    pub state: i8,
10509}
10510#[test]
10511fn bindgen_test_layout_hmac_ctx_st() {
10512    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10513    let ptr = UNINIT.as_ptr();
10514    assert_eq!(
10515        ::std::mem::size_of::<hmac_ctx_st>(),
10516        1224usize,
10517        "Size of hmac_ctx_st"
10518    );
10519    assert_eq!(
10520        ::std::mem::align_of::<hmac_ctx_st>(),
10521        8usize,
10522        "Alignment of hmac_ctx_st"
10523    );
10524    assert_eq!(
10525        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10526        0usize,
10527        "Offset of field: hmac_ctx_st::md"
10528    );
10529    assert_eq!(
10530        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10531        8usize,
10532        "Offset of field: hmac_ctx_st::methods"
10533    );
10534    assert_eq!(
10535        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10536        16usize,
10537        "Offset of field: hmac_ctx_st::md_ctx"
10538    );
10539    assert_eq!(
10540        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10541        416usize,
10542        "Offset of field: hmac_ctx_st::i_ctx"
10543    );
10544    assert_eq!(
10545        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10546        816usize,
10547        "Offset of field: hmac_ctx_st::o_ctx"
10548    );
10549    assert_eq!(
10550        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10551        1216usize,
10552        "Offset of field: hmac_ctx_st::state"
10553    );
10554}
10555impl Default for hmac_ctx_st {
10556    fn default() -> Self {
10557        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10558        unsafe {
10559            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10560            s.assume_init()
10561        }
10562    }
10563}
10564extern "C" {
10565    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new"]
10566    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10567}
10568extern "C" {
10569    #[link_name = "aws_lc_0_46_0_EVP_PKEY_free"]
10570    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10571}
10572extern "C" {
10573    #[link_name = "aws_lc_0_46_0_EVP_PKEY_up_ref"]
10574    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10575}
10576extern "C" {
10577    #[link_name = "aws_lc_0_46_0_EVP_PKEY_is_opaque"]
10578    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10579}
10580extern "C" {
10581    #[link_name = "aws_lc_0_46_0_EVP_PKEY_cmp"]
10582    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10583}
10584extern "C" {
10585    #[link_name = "aws_lc_0_46_0_EVP_PKEY_copy_parameters"]
10586    pub fn EVP_PKEY_copy_parameters(
10587        to: *mut EVP_PKEY,
10588        from: *const EVP_PKEY,
10589    ) -> ::std::os::raw::c_int;
10590}
10591extern "C" {
10592    #[link_name = "aws_lc_0_46_0_EVP_PKEY_missing_parameters"]
10593    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10594}
10595extern "C" {
10596    #[link_name = "aws_lc_0_46_0_EVP_PKEY_size"]
10597    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10598}
10599extern "C" {
10600    #[link_name = "aws_lc_0_46_0_EVP_PKEY_bits"]
10601    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10602}
10603extern "C" {
10604    #[link_name = "aws_lc_0_46_0_EVP_PKEY_id"]
10605    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10606}
10607extern "C" {
10608    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_get_type"]
10609    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10610}
10611extern "C" {
10612    #[link_name = "aws_lc_0_46_0_EVP_MD_get0_name"]
10613    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10614}
10615extern "C" {
10616    #[link_name = "aws_lc_0_46_0_EVP_MD_name"]
10617    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10618}
10619extern "C" {
10620    #[link_name = "aws_lc_0_46_0_EVP_get_pw_prompt"]
10621    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10622}
10623extern "C" {
10624    #[link_name = "aws_lc_0_46_0_EVP_read_pw_string"]
10625    pub fn EVP_read_pw_string(
10626        buf: *mut ::std::os::raw::c_char,
10627        length: ::std::os::raw::c_int,
10628        prompt: *const ::std::os::raw::c_char,
10629        verify: ::std::os::raw::c_int,
10630    ) -> ::std::os::raw::c_int;
10631}
10632extern "C" {
10633    #[link_name = "aws_lc_0_46_0_EVP_read_pw_string_min"]
10634    pub fn EVP_read_pw_string_min(
10635        buf: *mut ::std::os::raw::c_char,
10636        min_length: ::std::os::raw::c_int,
10637        length: ::std::os::raw::c_int,
10638        prompt: *const ::std::os::raw::c_char,
10639        verify: ::std::os::raw::c_int,
10640    ) -> ::std::os::raw::c_int;
10641}
10642extern "C" {
10643    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_RSA"]
10644    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10645}
10646extern "C" {
10647    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_RSA"]
10648    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10649}
10650extern "C" {
10651    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_RSA"]
10652    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10653}
10654extern "C" {
10655    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_RSA"]
10656    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10657}
10658extern "C" {
10659    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_DSA"]
10660    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10661}
10662extern "C" {
10663    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_DSA"]
10664    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10665}
10666extern "C" {
10667    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_DSA"]
10668    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10669}
10670extern "C" {
10671    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_DSA"]
10672    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10673}
10674extern "C" {
10675    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_EC_KEY"]
10676    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10677}
10678extern "C" {
10679    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_EC_KEY"]
10680    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10681}
10682extern "C" {
10683    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_EC_KEY"]
10684    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10685}
10686extern "C" {
10687    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_EC_KEY"]
10688    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10689}
10690extern "C" {
10691    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_DH"]
10692    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10693}
10694extern "C" {
10695    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign_DH"]
10696    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10697}
10698extern "C" {
10699    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0_DH"]
10700    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10701}
10702extern "C" {
10703    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_DH"]
10704    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10705}
10706extern "C" {
10707    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10708    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10709        ctx: *mut EVP_PKEY_CTX,
10710        pbits: ::std::os::raw::c_int,
10711    ) -> ::std::os::raw::c_int;
10712}
10713extern "C" {
10714    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10715    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10716        ctx: *mut EVP_PKEY_CTX,
10717        gen_: ::std::os::raw::c_int,
10718    ) -> ::std::os::raw::c_int;
10719}
10720extern "C" {
10721    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set_type"]
10722    pub fn EVP_PKEY_set_type(
10723        pkey: *mut EVP_PKEY,
10724        type_: ::std::os::raw::c_int,
10725    ) -> ::std::os::raw::c_int;
10726}
10727extern "C" {
10728    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set_type_str"]
10729    pub fn EVP_PKEY_set_type_str(
10730        pkey: *mut EVP_PKEY,
10731        str_: *const ::std::os::raw::c_char,
10732        len: ::std::os::raw::c_int,
10733    ) -> ::std::os::raw::c_int;
10734}
10735extern "C" {
10736    #[link_name = "aws_lc_0_46_0_EVP_PKEY_cmp_parameters"]
10737    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10738        -> ::std::os::raw::c_int;
10739}
10740extern "C" {
10741    #[link_name = "aws_lc_0_46_0_EVP_parse_public_key"]
10742    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10743}
10744extern "C" {
10745    #[link_name = "aws_lc_0_46_0_EVP_marshal_public_key"]
10746    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10747}
10748extern "C" {
10749    #[link_name = "aws_lc_0_46_0_EVP_parse_private_key"]
10750    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10751}
10752extern "C" {
10753    #[link_name = "aws_lc_0_46_0_EVP_marshal_private_key"]
10754    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10755}
10756extern "C" {
10757    #[link_name = "aws_lc_0_46_0_EVP_marshal_private_key_v2"]
10758    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10759        -> ::std::os::raw::c_int;
10760}
10761extern "C" {
10762    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_raw_private_key"]
10763    pub fn EVP_PKEY_new_raw_private_key(
10764        type_: ::std::os::raw::c_int,
10765        unused: *mut ENGINE,
10766        in_: *const u8,
10767        len: usize,
10768    ) -> *mut EVP_PKEY;
10769}
10770extern "C" {
10771    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_raw_public_key"]
10772    pub fn EVP_PKEY_new_raw_public_key(
10773        type_: ::std::os::raw::c_int,
10774        unused: *mut ENGINE,
10775        in_: *const u8,
10776        len: usize,
10777    ) -> *mut EVP_PKEY;
10778}
10779extern "C" {
10780    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_raw_private_key"]
10781    pub fn EVP_PKEY_get_raw_private_key(
10782        pkey: *const EVP_PKEY,
10783        out: *mut u8,
10784        out_len: *mut usize,
10785    ) -> ::std::os::raw::c_int;
10786}
10787extern "C" {
10788    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_raw_public_key"]
10789    pub fn EVP_PKEY_get_raw_public_key(
10790        pkey: *const EVP_PKEY,
10791        out: *mut u8,
10792        out_len: *mut usize,
10793    ) -> ::std::os::raw::c_int;
10794}
10795extern "C" {
10796    #[link_name = "aws_lc_0_46_0_EVP_DigestSignInit"]
10797    pub fn EVP_DigestSignInit(
10798        ctx: *mut EVP_MD_CTX,
10799        pctx: *mut *mut EVP_PKEY_CTX,
10800        type_: *const EVP_MD,
10801        e: *mut ENGINE,
10802        pkey: *mut EVP_PKEY,
10803    ) -> ::std::os::raw::c_int;
10804}
10805extern "C" {
10806    #[link_name = "aws_lc_0_46_0_EVP_DigestSignUpdate"]
10807    pub fn EVP_DigestSignUpdate(
10808        ctx: *mut EVP_MD_CTX,
10809        data: *const ::std::os::raw::c_void,
10810        len: usize,
10811    ) -> ::std::os::raw::c_int;
10812}
10813extern "C" {
10814    #[link_name = "aws_lc_0_46_0_EVP_DigestSignFinal"]
10815    pub fn EVP_DigestSignFinal(
10816        ctx: *mut EVP_MD_CTX,
10817        out_sig: *mut u8,
10818        out_sig_len: *mut usize,
10819    ) -> ::std::os::raw::c_int;
10820}
10821extern "C" {
10822    #[link_name = "aws_lc_0_46_0_EVP_DigestSign"]
10823    pub fn EVP_DigestSign(
10824        ctx: *mut EVP_MD_CTX,
10825        out_sig: *mut u8,
10826        out_sig_len: *mut usize,
10827        data: *const u8,
10828        data_len: usize,
10829    ) -> ::std::os::raw::c_int;
10830}
10831extern "C" {
10832    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyInit"]
10833    pub fn EVP_DigestVerifyInit(
10834        ctx: *mut EVP_MD_CTX,
10835        pctx: *mut *mut EVP_PKEY_CTX,
10836        type_: *const EVP_MD,
10837        e: *mut ENGINE,
10838        pkey: *mut EVP_PKEY,
10839    ) -> ::std::os::raw::c_int;
10840}
10841extern "C" {
10842    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyUpdate"]
10843    pub fn EVP_DigestVerifyUpdate(
10844        ctx: *mut EVP_MD_CTX,
10845        data: *const ::std::os::raw::c_void,
10846        len: usize,
10847    ) -> ::std::os::raw::c_int;
10848}
10849extern "C" {
10850    #[link_name = "aws_lc_0_46_0_EVP_DigestVerifyFinal"]
10851    pub fn EVP_DigestVerifyFinal(
10852        ctx: *mut EVP_MD_CTX,
10853        sig: *const u8,
10854        sig_len: usize,
10855    ) -> ::std::os::raw::c_int;
10856}
10857extern "C" {
10858    #[link_name = "aws_lc_0_46_0_EVP_DigestVerify"]
10859    pub fn EVP_DigestVerify(
10860        ctx: *mut EVP_MD_CTX,
10861        sig: *const u8,
10862        sig_len: usize,
10863        data: *const u8,
10864        len: usize,
10865    ) -> ::std::os::raw::c_int;
10866}
10867extern "C" {
10868    #[link_name = "aws_lc_0_46_0_EVP_SignInit_ex"]
10869    pub fn EVP_SignInit_ex(
10870        ctx: *mut EVP_MD_CTX,
10871        type_: *const EVP_MD,
10872        impl_: *mut ENGINE,
10873    ) -> ::std::os::raw::c_int;
10874}
10875extern "C" {
10876    #[link_name = "aws_lc_0_46_0_EVP_SignInit"]
10877    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10878}
10879extern "C" {
10880    #[link_name = "aws_lc_0_46_0_EVP_SignUpdate"]
10881    pub fn EVP_SignUpdate(
10882        ctx: *mut EVP_MD_CTX,
10883        data: *const ::std::os::raw::c_void,
10884        len: usize,
10885    ) -> ::std::os::raw::c_int;
10886}
10887extern "C" {
10888    #[link_name = "aws_lc_0_46_0_EVP_SignFinal"]
10889    pub fn EVP_SignFinal(
10890        ctx: *const EVP_MD_CTX,
10891        sig: *mut u8,
10892        out_sig_len: *mut ::std::os::raw::c_uint,
10893        pkey: *mut EVP_PKEY,
10894    ) -> ::std::os::raw::c_int;
10895}
10896extern "C" {
10897    #[link_name = "aws_lc_0_46_0_EVP_VerifyInit_ex"]
10898    pub fn EVP_VerifyInit_ex(
10899        ctx: *mut EVP_MD_CTX,
10900        type_: *const EVP_MD,
10901        impl_: *mut ENGINE,
10902    ) -> ::std::os::raw::c_int;
10903}
10904extern "C" {
10905    #[link_name = "aws_lc_0_46_0_EVP_VerifyInit"]
10906    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10907}
10908extern "C" {
10909    #[link_name = "aws_lc_0_46_0_EVP_VerifyUpdate"]
10910    pub fn EVP_VerifyUpdate(
10911        ctx: *mut EVP_MD_CTX,
10912        data: *const ::std::os::raw::c_void,
10913        len: usize,
10914    ) -> ::std::os::raw::c_int;
10915}
10916extern "C" {
10917    #[link_name = "aws_lc_0_46_0_EVP_VerifyFinal"]
10918    pub fn EVP_VerifyFinal(
10919        ctx: *mut EVP_MD_CTX,
10920        sig: *const u8,
10921        sig_len: usize,
10922        pkey: *mut EVP_PKEY,
10923    ) -> ::std::os::raw::c_int;
10924}
10925extern "C" {
10926    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_public"]
10927    pub fn EVP_PKEY_print_public(
10928        out: *mut BIO,
10929        pkey: *const EVP_PKEY,
10930        indent: ::std::os::raw::c_int,
10931        pctx: *mut ASN1_PCTX,
10932    ) -> ::std::os::raw::c_int;
10933}
10934extern "C" {
10935    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_private"]
10936    pub fn EVP_PKEY_print_private(
10937        out: *mut BIO,
10938        pkey: *const EVP_PKEY,
10939        indent: ::std::os::raw::c_int,
10940        pctx: *mut ASN1_PCTX,
10941    ) -> ::std::os::raw::c_int;
10942}
10943extern "C" {
10944    #[link_name = "aws_lc_0_46_0_EVP_PKEY_print_params"]
10945    pub fn EVP_PKEY_print_params(
10946        out: *mut BIO,
10947        pkey: *const EVP_PKEY,
10948        indent: ::std::os::raw::c_int,
10949        pctx: *mut ASN1_PCTX,
10950    ) -> ::std::os::raw::c_int;
10951}
10952extern "C" {
10953    #[link_name = "aws_lc_0_46_0_PKCS5_PBKDF2_HMAC"]
10954    pub fn PKCS5_PBKDF2_HMAC(
10955        password: *const ::std::os::raw::c_char,
10956        password_len: usize,
10957        salt: *const u8,
10958        salt_len: usize,
10959        iterations: u32,
10960        digest: *const EVP_MD,
10961        key_len: usize,
10962        out_key: *mut u8,
10963    ) -> ::std::os::raw::c_int;
10964}
10965extern "C" {
10966    #[link_name = "aws_lc_0_46_0_PKCS5_PBKDF2_HMAC_SHA1"]
10967    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10968        password: *const ::std::os::raw::c_char,
10969        password_len: usize,
10970        salt: *const u8,
10971        salt_len: usize,
10972        iterations: u32,
10973        key_len: usize,
10974        out_key: *mut u8,
10975    ) -> ::std::os::raw::c_int;
10976}
10977extern "C" {
10978    #[link_name = "aws_lc_0_46_0_EVP_PBE_scrypt"]
10979    pub fn EVP_PBE_scrypt(
10980        password: *const ::std::os::raw::c_char,
10981        password_len: usize,
10982        salt: *const u8,
10983        salt_len: usize,
10984        N: u64,
10985        r: u64,
10986        p: u64,
10987        max_mem: usize,
10988        out_key: *mut u8,
10989        key_len: usize,
10990    ) -> ::std::os::raw::c_int;
10991}
10992extern "C" {
10993    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_new"]
10994    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10995}
10996extern "C" {
10997    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_new_id"]
10998    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10999}
11000extern "C" {
11001    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_free"]
11002    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
11003}
11004extern "C" {
11005    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_dup"]
11006    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
11007}
11008extern "C" {
11009    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_pkey"]
11010    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
11011}
11012extern "C" {
11013    #[link_name = "aws_lc_0_46_0_EVP_PKEY_sign_init"]
11014    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11015}
11016extern "C" {
11017    #[link_name = "aws_lc_0_46_0_EVP_PKEY_sign"]
11018    pub fn EVP_PKEY_sign(
11019        ctx: *mut EVP_PKEY_CTX,
11020        sig: *mut u8,
11021        sig_len: *mut usize,
11022        digest: *const u8,
11023        digest_len: usize,
11024    ) -> ::std::os::raw::c_int;
11025}
11026extern "C" {
11027    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_init"]
11028    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11029}
11030extern "C" {
11031    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify"]
11032    pub fn EVP_PKEY_verify(
11033        ctx: *mut EVP_PKEY_CTX,
11034        sig: *const u8,
11035        sig_len: usize,
11036        digest: *const u8,
11037        digest_len: usize,
11038    ) -> ::std::os::raw::c_int;
11039}
11040extern "C" {
11041    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encrypt_init"]
11042    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11043}
11044extern "C" {
11045    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encrypt"]
11046    pub fn EVP_PKEY_encrypt(
11047        ctx: *mut EVP_PKEY_CTX,
11048        out: *mut u8,
11049        out_len: *mut usize,
11050        in_: *const u8,
11051        in_len: usize,
11052    ) -> ::std::os::raw::c_int;
11053}
11054extern "C" {
11055    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decrypt_init"]
11056    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11057}
11058extern "C" {
11059    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decrypt"]
11060    pub fn EVP_PKEY_decrypt(
11061        ctx: *mut EVP_PKEY_CTX,
11062        out: *mut u8,
11063        out_len: *mut usize,
11064        in_: *const u8,
11065        in_len: usize,
11066    ) -> ::std::os::raw::c_int;
11067}
11068extern "C" {
11069    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_recover_init"]
11070    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11071}
11072extern "C" {
11073    #[link_name = "aws_lc_0_46_0_EVP_PKEY_verify_recover"]
11074    pub fn EVP_PKEY_verify_recover(
11075        ctx: *mut EVP_PKEY_CTX,
11076        out: *mut u8,
11077        out_len: *mut usize,
11078        sig: *const u8,
11079        siglen: usize,
11080    ) -> ::std::os::raw::c_int;
11081}
11082extern "C" {
11083    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive_init"]
11084    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11085}
11086extern "C" {
11087    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive_set_peer"]
11088    pub fn EVP_PKEY_derive_set_peer(
11089        ctx: *mut EVP_PKEY_CTX,
11090        peer: *mut EVP_PKEY,
11091    ) -> ::std::os::raw::c_int;
11092}
11093extern "C" {
11094    #[link_name = "aws_lc_0_46_0_EVP_PKEY_derive"]
11095    pub fn EVP_PKEY_derive(
11096        ctx: *mut EVP_PKEY_CTX,
11097        key: *mut u8,
11098        out_key_len: *mut usize,
11099    ) -> ::std::os::raw::c_int;
11100}
11101extern "C" {
11102    #[link_name = "aws_lc_0_46_0_EVP_PKEY_check"]
11103    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11104}
11105extern "C" {
11106    #[link_name = "aws_lc_0_46_0_EVP_PKEY_public_check"]
11107    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11108}
11109extern "C" {
11110    #[link_name = "aws_lc_0_46_0_EVP_PKEY_param_check"]
11111    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11112}
11113extern "C" {
11114    #[link_name = "aws_lc_0_46_0_EVP_PKEY_keygen_init"]
11115    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11116}
11117extern "C" {
11118    #[link_name = "aws_lc_0_46_0_EVP_PKEY_keygen"]
11119    pub fn EVP_PKEY_keygen(
11120        ctx: *mut EVP_PKEY_CTX,
11121        out_pkey: *mut *mut EVP_PKEY,
11122    ) -> ::std::os::raw::c_int;
11123}
11124extern "C" {
11125    #[link_name = "aws_lc_0_46_0_EVP_PKEY_encapsulate"]
11126    pub fn EVP_PKEY_encapsulate(
11127        ctx: *mut EVP_PKEY_CTX,
11128        ciphertext: *mut u8,
11129        ciphertext_len: *mut usize,
11130        shared_secret: *mut u8,
11131        shared_secret_len: *mut usize,
11132    ) -> ::std::os::raw::c_int;
11133}
11134extern "C" {
11135    #[link_name = "aws_lc_0_46_0_EVP_PKEY_decapsulate"]
11136    pub fn EVP_PKEY_decapsulate(
11137        ctx: *mut EVP_PKEY_CTX,
11138        shared_secret: *mut u8,
11139        shared_secret_len: *mut usize,
11140        ciphertext: *const u8,
11141        ciphertext_len: usize,
11142    ) -> ::std::os::raw::c_int;
11143}
11144extern "C" {
11145    #[link_name = "aws_lc_0_46_0_EVP_PKEY_paramgen_init"]
11146    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
11147}
11148extern "C" {
11149    #[link_name = "aws_lc_0_46_0_EVP_PKEY_paramgen"]
11150    pub fn EVP_PKEY_paramgen(
11151        ctx: *mut EVP_PKEY_CTX,
11152        out_pkey: *mut *mut EVP_PKEY,
11153    ) -> ::std::os::raw::c_int;
11154}
11155extern "C" {
11156    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_signature_md"]
11157    pub fn EVP_PKEY_CTX_set_signature_md(
11158        ctx: *mut EVP_PKEY_CTX,
11159        md: *const EVP_MD,
11160    ) -> ::std::os::raw::c_int;
11161}
11162extern "C" {
11163    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_signature_md"]
11164    pub fn EVP_PKEY_CTX_get_signature_md(
11165        ctx: *mut EVP_PKEY_CTX,
11166        out_md: *mut *const EVP_MD,
11167    ) -> ::std::os::raw::c_int;
11168}
11169extern "C" {
11170    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_signature_context_string"]
11171    pub fn EVP_PKEY_CTX_set1_signature_context_string(
11172        ctx: *mut EVP_PKEY_CTX,
11173        context: *const u8,
11174        context_len: usize,
11175    ) -> ::std::os::raw::c_int;
11176}
11177extern "C" {
11178    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_signature_context"]
11179    pub fn EVP_PKEY_CTX_set_signature_context(
11180        ctx: *mut EVP_PKEY_CTX,
11181        context: *const u8,
11182        context_len: usize,
11183    ) -> ::std::os::raw::c_int;
11184}
11185extern "C" {
11186    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_signature_context"]
11187    pub fn EVP_PKEY_CTX_get0_signature_context(
11188        ctx: *mut EVP_PKEY_CTX,
11189        context: *mut *const u8,
11190        context_len: *mut usize,
11191    ) -> ::std::os::raw::c_int;
11192}
11193extern "C" {
11194    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_padding"]
11195    pub fn EVP_PKEY_CTX_set_rsa_padding(
11196        ctx: *mut EVP_PKEY_CTX,
11197        padding: ::std::os::raw::c_int,
11198    ) -> ::std::os::raw::c_int;
11199}
11200extern "C" {
11201    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_padding"]
11202    pub fn EVP_PKEY_CTX_get_rsa_padding(
11203        ctx: *mut EVP_PKEY_CTX,
11204        out_padding: *mut ::std::os::raw::c_int,
11205    ) -> ::std::os::raw::c_int;
11206}
11207extern "C" {
11208    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11209    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11210        ctx: *mut EVP_PKEY_CTX,
11211        salt_len: ::std::os::raw::c_int,
11212    ) -> ::std::os::raw::c_int;
11213}
11214extern "C" {
11215    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11216    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11217        ctx: *mut EVP_PKEY_CTX,
11218        out_salt_len: *mut ::std::os::raw::c_int,
11219    ) -> ::std::os::raw::c_int;
11220}
11221extern "C" {
11222    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11223    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11224        ctx: *mut EVP_PKEY_CTX,
11225        bits: ::std::os::raw::c_int,
11226    ) -> ::std::os::raw::c_int;
11227}
11228extern "C" {
11229    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11230    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11231        ctx: *mut EVP_PKEY_CTX,
11232        e: *mut BIGNUM,
11233    ) -> ::std::os::raw::c_int;
11234}
11235extern "C" {
11236    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11237    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11238        ctx: *mut EVP_PKEY_CTX,
11239        md: *const EVP_MD,
11240    ) -> ::std::os::raw::c_int;
11241}
11242extern "C" {
11243    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11244    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11245        ctx: *mut EVP_PKEY_CTX,
11246        out_md: *mut *const EVP_MD,
11247    ) -> ::std::os::raw::c_int;
11248}
11249extern "C" {
11250    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11251    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11252        ctx: *mut EVP_PKEY_CTX,
11253        md: *const EVP_MD,
11254    ) -> ::std::os::raw::c_int;
11255}
11256extern "C" {
11257    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11258    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11259        ctx: *mut EVP_PKEY_CTX,
11260        out_md: *mut *const EVP_MD,
11261    ) -> ::std::os::raw::c_int;
11262}
11263extern "C" {
11264    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11265    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11266        ctx: *mut EVP_PKEY_CTX,
11267        label: *mut u8,
11268        label_len: usize,
11269    ) -> ::std::os::raw::c_int;
11270}
11271extern "C" {
11272    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11273    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11274        ctx: *mut EVP_PKEY_CTX,
11275        out_label: *mut *const u8,
11276    ) -> ::std::os::raw::c_int;
11277}
11278extern "C" {
11279    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11280    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11281        ctx: *mut EVP_PKEY_CTX,
11282        nid: ::std::os::raw::c_int,
11283    ) -> ::std::os::raw::c_int;
11284}
11285extern "C" {
11286    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_kem_set_params"]
11287    pub fn EVP_PKEY_CTX_kem_set_params(
11288        ctx: *mut EVP_PKEY_CTX,
11289        nid: ::std::os::raw::c_int,
11290    ) -> ::std::os::raw::c_int;
11291}
11292extern "C" {
11293    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_public_key"]
11294    pub fn EVP_PKEY_kem_new_raw_public_key(
11295        nid: ::std::os::raw::c_int,
11296        in_: *const u8,
11297        len: usize,
11298    ) -> *mut EVP_PKEY;
11299}
11300extern "C" {
11301    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_secret_key"]
11302    pub fn EVP_PKEY_kem_new_raw_secret_key(
11303        nid: ::std::os::raw::c_int,
11304        in_: *const u8,
11305        len: usize,
11306    ) -> *mut EVP_PKEY;
11307}
11308extern "C" {
11309    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_new_raw_key"]
11310    pub fn EVP_PKEY_kem_new_raw_key(
11311        nid: ::std::os::raw::c_int,
11312        in_public: *const u8,
11313        len_public: usize,
11314        in_secret: *const u8,
11315        len_secret: usize,
11316    ) -> *mut EVP_PKEY;
11317}
11318extern "C" {
11319    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_check_key"]
11320    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11321}
11322extern "C" {
11323    #[link_name = "aws_lc_0_46_0_EVP_PKEY_kem_get_type"]
11324    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11325}
11326extern "C" {
11327    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_pqdsa_set_params"]
11328    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11329        ctx: *mut EVP_PKEY_CTX,
11330        nid: ::std::os::raw::c_int,
11331    ) -> ::std::os::raw::c_int;
11332}
11333extern "C" {
11334    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11335    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11336        nid: ::std::os::raw::c_int,
11337        in_: *const u8,
11338        len: usize,
11339    ) -> *mut EVP_PKEY;
11340}
11341extern "C" {
11342    #[link_name = "aws_lc_0_46_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11343    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11344        nid: ::std::os::raw::c_int,
11345        in_: *const u8,
11346        len: usize,
11347    ) -> *mut EVP_PKEY;
11348}
11349extern "C" {
11350    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dh_pad"]
11351    pub fn EVP_PKEY_CTX_set_dh_pad(
11352        ctx: *mut EVP_PKEY_CTX,
11353        pad: ::std::os::raw::c_int,
11354    ) -> ::std::os::raw::c_int;
11355}
11356extern "C" {
11357    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get_count"]
11358    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11359}
11360extern "C" {
11361    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get0"]
11362    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11363}
11364extern "C" {
11365    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_find"]
11366    pub fn EVP_PKEY_asn1_find(
11367        _pe: *mut *mut ENGINE,
11368        type_: ::std::os::raw::c_int,
11369    ) -> *const EVP_PKEY_ASN1_METHOD;
11370}
11371extern "C" {
11372    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_find_str"]
11373    pub fn EVP_PKEY_asn1_find_str(
11374        _pe: *mut *mut ENGINE,
11375        name: *const ::std::os::raw::c_char,
11376        len: ::std::os::raw::c_int,
11377    ) -> *const EVP_PKEY_ASN1_METHOD;
11378}
11379extern "C" {
11380    #[link_name = "aws_lc_0_46_0_EVP_PKEY_asn1_get0_info"]
11381    pub fn EVP_PKEY_asn1_get0_info(
11382        ppkey_id: *mut ::std::os::raw::c_int,
11383        pkey_base_id: *mut ::std::os::raw::c_int,
11384        ppkey_flags: *mut ::std::os::raw::c_int,
11385        pinfo: *mut *const ::std::os::raw::c_char,
11386        ppem_str: *mut *const ::std::os::raw::c_char,
11387        ameth: *const EVP_PKEY_ASN1_METHOD,
11388    ) -> ::std::os::raw::c_int;
11389}
11390extern "C" {
11391    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get_private_seed"]
11392    pub fn EVP_PKEY_get_private_seed(
11393        key: *const EVP_PKEY,
11394        out: *mut u8,
11395        out_len: *mut usize,
11396    ) -> ::std::os::raw::c_int;
11397}
11398pub type EVP_PKEY_gen_cb =
11399    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11400extern "C" {
11401    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_cb"]
11402    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11403}
11404extern "C" {
11405    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_keygen_info"]
11406    pub fn EVP_PKEY_CTX_get_keygen_info(
11407        ctx: *mut EVP_PKEY_CTX,
11408        idx: ::std::os::raw::c_int,
11409    ) -> ::std::os::raw::c_int;
11410}
11411extern "C" {
11412    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_app_data"]
11413    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11414}
11415extern "C" {
11416    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_get_app_data"]
11417    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11418}
11419extern "C" {
11420    #[link_name = "aws_lc_0_46_0_EVP_MD_get_pkey_type"]
11421    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11422}
11423extern "C" {
11424    #[link_name = "aws_lc_0_46_0_EVP_MD_pkey_type"]
11425    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11426}
11427extern "C" {
11428    #[link_name = "aws_lc_0_46_0_EVP_CIPHER_do_all_sorted"]
11429    pub fn EVP_CIPHER_do_all_sorted(
11430        callback: ::std::option::Option<
11431            unsafe extern "C" fn(
11432                cipher: *const EVP_CIPHER,
11433                name: *const ::std::os::raw::c_char,
11434                unused: *const ::std::os::raw::c_char,
11435                arg: *mut ::std::os::raw::c_void,
11436            ),
11437        >,
11438        arg: *mut ::std::os::raw::c_void,
11439    );
11440}
11441extern "C" {
11442    #[link_name = "aws_lc_0_46_0_EVP_MD_do_all_sorted"]
11443    pub fn EVP_MD_do_all_sorted(
11444        callback: ::std::option::Option<
11445            unsafe extern "C" fn(
11446                cipher: *const EVP_MD,
11447                name: *const ::std::os::raw::c_char,
11448                unused: *const ::std::os::raw::c_char,
11449                arg: *mut ::std::os::raw::c_void,
11450            ),
11451        >,
11452        arg: *mut ::std::os::raw::c_void,
11453    );
11454}
11455extern "C" {
11456    #[link_name = "aws_lc_0_46_0_EVP_MD_do_all"]
11457    pub fn EVP_MD_do_all(
11458        callback: ::std::option::Option<
11459            unsafe extern "C" fn(
11460                cipher: *const EVP_MD,
11461                name: *const ::std::os::raw::c_char,
11462                unused: *const ::std::os::raw::c_char,
11463                arg: *mut ::std::os::raw::c_void,
11464            ),
11465        >,
11466        arg: *mut ::std::os::raw::c_void,
11467    );
11468}
11469extern "C" {
11470    #[link_name = "aws_lc_0_46_0_i2d_PrivateKey"]
11471    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11472}
11473extern "C" {
11474    #[link_name = "aws_lc_0_46_0_i2d_PublicKey"]
11475    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11476}
11477extern "C" {
11478    #[link_name = "aws_lc_0_46_0_d2i_PrivateKey"]
11479    pub fn d2i_PrivateKey(
11480        type_: ::std::os::raw::c_int,
11481        out: *mut *mut EVP_PKEY,
11482        inp: *mut *const u8,
11483        len: ::std::os::raw::c_long,
11484    ) -> *mut EVP_PKEY;
11485}
11486extern "C" {
11487    #[link_name = "aws_lc_0_46_0_d2i_AutoPrivateKey"]
11488    pub fn d2i_AutoPrivateKey(
11489        out: *mut *mut EVP_PKEY,
11490        inp: *mut *const u8,
11491        len: ::std::os::raw::c_long,
11492    ) -> *mut EVP_PKEY;
11493}
11494extern "C" {
11495    #[link_name = "aws_lc_0_46_0_d2i_PublicKey"]
11496    pub fn d2i_PublicKey(
11497        type_: ::std::os::raw::c_int,
11498        out: *mut *mut EVP_PKEY,
11499        inp: *mut *const u8,
11500        len: ::std::os::raw::c_long,
11501    ) -> *mut EVP_PKEY;
11502}
11503extern "C" {
11504    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_ec_param_enc"]
11505    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11506        ctx: *mut EVP_PKEY_CTX,
11507        encoding: ::std::os::raw::c_int,
11508    ) -> ::std::os::raw::c_int;
11509}
11510extern "C" {
11511    #[link_name = "aws_lc_0_46_0_EVP_PKEY_set1_tls_encodedpoint"]
11512    pub fn EVP_PKEY_set1_tls_encodedpoint(
11513        pkey: *mut EVP_PKEY,
11514        in_: *const u8,
11515        len: usize,
11516    ) -> ::std::os::raw::c_int;
11517}
11518extern "C" {
11519    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get1_tls_encodedpoint"]
11520    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11521}
11522extern "C" {
11523    #[link_name = "aws_lc_0_46_0_EVP_PKEY_base_id"]
11524    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11525}
11526extern "C" {
11527    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11528    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11529        ctx: *mut EVP_PKEY_CTX,
11530        md: *const EVP_MD,
11531    ) -> ::std::os::raw::c_int;
11532}
11533extern "C" {
11534    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11535    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11536        ctx: *mut EVP_PKEY_CTX,
11537        salt_len: ::std::os::raw::c_int,
11538    ) -> ::std::os::raw::c_int;
11539}
11540extern "C" {
11541    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11542    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11543        ctx: *mut EVP_PKEY_CTX,
11544        md: *const EVP_MD,
11545    ) -> ::std::os::raw::c_int;
11546}
11547extern "C" {
11548    #[link_name = "aws_lc_0_46_0_i2d_PUBKEY"]
11549    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11550}
11551extern "C" {
11552    #[link_name = "aws_lc_0_46_0_d2i_PUBKEY"]
11553    pub fn d2i_PUBKEY(
11554        out: *mut *mut EVP_PKEY,
11555        inp: *mut *const u8,
11556        len: ::std::os::raw::c_long,
11557    ) -> *mut EVP_PKEY;
11558}
11559extern "C" {
11560    #[link_name = "aws_lc_0_46_0_i2d_RSA_PUBKEY"]
11561    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11562}
11563extern "C" {
11564    #[link_name = "aws_lc_0_46_0_d2i_RSA_PUBKEY"]
11565    pub fn d2i_RSA_PUBKEY(
11566        out: *mut *mut RSA,
11567        inp: *mut *const u8,
11568        len: ::std::os::raw::c_long,
11569    ) -> *mut RSA;
11570}
11571extern "C" {
11572    #[link_name = "aws_lc_0_46_0_i2d_DSA_PUBKEY"]
11573    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11574}
11575extern "C" {
11576    #[link_name = "aws_lc_0_46_0_d2i_DSA_PUBKEY"]
11577    pub fn d2i_DSA_PUBKEY(
11578        out: *mut *mut DSA,
11579        inp: *mut *const u8,
11580        len: ::std::os::raw::c_long,
11581    ) -> *mut DSA;
11582}
11583extern "C" {
11584    #[link_name = "aws_lc_0_46_0_i2d_EC_PUBKEY"]
11585    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11586}
11587extern "C" {
11588    #[link_name = "aws_lc_0_46_0_d2i_EC_PUBKEY"]
11589    pub fn d2i_EC_PUBKEY(
11590        out: *mut *mut EC_KEY,
11591        inp: *mut *const u8,
11592        len: ::std::os::raw::c_long,
11593    ) -> *mut EC_KEY;
11594}
11595extern "C" {
11596    #[link_name = "aws_lc_0_46_0_EVP_PKEY_assign"]
11597    pub fn EVP_PKEY_assign(
11598        pkey: *mut EVP_PKEY,
11599        type_: ::std::os::raw::c_int,
11600        key: *mut ::std::os::raw::c_void,
11601    ) -> ::std::os::raw::c_int;
11602}
11603extern "C" {
11604    #[link_name = "aws_lc_0_46_0_EVP_PKEY_type"]
11605    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11606}
11607extern "C" {
11608    #[link_name = "aws_lc_0_46_0_EVP_PKEY_new_mac_key"]
11609    pub fn EVP_PKEY_new_mac_key(
11610        type_: ::std::os::raw::c_int,
11611        engine: *mut ENGINE,
11612        mac_key: *const u8,
11613        mac_key_len: usize,
11614    ) -> *mut EVP_PKEY;
11615}
11616extern "C" {
11617    #[link_name = "aws_lc_0_46_0_EVP_PKEY_get0"]
11618    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11619}
11620extern "C" {
11621    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_algorithms"]
11622    pub fn OpenSSL_add_all_algorithms();
11623}
11624extern "C" {
11625    #[link_name = "aws_lc_0_46_0_OPENSSL_add_all_algorithms_conf"]
11626    pub fn OPENSSL_add_all_algorithms_conf();
11627}
11628extern "C" {
11629    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_ciphers"]
11630    pub fn OpenSSL_add_all_ciphers();
11631}
11632extern "C" {
11633    #[link_name = "aws_lc_0_46_0_OpenSSL_add_all_digests"]
11634    pub fn OpenSSL_add_all_digests();
11635}
11636extern "C" {
11637    #[link_name = "aws_lc_0_46_0_EVP_cleanup"]
11638    pub fn EVP_cleanup();
11639}
11640extern "C" {
11641    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11642    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11643        ctx: *mut EVP_PKEY_CTX,
11644        nbits: ::std::os::raw::c_int,
11645    ) -> ::std::os::raw::c_int;
11646}
11647extern "C" {
11648    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11649    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11650        ctx: *mut EVP_PKEY_CTX,
11651        md: *const EVP_MD,
11652    ) -> ::std::os::raw::c_int;
11653}
11654extern "C" {
11655    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11656    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11657        ctx: *mut EVP_PKEY_CTX,
11658        qbits: ::std::os::raw::c_int,
11659    ) -> ::std::os::raw::c_int;
11660}
11661extern "C" {
11662    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_ctrl_str"]
11663    pub fn EVP_PKEY_CTX_ctrl_str(
11664        ctx: *mut EVP_PKEY_CTX,
11665        type_: *const ::std::os::raw::c_char,
11666        value: *const ::std::os::raw::c_char,
11667    ) -> ::std::os::raw::c_int;
11668}
11669extern "C" {
11670    #[link_name = "aws_lc_0_46_0_CRYPTO_tls1_prf"]
11671    pub fn CRYPTO_tls1_prf(
11672        digest: *const EVP_MD,
11673        out: *mut u8,
11674        out_len: usize,
11675        secret: *const u8,
11676        secret_len: usize,
11677        label: *const ::std::os::raw::c_char,
11678        label_len: usize,
11679        seed1: *const u8,
11680        seed1_len: usize,
11681        seed2: *const u8,
11682        seed2_len: usize,
11683    ) -> ::std::os::raw::c_int;
11684}
11685extern "C" {
11686    #[link_name = "aws_lc_0_46_0_CRYPTO_tls13_hkdf_expand_label"]
11687    pub fn CRYPTO_tls13_hkdf_expand_label(
11688        out: *mut u8,
11689        out_len: usize,
11690        digest: *const EVP_MD,
11691        secret: *const u8,
11692        secret_len: usize,
11693        label: *const u8,
11694        label_len: usize,
11695        hash: *const u8,
11696        hash_len: usize,
11697    ) -> ::std::os::raw::c_int;
11698}
11699extern "C" {
11700    #[link_name = "aws_lc_0_46_0_SSKDF_digest"]
11701    pub fn SSKDF_digest(
11702        out_key: *mut u8,
11703        out_len: usize,
11704        digest: *const EVP_MD,
11705        secret: *const u8,
11706        secret_len: usize,
11707        info: *const u8,
11708        info_len: usize,
11709    ) -> ::std::os::raw::c_int;
11710}
11711extern "C" {
11712    #[link_name = "aws_lc_0_46_0_SSKDF_hmac"]
11713    pub fn SSKDF_hmac(
11714        out_key: *mut u8,
11715        out_len: usize,
11716        digest: *const EVP_MD,
11717        secret: *const u8,
11718        secret_len: usize,
11719        info: *const u8,
11720        info_len: usize,
11721        salt: *const u8,
11722        salt_len: usize,
11723    ) -> ::std::os::raw::c_int;
11724}
11725extern "C" {
11726    #[link_name = "aws_lc_0_46_0_KBKDF_ctr_hmac"]
11727    pub fn KBKDF_ctr_hmac(
11728        out_key: *mut u8,
11729        out_len: usize,
11730        digest: *const EVP_MD,
11731        secret: *const u8,
11732        secret_len: usize,
11733        info: *const u8,
11734        info_len: usize,
11735    ) -> ::std::os::raw::c_int;
11736}
11737extern "C" {
11738    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_hkdf_mode"]
11739    pub fn EVP_PKEY_CTX_hkdf_mode(
11740        ctx: *mut EVP_PKEY_CTX,
11741        mode: ::std::os::raw::c_int,
11742    ) -> ::std::os::raw::c_int;
11743}
11744extern "C" {
11745    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set_hkdf_md"]
11746    pub fn EVP_PKEY_CTX_set_hkdf_md(
11747        ctx: *mut EVP_PKEY_CTX,
11748        md: *const EVP_MD,
11749    ) -> ::std::os::raw::c_int;
11750}
11751extern "C" {
11752    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_hkdf_key"]
11753    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11754        ctx: *mut EVP_PKEY_CTX,
11755        key: *const u8,
11756        key_len: usize,
11757    ) -> ::std::os::raw::c_int;
11758}
11759extern "C" {
11760    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11761    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11762        ctx: *mut EVP_PKEY_CTX,
11763        salt: *const u8,
11764        salt_len: usize,
11765    ) -> ::std::os::raw::c_int;
11766}
11767extern "C" {
11768    #[link_name = "aws_lc_0_46_0_EVP_PKEY_CTX_add1_hkdf_info"]
11769    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11770        ctx: *mut EVP_PKEY_CTX,
11771        info: *const u8,
11772        info_len: usize,
11773    ) -> ::std::os::raw::c_int;
11774}
11775extern "C" {
11776    #[link_name = "aws_lc_0_46_0_HKDF"]
11777    pub fn HKDF(
11778        out_key: *mut u8,
11779        out_len: usize,
11780        digest: *const EVP_MD,
11781        secret: *const u8,
11782        secret_len: usize,
11783        salt: *const u8,
11784        salt_len: usize,
11785        info: *const u8,
11786        info_len: usize,
11787    ) -> ::std::os::raw::c_int;
11788}
11789extern "C" {
11790    #[link_name = "aws_lc_0_46_0_HKDF_extract"]
11791    pub fn HKDF_extract(
11792        out_key: *mut u8,
11793        out_len: *mut usize,
11794        digest: *const EVP_MD,
11795        secret: *const u8,
11796        secret_len: usize,
11797        salt: *const u8,
11798        salt_len: usize,
11799    ) -> ::std::os::raw::c_int;
11800}
11801extern "C" {
11802    #[link_name = "aws_lc_0_46_0_HKDF_expand"]
11803    pub fn HKDF_expand(
11804        out_key: *mut u8,
11805        out_len: usize,
11806        digest: *const EVP_MD,
11807        prk: *const u8,
11808        prk_len: usize,
11809        info: *const u8,
11810        info_len: usize,
11811    ) -> ::std::os::raw::c_int;
11812}
11813#[repr(C)]
11814#[derive(Copy, Clone)]
11815pub struct evp_hpke_ctx_st {
11816    pub kem: *const EVP_HPKE_KEM,
11817    pub aead: *const EVP_HPKE_AEAD,
11818    pub kdf: *const EVP_HPKE_KDF,
11819    pub aead_ctx: EVP_AEAD_CTX,
11820    pub base_nonce: [u8; 24usize],
11821    pub exporter_secret: [u8; 64usize],
11822    pub seq: u64,
11823    pub is_sender: ::std::os::raw::c_int,
11824}
11825#[test]
11826fn bindgen_test_layout_evp_hpke_ctx_st() {
11827    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11828    let ptr = UNINIT.as_ptr();
11829    assert_eq!(
11830        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11831        712usize,
11832        "Size of evp_hpke_ctx_st"
11833    );
11834    assert_eq!(
11835        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11836        8usize,
11837        "Alignment of evp_hpke_ctx_st"
11838    );
11839    assert_eq!(
11840        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11841        0usize,
11842        "Offset of field: evp_hpke_ctx_st::kem"
11843    );
11844    assert_eq!(
11845        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11846        8usize,
11847        "Offset of field: evp_hpke_ctx_st::aead"
11848    );
11849    assert_eq!(
11850        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11851        16usize,
11852        "Offset of field: evp_hpke_ctx_st::kdf"
11853    );
11854    assert_eq!(
11855        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11856        24usize,
11857        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11858    );
11859    assert_eq!(
11860        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11861        608usize,
11862        "Offset of field: evp_hpke_ctx_st::base_nonce"
11863    );
11864    assert_eq!(
11865        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11866        632usize,
11867        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11868    );
11869    assert_eq!(
11870        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11871        696usize,
11872        "Offset of field: evp_hpke_ctx_st::seq"
11873    );
11874    assert_eq!(
11875        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11876        704usize,
11877        "Offset of field: evp_hpke_ctx_st::is_sender"
11878    );
11879}
11880impl Default for evp_hpke_ctx_st {
11881    fn default() -> Self {
11882        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11883        unsafe {
11884            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11885            s.assume_init()
11886        }
11887    }
11888}
11889#[repr(C)]
11890#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11891pub struct evp_hpke_key_st {
11892    pub kem: *const EVP_HPKE_KEM,
11893    pub private_key: [u8; 64usize],
11894    pub public_key: [u8; 1568usize],
11895    pub expanded_private_key: [u8; 3168usize],
11896}
11897#[test]
11898fn bindgen_test_layout_evp_hpke_key_st() {
11899    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11900    let ptr = UNINIT.as_ptr();
11901    assert_eq!(
11902        ::std::mem::size_of::<evp_hpke_key_st>(),
11903        4808usize,
11904        "Size of evp_hpke_key_st"
11905    );
11906    assert_eq!(
11907        ::std::mem::align_of::<evp_hpke_key_st>(),
11908        8usize,
11909        "Alignment of evp_hpke_key_st"
11910    );
11911    assert_eq!(
11912        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11913        0usize,
11914        "Offset of field: evp_hpke_key_st::kem"
11915    );
11916    assert_eq!(
11917        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11918        8usize,
11919        "Offset of field: evp_hpke_key_st::private_key"
11920    );
11921    assert_eq!(
11922        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11923        72usize,
11924        "Offset of field: evp_hpke_key_st::public_key"
11925    );
11926    assert_eq!(
11927        unsafe { ::std::ptr::addr_of!((*ptr).expanded_private_key) as usize - ptr as usize },
11928        1640usize,
11929        "Offset of field: evp_hpke_key_st::expanded_private_key"
11930    );
11931}
11932impl Default for evp_hpke_key_st {
11933    fn default() -> Self {
11934        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11935        unsafe {
11936            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11937            s.assume_init()
11938        }
11939    }
11940}
11941#[repr(C)]
11942#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11943pub struct md4_state_st {
11944    pub h: [u32; 4usize],
11945    pub Nl: u32,
11946    pub Nh: u32,
11947    pub data: [u8; 64usize],
11948    pub num: ::std::os::raw::c_uint,
11949}
11950#[test]
11951fn bindgen_test_layout_md4_state_st() {
11952    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11953    let ptr = UNINIT.as_ptr();
11954    assert_eq!(
11955        ::std::mem::size_of::<md4_state_st>(),
11956        92usize,
11957        "Size of md4_state_st"
11958    );
11959    assert_eq!(
11960        ::std::mem::align_of::<md4_state_st>(),
11961        4usize,
11962        "Alignment of md4_state_st"
11963    );
11964    assert_eq!(
11965        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11966        0usize,
11967        "Offset of field: md4_state_st::h"
11968    );
11969    assert_eq!(
11970        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11971        16usize,
11972        "Offset of field: md4_state_st::Nl"
11973    );
11974    assert_eq!(
11975        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11976        20usize,
11977        "Offset of field: md4_state_st::Nh"
11978    );
11979    assert_eq!(
11980        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11981        24usize,
11982        "Offset of field: md4_state_st::data"
11983    );
11984    assert_eq!(
11985        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11986        88usize,
11987        "Offset of field: md4_state_st::num"
11988    );
11989}
11990impl Default for md4_state_st {
11991    fn default() -> Self {
11992        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11993        unsafe {
11994            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11995            s.assume_init()
11996        }
11997    }
11998}
11999#[repr(C)]
12000#[derive(Debug)]
12001pub struct stack_st_X509 {
12002    _unused: [u8; 0],
12003}
12004#[repr(C)]
12005#[derive(Debug)]
12006pub struct stack_st_X509_CRL {
12007    _unused: [u8; 0],
12008}
12009#[repr(C)]
12010#[derive(Copy, Clone)]
12011pub struct pkcs7_st {
12012    pub type_: *mut ASN1_OBJECT,
12013    pub d: pkcs7_st__bindgen_ty_1,
12014}
12015#[repr(C)]
12016#[derive(Copy, Clone)]
12017pub union pkcs7_st__bindgen_ty_1 {
12018    pub ptr: *mut ::std::os::raw::c_char,
12019    pub data: *mut ASN1_OCTET_STRING,
12020    pub sign: *mut PKCS7_SIGNED,
12021    pub enveloped: *mut PKCS7_ENVELOPE,
12022    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
12023    pub digest: *mut PKCS7_DIGEST,
12024    pub encrypted: *mut PKCS7_ENCRYPT,
12025    pub other: *mut ASN1_TYPE,
12026}
12027#[test]
12028fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
12029    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
12030        ::std::mem::MaybeUninit::uninit();
12031    let ptr = UNINIT.as_ptr();
12032    assert_eq!(
12033        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
12034        8usize,
12035        "Size of pkcs7_st__bindgen_ty_1"
12036    );
12037    assert_eq!(
12038        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
12039        8usize,
12040        "Alignment of pkcs7_st__bindgen_ty_1"
12041    );
12042    assert_eq!(
12043        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
12044        0usize,
12045        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
12046    );
12047    assert_eq!(
12048        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12049        0usize,
12050        "Offset of field: pkcs7_st__bindgen_ty_1::data"
12051    );
12052    assert_eq!(
12053        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
12054        0usize,
12055        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
12056    );
12057    assert_eq!(
12058        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
12059        0usize,
12060        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
12061    );
12062    assert_eq!(
12063        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
12064        0usize,
12065        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
12066    );
12067    assert_eq!(
12068        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
12069        0usize,
12070        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
12071    );
12072    assert_eq!(
12073        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
12074        0usize,
12075        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
12076    );
12077    assert_eq!(
12078        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
12079        0usize,
12080        "Offset of field: pkcs7_st__bindgen_ty_1::other"
12081    );
12082}
12083impl Default for pkcs7_st__bindgen_ty_1 {
12084    fn default() -> Self {
12085        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12086        unsafe {
12087            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12088            s.assume_init()
12089        }
12090    }
12091}
12092#[test]
12093fn bindgen_test_layout_pkcs7_st() {
12094    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
12095    let ptr = UNINIT.as_ptr();
12096    assert_eq!(
12097        ::std::mem::size_of::<pkcs7_st>(),
12098        16usize,
12099        "Size of pkcs7_st"
12100    );
12101    assert_eq!(
12102        ::std::mem::align_of::<pkcs7_st>(),
12103        8usize,
12104        "Alignment of pkcs7_st"
12105    );
12106    assert_eq!(
12107        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
12108        0usize,
12109        "Offset of field: pkcs7_st::type_"
12110    );
12111    assert_eq!(
12112        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
12113        8usize,
12114        "Offset of field: pkcs7_st::d"
12115    );
12116}
12117impl Default for pkcs7_st {
12118    fn default() -> Self {
12119        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12120        unsafe {
12121            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12122            s.assume_init()
12123        }
12124    }
12125}
12126#[repr(C)]
12127#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12128pub struct pkcs7_signed_st {
12129    pub version: *mut ASN1_INTEGER,
12130    pub md_algs: *mut stack_st_X509_ALGOR,
12131    pub contents: *mut PKCS7,
12132    pub cert: *mut stack_st_X509,
12133    pub crl: *mut stack_st_X509_CRL,
12134    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12135}
12136#[test]
12137fn bindgen_test_layout_pkcs7_signed_st() {
12138    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
12139    let ptr = UNINIT.as_ptr();
12140    assert_eq!(
12141        ::std::mem::size_of::<pkcs7_signed_st>(),
12142        48usize,
12143        "Size of pkcs7_signed_st"
12144    );
12145    assert_eq!(
12146        ::std::mem::align_of::<pkcs7_signed_st>(),
12147        8usize,
12148        "Alignment of pkcs7_signed_st"
12149    );
12150    assert_eq!(
12151        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12152        0usize,
12153        "Offset of field: pkcs7_signed_st::version"
12154    );
12155    assert_eq!(
12156        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12157        8usize,
12158        "Offset of field: pkcs7_signed_st::md_algs"
12159    );
12160    assert_eq!(
12161        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
12162        16usize,
12163        "Offset of field: pkcs7_signed_st::contents"
12164    );
12165    assert_eq!(
12166        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12167        24usize,
12168        "Offset of field: pkcs7_signed_st::cert"
12169    );
12170    assert_eq!(
12171        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12172        32usize,
12173        "Offset of field: pkcs7_signed_st::crl"
12174    );
12175    assert_eq!(
12176        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12177        40usize,
12178        "Offset of field: pkcs7_signed_st::signer_info"
12179    );
12180}
12181impl Default for pkcs7_signed_st {
12182    fn default() -> Self {
12183        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12184        unsafe {
12185            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12186            s.assume_init()
12187        }
12188    }
12189}
12190#[repr(C)]
12191#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12192pub struct pkcs7_signer_info_st {
12193    pub version: *mut ASN1_INTEGER,
12194    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12195    pub digest_alg: *mut X509_ALGOR,
12196    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
12197    pub digest_enc_alg: *mut X509_ALGOR,
12198    pub enc_digest: *mut ASN1_OCTET_STRING,
12199    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
12200    pub pkey: *mut EVP_PKEY,
12201}
12202#[test]
12203fn bindgen_test_layout_pkcs7_signer_info_st() {
12204    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
12205    let ptr = UNINIT.as_ptr();
12206    assert_eq!(
12207        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12208        64usize,
12209        "Size of pkcs7_signer_info_st"
12210    );
12211    assert_eq!(
12212        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12213        8usize,
12214        "Alignment of pkcs7_signer_info_st"
12215    );
12216    assert_eq!(
12217        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12218        0usize,
12219        "Offset of field: pkcs7_signer_info_st::version"
12220    );
12221    assert_eq!(
12222        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12223        8usize,
12224        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12225    );
12226    assert_eq!(
12227        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12228        16usize,
12229        "Offset of field: pkcs7_signer_info_st::digest_alg"
12230    );
12231    assert_eq!(
12232        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12233        24usize,
12234        "Offset of field: pkcs7_signer_info_st::auth_attr"
12235    );
12236    assert_eq!(
12237        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12238        32usize,
12239        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12240    );
12241    assert_eq!(
12242        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12243        40usize,
12244        "Offset of field: pkcs7_signer_info_st::enc_digest"
12245    );
12246    assert_eq!(
12247        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12248        48usize,
12249        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12250    );
12251    assert_eq!(
12252        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12253        56usize,
12254        "Offset of field: pkcs7_signer_info_st::pkey"
12255    );
12256}
12257impl Default for pkcs7_signer_info_st {
12258    fn default() -> Self {
12259        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12260        unsafe {
12261            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12262            s.assume_init()
12263        }
12264    }
12265}
12266#[repr(C)]
12267#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12268pub struct pkcs7_sign_envelope_st {
12269    pub version: *mut ASN1_INTEGER,
12270    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12271    pub md_algs: *mut stack_st_X509_ALGOR,
12272    pub enc_data: *mut PKCS7_ENC_CONTENT,
12273    pub cert: *mut stack_st_X509,
12274    pub crl: *mut stack_st_X509_CRL,
12275    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12276}
12277#[test]
12278fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12279    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12280        ::std::mem::MaybeUninit::uninit();
12281    let ptr = UNINIT.as_ptr();
12282    assert_eq!(
12283        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12284        56usize,
12285        "Size of pkcs7_sign_envelope_st"
12286    );
12287    assert_eq!(
12288        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12289        8usize,
12290        "Alignment of pkcs7_sign_envelope_st"
12291    );
12292    assert_eq!(
12293        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12294        0usize,
12295        "Offset of field: pkcs7_sign_envelope_st::version"
12296    );
12297    assert_eq!(
12298        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12299        8usize,
12300        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12301    );
12302    assert_eq!(
12303        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12304        16usize,
12305        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12306    );
12307    assert_eq!(
12308        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12309        24usize,
12310        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12311    );
12312    assert_eq!(
12313        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12314        32usize,
12315        "Offset of field: pkcs7_sign_envelope_st::cert"
12316    );
12317    assert_eq!(
12318        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12319        40usize,
12320        "Offset of field: pkcs7_sign_envelope_st::crl"
12321    );
12322    assert_eq!(
12323        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12324        48usize,
12325        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12326    );
12327}
12328impl Default for pkcs7_sign_envelope_st {
12329    fn default() -> Self {
12330        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12331        unsafe {
12332            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12333            s.assume_init()
12334        }
12335    }
12336}
12337#[repr(C)]
12338#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12339pub struct pkcs7_envelope_st {
12340    pub version: *mut ASN1_INTEGER,
12341    pub enc_data: *mut PKCS7_ENC_CONTENT,
12342    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12343}
12344#[test]
12345fn bindgen_test_layout_pkcs7_envelope_st() {
12346    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12347    let ptr = UNINIT.as_ptr();
12348    assert_eq!(
12349        ::std::mem::size_of::<pkcs7_envelope_st>(),
12350        24usize,
12351        "Size of pkcs7_envelope_st"
12352    );
12353    assert_eq!(
12354        ::std::mem::align_of::<pkcs7_envelope_st>(),
12355        8usize,
12356        "Alignment of pkcs7_envelope_st"
12357    );
12358    assert_eq!(
12359        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12360        0usize,
12361        "Offset of field: pkcs7_envelope_st::version"
12362    );
12363    assert_eq!(
12364        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12365        8usize,
12366        "Offset of field: pkcs7_envelope_st::enc_data"
12367    );
12368    assert_eq!(
12369        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12370        16usize,
12371        "Offset of field: pkcs7_envelope_st::recipientinfo"
12372    );
12373}
12374impl Default for pkcs7_envelope_st {
12375    fn default() -> Self {
12376        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12377        unsafe {
12378            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12379            s.assume_init()
12380        }
12381    }
12382}
12383#[repr(C)]
12384#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12385pub struct pkcs7_recip_info_st {
12386    pub version: *mut ASN1_INTEGER,
12387    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12388    pub key_enc_algor: *mut X509_ALGOR,
12389    pub enc_key: *mut ASN1_OCTET_STRING,
12390    pub cert: *mut X509,
12391}
12392#[test]
12393fn bindgen_test_layout_pkcs7_recip_info_st() {
12394    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12395    let ptr = UNINIT.as_ptr();
12396    assert_eq!(
12397        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12398        40usize,
12399        "Size of pkcs7_recip_info_st"
12400    );
12401    assert_eq!(
12402        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12403        8usize,
12404        "Alignment of pkcs7_recip_info_st"
12405    );
12406    assert_eq!(
12407        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12408        0usize,
12409        "Offset of field: pkcs7_recip_info_st::version"
12410    );
12411    assert_eq!(
12412        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12413        8usize,
12414        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12415    );
12416    assert_eq!(
12417        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12418        16usize,
12419        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12420    );
12421    assert_eq!(
12422        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12423        24usize,
12424        "Offset of field: pkcs7_recip_info_st::enc_key"
12425    );
12426    assert_eq!(
12427        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12428        32usize,
12429        "Offset of field: pkcs7_recip_info_st::cert"
12430    );
12431}
12432impl Default for pkcs7_recip_info_st {
12433    fn default() -> Self {
12434        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12435        unsafe {
12436            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12437            s.assume_init()
12438        }
12439    }
12440}
12441#[repr(C)]
12442#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12443pub struct pkcs7_issuer_and_serial_st {
12444    pub issuer: *mut X509_NAME,
12445    pub serial: *mut ASN1_INTEGER,
12446}
12447#[test]
12448fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12449    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12450        ::std::mem::MaybeUninit::uninit();
12451    let ptr = UNINIT.as_ptr();
12452    assert_eq!(
12453        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12454        16usize,
12455        "Size of pkcs7_issuer_and_serial_st"
12456    );
12457    assert_eq!(
12458        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12459        8usize,
12460        "Alignment of pkcs7_issuer_and_serial_st"
12461    );
12462    assert_eq!(
12463        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12464        0usize,
12465        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12466    );
12467    assert_eq!(
12468        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12469        8usize,
12470        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12471    );
12472}
12473impl Default for pkcs7_issuer_and_serial_st {
12474    fn default() -> Self {
12475        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12476        unsafe {
12477            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12478            s.assume_init()
12479        }
12480    }
12481}
12482#[repr(C)]
12483#[derive(Debug)]
12484pub struct stack_st_PKCS7_RECIP_INFO {
12485    _unused: [u8; 0],
12486}
12487#[repr(C)]
12488#[derive(Debug)]
12489pub struct stack_st_PKCS7_SIGNER_INFO {
12490    _unused: [u8; 0],
12491}
12492extern "C" {
12493    #[link_name = "aws_lc_0_46_0_RSA_new_public_key"]
12494    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12495}
12496extern "C" {
12497    #[link_name = "aws_lc_0_46_0_RSA_new_private_key"]
12498    pub fn RSA_new_private_key(
12499        n: *const BIGNUM,
12500        e: *const BIGNUM,
12501        d: *const BIGNUM,
12502        p: *const BIGNUM,
12503        q: *const BIGNUM,
12504        dmp1: *const BIGNUM,
12505        dmq1: *const BIGNUM,
12506        iqmp: *const BIGNUM,
12507    ) -> *mut RSA;
12508}
12509extern "C" {
12510    #[link_name = "aws_lc_0_46_0_RSA_new"]
12511    pub fn RSA_new() -> *mut RSA;
12512}
12513extern "C" {
12514    #[link_name = "aws_lc_0_46_0_RSA_new_method"]
12515    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12516}
12517extern "C" {
12518    #[link_name = "aws_lc_0_46_0_RSA_free"]
12519    pub fn RSA_free(rsa: *mut RSA);
12520}
12521extern "C" {
12522    #[link_name = "aws_lc_0_46_0_RSA_up_ref"]
12523    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12524}
12525extern "C" {
12526    #[link_name = "aws_lc_0_46_0_RSA_bits"]
12527    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12528}
12529extern "C" {
12530    #[link_name = "aws_lc_0_46_0_RSA_get0_n"]
12531    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12532}
12533extern "C" {
12534    #[link_name = "aws_lc_0_46_0_RSA_get0_e"]
12535    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12536}
12537extern "C" {
12538    #[link_name = "aws_lc_0_46_0_RSA_get0_d"]
12539    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12540}
12541extern "C" {
12542    #[link_name = "aws_lc_0_46_0_RSA_get0_p"]
12543    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12544}
12545extern "C" {
12546    #[link_name = "aws_lc_0_46_0_RSA_get0_q"]
12547    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12548}
12549extern "C" {
12550    #[link_name = "aws_lc_0_46_0_RSA_get0_dmp1"]
12551    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12552}
12553extern "C" {
12554    #[link_name = "aws_lc_0_46_0_RSA_get0_dmq1"]
12555    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12556}
12557extern "C" {
12558    #[link_name = "aws_lc_0_46_0_RSA_get0_iqmp"]
12559    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12560}
12561extern "C" {
12562    #[link_name = "aws_lc_0_46_0_RSA_get0_key"]
12563    pub fn RSA_get0_key(
12564        rsa: *const RSA,
12565        out_n: *mut *const BIGNUM,
12566        out_e: *mut *const BIGNUM,
12567        out_d: *mut *const BIGNUM,
12568    );
12569}
12570extern "C" {
12571    #[link_name = "aws_lc_0_46_0_RSA_get0_factors"]
12572    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12573}
12574extern "C" {
12575    #[link_name = "aws_lc_0_46_0_RSA_get0_crt_params"]
12576    pub fn RSA_get0_crt_params(
12577        rsa: *const RSA,
12578        out_dmp1: *mut *const BIGNUM,
12579        out_dmq1: *mut *const BIGNUM,
12580        out_iqmp: *mut *const BIGNUM,
12581    );
12582}
12583extern "C" {
12584    #[link_name = "aws_lc_0_46_0_RSA_set0_key"]
12585    pub fn RSA_set0_key(
12586        rsa: *mut RSA,
12587        n: *mut BIGNUM,
12588        e: *mut BIGNUM,
12589        d: *mut BIGNUM,
12590    ) -> ::std::os::raw::c_int;
12591}
12592extern "C" {
12593    #[link_name = "aws_lc_0_46_0_RSA_set0_factors"]
12594    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12595        -> ::std::os::raw::c_int;
12596}
12597extern "C" {
12598    #[link_name = "aws_lc_0_46_0_RSA_set0_crt_params"]
12599    pub fn RSA_set0_crt_params(
12600        rsa: *mut RSA,
12601        dmp1: *mut BIGNUM,
12602        dmq1: *mut BIGNUM,
12603        iqmp: *mut BIGNUM,
12604    ) -> ::std::os::raw::c_int;
12605}
12606extern "C" {
12607    #[link_name = "aws_lc_0_46_0_RSA_get_default_method"]
12608    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12609}
12610extern "C" {
12611    #[link_name = "aws_lc_0_46_0_RSA_meth_new"]
12612    pub fn RSA_meth_new(
12613        name: *const ::std::os::raw::c_char,
12614        flags: ::std::os::raw::c_int,
12615    ) -> *mut RSA_METHOD;
12616}
12617extern "C" {
12618    #[link_name = "aws_lc_0_46_0_RSA_set_method"]
12619    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12620}
12621extern "C" {
12622    #[link_name = "aws_lc_0_46_0_RSA_get_method"]
12623    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12624}
12625extern "C" {
12626    #[link_name = "aws_lc_0_46_0_RSA_meth_free"]
12627    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12628}
12629extern "C" {
12630    #[link_name = "aws_lc_0_46_0_RSA_meth_set_init"]
12631    pub fn RSA_meth_set_init(
12632        meth: *mut RSA_METHOD,
12633        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12634    ) -> ::std::os::raw::c_int;
12635}
12636extern "C" {
12637    #[link_name = "aws_lc_0_46_0_RSA_meth_set_finish"]
12638    pub fn RSA_meth_set_finish(
12639        meth: *mut RSA_METHOD,
12640        finish: ::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_46_0_RSA_meth_set_priv_dec"]
12645    pub fn RSA_meth_set_priv_dec(
12646        meth: *mut RSA_METHOD,
12647        priv_dec: ::std::option::Option<
12648            unsafe extern "C" fn(
12649                max_out: ::std::os::raw::c_int,
12650                from: *const u8,
12651                to: *mut u8,
12652                rsa: *mut RSA,
12653                padding: ::std::os::raw::c_int,
12654            ) -> ::std::os::raw::c_int,
12655        >,
12656    ) -> ::std::os::raw::c_int;
12657}
12658extern "C" {
12659    #[link_name = "aws_lc_0_46_0_RSA_meth_set_priv_enc"]
12660    pub fn RSA_meth_set_priv_enc(
12661        meth: *mut RSA_METHOD,
12662        priv_enc: ::std::option::Option<
12663            unsafe extern "C" fn(
12664                max_out: ::std::os::raw::c_int,
12665                from: *const u8,
12666                to: *mut u8,
12667                rsa: *mut RSA,
12668                padding: ::std::os::raw::c_int,
12669            ) -> ::std::os::raw::c_int,
12670        >,
12671    ) -> ::std::os::raw::c_int;
12672}
12673extern "C" {
12674    #[link_name = "aws_lc_0_46_0_RSA_meth_set_pub_dec"]
12675    pub fn RSA_meth_set_pub_dec(
12676        meth: *mut RSA_METHOD,
12677        pub_dec: ::std::option::Option<
12678            unsafe extern "C" fn(
12679                max_out: ::std::os::raw::c_int,
12680                from: *const u8,
12681                to: *mut u8,
12682                rsa: *mut RSA,
12683                padding: ::std::os::raw::c_int,
12684            ) -> ::std::os::raw::c_int,
12685        >,
12686    ) -> ::std::os::raw::c_int;
12687}
12688extern "C" {
12689    #[link_name = "aws_lc_0_46_0_RSA_meth_set_pub_enc"]
12690    pub fn RSA_meth_set_pub_enc(
12691        meth: *mut RSA_METHOD,
12692        pub_enc: ::std::option::Option<
12693            unsafe extern "C" fn(
12694                max_out: ::std::os::raw::c_int,
12695                from: *const u8,
12696                to: *mut u8,
12697                rsa: *mut RSA,
12698                padding: ::std::os::raw::c_int,
12699            ) -> ::std::os::raw::c_int,
12700        >,
12701    ) -> ::std::os::raw::c_int;
12702}
12703extern "C" {
12704    #[link_name = "aws_lc_0_46_0_RSA_meth_set0_app_data"]
12705    pub fn RSA_meth_set0_app_data(
12706        meth: *mut RSA_METHOD,
12707        app_data: *mut ::std::os::raw::c_void,
12708    ) -> ::std::os::raw::c_int;
12709}
12710extern "C" {
12711    #[link_name = "aws_lc_0_46_0_RSA_meth_set_sign"]
12712    pub fn RSA_meth_set_sign(
12713        meth: *mut RSA_METHOD,
12714        sign: ::std::option::Option<
12715            unsafe extern "C" fn(
12716                type_: ::std::os::raw::c_int,
12717                m: *const ::std::os::raw::c_uchar,
12718                m_length: ::std::os::raw::c_uint,
12719                sigret: *mut ::std::os::raw::c_uchar,
12720                siglen: *mut ::std::os::raw::c_uint,
12721                rsa: *const RSA,
12722            ) -> ::std::os::raw::c_int,
12723        >,
12724    ) -> ::std::os::raw::c_int;
12725}
12726extern "C" {
12727    #[link_name = "aws_lc_0_46_0_RSA_generate_key_ex"]
12728    pub fn RSA_generate_key_ex(
12729        rsa: *mut RSA,
12730        bits: ::std::os::raw::c_int,
12731        e: *const BIGNUM,
12732        cb: *mut BN_GENCB,
12733    ) -> ::std::os::raw::c_int;
12734}
12735extern "C" {
12736    #[link_name = "aws_lc_0_46_0_RSA_generate_key_fips"]
12737    pub fn RSA_generate_key_fips(
12738        rsa: *mut RSA,
12739        bits: ::std::os::raw::c_int,
12740        cb: *mut BN_GENCB,
12741    ) -> ::std::os::raw::c_int;
12742}
12743extern "C" {
12744    #[link_name = "aws_lc_0_46_0_RSA_encrypt"]
12745    pub fn RSA_encrypt(
12746        rsa: *mut RSA,
12747        out_len: *mut usize,
12748        out: *mut u8,
12749        max_out: usize,
12750        in_: *const u8,
12751        in_len: usize,
12752        padding: ::std::os::raw::c_int,
12753    ) -> ::std::os::raw::c_int;
12754}
12755extern "C" {
12756    #[link_name = "aws_lc_0_46_0_RSA_decrypt"]
12757    pub fn RSA_decrypt(
12758        rsa: *mut RSA,
12759        out_len: *mut usize,
12760        out: *mut u8,
12761        max_out: usize,
12762        in_: *const u8,
12763        in_len: usize,
12764        padding: ::std::os::raw::c_int,
12765    ) -> ::std::os::raw::c_int;
12766}
12767extern "C" {
12768    #[link_name = "aws_lc_0_46_0_RSA_public_encrypt"]
12769    pub fn RSA_public_encrypt(
12770        flen: usize,
12771        from: *const u8,
12772        to: *mut u8,
12773        rsa: *mut RSA,
12774        padding: ::std::os::raw::c_int,
12775    ) -> ::std::os::raw::c_int;
12776}
12777extern "C" {
12778    #[link_name = "aws_lc_0_46_0_RSA_private_decrypt"]
12779    pub fn RSA_private_decrypt(
12780        flen: usize,
12781        from: *const u8,
12782        to: *mut u8,
12783        rsa: *mut RSA,
12784        padding: ::std::os::raw::c_int,
12785    ) -> ::std::os::raw::c_int;
12786}
12787extern "C" {
12788    #[link_name = "aws_lc_0_46_0_RSA_sign"]
12789    pub fn RSA_sign(
12790        hash_nid: ::std::os::raw::c_int,
12791        digest: *const u8,
12792        digest_len: usize,
12793        out: *mut u8,
12794        out_len: *mut ::std::os::raw::c_uint,
12795        rsa: *mut RSA,
12796    ) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    #[link_name = "aws_lc_0_46_0_RSA_sign_pss_mgf1"]
12800    pub fn RSA_sign_pss_mgf1(
12801        rsa: *mut RSA,
12802        out_len: *mut usize,
12803        out: *mut u8,
12804        max_out: usize,
12805        digest: *const u8,
12806        digest_len: usize,
12807        md: *const EVP_MD,
12808        mgf1_md: *const EVP_MD,
12809        salt_len: ::std::os::raw::c_int,
12810    ) -> ::std::os::raw::c_int;
12811}
12812extern "C" {
12813    #[link_name = "aws_lc_0_46_0_RSA_sign_raw"]
12814    pub fn RSA_sign_raw(
12815        rsa: *mut RSA,
12816        out_len: *mut usize,
12817        out: *mut u8,
12818        max_out: usize,
12819        in_: *const u8,
12820        in_len: usize,
12821        padding: ::std::os::raw::c_int,
12822    ) -> ::std::os::raw::c_int;
12823}
12824extern "C" {
12825    #[link_name = "aws_lc_0_46_0_RSA_verify"]
12826    pub fn RSA_verify(
12827        hash_nid: ::std::os::raw::c_int,
12828        digest: *const u8,
12829        digest_len: usize,
12830        sig: *const u8,
12831        sig_len: usize,
12832        rsa: *mut RSA,
12833    ) -> ::std::os::raw::c_int;
12834}
12835extern "C" {
12836    #[link_name = "aws_lc_0_46_0_RSA_verify_pss_mgf1"]
12837    pub fn RSA_verify_pss_mgf1(
12838        rsa: *mut RSA,
12839        digest: *const u8,
12840        digest_len: usize,
12841        md: *const EVP_MD,
12842        mgf1_md: *const EVP_MD,
12843        salt_len: ::std::os::raw::c_int,
12844        sig: *const u8,
12845        sig_len: usize,
12846    ) -> ::std::os::raw::c_int;
12847}
12848extern "C" {
12849    #[link_name = "aws_lc_0_46_0_RSA_verify_raw"]
12850    pub fn RSA_verify_raw(
12851        rsa: *mut RSA,
12852        out_len: *mut usize,
12853        out: *mut u8,
12854        max_out: usize,
12855        in_: *const u8,
12856        in_len: usize,
12857        padding: ::std::os::raw::c_int,
12858    ) -> ::std::os::raw::c_int;
12859}
12860extern "C" {
12861    #[link_name = "aws_lc_0_46_0_RSA_private_encrypt"]
12862    pub fn RSA_private_encrypt(
12863        flen: usize,
12864        from: *const u8,
12865        to: *mut u8,
12866        rsa: *mut RSA,
12867        padding: ::std::os::raw::c_int,
12868    ) -> ::std::os::raw::c_int;
12869}
12870extern "C" {
12871    #[link_name = "aws_lc_0_46_0_RSA_public_decrypt"]
12872    pub fn RSA_public_decrypt(
12873        flen: usize,
12874        from: *const u8,
12875        to: *mut u8,
12876        rsa: *mut RSA,
12877        padding: ::std::os::raw::c_int,
12878    ) -> ::std::os::raw::c_int;
12879}
12880extern "C" {
12881    #[link_name = "aws_lc_0_46_0_RSA_size"]
12882    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12883}
12884extern "C" {
12885    #[link_name = "aws_lc_0_46_0_RSA_is_opaque"]
12886    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12887}
12888extern "C" {
12889    #[link_name = "aws_lc_0_46_0_RSAPublicKey_dup"]
12890    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12891}
12892extern "C" {
12893    #[link_name = "aws_lc_0_46_0_RSAPrivateKey_dup"]
12894    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12895}
12896extern "C" {
12897    #[link_name = "aws_lc_0_46_0_RSA_check_key"]
12898    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12899}
12900extern "C" {
12901    #[link_name = "aws_lc_0_46_0_RSA_check_fips"]
12902    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12903}
12904extern "C" {
12905    #[link_name = "aws_lc_0_46_0_RSA_verify_PKCS1_PSS_mgf1"]
12906    pub fn RSA_verify_PKCS1_PSS_mgf1(
12907        rsa: *const RSA,
12908        mHash: *const u8,
12909        Hash: *const EVP_MD,
12910        mgf1Hash: *const EVP_MD,
12911        EM: *const u8,
12912        sLen: ::std::os::raw::c_int,
12913    ) -> ::std::os::raw::c_int;
12914}
12915extern "C" {
12916    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12917    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12918        rsa: *const RSA,
12919        EM: *mut u8,
12920        mHash: *const u8,
12921        Hash: *const EVP_MD,
12922        mgf1Hash: *const EVP_MD,
12923        sLen: ::std::os::raw::c_int,
12924    ) -> ::std::os::raw::c_int;
12925}
12926extern "C" {
12927    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12928    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12929        to: *mut u8,
12930        to_len: usize,
12931        from: *const u8,
12932        from_len: usize,
12933        param: *const u8,
12934        param_len: usize,
12935        md: *const EVP_MD,
12936        mgf1md: *const EVP_MD,
12937    ) -> ::std::os::raw::c_int;
12938}
12939extern "C" {
12940    #[link_name = "aws_lc_0_46_0_PKCS1_MGF1"]
12941    pub fn PKCS1_MGF1(
12942        out: *mut u8,
12943        len: usize,
12944        seed: *const u8,
12945        seed_len: usize,
12946        md: *const EVP_MD,
12947    ) -> ::std::os::raw::c_int;
12948}
12949extern "C" {
12950    #[link_name = "aws_lc_0_46_0_RSA_add_pkcs1_prefix"]
12951    pub fn RSA_add_pkcs1_prefix(
12952        out_msg: *mut *mut u8,
12953        out_msg_len: *mut usize,
12954        is_alloced: *mut ::std::os::raw::c_int,
12955        hash_nid: ::std::os::raw::c_int,
12956        digest: *const u8,
12957        digest_len: usize,
12958    ) -> ::std::os::raw::c_int;
12959}
12960extern "C" {
12961    #[link_name = "aws_lc_0_46_0_RSA_parse_public_key"]
12962    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12963}
12964extern "C" {
12965    #[link_name = "aws_lc_0_46_0_RSA_public_key_from_bytes"]
12966    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12967}
12968extern "C" {
12969    #[link_name = "aws_lc_0_46_0_RSA_marshal_public_key"]
12970    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12971}
12972extern "C" {
12973    #[link_name = "aws_lc_0_46_0_RSA_public_key_to_bytes"]
12974    pub fn RSA_public_key_to_bytes(
12975        out_bytes: *mut *mut u8,
12976        out_len: *mut usize,
12977        rsa: *const RSA,
12978    ) -> ::std::os::raw::c_int;
12979}
12980extern "C" {
12981    #[link_name = "aws_lc_0_46_0_RSA_parse_private_key"]
12982    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12983}
12984extern "C" {
12985    #[link_name = "aws_lc_0_46_0_RSA_private_key_from_bytes"]
12986    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12987}
12988extern "C" {
12989    #[link_name = "aws_lc_0_46_0_RSA_marshal_private_key"]
12990    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12991}
12992extern "C" {
12993    #[link_name = "aws_lc_0_46_0_RSA_private_key_to_bytes"]
12994    pub fn RSA_private_key_to_bytes(
12995        out_bytes: *mut *mut u8,
12996        out_len: *mut usize,
12997        rsa: *const RSA,
12998    ) -> ::std::os::raw::c_int;
12999}
13000extern "C" {
13001    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_no_crt"]
13002    pub fn RSA_new_private_key_no_crt(
13003        n: *const BIGNUM,
13004        e: *const BIGNUM,
13005        d: *const BIGNUM,
13006    ) -> *mut RSA;
13007}
13008extern "C" {
13009    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_no_e"]
13010    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
13011}
13012extern "C" {
13013    #[link_name = "aws_lc_0_46_0_RSA_new_public_key_large_e"]
13014    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
13015}
13016extern "C" {
13017    #[link_name = "aws_lc_0_46_0_RSA_new_private_key_large_e"]
13018    pub fn RSA_new_private_key_large_e(
13019        n: *const BIGNUM,
13020        e: *const BIGNUM,
13021        d: *const BIGNUM,
13022        p: *const BIGNUM,
13023        q: *const BIGNUM,
13024        dmp1: *const BIGNUM,
13025        dmq1: *const BIGNUM,
13026        iqmp: *const BIGNUM,
13027    ) -> *mut RSA;
13028}
13029extern "C" {
13030    #[link_name = "aws_lc_0_46_0_RSA_get_ex_new_index"]
13031    pub fn RSA_get_ex_new_index(
13032        argl: ::std::os::raw::c_long,
13033        argp: *mut ::std::os::raw::c_void,
13034        unused: *mut CRYPTO_EX_unused,
13035        dup_unused: CRYPTO_EX_dup,
13036        free_func: CRYPTO_EX_free,
13037    ) -> ::std::os::raw::c_int;
13038}
13039extern "C" {
13040    #[link_name = "aws_lc_0_46_0_RSA_set_ex_data"]
13041    pub fn RSA_set_ex_data(
13042        rsa: *mut RSA,
13043        idx: ::std::os::raw::c_int,
13044        arg: *mut ::std::os::raw::c_void,
13045    ) -> ::std::os::raw::c_int;
13046}
13047extern "C" {
13048    #[link_name = "aws_lc_0_46_0_RSA_get_ex_data"]
13049    pub fn RSA_get_ex_data(
13050        rsa: *const RSA,
13051        idx: ::std::os::raw::c_int,
13052    ) -> *mut ::std::os::raw::c_void;
13053}
13054extern "C" {
13055    #[link_name = "aws_lc_0_46_0_RSA_flags"]
13056    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
13057}
13058extern "C" {
13059    #[link_name = "aws_lc_0_46_0_RSA_set_flags"]
13060    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
13061}
13062extern "C" {
13063    #[link_name = "aws_lc_0_46_0_RSA_test_flags"]
13064    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13065}
13066extern "C" {
13067    #[link_name = "aws_lc_0_46_0_RSA_blinding_on"]
13068    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
13069}
13070extern "C" {
13071    #[link_name = "aws_lc_0_46_0_RSA_blinding_off_temp_for_accp_compatibility"]
13072    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
13073}
13074extern "C" {
13075    #[link_name = "aws_lc_0_46_0_RSA_pkey_ctx_ctrl"]
13076    pub fn RSA_pkey_ctx_ctrl(
13077        ctx: *mut EVP_PKEY_CTX,
13078        optype: ::std::os::raw::c_int,
13079        cmd: ::std::os::raw::c_int,
13080        p1: ::std::os::raw::c_int,
13081        p2: *mut ::std::os::raw::c_void,
13082    ) -> ::std::os::raw::c_int;
13083}
13084extern "C" {
13085    #[link_name = "aws_lc_0_46_0_RSA_generate_key"]
13086    pub fn RSA_generate_key(
13087        bits: ::std::os::raw::c_int,
13088        e: u64,
13089        callback: *mut ::std::os::raw::c_void,
13090        cb_arg: *mut ::std::os::raw::c_void,
13091    ) -> *mut RSA;
13092}
13093extern "C" {
13094    #[link_name = "aws_lc_0_46_0_d2i_RSAPublicKey"]
13095    pub fn d2i_RSAPublicKey(
13096        out: *mut *mut RSA,
13097        inp: *mut *const u8,
13098        len: ::std::os::raw::c_long,
13099    ) -> *mut RSA;
13100}
13101extern "C" {
13102    #[link_name = "aws_lc_0_46_0_i2d_RSAPublicKey"]
13103    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13104}
13105extern "C" {
13106    #[link_name = "aws_lc_0_46_0_d2i_RSAPrivateKey"]
13107    pub fn d2i_RSAPrivateKey(
13108        out: *mut *mut RSA,
13109        inp: *mut *const u8,
13110        len: ::std::os::raw::c_long,
13111    ) -> *mut RSA;
13112}
13113extern "C" {
13114    #[link_name = "aws_lc_0_46_0_i2d_RSAPrivateKey"]
13115    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13116}
13117extern "C" {
13118    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_PSS"]
13119    pub fn RSA_padding_add_PKCS1_PSS(
13120        rsa: *const RSA,
13121        EM: *mut u8,
13122        mHash: *const u8,
13123        Hash: *const EVP_MD,
13124        sLen: ::std::os::raw::c_int,
13125    ) -> ::std::os::raw::c_int;
13126}
13127extern "C" {
13128    #[link_name = "aws_lc_0_46_0_RSA_verify_PKCS1_PSS"]
13129    pub fn RSA_verify_PKCS1_PSS(
13130        rsa: *const RSA,
13131        mHash: *const u8,
13132        Hash: *const EVP_MD,
13133        EM: *const u8,
13134        sLen: ::std::os::raw::c_int,
13135    ) -> ::std::os::raw::c_int;
13136}
13137extern "C" {
13138    #[link_name = "aws_lc_0_46_0_RSA_padding_add_PKCS1_OAEP"]
13139    pub fn RSA_padding_add_PKCS1_OAEP(
13140        to: *mut u8,
13141        to_len: usize,
13142        from: *const u8,
13143        from_len: usize,
13144        param: *const u8,
13145        param_len: usize,
13146    ) -> ::std::os::raw::c_int;
13147}
13148extern "C" {
13149    #[link_name = "aws_lc_0_46_0_RSA_print"]
13150    pub fn RSA_print(
13151        bio: *mut BIO,
13152        rsa: *const RSA,
13153        indent: ::std::os::raw::c_int,
13154    ) -> ::std::os::raw::c_int;
13155}
13156extern "C" {
13157    #[link_name = "aws_lc_0_46_0_RSA_get0_pss_params"]
13158    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
13159}
13160extern "C" {
13161    #[link_name = "aws_lc_0_46_0_RSA_new_method_no_e"]
13162    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
13163}
13164#[repr(C)]
13165#[derive(Debug)]
13166pub struct stack_st_GENERAL_NAME {
13167    _unused: [u8; 0],
13168}
13169pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
13170#[repr(C)]
13171#[derive(Debug)]
13172pub struct stack_st_X509_NAME_ENTRY {
13173    _unused: [u8; 0],
13174}
13175#[repr(C)]
13176#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13177pub struct otherName_st {
13178    pub type_id: *mut ASN1_OBJECT,
13179    pub value: *mut ASN1_TYPE,
13180}
13181#[test]
13182fn bindgen_test_layout_otherName_st() {
13183    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
13184    let ptr = UNINIT.as_ptr();
13185    assert_eq!(
13186        ::std::mem::size_of::<otherName_st>(),
13187        16usize,
13188        "Size of otherName_st"
13189    );
13190    assert_eq!(
13191        ::std::mem::align_of::<otherName_st>(),
13192        8usize,
13193        "Alignment of otherName_st"
13194    );
13195    assert_eq!(
13196        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
13197        0usize,
13198        "Offset of field: otherName_st::type_id"
13199    );
13200    assert_eq!(
13201        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13202        8usize,
13203        "Offset of field: otherName_st::value"
13204    );
13205}
13206impl Default for otherName_st {
13207    fn default() -> Self {
13208        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13209        unsafe {
13210            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13211            s.assume_init()
13212        }
13213    }
13214}
13215pub type OTHERNAME = otherName_st;
13216#[repr(C)]
13217#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13218pub struct EDIPartyName_st {
13219    pub nameAssigner: *mut ASN1_STRING,
13220    pub partyName: *mut ASN1_STRING,
13221}
13222#[test]
13223fn bindgen_test_layout_EDIPartyName_st() {
13224    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13225    let ptr = UNINIT.as_ptr();
13226    assert_eq!(
13227        ::std::mem::size_of::<EDIPartyName_st>(),
13228        16usize,
13229        "Size of EDIPartyName_st"
13230    );
13231    assert_eq!(
13232        ::std::mem::align_of::<EDIPartyName_st>(),
13233        8usize,
13234        "Alignment of EDIPartyName_st"
13235    );
13236    assert_eq!(
13237        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13238        0usize,
13239        "Offset of field: EDIPartyName_st::nameAssigner"
13240    );
13241    assert_eq!(
13242        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13243        8usize,
13244        "Offset of field: EDIPartyName_st::partyName"
13245    );
13246}
13247impl Default for EDIPartyName_st {
13248    fn default() -> Self {
13249        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13250        unsafe {
13251            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13252            s.assume_init()
13253        }
13254    }
13255}
13256pub type EDIPARTYNAME = EDIPartyName_st;
13257#[repr(C)]
13258#[derive(Copy, Clone)]
13259pub struct GENERAL_NAME_st {
13260    pub type_: ::std::os::raw::c_int,
13261    pub d: GENERAL_NAME_st__bindgen_ty_1,
13262}
13263#[repr(C)]
13264#[derive(Copy, Clone)]
13265pub union GENERAL_NAME_st__bindgen_ty_1 {
13266    pub ptr: *mut ::std::os::raw::c_char,
13267    pub otherName: *mut OTHERNAME,
13268    pub rfc822Name: *mut ASN1_IA5STRING,
13269    pub dNSName: *mut ASN1_IA5STRING,
13270    pub x400Address: *mut ASN1_STRING,
13271    pub directoryName: *mut X509_NAME,
13272    pub ediPartyName: *mut EDIPARTYNAME,
13273    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13274    pub iPAddress: *mut ASN1_OCTET_STRING,
13275    pub registeredID: *mut ASN1_OBJECT,
13276    pub ip: *mut ASN1_OCTET_STRING,
13277    pub dirn: *mut X509_NAME,
13278    pub ia5: *mut ASN1_IA5STRING,
13279    pub rid: *mut ASN1_OBJECT,
13280}
13281#[test]
13282fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13283    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13284        ::std::mem::MaybeUninit::uninit();
13285    let ptr = UNINIT.as_ptr();
13286    assert_eq!(
13287        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13288        8usize,
13289        "Size of GENERAL_NAME_st__bindgen_ty_1"
13290    );
13291    assert_eq!(
13292        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13293        8usize,
13294        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13295    );
13296    assert_eq!(
13297        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13298        0usize,
13299        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13300    );
13301    assert_eq!(
13302        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13303        0usize,
13304        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13305    );
13306    assert_eq!(
13307        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13308        0usize,
13309        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13310    );
13311    assert_eq!(
13312        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13313        0usize,
13314        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13315    );
13316    assert_eq!(
13317        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13318        0usize,
13319        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13320    );
13321    assert_eq!(
13322        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13323        0usize,
13324        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13325    );
13326    assert_eq!(
13327        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13328        0usize,
13329        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13330    );
13331    assert_eq!(
13332        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13333        0usize,
13334        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13335    );
13336    assert_eq!(
13337        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13338        0usize,
13339        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13340    );
13341    assert_eq!(
13342        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13343        0usize,
13344        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13345    );
13346    assert_eq!(
13347        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13348        0usize,
13349        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13350    );
13351    assert_eq!(
13352        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13353        0usize,
13354        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13355    );
13356    assert_eq!(
13357        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13358        0usize,
13359        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13360    );
13361    assert_eq!(
13362        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13363        0usize,
13364        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13365    );
13366}
13367impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13368    fn default() -> Self {
13369        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13370        unsafe {
13371            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13372            s.assume_init()
13373        }
13374    }
13375}
13376#[test]
13377fn bindgen_test_layout_GENERAL_NAME_st() {
13378    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13379    let ptr = UNINIT.as_ptr();
13380    assert_eq!(
13381        ::std::mem::size_of::<GENERAL_NAME_st>(),
13382        16usize,
13383        "Size of GENERAL_NAME_st"
13384    );
13385    assert_eq!(
13386        ::std::mem::align_of::<GENERAL_NAME_st>(),
13387        8usize,
13388        "Alignment of GENERAL_NAME_st"
13389    );
13390    assert_eq!(
13391        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13392        0usize,
13393        "Offset of field: GENERAL_NAME_st::type_"
13394    );
13395    assert_eq!(
13396        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13397        8usize,
13398        "Offset of field: GENERAL_NAME_st::d"
13399    );
13400}
13401impl Default for GENERAL_NAME_st {
13402    fn default() -> Self {
13403        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13404        unsafe {
13405            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13406            s.assume_init()
13407        }
13408    }
13409}
13410#[repr(C)]
13411#[derive(Debug)]
13412pub struct stack_st_X509_ALGOR {
13413    _unused: [u8; 0],
13414}
13415#[repr(C)]
13416#[derive(Debug)]
13417pub struct stack_st_X509_ATTRIBUTE {
13418    _unused: [u8; 0],
13419}
13420#[repr(C)]
13421#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13422pub struct Netscape_spki_st {
13423    pub spkac: *mut NETSCAPE_SPKAC,
13424    pub sig_algor: *mut X509_ALGOR,
13425    pub signature: *mut ASN1_BIT_STRING,
13426}
13427#[test]
13428fn bindgen_test_layout_Netscape_spki_st() {
13429    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13430    let ptr = UNINIT.as_ptr();
13431    assert_eq!(
13432        ::std::mem::size_of::<Netscape_spki_st>(),
13433        24usize,
13434        "Size of Netscape_spki_st"
13435    );
13436    assert_eq!(
13437        ::std::mem::align_of::<Netscape_spki_st>(),
13438        8usize,
13439        "Alignment of Netscape_spki_st"
13440    );
13441    assert_eq!(
13442        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13443        0usize,
13444        "Offset of field: Netscape_spki_st::spkac"
13445    );
13446    assert_eq!(
13447        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13448        8usize,
13449        "Offset of field: Netscape_spki_st::sig_algor"
13450    );
13451    assert_eq!(
13452        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13453        16usize,
13454        "Offset of field: Netscape_spki_st::signature"
13455    );
13456}
13457impl Default for Netscape_spki_st {
13458    fn default() -> Self {
13459        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13460        unsafe {
13461            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13462            s.assume_init()
13463        }
13464    }
13465}
13466#[repr(C)]
13467#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13468pub struct Netscape_spkac_st {
13469    pub pubkey: *mut X509_PUBKEY,
13470    pub challenge: *mut ASN1_IA5STRING,
13471}
13472#[test]
13473fn bindgen_test_layout_Netscape_spkac_st() {
13474    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13475    let ptr = UNINIT.as_ptr();
13476    assert_eq!(
13477        ::std::mem::size_of::<Netscape_spkac_st>(),
13478        16usize,
13479        "Size of Netscape_spkac_st"
13480    );
13481    assert_eq!(
13482        ::std::mem::align_of::<Netscape_spkac_st>(),
13483        8usize,
13484        "Alignment of Netscape_spkac_st"
13485    );
13486    assert_eq!(
13487        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13488        0usize,
13489        "Offset of field: Netscape_spkac_st::pubkey"
13490    );
13491    assert_eq!(
13492        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13493        8usize,
13494        "Offset of field: Netscape_spkac_st::challenge"
13495    );
13496}
13497impl Default for Netscape_spkac_st {
13498    fn default() -> Self {
13499        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13500        unsafe {
13501            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13502            s.assume_init()
13503        }
13504    }
13505}
13506#[repr(C)]
13507#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13508pub struct rsa_pss_params_st {
13509    pub hashAlgorithm: *mut X509_ALGOR,
13510    pub maskGenAlgorithm: *mut X509_ALGOR,
13511    pub saltLength: *mut ASN1_INTEGER,
13512    pub trailerField: *mut ASN1_INTEGER,
13513    pub maskHash: *mut X509_ALGOR,
13514}
13515#[test]
13516fn bindgen_test_layout_rsa_pss_params_st() {
13517    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13518    let ptr = UNINIT.as_ptr();
13519    assert_eq!(
13520        ::std::mem::size_of::<rsa_pss_params_st>(),
13521        40usize,
13522        "Size of rsa_pss_params_st"
13523    );
13524    assert_eq!(
13525        ::std::mem::align_of::<rsa_pss_params_st>(),
13526        8usize,
13527        "Alignment of rsa_pss_params_st"
13528    );
13529    assert_eq!(
13530        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13531        0usize,
13532        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13533    );
13534    assert_eq!(
13535        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13536        8usize,
13537        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13538    );
13539    assert_eq!(
13540        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13541        16usize,
13542        "Offset of field: rsa_pss_params_st::saltLength"
13543    );
13544    assert_eq!(
13545        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13546        24usize,
13547        "Offset of field: rsa_pss_params_st::trailerField"
13548    );
13549    assert_eq!(
13550        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13551        32usize,
13552        "Offset of field: rsa_pss_params_st::maskHash"
13553    );
13554}
13555impl Default for rsa_pss_params_st {
13556    fn default() -> Self {
13557        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13558        unsafe {
13559            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13560            s.assume_init()
13561        }
13562    }
13563}
13564#[repr(C)]
13565#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13566pub struct private_key_st {
13567    pub dec_pkey: *mut EVP_PKEY,
13568}
13569#[test]
13570fn bindgen_test_layout_private_key_st() {
13571    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13572    let ptr = UNINIT.as_ptr();
13573    assert_eq!(
13574        ::std::mem::size_of::<private_key_st>(),
13575        8usize,
13576        "Size of private_key_st"
13577    );
13578    assert_eq!(
13579        ::std::mem::align_of::<private_key_st>(),
13580        8usize,
13581        "Alignment of private_key_st"
13582    );
13583    assert_eq!(
13584        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13585        0usize,
13586        "Offset of field: private_key_st::dec_pkey"
13587    );
13588}
13589impl Default for private_key_st {
13590    fn default() -> Self {
13591        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13592        unsafe {
13593            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13594            s.assume_init()
13595        }
13596    }
13597}
13598#[repr(C)]
13599#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13600pub struct X509_info_st {
13601    pub x509: *mut X509,
13602    pub crl: *mut X509_CRL,
13603    pub x_pkey: *mut X509_PKEY,
13604    pub enc_cipher: EVP_CIPHER_INFO,
13605    pub enc_len: ::std::os::raw::c_int,
13606    pub enc_data: *mut ::std::os::raw::c_char,
13607}
13608#[test]
13609fn bindgen_test_layout_X509_info_st() {
13610    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13611    let ptr = UNINIT.as_ptr();
13612    assert_eq!(
13613        ::std::mem::size_of::<X509_info_st>(),
13614        64usize,
13615        "Size of X509_info_st"
13616    );
13617    assert_eq!(
13618        ::std::mem::align_of::<X509_info_st>(),
13619        8usize,
13620        "Alignment of X509_info_st"
13621    );
13622    assert_eq!(
13623        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13624        0usize,
13625        "Offset of field: X509_info_st::x509"
13626    );
13627    assert_eq!(
13628        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13629        8usize,
13630        "Offset of field: X509_info_st::crl"
13631    );
13632    assert_eq!(
13633        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13634        16usize,
13635        "Offset of field: X509_info_st::x_pkey"
13636    );
13637    assert_eq!(
13638        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13639        24usize,
13640        "Offset of field: X509_info_st::enc_cipher"
13641    );
13642    assert_eq!(
13643        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13644        48usize,
13645        "Offset of field: X509_info_st::enc_len"
13646    );
13647    assert_eq!(
13648        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13649        56usize,
13650        "Offset of field: X509_info_st::enc_data"
13651    );
13652}
13653impl Default for X509_info_st {
13654    fn default() -> Self {
13655        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13656        unsafe {
13657            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13658            s.assume_init()
13659        }
13660    }
13661}
13662pub type X509V3_EXT_NEW =
13663    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13664pub type X509V3_EXT_FREE =
13665    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13666pub type X509V3_EXT_D2I = ::std::option::Option<
13667    unsafe extern "C" fn(
13668        ext: *mut ::std::os::raw::c_void,
13669        inp: *mut *const u8,
13670        len: ::std::os::raw::c_long,
13671    ) -> *mut ::std::os::raw::c_void,
13672>;
13673pub type X509V3_EXT_I2D = ::std::option::Option<
13674    unsafe extern "C" fn(
13675        ext: *mut ::std::os::raw::c_void,
13676        outp: *mut *mut u8,
13677    ) -> ::std::os::raw::c_int,
13678>;
13679pub type X509V3_EXT_I2V = ::std::option::Option<
13680    unsafe extern "C" fn(
13681        method: *const X509V3_EXT_METHOD,
13682        ext: *mut ::std::os::raw::c_void,
13683        extlist: *mut stack_st_CONF_VALUE,
13684    ) -> *mut stack_st_CONF_VALUE,
13685>;
13686pub type X509V3_EXT_V2I = ::std::option::Option<
13687    unsafe extern "C" fn(
13688        method: *const X509V3_EXT_METHOD,
13689        ctx: *const X509V3_CTX,
13690        values: *const stack_st_CONF_VALUE,
13691    ) -> *mut ::std::os::raw::c_void,
13692>;
13693pub type X509V3_EXT_I2S = ::std::option::Option<
13694    unsafe extern "C" fn(
13695        method: *const X509V3_EXT_METHOD,
13696        ext: *mut ::std::os::raw::c_void,
13697    ) -> *mut ::std::os::raw::c_char,
13698>;
13699pub type X509V3_EXT_S2I = ::std::option::Option<
13700    unsafe extern "C" fn(
13701        method: *const X509V3_EXT_METHOD,
13702        ctx: *const X509V3_CTX,
13703        str_: *const ::std::os::raw::c_char,
13704    ) -> *mut ::std::os::raw::c_void,
13705>;
13706pub type X509V3_EXT_I2R = ::std::option::Option<
13707    unsafe extern "C" fn(
13708        method: *const X509V3_EXT_METHOD,
13709        ext: *mut ::std::os::raw::c_void,
13710        out: *mut BIO,
13711        indent: ::std::os::raw::c_int,
13712    ) -> ::std::os::raw::c_int,
13713>;
13714pub type X509V3_EXT_R2I = ::std::option::Option<
13715    unsafe extern "C" fn(
13716        method: *const X509V3_EXT_METHOD,
13717        ctx: *const X509V3_CTX,
13718        str_: *const ::std::os::raw::c_char,
13719    ) -> *mut ::std::os::raw::c_void,
13720>;
13721#[repr(C)]
13722#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13723pub struct v3_ext_method {
13724    pub ext_nid: ::std::os::raw::c_int,
13725    pub ext_flags: ::std::os::raw::c_int,
13726    pub it: *const ASN1_ITEM_st,
13727    pub ext_new: X509V3_EXT_NEW,
13728    pub ext_free: X509V3_EXT_FREE,
13729    pub d2i: X509V3_EXT_D2I,
13730    pub i2d: X509V3_EXT_I2D,
13731    pub i2s: X509V3_EXT_I2S,
13732    pub s2i: X509V3_EXT_S2I,
13733    pub i2v: X509V3_EXT_I2V,
13734    pub v2i: X509V3_EXT_V2I,
13735    pub i2r: X509V3_EXT_I2R,
13736    pub r2i: X509V3_EXT_R2I,
13737    pub usr_data: *mut ::std::os::raw::c_void,
13738}
13739#[test]
13740fn bindgen_test_layout_v3_ext_method() {
13741    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13742    let ptr = UNINIT.as_ptr();
13743    assert_eq!(
13744        ::std::mem::size_of::<v3_ext_method>(),
13745        104usize,
13746        "Size of v3_ext_method"
13747    );
13748    assert_eq!(
13749        ::std::mem::align_of::<v3_ext_method>(),
13750        8usize,
13751        "Alignment of v3_ext_method"
13752    );
13753    assert_eq!(
13754        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13755        0usize,
13756        "Offset of field: v3_ext_method::ext_nid"
13757    );
13758    assert_eq!(
13759        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13760        4usize,
13761        "Offset of field: v3_ext_method::ext_flags"
13762    );
13763    assert_eq!(
13764        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13765        8usize,
13766        "Offset of field: v3_ext_method::it"
13767    );
13768    assert_eq!(
13769        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13770        16usize,
13771        "Offset of field: v3_ext_method::ext_new"
13772    );
13773    assert_eq!(
13774        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13775        24usize,
13776        "Offset of field: v3_ext_method::ext_free"
13777    );
13778    assert_eq!(
13779        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13780        32usize,
13781        "Offset of field: v3_ext_method::d2i"
13782    );
13783    assert_eq!(
13784        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13785        40usize,
13786        "Offset of field: v3_ext_method::i2d"
13787    );
13788    assert_eq!(
13789        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13790        48usize,
13791        "Offset of field: v3_ext_method::i2s"
13792    );
13793    assert_eq!(
13794        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13795        56usize,
13796        "Offset of field: v3_ext_method::s2i"
13797    );
13798    assert_eq!(
13799        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13800        64usize,
13801        "Offset of field: v3_ext_method::i2v"
13802    );
13803    assert_eq!(
13804        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13805        72usize,
13806        "Offset of field: v3_ext_method::v2i"
13807    );
13808    assert_eq!(
13809        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13810        80usize,
13811        "Offset of field: v3_ext_method::i2r"
13812    );
13813    assert_eq!(
13814        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13815        88usize,
13816        "Offset of field: v3_ext_method::r2i"
13817    );
13818    assert_eq!(
13819        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13820        96usize,
13821        "Offset of field: v3_ext_method::usr_data"
13822    );
13823}
13824impl Default for v3_ext_method {
13825    fn default() -> Self {
13826        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13827        unsafe {
13828            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13829            s.assume_init()
13830        }
13831    }
13832}
13833#[repr(C)]
13834#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13835pub struct v3_ext_ctx {
13836    pub flags: ::std::os::raw::c_int,
13837    pub issuer_cert: *const X509,
13838    pub subject_cert: *const X509,
13839    pub subject_req: *const X509_REQ,
13840    pub crl: *const X509_CRL,
13841    pub db: *const CONF,
13842}
13843#[test]
13844fn bindgen_test_layout_v3_ext_ctx() {
13845    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13846    let ptr = UNINIT.as_ptr();
13847    assert_eq!(
13848        ::std::mem::size_of::<v3_ext_ctx>(),
13849        48usize,
13850        "Size of v3_ext_ctx"
13851    );
13852    assert_eq!(
13853        ::std::mem::align_of::<v3_ext_ctx>(),
13854        8usize,
13855        "Alignment of v3_ext_ctx"
13856    );
13857    assert_eq!(
13858        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13859        0usize,
13860        "Offset of field: v3_ext_ctx::flags"
13861    );
13862    assert_eq!(
13863        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13864        8usize,
13865        "Offset of field: v3_ext_ctx::issuer_cert"
13866    );
13867    assert_eq!(
13868        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13869        16usize,
13870        "Offset of field: v3_ext_ctx::subject_cert"
13871    );
13872    assert_eq!(
13873        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13874        24usize,
13875        "Offset of field: v3_ext_ctx::subject_req"
13876    );
13877    assert_eq!(
13878        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13879        32usize,
13880        "Offset of field: v3_ext_ctx::crl"
13881    );
13882    assert_eq!(
13883        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13884        40usize,
13885        "Offset of field: v3_ext_ctx::db"
13886    );
13887}
13888impl Default for v3_ext_ctx {
13889    fn default() -> Self {
13890        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13891        unsafe {
13892            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13893            s.assume_init()
13894        }
13895    }
13896}
13897#[repr(C)]
13898#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13899pub struct X509_algor_st {
13900    pub algorithm: *mut ASN1_OBJECT,
13901    pub parameter: *mut ASN1_TYPE,
13902}
13903#[test]
13904fn bindgen_test_layout_X509_algor_st() {
13905    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13906    let ptr = UNINIT.as_ptr();
13907    assert_eq!(
13908        ::std::mem::size_of::<X509_algor_st>(),
13909        16usize,
13910        "Size of X509_algor_st"
13911    );
13912    assert_eq!(
13913        ::std::mem::align_of::<X509_algor_st>(),
13914        8usize,
13915        "Alignment of X509_algor_st"
13916    );
13917    assert_eq!(
13918        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13919        0usize,
13920        "Offset of field: X509_algor_st::algorithm"
13921    );
13922    assert_eq!(
13923        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13924        8usize,
13925        "Offset of field: X509_algor_st::parameter"
13926    );
13927}
13928impl Default for X509_algor_st {
13929    fn default() -> Self {
13930        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13931        unsafe {
13932            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13933            s.assume_init()
13934        }
13935    }
13936}
13937#[repr(C)]
13938#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13939pub struct x509_trust_st {
13940    pub trust: ::std::os::raw::c_int,
13941    pub flags: ::std::os::raw::c_int,
13942    pub check_trust: ::std::option::Option<
13943        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13944    >,
13945    pub name: *mut ::std::os::raw::c_char,
13946    pub arg1: ::std::os::raw::c_int,
13947    pub arg2: *mut ::std::os::raw::c_void,
13948}
13949#[test]
13950fn bindgen_test_layout_x509_trust_st() {
13951    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13952    let ptr = UNINIT.as_ptr();
13953    assert_eq!(
13954        ::std::mem::size_of::<x509_trust_st>(),
13955        40usize,
13956        "Size of x509_trust_st"
13957    );
13958    assert_eq!(
13959        ::std::mem::align_of::<x509_trust_st>(),
13960        8usize,
13961        "Alignment of x509_trust_st"
13962    );
13963    assert_eq!(
13964        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13965        0usize,
13966        "Offset of field: x509_trust_st::trust"
13967    );
13968    assert_eq!(
13969        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13970        4usize,
13971        "Offset of field: x509_trust_st::flags"
13972    );
13973    assert_eq!(
13974        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13975        8usize,
13976        "Offset of field: x509_trust_st::check_trust"
13977    );
13978    assert_eq!(
13979        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13980        16usize,
13981        "Offset of field: x509_trust_st::name"
13982    );
13983    assert_eq!(
13984        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13985        24usize,
13986        "Offset of field: x509_trust_st::arg1"
13987    );
13988    assert_eq!(
13989        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13990        32usize,
13991        "Offset of field: x509_trust_st::arg2"
13992    );
13993}
13994impl Default for x509_trust_st {
13995    fn default() -> Self {
13996        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13997        unsafe {
13998            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13999            s.assume_init()
14000        }
14001    }
14002}
14003#[repr(C)]
14004#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14005pub struct BASIC_CONSTRAINTS_st {
14006    pub ca: ASN1_BOOLEAN,
14007    pub pathlen: *mut ASN1_INTEGER,
14008}
14009#[test]
14010fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
14011    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14012    let ptr = UNINIT.as_ptr();
14013    assert_eq!(
14014        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
14015        16usize,
14016        "Size of BASIC_CONSTRAINTS_st"
14017    );
14018    assert_eq!(
14019        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
14020        8usize,
14021        "Alignment of BASIC_CONSTRAINTS_st"
14022    );
14023    assert_eq!(
14024        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
14025        0usize,
14026        "Offset of field: BASIC_CONSTRAINTS_st::ca"
14027    );
14028    assert_eq!(
14029        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
14030        8usize,
14031        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
14032    );
14033}
14034impl Default for BASIC_CONSTRAINTS_st {
14035    fn default() -> Self {
14036        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14037        unsafe {
14038            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14039            s.assume_init()
14040        }
14041    }
14042}
14043#[repr(C)]
14044#[derive(Copy, Clone)]
14045pub struct DIST_POINT_NAME_st {
14046    pub type_: ::std::os::raw::c_int,
14047    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
14048    pub dpname: *mut X509_NAME,
14049}
14050#[repr(C)]
14051#[derive(Copy, Clone)]
14052pub union DIST_POINT_NAME_st__bindgen_ty_1 {
14053    pub fullname: *mut GENERAL_NAMES,
14054    pub relativename: *mut stack_st_X509_NAME_ENTRY,
14055}
14056#[test]
14057fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
14058    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
14059        ::std::mem::MaybeUninit::uninit();
14060    let ptr = UNINIT.as_ptr();
14061    assert_eq!(
14062        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
14063        8usize,
14064        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
14065    );
14066    assert_eq!(
14067        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
14068        8usize,
14069        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
14070    );
14071    assert_eq!(
14072        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
14073        0usize,
14074        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
14075    );
14076    assert_eq!(
14077        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
14078        0usize,
14079        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
14080    );
14081}
14082impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
14083    fn default() -> Self {
14084        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14085        unsafe {
14086            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14087            s.assume_init()
14088        }
14089    }
14090}
14091#[test]
14092fn bindgen_test_layout_DIST_POINT_NAME_st() {
14093    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
14094    let ptr = UNINIT.as_ptr();
14095    assert_eq!(
14096        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
14097        24usize,
14098        "Size of DIST_POINT_NAME_st"
14099    );
14100    assert_eq!(
14101        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
14102        8usize,
14103        "Alignment of DIST_POINT_NAME_st"
14104    );
14105    assert_eq!(
14106        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
14107        0usize,
14108        "Offset of field: DIST_POINT_NAME_st::type_"
14109    );
14110    assert_eq!(
14111        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
14112        8usize,
14113        "Offset of field: DIST_POINT_NAME_st::name"
14114    );
14115    assert_eq!(
14116        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
14117        16usize,
14118        "Offset of field: DIST_POINT_NAME_st::dpname"
14119    );
14120}
14121impl Default for DIST_POINT_NAME_st {
14122    fn default() -> Self {
14123        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14124        unsafe {
14125            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14126            s.assume_init()
14127        }
14128    }
14129}
14130pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
14131#[repr(C)]
14132#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14133pub struct DIST_POINT_st {
14134    pub distpoint: *mut DIST_POINT_NAME,
14135    pub reasons: *mut ASN1_BIT_STRING,
14136    pub CRLissuer: *mut GENERAL_NAMES,
14137}
14138#[test]
14139fn bindgen_test_layout_DIST_POINT_st() {
14140    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
14141    let ptr = UNINIT.as_ptr();
14142    assert_eq!(
14143        ::std::mem::size_of::<DIST_POINT_st>(),
14144        24usize,
14145        "Size of DIST_POINT_st"
14146    );
14147    assert_eq!(
14148        ::std::mem::align_of::<DIST_POINT_st>(),
14149        8usize,
14150        "Alignment of DIST_POINT_st"
14151    );
14152    assert_eq!(
14153        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14154        0usize,
14155        "Offset of field: DIST_POINT_st::distpoint"
14156    );
14157    assert_eq!(
14158        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
14159        8usize,
14160        "Offset of field: DIST_POINT_st::reasons"
14161    );
14162    assert_eq!(
14163        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
14164        16usize,
14165        "Offset of field: DIST_POINT_st::CRLissuer"
14166    );
14167}
14168impl Default for DIST_POINT_st {
14169    fn default() -> Self {
14170        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14171        unsafe {
14172            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14173            s.assume_init()
14174        }
14175    }
14176}
14177#[repr(C)]
14178#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14179pub struct AUTHORITY_KEYID_st {
14180    pub keyid: *mut ASN1_OCTET_STRING,
14181    pub issuer: *mut GENERAL_NAMES,
14182    pub serial: *mut ASN1_INTEGER,
14183}
14184#[test]
14185fn bindgen_test_layout_AUTHORITY_KEYID_st() {
14186    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
14187    let ptr = UNINIT.as_ptr();
14188    assert_eq!(
14189        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
14190        24usize,
14191        "Size of AUTHORITY_KEYID_st"
14192    );
14193    assert_eq!(
14194        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
14195        8usize,
14196        "Alignment of AUTHORITY_KEYID_st"
14197    );
14198    assert_eq!(
14199        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
14200        0usize,
14201        "Offset of field: AUTHORITY_KEYID_st::keyid"
14202    );
14203    assert_eq!(
14204        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
14205        8usize,
14206        "Offset of field: AUTHORITY_KEYID_st::issuer"
14207    );
14208    assert_eq!(
14209        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14210        16usize,
14211        "Offset of field: AUTHORITY_KEYID_st::serial"
14212    );
14213}
14214impl Default for AUTHORITY_KEYID_st {
14215    fn default() -> Self {
14216        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14217        unsafe {
14218            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14219            s.assume_init()
14220        }
14221    }
14222}
14223#[repr(C)]
14224#[derive(Debug)]
14225pub struct stack_st_GENERAL_SUBTREE {
14226    _unused: [u8; 0],
14227}
14228#[repr(C)]
14229#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14230pub struct NAME_CONSTRAINTS_st {
14231    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14232    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14233}
14234#[test]
14235fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14236    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14237    let ptr = UNINIT.as_ptr();
14238    assert_eq!(
14239        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14240        16usize,
14241        "Size of NAME_CONSTRAINTS_st"
14242    );
14243    assert_eq!(
14244        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14245        8usize,
14246        "Alignment of NAME_CONSTRAINTS_st"
14247    );
14248    assert_eq!(
14249        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14250        0usize,
14251        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14252    );
14253    assert_eq!(
14254        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14255        8usize,
14256        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14257    );
14258}
14259impl Default for NAME_CONSTRAINTS_st {
14260    fn default() -> Self {
14261        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14262        unsafe {
14263            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14264            s.assume_init()
14265        }
14266    }
14267}
14268#[repr(C)]
14269#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14270pub struct ISSUING_DIST_POINT_st {
14271    pub distpoint: *mut DIST_POINT_NAME,
14272    pub onlyuser: ASN1_BOOLEAN,
14273    pub onlyCA: ASN1_BOOLEAN,
14274    pub onlysomereasons: *mut ASN1_BIT_STRING,
14275    pub indirectCRL: ASN1_BOOLEAN,
14276    pub onlyattr: ASN1_BOOLEAN,
14277}
14278#[test]
14279fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14280    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14281        ::std::mem::MaybeUninit::uninit();
14282    let ptr = UNINIT.as_ptr();
14283    assert_eq!(
14284        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14285        32usize,
14286        "Size of ISSUING_DIST_POINT_st"
14287    );
14288    assert_eq!(
14289        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14290        8usize,
14291        "Alignment of ISSUING_DIST_POINT_st"
14292    );
14293    assert_eq!(
14294        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14295        0usize,
14296        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14297    );
14298    assert_eq!(
14299        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14300        8usize,
14301        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14302    );
14303    assert_eq!(
14304        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14305        12usize,
14306        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14307    );
14308    assert_eq!(
14309        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14310        16usize,
14311        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14312    );
14313    assert_eq!(
14314        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14315        24usize,
14316        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14317    );
14318    assert_eq!(
14319        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14320        28usize,
14321        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14322    );
14323}
14324impl Default for ISSUING_DIST_POINT_st {
14325    fn default() -> Self {
14326        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14327        unsafe {
14328            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14329            s.assume_init()
14330        }
14331    }
14332}
14333pub type poly1305_state = [u8; 512usize];
14334extern "C" {
14335    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_init"]
14336    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14337}
14338extern "C" {
14339    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_update"]
14340    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14341}
14342extern "C" {
14343    #[link_name = "aws_lc_0_46_0_CRYPTO_poly1305_finish"]
14344    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14345}
14346extern "C" {
14347    #[link_name = "aws_lc_0_46_0_RAND_bytes"]
14348    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14349}
14350extern "C" {
14351    #[link_name = "aws_lc_0_46_0_RAND_priv_bytes"]
14352    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14353}
14354extern "C" {
14355    #[link_name = "aws_lc_0_46_0_RAND_public_bytes"]
14356    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14357}
14358extern "C" {
14359    #[link_name = "aws_lc_0_46_0_RAND_bytes_with_user_prediction_resistance"]
14360    pub fn RAND_bytes_with_user_prediction_resistance(
14361        out: *mut u8,
14362        out_len: usize,
14363        user_pred_resistance: *const u8,
14364    ) -> ::std::os::raw::c_int;
14365}
14366extern "C" {
14367    #[link_name = "aws_lc_0_46_0_RAND_pseudo_bytes"]
14368    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14369}
14370extern "C" {
14371    #[link_name = "aws_lc_0_46_0_RAND_seed"]
14372    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14373}
14374extern "C" {
14375    #[link_name = "aws_lc_0_46_0_RAND_load_file"]
14376    pub fn RAND_load_file(
14377        path: *const ::std::os::raw::c_char,
14378        num: ::std::os::raw::c_long,
14379    ) -> ::std::os::raw::c_int;
14380}
14381extern "C" {
14382    #[link_name = "aws_lc_0_46_0_RAND_write_file"]
14383    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14384}
14385extern "C" {
14386    #[link_name = "aws_lc_0_46_0_RAND_file_name"]
14387    pub fn RAND_file_name(
14388        buf: *mut ::std::os::raw::c_char,
14389        num: usize,
14390    ) -> *const ::std::os::raw::c_char;
14391}
14392extern "C" {
14393    #[link_name = "aws_lc_0_46_0_RAND_add"]
14394    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14395}
14396extern "C" {
14397    #[link_name = "aws_lc_0_46_0_RAND_egd"]
14398    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14399}
14400extern "C" {
14401    #[link_name = "aws_lc_0_46_0_RAND_egd_bytes"]
14402    pub fn RAND_egd_bytes(
14403        arg1: *const ::std::os::raw::c_char,
14404        bytes: ::std::os::raw::c_int,
14405    ) -> ::std::os::raw::c_int;
14406}
14407extern "C" {
14408    #[link_name = "aws_lc_0_46_0_RAND_poll"]
14409    pub fn RAND_poll() -> ::std::os::raw::c_int;
14410}
14411extern "C" {
14412    #[link_name = "aws_lc_0_46_0_RAND_status"]
14413    pub fn RAND_status() -> ::std::os::raw::c_int;
14414}
14415extern "C" {
14416    #[link_name = "aws_lc_0_46_0_RAND_cleanup"]
14417    pub fn RAND_cleanup();
14418}
14419#[repr(C)]
14420#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14421pub struct rand_meth_st {
14422    pub seed: ::std::option::Option<
14423        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14424    >,
14425    pub bytes: ::std::option::Option<
14426        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14427    >,
14428    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14429    pub add: ::std::option::Option<
14430        unsafe extern "C" fn(
14431            buf: *const ::std::os::raw::c_void,
14432            num: ::std::os::raw::c_int,
14433            entropy: f64,
14434        ),
14435    >,
14436    pub pseudorand: ::std::option::Option<
14437        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14438    >,
14439    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14440}
14441#[test]
14442fn bindgen_test_layout_rand_meth_st() {
14443    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14444    let ptr = UNINIT.as_ptr();
14445    assert_eq!(
14446        ::std::mem::size_of::<rand_meth_st>(),
14447        48usize,
14448        "Size of rand_meth_st"
14449    );
14450    assert_eq!(
14451        ::std::mem::align_of::<rand_meth_st>(),
14452        8usize,
14453        "Alignment of rand_meth_st"
14454    );
14455    assert_eq!(
14456        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14457        0usize,
14458        "Offset of field: rand_meth_st::seed"
14459    );
14460    assert_eq!(
14461        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14462        8usize,
14463        "Offset of field: rand_meth_st::bytes"
14464    );
14465    assert_eq!(
14466        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14467        16usize,
14468        "Offset of field: rand_meth_st::cleanup"
14469    );
14470    assert_eq!(
14471        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14472        24usize,
14473        "Offset of field: rand_meth_st::add"
14474    );
14475    assert_eq!(
14476        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14477        32usize,
14478        "Offset of field: rand_meth_st::pseudorand"
14479    );
14480    assert_eq!(
14481        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14482        40usize,
14483        "Offset of field: rand_meth_st::status"
14484    );
14485}
14486extern "C" {
14487    #[link_name = "aws_lc_0_46_0_RAND_SSLeay"]
14488    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14489}
14490extern "C" {
14491    #[link_name = "aws_lc_0_46_0_RAND_OpenSSL"]
14492    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14493}
14494extern "C" {
14495    #[link_name = "aws_lc_0_46_0_RAND_get_rand_method"]
14496    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14497}
14498extern "C" {
14499    #[link_name = "aws_lc_0_46_0_RAND_set_rand_method"]
14500    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14501}
14502extern "C" {
14503    #[link_name = "aws_lc_0_46_0_RAND_keep_random_devices_open"]
14504    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14505}
14506#[repr(C)]
14507#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14508pub struct rc4_key_st {
14509    pub x: u32,
14510    pub y: u32,
14511    pub data: [u32; 256usize],
14512}
14513#[test]
14514fn bindgen_test_layout_rc4_key_st() {
14515    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14516    let ptr = UNINIT.as_ptr();
14517    assert_eq!(
14518        ::std::mem::size_of::<rc4_key_st>(),
14519        1032usize,
14520        "Size of rc4_key_st"
14521    );
14522    assert_eq!(
14523        ::std::mem::align_of::<rc4_key_st>(),
14524        4usize,
14525        "Alignment of rc4_key_st"
14526    );
14527    assert_eq!(
14528        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14529        0usize,
14530        "Offset of field: rc4_key_st::x"
14531    );
14532    assert_eq!(
14533        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14534        4usize,
14535        "Offset of field: rc4_key_st::y"
14536    );
14537    assert_eq!(
14538        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14539        8usize,
14540        "Offset of field: rc4_key_st::data"
14541    );
14542}
14543impl Default for rc4_key_st {
14544    fn default() -> Self {
14545        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14546        unsafe {
14547            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14548            s.assume_init()
14549        }
14550    }
14551}
14552#[repr(C)]
14553#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14554pub struct RIPEMD160state_st {
14555    pub h: [u32; 5usize],
14556    pub Nl: u32,
14557    pub Nh: u32,
14558    pub data: [u8; 64usize],
14559    pub num: ::std::os::raw::c_uint,
14560}
14561#[test]
14562fn bindgen_test_layout_RIPEMD160state_st() {
14563    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14564    let ptr = UNINIT.as_ptr();
14565    assert_eq!(
14566        ::std::mem::size_of::<RIPEMD160state_st>(),
14567        96usize,
14568        "Size of RIPEMD160state_st"
14569    );
14570    assert_eq!(
14571        ::std::mem::align_of::<RIPEMD160state_st>(),
14572        4usize,
14573        "Alignment of RIPEMD160state_st"
14574    );
14575    assert_eq!(
14576        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14577        0usize,
14578        "Offset of field: RIPEMD160state_st::h"
14579    );
14580    assert_eq!(
14581        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14582        20usize,
14583        "Offset of field: RIPEMD160state_st::Nl"
14584    );
14585    assert_eq!(
14586        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14587        24usize,
14588        "Offset of field: RIPEMD160state_st::Nh"
14589    );
14590    assert_eq!(
14591        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14592        28usize,
14593        "Offset of field: RIPEMD160state_st::data"
14594    );
14595    assert_eq!(
14596        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14597        92usize,
14598        "Offset of field: RIPEMD160state_st::num"
14599    );
14600}
14601impl Default for RIPEMD160state_st {
14602    fn default() -> Self {
14603        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14604        unsafe {
14605            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14606            s.assume_init()
14607        }
14608    }
14609}
14610#[repr(C)]
14611#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14612pub struct trust_token_st {
14613    pub data: *mut u8,
14614    pub len: usize,
14615}
14616#[test]
14617fn bindgen_test_layout_trust_token_st() {
14618    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14619    let ptr = UNINIT.as_ptr();
14620    assert_eq!(
14621        ::std::mem::size_of::<trust_token_st>(),
14622        16usize,
14623        "Size of trust_token_st"
14624    );
14625    assert_eq!(
14626        ::std::mem::align_of::<trust_token_st>(),
14627        8usize,
14628        "Alignment of trust_token_st"
14629    );
14630    assert_eq!(
14631        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14632        0usize,
14633        "Offset of field: trust_token_st::data"
14634    );
14635    assert_eq!(
14636        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14637        8usize,
14638        "Offset of field: trust_token_st::len"
14639    );
14640}
14641impl Default for trust_token_st {
14642    fn default() -> Self {
14643        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14644        unsafe {
14645            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14646            s.assume_init()
14647        }
14648    }
14649}
14650extern "C" {
14651    #[link_name = "aws_lc_0_46_0_ERR_GET_LIB_RUST"]
14652    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14653}
14654extern "C" {
14655    #[link_name = "aws_lc_0_46_0_ERR_GET_REASON_RUST"]
14656    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14657}
14658extern "C" {
14659    #[link_name = "aws_lc_0_46_0_ERR_GET_FUNC_RUST"]
14660    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14661}