1#[repr(C)]
12#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
13pub struct __BindgenBitfieldUnit<Storage> {
14 storage: Storage,
15}
16impl<Storage> __BindgenBitfieldUnit<Storage> {
17 #[inline]
18 pub const fn new(storage: Storage) -> Self {
19 Self { storage }
20 }
21}
22impl<Storage> __BindgenBitfieldUnit<Storage>
23where
24 Storage: AsRef<[u8]> + AsMut<[u8]>,
25{
26 #[inline]
27 fn extract_bit(byte: u8, index: usize) -> bool {
28 let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
29 let mask = 1 << bit_index;
30 byte & mask == mask
31 }
32 #[inline]
33 pub fn get_bit(&self, index: usize) -> bool {
34 debug_assert!(index / 8 < self.storage.as_ref().len());
35 let byte_index = index / 8;
36 let byte = self.storage.as_ref()[byte_index];
37 Self::extract_bit(byte, index)
38 }
39 #[inline]
40 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
41 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
42 let byte_index = index / 8;
43 let byte = unsafe {
44 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
45 };
46 Self::extract_bit(byte, index)
47 }
48 #[inline]
49 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
50 let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
51 let mask = 1 << bit_index;
52 if val {
53 byte | mask
54 } else {
55 byte & !mask
56 }
57 }
58 #[inline]
59 pub fn set_bit(&mut self, index: usize, val: bool) {
60 debug_assert!(index / 8 < self.storage.as_ref().len());
61 let byte_index = index / 8;
62 let byte = &mut self.storage.as_mut()[byte_index];
63 *byte = Self::change_bit(*byte, index, val);
64 }
65 #[inline]
66 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
67 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
68 let byte_index = index / 8;
69 let byte = unsafe {
70 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
71 };
72 unsafe { *byte = Self::change_bit(*byte, index, val) };
73 }
74 #[inline]
75 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
76 debug_assert!(bit_width <= 64);
77 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
78 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
79 if bit_width == 0 {
80 return 0;
81 }
82 let mut val = 0u64;
83 let storage = self.storage.as_ref();
84 let start_byte = bit_offset / 8;
85 let bit_shift = bit_offset % 8;
86 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
87 if cfg!(target_endian = "big") {
88 for i in 0..bytes_needed {
89 val |= (storage[start_byte + i].reverse_bits() as u64) << (i * 8);
90 }
91 } else {
92 for i in 0..bytes_needed {
93 val |= (storage[start_byte + i] as u64) << (i * 8);
94 }
95 }
96 val >>= bit_shift;
97 if bit_width < 64 {
98 val &= (1u64 << bit_width) - 1;
99 }
100 if cfg!(target_endian = "big") {
101 val = val.reverse_bits() >> (64 - bit_width as usize);
102 }
103 val
104 }
105 #[inline]
106 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
107 debug_assert!(bit_width <= 64);
108 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
109 debug_assert!(
110 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
111 );
112 if bit_width == 0 {
113 return 0;
114 }
115 let mut val = 0u64;
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 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
120 if cfg!(target_endian = "big") {
121 for i in 0..bytes_needed {
122 let byte = unsafe { *storage_ptr.add(start_byte + i) };
123 val |= (byte.reverse_bits() as u64) << (i * 8);
124 }
125 } else {
126 for i in 0..bytes_needed {
127 let byte = unsafe { *storage_ptr.add(start_byte + i) };
128 val |= (byte as u64) << (i * 8);
129 }
130 }
131 val >>= bit_shift;
132 if bit_width < 64 {
133 val &= (1u64 << bit_width) - 1;
134 }
135 if cfg!(target_endian = "big") {
136 val = val.reverse_bits() >> (64 - bit_width as usize);
137 }
138 val
139 }
140 #[inline]
141 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
142 debug_assert!(bit_width <= 64);
143 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
144 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
145 if bit_width == 0 {
146 return;
147 }
148 let mut val = val;
149 if bit_width < 64 {
150 val &= (1u64 << bit_width) - 1;
151 }
152 if cfg!(target_endian = "big") {
153 val = val.reverse_bits() >> (64 - bit_width as usize);
154 }
155 let storage = self.storage.as_mut();
156 let start_byte = bit_offset / 8;
157 let bit_shift = bit_offset % 8;
158 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
159 val <<= bit_shift;
160 let field_mask = if bit_width as usize + bit_shift >= 64 {
161 !0u64 << bit_shift
162 } else {
163 ((1u64 << bit_width) - 1) << bit_shift
164 };
165 for i in 0..bytes_needed {
166 let byte_val = (val >> (i * 8)) as u8;
167 let byte_mask = (field_mask >> (i * 8)) as u8;
168 if cfg!(target_endian = "big") {
169 let byte = storage[start_byte + i].reverse_bits();
170 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
171 storage[start_byte + i] = new_byte.reverse_bits();
172 } else {
173 storage[start_byte + i] =
174 (storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
175 }
176 }
177 }
178 #[inline]
179 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
180 debug_assert!(bit_width <= 64);
181 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
182 debug_assert!(
183 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
184 );
185 if bit_width == 0 {
186 return;
187 }
188 let mut val = val;
189 if bit_width < 64 {
190 val &= (1u64 << bit_width) - 1;
191 }
192 if cfg!(target_endian = "big") {
193 val = val.reverse_bits() >> (64 - bit_width as usize);
194 }
195 let start_byte = bit_offset / 8;
196 let bit_shift = bit_offset % 8;
197 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
198 val <<= bit_shift;
199 let field_mask = if bit_width as usize + bit_shift >= 64 {
200 !0u64 << bit_shift
201 } else {
202 ((1u64 << bit_width) - 1) << bit_shift
203 };
204 let storage_ptr = unsafe { core::ptr::addr_of_mut!((*this).storage) as *mut u8 };
205 for i in 0..bytes_needed {
206 let byte_val = (val >> (i * 8)) as u8;
207 let byte_mask = (field_mask >> (i * 8)) as u8;
208 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
209 if cfg!(target_endian = "big") {
210 let byte = unsafe { (*byte_ptr).reverse_bits() };
211 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
212 unsafe { *byte_ptr = new_byte.reverse_bits() };
213 } else {
214 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
215 }
216 }
217 }
218}
219#[doc = " Const-generic methods for efficient bitfield access when offset and width"]
220#[doc = " are known at compile time."]
221impl<const N: usize> __BindgenBitfieldUnit<[u8; N]> {
222 #[doc = " Get a field using const generics for compile-time optimization."]
223 #[doc = " Uses native word size operations when the field fits in usize."]
224 #[inline]
225 pub const fn get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&self) -> u64 {
226 debug_assert!(BIT_WIDTH <= 64);
227 debug_assert!(BIT_OFFSET / 8 < N);
228 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
229 if BIT_WIDTH == 0 {
230 return 0;
231 }
232 let start_byte = BIT_OFFSET / 8;
233 let bit_shift = BIT_OFFSET % 8;
234 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
235 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
236 let mut val = 0usize;
237 if cfg!(target_endian = "big") {
238 let mut i = 0;
239 while i < bytes_needed {
240 val |= (self.storage[start_byte + i].reverse_bits() as usize) << (i * 8);
241 i += 1;
242 }
243 } else {
244 let mut i = 0;
245 while i < bytes_needed {
246 val |= (self.storage[start_byte + i] as usize) << (i * 8);
247 i += 1;
248 }
249 }
250 val >>= bit_shift;
251 if (BIT_WIDTH as u32) < usize::BITS {
252 val &= (1usize << BIT_WIDTH) - 1;
253 }
254 if cfg!(target_endian = "big") {
255 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
256 }
257 val as u64
258 } else {
259 let mut val = 0u64;
260 if cfg!(target_endian = "big") {
261 let mut i = 0;
262 while i < bytes_needed {
263 val |= (self.storage[start_byte + i].reverse_bits() as u64) << (i * 8);
264 i += 1;
265 }
266 } else {
267 let mut i = 0;
268 while i < bytes_needed {
269 val |= (self.storage[start_byte + i] as u64) << (i * 8);
270 i += 1;
271 }
272 }
273 val >>= bit_shift;
274 if BIT_WIDTH < 64 {
275 val &= (1u64 << BIT_WIDTH) - 1;
276 }
277 if cfg!(target_endian = "big") {
278 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
279 }
280 val
281 }
282 }
283 #[doc = " Set a field using const generics for compile-time optimization."]
284 #[doc = " Uses native word size operations when the field fits in usize."]
285 #[inline]
286 pub fn set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&mut self, val: u64) {
287 debug_assert!(BIT_WIDTH <= 64);
288 debug_assert!(BIT_OFFSET / 8 < N);
289 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
290 if BIT_WIDTH == 0 {
291 return;
292 }
293 let start_byte = BIT_OFFSET / 8;
294 let bit_shift = BIT_OFFSET % 8;
295 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
296 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
297 let mut val = val as usize;
298 if (BIT_WIDTH as u32) < usize::BITS {
299 val &= (1usize << BIT_WIDTH) - 1;
300 }
301 if cfg!(target_endian = "big") {
302 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
303 }
304 val <<= bit_shift;
305 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
306 !0usize << bit_shift
307 } else {
308 ((1usize << BIT_WIDTH) - 1) << bit_shift
309 };
310 let mut i = 0;
311 while i < bytes_needed {
312 let byte_val = (val >> (i * 8)) as u8;
313 let byte_mask = (field_mask >> (i * 8)) as u8;
314 if cfg!(target_endian = "big") {
315 let byte = self.storage[start_byte + i].reverse_bits();
316 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
317 self.storage[start_byte + i] = new_byte.reverse_bits();
318 } else {
319 self.storage[start_byte + i] =
320 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
321 }
322 i += 1;
323 }
324 } else {
325 let mut val = val;
326 if BIT_WIDTH < 64 {
327 val &= (1u64 << BIT_WIDTH) - 1;
328 }
329 if cfg!(target_endian = "big") {
330 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
331 }
332 val <<= bit_shift;
333 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
334 !0u64 << bit_shift
335 } else {
336 ((1u64 << BIT_WIDTH) - 1) << bit_shift
337 };
338 let mut i = 0;
339 while i < bytes_needed {
340 let byte_val = (val >> (i * 8)) as u8;
341 let byte_mask = (field_mask >> (i * 8)) as u8;
342 if cfg!(target_endian = "big") {
343 let byte = self.storage[start_byte + i].reverse_bits();
344 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
345 self.storage[start_byte + i] = new_byte.reverse_bits();
346 } else {
347 self.storage[start_byte + i] =
348 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
349 }
350 i += 1;
351 }
352 }
353 }
354 #[doc = " Raw pointer get using const generics for compile-time optimization."]
355 #[doc = " Uses native word size operations when the field fits in usize."]
356 #[inline]
357 pub const unsafe fn raw_get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
358 this: *const Self,
359 ) -> u64 {
360 debug_assert!(BIT_WIDTH <= 64);
361 debug_assert!(BIT_OFFSET / 8 < N);
362 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
363 if BIT_WIDTH == 0 {
364 return 0;
365 }
366 let start_byte = BIT_OFFSET / 8;
367 let bit_shift = BIT_OFFSET % 8;
368 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
369 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
370 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
371 let mut val = 0usize;
372 if cfg!(target_endian = "big") {
373 let mut i = 0;
374 while i < bytes_needed {
375 let byte = unsafe { *storage_ptr.add(start_byte + i) };
376 val |= (byte.reverse_bits() as usize) << (i * 8);
377 i += 1;
378 }
379 } else {
380 let mut i = 0;
381 while i < bytes_needed {
382 let byte = unsafe { *storage_ptr.add(start_byte + i) };
383 val |= (byte as usize) << (i * 8);
384 i += 1;
385 }
386 }
387 val >>= bit_shift;
388 if (BIT_WIDTH as u32) < usize::BITS {
389 val &= (1usize << BIT_WIDTH) - 1;
390 }
391 if cfg!(target_endian = "big") {
392 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
393 }
394 val as u64
395 } else {
396 let mut val = 0u64;
397 if cfg!(target_endian = "big") {
398 let mut i = 0;
399 while i < bytes_needed {
400 let byte = unsafe { *storage_ptr.add(start_byte + i) };
401 val |= (byte.reverse_bits() as u64) << (i * 8);
402 i += 1;
403 }
404 } else {
405 let mut i = 0;
406 while i < bytes_needed {
407 let byte = unsafe { *storage_ptr.add(start_byte + i) };
408 val |= (byte as u64) << (i * 8);
409 i += 1;
410 }
411 }
412 val >>= bit_shift;
413 if BIT_WIDTH < 64 {
414 val &= (1u64 << BIT_WIDTH) - 1;
415 }
416 if cfg!(target_endian = "big") {
417 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
418 }
419 val
420 }
421 }
422 #[doc = " Raw pointer set using const generics for compile-time optimization."]
423 #[doc = " Uses native word size operations when the field fits in usize."]
424 #[inline]
425 pub unsafe fn raw_set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
426 this: *mut Self,
427 val: u64,
428 ) {
429 debug_assert!(BIT_WIDTH <= 64);
430 debug_assert!(BIT_OFFSET / 8 < N);
431 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
432 if BIT_WIDTH == 0 {
433 return;
434 }
435 let start_byte = BIT_OFFSET / 8;
436 let bit_shift = BIT_OFFSET % 8;
437 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
438 let storage_ptr = this.cast::<[u8; N]>().cast::<u8>();
439 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
440 let mut val = val as usize;
441 if (BIT_WIDTH as u32) < usize::BITS {
442 val &= (1usize << BIT_WIDTH) - 1;
443 }
444 if cfg!(target_endian = "big") {
445 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
446 }
447 val <<= bit_shift;
448 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
449 !0usize << bit_shift
450 } else {
451 ((1usize << BIT_WIDTH) - 1) << bit_shift
452 };
453 let mut i = 0;
454 while i < bytes_needed {
455 let byte_val = (val >> (i * 8)) as u8;
456 let byte_mask = (field_mask >> (i * 8)) as u8;
457 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
458 if cfg!(target_endian = "big") {
459 let byte = unsafe { (*byte_ptr).reverse_bits() };
460 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
461 unsafe { *byte_ptr = new_byte.reverse_bits() };
462 } else {
463 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
464 }
465 i += 1;
466 }
467 } else {
468 let mut val = val;
469 if BIT_WIDTH < 64 {
470 val &= (1u64 << BIT_WIDTH) - 1;
471 }
472 if cfg!(target_endian = "big") {
473 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
474 }
475 val <<= bit_shift;
476 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
477 !0u64 << bit_shift
478 } else {
479 ((1u64 << BIT_WIDTH) - 1) << bit_shift
480 };
481 let mut i = 0;
482 while i < bytes_needed {
483 let byte_val = (val >> (i * 8)) as u8;
484 let byte_mask = (field_mask >> (i * 8)) as u8;
485 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
486 if cfg!(target_endian = "big") {
487 let byte = unsafe { (*byte_ptr).reverse_bits() };
488 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
489 unsafe { *byte_ptr = new_byte.reverse_bits() };
490 } else {
491 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
492 }
493 i += 1;
494 }
495 }
496 }
497}
498pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
499pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
500pub const BORINGSSL_API_VERSION: i32 = 43;
501pub const AES_ENCRYPT: i32 = 1;
502pub const AES_DECRYPT: i32 = 0;
503pub const AES_MAXNR: i32 = 14;
504pub const AES_BLOCK_SIZE: i32 = 16;
505pub const ERR_FLAG_STRING: i32 = 1;
506pub const ERR_FLAG_MALLOCED: i32 = 2;
507pub const ERR_R_FATAL: i32 = 64;
508pub const ERR_R_MALLOC_FAILURE: i32 = 65;
509pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
510pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
511pub const ERR_R_INTERNAL_ERROR: i32 = 68;
512pub const ERR_R_OVERFLOW: i32 = 69;
513pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
514pub const ERR_TXT_STRING: i32 = 1;
515pub const ERR_TXT_MALLOCED: i32 = 2;
516pub const ERR_NUM_ERRORS: i32 = 16;
517pub const BIO_RR_CONNECT: i32 = 2;
518pub const BIO_RR_ACCEPT: i32 = 3;
519pub const BIO_NOCLOSE: i32 = 0;
520pub const BIO_CLOSE: i32 = 1;
521pub const BIO_FP_TEXT: i32 = 16;
522pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
523pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
524pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
525pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
526pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
527pub const BIO_CTRL_RESET: i32 = 1;
528pub const BIO_CTRL_EOF: i32 = 2;
529pub const BIO_CTRL_INFO: i32 = 3;
530pub const BIO_CTRL_GET_CLOSE: i32 = 8;
531pub const BIO_CTRL_SET_CLOSE: i32 = 9;
532pub const BIO_CTRL_PENDING: i32 = 10;
533pub const BIO_CTRL_FLUSH: i32 = 11;
534pub const BIO_CTRL_WPENDING: i32 = 13;
535pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
536pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
537pub const BIO_CTRL_SET: i32 = 4;
538pub const BIO_CTRL_GET: i32 = 5;
539pub const BIO_CTRL_PUSH: i32 = 6;
540pub const BIO_CTRL_POP: i32 = 7;
541pub const BIO_CTRL_DUP: i32 = 12;
542pub const BIO_CTRL_SET_FILENAME: i32 = 30;
543pub const BIO_FLAGS_READ: i32 = 1;
544pub const BIO_FLAGS_WRITE: i32 = 2;
545pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
546pub const BIO_FLAGS_RWS: i32 = 7;
547pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
548pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
549pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
550pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
551pub const BIO_TYPE_FILTER: i32 = 512;
552pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
553pub const BIO_TYPE_NONE: i32 = 0;
554pub const BIO_TYPE_MEM: i32 = 1025;
555pub const BIO_TYPE_FILE: i32 = 1026;
556pub const BIO_TYPE_FD: i32 = 1284;
557pub const BIO_TYPE_SOCKET: i32 = 1285;
558pub const BIO_TYPE_NULL: i32 = 1030;
559pub const BIO_TYPE_SSL: i32 = 519;
560pub const BIO_TYPE_MD: i32 = 520;
561pub const BIO_TYPE_BUFFER: i32 = 521;
562pub const BIO_TYPE_CIPHER: i32 = 522;
563pub const BIO_TYPE_BASE64: i32 = 523;
564pub const BIO_TYPE_CONNECT: i32 = 1292;
565pub const BIO_TYPE_ACCEPT: i32 = 1293;
566pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
567pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
568pub const BIO_TYPE_NBIO_TEST: i32 = 528;
569pub const BIO_TYPE_NULL_FILTER: i32 = 529;
570pub const BIO_TYPE_BER: i32 = 530;
571pub const BIO_TYPE_BIO: i32 = 1043;
572pub const BIO_TYPE_LINEBUFFER: i32 = 532;
573pub const BIO_TYPE_DGRAM: i32 = 1301;
574pub const BIO_TYPE_ASN1: i32 = 534;
575pub const BIO_TYPE_COMP: i32 = 535;
576pub const BIO_TYPE_START: i32 = 128;
577pub const BIO_C_SET_CONNECT: i32 = 100;
578pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
579pub const BIO_C_SET_NBIO: i32 = 102;
580pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
581pub const BIO_C_SET_FD: i32 = 104;
582pub const BIO_C_GET_FD: i32 = 105;
583pub const BIO_C_SET_FILE_PTR: i32 = 106;
584pub const BIO_C_GET_FILE_PTR: i32 = 107;
585pub const BIO_C_SET_FILENAME: i32 = 108;
586pub const BIO_C_SET_SSL: i32 = 109;
587pub const BIO_C_SET_MD: i32 = 111;
588pub const BIO_C_GET_MD: i32 = 112;
589pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
590pub const BIO_C_SET_BUF_MEM: i32 = 114;
591pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
592pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
593pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
594pub const BIO_C_SET_ACCEPT: i32 = 118;
595pub const BIO_C_SSL_MODE: i32 = 119;
596pub const BIO_C_GET_MD_CTX: i32 = 120;
597pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
598pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
599pub const BIO_C_GET_ACCEPT: i32 = 124;
600pub const BIO_C_FILE_SEEK: i32 = 128;
601pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
602pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
603pub const BIO_C_SET_BIND_MODE: i32 = 131;
604pub const BIO_C_GET_BIND_MODE: i32 = 132;
605pub const BIO_C_FILE_TELL: i32 = 133;
606pub const BIO_C_GET_SOCKS: i32 = 134;
607pub const BIO_C_SET_SOCKS: i32 = 135;
608pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
609pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
610pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
611pub const BIO_C_GET_READ_REQUEST: i32 = 141;
612pub const BIO_C_SHUTDOWN_WR: i32 = 142;
613pub const BIO_C_NREAD0: i32 = 143;
614pub const BIO_C_NREAD: i32 = 144;
615pub const BIO_C_NWRITE0: i32 = 145;
616pub const BIO_C_NWRITE: i32 = 146;
617pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
618pub const BIO_C_SET_MD_CTX: i32 = 148;
619pub const BIO_C_SET_PREFIX: i32 = 149;
620pub const BIO_C_GET_PREFIX: i32 = 150;
621pub const BIO_C_SET_SUFFIX: i32 = 151;
622pub const BIO_C_GET_SUFFIX: i32 = 152;
623pub const BIO_C_SET_EX_ARG: i32 = 153;
624pub const BIO_C_GET_EX_ARG: i32 = 154;
625pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
626pub const BIO_R_BROKEN_PIPE: i32 = 101;
627pub const BIO_R_CONNECT_ERROR: i32 = 102;
628pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
629pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
630pub const BIO_R_IN_USE: i32 = 105;
631pub const BIO_R_KEEPALIVE: i32 = 106;
632pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
633pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
634pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
635pub const BIO_R_NO_SUCH_FILE: i32 = 110;
636pub const BIO_R_NULL_PARAMETER: i32 = 111;
637pub const BIO_R_SYS_LIB: i32 = 112;
638pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
639pub const BIO_R_UNINITIALIZED: i32 = 114;
640pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
641pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
642pub const BN_BITS2: i32 = 64;
643pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
644pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
645pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
646pub const BN_RAND_TOP_ANY: i32 = -1;
647pub const BN_RAND_TOP_ONE: i32 = 0;
648pub const BN_RAND_TOP_TWO: i32 = 1;
649pub const BN_RAND_BOTTOM_ANY: i32 = 0;
650pub const BN_RAND_BOTTOM_ODD: i32 = 1;
651pub const BN_GENCB_GENERATED: i32 = 0;
652pub const BN_GENCB_PRIME_TEST: i32 = 1;
653pub const BN_prime_checks_for_validation: i32 = 64;
654pub const BN_prime_checks_for_generation: i32 = 0;
655pub const BN_prime_checks: i32 = 64;
656pub const BN_FLG_MALLOCED: i32 = 1;
657pub const BN_FLG_STATIC_DATA: i32 = 2;
658pub const BN_R_ARG2_LT_ARG3: i32 = 100;
659pub const BN_R_BAD_RECIPROCAL: i32 = 101;
660pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
661pub const BN_R_BITS_TOO_SMALL: i32 = 103;
662pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
663pub const BN_R_DIV_BY_ZERO: i32 = 105;
664pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
665pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
666pub const BN_R_INVALID_RANGE: i32 = 108;
667pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
668pub const BN_R_NOT_A_SQUARE: i32 = 110;
669pub const BN_R_NOT_INITIALIZED: i32 = 111;
670pub const BN_R_NO_INVERSE: i32 = 112;
671pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
672pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
673pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
674pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
675pub const BN_R_BAD_ENCODING: i32 = 117;
676pub const BN_R_ENCODE_ERROR: i32 = 118;
677pub const BN_R_INVALID_INPUT: i32 = 119;
678pub const V_ASN1_UNIVERSAL: i32 = 0;
679pub const V_ASN1_APPLICATION: i32 = 64;
680pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
681pub const V_ASN1_PRIVATE: i32 = 192;
682pub const V_ASN1_CONSTRUCTED: i32 = 32;
683pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
684pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
685pub const V_ASN1_UNDEF: i32 = -1;
686pub const V_ASN1_OTHER: i32 = -3;
687pub const V_ASN1_ANY: i32 = -4;
688pub const V_ASN1_EOC: i32 = 0;
689pub const V_ASN1_BOOLEAN: i32 = 1;
690pub const V_ASN1_INTEGER: i32 = 2;
691pub const V_ASN1_BIT_STRING: i32 = 3;
692pub const V_ASN1_OCTET_STRING: i32 = 4;
693pub const V_ASN1_NULL: i32 = 5;
694pub const V_ASN1_OBJECT: i32 = 6;
695pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
696pub const V_ASN1_EXTERNAL: i32 = 8;
697pub const V_ASN1_REAL: i32 = 9;
698pub const V_ASN1_ENUMERATED: i32 = 10;
699pub const V_ASN1_UTF8STRING: i32 = 12;
700pub const V_ASN1_SEQUENCE: i32 = 16;
701pub const V_ASN1_SET: i32 = 17;
702pub const V_ASN1_NUMERICSTRING: i32 = 18;
703pub const V_ASN1_PRINTABLESTRING: i32 = 19;
704pub const V_ASN1_T61STRING: i32 = 20;
705pub const V_ASN1_TELETEXSTRING: i32 = 20;
706pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
707pub const V_ASN1_IA5STRING: i32 = 22;
708pub const V_ASN1_UTCTIME: i32 = 23;
709pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
710pub const V_ASN1_GRAPHICSTRING: i32 = 25;
711pub const V_ASN1_ISO64STRING: i32 = 26;
712pub const V_ASN1_VISIBLESTRING: i32 = 26;
713pub const V_ASN1_GENERALSTRING: i32 = 27;
714pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
715pub const V_ASN1_BMPSTRING: i32 = 30;
716pub const V_ASN1_NEG: i32 = 256;
717pub const V_ASN1_NEG_INTEGER: i32 = 258;
718pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
719pub const B_ASN1_NUMERICSTRING: i32 = 1;
720pub const B_ASN1_PRINTABLESTRING: i32 = 2;
721pub const B_ASN1_T61STRING: i32 = 4;
722pub const B_ASN1_TELETEXSTRING: i32 = 4;
723pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
724pub const B_ASN1_IA5STRING: i32 = 16;
725pub const B_ASN1_GRAPHICSTRING: i32 = 32;
726pub const B_ASN1_ISO64STRING: i32 = 64;
727pub const B_ASN1_VISIBLESTRING: i32 = 64;
728pub const B_ASN1_GENERALSTRING: i32 = 128;
729pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
730pub const B_ASN1_OCTET_STRING: i32 = 512;
731pub const B_ASN1_BIT_STRING: i32 = 1024;
732pub const B_ASN1_BMPSTRING: i32 = 2048;
733pub const B_ASN1_UTF8STRING: i32 = 8192;
734pub const B_ASN1_UTCTIME: i32 = 16384;
735pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
736pub const B_ASN1_SEQUENCE: i32 = 65536;
737pub const ASN1_BOOLEAN_FALSE: i32 = 0;
738pub const ASN1_BOOLEAN_TRUE: i32 = 255;
739pub const ASN1_BOOLEAN_NONE: i32 = -1;
740pub const MBSTRING_FLAG: i32 = 4096;
741pub const MBSTRING_UTF8: i32 = 4096;
742pub const MBSTRING_ASC: i32 = 4097;
743pub const MBSTRING_BMP: i32 = 4098;
744pub const MBSTRING_UNIV: i32 = 4100;
745pub const DIRSTRING_TYPE: i32 = 10246;
746pub const PKCS9STRING_TYPE: i32 = 10262;
747pub const STABLE_NO_MASK: i32 = 2;
748pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
749pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
750pub const B_ASN1_TIME: i32 = 49152;
751pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
752pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
753pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
754pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
755pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
756pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
757pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
758pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
759pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
760pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
761pub const ASN1_STRFLGS_RFC2253: i32 = 791;
762pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
763pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
764pub const ASN1_R_AUX_ERROR: i32 = 101;
765pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
766pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
767pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
768pub const ASN1_R_BN_LIB: i32 = 105;
769pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
770pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
771pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
772pub const ASN1_R_DECODE_ERROR: i32 = 109;
773pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
774pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
775pub const ASN1_R_ENCODE_ERROR: i32 = 112;
776pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
777pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
778pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
779pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
780pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
781pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
782pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
783pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
784pub const ASN1_R_FIELD_MISSING: i32 = 121;
785pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
786pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
787pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
788pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
789pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
790pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
791pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
792pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
793pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
794pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
795pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
796pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
797pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
798pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
799pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
800pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
801pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
802pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
803pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
804pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
805pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
806pub const ASN1_R_INVALID_DIGIT: i32 = 143;
807pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
808pub const ASN1_R_INVALID_NUMBER: i32 = 145;
809pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
810pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
811pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
812pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
813pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
814pub const ASN1_R_LIST_ERROR: i32 = 151;
815pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
816pub const ASN1_R_MISSING_EOC: i32 = 153;
817pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
818pub const ASN1_R_MISSING_VALUE: i32 = 155;
819pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
820pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
821pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
822pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
823pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
824pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
825pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
826pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
827pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
828pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
829pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
830pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
831pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
832pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
833pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
834pub const ASN1_R_SHORT_LINE: i32 = 171;
835pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
836pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
837pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
838pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
839pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
840pub const ASN1_R_TOO_LONG: i32 = 177;
841pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
842pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
843pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
844pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
845pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
846pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
847pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
848pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
849pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
850pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
851pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
852pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
853pub const ASN1_R_WRONG_TAG: i32 = 190;
854pub const ASN1_R_WRONG_TYPE: i32 = 191;
855pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
856pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
857pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
858pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
859pub const ASN1_R_INVALID_INTEGER: i32 = 196;
860pub const ASN1_TFLG_OPTIONAL: i32 = 1;
861pub const ASN1_TFLG_SET_OF: i32 = 2;
862pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
863pub const ASN1_TFLG_SK_MASK: i32 = 6;
864pub const ASN1_TFLG_IMPTAG: i32 = 8;
865pub const ASN1_TFLG_EXPTAG: i32 = 16;
866pub const ASN1_TFLG_TAG_MASK: i32 = 24;
867pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
868pub const ASN1_TFLG_APPLICATION: i32 = 64;
869pub const ASN1_TFLG_CONTEXT: i32 = 128;
870pub const ASN1_TFLG_PRIVATE: i32 = 192;
871pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
872pub const ASN1_TFLG_ADB_MASK: i32 = 768;
873pub const ASN1_TFLG_ADB_OID: i32 = 256;
874pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
875pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
876pub const ASN1_ITYPE_CHOICE: i32 = 2;
877pub const ASN1_ITYPE_EXTERN: i32 = 4;
878pub const ASN1_ITYPE_MSTRING: i32 = 5;
879pub const ASN1_AFLG_REFCOUNT: i32 = 1;
880pub const ASN1_AFLG_ENCODING: i32 = 2;
881pub const ASN1_OP_NEW_PRE: i32 = 0;
882pub const ASN1_OP_NEW_POST: i32 = 1;
883pub const ASN1_OP_FREE_PRE: i32 = 2;
884pub const ASN1_OP_FREE_POST: i32 = 3;
885pub const ASN1_OP_D2I_PRE: i32 = 4;
886pub const ASN1_OP_D2I_POST: i32 = 5;
887pub const ASN1_OP_PRINT_PRE: i32 = 8;
888pub const ASN1_OP_PRINT_POST: i32 = 9;
889pub const ASN1_OP_STREAM_PRE: i32 = 10;
890pub const ASN1_OP_STREAM_POST: i32 = 11;
891pub const ASN1_OP_DETACHED_PRE: i32 = 12;
892pub const ASN1_OP_DETACHED_POST: i32 = 13;
893pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
894pub const BLAKE2B_CBLOCK: i32 = 128;
895pub const BF_ENCRYPT: i32 = 1;
896pub const BF_DECRYPT: i32 = 0;
897pub const BF_ROUNDS: i32 = 16;
898pub const BF_BLOCK: i32 = 8;
899pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
900pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
901pub const CBS_ASN1_UNIVERSAL: i32 = 0;
902pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
903pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
904pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
905pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
906pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
907pub const CBS_ASN1_BOOLEAN: i32 = 1;
908pub const CBS_ASN1_INTEGER: i32 = 2;
909pub const CBS_ASN1_BITSTRING: i32 = 3;
910pub const CBS_ASN1_OCTETSTRING: i32 = 4;
911pub const CBS_ASN1_NULL: i32 = 5;
912pub const CBS_ASN1_OBJECT: i32 = 6;
913pub const CBS_ASN1_ENUMERATED: i32 = 10;
914pub const CBS_ASN1_UTF8STRING: i32 = 12;
915pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
916pub const CBS_ASN1_SET: i32 = 536870929;
917pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
918pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
919pub const CBS_ASN1_T61STRING: i32 = 20;
920pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
921pub const CBS_ASN1_IA5STRING: i32 = 22;
922pub const CBS_ASN1_UTCTIME: i32 = 23;
923pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
924pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
925pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
926pub const CBS_ASN1_GENERALSTRING: i32 = 27;
927pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
928pub const CBS_ASN1_BMPSTRING: i32 = 30;
929pub const CAST_ENCRYPT: i32 = 1;
930pub const CAST_DECRYPT: i32 = 0;
931pub const CAST_BLOCK: i32 = 8;
932pub const CAST_KEY_LENGTH: i32 = 16;
933pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
934pub const EVP_CIPH_ECB_MODE: i32 = 1;
935pub const EVP_CIPH_CBC_MODE: i32 = 2;
936pub const EVP_CIPH_CFB_MODE: i32 = 3;
937pub const EVP_CIPH_OFB_MODE: i32 = 4;
938pub const EVP_CIPH_CTR_MODE: i32 = 5;
939pub const EVP_CIPH_GCM_MODE: i32 = 6;
940pub const EVP_CIPH_XTS_MODE: i32 = 7;
941pub const EVP_CIPH_CCM_MODE: i32 = 8;
942pub const EVP_CIPH_OCB_MODE: i32 = 9;
943pub const EVP_CIPH_WRAP_MODE: i32 = 10;
944pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
945pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
946pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
947pub const EVP_CIPH_CTRL_INIT: i32 = 512;
948pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
949pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
950pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
951pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
952pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
953pub const EVP_CIPH_NO_PADDING: i32 = 2048;
954pub const EVP_CTRL_INIT: i32 = 0;
955pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
956pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
957pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
958pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
959pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
960pub const EVP_CTRL_RAND_KEY: i32 = 6;
961pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
962pub const EVP_CTRL_COPY: i32 = 8;
963pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
964pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
965pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
966pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
967pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
968pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
969pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
970pub const EVP_CTRL_GET_IVLEN: i32 = 25;
971pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
972pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
973pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
974pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
975pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
976pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
977pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
978pub const EVP_MAX_KEY_LENGTH: i32 = 64;
979pub const EVP_MAX_IV_LENGTH: i32 = 16;
980pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
981pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
982pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
983pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
984pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
985pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
986pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
987pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
988pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
989pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
990pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
991pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
992pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
993pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
994pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
995pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
996pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
997pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
998pub const CIPHER_R_TOO_LARGE: i32 = 117;
999pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
1000pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
1001pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
1002pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
1003pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
1004pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
1005pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
1006pub const CIPHER_R_INVALID_NONCE: i32 = 125;
1007pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
1008pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
1009pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
1010pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
1011pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
1012pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
1013pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
1014pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
1015pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
1016pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
1017pub const SHA224_CBLOCK: i32 = 64;
1018pub const SHA224_DIGEST_LENGTH: i32 = 28;
1019pub const SHA256_CBLOCK: i32 = 64;
1020pub const SHA256_DIGEST_LENGTH: i32 = 32;
1021pub const SHA384_CBLOCK: i32 = 128;
1022pub const SHA384_DIGEST_LENGTH: i32 = 48;
1023pub const SHA512_CBLOCK: i32 = 128;
1024pub const SHA512_DIGEST_LENGTH: i32 = 64;
1025pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
1026pub const SHA_CBLOCK: i32 = 64;
1027pub const SHA_DIGEST_LENGTH: i32 = 20;
1028pub const CRYPTO_LOCK: i32 = 1;
1029pub const CRYPTO_UNLOCK: i32 = 2;
1030pub const CRYPTO_READ: i32 = 4;
1031pub const CRYPTO_WRITE: i32 = 8;
1032pub const OPENSSL_VERSION_TEXT: &[u8; 38] = b"OpenSSL 1.1.1 (compatible; BoringSSL)\0";
1033pub const OPENSSL_VERSION: i32 = 0;
1034pub const OPENSSL_CFLAGS: i32 = 1;
1035pub const OPENSSL_BUILT_ON: i32 = 2;
1036pub const OPENSSL_PLATFORM: i32 = 3;
1037pub const OPENSSL_DIR: i32 = 4;
1038pub const SSLEAY_VERSION: i32 = 0;
1039pub const SSLEAY_CFLAGS: i32 = 1;
1040pub const SSLEAY_BUILT_ON: i32 = 2;
1041pub const SSLEAY_PLATFORM: i32 = 3;
1042pub const SSLEAY_DIR: i32 = 4;
1043pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
1044pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
1045pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
1046pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
1047pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
1048pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
1049pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
1050pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
1051pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
1052pub const OPENSSL_INIT_ATFORK: i32 = 0;
1053pub const OPENSSL_INIT_ENGINE_RDRAND: i32 = 0;
1054pub const OPENSSL_INIT_ENGINE_DYNAMIC: i32 = 0;
1055pub const OPENSSL_INIT_ENGINE_OPENSSL: i32 = 0;
1056pub const OPENSSL_INIT_ENGINE_CRYPTODEV: i32 = 0;
1057pub const OPENSSL_INIT_ENGINE_CAPI: i32 = 0;
1058pub const OPENSSL_INIT_ENGINE_PADLOCK: i32 = 0;
1059pub const OPENSSL_INIT_ENGINE_AFALG: i32 = 0;
1060pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
1061pub const CTR_DRBG_MIN_ENTROPY_LEN: i32 = 32;
1062pub const CTR_DRBG_MAX_ENTROPY_LEN: i32 = 64;
1063pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
1064pub const CTR_DRBG_NONCE_LEN: i32 = 16;
1065pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
1066pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
1067pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
1068pub const X25519_SHARED_KEY_LEN: i32 = 32;
1069pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
1070pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
1071pub const ED25519_SIGNATURE_LEN: i32 = 64;
1072pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
1073pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
1074pub const DES_ENCRYPT: i32 = 1;
1075pub const DES_DECRYPT: i32 = 0;
1076pub const DES_CBC_MODE: i32 = 0;
1077pub const DES_PCBC_MODE: i32 = 1;
1078pub const OPENSSL_DH_MAX_MODULUS_BITS: i32 = 8192;
1079pub const DH_GENERATOR_2: i32 = 2;
1080pub const DH_GENERATOR_5: i32 = 5;
1081pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
1082pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
1083pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1084pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
1085pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
1086pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
1087pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
1088pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1089pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
1090pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
1091pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
1092pub const DH_R_BAD_GENERATOR: i32 = 100;
1093pub const DH_R_INVALID_PUBKEY: i32 = 101;
1094pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
1095pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
1096pub const DH_R_DECODE_ERROR: i32 = 104;
1097pub const DH_R_ENCODE_ERROR: i32 = 105;
1098pub const DH_R_INVALID_PARAMETERS: i32 = 106;
1099pub const EVP_MAX_MD_SIZE: i32 = 64;
1100pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 128;
1101pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
1102pub const EVP_MD_FLAG_XOF: i32 = 4;
1103pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
1104pub const EVP_MAX_MD_DATA_SIZE: i32 = 208;
1105pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
1106pub const DIGEST_R_DECODE_ERROR: i32 = 101;
1107pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
1108pub const OPENSSL_DSA_MAX_MODULUS_BITS: i32 = 8192;
1109pub const DSA_R_BAD_Q_VALUE: i32 = 100;
1110pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
1111pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
1112pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
1113pub const DSA_R_BAD_VERSION: i32 = 104;
1114pub const DSA_R_DECODE_ERROR: i32 = 105;
1115pub const DSA_R_ENCODE_ERROR: i32 = 106;
1116pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
1117pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
1118pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
1119pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
1120pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
1121pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
1122pub const EC_PKEY_NO_PUBKEY: i32 = 2;
1123pub const ECDSA_FLAG_OPAQUE: i32 = 1;
1124pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
1125pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
1126pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
1127pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
1128pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
1129pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
1130pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
1131pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
1132pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
1133pub const EC_R_INVALID_ENCODING: i32 = 109;
1134pub const EC_R_INVALID_FIELD: i32 = 110;
1135pub const EC_R_INVALID_FORM: i32 = 111;
1136pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
1137pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
1138pub const EC_R_MISSING_PARAMETERS: i32 = 114;
1139pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
1140pub const EC_R_NON_NAMED_CURVE: i32 = 116;
1141pub const EC_R_NOT_INITIALIZED: i32 = 117;
1142pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
1143pub const EC_R_POINT_AT_INFINITY: i32 = 119;
1144pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
1145pub const EC_R_SLOT_FULL: i32 = 121;
1146pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
1147pub const EC_R_UNKNOWN_GROUP: i32 = 123;
1148pub const EC_R_UNKNOWN_ORDER: i32 = 124;
1149pub const EC_R_WRONG_ORDER: i32 = 125;
1150pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
1151pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
1152pub const EC_R_DECODE_ERROR: i32 = 128;
1153pub const EC_R_ENCODE_ERROR: i32 = 129;
1154pub const EC_R_GROUP_MISMATCH: i32 = 130;
1155pub const EC_R_INVALID_COFACTOR: i32 = 131;
1156pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
1157pub const EC_R_INVALID_SCALAR: i32 = 133;
1158pub const ECDH_R_KDF_FAILED: i32 = 100;
1159pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
1160pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
1161pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
1162pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
1163pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
1164pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
1165pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
1166pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
1167pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
1168pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
1169pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
1170pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
1171pub const EVP_R_DECODE_ERROR: i32 = 102;
1172pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
1173pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
1174pub const EVP_R_ENCODE_ERROR: i32 = 105;
1175pub const EVP_R_EXPECTING_A_EC_KEY: i32 = 106;
1176pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
1177pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
1178pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
1179pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
1180pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
1181pub const EVP_R_INVALID_KEYBITS: i32 = 112;
1182pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
1183pub const EVP_R_INVALID_OPERATION: i32 = 114;
1184pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
1185pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
1186pub const EVP_R_KEYS_NOT_SET: i32 = 117;
1187pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
1188pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
1189pub const EVP_R_NO_KEY_SET: i32 = 120;
1190pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
1191pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
1192pub const EVP_R_NO_OPERATION_SET: i32 = 123;
1193pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
1194pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
1195pub const EVP_R_OPERATION_NOT_INITIALIZED: i32 = 126;
1196pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
1197pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
1198pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
1199pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
1200pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
1201pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
1202pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
1203pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
1204pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
1205pub const EVP_R_EMPTY_PSK: i32 = 136;
1206pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
1207pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 138;
1208pub const EVP_R_PRIVATE_KEY_WAS_NOT_SEED: i32 = 139;
1209pub const EVP_R_MISSING_PUBLIC_KEY: i32 = 140;
1210pub const EVP_R_INVALID_CIPHERTEXT_LENGTH: i32 = 141;
1211pub const EVP_R_INVALID_SECRET_LENGTH: i32 = 142;
1212pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
1213pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
1214pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
1215pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
1216pub const EVP_AEAD_MAX_OPEN_OVERHEAD: i32 = 320;
1217pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
1218pub const SN_undef: &[u8; 6] = b"UNDEF\0";
1219pub const LN_undef: &[u8; 10] = b"undefined\0";
1220pub const NID_undef: i32 = 0;
1221pub const OBJ_undef: i32 = 0;
1222pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
1223pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
1224pub const NID_rsadsi: i32 = 1;
1225pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
1226pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
1227pub const NID_pkcs: i32 = 2;
1228pub const SN_md2: &[u8; 4] = b"MD2\0";
1229pub const LN_md2: &[u8; 4] = b"md2\0";
1230pub const NID_md2: i32 = 3;
1231pub const SN_md5: &[u8; 4] = b"MD5\0";
1232pub const LN_md5: &[u8; 4] = b"md5\0";
1233pub const NID_md5: i32 = 4;
1234pub const SN_rc4: &[u8; 4] = b"RC4\0";
1235pub const LN_rc4: &[u8; 4] = b"rc4\0";
1236pub const NID_rc4: i32 = 5;
1237pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
1238pub const NID_rsaEncryption: i32 = 6;
1239pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
1240pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
1241pub const NID_md2WithRSAEncryption: i32 = 7;
1242pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
1243pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
1244pub const NID_md5WithRSAEncryption: i32 = 8;
1245pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
1246pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
1247pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
1248pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
1249pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
1250pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
1251pub const SN_X500: &[u8; 5] = b"X500\0";
1252pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
1253pub const NID_X500: i32 = 11;
1254pub const OBJ_ENC_X500: i32 = 85;
1255pub const SN_X509: &[u8; 5] = b"X509\0";
1256pub const NID_X509: i32 = 12;
1257pub const SN_commonName: &[u8; 3] = b"CN\0";
1258pub const LN_commonName: &[u8; 11] = b"commonName\0";
1259pub const NID_commonName: i32 = 13;
1260pub const SN_countryName: &[u8; 2] = b"C\0";
1261pub const LN_countryName: &[u8; 12] = b"countryName\0";
1262pub const NID_countryName: i32 = 14;
1263pub const SN_localityName: &[u8; 2] = b"L\0";
1264pub const LN_localityName: &[u8; 13] = b"localityName\0";
1265pub const NID_localityName: i32 = 15;
1266pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
1267pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
1268pub const NID_stateOrProvinceName: i32 = 16;
1269pub const SN_organizationName: &[u8; 2] = b"O\0";
1270pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
1271pub const NID_organizationName: i32 = 17;
1272pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
1273pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
1274pub const NID_organizationalUnitName: i32 = 18;
1275pub const SN_rsa: &[u8; 4] = b"RSA\0";
1276pub const LN_rsa: &[u8; 4] = b"rsa\0";
1277pub const NID_rsa: i32 = 19;
1278pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
1279pub const NID_pkcs7: i32 = 20;
1280pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
1281pub const NID_pkcs7_data: i32 = 21;
1282pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
1283pub const NID_pkcs7_signed: i32 = 22;
1284pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1285pub const NID_pkcs7_enveloped: i32 = 23;
1286pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1287pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1288pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1289pub const NID_pkcs7_digest: i32 = 25;
1290pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1291pub const NID_pkcs7_encrypted: i32 = 26;
1292pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1293pub const NID_pkcs3: i32 = 27;
1294pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1295pub const NID_dhKeyAgreement: i32 = 28;
1296pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1297pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1298pub const NID_des_ecb: i32 = 29;
1299pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1300pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1301pub const NID_des_cfb64: i32 = 30;
1302pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1303pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1304pub const NID_des_cbc: i32 = 31;
1305pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1306pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1307pub const NID_des_ede_ecb: i32 = 32;
1308pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1309pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1310pub const NID_des_ede3_ecb: i32 = 33;
1311pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1312pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1313pub const NID_idea_cbc: i32 = 34;
1314pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1315pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1316pub const NID_idea_cfb64: i32 = 35;
1317pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1318pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1319pub const NID_idea_ecb: i32 = 36;
1320pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1321pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1322pub const NID_rc2_cbc: i32 = 37;
1323pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1324pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1325pub const NID_rc2_ecb: i32 = 38;
1326pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1327pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1328pub const NID_rc2_cfb64: i32 = 39;
1329pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1330pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1331pub const NID_rc2_ofb64: i32 = 40;
1332pub const SN_sha: &[u8; 4] = b"SHA\0";
1333pub const LN_sha: &[u8; 4] = b"sha\0";
1334pub const NID_sha: i32 = 41;
1335pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1336pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1337pub const NID_shaWithRSAEncryption: i32 = 42;
1338pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1339pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1340pub const NID_des_ede_cbc: i32 = 43;
1341pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1342pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1343pub const NID_des_ede3_cbc: i32 = 44;
1344pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1345pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1346pub const NID_des_ofb64: i32 = 45;
1347pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1348pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1349pub const NID_idea_ofb64: i32 = 46;
1350pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1351pub const NID_pkcs9: i32 = 47;
1352pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1353pub const NID_pkcs9_emailAddress: i32 = 48;
1354pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1355pub const NID_pkcs9_unstructuredName: i32 = 49;
1356pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1357pub const NID_pkcs9_contentType: i32 = 50;
1358pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1359pub const NID_pkcs9_messageDigest: i32 = 51;
1360pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1361pub const NID_pkcs9_signingTime: i32 = 52;
1362pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1363pub const NID_pkcs9_countersignature: i32 = 53;
1364pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1365pub const NID_pkcs9_challengePassword: i32 = 54;
1366pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1367pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1368pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1369pub const NID_pkcs9_extCertAttributes: i32 = 56;
1370pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1371pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1372pub const NID_netscape: i32 = 57;
1373pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1374pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1375pub const NID_netscape_cert_extension: i32 = 58;
1376pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1377pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1378pub const NID_netscape_data_type: i32 = 59;
1379pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1380pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1381pub const NID_des_ede_cfb64: i32 = 60;
1382pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1383pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1384pub const NID_des_ede3_cfb64: i32 = 61;
1385pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1386pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1387pub const NID_des_ede_ofb64: i32 = 62;
1388pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1389pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1390pub const NID_des_ede3_ofb64: i32 = 63;
1391pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1392pub const LN_sha1: &[u8; 5] = b"sha1\0";
1393pub const NID_sha1: i32 = 64;
1394pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1395pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1396pub const NID_sha1WithRSAEncryption: i32 = 65;
1397pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1398pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1399pub const NID_dsaWithSHA: i32 = 66;
1400pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1401pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1402pub const NID_dsa_2: i32 = 67;
1403pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1404pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1405pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1406pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1407pub const NID_id_pbkdf2: i32 = 69;
1408pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1409pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1410pub const NID_dsaWithSHA1_2: i32 = 70;
1411pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1412pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1413pub const NID_netscape_cert_type: i32 = 71;
1414pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1415pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1416pub const NID_netscape_base_url: i32 = 72;
1417pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1418pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1419pub const NID_netscape_revocation_url: i32 = 73;
1420pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1421pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1422pub const NID_netscape_ca_revocation_url: i32 = 74;
1423pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1424pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1425pub const NID_netscape_renewal_url: i32 = 75;
1426pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1427pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1428pub const NID_netscape_ca_policy_url: i32 = 76;
1429pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1430pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1431pub const NID_netscape_ssl_server_name: i32 = 77;
1432pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1433pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1434pub const NID_netscape_comment: i32 = 78;
1435pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1436pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1437pub const NID_netscape_cert_sequence: i32 = 79;
1438pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1439pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1440pub const NID_desx_cbc: i32 = 80;
1441pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1442pub const NID_id_ce: i32 = 81;
1443pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1444pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1445pub const NID_subject_key_identifier: i32 = 82;
1446pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1447pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1448pub const NID_key_usage: i32 = 83;
1449pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1450pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1451pub const NID_private_key_usage_period: i32 = 84;
1452pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1453pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1454pub const NID_subject_alt_name: i32 = 85;
1455pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1456pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1457pub const NID_issuer_alt_name: i32 = 86;
1458pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1459pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1460pub const NID_basic_constraints: i32 = 87;
1461pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1462pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1463pub const NID_crl_number: i32 = 88;
1464pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1465pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1466pub const NID_certificate_policies: i32 = 89;
1467pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1468pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1469pub const NID_authority_key_identifier: i32 = 90;
1470pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1471pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1472pub const NID_bf_cbc: i32 = 91;
1473pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1474pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1475pub const NID_bf_ecb: i32 = 92;
1476pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1477pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1478pub const NID_bf_cfb64: i32 = 93;
1479pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1480pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1481pub const NID_bf_ofb64: i32 = 94;
1482pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1483pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1484pub const NID_mdc2: i32 = 95;
1485pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1486pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1487pub const NID_mdc2WithRSA: i32 = 96;
1488pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1489pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1490pub const NID_rc4_40: i32 = 97;
1491pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1492pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1493pub const NID_rc2_40_cbc: i32 = 98;
1494pub const SN_givenName: &[u8; 3] = b"GN\0";
1495pub const LN_givenName: &[u8; 10] = b"givenName\0";
1496pub const NID_givenName: i32 = 99;
1497pub const SN_surname: &[u8; 3] = b"SN\0";
1498pub const LN_surname: &[u8; 8] = b"surname\0";
1499pub const NID_surname: i32 = 100;
1500pub const SN_initials: &[u8; 9] = b"initials\0";
1501pub const LN_initials: &[u8; 9] = b"initials\0";
1502pub const NID_initials: i32 = 101;
1503pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1504pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1505pub const NID_crl_distribution_points: i32 = 103;
1506pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1507pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1508pub const NID_md5WithRSA: i32 = 104;
1509pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1510pub const NID_serialNumber: i32 = 105;
1511pub const SN_title: &[u8; 6] = b"title\0";
1512pub const LN_title: &[u8; 6] = b"title\0";
1513pub const NID_title: i32 = 106;
1514pub const LN_description: &[u8; 12] = b"description\0";
1515pub const NID_description: i32 = 107;
1516pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1517pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1518pub const NID_cast5_cbc: i32 = 108;
1519pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1520pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1521pub const NID_cast5_ecb: i32 = 109;
1522pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1523pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1524pub const NID_cast5_cfb64: i32 = 110;
1525pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1526pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1527pub const NID_cast5_ofb64: i32 = 111;
1528pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1529pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1530pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1531pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1532pub const NID_dsaWithSHA1: i32 = 113;
1533pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1534pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1535pub const NID_md5_sha1: i32 = 114;
1536pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1537pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1538pub const NID_sha1WithRSA: i32 = 115;
1539pub const SN_dsa: &[u8; 4] = b"DSA\0";
1540pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1541pub const NID_dsa: i32 = 116;
1542pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1543pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1544pub const NID_ripemd160: i32 = 117;
1545pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1546pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1547pub const NID_ripemd160WithRSA: i32 = 119;
1548pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1549pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1550pub const NID_rc5_cbc: i32 = 120;
1551pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1552pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1553pub const NID_rc5_ecb: i32 = 121;
1554pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1555pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1556pub const NID_rc5_cfb64: i32 = 122;
1557pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1558pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1559pub const NID_rc5_ofb64: i32 = 123;
1560pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1561pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1562pub const NID_zlib_compression: i32 = 125;
1563pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1564pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1565pub const NID_ext_key_usage: i32 = 126;
1566pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1567pub const NID_id_pkix: i32 = 127;
1568pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1569pub const NID_id_kp: i32 = 128;
1570pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1571pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1572pub const NID_server_auth: i32 = 129;
1573pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1574pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1575pub const NID_client_auth: i32 = 130;
1576pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1577pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1578pub const NID_code_sign: i32 = 131;
1579pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1580pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1581pub const NID_email_protect: i32 = 132;
1582pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1583pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1584pub const NID_time_stamp: i32 = 133;
1585pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1586pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1587pub const NID_ms_code_ind: i32 = 134;
1588pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1589pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1590pub const NID_ms_code_com: i32 = 135;
1591pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1592pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1593pub const NID_ms_ctl_sign: i32 = 136;
1594pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1595pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1596pub const NID_ms_sgc: i32 = 137;
1597pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1598pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1599pub const NID_ms_efs: i32 = 138;
1600pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1601pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1602pub const NID_ns_sgc: i32 = 139;
1603pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1604pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1605pub const NID_delta_crl: i32 = 140;
1606pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1607pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1608pub const NID_crl_reason: i32 = 141;
1609pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1610pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1611pub const NID_invalidity_date: i32 = 142;
1612pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1613pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1614pub const NID_sxnet: i32 = 143;
1615pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1616pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1617pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1618pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1619pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1620pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1621pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1622pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1623pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1624pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1625pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1626pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1627pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1628pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1629pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1630pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1631pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1632pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1633pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1634pub const NID_keyBag: i32 = 150;
1635pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1636pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1637pub const LN_certBag: &[u8; 8] = b"certBag\0";
1638pub const NID_certBag: i32 = 152;
1639pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1640pub const NID_crlBag: i32 = 153;
1641pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1642pub const NID_secretBag: i32 = 154;
1643pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1644pub const NID_safeContentsBag: i32 = 155;
1645pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1646pub const NID_friendlyName: i32 = 156;
1647pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1648pub const NID_localKeyID: i32 = 157;
1649pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1650pub const NID_x509Certificate: i32 = 158;
1651pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1652pub const NID_sdsiCertificate: i32 = 159;
1653pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1654pub const NID_x509Crl: i32 = 160;
1655pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1656pub const NID_pbes2: i32 = 161;
1657pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1658pub const NID_pbmac1: i32 = 162;
1659pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1660pub const NID_hmacWithSHA1: i32 = 163;
1661pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1662pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1663pub const NID_id_qt_cps: i32 = 164;
1664pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1665pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1666pub const NID_id_qt_unotice: i32 = 165;
1667pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1668pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1669pub const NID_rc2_64_cbc: i32 = 166;
1670pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1671pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1672pub const NID_SMIMECapabilities: i32 = 167;
1673pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1674pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1675pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1676pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1677pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1678pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1679pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1680pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1681pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1682pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1683pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1684pub const NID_ms_ext_req: i32 = 171;
1685pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1686pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1687pub const NID_ext_req: i32 = 172;
1688pub const SN_name: &[u8; 5] = b"name\0";
1689pub const LN_name: &[u8; 5] = b"name\0";
1690pub const NID_name: i32 = 173;
1691pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1692pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1693pub const NID_dnQualifier: i32 = 174;
1694pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1695pub const NID_id_pe: i32 = 175;
1696pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1697pub const NID_id_ad: i32 = 176;
1698pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1699pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1700pub const NID_info_access: i32 = 177;
1701pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1702pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1703pub const NID_ad_OCSP: i32 = 178;
1704pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1705pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1706pub const NID_ad_ca_issuers: i32 = 179;
1707pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1708pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1709pub const NID_OCSP_sign: i32 = 180;
1710pub const SN_iso: &[u8; 4] = b"ISO\0";
1711pub const LN_iso: &[u8; 4] = b"iso\0";
1712pub const NID_iso: i32 = 181;
1713pub const OBJ_iso: i32 = 1;
1714pub const SN_member_body: &[u8; 12] = b"member-body\0";
1715pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1716pub const NID_member_body: i32 = 182;
1717pub const OBJ_ENC_member_body: i32 = 42;
1718pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1719pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1720pub const NID_ISO_US: i32 = 183;
1721pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1722pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1723pub const NID_X9_57: i32 = 184;
1724pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1725pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1726pub const NID_X9cm: i32 = 185;
1727pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1728pub const NID_pkcs1: i32 = 186;
1729pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1730pub const NID_pkcs5: i32 = 187;
1731pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1732pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1733pub const NID_SMIME: i32 = 188;
1734pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1735pub const NID_id_smime_mod: i32 = 189;
1736pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1737pub const NID_id_smime_ct: i32 = 190;
1738pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1739pub const NID_id_smime_aa: i32 = 191;
1740pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1741pub const NID_id_smime_alg: i32 = 192;
1742pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1743pub const NID_id_smime_cd: i32 = 193;
1744pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1745pub const NID_id_smime_spq: i32 = 194;
1746pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1747pub const NID_id_smime_cti: i32 = 195;
1748pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1749pub const NID_id_smime_mod_cms: i32 = 196;
1750pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1751pub const NID_id_smime_mod_ess: i32 = 197;
1752pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1753pub const NID_id_smime_mod_oid: i32 = 198;
1754pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1755pub const NID_id_smime_mod_msg_v3: i32 = 199;
1756pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1757pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1758pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1759pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1760pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1761pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1762pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1763pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1764pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1765pub const NID_id_smime_ct_receipt: i32 = 204;
1766pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1767pub const NID_id_smime_ct_authData: i32 = 205;
1768pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1769pub const NID_id_smime_ct_publishCert: i32 = 206;
1770pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1771pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1772pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1773pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1774pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1775pub const NID_id_smime_ct_contentInfo: i32 = 209;
1776pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1777pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1778pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1779pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1780pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1781pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1782pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1783pub const NID_id_smime_aa_securityLabel: i32 = 213;
1784pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1785pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1786pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1787pub const NID_id_smime_aa_contentHint: i32 = 215;
1788pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1789pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1790pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1791pub const NID_id_smime_aa_encapContentType: i32 = 217;
1792pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1793pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1794pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1795pub const NID_id_smime_aa_macValue: i32 = 219;
1796pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1797pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1798pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1799pub const NID_id_smime_aa_contentReference: i32 = 221;
1800pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1801pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1802pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1803pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1804pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1805pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1806pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1807pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1808pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1809pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1810pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1811pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1812pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1813pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1814pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1815pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1816pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1817pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1818pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1819pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1820pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1821pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1822pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1823pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1824pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1825pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1826pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1827pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1828pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1829pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1830pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1831pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1832pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1833pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1834pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1835pub const NID_id_smime_aa_signatureType: i32 = 239;
1836pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1837pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1838pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1839pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1840pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1841pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1842pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1843pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1844pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1845pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1846pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1847pub const NID_id_smime_alg_ESDH: i32 = 245;
1848pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1849pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1850pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1851pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1852pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1853pub const NID_id_smime_cd_ldap: i32 = 248;
1854pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1855pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1856pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1857pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1858pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1859pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1860pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1861pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1862pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1863pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1864pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1865pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1866pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1867pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1868pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1869pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1870pub const SN_md4: &[u8; 4] = b"MD4\0";
1871pub const LN_md4: &[u8; 4] = b"md4\0";
1872pub const NID_md4: i32 = 257;
1873pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1874pub const NID_id_pkix_mod: i32 = 258;
1875pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1876pub const NID_id_qt: i32 = 259;
1877pub const SN_id_it: &[u8; 6] = b"id-it\0";
1878pub const NID_id_it: i32 = 260;
1879pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1880pub const NID_id_pkip: i32 = 261;
1881pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1882pub const NID_id_alg: i32 = 262;
1883pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1884pub const NID_id_cmc: i32 = 263;
1885pub const SN_id_on: &[u8; 6] = b"id-on\0";
1886pub const NID_id_on: i32 = 264;
1887pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1888pub const NID_id_pda: i32 = 265;
1889pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1890pub const NID_id_aca: i32 = 266;
1891pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1892pub const NID_id_qcs: i32 = 267;
1893pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1894pub const NID_id_cct: i32 = 268;
1895pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1896pub const NID_id_pkix1_explicit_88: i32 = 269;
1897pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1898pub const NID_id_pkix1_implicit_88: i32 = 270;
1899pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1900pub const NID_id_pkix1_explicit_93: i32 = 271;
1901pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1902pub const NID_id_pkix1_implicit_93: i32 = 272;
1903pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1904pub const NID_id_mod_crmf: i32 = 273;
1905pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1906pub const NID_id_mod_cmc: i32 = 274;
1907pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1908pub const NID_id_mod_kea_profile_88: i32 = 275;
1909pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1910pub const NID_id_mod_kea_profile_93: i32 = 276;
1911pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1912pub const NID_id_mod_cmp: i32 = 277;
1913pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1914pub const NID_id_mod_qualified_cert_88: i32 = 278;
1915pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1916pub const NID_id_mod_qualified_cert_93: i32 = 279;
1917pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1918pub const NID_id_mod_attribute_cert: i32 = 280;
1919pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1920pub const NID_id_mod_timestamp_protocol: i32 = 281;
1921pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1922pub const NID_id_mod_ocsp: i32 = 282;
1923pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1924pub const NID_id_mod_dvcs: i32 = 283;
1925pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1926pub const NID_id_mod_cmp2000: i32 = 284;
1927pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1928pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1929pub const NID_biometricInfo: i32 = 285;
1930pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1931pub const NID_qcStatements: i32 = 286;
1932pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1933pub const NID_ac_auditEntity: i32 = 287;
1934pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1935pub const NID_ac_targeting: i32 = 288;
1936pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1937pub const NID_aaControls: i32 = 289;
1938pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1939pub const NID_sbgp_ipAddrBlock: i32 = 290;
1940pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1941pub const NID_sbgp_autonomousSysNum: i32 = 291;
1942pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1943pub const NID_sbgp_routerIdentifier: i32 = 292;
1944pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1945pub const NID_textNotice: i32 = 293;
1946pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1947pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1948pub const NID_ipsecEndSystem: i32 = 294;
1949pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1950pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1951pub const NID_ipsecTunnel: i32 = 295;
1952pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1953pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1954pub const NID_ipsecUser: i32 = 296;
1955pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1956pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1957pub const NID_dvcs: i32 = 297;
1958pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1959pub const NID_id_it_caProtEncCert: i32 = 298;
1960pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1961pub const NID_id_it_signKeyPairTypes: i32 = 299;
1962pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1963pub const NID_id_it_encKeyPairTypes: i32 = 300;
1964pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1965pub const NID_id_it_preferredSymmAlg: i32 = 301;
1966pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1967pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1968pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1969pub const NID_id_it_currentCRL: i32 = 303;
1970pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1971pub const NID_id_it_unsupportedOIDs: i32 = 304;
1972pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1973pub const NID_id_it_subscriptionRequest: i32 = 305;
1974pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1975pub const NID_id_it_subscriptionResponse: i32 = 306;
1976pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1977pub const NID_id_it_keyPairParamReq: i32 = 307;
1978pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1979pub const NID_id_it_keyPairParamRep: i32 = 308;
1980pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1981pub const NID_id_it_revPassphrase: i32 = 309;
1982pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1983pub const NID_id_it_implicitConfirm: i32 = 310;
1984pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1985pub const NID_id_it_confirmWaitTime: i32 = 311;
1986pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1987pub const NID_id_it_origPKIMessage: i32 = 312;
1988pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1989pub const NID_id_regCtrl: i32 = 313;
1990pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1991pub const NID_id_regInfo: i32 = 314;
1992pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1993pub const NID_id_regCtrl_regToken: i32 = 315;
1994pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1995pub const NID_id_regCtrl_authenticator: i32 = 316;
1996pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1997pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1998pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1999pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
2000pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
2001pub const NID_id_regCtrl_oldCertID: i32 = 319;
2002pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
2003pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
2004pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
2005pub const NID_id_regInfo_utf8Pairs: i32 = 321;
2006pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
2007pub const NID_id_regInfo_certReq: i32 = 322;
2008pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
2009pub const NID_id_alg_des40: i32 = 323;
2010pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
2011pub const NID_id_alg_noSignature: i32 = 324;
2012pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
2013pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
2014pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
2015pub const NID_id_alg_dh_pop: i32 = 326;
2016pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
2017pub const NID_id_cmc_statusInfo: i32 = 327;
2018pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
2019pub const NID_id_cmc_identification: i32 = 328;
2020pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
2021pub const NID_id_cmc_identityProof: i32 = 329;
2022pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
2023pub const NID_id_cmc_dataReturn: i32 = 330;
2024pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
2025pub const NID_id_cmc_transactionId: i32 = 331;
2026pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
2027pub const NID_id_cmc_senderNonce: i32 = 332;
2028pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
2029pub const NID_id_cmc_recipientNonce: i32 = 333;
2030pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
2031pub const NID_id_cmc_addExtensions: i32 = 334;
2032pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
2033pub const NID_id_cmc_encryptedPOP: i32 = 335;
2034pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
2035pub const NID_id_cmc_decryptedPOP: i32 = 336;
2036pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
2037pub const NID_id_cmc_lraPOPWitness: i32 = 337;
2038pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
2039pub const NID_id_cmc_getCert: i32 = 338;
2040pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
2041pub const NID_id_cmc_getCRL: i32 = 339;
2042pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
2043pub const NID_id_cmc_revokeRequest: i32 = 340;
2044pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
2045pub const NID_id_cmc_regInfo: i32 = 341;
2046pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
2047pub const NID_id_cmc_responseInfo: i32 = 342;
2048pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
2049pub const NID_id_cmc_queryPending: i32 = 343;
2050pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
2051pub const NID_id_cmc_popLinkRandom: i32 = 344;
2052pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
2053pub const NID_id_cmc_popLinkWitness: i32 = 345;
2054pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
2055pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
2056pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
2057pub const NID_id_on_personalData: i32 = 347;
2058pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
2059pub const NID_id_pda_dateOfBirth: i32 = 348;
2060pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
2061pub const NID_id_pda_placeOfBirth: i32 = 349;
2062pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
2063pub const NID_id_pda_gender: i32 = 351;
2064pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
2065pub const NID_id_pda_countryOfCitizenship: i32 = 352;
2066pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
2067pub const NID_id_pda_countryOfResidence: i32 = 353;
2068pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
2069pub const NID_id_aca_authenticationInfo: i32 = 354;
2070pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
2071pub const NID_id_aca_accessIdentity: i32 = 355;
2072pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
2073pub const NID_id_aca_chargingIdentity: i32 = 356;
2074pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
2075pub const NID_id_aca_group: i32 = 357;
2076pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
2077pub const NID_id_aca_role: i32 = 358;
2078pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
2079pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
2080pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
2081pub const NID_id_cct_crs: i32 = 360;
2082pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
2083pub const NID_id_cct_PKIData: i32 = 361;
2084pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
2085pub const NID_id_cct_PKIResponse: i32 = 362;
2086pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
2087pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
2088pub const NID_ad_timeStamping: i32 = 363;
2089pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
2090pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
2091pub const NID_ad_dvcs: i32 = 364;
2092pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
2093pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
2094pub const NID_id_pkix_OCSP_basic: i32 = 365;
2095pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
2096pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
2097pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
2098pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
2099pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
2100pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
2101pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
2102pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
2103pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
2104pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
2105pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
2106pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
2107pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
2108pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
2109pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
2110pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
2111pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
2112pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
2113pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
2114pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
2115pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
2116pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
2117pub const NID_id_pkix_OCSP_valid: i32 = 373;
2118pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
2119pub const NID_id_pkix_OCSP_path: i32 = 374;
2120pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
2121pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
2122pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
2123pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
2124pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
2125pub const NID_algorithm: i32 = 376;
2126pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
2127pub const NID_rsaSignature: i32 = 377;
2128pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
2129pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
2130pub const NID_X500algorithms: i32 = 378;
2131pub const SN_org: &[u8; 4] = b"ORG\0";
2132pub const LN_org: &[u8; 4] = b"org\0";
2133pub const NID_org: i32 = 379;
2134pub const OBJ_ENC_org: i32 = 43;
2135pub const SN_dod: &[u8; 4] = b"DOD\0";
2136pub const LN_dod: &[u8; 4] = b"dod\0";
2137pub const NID_dod: i32 = 380;
2138pub const SN_iana: &[u8; 5] = b"IANA\0";
2139pub const LN_iana: &[u8; 5] = b"iana\0";
2140pub const NID_iana: i32 = 381;
2141pub const SN_Directory: &[u8; 10] = b"directory\0";
2142pub const LN_Directory: &[u8; 10] = b"Directory\0";
2143pub const NID_Directory: i32 = 382;
2144pub const SN_Management: &[u8; 5] = b"mgmt\0";
2145pub const LN_Management: &[u8; 11] = b"Management\0";
2146pub const NID_Management: i32 = 383;
2147pub const SN_Experimental: &[u8; 13] = b"experimental\0";
2148pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
2149pub const NID_Experimental: i32 = 384;
2150pub const SN_Private: &[u8; 8] = b"private\0";
2151pub const LN_Private: &[u8; 8] = b"Private\0";
2152pub const NID_Private: i32 = 385;
2153pub const SN_Security: &[u8; 9] = b"security\0";
2154pub const LN_Security: &[u8; 9] = b"Security\0";
2155pub const NID_Security: i32 = 386;
2156pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
2157pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
2158pub const NID_SNMPv2: i32 = 387;
2159pub const LN_Mail: &[u8; 5] = b"Mail\0";
2160pub const NID_Mail: i32 = 388;
2161pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
2162pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
2163pub const NID_Enterprises: i32 = 389;
2164pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
2165pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
2166pub const NID_dcObject: i32 = 390;
2167pub const SN_domainComponent: &[u8; 3] = b"DC\0";
2168pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
2169pub const NID_domainComponent: i32 = 391;
2170pub const SN_Domain: &[u8; 7] = b"domain\0";
2171pub const LN_Domain: &[u8; 7] = b"Domain\0";
2172pub const NID_Domain: i32 = 392;
2173pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
2174pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
2175pub const NID_selected_attribute_types: i32 = 394;
2176pub const SN_clearance: &[u8; 10] = b"clearance\0";
2177pub const NID_clearance: i32 = 395;
2178pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
2179pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
2180pub const NID_md4WithRSAEncryption: i32 = 396;
2181pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
2182pub const NID_ac_proxying: i32 = 397;
2183pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
2184pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
2185pub const NID_sinfo_access: i32 = 398;
2186pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
2187pub const NID_id_aca_encAttrs: i32 = 399;
2188pub const SN_role: &[u8; 5] = b"role\0";
2189pub const LN_role: &[u8; 5] = b"role\0";
2190pub const NID_role: i32 = 400;
2191pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
2192pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
2193pub const NID_policy_constraints: i32 = 401;
2194pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
2195pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
2196pub const NID_target_information: i32 = 402;
2197pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
2198pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
2199pub const NID_no_rev_avail: i32 = 403;
2200pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
2201pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
2202pub const NID_ansi_X9_62: i32 = 405;
2203pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
2204pub const NID_X9_62_prime_field: i32 = 406;
2205pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
2206pub const NID_X9_62_characteristic_two_field: i32 = 407;
2207pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
2208pub const NID_X9_62_id_ecPublicKey: i32 = 408;
2209pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
2210pub const NID_X9_62_prime192v1: i32 = 409;
2211pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
2212pub const NID_X9_62_prime192v2: i32 = 410;
2213pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
2214pub const NID_X9_62_prime192v3: i32 = 411;
2215pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
2216pub const NID_X9_62_prime239v1: i32 = 412;
2217pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
2218pub const NID_X9_62_prime239v2: i32 = 413;
2219pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
2220pub const NID_X9_62_prime239v3: i32 = 414;
2221pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
2222pub const NID_X9_62_prime256v1: i32 = 415;
2223pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
2224pub const NID_ecdsa_with_SHA1: i32 = 416;
2225pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
2226pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
2227pub const NID_ms_csp_name: i32 = 417;
2228pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
2229pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
2230pub const NID_aes_128_ecb: i32 = 418;
2231pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
2232pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
2233pub const NID_aes_128_cbc: i32 = 419;
2234pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
2235pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
2236pub const NID_aes_128_ofb128: i32 = 420;
2237pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
2238pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
2239pub const NID_aes_128_cfb128: i32 = 421;
2240pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
2241pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
2242pub const NID_aes_192_ecb: i32 = 422;
2243pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
2244pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
2245pub const NID_aes_192_cbc: i32 = 423;
2246pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
2247pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
2248pub const NID_aes_192_ofb128: i32 = 424;
2249pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
2250pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
2251pub const NID_aes_192_cfb128: i32 = 425;
2252pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
2253pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
2254pub const NID_aes_256_ecb: i32 = 426;
2255pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
2256pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
2257pub const NID_aes_256_cbc: i32 = 427;
2258pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
2259pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
2260pub const NID_aes_256_ofb128: i32 = 428;
2261pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
2262pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
2263pub const NID_aes_256_cfb128: i32 = 429;
2264pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
2265pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
2266pub const NID_hold_instruction_code: i32 = 430;
2267pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
2268pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
2269pub const NID_hold_instruction_none: i32 = 431;
2270pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
2271pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
2272pub const NID_hold_instruction_call_issuer: i32 = 432;
2273pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
2274pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
2275pub const NID_hold_instruction_reject: i32 = 433;
2276pub const SN_data: &[u8; 5] = b"data\0";
2277pub const NID_data: i32 = 434;
2278pub const OBJ_ENC_data: i32 = 9;
2279pub const SN_pss: &[u8; 4] = b"pss\0";
2280pub const NID_pss: i32 = 435;
2281pub const SN_ucl: &[u8; 4] = b"ucl\0";
2282pub const NID_ucl: i32 = 436;
2283pub const SN_pilot: &[u8; 6] = b"pilot\0";
2284pub const NID_pilot: i32 = 437;
2285pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
2286pub const NID_pilotAttributeType: i32 = 438;
2287pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2288pub const NID_pilotAttributeSyntax: i32 = 439;
2289pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2290pub const NID_pilotObjectClass: i32 = 440;
2291pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2292pub const NID_pilotGroups: i32 = 441;
2293pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2294pub const NID_iA5StringSyntax: i32 = 442;
2295pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2296pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2297pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2298pub const NID_pilotObject: i32 = 444;
2299pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2300pub const NID_pilotPerson: i32 = 445;
2301pub const SN_account: &[u8; 8] = b"account\0";
2302pub const NID_account: i32 = 446;
2303pub const SN_document: &[u8; 9] = b"document\0";
2304pub const NID_document: i32 = 447;
2305pub const SN_room: &[u8; 5] = b"room\0";
2306pub const NID_room: i32 = 448;
2307pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2308pub const NID_documentSeries: i32 = 449;
2309pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2310pub const NID_rFC822localPart: i32 = 450;
2311pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2312pub const NID_dNSDomain: i32 = 451;
2313pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2314pub const NID_domainRelatedObject: i32 = 452;
2315pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2316pub const NID_friendlyCountry: i32 = 453;
2317pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2318pub const NID_simpleSecurityObject: i32 = 454;
2319pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2320pub const NID_pilotOrganization: i32 = 455;
2321pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2322pub const NID_pilotDSA: i32 = 456;
2323pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2324pub const NID_qualityLabelledData: i32 = 457;
2325pub const SN_userId: &[u8; 4] = b"UID\0";
2326pub const LN_userId: &[u8; 7] = b"userId\0";
2327pub const NID_userId: i32 = 458;
2328pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2329pub const NID_textEncodedORAddress: i32 = 459;
2330pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2331pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2332pub const NID_rfc822Mailbox: i32 = 460;
2333pub const SN_info: &[u8; 5] = b"info\0";
2334pub const NID_info: i32 = 461;
2335pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2336pub const NID_favouriteDrink: i32 = 462;
2337pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2338pub const NID_roomNumber: i32 = 463;
2339pub const SN_photo: &[u8; 6] = b"photo\0";
2340pub const NID_photo: i32 = 464;
2341pub const LN_userClass: &[u8; 10] = b"userClass\0";
2342pub const NID_userClass: i32 = 465;
2343pub const SN_host: &[u8; 5] = b"host\0";
2344pub const NID_host: i32 = 466;
2345pub const SN_manager: &[u8; 8] = b"manager\0";
2346pub const NID_manager: i32 = 467;
2347pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2348pub const NID_documentIdentifier: i32 = 468;
2349pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2350pub const NID_documentTitle: i32 = 469;
2351pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2352pub const NID_documentVersion: i32 = 470;
2353pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2354pub const NID_documentAuthor: i32 = 471;
2355pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2356pub const NID_documentLocation: i32 = 472;
2357pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2358pub const NID_homeTelephoneNumber: i32 = 473;
2359pub const SN_secretary: &[u8; 10] = b"secretary\0";
2360pub const NID_secretary: i32 = 474;
2361pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2362pub const NID_otherMailbox: i32 = 475;
2363pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2364pub const NID_lastModifiedTime: i32 = 476;
2365pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2366pub const NID_lastModifiedBy: i32 = 477;
2367pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2368pub const NID_aRecord: i32 = 478;
2369pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2370pub const NID_pilotAttributeType27: i32 = 479;
2371pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2372pub const NID_mXRecord: i32 = 480;
2373pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2374pub const NID_nSRecord: i32 = 481;
2375pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2376pub const NID_sOARecord: i32 = 482;
2377pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2378pub const NID_cNAMERecord: i32 = 483;
2379pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2380pub const NID_associatedDomain: i32 = 484;
2381pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2382pub const NID_associatedName: i32 = 485;
2383pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2384pub const NID_homePostalAddress: i32 = 486;
2385pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2386pub const NID_personalTitle: i32 = 487;
2387pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2388pub const NID_mobileTelephoneNumber: i32 = 488;
2389pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2390pub const NID_pagerTelephoneNumber: i32 = 489;
2391pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2392pub const NID_friendlyCountryName: i32 = 490;
2393pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2394pub const NID_organizationalStatus: i32 = 491;
2395pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2396pub const NID_janetMailbox: i32 = 492;
2397pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2398pub const NID_mailPreferenceOption: i32 = 493;
2399pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2400pub const NID_buildingName: i32 = 494;
2401pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2402pub const NID_dSAQuality: i32 = 495;
2403pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2404pub const NID_singleLevelQuality: i32 = 496;
2405pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2406pub const NID_subtreeMinimumQuality: i32 = 497;
2407pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2408pub const NID_subtreeMaximumQuality: i32 = 498;
2409pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2410pub const NID_personalSignature: i32 = 499;
2411pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2412pub const NID_dITRedirect: i32 = 500;
2413pub const SN_audio: &[u8; 6] = b"audio\0";
2414pub const NID_audio: i32 = 501;
2415pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2416pub const NID_documentPublisher: i32 = 502;
2417pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2418pub const NID_x500UniqueIdentifier: i32 = 503;
2419pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2420pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2421pub const NID_mime_mhs: i32 = 504;
2422pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2423pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2424pub const NID_mime_mhs_headings: i32 = 505;
2425pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2426pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2427pub const NID_mime_mhs_bodies: i32 = 506;
2428pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2429pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2430pub const NID_id_hex_partial_message: i32 = 507;
2431pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2432pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2433pub const NID_id_hex_multipart_message: i32 = 508;
2434pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2435pub const NID_generationQualifier: i32 = 509;
2436pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2437pub const NID_pseudonym: i32 = 510;
2438pub const SN_id_set: &[u8; 7] = b"id-set\0";
2439pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2440pub const NID_id_set: i32 = 512;
2441pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2442pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2443pub const NID_set_ctype: i32 = 513;
2444pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2445pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2446pub const NID_set_msgExt: i32 = 514;
2447pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2448pub const NID_set_attr: i32 = 515;
2449pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2450pub const NID_set_policy: i32 = 516;
2451pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2452pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2453pub const NID_set_certExt: i32 = 517;
2454pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2455pub const NID_set_brand: i32 = 518;
2456pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2457pub const NID_setct_PANData: i32 = 519;
2458pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2459pub const NID_setct_PANToken: i32 = 520;
2460pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2461pub const NID_setct_PANOnly: i32 = 521;
2462pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2463pub const NID_setct_OIData: i32 = 522;
2464pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2465pub const NID_setct_PI: i32 = 523;
2466pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2467pub const NID_setct_PIData: i32 = 524;
2468pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2469pub const NID_setct_PIDataUnsigned: i32 = 525;
2470pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2471pub const NID_setct_HODInput: i32 = 526;
2472pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2473pub const NID_setct_AuthResBaggage: i32 = 527;
2474pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2475pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2476pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2477pub const NID_setct_AuthRevResBaggage: i32 = 529;
2478pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2479pub const NID_setct_CapTokenSeq: i32 = 530;
2480pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2481pub const NID_setct_PInitResData: i32 = 531;
2482pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2483pub const NID_setct_PI_TBS: i32 = 532;
2484pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2485pub const NID_setct_PResData: i32 = 533;
2486pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2487pub const NID_setct_AuthReqTBS: i32 = 534;
2488pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2489pub const NID_setct_AuthResTBS: i32 = 535;
2490pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2491pub const NID_setct_AuthResTBSX: i32 = 536;
2492pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2493pub const NID_setct_AuthTokenTBS: i32 = 537;
2494pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2495pub const NID_setct_CapTokenData: i32 = 538;
2496pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2497pub const NID_setct_CapTokenTBS: i32 = 539;
2498pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2499pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2500pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2501pub const NID_setct_AuthRevReqTBS: i32 = 541;
2502pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2503pub const NID_setct_AuthRevResData: i32 = 542;
2504pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2505pub const NID_setct_AuthRevResTBS: i32 = 543;
2506pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2507pub const NID_setct_CapReqTBS: i32 = 544;
2508pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2509pub const NID_setct_CapReqTBSX: i32 = 545;
2510pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2511pub const NID_setct_CapResData: i32 = 546;
2512pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2513pub const NID_setct_CapRevReqTBS: i32 = 547;
2514pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2515pub const NID_setct_CapRevReqTBSX: i32 = 548;
2516pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2517pub const NID_setct_CapRevResData: i32 = 549;
2518pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2519pub const NID_setct_CredReqTBS: i32 = 550;
2520pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2521pub const NID_setct_CredReqTBSX: i32 = 551;
2522pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2523pub const NID_setct_CredResData: i32 = 552;
2524pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2525pub const NID_setct_CredRevReqTBS: i32 = 553;
2526pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2527pub const NID_setct_CredRevReqTBSX: i32 = 554;
2528pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2529pub const NID_setct_CredRevResData: i32 = 555;
2530pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2531pub const NID_setct_PCertReqData: i32 = 556;
2532pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2533pub const NID_setct_PCertResTBS: i32 = 557;
2534pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2535pub const NID_setct_BatchAdminReqData: i32 = 558;
2536pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2537pub const NID_setct_BatchAdminResData: i32 = 559;
2538pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2539pub const NID_setct_CardCInitResTBS: i32 = 560;
2540pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2541pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2542pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2543pub const NID_setct_RegFormResTBS: i32 = 562;
2544pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2545pub const NID_setct_CertReqData: i32 = 563;
2546pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2547pub const NID_setct_CertReqTBS: i32 = 564;
2548pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2549pub const NID_setct_CertResData: i32 = 565;
2550pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2551pub const NID_setct_CertInqReqTBS: i32 = 566;
2552pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2553pub const NID_setct_ErrorTBS: i32 = 567;
2554pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2555pub const NID_setct_PIDualSignedTBE: i32 = 568;
2556pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2557pub const NID_setct_PIUnsignedTBE: i32 = 569;
2558pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2559pub const NID_setct_AuthReqTBE: i32 = 570;
2560pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2561pub const NID_setct_AuthResTBE: i32 = 571;
2562pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2563pub const NID_setct_AuthResTBEX: i32 = 572;
2564pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2565pub const NID_setct_AuthTokenTBE: i32 = 573;
2566pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2567pub const NID_setct_CapTokenTBE: i32 = 574;
2568pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2569pub const NID_setct_CapTokenTBEX: i32 = 575;
2570pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2571pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2572pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2573pub const NID_setct_AuthRevReqTBE: i32 = 577;
2574pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2575pub const NID_setct_AuthRevResTBE: i32 = 578;
2576pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2577pub const NID_setct_AuthRevResTBEB: i32 = 579;
2578pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2579pub const NID_setct_CapReqTBE: i32 = 580;
2580pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2581pub const NID_setct_CapReqTBEX: i32 = 581;
2582pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2583pub const NID_setct_CapResTBE: i32 = 582;
2584pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2585pub const NID_setct_CapRevReqTBE: i32 = 583;
2586pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2587pub const NID_setct_CapRevReqTBEX: i32 = 584;
2588pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2589pub const NID_setct_CapRevResTBE: i32 = 585;
2590pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2591pub const NID_setct_CredReqTBE: i32 = 586;
2592pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2593pub const NID_setct_CredReqTBEX: i32 = 587;
2594pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2595pub const NID_setct_CredResTBE: i32 = 588;
2596pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2597pub const NID_setct_CredRevReqTBE: i32 = 589;
2598pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2599pub const NID_setct_CredRevReqTBEX: i32 = 590;
2600pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2601pub const NID_setct_CredRevResTBE: i32 = 591;
2602pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2603pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2604pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2605pub const NID_setct_BatchAdminResTBE: i32 = 593;
2606pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2607pub const NID_setct_RegFormReqTBE: i32 = 594;
2608pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2609pub const NID_setct_CertReqTBE: i32 = 595;
2610pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2611pub const NID_setct_CertReqTBEX: i32 = 596;
2612pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2613pub const NID_setct_CertResTBE: i32 = 597;
2614pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2615pub const NID_setct_CRLNotificationTBS: i32 = 598;
2616pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2617pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2618pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2619pub const NID_setct_BCIDistributionTBS: i32 = 600;
2620pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2621pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2622pub const NID_setext_genCrypt: i32 = 601;
2623pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2624pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2625pub const NID_setext_miAuth: i32 = 602;
2626pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2627pub const NID_setext_pinSecure: i32 = 603;
2628pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2629pub const NID_setext_pinAny: i32 = 604;
2630pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2631pub const NID_setext_track2: i32 = 605;
2632pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2633pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2634pub const NID_setext_cv: i32 = 606;
2635pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2636pub const NID_set_policy_root: i32 = 607;
2637pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2638pub const NID_setCext_hashedRoot: i32 = 608;
2639pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2640pub const NID_setCext_certType: i32 = 609;
2641pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2642pub const NID_setCext_merchData: i32 = 610;
2643pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2644pub const NID_setCext_cCertRequired: i32 = 611;
2645pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2646pub const NID_setCext_tunneling: i32 = 612;
2647pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2648pub const NID_setCext_setExt: i32 = 613;
2649pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2650pub const NID_setCext_setQualf: i32 = 614;
2651pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2652pub const NID_setCext_PGWYcapabilities: i32 = 615;
2653pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2654pub const NID_setCext_TokenIdentifier: i32 = 616;
2655pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2656pub const NID_setCext_Track2Data: i32 = 617;
2657pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2658pub const NID_setCext_TokenType: i32 = 618;
2659pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2660pub const NID_setCext_IssuerCapabilities: i32 = 619;
2661pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2662pub const NID_setAttr_Cert: i32 = 620;
2663pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2664pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2665pub const NID_setAttr_PGWYcap: i32 = 621;
2666pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2667pub const NID_setAttr_TokenType: i32 = 622;
2668pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2669pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2670pub const NID_setAttr_IssCap: i32 = 623;
2671pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2672pub const NID_set_rootKeyThumb: i32 = 624;
2673pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2674pub const NID_set_addPolicy: i32 = 625;
2675pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2676pub const NID_setAttr_Token_EMV: i32 = 626;
2677pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2678pub const NID_setAttr_Token_B0Prime: i32 = 627;
2679pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2680pub const NID_setAttr_IssCap_CVM: i32 = 628;
2681pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2682pub const NID_setAttr_IssCap_T2: i32 = 629;
2683pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2684pub const NID_setAttr_IssCap_Sig: i32 = 630;
2685pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2686pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2687pub const NID_setAttr_GenCryptgrm: i32 = 631;
2688pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2689pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2690pub const NID_setAttr_T2Enc: i32 = 632;
2691pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2692pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2693pub const NID_setAttr_T2cleartxt: i32 = 633;
2694pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2695pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2696pub const NID_setAttr_TokICCsig: i32 = 634;
2697pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2698pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2699pub const NID_setAttr_SecDevSig: i32 = 635;
2700pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2701pub const NID_set_brand_IATA_ATA: i32 = 636;
2702pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2703pub const NID_set_brand_Diners: i32 = 637;
2704pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2705pub const NID_set_brand_AmericanExpress: i32 = 638;
2706pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2707pub const NID_set_brand_JCB: i32 = 639;
2708pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2709pub const NID_set_brand_Visa: i32 = 640;
2710pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2711pub const NID_set_brand_MasterCard: i32 = 641;
2712pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2713pub const NID_set_brand_Novus: i32 = 642;
2714pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2715pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2716pub const NID_des_cdmf: i32 = 643;
2717pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2718pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2719pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2720pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2721pub const NID_itu_t: i32 = 645;
2722pub const OBJ_itu_t: i32 = 0;
2723pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2724pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2725pub const NID_joint_iso_itu_t: i32 = 646;
2726pub const OBJ_joint_iso_itu_t: i32 = 2;
2727pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2728pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2729pub const NID_international_organizations: i32 = 647;
2730pub const OBJ_ENC_international_organizations: i32 = 103;
2731pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2732pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2733pub const NID_ms_smartcard_login: i32 = 648;
2734pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2735pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2736pub const NID_ms_upn: i32 = 649;
2737pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2738pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2739pub const NID_aes_128_cfb1: i32 = 650;
2740pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2741pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2742pub const NID_aes_192_cfb1: i32 = 651;
2743pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2744pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2745pub const NID_aes_256_cfb1: i32 = 652;
2746pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2747pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2748pub const NID_aes_128_cfb8: i32 = 653;
2749pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2750pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2751pub const NID_aes_192_cfb8: i32 = 654;
2752pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2753pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2754pub const NID_aes_256_cfb8: i32 = 655;
2755pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2756pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2757pub const NID_des_cfb1: i32 = 656;
2758pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2759pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2760pub const NID_des_cfb8: i32 = 657;
2761pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2762pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2763pub const NID_des_ede3_cfb1: i32 = 658;
2764pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2765pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2766pub const NID_des_ede3_cfb8: i32 = 659;
2767pub const SN_streetAddress: &[u8; 7] = b"street\0";
2768pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2769pub const NID_streetAddress: i32 = 660;
2770pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2771pub const NID_postalCode: i32 = 661;
2772pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2773pub const NID_id_ppl: i32 = 662;
2774pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2775pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2776pub const NID_proxyCertInfo: i32 = 663;
2777pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2778pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2779pub const NID_id_ppl_anyLanguage: i32 = 664;
2780pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2781pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2782pub const NID_id_ppl_inheritAll: i32 = 665;
2783pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2784pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2785pub const NID_name_constraints: i32 = 666;
2786pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2787pub const LN_Independent: &[u8; 12] = b"Independent\0";
2788pub const NID_Independent: i32 = 667;
2789pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2790pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2791pub const NID_sha256WithRSAEncryption: i32 = 668;
2792pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2793pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2794pub const NID_sha384WithRSAEncryption: i32 = 669;
2795pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2796pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2797pub const NID_sha512WithRSAEncryption: i32 = 670;
2798pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2799pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2800pub const NID_sha224WithRSAEncryption: i32 = 671;
2801pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2802pub const LN_sha256: &[u8; 7] = b"sha256\0";
2803pub const NID_sha256: i32 = 672;
2804pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2805pub const LN_sha384: &[u8; 7] = b"sha384\0";
2806pub const NID_sha384: i32 = 673;
2807pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2808pub const LN_sha512: &[u8; 7] = b"sha512\0";
2809pub const NID_sha512: i32 = 674;
2810pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2811pub const LN_sha224: &[u8; 7] = b"sha224\0";
2812pub const NID_sha224: i32 = 675;
2813pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2814pub const NID_identified_organization: i32 = 676;
2815pub const OBJ_ENC_identified_organization: i32 = 43;
2816pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2817pub const NID_certicom_arc: i32 = 677;
2818pub const SN_wap: &[u8; 4] = b"wap\0";
2819pub const NID_wap: i32 = 678;
2820pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2821pub const NID_wap_wsg: i32 = 679;
2822pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2823pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2824pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2825pub const NID_X9_62_onBasis: i32 = 681;
2826pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2827pub const NID_X9_62_tpBasis: i32 = 682;
2828pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2829pub const NID_X9_62_ppBasis: i32 = 683;
2830pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2831pub const NID_X9_62_c2pnb163v1: i32 = 684;
2832pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2833pub const NID_X9_62_c2pnb163v2: i32 = 685;
2834pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2835pub const NID_X9_62_c2pnb163v3: i32 = 686;
2836pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2837pub const NID_X9_62_c2pnb176v1: i32 = 687;
2838pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2839pub const NID_X9_62_c2tnb191v1: i32 = 688;
2840pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2841pub const NID_X9_62_c2tnb191v2: i32 = 689;
2842pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2843pub const NID_X9_62_c2tnb191v3: i32 = 690;
2844pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2845pub const NID_X9_62_c2onb191v4: i32 = 691;
2846pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2847pub const NID_X9_62_c2onb191v5: i32 = 692;
2848pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2849pub const NID_X9_62_c2pnb208w1: i32 = 693;
2850pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2851pub const NID_X9_62_c2tnb239v1: i32 = 694;
2852pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2853pub const NID_X9_62_c2tnb239v2: i32 = 695;
2854pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2855pub const NID_X9_62_c2tnb239v3: i32 = 696;
2856pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2857pub const NID_X9_62_c2onb239v4: i32 = 697;
2858pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2859pub const NID_X9_62_c2onb239v5: i32 = 698;
2860pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2861pub const NID_X9_62_c2pnb272w1: i32 = 699;
2862pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2863pub const NID_X9_62_c2pnb304w1: i32 = 700;
2864pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2865pub const NID_X9_62_c2tnb359v1: i32 = 701;
2866pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2867pub const NID_X9_62_c2pnb368w1: i32 = 702;
2868pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2869pub const NID_X9_62_c2tnb431r1: i32 = 703;
2870pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2871pub const NID_secp112r1: i32 = 704;
2872pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2873pub const NID_secp112r2: i32 = 705;
2874pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2875pub const NID_secp128r1: i32 = 706;
2876pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2877pub const NID_secp128r2: i32 = 707;
2878pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2879pub const NID_secp160k1: i32 = 708;
2880pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2881pub const NID_secp160r1: i32 = 709;
2882pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2883pub const NID_secp160r2: i32 = 710;
2884pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2885pub const NID_secp192k1: i32 = 711;
2886pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2887pub const NID_secp224k1: i32 = 712;
2888pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2889pub const NID_secp224r1: i32 = 713;
2890pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2891pub const NID_secp256k1: i32 = 714;
2892pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2893pub const NID_secp384r1: i32 = 715;
2894pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2895pub const NID_secp521r1: i32 = 716;
2896pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2897pub const NID_sect113r1: i32 = 717;
2898pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2899pub const NID_sect113r2: i32 = 718;
2900pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2901pub const NID_sect131r1: i32 = 719;
2902pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2903pub const NID_sect131r2: i32 = 720;
2904pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2905pub const NID_sect163k1: i32 = 721;
2906pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2907pub const NID_sect163r1: i32 = 722;
2908pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2909pub const NID_sect163r2: i32 = 723;
2910pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2911pub const NID_sect193r1: i32 = 724;
2912pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2913pub const NID_sect193r2: i32 = 725;
2914pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2915pub const NID_sect233k1: i32 = 726;
2916pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2917pub const NID_sect233r1: i32 = 727;
2918pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2919pub const NID_sect239k1: i32 = 728;
2920pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2921pub const NID_sect283k1: i32 = 729;
2922pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2923pub const NID_sect283r1: i32 = 730;
2924pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2925pub const NID_sect409k1: i32 = 731;
2926pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2927pub const NID_sect409r1: i32 = 732;
2928pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2929pub const NID_sect571k1: i32 = 733;
2930pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2931pub const NID_sect571r1: i32 = 734;
2932pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2933pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2934pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2935pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2936pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2937pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2938pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2939pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2940pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2941pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2942pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2943pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2944pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2945pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2946pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2947pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2948pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2949pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2950pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2951pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2952pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2953pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2954pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2955pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2956pub const NID_any_policy: i32 = 746;
2957pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2958pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2959pub const NID_policy_mappings: i32 = 747;
2960pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2961pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2962pub const NID_inhibit_any_policy: i32 = 748;
2963pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2964pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2965pub const NID_ipsec3: i32 = 749;
2966pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2967pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2968pub const NID_ipsec4: i32 = 750;
2969pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2970pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2971pub const NID_camellia_128_cbc: i32 = 751;
2972pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2973pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2974pub const NID_camellia_192_cbc: i32 = 752;
2975pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2976pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2977pub const NID_camellia_256_cbc: i32 = 753;
2978pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2979pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2980pub const NID_camellia_128_ecb: i32 = 754;
2981pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2982pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2983pub const NID_camellia_192_ecb: i32 = 755;
2984pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2985pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2986pub const NID_camellia_256_ecb: i32 = 756;
2987pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2988pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2989pub const NID_camellia_128_cfb128: i32 = 757;
2990pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2991pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2992pub const NID_camellia_192_cfb128: i32 = 758;
2993pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2994pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2995pub const NID_camellia_256_cfb128: i32 = 759;
2996pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2997pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2998pub const NID_camellia_128_cfb1: i32 = 760;
2999pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
3000pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
3001pub const NID_camellia_192_cfb1: i32 = 761;
3002pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
3003pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
3004pub const NID_camellia_256_cfb1: i32 = 762;
3005pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
3006pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
3007pub const NID_camellia_128_cfb8: i32 = 763;
3008pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
3009pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
3010pub const NID_camellia_192_cfb8: i32 = 764;
3011pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
3012pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
3013pub const NID_camellia_256_cfb8: i32 = 765;
3014pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
3015pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
3016pub const NID_camellia_128_ofb128: i32 = 766;
3017pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
3018pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
3019pub const NID_camellia_192_ofb128: i32 = 767;
3020pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
3021pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
3022pub const NID_camellia_256_ofb128: i32 = 768;
3023pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
3024pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
3025pub const NID_subject_directory_attributes: i32 = 769;
3026pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
3027pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
3028pub const NID_issuing_distribution_point: i32 = 770;
3029pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
3030pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
3031pub const NID_certificate_issuer: i32 = 771;
3032pub const SN_kisa: &[u8; 5] = b"KISA\0";
3033pub const LN_kisa: &[u8; 5] = b"kisa\0";
3034pub const NID_kisa: i32 = 773;
3035pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
3036pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
3037pub const NID_seed_ecb: i32 = 776;
3038pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
3039pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
3040pub const NID_seed_cbc: i32 = 777;
3041pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
3042pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
3043pub const NID_seed_ofb128: i32 = 778;
3044pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
3045pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
3046pub const NID_seed_cfb128: i32 = 779;
3047pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
3048pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
3049pub const NID_hmac_md5: i32 = 780;
3050pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
3051pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
3052pub const NID_hmac_sha1: i32 = 781;
3053pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
3054pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
3055pub const NID_id_PasswordBasedMAC: i32 = 782;
3056pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
3057pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
3058pub const NID_id_DHBasedMac: i32 = 783;
3059pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
3060pub const NID_id_it_suppLangTags: i32 = 784;
3061pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
3062pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
3063pub const NID_caRepository: i32 = 785;
3064pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
3065pub const NID_id_smime_ct_compressedData: i32 = 786;
3066pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
3067pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
3068pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
3069pub const NID_id_aes128_wrap: i32 = 788;
3070pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
3071pub const NID_id_aes192_wrap: i32 = 789;
3072pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
3073pub const NID_id_aes256_wrap: i32 = 790;
3074pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
3075pub const NID_ecdsa_with_Recommended: i32 = 791;
3076pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
3077pub const NID_ecdsa_with_Specified: i32 = 792;
3078pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
3079pub const NID_ecdsa_with_SHA224: i32 = 793;
3080pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
3081pub const NID_ecdsa_with_SHA256: i32 = 794;
3082pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
3083pub const NID_ecdsa_with_SHA384: i32 = 795;
3084pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
3085pub const NID_ecdsa_with_SHA512: i32 = 796;
3086pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
3087pub const NID_hmacWithMD5: i32 = 797;
3088pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
3089pub const NID_hmacWithSHA224: i32 = 798;
3090pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
3091pub const NID_hmacWithSHA256: i32 = 799;
3092pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
3093pub const NID_hmacWithSHA384: i32 = 800;
3094pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
3095pub const NID_hmacWithSHA512: i32 = 801;
3096pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
3097pub const NID_dsa_with_SHA224: i32 = 802;
3098pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
3099pub const NID_dsa_with_SHA256: i32 = 803;
3100pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
3101pub const NID_whirlpool: i32 = 804;
3102pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
3103pub const NID_cryptopro: i32 = 805;
3104pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
3105pub const NID_cryptocom: i32 = 806;
3106pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
3107 b"id-GostR3411-94-with-GostR3410-2001\0";
3108pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
3109 b"GOST R 34.11-94 with GOST R 34.10-2001\0";
3110pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
3111pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
3112pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
3113 b"GOST R 34.11-94 with GOST R 34.10-94\0";
3114pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
3115pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
3116pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
3117pub const NID_id_GostR3411_94: i32 = 809;
3118pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
3119pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
3120pub const NID_id_HMACGostR3411_94: i32 = 810;
3121pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
3122pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
3123pub const NID_id_GostR3410_2001: i32 = 811;
3124pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
3125pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
3126pub const NID_id_GostR3410_94: i32 = 812;
3127pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
3128pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
3129pub const NID_id_Gost28147_89: i32 = 813;
3130pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
3131pub const NID_gost89_cnt: i32 = 814;
3132pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
3133pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
3134pub const NID_id_Gost28147_89_MAC: i32 = 815;
3135pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
3136pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
3137pub const NID_id_GostR3411_94_prf: i32 = 816;
3138pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
3139pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
3140pub const NID_id_GostR3410_2001DH: i32 = 817;
3141pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
3142pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
3143pub const NID_id_GostR3410_94DH: i32 = 818;
3144pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
3145 b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
3146pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
3147pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
3148pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
3149pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
3150pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
3151pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
3152pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
3153pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
3154pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
3155pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
3156 b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
3157pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
3158pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
3159 b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
3160pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
3161pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
3162 b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
3163pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
3164pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
3165 b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
3166pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
3167pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
3168 b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
3169pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
3170pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
3171 b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
3172pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
3173pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
3174 b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
3175pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
3176pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
3177pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
3178pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
3179 b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
3180pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
3181pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
3182 b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
3183pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
3184pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
3185 b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
3186pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
3187pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
3188 b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
3189pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
3190pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
3191 b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
3192pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
3193pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
3194 b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
3195pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
3196pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
3197 b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
3198pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
3199pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
3200pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
3201pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
3202 b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
3203pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
3204pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
3205 b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
3206pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
3207pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
3208 b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
3209pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
3210pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
3211 b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
3212pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
3213pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
3214 b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
3215pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
3216pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
3217pub const NID_id_GostR3410_94_a: i32 = 845;
3218pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
3219pub const NID_id_GostR3410_94_aBis: i32 = 846;
3220pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
3221pub const NID_id_GostR3410_94_b: i32 = 847;
3222pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
3223pub const NID_id_GostR3410_94_bBis: i32 = 848;
3224pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
3225pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
3226pub const NID_id_Gost28147_89_cc: i32 = 849;
3227pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
3228pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
3229pub const NID_id_GostR3410_94_cc: i32 = 850;
3230pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
3231pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
3232pub const NID_id_GostR3410_2001_cc: i32 = 851;
3233pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
3234 b"id-GostR3411-94-with-GostR3410-94-cc\0";
3235pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
3236 b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
3237pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
3238pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
3239 b"id-GostR3411-94-with-GostR3410-2001-cc\0";
3240pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
3241 b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
3242pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
3243pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
3244pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
3245 b"GOST R 3410-2001 Parameter Set Cryptocom\0";
3246pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
3247pub const SN_hmac: &[u8; 5] = b"HMAC\0";
3248pub const LN_hmac: &[u8; 5] = b"hmac\0";
3249pub const NID_hmac: i32 = 855;
3250pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
3251pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
3252pub const NID_LocalKeySet: i32 = 856;
3253pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
3254pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
3255pub const NID_freshest_crl: i32 = 857;
3256pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
3257pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
3258pub const NID_id_on_permanentIdentifier: i32 = 858;
3259pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
3260pub const NID_searchGuide: i32 = 859;
3261pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
3262pub const NID_businessCategory: i32 = 860;
3263pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
3264pub const NID_postalAddress: i32 = 861;
3265pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
3266pub const NID_postOfficeBox: i32 = 862;
3267pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
3268pub const NID_physicalDeliveryOfficeName: i32 = 863;
3269pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
3270pub const NID_telephoneNumber: i32 = 864;
3271pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
3272pub const NID_telexNumber: i32 = 865;
3273pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
3274pub const NID_teletexTerminalIdentifier: i32 = 866;
3275pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
3276pub const NID_facsimileTelephoneNumber: i32 = 867;
3277pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
3278pub const NID_x121Address: i32 = 868;
3279pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
3280pub const NID_internationaliSDNNumber: i32 = 869;
3281pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
3282pub const NID_registeredAddress: i32 = 870;
3283pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
3284pub const NID_destinationIndicator: i32 = 871;
3285pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
3286pub const NID_preferredDeliveryMethod: i32 = 872;
3287pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
3288pub const NID_presentationAddress: i32 = 873;
3289pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3290pub const NID_supportedApplicationContext: i32 = 874;
3291pub const SN_member: &[u8; 7] = b"member\0";
3292pub const NID_member: i32 = 875;
3293pub const SN_owner: &[u8; 6] = b"owner\0";
3294pub const NID_owner: i32 = 876;
3295pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3296pub const NID_roleOccupant: i32 = 877;
3297pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3298pub const NID_seeAlso: i32 = 878;
3299pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3300pub const NID_userPassword: i32 = 879;
3301pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3302pub const NID_userCertificate: i32 = 880;
3303pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3304pub const NID_cACertificate: i32 = 881;
3305pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3306pub const NID_authorityRevocationList: i32 = 882;
3307pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3308pub const NID_certificateRevocationList: i32 = 883;
3309pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3310pub const NID_crossCertificatePair: i32 = 884;
3311pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3312pub const NID_enhancedSearchGuide: i32 = 885;
3313pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3314pub const NID_protocolInformation: i32 = 886;
3315pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3316pub const NID_distinguishedName: i32 = 887;
3317pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3318pub const NID_uniqueMember: i32 = 888;
3319pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3320pub const NID_houseIdentifier: i32 = 889;
3321pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3322pub const NID_supportedAlgorithms: i32 = 890;
3323pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3324pub const NID_deltaRevocationList: i32 = 891;
3325pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3326pub const NID_dmdName: i32 = 892;
3327pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3328pub const NID_id_alg_PWRI_KEK: i32 = 893;
3329pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3330pub const LN_cmac: &[u8; 5] = b"cmac\0";
3331pub const NID_cmac: i32 = 894;
3332pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3333pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3334pub const NID_aes_128_gcm: i32 = 895;
3335pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3336pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3337pub const NID_aes_128_ccm: i32 = 896;
3338pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3339pub const NID_id_aes128_wrap_pad: i32 = 897;
3340pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3341pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3342pub const NID_aes_192_gcm: i32 = 898;
3343pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3344pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3345pub const NID_aes_192_ccm: i32 = 899;
3346pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3347pub const NID_id_aes192_wrap_pad: i32 = 900;
3348pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3349pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3350pub const NID_aes_256_gcm: i32 = 901;
3351pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3352pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3353pub const NID_aes_256_ccm: i32 = 902;
3354pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3355pub const NID_id_aes256_wrap_pad: i32 = 903;
3356pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3357pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3358pub const NID_aes_128_ctr: i32 = 904;
3359pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3360pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3361pub const NID_aes_192_ctr: i32 = 905;
3362pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3363pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3364pub const NID_aes_256_ctr: i32 = 906;
3365pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3366pub const NID_id_camellia128_wrap: i32 = 907;
3367pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3368pub const NID_id_camellia192_wrap: i32 = 908;
3369pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3370pub const NID_id_camellia256_wrap: i32 = 909;
3371pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3372pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3373pub const NID_anyExtendedKeyUsage: i32 = 910;
3374pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3375pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3376pub const NID_mgf1: i32 = 911;
3377pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3378pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3379pub const NID_rsassaPss: i32 = 912;
3380pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3381pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3382pub const NID_aes_128_xts: i32 = 913;
3383pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3384pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3385pub const NID_aes_256_xts: i32 = 914;
3386pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3387pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3388pub const NID_rc4_hmac_md5: i32 = 915;
3389pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3390pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3391pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3392pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3393pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3394pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3395pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3396pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3397pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3398pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3399pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3400pub const NID_rsaesOaep: i32 = 919;
3401pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3402pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3403pub const NID_dhpublicnumber: i32 = 920;
3404pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3405pub const NID_brainpoolP160r1: i32 = 921;
3406pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3407pub const NID_brainpoolP160t1: i32 = 922;
3408pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3409pub const NID_brainpoolP192r1: i32 = 923;
3410pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3411pub const NID_brainpoolP192t1: i32 = 924;
3412pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3413pub const NID_brainpoolP224r1: i32 = 925;
3414pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3415pub const NID_brainpoolP224t1: i32 = 926;
3416pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3417pub const NID_brainpoolP256r1: i32 = 927;
3418pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3419pub const NID_brainpoolP256t1: i32 = 928;
3420pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3421pub const NID_brainpoolP320r1: i32 = 929;
3422pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3423pub const NID_brainpoolP320t1: i32 = 930;
3424pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3425pub const NID_brainpoolP384r1: i32 = 931;
3426pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3427pub const NID_brainpoolP384t1: i32 = 932;
3428pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3429pub const NID_brainpoolP512r1: i32 = 933;
3430pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3431pub const NID_brainpoolP512t1: i32 = 934;
3432pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3433pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3434pub const NID_pSpecified: i32 = 935;
3435pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3436pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3437pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3438 b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3439pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3440pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3441 b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3442pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3443pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3444 b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3445pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3446pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3447 b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3448pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3449pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3450 b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3451pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3452pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3453 b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3454pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3455pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3456 b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3457pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3458pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3459 b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3460pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3461pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3462 b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3463pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3464pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3465pub const NID_dh_std_kdf: i32 = 946;
3466pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3467pub const NID_dh_cofactor_kdf: i32 = 947;
3468pub const SN_X25519: &[u8; 7] = b"X25519\0";
3469pub const NID_X25519: i32 = 948;
3470pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3471pub const NID_ED25519: i32 = 949;
3472pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3473pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3474pub const NID_chacha20_poly1305: i32 = 950;
3475pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3476pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3477pub const NID_kx_rsa: i32 = 951;
3478pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3479pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3480pub const NID_kx_ecdhe: i32 = 952;
3481pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3482pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3483pub const NID_kx_psk: i32 = 953;
3484pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3485pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3486pub const NID_auth_rsa: i32 = 954;
3487pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3488pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3489pub const NID_auth_ecdsa: i32 = 955;
3490pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3491pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3492pub const NID_auth_psk: i32 = 956;
3493pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3494pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3495pub const NID_kx_any: i32 = 957;
3496pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3497pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3498pub const NID_auth_any: i32 = 958;
3499pub const SN_ED448: &[u8; 6] = b"ED448\0";
3500pub const NID_ED448: i32 = 960;
3501pub const SN_X448: &[u8; 5] = b"X448\0";
3502pub const NID_X448: i32 = 961;
3503pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3504pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3505pub const NID_sha512_256: i32 = 962;
3506pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3507pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3508pub const NID_hkdf: i32 = 963;
3509pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3510pub const NID_X25519Kyber768Draft00: i32 = 964;
3511pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3512pub const NID_X25519MLKEM768: i32 = 965;
3513pub const SN_ML_KEM_1024: &[u8; 19] = b"id-alg-ml-kem-1024\0";
3514pub const LN_ML_KEM_1024: &[u8; 12] = b"ML-KEM-1024\0";
3515pub const NID_ML_KEM_1024: i32 = 966;
3516pub const SN_ML_DSA_44: &[u8; 13] = b"id-ml-dsa-44\0";
3517pub const LN_ML_DSA_44: &[u8; 10] = b"ML-DSA-44\0";
3518pub const NID_ML_DSA_44: i32 = 967;
3519pub const SN_ML_DSA_65: &[u8; 13] = b"id-ml-dsa-65\0";
3520pub const LN_ML_DSA_65: &[u8; 10] = b"ML-DSA-65\0";
3521pub const NID_ML_DSA_65: i32 = 968;
3522pub const SN_ML_DSA_87: &[u8; 13] = b"id-ml-dsa-87\0";
3523pub const LN_ML_DSA_87: &[u8; 10] = b"ML-DSA-87\0";
3524pub const NID_ML_DSA_87: i32 = 969;
3525pub const SN_ML_KEM_768: &[u8; 18] = b"id-alg-ml-kem-768\0";
3526pub const LN_ML_KEM_768: &[u8; 11] = b"ML-KEM-768\0";
3527pub const NID_ML_KEM_768: i32 = 970;
3528pub const SN_X_Wing: &[u8; 7] = b"X-Wing\0";
3529pub const NID_X_Wing: i32 = 972;
3530pub const SN_alg_mtcProof_draft: &[u8; 19] = b"alg-mtcProof-draft\0";
3531pub const NID_alg_mtcProof_draft: i32 = 976;
3532pub const SN_rdna_trustAnchorID_draft: &[u8; 25] = b"rdna-trustAnchorID-draft\0";
3533pub const NID_rdna_trustAnchorID_draft: i32 = 977;
3534pub const SN_pe_mtcCertificationAuthority_draft: &[u8; 35] =
3535 b"pe-mtcCertificationAuthority-draft\0";
3536pub const NID_pe_mtcCertificationAuthority_draft: i32 = 978;
3537pub const EVP_PKEY_NONE: i32 = 0;
3538pub const EVP_PKEY_RSA: i32 = 6;
3539pub const EVP_PKEY_RSA_PSS: i32 = 912;
3540pub const EVP_PKEY_DSA: i32 = 116;
3541pub const EVP_PKEY_EC: i32 = 408;
3542pub const EVP_PKEY_ED25519: i32 = 949;
3543pub const EVP_PKEY_X25519: i32 = 948;
3544pub const EVP_PKEY_HKDF: i32 = 963;
3545pub const EVP_PKEY_DH: i32 = 28;
3546pub const EVP_PKEY_ML_DSA_44: i32 = 967;
3547pub const EVP_PKEY_ML_DSA_65: i32 = 968;
3548pub const EVP_PKEY_ML_DSA_87: i32 = 969;
3549pub const EVP_PKEY_ML_KEM_768: i32 = 970;
3550pub const EVP_PKEY_ML_KEM_1024: i32 = 966;
3551pub const EVP_PKEY_XWING: i32 = 972;
3552pub const EVP_PKEY_RSA2: i32 = 19;
3553pub const EVP_PKEY_X448: i32 = 961;
3554pub const EVP_PKEY_ED448: i32 = 960;
3555pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3556pub const EVP_HPKE_DHKEM_P256_HKDF_SHA256: i32 = 16;
3557pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3558pub const EVP_HPKE_XWING: i32 = 25722;
3559pub const EVP_HPKE_MLKEM768: i32 = 65;
3560pub const EVP_HPKE_MLKEM1024: i32 = 66;
3561pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 1568;
3562pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 64;
3563pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 1568;
3564pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3565pub const EVP_HPKE_HKDF_SHA384: i32 = 2;
3566pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3567pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3568pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3569pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3570pub const HRSS_SAMPLE_BYTES: i32 = 700;
3571pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3572pub const HRSS_ENCAP_BYTES: i32 = 1400;
3573pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3574pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3575pub const HRSS_KEY_BYTES: i32 = 32;
3576pub const HRSS_POLY3_BYTES: i32 = 140;
3577pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3578pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3579pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3580pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3581pub const MD4_CBLOCK: i32 = 64;
3582pub const MD4_DIGEST_LENGTH: i32 = 16;
3583pub const MD5_CBLOCK: i32 = 64;
3584pub const MD5_DIGEST_LENGTH: i32 = 16;
3585pub const MLDSA_SEED_BYTES: i32 = 32;
3586pub const MLDSA_MU_BYTES: i32 = 64;
3587pub const MLDSA65_PUBLIC_KEY_BYTES: i32 = 1952;
3588pub const MLDSA65_SIGNATURE_BYTES: i32 = 3309;
3589pub const MLDSA87_PUBLIC_KEY_BYTES: i32 = 2592;
3590pub const MLDSA87_SIGNATURE_BYTES: i32 = 4627;
3591pub const MLDSA44_PUBLIC_KEY_BYTES: i32 = 1312;
3592pub const MLDSA44_SIGNATURE_BYTES: i32 = 2420;
3593pub const MLKEM768_PUBLIC_KEY_BYTES: i32 = 1184;
3594pub const MLKEM_SEED_BYTES: i32 = 64;
3595pub const MLKEM768_CIPHERTEXT_BYTES: i32 = 1088;
3596pub const MLKEM_SHARED_SECRET_BYTES: i32 = 32;
3597pub const MLKEM1024_PUBLIC_KEY_BYTES: i32 = 1568;
3598pub const MLKEM1024_CIPHERTEXT_BYTES: i32 = 1568;
3599pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3600pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3601pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3602pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3603pub const PKCS7_DETACHED: i32 = 64;
3604pub const PKCS7_TEXT: i32 = 1;
3605pub const PKCS7_NOCERTS: i32 = 2;
3606pub const PKCS7_NOSIGS: i32 = 4;
3607pub const PKCS7_NOCHAIN: i32 = 8;
3608pub const PKCS7_NOINTERN: i32 = 16;
3609pub const PKCS7_NOVERIFY: i32 = 32;
3610pub const PKCS7_BINARY: i32 = 128;
3611pub const PKCS7_NOATTR: i32 = 256;
3612pub const PKCS7_NOSMIMECAP: i32 = 512;
3613pub const PKCS7_STREAM: i32 = 4096;
3614pub const PKCS7_PARTIAL: i32 = 16384;
3615pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3616pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3617pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3618pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3619pub const OPENSSL_RSA_MAX_MODULUS_BITS: i32 = 16384;
3620pub const RSA_PKCS1_PADDING: i32 = 1;
3621pub const RSA_NO_PADDING: i32 = 3;
3622pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3623pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3624pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3625pub const RSA_PSS_SALTLEN_AUTO: i32 = -2;
3626pub const RSA_FLAG_OPAQUE: i32 = 1;
3627pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3628pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3629pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3630pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3631pub const RSA_3: i32 = 3;
3632pub const RSA_F4: i32 = 65537;
3633pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3634pub const RSA_R_BAD_ENCODING: i32 = 100;
3635pub const RSA_R_BAD_E_VALUE: i32 = 101;
3636pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3637pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3638pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3639pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3640pub const RSA_R_BAD_VERSION: i32 = 106;
3641pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3642pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3643pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3644pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3645pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3646pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3647pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3648pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3649pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3650pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3651pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3652pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3653pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3654pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3655pub const RSA_R_ENCODE_ERROR: i32 = 121;
3656pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3657pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3658pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3659pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3660pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3661pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3662pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3663pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3664pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3665pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3666pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3667pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3668pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3669pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3670pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3671pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3672pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3673pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3674pub const RSA_R_TOO_LONG: i32 = 140;
3675pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3676pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3677pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3678pub const RSA_R_VALUE_MISSING: i32 = 144;
3679pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3680pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3681pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3682pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3683pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3684pub const X509V3_R_BAD_OBJECT: i32 = 101;
3685pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3686pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3687pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3688pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3689pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3690pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3691pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3692pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3693pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3694pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3695pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3696pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3697pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3698pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3699pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3700pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3701pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3702pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3703pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3704pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3705pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3706pub const X509V3_R_INVALID_NAME: i32 = 123;
3707pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3708pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3709pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3710pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3711pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3712pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3713pub const X509V3_R_INVALID_OPTION: i32 = 130;
3714pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3715pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3716pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3717pub const X509V3_R_INVALID_SECTION: i32 = 134;
3718pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3719pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3720pub const X509V3_R_MISSING_VALUE: i32 = 137;
3721pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3722pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3723pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3724pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3725pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3726pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3727pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3728pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3729pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3730pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3731pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3732pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3733pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3734pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3735pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3736pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3737pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3738pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3739pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3740pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3741pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3742pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3743pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3744pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3745pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3746pub const X509V3_R_INVALID_VALUE: i32 = 163;
3747pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3748pub const X509_VERSION_1: i32 = 0;
3749pub const X509_VERSION_2: i32 = 1;
3750pub const X509_VERSION_3: i32 = 2;
3751pub const EXFLAG_BCONS: i32 = 1;
3752pub const EXFLAG_KUSAGE: i32 = 2;
3753pub const EXFLAG_XKUSAGE: i32 = 4;
3754pub const EXFLAG_CA: i32 = 16;
3755pub const EXFLAG_SI: i32 = 32;
3756pub const EXFLAG_V1: i32 = 64;
3757pub const EXFLAG_INVALID: i32 = 128;
3758pub const EXFLAG_SET: i32 = 256;
3759pub const EXFLAG_CRITICAL: i32 = 512;
3760pub const EXFLAG_SS: i32 = 8192;
3761pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3762pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3763pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3764pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3765pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3766pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3767pub const X509v3_KU_CRL_SIGN: i32 = 2;
3768pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3769pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3770pub const XKU_SSL_SERVER: i32 = 1;
3771pub const XKU_SSL_CLIENT: i32 = 2;
3772pub const XKU_SMIME: i32 = 4;
3773pub const XKU_CODE_SIGN: i32 = 8;
3774pub const XKU_SGC: i32 = 16;
3775pub const XKU_OCSP_SIGN: i32 = 32;
3776pub const XKU_TIMESTAMP: i32 = 64;
3777pub const XKU_DVCS: i32 = 128;
3778pub const XKU_ANYEKU: i32 = 256;
3779pub const X509_CRL_VERSION_1: i32 = 0;
3780pub const X509_CRL_VERSION_2: i32 = 1;
3781pub const X509_REQ_VERSION_1: i32 = 0;
3782pub const X509V3_ADD_OP_MASK: i32 = 15;
3783pub const X509V3_ADD_DEFAULT: i32 = 0;
3784pub const X509V3_ADD_APPEND: i32 = 1;
3785pub const X509V3_ADD_REPLACE: i32 = 2;
3786pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3787pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3788pub const X509V3_ADD_DELETE: i32 = 5;
3789pub const X509V3_ADD_SILENT: i32 = 16;
3790pub const GEN_OTHERNAME: i32 = 0;
3791pub const GEN_EMAIL: i32 = 1;
3792pub const GEN_DNS: i32 = 2;
3793pub const GEN_X400: i32 = 3;
3794pub const GEN_DIRNAME: i32 = 4;
3795pub const GEN_EDIPARTY: i32 = 5;
3796pub const GEN_URI: i32 = 6;
3797pub const GEN_IPADD: i32 = 7;
3798pub const GEN_RID: i32 = 8;
3799pub const X509_LU_NONE: i32 = 0;
3800pub const X509_LU_X509: i32 = 1;
3801pub const X509_LU_CRL: i32 = 2;
3802pub const X509_LU_PKEY: i32 = 3;
3803pub const X509_V_OK: i32 = 0;
3804pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3805pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3806pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3807pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3808pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3809pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3810pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3811pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3812pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3813pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3814pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3815pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3816pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3817pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3818pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3819pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3820pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3821pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3822pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3823pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3824pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3825pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3826pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3827pub const X509_V_ERR_INVALID_CA: i32 = 24;
3828pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3829pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3830pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3831pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3832pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3833pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3834pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3835pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3836pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3837pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3838pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3839pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3840pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3841pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3842pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3843pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3844pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3845pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3846pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3847pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3848pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3849pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3850pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3851pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3852pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3853pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3854pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3855pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3856pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3857pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3858pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3859pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3860pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3861pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3862pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3863pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3864pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3865pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3866pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3867pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3868pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3869pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3870pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3871pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3872pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3873pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3874pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3875pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3876pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3877pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3878pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3879pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 0;
3880pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3881pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 0;
3882pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3883pub const X509_V_FLAG_ALLOW_TIMEZONE_OFFSET: i32 = 16777216;
3884pub const X509_V_FLAG_USE_MTC_DRAFT_PLANTS_05: i32 = 4194304;
3885pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3886pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3887pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3888pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3889pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3890pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3891pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3892pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3893pub const X509_PURPOSE_ANY: i32 = 7;
3894pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3895pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3896pub const X509_TRUST_COMPAT: i32 = 1;
3897pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3898pub const X509_TRUST_SSL_SERVER: i32 = 3;
3899pub const X509_TRUST_EMAIL: i32 = 4;
3900pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3901pub const X509_TRUST_TSA: i32 = 8;
3902pub const X509_FILETYPE_PEM: i32 = 1;
3903pub const X509_FILETYPE_ASN1: i32 = 2;
3904pub const X509_FILETYPE_DEFAULT: i32 = 3;
3905pub const X509_L_FILE_LOAD: i32 = 1;
3906pub const X509_L_ADD_DIR: i32 = 2;
3907pub const X509_FLAG_COMPAT: i32 = 0;
3908pub const X509_FLAG_NO_HEADER: i32 = 1;
3909pub const X509_FLAG_NO_VERSION: i32 = 2;
3910pub const X509_FLAG_NO_SERIAL: i32 = 4;
3911pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3912pub const X509_FLAG_NO_ISSUER: i32 = 16;
3913pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3914pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3915pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3916pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3917pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3918pub const X509_FLAG_NO_AUX: i32 = 1024;
3919pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3920pub const X509_FLAG_NO_IDS: i32 = 4096;
3921pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3922pub const X509V3_EXT_DEFAULT: i32 = 0;
3923pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3924pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3925pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3926pub const XN_FLAG_COMPAT: i32 = 0;
3927pub const XN_FLAG_SEP_MASK: i32 = 983040;
3928pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3929pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3930pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3931pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3932pub const XN_FLAG_DN_REV: i32 = 1048576;
3933pub const XN_FLAG_FN_MASK: i32 = 6291456;
3934pub const XN_FLAG_FN_SN: i32 = 0;
3935pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3936pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3937pub const XN_FLAG_RFC2253: i32 = 17892119;
3938pub const XN_FLAG_ONELINE: i32 = 8520479;
3939pub const X509_TRUST_TRUSTED: i32 = 1;
3940pub const X509_TRUST_REJECTED: i32 = 2;
3941pub const X509_TRUST_UNTRUSTED: i32 = 3;
3942pub const X509V3_EXT_MULTILINE: i32 = 4;
3943pub const X509V3_CTX_TEST: i32 = 1;
3944pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3945pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3946pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3947pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3948pub const NS_SSL_CLIENT: i32 = 128;
3949pub const NS_SSL_SERVER: i32 = 64;
3950pub const NS_SMIME: i32 = 32;
3951pub const NS_OBJSIGN: i32 = 16;
3952pub const NS_SSL_CA: i32 = 4;
3953pub const NS_SMIME_CA: i32 = 2;
3954pub const NS_OBJSIGN_CA: i32 = 1;
3955pub const NS_ANY_CA: i32 = 7;
3956pub const X509_R_AKID_MISMATCH: i32 = 100;
3957pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3958pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3959pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3960pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3961pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3962pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3963pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3964pub const X509_R_IDP_MISMATCH: i32 = 108;
3965pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3966pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3967pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3968pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3969pub const X509_R_INVALID_TRUST: i32 = 113;
3970pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3971pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3972pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3973pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3974pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3975pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3976pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3977pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3978pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3979pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3980pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3981pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3982pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3983pub const X509_R_SHOULD_RETRY: i32 = 127;
3984pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3985pub const X509_R_UNKNOWN_NID: i32 = 129;
3986pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3987pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3988pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3989pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3990pub const X509_R_WRONG_TYPE: i32 = 134;
3991pub const X509_R_NAME_TOO_LONG: i32 = 135;
3992pub const X509_R_INVALID_PARAMETER: i32 = 136;
3993pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3994pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3995pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3996pub const X509_R_INVALID_VERSION: i32 = 140;
3997pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3998pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3999pub const X509_R_NO_CRL_FOUND: i32 = 143;
4000pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
4001pub const X509_R_INVALID_MTC_CA: i32 = 145;
4002pub const X509_R_INVALID_MTC_PROOF: i32 = 146;
4003pub const PEM_BUFSIZE: i32 = 1024;
4004pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
4005pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
4006pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
4007pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
4008pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
4009pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
4010pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
4011pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
4012pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
4013pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
4014pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
4015pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
4016pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
4017pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
4018pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
4019pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
4020pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
4021pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
4022pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
4023pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
4024pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
4025pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
4026pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
4027pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
4028pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
4029pub const PEM_R_BAD_DECRYPT: i32 = 101;
4030pub const PEM_R_BAD_END_LINE: i32 = 102;
4031pub const PEM_R_BAD_IV_CHARS: i32 = 103;
4032pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
4033pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
4034pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
4035pub const PEM_R_NOT_DEK_INFO: i32 = 107;
4036pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
4037pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
4038pub const PEM_R_NO_START_LINE: i32 = 110;
4039pub const PEM_R_READ_KEY: i32 = 111;
4040pub const PEM_R_SHORT_HEADER: i32 = 112;
4041pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4042pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4043pub const PEM_R_UNSUPPORTED_PROC_TYPE_VERSION: i32 = 115;
4044pub const PEM_R_NO_DATA: i32 = 116;
4045pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4046pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4047pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4048pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4049pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4050pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4051pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4052pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4053pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4054pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4055pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4056pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4057pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4058pub const PKCS8_R_MISSING_MAC: i32 = 112;
4059pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4060pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4061pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4062pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4063pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4064pub const PKCS8_R_TOO_LONG: i32 = 118;
4065pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4066pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4067pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4068pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4069pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4070pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4071pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4072pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4073pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4074pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4075pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4076pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4077pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4078pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4079pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4080pub const RIPEMD160_CBLOCK: i32 = 64;
4081pub const RIPEMD160_LBLOCK: i32 = 16;
4082pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4083pub const SLHDSA_SHA2_128S_SEED_BYTES: i32 = 48;
4084pub const SLHDSA_SHA2_128S_PUBLIC_KEY_BYTES: i32 = 32;
4085pub const SLHDSA_SHA2_128S_PRIVATE_KEY_BYTES: i32 = 64;
4086pub const SLHDSA_SHA2_128S_SIGNATURE_BYTES: i32 = 7856;
4087pub const SLHDSA_SHAKE_256F_SEED_BYTES: i32 = 96;
4088pub const SLHDSA_SHAKE_256F_PUBLIC_KEY_BYTES: i32 = 64;
4089pub const SLHDSA_SHAKE_256F_PRIVATE_KEY_BYTES: i32 = 128;
4090pub const SLHDSA_SHAKE_256F_SIGNATURE_BYTES: i32 = 49856;
4091pub const SSL2_MT_CLIENT_HELLO: i32 = 1;
4092pub const SSL2_VERSION: i32 = 2;
4093pub const SSL3_CK_RSA_DES_192_CBC3_SHA: i32 = 50331658;
4094pub const SSL3_CK_SCSV: i32 = 50331903;
4095pub const SSL3_CK_FALLBACK_SCSV: i32 = 50353664;
4096pub const SSL3_TXT_RSA_DES_192_CBC3_SHA: &[u8; 13] = b"DES-CBC3-SHA\0";
4097pub const SSL3_SSL_SESSION_ID_LENGTH: i32 = 32;
4098pub const SSL3_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4099pub const SSL3_MASTER_SECRET_SIZE: i32 = 48;
4100pub const SSL3_RANDOM_SIZE: i32 = 32;
4101pub const SSL3_SESSION_ID_SIZE: i32 = 32;
4102pub const SSL3_RT_HEADER_LENGTH: i32 = 5;
4103pub const SSL3_HM_HEADER_LENGTH: i32 = 4;
4104pub const SSL3_ALIGN_PAYLOAD: i32 = 8;
4105pub const SSL3_RT_MAX_MD_SIZE: i32 = 64;
4106pub const SSL_RT_MAX_CIPHER_BLOCK_SIZE: i32 = 16;
4107pub const SSL3_RT_MAX_PLAIN_LENGTH: i32 = 16384;
4108pub const SSL3_RT_MAX_COMPRESSED_OVERHEAD: i32 = 1024;
4109pub const SSL3_RT_MAX_ENCRYPTED_OVERHEAD: i32 = 320;
4110pub const SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD: i32 = 88;
4111pub const SSL3_RT_MAX_COMPRESSED_LENGTH: i32 = 16384;
4112pub const SSL3_RT_MAX_ENCRYPTED_LENGTH: i32 = 16704;
4113pub const SSL3_RT_MAX_PACKET_SIZE: i32 = 16709;
4114pub const SSL3_RT_CHANGE_CIPHER_SPEC: i32 = 20;
4115pub const SSL3_RT_ALERT: i32 = 21;
4116pub const SSL3_RT_HANDSHAKE: i32 = 22;
4117pub const SSL3_RT_APPLICATION_DATA: i32 = 23;
4118pub const SSL3_RT_ACK: i32 = 26;
4119pub const SSL3_RT_HEADER: i32 = 256;
4120pub const SSL3_RT_CLIENT_HELLO_INNER: i32 = 257;
4121pub const SSL3_AL_WARNING: i32 = 1;
4122pub const SSL3_AL_FATAL: i32 = 2;
4123pub const SSL3_AD_CLOSE_NOTIFY: i32 = 0;
4124pub const SSL3_AD_UNEXPECTED_MESSAGE: i32 = 10;
4125pub const SSL3_AD_BAD_RECORD_MAC: i32 = 20;
4126pub const SSL3_AD_DECOMPRESSION_FAILURE: i32 = 30;
4127pub const SSL3_AD_HANDSHAKE_FAILURE: i32 = 40;
4128pub const SSL3_AD_NO_CERTIFICATE: i32 = 41;
4129pub const SSL3_AD_BAD_CERTIFICATE: i32 = 42;
4130pub const SSL3_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4131pub const SSL3_AD_CERTIFICATE_REVOKED: i32 = 44;
4132pub const SSL3_AD_CERTIFICATE_EXPIRED: i32 = 45;
4133pub const SSL3_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4134pub const SSL3_AD_ILLEGAL_PARAMETER: i32 = 47;
4135pub const SSL3_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4136pub const SSL3_CT_RSA_SIGN: i32 = 1;
4137pub const SSL3_MT_HELLO_REQUEST: i32 = 0;
4138pub const SSL3_MT_CLIENT_HELLO: i32 = 1;
4139pub const SSL3_MT_SERVER_HELLO: i32 = 2;
4140pub const SSL3_MT_NEW_SESSION_TICKET: i32 = 4;
4141pub const SSL3_MT_END_OF_EARLY_DATA: i32 = 5;
4142pub const SSL3_MT_ENCRYPTED_EXTENSIONS: i32 = 8;
4143pub const SSL3_MT_CERTIFICATE: i32 = 11;
4144pub const SSL3_MT_SERVER_KEY_EXCHANGE: i32 = 12;
4145pub const SSL3_MT_CERTIFICATE_REQUEST: i32 = 13;
4146pub const SSL3_MT_SERVER_HELLO_DONE: i32 = 14;
4147pub const SSL3_MT_CERTIFICATE_VERIFY: i32 = 15;
4148pub const SSL3_MT_CLIENT_KEY_EXCHANGE: i32 = 16;
4149pub const SSL3_MT_FINISHED: i32 = 20;
4150pub const SSL3_MT_CERTIFICATE_STATUS: i32 = 22;
4151pub const SSL3_MT_SUPPLEMENTAL_DATA: i32 = 23;
4152pub const SSL3_MT_KEY_UPDATE: i32 = 24;
4153pub const SSL3_MT_COMPRESSED_CERTIFICATE: i32 = 25;
4154pub const SSL3_MT_NEXT_PROTO: i32 = 67;
4155pub const SSL3_MT_CHANNEL_ID: i32 = 203;
4156pub const SSL3_MT_MESSAGE_HASH: i32 = 254;
4157pub const DTLS1_MT_HELLO_VERIFY_REQUEST: i32 = 3;
4158pub const SSL3_MT_SERVER_DONE: i32 = 14;
4159pub const SSL3_MT_NEWSESSION_TICKET: i32 = 4;
4160pub const SSL3_MT_CCS: i32 = 1;
4161pub const TLS1_AD_END_OF_EARLY_DATA: i32 = 1;
4162pub const TLS1_AD_DECRYPTION_FAILED: i32 = 21;
4163pub const TLS1_AD_RECORD_OVERFLOW: i32 = 22;
4164pub const TLS1_AD_UNKNOWN_CA: i32 = 48;
4165pub const TLS1_AD_ACCESS_DENIED: i32 = 49;
4166pub const TLS1_AD_DECODE_ERROR: i32 = 50;
4167pub const TLS1_AD_DECRYPT_ERROR: i32 = 51;
4168pub const TLS1_AD_EXPORT_RESTRICTION: i32 = 60;
4169pub const TLS1_AD_PROTOCOL_VERSION: i32 = 70;
4170pub const TLS1_AD_INSUFFICIENT_SECURITY: i32 = 71;
4171pub const TLS1_AD_INTERNAL_ERROR: i32 = 80;
4172pub const TLS1_AD_USER_CANCELLED: i32 = 90;
4173pub const TLS1_AD_NO_RENEGOTIATION: i32 = 100;
4174pub const TLS1_AD_MISSING_EXTENSION: i32 = 109;
4175pub const TLS1_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4176pub const TLS1_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4177pub const TLS1_AD_UNRECOGNIZED_NAME: i32 = 112;
4178pub const TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4179pub const TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4180pub const TLS1_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4181pub const TLS1_AD_CERTIFICATE_REQUIRED: i32 = 116;
4182pub const TLS1_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4183pub const TLS1_AD_ECH_REQUIRED: i32 = 121;
4184pub const TLSEXT_TYPE_server_name: i32 = 0;
4185pub const TLSEXT_TYPE_status_request: i32 = 5;
4186pub const TLSEXT_TYPE_ec_point_formats: i32 = 11;
4187pub const TLSEXT_TYPE_signature_algorithms: i32 = 13;
4188pub const TLSEXT_TYPE_srtp: i32 = 14;
4189pub const TLSEXT_TYPE_application_layer_protocol_negotiation: i32 = 16;
4190pub const TLSEXT_TYPE_client_cert_type: i32 = 19;
4191pub const TLSEXT_TYPE_server_cert_type: i32 = 20;
4192pub const TLSEXT_TYPE_padding: i32 = 21;
4193pub const TLSEXT_TYPE_extended_master_secret: i32 = 23;
4194pub const TLSEXT_TYPE_quic_transport_parameters_legacy: i32 = 65445;
4195pub const TLSEXT_TYPE_quic_transport_parameters: i32 = 57;
4196pub const TLSEXT_TYPE_quic_transport_parameters_standard: i32 = 57;
4197pub const TLSEXT_TYPE_cert_compression: i32 = 27;
4198pub const TLSEXT_TYPE_session_ticket: i32 = 35;
4199pub const TLSEXT_TYPE_supported_groups: i32 = 10;
4200pub const TLSEXT_TYPE_pre_shared_key: i32 = 41;
4201pub const TLSEXT_TYPE_early_data: i32 = 42;
4202pub const TLSEXT_TYPE_supported_versions: i32 = 43;
4203pub const TLSEXT_TYPE_cookie: i32 = 44;
4204pub const TLSEXT_TYPE_psk_key_exchange_modes: i32 = 45;
4205pub const TLSEXT_TYPE_certificate_authorities: i32 = 47;
4206pub const TLSEXT_TYPE_signature_algorithms_cert: i32 = 50;
4207pub const TLSEXT_TYPE_key_share: i32 = 51;
4208pub const TLSEXT_TYPE_renegotiate: i32 = 65281;
4209pub const TLSEXT_TYPE_delegated_credential: i32 = 34;
4210pub const TLSEXT_TYPE_application_settings_old: i32 = 17513;
4211pub const TLSEXT_TYPE_application_settings: i32 = 17613;
4212pub const TLSEXT_TYPE_encrypted_client_hello: i32 = 65037;
4213pub const TLSEXT_TYPE_ech_outer_extensions: i32 = 64768;
4214pub const TLSEXT_TYPE_pake: i32 = 35387;
4215pub const TLSEXT_TYPE_certificate_timestamp: i32 = 18;
4216pub const TLSEXT_TYPE_next_proto_neg: i32 = 13172;
4217pub const TLSEXT_TYPE_channel_id: i32 = 30032;
4218pub const TLSEXT_TYPE_trust_anchors: i32 = 51764;
4219pub const TLSEXT_TYPE_server_padding: i32 = 4832;
4220pub const TLSEXT_TYPE_tls_flags: i32 = 62;
4221pub const TLSEXT_STATUSTYPE_nothing: i32 = -1;
4222pub const TLSEXT_STATUSTYPE_ocsp: i32 = 1;
4223pub const TLSEXT_ECPOINTFORMAT_uncompressed: i32 = 0;
4224pub const TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime: i32 = 1;
4225pub const TLSEXT_signature_anonymous: i32 = 0;
4226pub const TLSEXT_signature_rsa: i32 = 1;
4227pub const TLSEXT_signature_dsa: i32 = 2;
4228pub const TLSEXT_signature_ecdsa: i32 = 3;
4229pub const TLSEXT_hash_none: i32 = 0;
4230pub const TLSEXT_hash_md5: i32 = 1;
4231pub const TLSEXT_hash_sha1: i32 = 2;
4232pub const TLSEXT_hash_sha224: i32 = 3;
4233pub const TLSEXT_hash_sha256: i32 = 4;
4234pub const TLSEXT_hash_sha384: i32 = 5;
4235pub const TLSEXT_hash_sha512: i32 = 6;
4236pub const TLSEXT_cert_compression_zlib: i32 = 1;
4237pub const TLSEXT_cert_compression_brotli: i32 = 2;
4238pub const TLSEXT_MAXLEN_host_name: i32 = 255;
4239pub const TLS1_CK_PSK_WITH_AES_128_CBC_SHA: i32 = 50331788;
4240pub const TLS1_CK_PSK_WITH_AES_256_CBC_SHA: i32 = 50331789;
4241pub const TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 50380853;
4242pub const TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 50380854;
4243pub const TLS1_CK_RSA_WITH_AES_128_SHA: i32 = 50331695;
4244pub const TLS1_CK_RSA_WITH_AES_256_SHA: i32 = 50331701;
4245pub const TLS1_CK_RSA_WITH_AES_128_GCM_SHA256: i32 = 50331804;
4246pub const TLS1_CK_RSA_WITH_AES_256_GCM_SHA384: i32 = 50331805;
4247pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 50380809;
4248pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 50380810;
4249pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 50380819;
4250pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 50380820;
4251pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 50380835;
4252pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 50380839;
4253pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 50380843;
4254pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 50380844;
4255pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 50380847;
4256pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 50380848;
4257pub const TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384040;
4258pub const TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384041;
4259pub const TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384044;
4260pub const TLS1_3_CK_AES_128_GCM_SHA256: i32 = 50336513;
4261pub const TLS1_3_CK_AES_256_GCM_SHA384: i32 = 50336514;
4262pub const TLS1_3_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4263pub const TLS1_CK_AES_128_GCM_SHA256: i32 = 50336513;
4264pub const TLS1_CK_AES_256_GCM_SHA384: i32 = 50336514;
4265pub const TLS1_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4266pub const TLS1_TXT_PSK_WITH_AES_128_CBC_SHA: &[u8; 19] = b"PSK-AES128-CBC-SHA\0";
4267pub const TLS1_TXT_PSK_WITH_AES_256_CBC_SHA: &[u8; 19] = b"PSK-AES256-CBC-SHA\0";
4268pub const TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES128-CBC-SHA\0";
4269pub const TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES256-CBC-SHA\0";
4270pub const TLS1_TXT_RSA_WITH_AES_128_SHA: &[u8; 11] = b"AES128-SHA\0";
4271pub const TLS1_TXT_RSA_WITH_AES_256_SHA: &[u8; 11] = b"AES256-SHA\0";
4272pub const TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256: &[u8; 18] = b"AES128-GCM-SHA256\0";
4273pub const TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384: &[u8; 18] = b"AES256-GCM-SHA384\0";
4274pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES128-SHA\0";
4275pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES256-SHA\0";
4276pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES128-SHA\0";
4277pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES256-SHA\0";
4278pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: &[u8; 26] = b"ECDHE-ECDSA-AES128-SHA256\0";
4279pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA256: &[u8; 24] = b"ECDHE-RSA-AES128-SHA256\0";
4280pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: &[u8; 30] =
4281 b"ECDHE-ECDSA-AES128-GCM-SHA256\0";
4282pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: &[u8; 30] =
4283 b"ECDHE-ECDSA-AES256-GCM-SHA384\0";
4284pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256: &[u8; 28] = b"ECDHE-RSA-AES128-GCM-SHA256\0";
4285pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384: &[u8; 28] = b"ECDHE-RSA-AES256-GCM-SHA384\0";
4286pub const TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4287 b"ECDHE-RSA-CHACHA20-POLY1305\0";
4288pub const TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 30] =
4289 b"ECDHE-ECDSA-CHACHA20-POLY1305\0";
4290pub const TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4291 b"ECDHE-PSK-CHACHA20-POLY1305\0";
4292pub const TLS1_3_RFC_AES_128_GCM_SHA256: &[u8; 23] = b"TLS_AES_128_GCM_SHA256\0";
4293pub const TLS1_3_RFC_AES_256_GCM_SHA384: &[u8; 23] = b"TLS_AES_256_GCM_SHA384\0";
4294pub const TLS1_3_RFC_CHACHA20_POLY1305_SHA256: &[u8; 29] = b"TLS_CHACHA20_POLY1305_SHA256\0";
4295pub const TLS_CT_RSA_SIGN: i32 = 1;
4296pub const TLS_CT_DSS_SIGN: i32 = 2;
4297pub const TLS_CT_RSA_FIXED_DH: i32 = 3;
4298pub const TLS_CT_DSS_FIXED_DH: i32 = 4;
4299pub const TLS_CT_ECDSA_SIGN: i32 = 64;
4300pub const TLS_CT_RSA_FIXED_ECDH: i32 = 65;
4301pub const TLS_CT_ECDSA_FIXED_ECDH: i32 = 66;
4302pub const SSL_KEY_UPDATE_REQUESTED: i32 = 1;
4303pub const SSL_KEY_UPDATE_NOT_REQUESTED: i32 = 0;
4304pub const SSL_ERROR_NONE: i32 = 0;
4305pub const SSL_ERROR_SSL: i32 = 1;
4306pub const SSL_ERROR_WANT_READ: i32 = 2;
4307pub const SSL_ERROR_WANT_WRITE: i32 = 3;
4308pub const SSL_ERROR_WANT_X509_LOOKUP: i32 = 4;
4309pub const SSL_ERROR_SYSCALL: i32 = 5;
4310pub const SSL_ERROR_ZERO_RETURN: i32 = 6;
4311pub const SSL_ERROR_WANT_CONNECT: i32 = 7;
4312pub const SSL_ERROR_WANT_ACCEPT: i32 = 8;
4313pub const SSL_ERROR_WANT_CHANNEL_ID_LOOKUP: i32 = 9;
4314pub const SSL_ERROR_PENDING_SESSION: i32 = 11;
4315pub const SSL_ERROR_PENDING_CERTIFICATE: i32 = 12;
4316pub const SSL_ERROR_WANT_PRIVATE_KEY_OPERATION: i32 = 13;
4317pub const SSL_ERROR_PENDING_TICKET: i32 = 14;
4318pub const SSL_ERROR_EARLY_DATA_REJECTED: i32 = 15;
4319pub const SSL_ERROR_WANT_CERTIFICATE_VERIFY: i32 = 16;
4320pub const SSL_ERROR_HANDOFF: i32 = 17;
4321pub const SSL_ERROR_HANDBACK: i32 = 18;
4322pub const SSL_ERROR_WANT_RENEGOTIATE: i32 = 19;
4323pub const SSL_ERROR_HANDSHAKE_HINTS_READY: i32 = 20;
4324pub const DTLS1_VERSION_MAJOR: i32 = 254;
4325pub const SSL3_VERSION_MAJOR: i32 = 3;
4326pub const SSL3_VERSION: i32 = 768;
4327pub const TLS1_VERSION: i32 = 769;
4328pub const TLS1_1_VERSION: i32 = 770;
4329pub const TLS1_2_VERSION: i32 = 771;
4330pub const TLS1_3_VERSION: i32 = 772;
4331pub const DTLS1_VERSION: i32 = 65279;
4332pub const DTLS1_2_VERSION: i32 = 65277;
4333pub const DTLS1_3_VERSION: i32 = 65276;
4334pub const SSL_OP_LEGACY_SERVER_CONNECT: i32 = 4;
4335pub const SSL_OP_NO_QUERY_MTU: i32 = 4096;
4336pub const SSL_OP_NO_TICKET: i32 = 16384;
4337pub const SSL_OP_CIPHER_SERVER_PREFERENCE: i32 = 4194304;
4338pub const SSL_OP_ALL: i32 = 4;
4339pub const SSL_OP_NO_TLSv1: i32 = 67108864;
4340pub const SSL_OP_NO_TLSv1_2: i32 = 134217728;
4341pub const SSL_OP_NO_TLSv1_1: i32 = 268435456;
4342pub const SSL_OP_NO_TLSv1_3: i32 = 536870912;
4343pub const SSL_OP_NO_DTLSv1: i32 = 67108864;
4344pub const SSL_OP_NO_DTLSv1_2: i32 = 134217728;
4345pub const SSL_MODE_ENABLE_PARTIAL_WRITE: i32 = 1;
4346pub const SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER: i32 = 2;
4347pub const SSL_MODE_NO_AUTO_CHAIN: i32 = 8;
4348pub const SSL_MODE_ENABLE_FALSE_START: i32 = 128;
4349pub const SSL_MODE_CBC_RECORD_SPLITTING: i32 = 256;
4350pub const SSL_MODE_NO_SESSION_CREATION: i32 = 512;
4351pub const SSL_MODE_SEND_FALLBACK_SCSV: i32 = 1024;
4352pub const SSL_SIGN_RSA_PKCS1_SHA1: i32 = 513;
4353pub const SSL_SIGN_RSA_PKCS1_SHA256: i32 = 1025;
4354pub const SSL_SIGN_RSA_PKCS1_SHA384: i32 = 1281;
4355pub const SSL_SIGN_RSA_PKCS1_SHA512: i32 = 1537;
4356pub const SSL_SIGN_ECDSA_SHA1: i32 = 515;
4357pub const SSL_SIGN_ECDSA_SECP256R1_SHA256: i32 = 1027;
4358pub const SSL_SIGN_ECDSA_SECP384R1_SHA384: i32 = 1283;
4359pub const SSL_SIGN_ECDSA_SECP521R1_SHA512: i32 = 1539;
4360pub const SSL_SIGN_RSA_PSS_RSAE_SHA256: i32 = 2052;
4361pub const SSL_SIGN_RSA_PSS_RSAE_SHA384: i32 = 2053;
4362pub const SSL_SIGN_RSA_PSS_RSAE_SHA512: i32 = 2054;
4363pub const SSL_SIGN_ED25519: i32 = 2055;
4364pub const SSL_SIGN_ML_DSA_44: i32 = 2308;
4365pub const SSL_SIGN_ML_DSA_65: i32 = 2309;
4366pub const SSL_SIGN_ML_DSA_87: i32 = 2310;
4367pub const SSL_SIGN_RSA_PKCS1_SHA256_LEGACY: i32 = 1056;
4368pub const SSL_SIGN_RSA_PKCS1_MD5_SHA1: i32 = 65281;
4369pub const SSL_FILETYPE_PEM: i32 = 1;
4370pub const SSL_FILETYPE_ASN1: i32 = 2;
4371pub const SSL_CIPHER_AES_128_GCM_SHA256: i32 = 4865;
4372pub const SSL_CIPHER_AES_256_GCM_SHA384: i32 = 4866;
4373pub const SSL_CIPHER_CHACHA20_POLY1305_SHA256: i32 = 4867;
4374pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 49195;
4375pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 49196;
4376pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 49199;
4377pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 49200;
4378pub const SSL_CIPHER_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52392;
4379pub const SSL_CIPHER_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52393;
4380pub const SSL_CIPHER_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 52396;
4381pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 49161;
4382pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 49162;
4383pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 49171;
4384pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 49172;
4385pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 49205;
4386pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 49206;
4387pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 49187;
4388pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 49191;
4389pub const SSL_CIPHER_RSA_WITH_AES_128_GCM_SHA256: i32 = 156;
4390pub const SSL_CIPHER_RSA_WITH_AES_256_GCM_SHA384: i32 = 157;
4391pub const SSL_CIPHER_RSA_WITH_AES_128_CBC_SHA: i32 = 47;
4392pub const SSL_CIPHER_RSA_WITH_AES_256_CBC_SHA: i32 = 53;
4393pub const SSL_CIPHER_PSK_WITH_AES_128_CBC_SHA: i32 = 140;
4394pub const SSL_CIPHER_PSK_WITH_AES_256_CBC_SHA: i32 = 141;
4395pub const SSL_CIPHER_RSA_WITH_3DES_EDE_CBC_SHA: i32 = 10;
4396pub const SSL_CIPHER_EMPTY_RENEGOTIATION_INFO_SCSV: i32 = 255;
4397pub const SSL_CIPHER_FALLBACK_SCSV: i32 = 22016;
4398pub const SSL_DEFAULT_CIPHER_LIST: &[u8; 4] = b"ALL\0";
4399pub const SSL_CIPHER_FLAG_EQUAL_PREFERENCE_WITH_NEXT: i32 = 1;
4400pub const SSL_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4401pub const SSL_MAX_MASTER_KEY_LENGTH: i32 = 48;
4402pub const SSL_SESS_CACHE_OFF: i32 = 0;
4403pub const SSL_SESS_CACHE_CLIENT: i32 = 1;
4404pub const SSL_SESS_CACHE_SERVER: i32 = 2;
4405pub const SSL_SESS_CACHE_BOTH: i32 = 3;
4406pub const SSL_SESS_CACHE_NO_AUTO_CLEAR: i32 = 128;
4407pub const SSL_SESS_CACHE_NO_INTERNAL_LOOKUP: i32 = 256;
4408pub const SSL_SESS_CACHE_NO_INTERNAL_STORE: i32 = 512;
4409pub const SSL_SESS_CACHE_NO_INTERNAL: i32 = 768;
4410pub const SSL_DEFAULT_SESSION_TIMEOUT: i32 = 7200;
4411pub const SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT: i32 = 172800;
4412pub const SSL_DEFAULT_SESSION_AUTH_TIMEOUT: i32 = 604800;
4413pub const SSL_MAX_SID_CTX_LENGTH: i32 = 32;
4414pub const SSL_SESSION_CACHE_MAX_SIZE_DEFAULT: i32 = 20480;
4415pub const SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL: i32 = 172800;
4416pub const SSL_TICKET_KEY_NAME_LEN: i32 = 16;
4417pub const SSL_GROUP_SECP256R1: i32 = 23;
4418pub const SSL_GROUP_SECP384R1: i32 = 24;
4419pub const SSL_GROUP_SECP521R1: i32 = 25;
4420pub const SSL_GROUP_X25519: i32 = 29;
4421pub const SSL_GROUP_X25519_MLKEM768: i32 = 4588;
4422pub const SSL_GROUP_MLKEM1024: i32 = 514;
4423pub const SSL_GROUP_FLAG_EQUAL_PREFERENCE_WITH_NEXT: i32 = 1;
4424pub const SSL_VERIFY_NONE: i32 = 0;
4425pub const SSL_VERIFY_PEER: i32 = 1;
4426pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: i32 = 2;
4427pub const TLSEXT_NAMETYPE_host_name: i32 = 0;
4428pub const SSL_TLSEXT_ERR_OK: i32 = 0;
4429pub const SSL_TLSEXT_ERR_ALERT_WARNING: i32 = 1;
4430pub const SSL_TLSEXT_ERR_ALERT_FATAL: i32 = 2;
4431pub const SSL_TLSEXT_ERR_NOACK: i32 = 3;
4432pub const OPENSSL_NPN_UNSUPPORTED: i32 = 0;
4433pub const OPENSSL_NPN_NEGOTIATED: i32 = 1;
4434pub const OPENSSL_NPN_NO_OVERLAP: i32 = 2;
4435pub const SRTP_AES128_CM_SHA1_80: i32 = 1;
4436pub const SRTP_AES128_CM_SHA1_32: i32 = 2;
4437pub const SRTP_AES128_F8_SHA1_80: i32 = 3;
4438pub const SRTP_AES128_F8_SHA1_32: i32 = 4;
4439pub const SRTP_NULL_SHA1_80: i32 = 5;
4440pub const SRTP_NULL_SHA1_32: i32 = 6;
4441pub const SRTP_AEAD_AES_128_GCM: i32 = 7;
4442pub const SRTP_AEAD_AES_256_GCM: i32 = 8;
4443pub const PSK_MAX_IDENTITY_LEN: i32 = 128;
4444pub const PSK_MAX_PSK_LEN: i32 = 256;
4445pub const TLSEXT_cert_type_x509: i32 = 0;
4446pub const TLSEXT_cert_type_rpk: i32 = 2;
4447pub const SSL_PAKE_SPAKE2PLUSV1: i32 = 32150;
4448pub const SSL_AD_REASON_OFFSET: i32 = 1000;
4449pub const SSL_AD_CLOSE_NOTIFY: i32 = 0;
4450pub const SSL_AD_UNEXPECTED_MESSAGE: i32 = 10;
4451pub const SSL_AD_BAD_RECORD_MAC: i32 = 20;
4452pub const SSL_AD_DECRYPTION_FAILED: i32 = 21;
4453pub const SSL_AD_RECORD_OVERFLOW: i32 = 22;
4454pub const SSL_AD_DECOMPRESSION_FAILURE: i32 = 30;
4455pub const SSL_AD_HANDSHAKE_FAILURE: i32 = 40;
4456pub const SSL_AD_NO_CERTIFICATE: i32 = 41;
4457pub const SSL_AD_BAD_CERTIFICATE: i32 = 42;
4458pub const SSL_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4459pub const SSL_AD_CERTIFICATE_REVOKED: i32 = 44;
4460pub const SSL_AD_CERTIFICATE_EXPIRED: i32 = 45;
4461pub const SSL_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4462pub const SSL_AD_ILLEGAL_PARAMETER: i32 = 47;
4463pub const SSL_AD_UNKNOWN_CA: i32 = 48;
4464pub const SSL_AD_ACCESS_DENIED: i32 = 49;
4465pub const SSL_AD_DECODE_ERROR: i32 = 50;
4466pub const SSL_AD_DECRYPT_ERROR: i32 = 51;
4467pub const SSL_AD_EXPORT_RESTRICTION: i32 = 60;
4468pub const SSL_AD_PROTOCOL_VERSION: i32 = 70;
4469pub const SSL_AD_INSUFFICIENT_SECURITY: i32 = 71;
4470pub const SSL_AD_INTERNAL_ERROR: i32 = 80;
4471pub const SSL_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4472pub const SSL_AD_USER_CANCELLED: i32 = 90;
4473pub const SSL_AD_NO_RENEGOTIATION: i32 = 100;
4474pub const SSL_AD_MISSING_EXTENSION: i32 = 109;
4475pub const SSL_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4476pub const SSL_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4477pub const SSL_AD_UNRECOGNIZED_NAME: i32 = 112;
4478pub const SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4479pub const SSL_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4480pub const SSL_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4481pub const SSL_AD_CERTIFICATE_REQUIRED: i32 = 116;
4482pub const SSL_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4483pub const SSL_AD_ECH_REQUIRED: i32 = 121;
4484pub const SSL_MAX_CERT_LIST_DEFAULT: i32 = 102400;
4485pub const SSL_ST_CONNECT: i32 = 4096;
4486pub const SSL_ST_ACCEPT: i32 = 8192;
4487pub const SSL_ST_MASK: i32 = 4095;
4488pub const SSL_ST_INIT: i32 = 12288;
4489pub const SSL_ST_OK: i32 = 3;
4490pub const SSL_ST_RENEGOTIATE: i32 = 12292;
4491pub const SSL_ST_BEFORE: i32 = 12293;
4492pub const TLS_ST_OK: i32 = 3;
4493pub const TLS_ST_BEFORE: i32 = 12293;
4494pub const SSL_CB_LOOP: i32 = 1;
4495pub const SSL_CB_EXIT: i32 = 2;
4496pub const SSL_CB_READ: i32 = 4;
4497pub const SSL_CB_WRITE: i32 = 8;
4498pub const SSL_CB_ALERT: i32 = 16384;
4499pub const SSL_CB_READ_ALERT: i32 = 16388;
4500pub const SSL_CB_WRITE_ALERT: i32 = 16392;
4501pub const SSL_CB_ACCEPT_LOOP: i32 = 8193;
4502pub const SSL_CB_ACCEPT_EXIT: i32 = 8194;
4503pub const SSL_CB_CONNECT_LOOP: i32 = 4097;
4504pub const SSL_CB_CONNECT_EXIT: i32 = 4098;
4505pub const SSL_CB_HANDSHAKE_START: i32 = 16;
4506pub const SSL_CB_HANDSHAKE_DONE: i32 = 32;
4507pub const SSL_SENT_SHUTDOWN: i32 = 1;
4508pub const SSL_RECEIVED_SHUTDOWN: i32 = 2;
4509pub const SSL_MODE_HANDSHAKE_CUTTHROUGH: i32 = 128;
4510pub const SSL_MODE_AUTO_RETRY: i32 = 0;
4511pub const SSL_MODE_RELEASE_BUFFERS: i32 = 0;
4512pub const SSL_MODE_SEND_CLIENTHELLO_TIME: i32 = 0;
4513pub const SSL_MODE_SEND_SERVERHELLO_TIME: i32 = 0;
4514pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: i32 = 0;
4515pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: i32 = 0;
4516pub const SSL_OP_EPHEMERAL_RSA: i32 = 0;
4517pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: i32 = 0;
4518pub const SSL_OP_MICROSOFT_SESS_ID_BUG: i32 = 0;
4519pub const SSL_OP_MSIE_SSLV2_RSA_PADDING: i32 = 0;
4520pub const SSL_OP_NETSCAPE_CA_DN_BUG: i32 = 0;
4521pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: i32 = 0;
4522pub const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: i32 = 0;
4523pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: i32 = 0;
4524pub const SSL_OP_NO_COMPRESSION: i32 = 0;
4525pub const SSL_OP_NO_RENEGOTIATION: i32 = 0;
4526pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: i32 = 0;
4527pub const SSL_OP_NO_SSLv2: i32 = 0;
4528pub const SSL_OP_NO_SSLv3: i32 = 0;
4529pub const SSL_OP_PKCS1_CHECK_1: i32 = 0;
4530pub const SSL_OP_PKCS1_CHECK_2: i32 = 0;
4531pub const SSL_OP_SINGLE_DH_USE: i32 = 0;
4532pub const SSL_OP_SINGLE_ECDH_USE: i32 = 0;
4533pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: i32 = 0;
4534pub const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: i32 = 0;
4535pub const SSL_OP_TLS_BLOCK_PADDING_BUG: i32 = 0;
4536pub const SSL_OP_TLS_D5_BUG: i32 = 0;
4537pub const SSL_OP_TLS_ROLLBACK_BUG: i32 = 0;
4538pub const SSL_VERIFY_CLIENT_ONCE: i32 = 0;
4539pub const SSL_NOTHING: i32 = 0;
4540pub const SSL_WRITING: i32 = 3;
4541pub const SSL_READING: i32 = 2;
4542pub const SSL_TXT_MEDIUM: &[u8; 7] = b"MEDIUM\0";
4543pub const SSL_TXT_HIGH: &[u8; 5] = b"HIGH\0";
4544pub const SSL_TXT_FIPS: &[u8; 5] = b"FIPS\0";
4545pub const SSL_TXT_kRSA: &[u8; 5] = b"kRSA\0";
4546pub const SSL_TXT_kDHE: &[u8; 5] = b"kDHE\0";
4547pub const SSL_TXT_kEDH: &[u8; 5] = b"kEDH\0";
4548pub const SSL_TXT_kECDHE: &[u8; 7] = b"kECDHE\0";
4549pub const SSL_TXT_kEECDH: &[u8; 7] = b"kEECDH\0";
4550pub const SSL_TXT_kPSK: &[u8; 5] = b"kPSK\0";
4551pub const SSL_TXT_aRSA: &[u8; 5] = b"aRSA\0";
4552pub const SSL_TXT_aECDSA: &[u8; 7] = b"aECDSA\0";
4553pub const SSL_TXT_aPSK: &[u8; 5] = b"aPSK\0";
4554pub const SSL_TXT_DH: &[u8; 3] = b"DH\0";
4555pub const SSL_TXT_DHE: &[u8; 4] = b"DHE\0";
4556pub const SSL_TXT_EDH: &[u8; 4] = b"EDH\0";
4557pub const SSL_TXT_RSA: &[u8; 4] = b"RSA\0";
4558pub const SSL_TXT_ECDH: &[u8; 5] = b"ECDH\0";
4559pub const SSL_TXT_ECDHE: &[u8; 6] = b"ECDHE\0";
4560pub const SSL_TXT_EECDH: &[u8; 6] = b"EECDH\0";
4561pub const SSL_TXT_ECDSA: &[u8; 6] = b"ECDSA\0";
4562pub const SSL_TXT_PSK: &[u8; 4] = b"PSK\0";
4563pub const SSL_TXT_3DES: &[u8; 5] = b"3DES\0";
4564pub const SSL_TXT_RC4: &[u8; 4] = b"RC4\0";
4565pub const SSL_TXT_AES128: &[u8; 7] = b"AES128\0";
4566pub const SSL_TXT_AES256: &[u8; 7] = b"AES256\0";
4567pub const SSL_TXT_AES: &[u8; 4] = b"AES\0";
4568pub const SSL_TXT_AES_GCM: &[u8; 7] = b"AESGCM\0";
4569pub const SSL_TXT_CHACHA20: &[u8; 9] = b"CHACHA20\0";
4570pub const SSL_TXT_MD5: &[u8; 4] = b"MD5\0";
4571pub const SSL_TXT_SHA1: &[u8; 5] = b"SHA1\0";
4572pub const SSL_TXT_SHA: &[u8; 4] = b"SHA\0";
4573pub const SSL_TXT_SHA256: &[u8; 7] = b"SHA256\0";
4574pub const SSL_TXT_SHA384: &[u8; 7] = b"SHA384\0";
4575pub const SSL_TXT_SSLV3: &[u8; 6] = b"SSLv3\0";
4576pub const SSL_TXT_TLSV1: &[u8; 6] = b"TLSv1\0";
4577pub const SSL_TXT_TLSV1_1: &[u8; 8] = b"TLSv1.1\0";
4578pub const SSL_TXT_TLSV1_2: &[u8; 8] = b"TLSv1.2\0";
4579pub const SSL_TXT_TLSV1_3: &[u8; 8] = b"TLSv1.3\0";
4580pub const SSL_TXT_ALL: &[u8; 4] = b"ALL\0";
4581pub const SSL_TXT_CMPDEF: &[u8; 20] = b"COMPLEMENTOFDEFAULT\0";
4582pub const OPENSSL_INIT_NO_LOAD_SSL_STRINGS: i32 = 0;
4583pub const OPENSSL_INIT_LOAD_SSL_STRINGS: i32 = 0;
4584pub const OPENSSL_INIT_SSL_DEFAULT: i32 = 0;
4585pub const SSL_SIGN_RSA_PSS_SHA256: i32 = 2052;
4586pub const SSL_SIGN_RSA_PSS_SHA384: i32 = 2053;
4587pub const SSL_SIGN_RSA_PSS_SHA512: i32 = 2054;
4588pub const SSL_CURVE_SECP256R1: i32 = 23;
4589pub const SSL_CURVE_SECP384R1: i32 = 24;
4590pub const SSL_CURVE_SECP521R1: i32 = 25;
4591pub const SSL_CURVE_X25519: i32 = 29;
4592pub const TLSEXT_nid_unknown: i32 = 16777216;
4593pub const SSL_R_APP_DATA_IN_HANDSHAKE: i32 = 100;
4594pub const SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT: i32 = 101;
4595pub const SSL_R_BAD_ALERT: i32 = 102;
4596pub const SSL_R_BAD_CHANGE_CIPHER_SPEC: i32 = 103;
4597pub const SSL_R_BAD_DATA_RETURNED_BY_CALLBACK: i32 = 104;
4598pub const SSL_R_BAD_DH_P_LENGTH: i32 = 105;
4599pub const SSL_R_BAD_DIGEST_LENGTH: i32 = 106;
4600pub const SSL_R_BAD_ECC_CERT: i32 = 107;
4601pub const SSL_R_BAD_ECPOINT: i32 = 108;
4602pub const SSL_R_BAD_HANDSHAKE_RECORD: i32 = 109;
4603pub const SSL_R_BAD_HELLO_REQUEST: i32 = 110;
4604pub const SSL_R_BAD_LENGTH: i32 = 111;
4605pub const SSL_R_BAD_PACKET_LENGTH: i32 = 112;
4606pub const SSL_R_BAD_RSA_ENCRYPT: i32 = 113;
4607pub const SSL_R_BAD_SIGNATURE: i32 = 114;
4608pub const SSL_R_BAD_SRTP_MKI_VALUE: i32 = 115;
4609pub const SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST: i32 = 116;
4610pub const SSL_R_BAD_SSL_FILETYPE: i32 = 117;
4611pub const SSL_R_BAD_WRITE_RETRY: i32 = 118;
4612pub const SSL_R_BIO_NOT_SET: i32 = 119;
4613pub const SSL_R_BN_LIB: i32 = 120;
4614pub const SSL_R_BUFFER_TOO_SMALL: i32 = 121;
4615pub const SSL_R_CA_DN_LENGTH_MISMATCH: i32 = 122;
4616pub const SSL_R_CA_DN_TOO_LONG: i32 = 123;
4617pub const SSL_R_CCS_RECEIVED_EARLY: i32 = 124;
4618pub const SSL_R_CERTIFICATE_VERIFY_FAILED: i32 = 125;
4619pub const SSL_R_CERT_CB_ERROR: i32 = 126;
4620pub const SSL_R_CERT_LENGTH_MISMATCH: i32 = 127;
4621pub const SSL_R_CHANNEL_ID_NOT_P256: i32 = 128;
4622pub const SSL_R_CHANNEL_ID_SIGNATURE_INVALID: i32 = 129;
4623pub const SSL_R_CIPHER_OR_HASH_UNAVAILABLE: i32 = 130;
4624pub const SSL_R_CLIENTHELLO_PARSE_FAILED: i32 = 131;
4625pub const SSL_R_CLIENTHELLO_TLSEXT: i32 = 132;
4626pub const SSL_R_CONNECTION_REJECTED: i32 = 133;
4627pub const SSL_R_CONNECTION_TYPE_NOT_SET: i32 = 134;
4628pub const SSL_R_CUSTOM_EXTENSION_ERROR: i32 = 135;
4629pub const SSL_R_DATA_LENGTH_TOO_LONG: i32 = 136;
4630pub const SSL_R_DECODE_ERROR: i32 = 137;
4631pub const SSL_R_DECRYPTION_FAILED: i32 = 138;
4632pub const SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC: i32 = 139;
4633pub const SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG: i32 = 140;
4634pub const SSL_R_DH_P_TOO_LONG: i32 = 141;
4635pub const SSL_R_DIGEST_CHECK_FAILED: i32 = 142;
4636pub const SSL_R_DTLS_MESSAGE_TOO_BIG: i32 = 143;
4637pub const SSL_R_ECC_CERT_NOT_FOR_SIGNING: i32 = 144;
4638pub const SSL_R_EMS_STATE_INCONSISTENT: i32 = 145;
4639pub const SSL_R_ENCRYPTED_LENGTH_TOO_LONG: i32 = 146;
4640pub const SSL_R_ERROR_ADDING_EXTENSION: i32 = 147;
4641pub const SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST: i32 = 148;
4642pub const SSL_R_ERROR_PARSING_EXTENSION: i32 = 149;
4643pub const SSL_R_EXCESSIVE_MESSAGE_SIZE: i32 = 150;
4644pub const SSL_R_EXTRA_DATA_IN_MESSAGE: i32 = 151;
4645pub const SSL_R_FRAGMENT_MISMATCH: i32 = 152;
4646pub const SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION: i32 = 153;
4647pub const SSL_R_HANDSHAKE_FAILURE_ON_CLIENT_HELLO: i32 = 154;
4648pub const SSL_R_HTTPS_PROXY_REQUEST: i32 = 155;
4649pub const SSL_R_HTTP_REQUEST: i32 = 156;
4650pub const SSL_R_INAPPROPRIATE_FALLBACK: i32 = 157;
4651pub const SSL_R_INVALID_COMMAND: i32 = 158;
4652pub const SSL_R_INVALID_MESSAGE: i32 = 159;
4653pub const SSL_R_INVALID_SSL_SESSION: i32 = 160;
4654pub const SSL_R_INVALID_TICKET_KEYS_LENGTH: i32 = 161;
4655pub const SSL_R_LENGTH_MISMATCH: i32 = 162;
4656pub const SSL_R_MISSING_EXTENSION: i32 = 164;
4657pub const SSL_R_MISSING_RSA_CERTIFICATE: i32 = 165;
4658pub const SSL_R_MISSING_TMP_DH_KEY: i32 = 166;
4659pub const SSL_R_MISSING_TMP_ECDH_KEY: i32 = 167;
4660pub const SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS: i32 = 168;
4661pub const SSL_R_MTU_TOO_SMALL: i32 = 169;
4662pub const SSL_R_NEGOTIATED_BOTH_NPN_AND_ALPN: i32 = 170;
4663pub const SSL_R_NESTED_GROUP: i32 = 171;
4664pub const SSL_R_NO_CERTIFICATES_RETURNED: i32 = 172;
4665pub const SSL_R_NO_CERTIFICATE_ASSIGNED: i32 = 173;
4666pub const SSL_R_NO_CERTIFICATE_SET: i32 = 174;
4667pub const SSL_R_NO_CIPHERS_AVAILABLE: i32 = 175;
4668pub const SSL_R_NO_CIPHERS_PASSED: i32 = 176;
4669pub const SSL_R_NO_CIPHER_MATCH: i32 = 177;
4670pub const SSL_R_NO_COMPRESSION_SPECIFIED: i32 = 178;
4671pub const SSL_R_NO_METHOD_SPECIFIED: i32 = 179;
4672pub const SSL_R_NO_PRIVATE_KEY_ASSIGNED: i32 = 181;
4673pub const SSL_R_NO_RENEGOTIATION: i32 = 182;
4674pub const SSL_R_NO_REQUIRED_DIGEST: i32 = 183;
4675pub const SSL_R_NO_SHARED_CIPHER: i32 = 184;
4676pub const SSL_R_NULL_SSL_CTX: i32 = 185;
4677pub const SSL_R_NULL_SSL_METHOD_PASSED: i32 = 186;
4678pub const SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED: i32 = 187;
4679pub const SSL_R_OLD_SESSION_VERSION_NOT_RETURNED: i32 = 188;
4680pub const SSL_R_OUTPUT_ALIASES_INPUT: i32 = 189;
4681pub const SSL_R_PARSE_TLSEXT: i32 = 190;
4682pub const SSL_R_PATH_TOO_LONG: i32 = 191;
4683pub const SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE: i32 = 192;
4684pub const SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE: i32 = 193;
4685pub const SSL_R_PROTOCOL_IS_SHUTDOWN: i32 = 194;
4686pub const SSL_R_PSK_IDENTITY_NOT_FOUND: i32 = 195;
4687pub const SSL_R_PSK_NO_CLIENT_CB: i32 = 196;
4688pub const SSL_R_PSK_NO_SERVER_CB: i32 = 197;
4689pub const SSL_R_READ_TIMEOUT_EXPIRED: i32 = 198;
4690pub const SSL_R_RECORD_LENGTH_MISMATCH: i32 = 199;
4691pub const SSL_R_RECORD_TOO_LARGE: i32 = 200;
4692pub const SSL_R_RENEGOTIATION_ENCODING_ERR: i32 = 201;
4693pub const SSL_R_RENEGOTIATION_MISMATCH: i32 = 202;
4694pub const SSL_R_REQUIRED_CIPHER_MISSING: i32 = 203;
4695pub const SSL_R_RESUMED_EMS_SESSION_WITHOUT_EMS_EXTENSION: i32 = 204;
4696pub const SSL_R_RESUMED_NON_EMS_SESSION_WITH_EMS_EXTENSION: i32 = 205;
4697pub const SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING: i32 = 206;
4698pub const SSL_R_SERVERHELLO_TLSEXT: i32 = 207;
4699pub const SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED: i32 = 208;
4700pub const SSL_R_SESSION_MAY_NOT_BE_CREATED: i32 = 209;
4701pub const SSL_R_SIGNATURE_ALGORITHMS_EXTENSION_SENT_BY_SERVER: i32 = 210;
4702pub const SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES: i32 = 211;
4703pub const SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE: i32 = 212;
4704pub const SSL_R_SSL3_EXT_INVALID_SERVERNAME: i32 = 213;
4705pub const SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION: i32 = 214;
4706pub const SSL_R_SSL_HANDSHAKE_FAILURE: i32 = 215;
4707pub const SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG: i32 = 216;
4708pub const SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST: i32 = 217;
4709pub const SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG: i32 = 218;
4710pub const SSL_R_TOO_MANY_EMPTY_FRAGMENTS: i32 = 219;
4711pub const SSL_R_TOO_MANY_WARNING_ALERTS: i32 = 220;
4712pub const SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS: i32 = 221;
4713pub const SSL_R_UNEXPECTED_EXTENSION: i32 = 222;
4714pub const SSL_R_UNEXPECTED_MESSAGE: i32 = 223;
4715pub const SSL_R_UNEXPECTED_OPERATOR_IN_GROUP: i32 = 224;
4716pub const SSL_R_UNEXPECTED_RECORD: i32 = 225;
4717pub const SSL_R_UNINITIALIZED: i32 = 226;
4718pub const SSL_R_UNKNOWN_ALERT_TYPE: i32 = 227;
4719pub const SSL_R_UNKNOWN_CERTIFICATE_TYPE: i32 = 228;
4720pub const SSL_R_UNKNOWN_CIPHER_RETURNED: i32 = 229;
4721pub const SSL_R_UNKNOWN_CIPHER_TYPE: i32 = 230;
4722pub const SSL_R_UNKNOWN_DIGEST: i32 = 231;
4723pub const SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE: i32 = 232;
4724pub const SSL_R_UNKNOWN_PROTOCOL: i32 = 233;
4725pub const SSL_R_UNKNOWN_SSL_VERSION: i32 = 234;
4726pub const SSL_R_UNKNOWN_STATE: i32 = 235;
4727pub const SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED: i32 = 236;
4728pub const SSL_R_UNSUPPORTED_CIPHER: i32 = 237;
4729pub const SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM: i32 = 238;
4730pub const SSL_R_UNSUPPORTED_ELLIPTIC_CURVE: i32 = 239;
4731pub const SSL_R_UNSUPPORTED_PROTOCOL: i32 = 240;
4732pub const SSL_R_WRONG_CERTIFICATE_TYPE: i32 = 241;
4733pub const SSL_R_WRONG_CIPHER_RETURNED: i32 = 242;
4734pub const SSL_R_WRONG_CURVE: i32 = 243;
4735pub const SSL_R_WRONG_MESSAGE_TYPE: i32 = 244;
4736pub const SSL_R_WRONG_SIGNATURE_TYPE: i32 = 245;
4737pub const SSL_R_WRONG_SSL_VERSION: i32 = 246;
4738pub const SSL_R_WRONG_VERSION_NUMBER: i32 = 247;
4739pub const SSL_R_X509_LIB: i32 = 248;
4740pub const SSL_R_X509_VERIFICATION_SETUP_PROBLEMS: i32 = 249;
4741pub const SSL_R_SHUTDOWN_WHILE_IN_INIT: i32 = 250;
4742pub const SSL_R_INVALID_OUTER_RECORD_TYPE: i32 = 251;
4743pub const SSL_R_UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY: i32 = 252;
4744pub const SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS: i32 = 253;
4745pub const SSL_R_DOWNGRADE_DETECTED: i32 = 254;
4746pub const SSL_R_EXCESS_HANDSHAKE_DATA: i32 = 255;
4747pub const SSL_R_INVALID_COMPRESSION_LIST: i32 = 256;
4748pub const SSL_R_DUPLICATE_EXTENSION: i32 = 257;
4749pub const SSL_R_MISSING_KEY_SHARE: i32 = 258;
4750pub const SSL_R_INVALID_ALPN_PROTOCOL: i32 = 259;
4751pub const SSL_R_TOO_MANY_KEY_UPDATES: i32 = 260;
4752pub const SSL_R_BLOCK_CIPHER_PAD_IS_WRONG: i32 = 261;
4753pub const SSL_R_NO_CIPHERS_SPECIFIED: i32 = 262;
4754pub const SSL_R_RENEGOTIATION_EMS_MISMATCH: i32 = 263;
4755pub const SSL_R_DUPLICATE_KEY_SHARE: i32 = 264;
4756pub const SSL_R_NO_GROUPS_SPECIFIED: i32 = 265;
4757pub const SSL_R_NO_SHARED_GROUP: i32 = 266;
4758pub const SSL_R_PRE_SHARED_KEY_MUST_BE_LAST: i32 = 267;
4759pub const SSL_R_OLD_SESSION_PRF_HASH_MISMATCH: i32 = 268;
4760pub const SSL_R_INVALID_SCT_LIST: i32 = 269;
4761pub const SSL_R_TOO_MUCH_SKIPPED_EARLY_DATA: i32 = 270;
4762pub const SSL_R_PSK_IDENTITY_BINDER_COUNT_MISMATCH: i32 = 271;
4763pub const SSL_R_CANNOT_PARSE_LEAF_CERT: i32 = 272;
4764pub const SSL_R_SERVER_CERT_CHANGED: i32 = 273;
4765pub const SSL_R_CERTIFICATE_AND_PRIVATE_KEY_MISMATCH: i32 = 274;
4766pub const SSL_R_CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD: i32 = 275;
4767pub const SSL_R_TICKET_ENCRYPTION_FAILED: i32 = 276;
4768pub const SSL_R_ALPN_MISMATCH_ON_EARLY_DATA: i32 = 277;
4769pub const SSL_R_WRONG_VERSION_ON_EARLY_DATA: i32 = 278;
4770pub const SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA: i32 = 279;
4771pub const SSL_R_NO_SUPPORTED_VERSIONS_ENABLED: i32 = 280;
4772pub const SSL_R_EMPTY_HELLO_RETRY_REQUEST: i32 = 282;
4773pub const SSL_R_EARLY_DATA_NOT_IN_USE: i32 = 283;
4774pub const SSL_R_HANDSHAKE_NOT_COMPLETE: i32 = 284;
4775pub const SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI: i32 = 285;
4776pub const SSL_R_SERVER_ECHOED_INVALID_SESSION_ID: i32 = 286;
4777pub const SSL_R_PRIVATE_KEY_OPERATION_FAILED: i32 = 287;
4778pub const SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH: i32 = 288;
4779pub const SSL_R_OCSP_CB_ERROR: i32 = 289;
4780pub const SSL_R_SSL_SESSION_ID_TOO_LONG: i32 = 290;
4781pub const SSL_R_APPLICATION_DATA_ON_SHUTDOWN: i32 = 291;
4782pub const SSL_R_CERT_DECOMPRESSION_FAILED: i32 = 292;
4783pub const SSL_R_UNCOMPRESSED_CERT_TOO_LARGE: i32 = 293;
4784pub const SSL_R_UNKNOWN_CERT_COMPRESSION_ALG: i32 = 294;
4785pub const SSL_R_INVALID_SIGNATURE_ALGORITHM: i32 = 295;
4786pub const SSL_R_DUPLICATE_SIGNATURE_ALGORITHM: i32 = 296;
4787pub const SSL_R_TLS13_DOWNGRADE: i32 = 297;
4788pub const SSL_R_QUIC_INTERNAL_ERROR: i32 = 298;
4789pub const SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED: i32 = 299;
4790pub const SSL_R_TOO_MUCH_READ_EARLY_DATA: i32 = 300;
4791pub const SSL_R_INVALID_DELEGATED_CREDENTIAL: i32 = 301;
4792pub const SSL_R_KEY_USAGE_BIT_INCORRECT: i32 = 302;
4793pub const SSL_R_INCONSISTENT_CLIENT_HELLO: i32 = 303;
4794pub const SSL_R_CIPHER_MISMATCH_ON_EARLY_DATA: i32 = 304;
4795pub const SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED: i32 = 305;
4796pub const SSL_R_UNEXPECTED_COMPATIBILITY_MODE: i32 = 306;
4797pub const SSL_R_NO_APPLICATION_PROTOCOL: i32 = 307;
4798pub const SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN: i32 = 308;
4799pub const SSL_R_ALPS_MISMATCH_ON_EARLY_DATA: i32 = 309;
4800pub const SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH: i32 = 310;
4801pub const SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION: i32 = 311;
4802pub const SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG: i32 = 312;
4803pub const SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS: i32 = 313;
4804pub const SSL_R_INVALID_CLIENT_HELLO_INNER: i32 = 314;
4805pub const SSL_R_INVALID_ALPN_PROTOCOL_LIST: i32 = 315;
4806pub const SSL_R_COULD_NOT_PARSE_HINTS: i32 = 316;
4807pub const SSL_R_INVALID_ECH_PUBLIC_NAME: i32 = 317;
4808pub const SSL_R_INVALID_ECH_CONFIG_LIST: i32 = 318;
4809pub const SSL_R_ECH_REJECTED: i32 = 319;
4810pub const SSL_R_INVALID_OUTER_EXTENSION: i32 = 320;
4811pub const SSL_R_INCONSISTENT_ECH_NEGOTIATION: i32 = 321;
4812pub const SSL_R_INVALID_ALPS_CODEPOINT: i32 = 322;
4813pub const SSL_R_NO_MATCHING_ISSUER: i32 = 323;
4814pub const SSL_R_INVALID_SPAKE2PLUSV1_VALUE: i32 = 324;
4815pub const SSL_R_PAKE_EXHAUSTED: i32 = 325;
4816pub const SSL_R_PEER_PAKE_MISMATCH: i32 = 326;
4817pub const SSL_R_UNSUPPORTED_CREDENTIAL_LIST: i32 = 327;
4818pub const SSL_R_INVALID_TRUST_ANCHOR_LIST: i32 = 328;
4819pub const SSL_R_INVALID_CERTIFICATE_PROPERTY_LIST: i32 = 329;
4820pub const SSL_R_DUPLICATE_GROUP: i32 = 330;
4821pub const SSL_R_INVALID_PSK_FOR_CONNECTION: i32 = 331;
4822pub const SSL_R_NO_SUPPORTED_PSK_MODE: i32 = 332;
4823pub const SSL_R_INVALID_CERT_TYPES_LIST: i32 = 333;
4824pub const SSL_R_UNSUPPORTED_CERTIFICATE: i32 = 334;
4825pub const SSL_R_MISSING_KEY: i32 = 335;
4826pub const SSL_R_INVALID_RAW_PUBLIC_KEY: i32 = 336;
4827pub const SSL_R_UNUSABLE_ECH_CONFIG_LIST: i32 = 337;
4828pub const SSL_R_INVALID_CIPHER_FLAGS: i32 = 338;
4829pub const SSL_R_DUPLICATE_CIPHER: i32 = 339;
4830pub const SSL_R_SSLV3_ALERT_CLOSE_NOTIFY: i32 = 1000;
4831pub const SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE: i32 = 1010;
4832pub const SSL_R_SSLV3_ALERT_BAD_RECORD_MAC: i32 = 1020;
4833pub const SSL_R_TLSV1_ALERT_DECRYPTION_FAILED: i32 = 1021;
4834pub const SSL_R_TLSV1_ALERT_RECORD_OVERFLOW: i32 = 1022;
4835pub const SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE: i32 = 1030;
4836pub const SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE: i32 = 1040;
4837pub const SSL_R_SSLV3_ALERT_NO_CERTIFICATE: i32 = 1041;
4838pub const SSL_R_SSLV3_ALERT_BAD_CERTIFICATE: i32 = 1042;
4839pub const SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE: i32 = 1043;
4840pub const SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED: i32 = 1044;
4841pub const SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED: i32 = 1045;
4842pub const SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN: i32 = 1046;
4843pub const SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER: i32 = 1047;
4844pub const SSL_R_TLSV1_ALERT_UNKNOWN_CA: i32 = 1048;
4845pub const SSL_R_TLSV1_ALERT_ACCESS_DENIED: i32 = 1049;
4846pub const SSL_R_TLSV1_ALERT_DECODE_ERROR: i32 = 1050;
4847pub const SSL_R_TLSV1_ALERT_DECRYPT_ERROR: i32 = 1051;
4848pub const SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION: i32 = 1060;
4849pub const SSL_R_TLSV1_ALERT_PROTOCOL_VERSION: i32 = 1070;
4850pub const SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY: i32 = 1071;
4851pub const SSL_R_TLSV1_ALERT_INTERNAL_ERROR: i32 = 1080;
4852pub const SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK: i32 = 1086;
4853pub const SSL_R_TLSV1_ALERT_USER_CANCELLED: i32 = 1090;
4854pub const SSL_R_TLSV1_ALERT_NO_RENEGOTIATION: i32 = 1100;
4855pub const SSL_R_TLSV1_ALERT_UNSUPPORTED_EXTENSION: i32 = 1110;
4856pub const SSL_R_TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE: i32 = 1111;
4857pub const SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME: i32 = 1112;
4858pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 1113;
4859pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE: i32 = 1114;
4860pub const SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY: i32 = 1115;
4861pub const SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED: i32 = 1116;
4862pub const SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL: i32 = 1120;
4863pub const SSL_R_TLSV1_ALERT_ECH_REQUIRED: i32 = 1121;
4864pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4865pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4866pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4867pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4868pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4869pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4870pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4871pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4872pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4873pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4874pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4875pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4876pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4877pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4878pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4879pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4880pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4881pub const CRL_REASON_NONE: i32 = -1;
4882pub const CRL_REASON_UNSPECIFIED: i32 = 0;
4883pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
4884pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
4885pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
4886pub const CRL_REASON_SUPERSEDED: i32 = 4;
4887pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
4888pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
4889pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
4890pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
4891pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
4892pub const KU_DIGITAL_SIGNATURE: i32 = 128;
4893pub const KU_NON_REPUDIATION: i32 = 64;
4894pub const KU_KEY_ENCIPHERMENT: i32 = 32;
4895pub const KU_DATA_ENCIPHERMENT: i32 = 16;
4896pub const KU_KEY_AGREEMENT: i32 = 8;
4897pub const KU_KEY_CERT_SIGN: i32 = 4;
4898pub const KU_CRL_SIGN: i32 = 2;
4899pub const KU_ENCIPHER_ONLY: i32 = 1;
4900pub const KU_DECIPHER_ONLY: i32 = 32768;
4901pub type __uint64_t = ::core::ffi::c_ulong;
4902pub type __off_t = ::core::ffi::c_long;
4903pub type __off64_t = ::core::ffi::c_long;
4904pub type __time_t = ::core::ffi::c_long;
4905pub type __suseconds_t = ::core::ffi::c_long;
4906pub type time_t = __time_t;
4907#[repr(C)]
4908#[derive(Debug, Copy, Clone)]
4909pub struct timeval {
4910 pub tv_sec: __time_t,
4911 pub tv_usec: __suseconds_t,
4912}
4913pub type ossl_ssize_t = isize;
4914pub type CBS_ASN1_TAG = u32;
4915pub type CRYPTO_THREADID = ::core::ffi::c_int;
4916#[repr(C)]
4917#[derive(Debug)]
4918pub struct asn1_null_st {
4919 _unused: [u8; 0],
4920}
4921pub type ASN1_NULL = asn1_null_st;
4922#[repr(C)]
4923#[derive(Debug)]
4924pub struct crypto_must_be_null_st {
4925 _unused: [u8; 0],
4926}
4927pub type CRYPTO_MUST_BE_NULL = crypto_must_be_null_st;
4928pub type ASN1_BOOLEAN = ::core::ffi::c_int;
4929pub type ASN1_ITEM = ASN1_ITEM_st;
4930#[repr(C)]
4931#[derive(Debug)]
4932pub struct asn1_object_st {
4933 _unused: [u8; 0],
4934}
4935pub type ASN1_OBJECT = asn1_object_st;
4936#[repr(C)]
4937#[derive(Debug)]
4938pub struct asn1_pctx_st {
4939 _unused: [u8; 0],
4940}
4941pub type ASN1_PCTX = asn1_pctx_st;
4942pub type ASN1_BIT_STRING = asn1_string_st;
4943pub type ASN1_BMPSTRING = asn1_string_st;
4944pub type ASN1_ENUMERATED = asn1_string_st;
4945pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4946pub type ASN1_GENERALSTRING = asn1_string_st;
4947pub type ASN1_IA5STRING = asn1_string_st;
4948pub type ASN1_INTEGER = asn1_string_st;
4949pub type ASN1_OCTET_STRING = asn1_string_st;
4950pub type ASN1_PRINTABLESTRING = asn1_string_st;
4951pub type ASN1_STRING = asn1_string_st;
4952pub type ASN1_T61STRING = asn1_string_st;
4953pub type ASN1_TIME = asn1_string_st;
4954pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4955pub type ASN1_UTCTIME = asn1_string_st;
4956pub type ASN1_UTF8STRING = asn1_string_st;
4957pub type ASN1_VISIBLESTRING = asn1_string_st;
4958pub type ASN1_TYPE = asn1_type_st;
4959pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4960pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4961#[repr(C)]
4962#[derive(Debug)]
4963pub struct CMS_ContentInfo_st {
4964 _unused: [u8; 0],
4965}
4966pub type CMS_ContentInfo = CMS_ContentInfo_st;
4967#[repr(C)]
4968#[derive(Debug)]
4969pub struct CMS_SignerInfo_st {
4970 _unused: [u8; 0],
4971}
4972pub type CMS_SignerInfo = CMS_SignerInfo_st;
4973pub type DIST_POINT = DIST_POINT_st;
4974pub type DSA_SIG = DSA_SIG_st;
4975pub type GENERAL_NAME = GENERAL_NAME_st;
4976pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4977pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4978pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4979pub type NETSCAPE_SPKI = Netscape_spki_st;
4980pub type RIPEMD160_CTX = RIPEMD160state_st;
4981#[repr(C)]
4982#[derive(Debug)]
4983pub struct X509_VERIFY_PARAM_st {
4984 _unused: [u8; 0],
4985}
4986pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4987pub type X509_ALGOR = X509_algor_st;
4988#[repr(C)]
4989#[derive(Debug)]
4990pub struct X509_crl_st {
4991 _unused: [u8; 0],
4992}
4993pub type X509_CRL = X509_crl_st;
4994#[repr(C)]
4995#[derive(Debug)]
4996pub struct X509_extension_st {
4997 _unused: [u8; 0],
4998}
4999pub type X509_EXTENSION = X509_extension_st;
5000pub type X509_INFO = X509_info_st;
5001#[repr(C)]
5002#[derive(Debug)]
5003pub struct X509_name_entry_st {
5004 _unused: [u8; 0],
5005}
5006pub type X509_NAME_ENTRY = X509_name_entry_st;
5007#[repr(C)]
5008#[derive(Debug)]
5009pub struct X509_name_st {
5010 _unused: [u8; 0],
5011}
5012pub type X509_NAME = X509_name_st;
5013#[repr(C)]
5014#[derive(Debug)]
5015pub struct X509_pubkey_st {
5016 _unused: [u8; 0],
5017}
5018pub type X509_PUBKEY = X509_pubkey_st;
5019#[repr(C)]
5020#[derive(Debug)]
5021pub struct X509_req_st {
5022 _unused: [u8; 0],
5023}
5024pub type X509_REQ = X509_req_st;
5025#[repr(C)]
5026#[derive(Debug)]
5027pub struct X509_sig_st {
5028 _unused: [u8; 0],
5029}
5030pub type X509_SIG = X509_sig_st;
5031#[repr(C)]
5032#[derive(Debug)]
5033pub struct bignum_ctx {
5034 _unused: [u8; 0],
5035}
5036pub type BN_CTX = bignum_ctx;
5037pub type BIGNUM = bignum_st;
5038#[repr(C)]
5039#[derive(Debug)]
5040pub struct bio_method_st {
5041 _unused: [u8; 0],
5042}
5043pub type BIO_METHOD = bio_method_st;
5044#[repr(C)]
5045#[derive(Debug)]
5046pub struct bio_st {
5047 _unused: [u8; 0],
5048}
5049pub type BIO = bio_st;
5050pub type BLAKE2B_CTX = blake2b_state_st;
5051pub type BN_GENCB = bn_gencb_st;
5052#[repr(C)]
5053#[derive(Debug)]
5054pub struct bn_mont_ctx_st {
5055 _unused: [u8; 0],
5056}
5057pub type BN_MONT_CTX = bn_mont_ctx_st;
5058pub type BUF_MEM = buf_mem_st;
5059pub type CBB = cbb_st;
5060pub type CBS = cbs_st;
5061#[repr(C)]
5062#[derive(Debug)]
5063pub struct cmac_ctx_st {
5064 _unused: [u8; 0],
5065}
5066pub type CMAC_CTX = cmac_ctx_st;
5067#[repr(C)]
5068#[derive(Debug)]
5069pub struct conf_st {
5070 _unused: [u8; 0],
5071}
5072pub type CONF = conf_st;
5073pub type CONF_VALUE = conf_value_st;
5074#[repr(C)]
5075#[derive(Debug)]
5076pub struct crypto_buffer_pool_st {
5077 _unused: [u8; 0],
5078}
5079pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
5080#[repr(C)]
5081#[derive(Debug)]
5082pub struct crypto_buffer_st {
5083 _unused: [u8; 0],
5084}
5085pub type CRYPTO_BUFFER = crypto_buffer_st;
5086pub type CRYPTO_IVEC = crypto_ivec_st;
5087pub type CRYPTO_IOVEC = crypto_iovec_st;
5088#[repr(C)]
5089#[derive(Debug)]
5090pub struct ctr_drbg_state_st {
5091 _unused: [u8; 0],
5092}
5093pub type CTR_DRBG_STATE = ctr_drbg_state_st;
5094#[repr(C)]
5095#[derive(Debug)]
5096pub struct dh_st {
5097 _unused: [u8; 0],
5098}
5099pub type DH = dh_st;
5100#[repr(C)]
5101#[derive(Debug)]
5102pub struct dsa_st {
5103 _unused: [u8; 0],
5104}
5105pub type DSA = dsa_st;
5106#[repr(C)]
5107#[derive(Debug)]
5108pub struct ec_group_st {
5109 _unused: [u8; 0],
5110}
5111pub type EC_GROUP = ec_group_st;
5112#[repr(C)]
5113#[derive(Debug)]
5114pub struct ec_key_st {
5115 _unused: [u8; 0],
5116}
5117pub type EC_KEY = ec_key_st;
5118#[repr(C)]
5119#[derive(Debug)]
5120pub struct ec_point_st {
5121 _unused: [u8; 0],
5122}
5123pub type EC_POINT = ec_point_st;
5124pub type ECDSA_METHOD = ecdsa_method_st;
5125pub type ECDSA_SIG = ecdsa_sig_st;
5126#[repr(C)]
5127#[derive(Debug)]
5128pub struct engine_st {
5129 _unused: [u8; 0],
5130}
5131pub type ENGINE = engine_st;
5132pub type EVP_MD_CTX = env_md_ctx_st;
5133#[repr(C)]
5134#[derive(Debug)]
5135pub struct env_md_st {
5136 _unused: [u8; 0],
5137}
5138pub type EVP_MD = env_md_st;
5139#[repr(C)]
5140#[derive(Debug)]
5141pub struct evp_aead_st {
5142 _unused: [u8; 0],
5143}
5144pub type EVP_AEAD = evp_aead_st;
5145pub type EVP_AEAD_CTX = evp_aead_ctx_st;
5146pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
5147#[repr(C)]
5148#[derive(Debug)]
5149pub struct evp_cipher_st {
5150 _unused: [u8; 0],
5151}
5152pub type EVP_CIPHER = evp_cipher_st;
5153pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
5154#[repr(C)]
5155#[derive(Debug)]
5156pub struct evp_hpke_aead_st {
5157 _unused: [u8; 0],
5158}
5159pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
5160pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
5161#[repr(C)]
5162#[derive(Debug)]
5163pub struct evp_hpke_kdf_st {
5164 _unused: [u8; 0],
5165}
5166pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
5167#[repr(C)]
5168#[derive(Debug)]
5169pub struct evp_hpke_kem_st {
5170 _unused: [u8; 0],
5171}
5172pub type EVP_HPKE_KEM = evp_hpke_kem_st;
5173pub type EVP_HPKE_KEY = evp_hpke_key_st;
5174#[repr(C)]
5175#[derive(Debug)]
5176pub struct evp_kem_st {
5177 _unused: [u8; 0],
5178}
5179pub type EVP_KEM = evp_kem_st;
5180#[repr(C)]
5181#[derive(Debug)]
5182pub struct evp_pkey_alg_st {
5183 _unused: [u8; 0],
5184}
5185pub type EVP_PKEY_ALG = evp_pkey_alg_st;
5186#[repr(C)]
5187#[derive(Debug)]
5188pub struct evp_pkey_ctx_st {
5189 _unused: [u8; 0],
5190}
5191pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
5192#[repr(C)]
5193#[derive(Debug)]
5194pub struct evp_pkey_st {
5195 _unused: [u8; 0],
5196}
5197pub type EVP_PKEY = evp_pkey_st;
5198pub type HMAC_CTX = hmac_ctx_st;
5199pub type MD4_CTX = md4_state_st;
5200pub type MD5_CTX = md5_state_st;
5201#[repr(C)]
5202#[derive(Debug)]
5203pub struct ossl_init_settings_st {
5204 _unused: [u8; 0],
5205}
5206pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
5207#[repr(C)]
5208#[derive(Debug)]
5209pub struct ossl_lib_ctx_st {
5210 _unused: [u8; 0],
5211}
5212pub type OSSL_LIB_CTX = ossl_lib_ctx_st;
5213#[repr(C)]
5214#[derive(Debug)]
5215pub struct ossl_param_st {
5216 _unused: [u8; 0],
5217}
5218pub type OSSL_PARAM = ossl_param_st;
5219#[repr(C)]
5220#[derive(Debug)]
5221pub struct pkcs12_st {
5222 _unused: [u8; 0],
5223}
5224pub type PKCS12 = pkcs12_st;
5225#[repr(C)]
5226#[derive(Debug)]
5227pub struct pkcs8_priv_key_info_st {
5228 _unused: [u8; 0],
5229}
5230pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
5231pub type X509_PKEY = private_key_st;
5232pub type RAND_METHOD = rand_meth_st;
5233pub type RC4_KEY = rc4_key_st;
5234pub type RSA_METHOD = rsa_meth_st;
5235pub type RSA_PSS_PARAMS = rsa_pss_params_st;
5236#[repr(C)]
5237#[derive(Debug)]
5238pub struct rsa_st {
5239 _unused: [u8; 0],
5240}
5241pub type RSA = rsa_st;
5242pub type SHA256_CTX = sha256_state_st;
5243pub type SHA512_CTX = sha512_state_st;
5244pub type SHA_CTX = sha_state_st;
5245#[repr(C)]
5246#[derive(Debug)]
5247pub struct spake2_ctx_st {
5248 _unused: [u8; 0],
5249}
5250pub type SPAKE2_CTX = spake2_ctx_st;
5251pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
5252#[repr(C)]
5253#[derive(Debug)]
5254pub struct ssl_cipher_st {
5255 _unused: [u8; 0],
5256}
5257pub type SSL_CIPHER = ssl_cipher_st;
5258#[repr(C)]
5259#[derive(Debug)]
5260pub struct ssl_credential_st {
5261 _unused: [u8; 0],
5262}
5263pub type SSL_CREDENTIAL = ssl_credential_st;
5264#[repr(C)]
5265#[derive(Debug)]
5266pub struct ssl_ctx_st {
5267 _unused: [u8; 0],
5268}
5269pub type SSL_CTX = ssl_ctx_st;
5270pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
5271#[repr(C)]
5272#[derive(Debug)]
5273pub struct ssl_ech_keys_st {
5274 _unused: [u8; 0],
5275}
5276pub type SSL_ECH_KEYS = ssl_ech_keys_st;
5277#[repr(C)]
5278#[derive(Debug)]
5279pub struct ssl_method_st {
5280 _unused: [u8; 0],
5281}
5282pub type SSL_METHOD = ssl_method_st;
5283pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
5284pub type SSL_QUIC_METHOD = ssl_quic_method_st;
5285#[repr(C)]
5286#[derive(Debug)]
5287pub struct ssl_session_st {
5288 _unused: [u8; 0],
5289}
5290pub type SSL_SESSION = ssl_session_st;
5291#[repr(C)]
5292#[derive(Debug)]
5293pub struct ssl_st {
5294 _unused: [u8; 0],
5295}
5296pub type SSL = ssl_st;
5297pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
5298#[repr(C)]
5299#[derive(Debug)]
5300pub struct st_ERR_FNS {
5301 _unused: [u8; 0],
5302}
5303pub type ERR_FNS = st_ERR_FNS;
5304pub type TRUST_TOKEN = trust_token_st;
5305#[repr(C)]
5306#[derive(Debug)]
5307pub struct trust_token_client_st {
5308 _unused: [u8; 0],
5309}
5310pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
5311#[repr(C)]
5312#[derive(Debug)]
5313pub struct trust_token_issuer_st {
5314 _unused: [u8; 0],
5315}
5316pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
5317#[repr(C)]
5318#[derive(Debug)]
5319pub struct trust_token_method_st {
5320 _unused: [u8; 0],
5321}
5322pub type TRUST_TOKEN_METHOD = trust_token_method_st;
5323pub type X509V3_CTX = v3_ext_ctx;
5324pub type X509V3_EXT_METHOD = v3_ext_method;
5325#[repr(C)]
5326#[derive(Debug)]
5327pub struct x509_attributes_st {
5328 _unused: [u8; 0],
5329}
5330pub type X509_ATTRIBUTE = x509_attributes_st;
5331#[repr(C)]
5332#[derive(Debug)]
5333pub struct x509_lookup_st {
5334 _unused: [u8; 0],
5335}
5336pub type X509_LOOKUP = x509_lookup_st;
5337#[repr(C)]
5338#[derive(Debug)]
5339pub struct x509_lookup_method_st {
5340 _unused: [u8; 0],
5341}
5342pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
5343#[repr(C)]
5344#[derive(Debug)]
5345pub struct x509_object_st {
5346 _unused: [u8; 0],
5347}
5348pub type X509_OBJECT = x509_object_st;
5349#[repr(C)]
5350#[derive(Debug)]
5351pub struct x509_purpose_st {
5352 _unused: [u8; 0],
5353}
5354pub type X509_PURPOSE = x509_purpose_st;
5355#[repr(C)]
5356#[derive(Debug)]
5357pub struct x509_revoked_st {
5358 _unused: [u8; 0],
5359}
5360pub type X509_REVOKED = x509_revoked_st;
5361#[repr(C)]
5362#[derive(Debug)]
5363pub struct x509_st {
5364 _unused: [u8; 0],
5365}
5366pub type X509 = x509_st;
5367#[repr(C)]
5368#[derive(Debug)]
5369pub struct x509_store_ctx_st {
5370 _unused: [u8; 0],
5371}
5372pub type X509_STORE_CTX = x509_store_ctx_st;
5373#[repr(C)]
5374#[derive(Debug)]
5375pub struct x509_store_st {
5376 _unused: [u8; 0],
5377}
5378pub type X509_STORE = x509_store_st;
5379pub type OPENSSL_BLOCK = *mut ::core::ffi::c_void;
5380#[repr(C)]
5381#[derive(Debug, Copy, Clone)]
5382pub struct aes_key_st {
5383 pub rd_key: [u32; 60usize],
5384 pub rounds: ::core::ffi::c_uint,
5385}
5386pub type AES_KEY = aes_key_st;
5387unsafe extern "C" {
5388 pub fn AES_set_encrypt_key(
5389 key: *const u8,
5390 bits: ::core::ffi::c_uint,
5391 aeskey: *mut AES_KEY,
5392 ) -> ::core::ffi::c_int;
5393}
5394unsafe extern "C" {
5395 pub fn AES_set_decrypt_key(
5396 key: *const u8,
5397 bits: ::core::ffi::c_uint,
5398 aeskey: *mut AES_KEY,
5399 ) -> ::core::ffi::c_int;
5400}
5401unsafe extern "C" {
5402 pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5403}
5404unsafe extern "C" {
5405 pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5406}
5407unsafe extern "C" {
5408 pub fn AES_ctr128_encrypt(
5409 in_: *const u8,
5410 out: *mut u8,
5411 len: usize,
5412 key: *const AES_KEY,
5413 ivec: *mut u8,
5414 ecount_buf: *mut u8,
5415 num: *mut ::core::ffi::c_uint,
5416 );
5417}
5418unsafe extern "C" {
5419 pub fn AES_ecb_encrypt(
5420 in_: *const u8,
5421 out: *mut u8,
5422 key: *const AES_KEY,
5423 enc: ::core::ffi::c_int,
5424 );
5425}
5426unsafe extern "C" {
5427 pub fn AES_cbc_encrypt(
5428 in_: *const u8,
5429 out: *mut u8,
5430 len: usize,
5431 key: *const AES_KEY,
5432 ivec: *mut u8,
5433 enc: ::core::ffi::c_int,
5434 );
5435}
5436unsafe extern "C" {
5437 pub fn AES_ofb128_encrypt(
5438 in_: *const u8,
5439 out: *mut u8,
5440 len: usize,
5441 key: *const AES_KEY,
5442 ivec: *mut u8,
5443 num: *mut ::core::ffi::c_int,
5444 );
5445}
5446unsafe extern "C" {
5447 pub fn AES_cfb128_encrypt(
5448 in_: *const u8,
5449 out: *mut u8,
5450 len: usize,
5451 key: *const AES_KEY,
5452 ivec: *mut u8,
5453 num: *mut ::core::ffi::c_int,
5454 enc: ::core::ffi::c_int,
5455 );
5456}
5457unsafe extern "C" {
5458 pub fn AES_wrap_key(
5459 key: *const AES_KEY,
5460 iv: *const u8,
5461 out: *mut u8,
5462 in_: *const u8,
5463 in_len: usize,
5464 ) -> ::core::ffi::c_int;
5465}
5466unsafe extern "C" {
5467 pub fn AES_unwrap_key(
5468 key: *const AES_KEY,
5469 iv: *const u8,
5470 out: *mut u8,
5471 in_: *const u8,
5472 in_len: usize,
5473 ) -> ::core::ffi::c_int;
5474}
5475unsafe extern "C" {
5476 pub fn AES_wrap_key_padded(
5477 key: *const AES_KEY,
5478 out: *mut u8,
5479 out_len: *mut usize,
5480 max_out: usize,
5481 in_: *const u8,
5482 in_len: usize,
5483 ) -> ::core::ffi::c_int;
5484}
5485unsafe extern "C" {
5486 pub fn AES_unwrap_key_padded(
5487 key: *const AES_KEY,
5488 out: *mut u8,
5489 out_len: *mut usize,
5490 max_out: usize,
5491 in_: *const u8,
5492 in_len: usize,
5493 ) -> ::core::ffi::c_int;
5494}
5495#[repr(C)]
5496#[derive(Debug, Copy, Clone)]
5497pub struct tm {
5498 pub tm_sec: ::core::ffi::c_int,
5499 pub tm_min: ::core::ffi::c_int,
5500 pub tm_hour: ::core::ffi::c_int,
5501 pub tm_mday: ::core::ffi::c_int,
5502 pub tm_mon: ::core::ffi::c_int,
5503 pub tm_year: ::core::ffi::c_int,
5504 pub tm_wday: ::core::ffi::c_int,
5505 pub tm_yday: ::core::ffi::c_int,
5506 pub tm_isdst: ::core::ffi::c_int,
5507 pub tm_gmtoff: ::core::ffi::c_long,
5508 pub tm_zone: *const ::core::ffi::c_char,
5509}
5510pub type __gnuc_va_list = __builtin_va_list;
5511pub type FILE = _IO_FILE;
5512#[repr(C)]
5513#[derive(Debug)]
5514pub struct _IO_marker {
5515 _unused: [u8; 0],
5516}
5517#[repr(C)]
5518#[derive(Debug)]
5519pub struct _IO_codecvt {
5520 _unused: [u8; 0],
5521}
5522#[repr(C)]
5523#[derive(Debug)]
5524pub struct _IO_wide_data {
5525 _unused: [u8; 0],
5526}
5527pub type _IO_lock_t = ::core::ffi::c_void;
5528#[repr(C)]
5529#[derive(Debug, Copy, Clone)]
5530pub struct _IO_FILE {
5531 pub _flags: ::core::ffi::c_int,
5532 pub _IO_read_ptr: *mut ::core::ffi::c_char,
5533 pub _IO_read_end: *mut ::core::ffi::c_char,
5534 pub _IO_read_base: *mut ::core::ffi::c_char,
5535 pub _IO_write_base: *mut ::core::ffi::c_char,
5536 pub _IO_write_ptr: *mut ::core::ffi::c_char,
5537 pub _IO_write_end: *mut ::core::ffi::c_char,
5538 pub _IO_buf_base: *mut ::core::ffi::c_char,
5539 pub _IO_buf_end: *mut ::core::ffi::c_char,
5540 pub _IO_save_base: *mut ::core::ffi::c_char,
5541 pub _IO_backup_base: *mut ::core::ffi::c_char,
5542 pub _IO_save_end: *mut ::core::ffi::c_char,
5543 pub _markers: *mut _IO_marker,
5544 pub _chain: *mut _IO_FILE,
5545 pub _fileno: ::core::ffi::c_int,
5546 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
5547 pub _short_backupbuf: [::core::ffi::c_char; 1usize],
5548 pub _old_offset: __off_t,
5549 pub _cur_column: ::core::ffi::c_ushort,
5550 pub _vtable_offset: ::core::ffi::c_schar,
5551 pub _shortbuf: [::core::ffi::c_char; 1usize],
5552 pub _lock: *mut _IO_lock_t,
5553 pub _offset: __off64_t,
5554 pub _codecvt: *mut _IO_codecvt,
5555 pub _wide_data: *mut _IO_wide_data,
5556 pub _freeres_list: *mut _IO_FILE,
5557 pub _freeres_buf: *mut ::core::ffi::c_void,
5558 pub _prevchain: *mut *mut _IO_FILE,
5559 pub _mode: ::core::ffi::c_int,
5560 pub _unused3: ::core::ffi::c_int,
5561 pub _total_written: __uint64_t,
5562 pub _unused2: [::core::ffi::c_char; 8usize],
5563}
5564impl _IO_FILE {
5565 #[inline]
5566 pub fn _flags2(&self) -> ::core::ffi::c_int {
5567 self._bitfield_1.get_const::<0usize, 24u8>() as u32 as _
5568 }
5569 #[inline]
5570 pub fn set__flags2(&mut self, val: ::core::ffi::c_int) {
5571 let val: u32 = val as _;
5572 self._bitfield_1.set_const::<0usize, 24u8>(val as u64)
5573 }
5574 #[inline]
5575 pub unsafe fn _flags2_raw(this: *const Self) -> ::core::ffi::c_int {
5576 unsafe {
5577 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get_const::<0usize, 24u8>(
5578 ::core::ptr::addr_of!((*this)._bitfield_1),
5579 ) as u32 as _
5580 }
5581 }
5582 #[inline]
5583 pub unsafe fn set__flags2_raw(this: *mut Self, val: ::core::ffi::c_int) {
5584 unsafe {
5585 let val: u32 = val as _;
5586 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set_const::<0usize, 24u8>(
5587 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
5588 val as u64,
5589 )
5590 }
5591 }
5592 #[inline]
5593 pub fn new_bitfield_1(_flags2: ::core::ffi::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> {
5594 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
5595 __bindgen_bitfield_unit.set_const::<0usize, 24u8>({
5596 let _flags2: u32 = _flags2 as _;
5597 _flags2 as u64
5598 });
5599 __bindgen_bitfield_unit
5600 }
5601}
5602pub type va_list = __gnuc_va_list;
5603#[repr(C)]
5604#[derive(Debug, Copy, Clone)]
5605pub struct buf_mem_st {
5606 pub length: usize,
5607 pub data: *mut ::core::ffi::c_char,
5608 pub max: usize,
5609}
5610unsafe extern "C" {
5611 pub fn BUF_MEM_new() -> *mut BUF_MEM;
5612}
5613unsafe extern "C" {
5614 pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5615}
5616unsafe extern "C" {
5617 pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::core::ffi::c_int;
5618}
5619unsafe extern "C" {
5620 pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5621}
5622unsafe extern "C" {
5623 pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5624}
5625unsafe extern "C" {
5626 pub fn BUF_MEM_append(
5627 buf: *mut BUF_MEM,
5628 in_: *const ::core::ffi::c_void,
5629 len: usize,
5630 ) -> ::core::ffi::c_int;
5631}
5632unsafe extern "C" {
5633 pub fn BUF_strdup(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
5634}
5635unsafe extern "C" {
5636 pub fn BUF_strnlen(str_: *const ::core::ffi::c_char, max_len: usize) -> usize;
5637}
5638unsafe extern "C" {
5639 pub fn BUF_strndup(str_: *const ::core::ffi::c_char, size: usize) -> *mut ::core::ffi::c_char;
5640}
5641unsafe extern "C" {
5642 pub fn BUF_memdup(data: *const ::core::ffi::c_void, size: usize) -> *mut ::core::ffi::c_void;
5643}
5644unsafe extern "C" {
5645 pub fn BUF_strlcpy(
5646 dst: *mut ::core::ffi::c_char,
5647 src: *const ::core::ffi::c_char,
5648 dst_size: usize,
5649 ) -> usize;
5650}
5651unsafe extern "C" {
5652 pub fn BUF_strlcat(
5653 dst: *mut ::core::ffi::c_char,
5654 src: *const ::core::ffi::c_char,
5655 dst_size: usize,
5656 ) -> usize;
5657}
5658unsafe extern "C" {
5659 #[link_name = "ERR_GET_LIB__extern"]
5660 pub fn ERR_GET_LIB(packed_error: u32) -> ::core::ffi::c_int;
5661}
5662unsafe extern "C" {
5663 #[link_name = "ERR_GET_REASON__extern"]
5664 pub fn ERR_GET_REASON(packed_error: u32) -> ::core::ffi::c_int;
5665}
5666unsafe extern "C" {
5667 #[link_name = "ERR_equals__extern"]
5668 pub fn ERR_equals(
5669 packed_error: u32,
5670 lib: ::core::ffi::c_int,
5671 reason: ::core::ffi::c_int,
5672 ) -> ::core::ffi::c_int;
5673}
5674unsafe extern "C" {
5675 pub fn ERR_get_error() -> u32;
5676}
5677unsafe extern "C" {
5678 pub fn ERR_get_error_line(
5679 file: *mut *const ::core::ffi::c_char,
5680 line: *mut ::core::ffi::c_int,
5681 ) -> u32;
5682}
5683unsafe extern "C" {
5684 pub fn ERR_get_error_line_data(
5685 file: *mut *const ::core::ffi::c_char,
5686 line: *mut ::core::ffi::c_int,
5687 data: *mut *const ::core::ffi::c_char,
5688 flags: *mut ::core::ffi::c_int,
5689 ) -> u32;
5690}
5691unsafe extern "C" {
5692 pub fn ERR_peek_error() -> u32;
5693}
5694unsafe extern "C" {
5695 pub fn ERR_peek_error_line(
5696 file: *mut *const ::core::ffi::c_char,
5697 line: *mut ::core::ffi::c_int,
5698 ) -> u32;
5699}
5700unsafe extern "C" {
5701 pub fn ERR_peek_error_line_data(
5702 file: *mut *const ::core::ffi::c_char,
5703 line: *mut ::core::ffi::c_int,
5704 data: *mut *const ::core::ffi::c_char,
5705 flags: *mut ::core::ffi::c_int,
5706 ) -> u32;
5707}
5708unsafe extern "C" {
5709 pub fn ERR_peek_last_error() -> u32;
5710}
5711unsafe extern "C" {
5712 pub fn ERR_peek_last_error_line(
5713 file: *mut *const ::core::ffi::c_char,
5714 line: *mut ::core::ffi::c_int,
5715 ) -> u32;
5716}
5717unsafe extern "C" {
5718 pub fn ERR_peek_last_error_line_data(
5719 file: *mut *const ::core::ffi::c_char,
5720 line: *mut ::core::ffi::c_int,
5721 data: *mut *const ::core::ffi::c_char,
5722 flags: *mut ::core::ffi::c_int,
5723 ) -> u32;
5724}
5725unsafe extern "C" {
5726 pub fn ERR_error_string_n(
5727 packed_error: u32,
5728 buf: *mut ::core::ffi::c_char,
5729 len: usize,
5730 ) -> *mut ::core::ffi::c_char;
5731}
5732unsafe extern "C" {
5733 pub fn ERR_lib_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5734}
5735unsafe extern "C" {
5736 pub fn ERR_reason_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5737}
5738unsafe extern "C" {
5739 pub fn ERR_lib_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5740}
5741unsafe extern "C" {
5742 pub fn ERR_reason_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5743}
5744pub type ERR_print_errors_callback_t = ::core::option::Option<
5745 unsafe extern "C" fn(
5746 str_: *const ::core::ffi::c_char,
5747 len: usize,
5748 ctx: *mut ::core::ffi::c_void,
5749 ) -> ::core::ffi::c_int,
5750>;
5751unsafe extern "C" {
5752 pub fn ERR_print_errors_cb(
5753 callback: ERR_print_errors_callback_t,
5754 ctx: *mut ::core::ffi::c_void,
5755 );
5756}
5757unsafe extern "C" {
5758 pub fn ERR_print_errors_fp(file: *mut FILE);
5759}
5760unsafe extern "C" {
5761 pub fn ERR_clear_error();
5762}
5763unsafe extern "C" {
5764 pub fn ERR_set_mark() -> ::core::ffi::c_int;
5765}
5766unsafe extern "C" {
5767 pub fn ERR_pop_to_mark() -> ::core::ffi::c_int;
5768}
5769unsafe extern "C" {
5770 pub fn ERR_get_next_error_library() -> ::core::ffi::c_int;
5771}
5772pub const ERR_LIB_NONE: _bindgen_ty_1 = 1;
5773pub const ERR_LIB_SYS: _bindgen_ty_1 = 2;
5774pub const ERR_LIB_BN: _bindgen_ty_1 = 3;
5775pub const ERR_LIB_RSA: _bindgen_ty_1 = 4;
5776pub const ERR_LIB_DH: _bindgen_ty_1 = 5;
5777pub const ERR_LIB_EVP: _bindgen_ty_1 = 6;
5778pub const ERR_LIB_BUF: _bindgen_ty_1 = 7;
5779pub const ERR_LIB_OBJ: _bindgen_ty_1 = 8;
5780pub const ERR_LIB_PEM: _bindgen_ty_1 = 9;
5781pub const ERR_LIB_DSA: _bindgen_ty_1 = 10;
5782pub const ERR_LIB_X509: _bindgen_ty_1 = 11;
5783pub const ERR_LIB_ASN1: _bindgen_ty_1 = 12;
5784pub const ERR_LIB_CONF: _bindgen_ty_1 = 13;
5785pub const ERR_LIB_CRYPTO: _bindgen_ty_1 = 14;
5786pub const ERR_LIB_EC: _bindgen_ty_1 = 15;
5787pub const ERR_LIB_SSL: _bindgen_ty_1 = 16;
5788pub const ERR_LIB_BIO: _bindgen_ty_1 = 17;
5789pub const ERR_LIB_PKCS7: _bindgen_ty_1 = 18;
5790pub const ERR_LIB_PKCS8: _bindgen_ty_1 = 19;
5791pub const ERR_LIB_X509V3: _bindgen_ty_1 = 20;
5792pub const ERR_LIB_RAND: _bindgen_ty_1 = 21;
5793pub const ERR_LIB_ENGINE: _bindgen_ty_1 = 22;
5794pub const ERR_LIB_OCSP: _bindgen_ty_1 = 23;
5795pub const ERR_LIB_UI: _bindgen_ty_1 = 24;
5796pub const ERR_LIB_COMP: _bindgen_ty_1 = 25;
5797pub const ERR_LIB_ECDSA: _bindgen_ty_1 = 26;
5798pub const ERR_LIB_ECDH: _bindgen_ty_1 = 27;
5799pub const ERR_LIB_HMAC: _bindgen_ty_1 = 28;
5800pub const ERR_LIB_DIGEST: _bindgen_ty_1 = 29;
5801pub const ERR_LIB_CIPHER: _bindgen_ty_1 = 30;
5802pub const ERR_LIB_HKDF: _bindgen_ty_1 = 31;
5803pub const ERR_LIB_TRUST_TOKEN: _bindgen_ty_1 = 32;
5804pub const ERR_LIB_CMS: _bindgen_ty_1 = 33;
5805pub const ERR_LIB_USER: _bindgen_ty_1 = 34;
5806pub const ERR_NUM_LIBS: _bindgen_ty_1 = 35;
5807pub type _bindgen_ty_1 = ::core::ffi::c_uint;
5808unsafe extern "C" {
5809 pub fn ERR_load_BIO_strings();
5810}
5811unsafe extern "C" {
5812 pub fn ERR_load_ERR_strings();
5813}
5814unsafe extern "C" {
5815 pub fn ERR_load_crypto_strings();
5816}
5817unsafe extern "C" {
5818 pub fn ERR_load_RAND_strings();
5819}
5820unsafe extern "C" {
5821 pub fn ERR_free_strings();
5822}
5823unsafe extern "C" {
5824 pub fn ERR_remove_state(pid: ::core::ffi::c_ulong);
5825}
5826unsafe extern "C" {
5827 pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
5828}
5829unsafe extern "C" {
5830 pub fn ERR_func_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5831}
5832unsafe extern "C" {
5833 pub fn ERR_error_string(
5834 packed_error: u32,
5835 buf: *mut ::core::ffi::c_char,
5836 ) -> *mut ::core::ffi::c_char;
5837}
5838unsafe extern "C" {
5839 #[link_name = "ERR_GET_FUNC__extern"]
5840 pub fn ERR_GET_FUNC(packed_error: u32) -> ::core::ffi::c_int;
5841}
5842unsafe extern "C" {
5843 pub fn ERR_clear_system_error();
5844}
5845unsafe extern "C" {
5846 pub fn ERR_put_error(
5847 library: ::core::ffi::c_int,
5848 unused: ::core::ffi::c_int,
5849 reason: ::core::ffi::c_int,
5850 file: *const ::core::ffi::c_char,
5851 line: ::core::ffi::c_uint,
5852 );
5853}
5854unsafe extern "C" {
5855 pub fn ERR_add_error_data(count: ::core::ffi::c_uint, ...);
5856}
5857unsafe extern "C" {
5858 pub fn ERR_add_error_dataf(format: *const ::core::ffi::c_char, ...);
5859}
5860unsafe extern "C" {
5861 pub fn ERR_set_error_data(data: *mut ::core::ffi::c_char, flags: ::core::ffi::c_int);
5862}
5863#[repr(C)]
5864#[derive(Debug)]
5865pub struct crypto_ex_data_st {
5866 _unused: [u8; 0],
5867}
5868pub type CRYPTO_EX_DATA = crypto_ex_data_st;
5869pub type CRYPTO_EX_free = ::core::option::Option<
5870 unsafe extern "C" fn(
5871 parent: *mut ::core::ffi::c_void,
5872 ptr: *mut ::core::ffi::c_void,
5873 ad: *mut CRYPTO_EX_DATA,
5874 index: ::core::ffi::c_int,
5875 argl: ::core::ffi::c_long,
5876 argp: *mut ::core::ffi::c_void,
5877 ),
5878>;
5879unsafe extern "C" {
5880 pub fn CRYPTO_cleanup_all_ex_data();
5881}
5882pub type CRYPTO_EX_dup = ::core::option::Option<
5883 unsafe extern "C" fn(
5884 to: *mut CRYPTO_EX_DATA,
5885 from: *const CRYPTO_EX_DATA,
5886 from_d: *mut *mut ::core::ffi::c_void,
5887 index: ::core::ffi::c_int,
5888 argl: ::core::ffi::c_long,
5889 argp: *mut ::core::ffi::c_void,
5890 ) -> ::core::ffi::c_int,
5891>;
5892pub type CRYPTO_EX_unused = ::core::ffi::c_int;
5893pub type OPENSSL_sk_free_func =
5894 ::core::option::Option<unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void)>;
5895pub type OPENSSL_sk_copy_func = ::core::option::Option<
5896 unsafe extern "C" fn(ptr: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
5897>;
5898pub type OPENSSL_sk_cmp_func = ::core::option::Option<
5899 unsafe extern "C" fn(
5900 a: *const *const ::core::ffi::c_void,
5901 b: *const *const ::core::ffi::c_void,
5902 ) -> ::core::ffi::c_int,
5903>;
5904pub type OPENSSL_sk_delete_if_func = ::core::option::Option<
5905 unsafe extern "C" fn(
5906 obj: *mut ::core::ffi::c_void,
5907 data: *mut ::core::ffi::c_void,
5908 ) -> ::core::ffi::c_int,
5909>;
5910pub type OPENSSL_sk_call_free_func = ::core::option::Option<
5911 unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::core::ffi::c_void),
5912>;
5913pub type OPENSSL_sk_call_copy_func = ::core::option::Option<
5914 unsafe extern "C" fn(
5915 arg1: OPENSSL_sk_copy_func,
5916 arg2: *const ::core::ffi::c_void,
5917 ) -> *mut ::core::ffi::c_void,
5918>;
5919pub type OPENSSL_sk_call_cmp_func = ::core::option::Option<
5920 unsafe extern "C" fn(
5921 arg1: OPENSSL_sk_cmp_func,
5922 arg2: *const ::core::ffi::c_void,
5923 arg3: *const ::core::ffi::c_void,
5924 ) -> ::core::ffi::c_int,
5925>;
5926pub type OPENSSL_sk_call_delete_if_func = ::core::option::Option<
5927 unsafe extern "C" fn(
5928 arg1: OPENSSL_sk_delete_if_func,
5929 arg2: *mut ::core::ffi::c_void,
5930 arg3: *mut ::core::ffi::c_void,
5931 ) -> ::core::ffi::c_int,
5932>;
5933#[repr(C)]
5934#[derive(Debug)]
5935pub struct stack_st {
5936 _unused: [u8; 0],
5937}
5938pub type OPENSSL_STACK = stack_st;
5939unsafe extern "C" {
5940 pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
5941}
5942unsafe extern "C" {
5943 pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
5944}
5945unsafe extern "C" {
5946 pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
5947}
5948unsafe extern "C" {
5949 pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
5950}
5951unsafe extern "C" {
5952 pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
5953}
5954unsafe extern "C" {
5955 pub fn OPENSSL_sk_set(
5956 sk: *mut OPENSSL_STACK,
5957 i: usize,
5958 p: *mut ::core::ffi::c_void,
5959 ) -> *mut ::core::ffi::c_void;
5960}
5961unsafe extern "C" {
5962 pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
5963}
5964unsafe extern "C" {
5965 pub fn OPENSSL_sk_pop_free_ex(
5966 sk: *mut OPENSSL_STACK,
5967 call_free_func: OPENSSL_sk_call_free_func,
5968 free_func: OPENSSL_sk_free_func,
5969 );
5970}
5971unsafe extern "C" {
5972 pub fn OPENSSL_sk_insert(
5973 sk: *mut OPENSSL_STACK,
5974 p: *mut ::core::ffi::c_void,
5975 where_: usize,
5976 ) -> usize;
5977}
5978unsafe extern "C" {
5979 pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::core::ffi::c_void;
5980}
5981unsafe extern "C" {
5982 pub fn OPENSSL_sk_delete_ptr(
5983 sk: *mut OPENSSL_STACK,
5984 p: *const ::core::ffi::c_void,
5985 ) -> *mut ::core::ffi::c_void;
5986}
5987unsafe extern "C" {
5988 pub fn OPENSSL_sk_delete_if(
5989 sk: *mut OPENSSL_STACK,
5990 call_func: OPENSSL_sk_call_delete_if_func,
5991 func: OPENSSL_sk_delete_if_func,
5992 data: *mut ::core::ffi::c_void,
5993 );
5994}
5995unsafe extern "C" {
5996 pub fn OPENSSL_sk_find(
5997 sk: *const OPENSSL_STACK,
5998 out_index: *mut usize,
5999 p: *const ::core::ffi::c_void,
6000 call_cmp_func: OPENSSL_sk_call_cmp_func,
6001 ) -> ::core::ffi::c_int;
6002}
6003unsafe extern "C" {
6004 pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6005}
6006unsafe extern "C" {
6007 pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
6008}
6009unsafe extern "C" {
6010 pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6011}
6012unsafe extern "C" {
6013 pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6014}
6015unsafe extern "C" {
6016 pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6017}
6018unsafe extern "C" {
6019 pub fn OPENSSL_sk_sort_and_dedup(
6020 sk: *mut OPENSSL_STACK,
6021 call_cmp_func: OPENSSL_sk_call_cmp_func,
6022 call_free_func: OPENSSL_sk_call_free_func,
6023 free_func: OPENSSL_sk_free_func,
6024 );
6025}
6026unsafe extern "C" {
6027 pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::core::ffi::c_int;
6028}
6029unsafe extern "C" {
6030 pub fn OPENSSL_sk_set_cmp_func(
6031 sk: *mut OPENSSL_STACK,
6032 comp: OPENSSL_sk_cmp_func,
6033 ) -> OPENSSL_sk_cmp_func;
6034}
6035unsafe extern "C" {
6036 pub fn OPENSSL_sk_deep_copy(
6037 sk: *const OPENSSL_STACK,
6038 call_copy_func: OPENSSL_sk_call_copy_func,
6039 copy_func: OPENSSL_sk_copy_func,
6040 call_free_func: OPENSSL_sk_call_free_func,
6041 free_func: OPENSSL_sk_free_func,
6042 ) -> *mut OPENSSL_STACK;
6043}
6044pub type _STACK = OPENSSL_STACK;
6045unsafe extern "C" {
6046 pub fn sk_new_null() -> *mut OPENSSL_STACK;
6047}
6048unsafe extern "C" {
6049 pub fn sk_num(sk: *const OPENSSL_STACK) -> usize;
6050}
6051unsafe extern "C" {
6052 pub fn sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
6053}
6054unsafe extern "C" {
6055 pub fn sk_free(sk: *mut OPENSSL_STACK);
6056}
6057unsafe extern "C" {
6058 pub fn sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
6059}
6060unsafe extern "C" {
6061 pub fn sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6062}
6063unsafe extern "C" {
6064 pub fn sk_pop_free_ex(
6065 sk: *mut OPENSSL_STACK,
6066 call_free_func: OPENSSL_sk_call_free_func,
6067 free_func: OPENSSL_sk_free_func,
6068 );
6069}
6070unsafe extern "C" {
6071 pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6072}
6073pub type OPENSSL_STRING = *mut ::core::ffi::c_char;
6074#[repr(C)]
6075#[derive(Debug)]
6076pub struct stack_st_void {
6077 _unused: [u8; 0],
6078}
6079pub type sk_void_free_func =
6080 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>;
6081pub type sk_void_copy_func = ::core::option::Option<
6082 unsafe extern "C" fn(arg1: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
6083>;
6084pub type sk_void_cmp_func = ::core::option::Option<
6085 unsafe extern "C" fn(
6086 arg1: *const *const ::core::ffi::c_void,
6087 arg2: *const *const ::core::ffi::c_void,
6088 ) -> ::core::ffi::c_int,
6089>;
6090pub type sk_void_delete_if_func = ::core::option::Option<
6091 unsafe extern "C" fn(
6092 arg1: *mut ::core::ffi::c_void,
6093 arg2: *mut ::core::ffi::c_void,
6094 ) -> ::core::ffi::c_int,
6095>;
6096unsafe extern "C" {
6097 #[link_name = "sk_void_call_free_func__extern"]
6098 pub fn sk_void_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6099}
6100unsafe extern "C" {
6101 #[link_name = "sk_void_call_copy_func__extern"]
6102 pub fn sk_void_call_copy_func(
6103 copy_func: OPENSSL_sk_copy_func,
6104 ptr: *const ::core::ffi::c_void,
6105 ) -> *mut ::core::ffi::c_void;
6106}
6107unsafe extern "C" {
6108 #[link_name = "sk_void_call_cmp_func__extern"]
6109 pub fn sk_void_call_cmp_func(
6110 cmp_func: OPENSSL_sk_cmp_func,
6111 a: *const ::core::ffi::c_void,
6112 b: *const ::core::ffi::c_void,
6113 ) -> ::core::ffi::c_int;
6114}
6115unsafe extern "C" {
6116 #[link_name = "sk_void_call_delete_if_func__extern"]
6117 pub fn sk_void_call_delete_if_func(
6118 func: OPENSSL_sk_delete_if_func,
6119 obj: *mut ::core::ffi::c_void,
6120 data: *mut ::core::ffi::c_void,
6121 ) -> ::core::ffi::c_int;
6122}
6123unsafe extern "C" {
6124 #[link_name = "sk_void_new__extern"]
6125 pub fn sk_void_new(comp: sk_void_cmp_func) -> *mut stack_st_void;
6126}
6127unsafe extern "C" {
6128 #[link_name = "sk_void_new_null__extern"]
6129 pub fn sk_void_new_null() -> *mut stack_st_void;
6130}
6131unsafe extern "C" {
6132 #[link_name = "sk_void_num__extern"]
6133 pub fn sk_void_num(sk: *const stack_st_void) -> usize;
6134}
6135unsafe extern "C" {
6136 #[link_name = "sk_void_zero__extern"]
6137 pub fn sk_void_zero(sk: *mut stack_st_void);
6138}
6139unsafe extern "C" {
6140 #[link_name = "sk_void_value__extern"]
6141 pub fn sk_void_value(sk: *const stack_st_void, i: usize) -> *mut ::core::ffi::c_void;
6142}
6143unsafe extern "C" {
6144 #[link_name = "sk_void_set__extern"]
6145 pub fn sk_void_set(
6146 sk: *mut stack_st_void,
6147 i: usize,
6148 p: *mut ::core::ffi::c_void,
6149 ) -> *mut ::core::ffi::c_void;
6150}
6151unsafe extern "C" {
6152 #[link_name = "sk_void_free__extern"]
6153 pub fn sk_void_free(sk: *mut stack_st_void);
6154}
6155unsafe extern "C" {
6156 #[link_name = "sk_void_pop_free__extern"]
6157 pub fn sk_void_pop_free(sk: *mut stack_st_void, free_func: sk_void_free_func);
6158}
6159unsafe extern "C" {
6160 #[link_name = "sk_void_insert__extern"]
6161 pub fn sk_void_insert(
6162 sk: *mut stack_st_void,
6163 p: *mut ::core::ffi::c_void,
6164 where_: usize,
6165 ) -> usize;
6166}
6167unsafe extern "C" {
6168 #[link_name = "sk_void_delete__extern"]
6169 pub fn sk_void_delete(sk: *mut stack_st_void, where_: usize) -> *mut ::core::ffi::c_void;
6170}
6171unsafe extern "C" {
6172 #[link_name = "sk_void_delete_ptr__extern"]
6173 pub fn sk_void_delete_ptr(
6174 sk: *mut stack_st_void,
6175 p: *const ::core::ffi::c_void,
6176 ) -> *mut ::core::ffi::c_void;
6177}
6178unsafe extern "C" {
6179 #[link_name = "sk_void_delete_if__extern"]
6180 pub fn sk_void_delete_if(
6181 sk: *mut stack_st_void,
6182 func: sk_void_delete_if_func,
6183 data: *mut ::core::ffi::c_void,
6184 );
6185}
6186unsafe extern "C" {
6187 #[link_name = "sk_void_find__extern"]
6188 pub fn sk_void_find(
6189 sk: *const stack_st_void,
6190 out_index: *mut usize,
6191 p: *const ::core::ffi::c_void,
6192 ) -> ::core::ffi::c_int;
6193}
6194unsafe extern "C" {
6195 #[link_name = "sk_void_shift__extern"]
6196 pub fn sk_void_shift(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6197}
6198unsafe extern "C" {
6199 #[link_name = "sk_void_push__extern"]
6200 pub fn sk_void_push(sk: *mut stack_st_void, p: *mut ::core::ffi::c_void) -> usize;
6201}
6202unsafe extern "C" {
6203 #[link_name = "sk_void_pop__extern"]
6204 pub fn sk_void_pop(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6205}
6206unsafe extern "C" {
6207 #[link_name = "sk_void_dup__extern"]
6208 pub fn sk_void_dup(sk: *const stack_st_void) -> *mut stack_st_void;
6209}
6210unsafe extern "C" {
6211 #[link_name = "sk_void_sort__extern"]
6212 pub fn sk_void_sort(sk: *mut stack_st_void);
6213}
6214unsafe extern "C" {
6215 #[link_name = "sk_void_sort_and_dedup__extern"]
6216 pub fn sk_void_sort_and_dedup(sk: *mut stack_st_void, free_func: sk_void_free_func);
6217}
6218unsafe extern "C" {
6219 #[link_name = "sk_void_is_sorted__extern"]
6220 pub fn sk_void_is_sorted(sk: *const stack_st_void) -> ::core::ffi::c_int;
6221}
6222unsafe extern "C" {
6223 #[link_name = "sk_void_set_cmp_func__extern"]
6224 pub fn sk_void_set_cmp_func(sk: *mut stack_st_void, comp: sk_void_cmp_func)
6225 -> sk_void_cmp_func;
6226}
6227unsafe extern "C" {
6228 #[link_name = "sk_void_deep_copy__extern"]
6229 pub fn sk_void_deep_copy(
6230 sk: *const stack_st_void,
6231 copy_func: sk_void_copy_func,
6232 free_func: sk_void_free_func,
6233 ) -> *mut stack_st_void;
6234}
6235#[repr(C)]
6236#[derive(Debug)]
6237pub struct stack_st_OPENSSL_STRING {
6238 _unused: [u8; 0],
6239}
6240pub type sk_OPENSSL_STRING_free_func =
6241 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_char)>;
6242pub type sk_OPENSSL_STRING_copy_func = ::core::option::Option<
6243 unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char,
6244>;
6245pub type sk_OPENSSL_STRING_cmp_func = ::core::option::Option<
6246 unsafe extern "C" fn(
6247 arg1: *const *const ::core::ffi::c_char,
6248 arg2: *const *const ::core::ffi::c_char,
6249 ) -> ::core::ffi::c_int,
6250>;
6251pub type sk_OPENSSL_STRING_delete_if_func = ::core::option::Option<
6252 unsafe extern "C" fn(
6253 arg1: *mut ::core::ffi::c_char,
6254 arg2: *mut ::core::ffi::c_void,
6255 ) -> ::core::ffi::c_int,
6256>;
6257unsafe extern "C" {
6258 #[link_name = "sk_OPENSSL_STRING_call_free_func__extern"]
6259 pub fn sk_OPENSSL_STRING_call_free_func(
6260 free_func: OPENSSL_sk_free_func,
6261 ptr: *mut ::core::ffi::c_void,
6262 );
6263}
6264unsafe extern "C" {
6265 #[link_name = "sk_OPENSSL_STRING_call_copy_func__extern"]
6266 pub fn sk_OPENSSL_STRING_call_copy_func(
6267 copy_func: OPENSSL_sk_copy_func,
6268 ptr: *const ::core::ffi::c_void,
6269 ) -> *mut ::core::ffi::c_void;
6270}
6271unsafe extern "C" {
6272 #[link_name = "sk_OPENSSL_STRING_call_cmp_func__extern"]
6273 pub fn sk_OPENSSL_STRING_call_cmp_func(
6274 cmp_func: OPENSSL_sk_cmp_func,
6275 a: *const ::core::ffi::c_void,
6276 b: *const ::core::ffi::c_void,
6277 ) -> ::core::ffi::c_int;
6278}
6279unsafe extern "C" {
6280 #[link_name = "sk_OPENSSL_STRING_call_delete_if_func__extern"]
6281 pub fn sk_OPENSSL_STRING_call_delete_if_func(
6282 func: OPENSSL_sk_delete_if_func,
6283 obj: *mut ::core::ffi::c_void,
6284 data: *mut ::core::ffi::c_void,
6285 ) -> ::core::ffi::c_int;
6286}
6287unsafe extern "C" {
6288 #[link_name = "sk_OPENSSL_STRING_new__extern"]
6289 pub fn sk_OPENSSL_STRING_new(comp: sk_OPENSSL_STRING_cmp_func) -> *mut stack_st_OPENSSL_STRING;
6290}
6291unsafe extern "C" {
6292 #[link_name = "sk_OPENSSL_STRING_new_null__extern"]
6293 pub fn sk_OPENSSL_STRING_new_null() -> *mut stack_st_OPENSSL_STRING;
6294}
6295unsafe extern "C" {
6296 #[link_name = "sk_OPENSSL_STRING_num__extern"]
6297 pub fn sk_OPENSSL_STRING_num(sk: *const stack_st_OPENSSL_STRING) -> usize;
6298}
6299unsafe extern "C" {
6300 #[link_name = "sk_OPENSSL_STRING_zero__extern"]
6301 pub fn sk_OPENSSL_STRING_zero(sk: *mut stack_st_OPENSSL_STRING);
6302}
6303unsafe extern "C" {
6304 #[link_name = "sk_OPENSSL_STRING_value__extern"]
6305 pub fn sk_OPENSSL_STRING_value(
6306 sk: *const stack_st_OPENSSL_STRING,
6307 i: usize,
6308 ) -> *mut ::core::ffi::c_char;
6309}
6310unsafe extern "C" {
6311 #[link_name = "sk_OPENSSL_STRING_set__extern"]
6312 pub fn sk_OPENSSL_STRING_set(
6313 sk: *mut stack_st_OPENSSL_STRING,
6314 i: usize,
6315 p: *mut ::core::ffi::c_char,
6316 ) -> *mut ::core::ffi::c_char;
6317}
6318unsafe extern "C" {
6319 #[link_name = "sk_OPENSSL_STRING_free__extern"]
6320 pub fn sk_OPENSSL_STRING_free(sk: *mut stack_st_OPENSSL_STRING);
6321}
6322unsafe extern "C" {
6323 #[link_name = "sk_OPENSSL_STRING_pop_free__extern"]
6324 pub fn sk_OPENSSL_STRING_pop_free(
6325 sk: *mut stack_st_OPENSSL_STRING,
6326 free_func: sk_OPENSSL_STRING_free_func,
6327 );
6328}
6329unsafe extern "C" {
6330 #[link_name = "sk_OPENSSL_STRING_insert__extern"]
6331 pub fn sk_OPENSSL_STRING_insert(
6332 sk: *mut stack_st_OPENSSL_STRING,
6333 p: *mut ::core::ffi::c_char,
6334 where_: usize,
6335 ) -> usize;
6336}
6337unsafe extern "C" {
6338 #[link_name = "sk_OPENSSL_STRING_delete__extern"]
6339 pub fn sk_OPENSSL_STRING_delete(
6340 sk: *mut stack_st_OPENSSL_STRING,
6341 where_: usize,
6342 ) -> *mut ::core::ffi::c_char;
6343}
6344unsafe extern "C" {
6345 #[link_name = "sk_OPENSSL_STRING_delete_ptr__extern"]
6346 pub fn sk_OPENSSL_STRING_delete_ptr(
6347 sk: *mut stack_st_OPENSSL_STRING,
6348 p: *const ::core::ffi::c_char,
6349 ) -> *mut ::core::ffi::c_char;
6350}
6351unsafe extern "C" {
6352 #[link_name = "sk_OPENSSL_STRING_delete_if__extern"]
6353 pub fn sk_OPENSSL_STRING_delete_if(
6354 sk: *mut stack_st_OPENSSL_STRING,
6355 func: sk_OPENSSL_STRING_delete_if_func,
6356 data: *mut ::core::ffi::c_void,
6357 );
6358}
6359unsafe extern "C" {
6360 #[link_name = "sk_OPENSSL_STRING_find__extern"]
6361 pub fn sk_OPENSSL_STRING_find(
6362 sk: *const stack_st_OPENSSL_STRING,
6363 out_index: *mut usize,
6364 p: *const ::core::ffi::c_char,
6365 ) -> ::core::ffi::c_int;
6366}
6367unsafe extern "C" {
6368 #[link_name = "sk_OPENSSL_STRING_shift__extern"]
6369 pub fn sk_OPENSSL_STRING_shift(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6370}
6371unsafe extern "C" {
6372 #[link_name = "sk_OPENSSL_STRING_push__extern"]
6373 pub fn sk_OPENSSL_STRING_push(
6374 sk: *mut stack_st_OPENSSL_STRING,
6375 p: *mut ::core::ffi::c_char,
6376 ) -> usize;
6377}
6378unsafe extern "C" {
6379 #[link_name = "sk_OPENSSL_STRING_pop__extern"]
6380 pub fn sk_OPENSSL_STRING_pop(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6381}
6382unsafe extern "C" {
6383 #[link_name = "sk_OPENSSL_STRING_dup__extern"]
6384 pub fn sk_OPENSSL_STRING_dup(
6385 sk: *const stack_st_OPENSSL_STRING,
6386 ) -> *mut stack_st_OPENSSL_STRING;
6387}
6388unsafe extern "C" {
6389 #[link_name = "sk_OPENSSL_STRING_sort__extern"]
6390 pub fn sk_OPENSSL_STRING_sort(sk: *mut stack_st_OPENSSL_STRING);
6391}
6392unsafe extern "C" {
6393 #[link_name = "sk_OPENSSL_STRING_sort_and_dedup__extern"]
6394 pub fn sk_OPENSSL_STRING_sort_and_dedup(
6395 sk: *mut stack_st_OPENSSL_STRING,
6396 free_func: sk_OPENSSL_STRING_free_func,
6397 );
6398}
6399unsafe extern "C" {
6400 #[link_name = "sk_OPENSSL_STRING_is_sorted__extern"]
6401 pub fn sk_OPENSSL_STRING_is_sorted(sk: *const stack_st_OPENSSL_STRING) -> ::core::ffi::c_int;
6402}
6403unsafe extern "C" {
6404 #[link_name = "sk_OPENSSL_STRING_set_cmp_func__extern"]
6405 pub fn sk_OPENSSL_STRING_set_cmp_func(
6406 sk: *mut stack_st_OPENSSL_STRING,
6407 comp: sk_OPENSSL_STRING_cmp_func,
6408 ) -> sk_OPENSSL_STRING_cmp_func;
6409}
6410unsafe extern "C" {
6411 #[link_name = "sk_OPENSSL_STRING_deep_copy__extern"]
6412 pub fn sk_OPENSSL_STRING_deep_copy(
6413 sk: *const stack_st_OPENSSL_STRING,
6414 copy_func: sk_OPENSSL_STRING_copy_func,
6415 free_func: sk_OPENSSL_STRING_free_func,
6416 ) -> *mut stack_st_OPENSSL_STRING;
6417}
6418#[repr(C)]
6419#[derive(Debug)]
6420pub struct stack_st_BIO {
6421 _unused: [u8; 0],
6422}
6423pub type sk_BIO_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6424pub type sk_BIO_copy_func =
6425 ::core::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6426pub type sk_BIO_cmp_func = ::core::option::Option<
6427 unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::core::ffi::c_int,
6428>;
6429pub type sk_BIO_delete_if_func = ::core::option::Option<
6430 unsafe extern "C" fn(arg1: *mut BIO, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
6431>;
6432unsafe extern "C" {
6433 #[link_name = "sk_BIO_call_free_func__extern"]
6434 pub fn sk_BIO_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6435}
6436unsafe extern "C" {
6437 #[link_name = "sk_BIO_call_copy_func__extern"]
6438 pub fn sk_BIO_call_copy_func(
6439 copy_func: OPENSSL_sk_copy_func,
6440 ptr: *const ::core::ffi::c_void,
6441 ) -> *mut ::core::ffi::c_void;
6442}
6443unsafe extern "C" {
6444 #[link_name = "sk_BIO_call_cmp_func__extern"]
6445 pub fn sk_BIO_call_cmp_func(
6446 cmp_func: OPENSSL_sk_cmp_func,
6447 a: *const ::core::ffi::c_void,
6448 b: *const ::core::ffi::c_void,
6449 ) -> ::core::ffi::c_int;
6450}
6451unsafe extern "C" {
6452 #[link_name = "sk_BIO_call_delete_if_func__extern"]
6453 pub fn sk_BIO_call_delete_if_func(
6454 func: OPENSSL_sk_delete_if_func,
6455 obj: *mut ::core::ffi::c_void,
6456 data: *mut ::core::ffi::c_void,
6457 ) -> ::core::ffi::c_int;
6458}
6459unsafe extern "C" {
6460 #[link_name = "sk_BIO_new__extern"]
6461 pub fn sk_BIO_new(comp: sk_BIO_cmp_func) -> *mut stack_st_BIO;
6462}
6463unsafe extern "C" {
6464 #[link_name = "sk_BIO_new_null__extern"]
6465 pub fn sk_BIO_new_null() -> *mut stack_st_BIO;
6466}
6467unsafe extern "C" {
6468 #[link_name = "sk_BIO_num__extern"]
6469 pub fn sk_BIO_num(sk: *const stack_st_BIO) -> usize;
6470}
6471unsafe extern "C" {
6472 #[link_name = "sk_BIO_zero__extern"]
6473 pub fn sk_BIO_zero(sk: *mut stack_st_BIO);
6474}
6475unsafe extern "C" {
6476 #[link_name = "sk_BIO_value__extern"]
6477 pub fn sk_BIO_value(sk: *const stack_st_BIO, i: usize) -> *mut BIO;
6478}
6479unsafe extern "C" {
6480 #[link_name = "sk_BIO_set__extern"]
6481 pub fn sk_BIO_set(sk: *mut stack_st_BIO, i: usize, p: *mut BIO) -> *mut BIO;
6482}
6483unsafe extern "C" {
6484 #[link_name = "sk_BIO_free__extern"]
6485 pub fn sk_BIO_free(sk: *mut stack_st_BIO);
6486}
6487unsafe extern "C" {
6488 #[link_name = "sk_BIO_pop_free__extern"]
6489 pub fn sk_BIO_pop_free(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6490}
6491unsafe extern "C" {
6492 #[link_name = "sk_BIO_insert__extern"]
6493 pub fn sk_BIO_insert(sk: *mut stack_st_BIO, p: *mut BIO, where_: usize) -> usize;
6494}
6495unsafe extern "C" {
6496 #[link_name = "sk_BIO_delete__extern"]
6497 pub fn sk_BIO_delete(sk: *mut stack_st_BIO, where_: usize) -> *mut BIO;
6498}
6499unsafe extern "C" {
6500 #[link_name = "sk_BIO_delete_ptr__extern"]
6501 pub fn sk_BIO_delete_ptr(sk: *mut stack_st_BIO, p: *const BIO) -> *mut BIO;
6502}
6503unsafe extern "C" {
6504 #[link_name = "sk_BIO_delete_if__extern"]
6505 pub fn sk_BIO_delete_if(
6506 sk: *mut stack_st_BIO,
6507 func: sk_BIO_delete_if_func,
6508 data: *mut ::core::ffi::c_void,
6509 );
6510}
6511unsafe extern "C" {
6512 #[link_name = "sk_BIO_find__extern"]
6513 pub fn sk_BIO_find(
6514 sk: *const stack_st_BIO,
6515 out_index: *mut usize,
6516 p: *const BIO,
6517 ) -> ::core::ffi::c_int;
6518}
6519unsafe extern "C" {
6520 #[link_name = "sk_BIO_shift__extern"]
6521 pub fn sk_BIO_shift(sk: *mut stack_st_BIO) -> *mut BIO;
6522}
6523unsafe extern "C" {
6524 #[link_name = "sk_BIO_push__extern"]
6525 pub fn sk_BIO_push(sk: *mut stack_st_BIO, p: *mut BIO) -> usize;
6526}
6527unsafe extern "C" {
6528 #[link_name = "sk_BIO_pop__extern"]
6529 pub fn sk_BIO_pop(sk: *mut stack_st_BIO) -> *mut BIO;
6530}
6531unsafe extern "C" {
6532 #[link_name = "sk_BIO_dup__extern"]
6533 pub fn sk_BIO_dup(sk: *const stack_st_BIO) -> *mut stack_st_BIO;
6534}
6535unsafe extern "C" {
6536 #[link_name = "sk_BIO_sort__extern"]
6537 pub fn sk_BIO_sort(sk: *mut stack_st_BIO);
6538}
6539unsafe extern "C" {
6540 #[link_name = "sk_BIO_sort_and_dedup__extern"]
6541 pub fn sk_BIO_sort_and_dedup(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6542}
6543unsafe extern "C" {
6544 #[link_name = "sk_BIO_is_sorted__extern"]
6545 pub fn sk_BIO_is_sorted(sk: *const stack_st_BIO) -> ::core::ffi::c_int;
6546}
6547unsafe extern "C" {
6548 #[link_name = "sk_BIO_set_cmp_func__extern"]
6549 pub fn sk_BIO_set_cmp_func(sk: *mut stack_st_BIO, comp: sk_BIO_cmp_func) -> sk_BIO_cmp_func;
6550}
6551unsafe extern "C" {
6552 #[link_name = "sk_BIO_deep_copy__extern"]
6553 pub fn sk_BIO_deep_copy(
6554 sk: *const stack_st_BIO,
6555 copy_func: sk_BIO_copy_func,
6556 free_func: sk_BIO_free_func,
6557 ) -> *mut stack_st_BIO;
6558}
6559unsafe extern "C" {
6560 pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6561}
6562unsafe extern "C" {
6563 pub fn BIO_free(bio: *mut BIO) -> ::core::ffi::c_int;
6564}
6565unsafe extern "C" {
6566 pub fn BIO_vfree(bio: *mut BIO);
6567}
6568unsafe extern "C" {
6569 pub fn BIO_up_ref(bio: *mut BIO) -> ::core::ffi::c_int;
6570}
6571unsafe extern "C" {
6572 pub fn BIO_read(
6573 bio: *mut BIO,
6574 data: *mut ::core::ffi::c_void,
6575 len: ::core::ffi::c_int,
6576 ) -> ::core::ffi::c_int;
6577}
6578unsafe extern "C" {
6579 pub fn BIO_gets(
6580 bio: *mut BIO,
6581 buf: *mut ::core::ffi::c_char,
6582 size: ::core::ffi::c_int,
6583 ) -> ::core::ffi::c_int;
6584}
6585unsafe extern "C" {
6586 pub fn BIO_write_ex(
6587 bio: *mut BIO,
6588 data: *const ::core::ffi::c_void,
6589 len: usize,
6590 out_written: *mut usize,
6591 ) -> ::core::ffi::c_int;
6592}
6593unsafe extern "C" {
6594 pub fn BIO_write(
6595 bio: *mut BIO,
6596 data: *const ::core::ffi::c_void,
6597 len: ::core::ffi::c_int,
6598 ) -> ::core::ffi::c_int;
6599}
6600unsafe extern "C" {
6601 pub fn BIO_write_all(
6602 bio: *mut BIO,
6603 data: *const ::core::ffi::c_void,
6604 len: usize,
6605 ) -> ::core::ffi::c_int;
6606}
6607unsafe extern "C" {
6608 pub fn BIO_puts(bio: *mut BIO, buf: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
6609}
6610unsafe extern "C" {
6611 pub fn BIO_flush(bio: *mut BIO) -> ::core::ffi::c_int;
6612}
6613unsafe extern "C" {
6614 pub fn BIO_ctrl(
6615 bio: *mut BIO,
6616 cmd: ::core::ffi::c_int,
6617 larg: ::core::ffi::c_long,
6618 parg: *mut ::core::ffi::c_void,
6619 ) -> ::core::ffi::c_long;
6620}
6621unsafe extern "C" {
6622 pub fn BIO_ptr_ctrl(
6623 bp: *mut BIO,
6624 cmd: ::core::ffi::c_int,
6625 larg: ::core::ffi::c_long,
6626 ) -> *mut ::core::ffi::c_char;
6627}
6628unsafe extern "C" {
6629 pub fn BIO_int_ctrl(
6630 bp: *mut BIO,
6631 cmd: ::core::ffi::c_int,
6632 larg: ::core::ffi::c_long,
6633 iarg: ::core::ffi::c_int,
6634 ) -> ::core::ffi::c_long;
6635}
6636unsafe extern "C" {
6637 pub fn BIO_reset(bio: *mut BIO) -> ::core::ffi::c_int;
6638}
6639unsafe extern "C" {
6640 pub fn BIO_eof(bio: *mut BIO) -> ::core::ffi::c_int;
6641}
6642unsafe extern "C" {
6643 pub fn BIO_set_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6644}
6645unsafe extern "C" {
6646 pub fn BIO_clear_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6647}
6648unsafe extern "C" {
6649 pub fn BIO_test_flags(bio: *const BIO, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
6650}
6651unsafe extern "C" {
6652 pub fn BIO_should_read(bio: *const BIO) -> ::core::ffi::c_int;
6653}
6654unsafe extern "C" {
6655 pub fn BIO_should_write(bio: *const BIO) -> ::core::ffi::c_int;
6656}
6657unsafe extern "C" {
6658 pub fn BIO_should_retry(bio: *const BIO) -> ::core::ffi::c_int;
6659}
6660unsafe extern "C" {
6661 pub fn BIO_should_io_special(bio: *const BIO) -> ::core::ffi::c_int;
6662}
6663unsafe extern "C" {
6664 pub fn BIO_get_retry_reason(bio: *const BIO) -> ::core::ffi::c_int;
6665}
6666unsafe extern "C" {
6667 pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::core::ffi::c_int);
6668}
6669unsafe extern "C" {
6670 pub fn BIO_set_retry_read(bio: *mut BIO);
6671}
6672unsafe extern "C" {
6673 pub fn BIO_set_retry_write(bio: *mut BIO);
6674}
6675unsafe extern "C" {
6676 pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::core::ffi::c_int;
6677}
6678unsafe extern "C" {
6679 pub fn BIO_clear_retry_flags(bio: *mut BIO);
6680}
6681unsafe extern "C" {
6682 pub fn BIO_method_type(bio: *const BIO) -> ::core::ffi::c_int;
6683}
6684pub type BIO_info_cb = ::core::option::Option<
6685 unsafe extern "C" fn(
6686 arg1: *mut BIO,
6687 arg2: ::core::ffi::c_int,
6688 arg3: ::core::ffi::c_int,
6689 ) -> ::core::ffi::c_int,
6690>;
6691unsafe extern "C" {
6692 pub fn BIO_callback_ctrl(
6693 bio: *mut BIO,
6694 cmd: ::core::ffi::c_int,
6695 fp: BIO_info_cb,
6696 ) -> ::core::ffi::c_long;
6697}
6698unsafe extern "C" {
6699 pub fn BIO_pending(bio: *const BIO) -> usize;
6700}
6701unsafe extern "C" {
6702 pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6703}
6704unsafe extern "C" {
6705 pub fn BIO_wpending(bio: *const BIO) -> usize;
6706}
6707unsafe extern "C" {
6708 pub fn BIO_set_close(bio: *mut BIO, close_flag: ::core::ffi::c_int) -> ::core::ffi::c_int;
6709}
6710unsafe extern "C" {
6711 pub fn BIO_number_read(bio: *const BIO) -> u64;
6712}
6713unsafe extern "C" {
6714 pub fn BIO_number_written(bio: *const BIO) -> u64;
6715}
6716unsafe extern "C" {
6717 pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6718}
6719unsafe extern "C" {
6720 pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6721}
6722unsafe extern "C" {
6723 pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6724}
6725unsafe extern "C" {
6726 pub fn BIO_find_type(bio: *mut BIO, type_: ::core::ffi::c_int) -> *mut BIO;
6727}
6728unsafe extern "C" {
6729 pub fn BIO_copy_next_retry(bio: *mut BIO);
6730}
6731unsafe extern "C" {
6732 pub fn BIO_printf(bio: *mut BIO, format: *const ::core::ffi::c_char, ...)
6733 -> ::core::ffi::c_int;
6734}
6735unsafe extern "C" {
6736 pub fn BIO_indent(
6737 bio: *mut BIO,
6738 indent: ::core::ffi::c_uint,
6739 max_indent: ::core::ffi::c_uint,
6740 ) -> ::core::ffi::c_int;
6741}
6742unsafe extern "C" {
6743 pub fn BIO_hexdump(
6744 bio: *mut BIO,
6745 data: *const u8,
6746 len: usize,
6747 indent: ::core::ffi::c_uint,
6748 ) -> ::core::ffi::c_int;
6749}
6750unsafe extern "C" {
6751 pub fn ERR_print_errors(bio: *mut BIO);
6752}
6753unsafe extern "C" {
6754 pub fn BIO_read_asn1(
6755 bio: *mut BIO,
6756 out: *mut *mut u8,
6757 out_len: *mut usize,
6758 max_len: usize,
6759 ) -> ::core::ffi::c_int;
6760}
6761unsafe extern "C" {
6762 pub fn BIO_s_mem() -> *const BIO_METHOD;
6763}
6764unsafe extern "C" {
6765 pub fn BIO_new_mem_buf(buf: *const ::core::ffi::c_void, len: ossl_ssize_t) -> *mut BIO;
6766}
6767unsafe extern "C" {
6768 pub fn BIO_mem_contents(
6769 bio: *const BIO,
6770 out_contents: *mut *const u8,
6771 out_len: *mut usize,
6772 ) -> ::core::ffi::c_int;
6773}
6774unsafe extern "C" {
6775 pub fn BIO_get_mem_data(
6776 bio: *mut BIO,
6777 contents: *mut *mut ::core::ffi::c_char,
6778 ) -> ::core::ffi::c_long;
6779}
6780unsafe extern "C" {
6781 pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::core::ffi::c_int;
6782}
6783unsafe extern "C" {
6784 pub fn BIO_set_mem_buf(
6785 bio: *mut BIO,
6786 b: *mut BUF_MEM,
6787 take_ownership: ::core::ffi::c_int,
6788 ) -> ::core::ffi::c_int;
6789}
6790unsafe extern "C" {
6791 pub fn BIO_set_mem_eof_return(
6792 bio: *mut BIO,
6793 eof_value: ::core::ffi::c_int,
6794 ) -> ::core::ffi::c_int;
6795}
6796unsafe extern "C" {
6797 pub fn BIO_s_fd() -> *const BIO_METHOD;
6798}
6799unsafe extern "C" {
6800 pub fn BIO_new_fd(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6801}
6802unsafe extern "C" {
6803 pub fn BIO_set_fd(
6804 bio: *mut BIO,
6805 fd: ::core::ffi::c_int,
6806 close_flag: ::core::ffi::c_int,
6807 ) -> ::core::ffi::c_int;
6808}
6809unsafe extern "C" {
6810 pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
6811}
6812unsafe extern "C" {
6813 pub fn BIO_s_file() -> *const BIO_METHOD;
6814}
6815unsafe extern "C" {
6816 pub fn BIO_new_file(
6817 filename: *const ::core::ffi::c_char,
6818 mode: *const ::core::ffi::c_char,
6819 ) -> *mut BIO;
6820}
6821unsafe extern "C" {
6822 pub fn BIO_new_fp(file: *mut FILE, flags: ::core::ffi::c_int) -> *mut BIO;
6823}
6824unsafe extern "C" {
6825 pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::core::ffi::c_int;
6826}
6827unsafe extern "C" {
6828 pub fn BIO_set_fp(
6829 bio: *mut BIO,
6830 file: *mut FILE,
6831 flags: ::core::ffi::c_int,
6832 ) -> ::core::ffi::c_int;
6833}
6834unsafe extern "C" {
6835 pub fn BIO_read_filename(
6836 bio: *mut BIO,
6837 filename: *const ::core::ffi::c_char,
6838 ) -> ::core::ffi::c_int;
6839}
6840unsafe extern "C" {
6841 pub fn BIO_write_filename(
6842 bio: *mut BIO,
6843 filename: *const ::core::ffi::c_char,
6844 ) -> ::core::ffi::c_int;
6845}
6846unsafe extern "C" {
6847 pub fn BIO_append_filename(
6848 bio: *mut BIO,
6849 filename: *const ::core::ffi::c_char,
6850 ) -> ::core::ffi::c_int;
6851}
6852unsafe extern "C" {
6853 pub fn BIO_rw_filename(
6854 bio: *mut BIO,
6855 filename: *const ::core::ffi::c_char,
6856 ) -> ::core::ffi::c_int;
6857}
6858unsafe extern "C" {
6859 pub fn BIO_tell(bio: *mut BIO) -> ::core::ffi::c_long;
6860}
6861unsafe extern "C" {
6862 pub fn BIO_seek(bio: *mut BIO, offset: ::core::ffi::c_long) -> ::core::ffi::c_long;
6863}
6864unsafe extern "C" {
6865 pub fn BIO_s_socket() -> *const BIO_METHOD;
6866}
6867unsafe extern "C" {
6868 pub fn BIO_new_socket(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6869}
6870unsafe extern "C" {
6871 pub fn BIO_s_connect() -> *const BIO_METHOD;
6872}
6873unsafe extern "C" {
6874 pub fn BIO_new_connect(host_and_optional_port: *const ::core::ffi::c_char) -> *mut BIO;
6875}
6876unsafe extern "C" {
6877 pub fn BIO_set_conn_hostname(
6878 bio: *mut BIO,
6879 host_and_optional_port: *const ::core::ffi::c_char,
6880 ) -> ::core::ffi::c_int;
6881}
6882unsafe extern "C" {
6883 pub fn BIO_set_conn_port(
6884 bio: *mut BIO,
6885 port_str: *const ::core::ffi::c_char,
6886 ) -> ::core::ffi::c_int;
6887}
6888unsafe extern "C" {
6889 pub fn BIO_set_conn_int_port(
6890 bio: *mut BIO,
6891 port: *const ::core::ffi::c_int,
6892 ) -> ::core::ffi::c_int;
6893}
6894unsafe extern "C" {
6895 pub fn BIO_set_nbio(bio: *mut BIO, on: ::core::ffi::c_int) -> ::core::ffi::c_int;
6896}
6897unsafe extern "C" {
6898 pub fn BIO_do_connect(bio: *mut BIO) -> ::core::ffi::c_int;
6899}
6900unsafe extern "C" {
6901 pub fn BIO_new_bio_pair(
6902 out1: *mut *mut BIO,
6903 writebuf1: usize,
6904 out2: *mut *mut BIO,
6905 writebuf2: usize,
6906 ) -> ::core::ffi::c_int;
6907}
6908unsafe extern "C" {
6909 pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
6910}
6911unsafe extern "C" {
6912 pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
6913}
6914unsafe extern "C" {
6915 pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::core::ffi::c_int;
6916}
6917unsafe extern "C" {
6918 pub fn BIO_get_new_index() -> ::core::ffi::c_int;
6919}
6920unsafe extern "C" {
6921 pub fn BIO_meth_new(
6922 type_: ::core::ffi::c_int,
6923 name: *const ::core::ffi::c_char,
6924 ) -> *mut BIO_METHOD;
6925}
6926unsafe extern "C" {
6927 pub fn BIO_meth_free(method: *mut BIO_METHOD);
6928}
6929unsafe extern "C" {
6930 pub fn BIO_meth_set_create(
6931 method: *mut BIO_METHOD,
6932 create_func: ::core::option::Option<
6933 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6934 >,
6935 ) -> ::core::ffi::c_int;
6936}
6937unsafe extern "C" {
6938 pub fn BIO_meth_set_destroy(
6939 method: *mut BIO_METHOD,
6940 destroy_func: ::core::option::Option<
6941 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6942 >,
6943 ) -> ::core::ffi::c_int;
6944}
6945unsafe extern "C" {
6946 pub fn BIO_meth_set_write_ex(
6947 method: *mut BIO_METHOD,
6948 write_ex_func: ::core::option::Option<
6949 unsafe extern "C" fn(
6950 arg1: *mut BIO,
6951 arg2: *const ::core::ffi::c_char,
6952 arg3: usize,
6953 arg4: *mut usize,
6954 ) -> ::core::ffi::c_int,
6955 >,
6956 ) -> ::core::ffi::c_int;
6957}
6958unsafe extern "C" {
6959 pub fn BIO_meth_set_write(
6960 method: *mut BIO_METHOD,
6961 write_func: ::core::option::Option<
6962 unsafe extern "C" fn(
6963 arg1: *mut BIO,
6964 arg2: *const ::core::ffi::c_char,
6965 arg3: ::core::ffi::c_int,
6966 ) -> ::core::ffi::c_int,
6967 >,
6968 ) -> ::core::ffi::c_int;
6969}
6970unsafe extern "C" {
6971 pub fn BIO_meth_set_read(
6972 method: *mut BIO_METHOD,
6973 read_func: ::core::option::Option<
6974 unsafe extern "C" fn(
6975 arg1: *mut BIO,
6976 arg2: *mut ::core::ffi::c_char,
6977 arg3: ::core::ffi::c_int,
6978 ) -> ::core::ffi::c_int,
6979 >,
6980 ) -> ::core::ffi::c_int;
6981}
6982unsafe extern "C" {
6983 pub fn BIO_meth_set_gets(
6984 method: *mut BIO_METHOD,
6985 gets_func: ::core::option::Option<
6986 unsafe extern "C" fn(
6987 arg1: *mut BIO,
6988 arg2: *mut ::core::ffi::c_char,
6989 arg3: ::core::ffi::c_int,
6990 ) -> ::core::ffi::c_int,
6991 >,
6992 ) -> ::core::ffi::c_int;
6993}
6994unsafe extern "C" {
6995 pub fn BIO_meth_set_ctrl(
6996 method: *mut BIO_METHOD,
6997 ctrl_func: ::core::option::Option<
6998 unsafe extern "C" fn(
6999 arg1: *mut BIO,
7000 arg2: ::core::ffi::c_int,
7001 arg3: ::core::ffi::c_long,
7002 arg4: *mut ::core::ffi::c_void,
7003 ) -> ::core::ffi::c_long,
7004 >,
7005 ) -> ::core::ffi::c_int;
7006}
7007unsafe extern "C" {
7008 pub fn BIO_meth_set_callback_ctrl(
7009 method: *mut BIO_METHOD,
7010 callback_ctrl_func: ::core::option::Option<
7011 unsafe extern "C" fn(
7012 arg1: *mut BIO,
7013 arg2: ::core::ffi::c_int,
7014 arg3: BIO_info_cb,
7015 ) -> ::core::ffi::c_long,
7016 >,
7017 ) -> ::core::ffi::c_int;
7018}
7019unsafe extern "C" {
7020 pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::core::ffi::c_void);
7021}
7022unsafe extern "C" {
7023 pub fn BIO_get_data(bio: *mut BIO) -> *mut ::core::ffi::c_void;
7024}
7025unsafe extern "C" {
7026 pub fn BIO_set_init(bio: *mut BIO, init: ::core::ffi::c_int);
7027}
7028unsafe extern "C" {
7029 pub fn BIO_get_init(bio: *mut BIO) -> ::core::ffi::c_int;
7030}
7031unsafe extern "C" {
7032 pub fn BIO_get_ex_new_index(
7033 argl: ::core::ffi::c_long,
7034 argp: *mut ::core::ffi::c_void,
7035 unused: *mut CRYPTO_EX_unused,
7036 dup_unused: CRYPTO_EX_dup,
7037 free_func: CRYPTO_EX_free,
7038 ) -> ::core::ffi::c_int;
7039}
7040unsafe extern "C" {
7041 pub fn BIO_set_ex_data(
7042 bio: *mut BIO,
7043 idx: ::core::ffi::c_int,
7044 arg: *mut ::core::ffi::c_void,
7045 ) -> ::core::ffi::c_int;
7046}
7047unsafe extern "C" {
7048 pub fn BIO_get_ex_data(bio: *const BIO, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
7049}
7050unsafe extern "C" {
7051 pub fn BIO_free_all(bio: *mut BIO);
7052}
7053pub type bio_info_cb = BIO_info_cb;
7054unsafe extern "C" {
7055 pub fn BIO_f_base64() -> *const BIO_METHOD;
7056}
7057unsafe extern "C" {
7058 pub fn BIO_set_retry_special(bio: *mut BIO);
7059}
7060unsafe extern "C" {
7061 pub fn BIO_set_write_buffer_size(
7062 bio: *mut BIO,
7063 buffer_size: ::core::ffi::c_int,
7064 ) -> ::core::ffi::c_int;
7065}
7066unsafe extern "C" {
7067 pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::core::ffi::c_int);
7068}
7069unsafe extern "C" {
7070 pub fn BIO_get_shutdown(bio: *mut BIO) -> ::core::ffi::c_int;
7071}
7072unsafe extern "C" {
7073 pub fn BIO_meth_set_puts(
7074 method: *mut BIO_METHOD,
7075 puts: ::core::option::Option<
7076 unsafe extern "C" fn(
7077 arg1: *mut BIO,
7078 arg2: *const ::core::ffi::c_char,
7079 ) -> ::core::ffi::c_int,
7080 >,
7081 ) -> ::core::ffi::c_int;
7082}
7083unsafe extern "C" {
7084 pub fn BIO_meth_get_write(
7085 method: *const BIO_METHOD,
7086 ) -> ::core::option::Option<
7087 unsafe extern "C" fn(
7088 method: *mut BIO,
7089 arg1: *const ::core::ffi::c_char,
7090 arg2: ::core::ffi::c_int,
7091 ) -> ::core::ffi::c_int,
7092 >;
7093}
7094unsafe extern "C" {
7095 pub fn BIO_meth_get_read(
7096 method: *const BIO_METHOD,
7097 ) -> ::core::option::Option<
7098 unsafe extern "C" fn(
7099 method: *mut BIO,
7100 arg1: *mut ::core::ffi::c_char,
7101 arg2: ::core::ffi::c_int,
7102 ) -> ::core::ffi::c_int,
7103 >;
7104}
7105unsafe extern "C" {
7106 pub fn BIO_meth_get_gets(
7107 method: *const BIO_METHOD,
7108 ) -> ::core::option::Option<
7109 unsafe extern "C" fn(
7110 method: *mut BIO,
7111 arg1: *mut ::core::ffi::c_char,
7112 arg2: ::core::ffi::c_int,
7113 ) -> ::core::ffi::c_int,
7114 >;
7115}
7116unsafe extern "C" {
7117 pub fn BIO_meth_get_puts(
7118 method: *const BIO_METHOD,
7119 ) -> ::core::option::Option<
7120 unsafe extern "C" fn(
7121 method: *mut BIO,
7122 arg1: *const ::core::ffi::c_char,
7123 ) -> ::core::ffi::c_int,
7124 >;
7125}
7126unsafe extern "C" {
7127 pub fn BIO_meth_get_ctrl(
7128 method: *const BIO_METHOD,
7129 ) -> ::core::option::Option<
7130 unsafe extern "C" fn(
7131 method: *mut BIO,
7132 arg1: ::core::ffi::c_int,
7133 arg2: ::core::ffi::c_long,
7134 arg3: *mut ::core::ffi::c_void,
7135 ) -> ::core::ffi::c_long,
7136 >;
7137}
7138unsafe extern "C" {
7139 pub fn BIO_meth_get_create(
7140 method: *const BIO_METHOD,
7141 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7142}
7143unsafe extern "C" {
7144 pub fn BIO_meth_get_destroy(
7145 method: *const BIO_METHOD,
7146 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7147}
7148unsafe extern "C" {
7149 pub fn BIO_meth_get_callback_ctrl(
7150 method: *const BIO_METHOD,
7151 ) -> ::core::option::Option<
7152 unsafe extern "C" fn(
7153 method: *mut BIO,
7154 arg1: ::core::ffi::c_int,
7155 arg2: BIO_info_cb,
7156 ) -> ::core::ffi::c_long,
7157 >;
7158}
7159pub type BN_ULONG = u64;
7160unsafe extern "C" {
7161 pub fn BN_new() -> *mut BIGNUM;
7162}
7163unsafe extern "C" {
7164 pub fn BN_init(bn: *mut BIGNUM);
7165}
7166unsafe extern "C" {
7167 pub fn BN_free(bn: *mut BIGNUM);
7168}
7169unsafe extern "C" {
7170 pub fn BN_clear_free(bn: *mut BIGNUM);
7171}
7172unsafe extern "C" {
7173 pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7174}
7175unsafe extern "C" {
7176 pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7177}
7178unsafe extern "C" {
7179 pub fn BN_clear(bn: *mut BIGNUM);
7180}
7181unsafe extern "C" {
7182 pub fn BN_value_one() -> *const BIGNUM;
7183}
7184unsafe extern "C" {
7185 pub fn BN_num_bits(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7186}
7187unsafe extern "C" {
7188 pub fn BN_num_bytes(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7189}
7190unsafe extern "C" {
7191 pub fn BN_zero(bn: *mut BIGNUM);
7192}
7193unsafe extern "C" {
7194 pub fn BN_one(bn: *mut BIGNUM) -> ::core::ffi::c_int;
7195}
7196unsafe extern "C" {
7197 pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::core::ffi::c_int;
7198}
7199unsafe extern "C" {
7200 pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::core::ffi::c_int;
7201}
7202unsafe extern "C" {
7203 pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::core::ffi::c_int);
7204}
7205unsafe extern "C" {
7206 pub fn BN_is_negative(bn: *const BIGNUM) -> ::core::ffi::c_int;
7207}
7208unsafe extern "C" {
7209 pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7210}
7211unsafe extern "C" {
7212 pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7213}
7214unsafe extern "C" {
7215 pub fn BN_lebin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7216}
7217unsafe extern "C" {
7218 pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7219}
7220unsafe extern "C" {
7221 pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7222}
7223unsafe extern "C" {
7224 pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7225}
7226unsafe extern "C" {
7227 pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::core::ffi::c_char;
7228}
7229unsafe extern "C" {
7230 pub fn BN_hex2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7231 -> ::core::ffi::c_int;
7232}
7233unsafe extern "C" {
7234 pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::core::ffi::c_char;
7235}
7236unsafe extern "C" {
7237 pub fn BN_dec2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7238 -> ::core::ffi::c_int;
7239}
7240unsafe extern "C" {
7241 pub fn BN_asc2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7242 -> ::core::ffi::c_int;
7243}
7244unsafe extern "C" {
7245 pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::core::ffi::c_int;
7246}
7247unsafe extern "C" {
7248 pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::core::ffi::c_int;
7249}
7250unsafe extern "C" {
7251 pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7252}
7253unsafe extern "C" {
7254 pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::core::ffi::c_int;
7255}
7256unsafe extern "C" {
7257 pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::core::ffi::c_int;
7258}
7259unsafe extern "C" {
7260 pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::core::ffi::c_int;
7261}
7262unsafe extern "C" {
7263 pub fn BN_CTX_new() -> *mut BN_CTX;
7264}
7265unsafe extern "C" {
7266 pub fn BN_CTX_free(ctx: *mut BN_CTX);
7267}
7268unsafe extern "C" {
7269 pub fn BN_CTX_start(ctx: *mut BN_CTX);
7270}
7271unsafe extern "C" {
7272 pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7273}
7274unsafe extern "C" {
7275 pub fn BN_CTX_end(ctx: *mut BN_CTX);
7276}
7277unsafe extern "C" {
7278 pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7279}
7280unsafe extern "C" {
7281 pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7282}
7283unsafe extern "C" {
7284 pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7285}
7286unsafe extern "C" {
7287 pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7288}
7289unsafe extern "C" {
7290 pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7291}
7292unsafe extern "C" {
7293 pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7294}
7295unsafe extern "C" {
7296 pub fn BN_mul(
7297 r: *mut BIGNUM,
7298 a: *const BIGNUM,
7299 b: *const BIGNUM,
7300 ctx: *mut BN_CTX,
7301 ) -> ::core::ffi::c_int;
7302}
7303unsafe extern "C" {
7304 pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7305}
7306unsafe extern "C" {
7307 pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
7308}
7309unsafe extern "C" {
7310 pub fn BN_div(
7311 quotient: *mut BIGNUM,
7312 rem: *mut BIGNUM,
7313 numerator: *const BIGNUM,
7314 divisor: *const BIGNUM,
7315 ctx: *mut BN_CTX,
7316 ) -> ::core::ffi::c_int;
7317}
7318unsafe extern "C" {
7319 pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7320}
7321unsafe extern "C" {
7322 pub fn BN_sqrt(
7323 out_sqrt: *mut BIGNUM,
7324 in_: *const BIGNUM,
7325 ctx: *mut BN_CTX,
7326 ) -> ::core::ffi::c_int;
7327}
7328unsafe extern "C" {
7329 pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7330}
7331unsafe extern "C" {
7332 pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::core::ffi::c_int;
7333}
7334unsafe extern "C" {
7335 pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7336}
7337unsafe extern "C" {
7338 pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7339}
7340unsafe extern "C" {
7341 pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7342}
7343unsafe extern "C" {
7344 pub fn BN_is_zero(bn: *const BIGNUM) -> ::core::ffi::c_int;
7345}
7346unsafe extern "C" {
7347 pub fn BN_is_one(bn: *const BIGNUM) -> ::core::ffi::c_int;
7348}
7349unsafe extern "C" {
7350 pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7351}
7352unsafe extern "C" {
7353 pub fn BN_is_odd(bn: *const BIGNUM) -> ::core::ffi::c_int;
7354}
7355unsafe extern "C" {
7356 pub fn BN_is_pow2(a: *const BIGNUM) -> ::core::ffi::c_int;
7357}
7358unsafe extern "C" {
7359 pub fn BN_lshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7360 -> ::core::ffi::c_int;
7361}
7362unsafe extern "C" {
7363 pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7364}
7365unsafe extern "C" {
7366 pub fn BN_rshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7367 -> ::core::ffi::c_int;
7368}
7369unsafe extern "C" {
7370 pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7371}
7372unsafe extern "C" {
7373 pub fn BN_set_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7374}
7375unsafe extern "C" {
7376 pub fn BN_clear_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7377}
7378unsafe extern "C" {
7379 pub fn BN_is_bit_set(a: *const BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7380}
7381unsafe extern "C" {
7382 pub fn BN_mask_bits(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7383}
7384unsafe extern "C" {
7385 pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::core::ffi::c_int;
7386}
7387unsafe extern "C" {
7388 pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7389}
7390unsafe extern "C" {
7391 pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7392}
7393unsafe extern "C" {
7394 pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7395}
7396unsafe extern "C" {
7397 pub fn BN_nnmod(
7398 rem: *mut BIGNUM,
7399 numerator: *const BIGNUM,
7400 divisor: *const BIGNUM,
7401 ctx: *mut BN_CTX,
7402 ) -> ::core::ffi::c_int;
7403}
7404unsafe extern "C" {
7405 pub fn BN_mod_add(
7406 r: *mut BIGNUM,
7407 a: *const BIGNUM,
7408 b: *const BIGNUM,
7409 m: *const BIGNUM,
7410 ctx: *mut BN_CTX,
7411 ) -> ::core::ffi::c_int;
7412}
7413unsafe extern "C" {
7414 pub fn BN_mod_add_quick(
7415 r: *mut BIGNUM,
7416 a: *const BIGNUM,
7417 b: *const BIGNUM,
7418 m: *const BIGNUM,
7419 ) -> ::core::ffi::c_int;
7420}
7421unsafe extern "C" {
7422 pub fn BN_mod_sub(
7423 r: *mut BIGNUM,
7424 a: *const BIGNUM,
7425 b: *const BIGNUM,
7426 m: *const BIGNUM,
7427 ctx: *mut BN_CTX,
7428 ) -> ::core::ffi::c_int;
7429}
7430unsafe extern "C" {
7431 pub fn BN_mod_sub_quick(
7432 r: *mut BIGNUM,
7433 a: *const BIGNUM,
7434 b: *const BIGNUM,
7435 m: *const BIGNUM,
7436 ) -> ::core::ffi::c_int;
7437}
7438unsafe extern "C" {
7439 pub fn BN_mod_mul(
7440 r: *mut BIGNUM,
7441 a: *const BIGNUM,
7442 b: *const BIGNUM,
7443 m: *const BIGNUM,
7444 ctx: *mut BN_CTX,
7445 ) -> ::core::ffi::c_int;
7446}
7447unsafe extern "C" {
7448 pub fn BN_mod_sqr(
7449 r: *mut BIGNUM,
7450 a: *const BIGNUM,
7451 m: *const BIGNUM,
7452 ctx: *mut BN_CTX,
7453 ) -> ::core::ffi::c_int;
7454}
7455unsafe extern "C" {
7456 pub fn BN_mod_lshift(
7457 r: *mut BIGNUM,
7458 a: *const BIGNUM,
7459 n: ::core::ffi::c_int,
7460 m: *const BIGNUM,
7461 ctx: *mut BN_CTX,
7462 ) -> ::core::ffi::c_int;
7463}
7464unsafe extern "C" {
7465 pub fn BN_mod_lshift_quick(
7466 r: *mut BIGNUM,
7467 a: *const BIGNUM,
7468 n: ::core::ffi::c_int,
7469 m: *const BIGNUM,
7470 ) -> ::core::ffi::c_int;
7471}
7472unsafe extern "C" {
7473 pub fn BN_mod_lshift1(
7474 r: *mut BIGNUM,
7475 a: *const BIGNUM,
7476 m: *const BIGNUM,
7477 ctx: *mut BN_CTX,
7478 ) -> ::core::ffi::c_int;
7479}
7480unsafe extern "C" {
7481 pub fn BN_mod_lshift1_quick(
7482 r: *mut BIGNUM,
7483 a: *const BIGNUM,
7484 m: *const BIGNUM,
7485 ) -> ::core::ffi::c_int;
7486}
7487unsafe extern "C" {
7488 pub fn BN_mod_sqrt(
7489 in_: *mut BIGNUM,
7490 a: *const BIGNUM,
7491 p: *const BIGNUM,
7492 ctx: *mut BN_CTX,
7493 ) -> *mut BIGNUM;
7494}
7495unsafe extern "C" {
7496 pub fn BN_rand(
7497 rnd: *mut BIGNUM,
7498 bits: ::core::ffi::c_int,
7499 top: ::core::ffi::c_int,
7500 bottom: ::core::ffi::c_int,
7501 ) -> ::core::ffi::c_int;
7502}
7503unsafe extern "C" {
7504 pub fn BN_pseudo_rand(
7505 rnd: *mut BIGNUM,
7506 bits: ::core::ffi::c_int,
7507 top: ::core::ffi::c_int,
7508 bottom: ::core::ffi::c_int,
7509 ) -> ::core::ffi::c_int;
7510}
7511unsafe extern "C" {
7512 pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7513}
7514unsafe extern "C" {
7515 pub fn BN_rand_range_ex(
7516 r: *mut BIGNUM,
7517 min_inclusive: BN_ULONG,
7518 max_exclusive: *const BIGNUM,
7519 ) -> ::core::ffi::c_int;
7520}
7521unsafe extern "C" {
7522 pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7523}
7524#[repr(C)]
7525#[derive(Debug, Copy, Clone)]
7526pub struct bn_gencb_st {
7527 pub arg: *mut ::core::ffi::c_void,
7528 pub callback: ::core::option::Option<
7529 unsafe extern "C" fn(
7530 event: ::core::ffi::c_int,
7531 n: ::core::ffi::c_int,
7532 arg1: *mut bn_gencb_st,
7533 ) -> ::core::ffi::c_int,
7534 >,
7535}
7536unsafe extern "C" {
7537 pub fn BN_GENCB_new() -> *mut BN_GENCB;
7538}
7539unsafe extern "C" {
7540 pub fn BN_GENCB_free(callback: *mut BN_GENCB);
7541}
7542unsafe extern "C" {
7543 pub fn BN_GENCB_set(
7544 callback: *mut BN_GENCB,
7545 f: ::core::option::Option<
7546 unsafe extern "C" fn(
7547 event: ::core::ffi::c_int,
7548 n: ::core::ffi::c_int,
7549 arg1: *mut BN_GENCB,
7550 ) -> ::core::ffi::c_int,
7551 >,
7552 arg: *mut ::core::ffi::c_void,
7553 );
7554}
7555unsafe extern "C" {
7556 pub fn BN_GENCB_call(
7557 callback: *mut BN_GENCB,
7558 event: ::core::ffi::c_int,
7559 n: ::core::ffi::c_int,
7560 ) -> ::core::ffi::c_int;
7561}
7562unsafe extern "C" {
7563 pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::core::ffi::c_void;
7564}
7565unsafe extern "C" {
7566 pub fn BN_generate_prime_ex(
7567 ret: *mut BIGNUM,
7568 bits: ::core::ffi::c_int,
7569 safe: ::core::ffi::c_int,
7570 add: *const BIGNUM,
7571 rem: *const BIGNUM,
7572 cb: *mut BN_GENCB,
7573 ) -> ::core::ffi::c_int;
7574}
7575pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
7576pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
7577pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
7578pub type bn_primality_result_t = ::core::ffi::c_uint;
7579unsafe extern "C" {
7580 pub fn BN_enhanced_miller_rabin_primality_test(
7581 out_result: *mut bn_primality_result_t,
7582 w: *const BIGNUM,
7583 checks: ::core::ffi::c_int,
7584 ctx: *mut BN_CTX,
7585 cb: *mut BN_GENCB,
7586 ) -> ::core::ffi::c_int;
7587}
7588unsafe extern "C" {
7589 pub fn BN_primality_test(
7590 is_probably_prime: *mut ::core::ffi::c_int,
7591 candidate: *const BIGNUM,
7592 checks: ::core::ffi::c_int,
7593 ctx: *mut BN_CTX,
7594 do_trial_division: ::core::ffi::c_int,
7595 cb: *mut BN_GENCB,
7596 ) -> ::core::ffi::c_int;
7597}
7598unsafe extern "C" {
7599 pub fn BN_is_prime_fasttest_ex(
7600 candidate: *const BIGNUM,
7601 checks: ::core::ffi::c_int,
7602 ctx: *mut BN_CTX,
7603 do_trial_division: ::core::ffi::c_int,
7604 cb: *mut BN_GENCB,
7605 ) -> ::core::ffi::c_int;
7606}
7607unsafe extern "C" {
7608 pub fn BN_is_prime_ex(
7609 candidate: *const BIGNUM,
7610 checks: ::core::ffi::c_int,
7611 ctx: *mut BN_CTX,
7612 cb: *mut BN_GENCB,
7613 ) -> ::core::ffi::c_int;
7614}
7615unsafe extern "C" {
7616 pub fn BN_gcd(
7617 r: *mut BIGNUM,
7618 a: *const BIGNUM,
7619 b: *const BIGNUM,
7620 ctx: *mut BN_CTX,
7621 ) -> ::core::ffi::c_int;
7622}
7623unsafe extern "C" {
7624 pub fn BN_mod_inverse(
7625 out: *mut BIGNUM,
7626 a: *const BIGNUM,
7627 n: *const BIGNUM,
7628 ctx: *mut BN_CTX,
7629 ) -> *mut BIGNUM;
7630}
7631unsafe extern "C" {
7632 pub fn BN_mod_inverse_blinded(
7633 out: *mut BIGNUM,
7634 out_no_inverse: *mut ::core::ffi::c_int,
7635 a: *const BIGNUM,
7636 mont: *const BN_MONT_CTX,
7637 ctx: *mut BN_CTX,
7638 ) -> ::core::ffi::c_int;
7639}
7640unsafe extern "C" {
7641 pub fn BN_mod_inverse_odd(
7642 out: *mut BIGNUM,
7643 out_no_inverse: *mut ::core::ffi::c_int,
7644 a: *const BIGNUM,
7645 n: *const BIGNUM,
7646 ctx: *mut BN_CTX,
7647 ) -> ::core::ffi::c_int;
7648}
7649unsafe extern "C" {
7650 pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7651}
7652unsafe extern "C" {
7653 pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7654}
7655unsafe extern "C" {
7656 pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
7657}
7658unsafe extern "C" {
7659 pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
7660}
7661unsafe extern "C" {
7662 pub fn BN_to_montgomery(
7663 ret: *mut BIGNUM,
7664 a: *const BIGNUM,
7665 mont: *const BN_MONT_CTX,
7666 ctx: *mut BN_CTX,
7667 ) -> ::core::ffi::c_int;
7668}
7669unsafe extern "C" {
7670 pub fn BN_from_montgomery(
7671 ret: *mut BIGNUM,
7672 a: *const BIGNUM,
7673 mont: *const BN_MONT_CTX,
7674 ctx: *mut BN_CTX,
7675 ) -> ::core::ffi::c_int;
7676}
7677unsafe extern "C" {
7678 pub fn BN_mod_mul_montgomery(
7679 r: *mut BIGNUM,
7680 a: *const BIGNUM,
7681 b: *const BIGNUM,
7682 mont: *const BN_MONT_CTX,
7683 ctx: *mut BN_CTX,
7684 ) -> ::core::ffi::c_int;
7685}
7686unsafe extern "C" {
7687 pub fn BN_exp(
7688 r: *mut BIGNUM,
7689 a: *const BIGNUM,
7690 p: *const BIGNUM,
7691 ctx: *mut BN_CTX,
7692 ) -> ::core::ffi::c_int;
7693}
7694unsafe extern "C" {
7695 pub fn BN_mod_exp(
7696 r: *mut BIGNUM,
7697 a: *const BIGNUM,
7698 p: *const BIGNUM,
7699 m: *const BIGNUM,
7700 ctx: *mut BN_CTX,
7701 ) -> ::core::ffi::c_int;
7702}
7703unsafe extern "C" {
7704 pub fn BN_mod_exp_mont(
7705 r: *mut BIGNUM,
7706 a: *const BIGNUM,
7707 p: *const BIGNUM,
7708 m: *const BIGNUM,
7709 ctx: *mut BN_CTX,
7710 mont: *const BN_MONT_CTX,
7711 ) -> ::core::ffi::c_int;
7712}
7713unsafe extern "C" {
7714 pub fn BN_mod_exp_mont_consttime(
7715 rr: *mut BIGNUM,
7716 a: *const BIGNUM,
7717 p: *const BIGNUM,
7718 m: *const BIGNUM,
7719 ctx: *mut BN_CTX,
7720 mont: *const BN_MONT_CTX,
7721 ) -> ::core::ffi::c_int;
7722}
7723unsafe extern "C" {
7724 pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
7725}
7726unsafe extern "C" {
7727 pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
7728}
7729unsafe extern "C" {
7730 pub fn BN_mod_exp_mont_word(
7731 r: *mut BIGNUM,
7732 a: BN_ULONG,
7733 p: *const BIGNUM,
7734 m: *const BIGNUM,
7735 ctx: *mut BN_CTX,
7736 mont: *const BN_MONT_CTX,
7737 ) -> ::core::ffi::c_int;
7738}
7739unsafe extern "C" {
7740 pub fn BN_mod_exp2_mont(
7741 r: *mut BIGNUM,
7742 a1: *const BIGNUM,
7743 p1: *const BIGNUM,
7744 a2: *const BIGNUM,
7745 p2: *const BIGNUM,
7746 m: *const BIGNUM,
7747 ctx: *mut BN_CTX,
7748 mont: *const BN_MONT_CTX,
7749 ) -> ::core::ffi::c_int;
7750}
7751unsafe extern "C" {
7752 pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
7753}
7754unsafe extern "C" {
7755 pub fn BN_MONT_CTX_set(
7756 mont: *mut BN_MONT_CTX,
7757 mod_: *const BIGNUM,
7758 ctx: *mut BN_CTX,
7759 ) -> ::core::ffi::c_int;
7760}
7761unsafe extern "C" {
7762 pub fn BN_bn2binpad(
7763 in_: *const BIGNUM,
7764 out: *mut u8,
7765 len: ::core::ffi::c_int,
7766 ) -> ::core::ffi::c_int;
7767}
7768unsafe extern "C" {
7769 pub fn BN_bn2lebinpad(
7770 in_: *const BIGNUM,
7771 out: *mut u8,
7772 len: ::core::ffi::c_int,
7773 ) -> ::core::ffi::c_int;
7774}
7775unsafe extern "C" {
7776 pub fn BN_secure_new() -> *mut BIGNUM;
7777}
7778unsafe extern "C" {
7779 pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7780}
7781#[repr(C)]
7782#[derive(Debug, Copy, Clone)]
7783pub struct bignum_st {
7784 pub d: *mut BN_ULONG,
7785 pub width: ::core::ffi::c_int,
7786 pub dmax: ::core::ffi::c_int,
7787 pub neg: ::core::ffi::c_int,
7788 pub flags: ::core::ffi::c_int,
7789}
7790unsafe extern "C" {
7791 pub fn BN_num_bits_word(l: BN_ULONG) -> ::core::ffi::c_uint;
7792}
7793unsafe extern "C" {
7794 pub fn ASN1_tag2bit(tag: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
7795}
7796unsafe extern "C" {
7797 pub fn ASN1_tag2str(tag: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
7798}
7799pub type d2i_of_void = ::core::option::Option<
7800 unsafe extern "C" fn(
7801 arg1: *mut *mut ::core::ffi::c_void,
7802 arg2: *mut *const ::core::ffi::c_uchar,
7803 arg3: ::core::ffi::c_long,
7804 ) -> *mut ::core::ffi::c_void,
7805>;
7806pub type i2d_of_void = ::core::option::Option<
7807 unsafe extern "C" fn(
7808 arg1: *const ::core::ffi::c_void,
7809 arg2: *mut *mut ::core::ffi::c_uchar,
7810 ) -> ::core::ffi::c_int,
7811>;
7812pub type ASN1_ITEM_EXP = ASN1_ITEM;
7813#[repr(C)]
7814#[derive(Debug)]
7815pub struct ASN1_VALUE_st {
7816 _unused: [u8; 0],
7817}
7818pub type ASN1_VALUE = ASN1_VALUE_st;
7819unsafe extern "C" {
7820 pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
7821}
7822unsafe extern "C" {
7823 pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
7824}
7825unsafe extern "C" {
7826 pub fn ASN1_item_d2i(
7827 out: *mut *mut ASN1_VALUE,
7828 inp: *mut *const ::core::ffi::c_uchar,
7829 len: ::core::ffi::c_long,
7830 it: *const ASN1_ITEM,
7831 ) -> *mut ASN1_VALUE;
7832}
7833unsafe extern "C" {
7834 pub fn ASN1_item_i2d(
7835 val: *mut ASN1_VALUE,
7836 outp: *mut *mut ::core::ffi::c_uchar,
7837 it: *const ASN1_ITEM,
7838 ) -> ::core::ffi::c_int;
7839}
7840unsafe extern "C" {
7841 pub fn ASN1_item_dup(
7842 it: *const ASN1_ITEM,
7843 x: *mut ::core::ffi::c_void,
7844 ) -> *mut ::core::ffi::c_void;
7845}
7846unsafe extern "C" {
7847 pub fn ASN1_item_d2i_fp(
7848 it: *const ASN1_ITEM,
7849 in_: *mut FILE,
7850 out: *mut ::core::ffi::c_void,
7851 ) -> *mut ::core::ffi::c_void;
7852}
7853unsafe extern "C" {
7854 pub fn ASN1_item_d2i_bio(
7855 it: *const ASN1_ITEM,
7856 in_: *mut BIO,
7857 out: *mut ::core::ffi::c_void,
7858 ) -> *mut ::core::ffi::c_void;
7859}
7860unsafe extern "C" {
7861 pub fn ASN1_item_i2d_fp(
7862 it: *const ASN1_ITEM,
7863 out: *mut FILE,
7864 in_: *const ::core::ffi::c_void,
7865 ) -> ::core::ffi::c_int;
7866}
7867unsafe extern "C" {
7868 pub fn ASN1_item_i2d_bio(
7869 it: *const ASN1_ITEM,
7870 out: *mut BIO,
7871 in_: *const ::core::ffi::c_void,
7872 ) -> ::core::ffi::c_int;
7873}
7874unsafe extern "C" {
7875 pub fn ASN1_item_unpack(
7876 oct: *const ASN1_STRING,
7877 it: *const ASN1_ITEM,
7878 ) -> *mut ::core::ffi::c_void;
7879}
7880unsafe extern "C" {
7881 pub fn ASN1_item_pack(
7882 obj: *mut ::core::ffi::c_void,
7883 it: *const ASN1_ITEM,
7884 out: *mut *mut ASN1_STRING,
7885 ) -> *mut ASN1_STRING;
7886}
7887unsafe extern "C" {
7888 pub fn d2i_ASN1_BOOLEAN(
7889 out: *mut ASN1_BOOLEAN,
7890 inp: *mut *const ::core::ffi::c_uchar,
7891 len: ::core::ffi::c_long,
7892 ) -> ASN1_BOOLEAN;
7893}
7894unsafe extern "C" {
7895 pub fn i2d_ASN1_BOOLEAN(
7896 a: ASN1_BOOLEAN,
7897 outp: *mut *mut ::core::ffi::c_uchar,
7898 ) -> ::core::ffi::c_int;
7899}
7900unsafe extern "C" {
7901 pub static ASN1_BOOLEAN_it: ASN1_ITEM;
7902}
7903unsafe extern "C" {
7904 pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
7905}
7906unsafe extern "C" {
7907 pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
7908}
7909#[repr(C)]
7910#[derive(Debug, Copy, Clone)]
7911pub struct asn1_string_st {
7912 pub length: ::core::ffi::c_int,
7913 pub type_: ::core::ffi::c_int,
7914 pub data: *mut ::core::ffi::c_uchar,
7915 pub flags: ::core::ffi::c_long,
7916}
7917unsafe extern "C" {
7918 pub fn ASN1_STRING_type_new(type_: ::core::ffi::c_int) -> *mut ASN1_STRING;
7919}
7920unsafe extern "C" {
7921 pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
7922}
7923unsafe extern "C" {
7924 pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
7925}
7926unsafe extern "C" {
7927 pub fn ASN1_STRING_copy(dst: *mut ASN1_STRING, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7928}
7929unsafe extern "C" {
7930 pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
7931}
7932unsafe extern "C" {
7933 pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7934}
7935unsafe extern "C" {
7936 pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::core::ffi::c_uchar;
7937}
7938unsafe extern "C" {
7939 pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::core::ffi::c_uchar;
7940}
7941unsafe extern "C" {
7942 pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7943}
7944unsafe extern "C" {
7945 pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::core::ffi::c_int;
7946}
7947unsafe extern "C" {
7948 pub fn ASN1_STRING_set(
7949 str_: *mut ASN1_STRING,
7950 data: *const ::core::ffi::c_void,
7951 len: ossl_ssize_t,
7952 ) -> ::core::ffi::c_int;
7953}
7954unsafe extern "C" {
7955 pub fn ASN1_STRING_set0(
7956 str_: *mut ASN1_STRING,
7957 data: *mut ::core::ffi::c_void,
7958 len: ::core::ffi::c_int,
7959 );
7960}
7961unsafe extern "C" {
7962 pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
7963}
7964unsafe extern "C" {
7965 pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
7966}
7967unsafe extern "C" {
7968 pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
7969}
7970unsafe extern "C" {
7971 pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
7972}
7973unsafe extern "C" {
7974 pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
7975}
7976unsafe extern "C" {
7977 pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
7978}
7979unsafe extern "C" {
7980 pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
7981}
7982unsafe extern "C" {
7983 pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
7984}
7985unsafe extern "C" {
7986 pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
7987}
7988unsafe extern "C" {
7989 pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
7990}
7991unsafe extern "C" {
7992 pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
7993}
7994unsafe extern "C" {
7995 pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
7996}
7997unsafe extern "C" {
7998 pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
7999}
8000unsafe extern "C" {
8001 pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
8002}
8003unsafe extern "C" {
8004 pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
8005}
8006unsafe extern "C" {
8007 pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
8008}
8009unsafe extern "C" {
8010 pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
8011}
8012unsafe extern "C" {
8013 pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8014}
8015unsafe extern "C" {
8016 pub fn d2i_ASN1_BMPSTRING(
8017 out: *mut *mut ASN1_BMPSTRING,
8018 inp: *mut *const u8,
8019 len: ::core::ffi::c_long,
8020 ) -> *mut ASN1_BMPSTRING;
8021}
8022unsafe extern "C" {
8023 pub fn d2i_ASN1_GENERALSTRING(
8024 out: *mut *mut ASN1_GENERALSTRING,
8025 inp: *mut *const u8,
8026 len: ::core::ffi::c_long,
8027 ) -> *mut ASN1_GENERALSTRING;
8028}
8029unsafe extern "C" {
8030 pub fn d2i_ASN1_IA5STRING(
8031 out: *mut *mut ASN1_IA5STRING,
8032 inp: *mut *const u8,
8033 len: ::core::ffi::c_long,
8034 ) -> *mut ASN1_IA5STRING;
8035}
8036unsafe extern "C" {
8037 pub fn d2i_ASN1_OCTET_STRING(
8038 out: *mut *mut ASN1_OCTET_STRING,
8039 inp: *mut *const u8,
8040 len: ::core::ffi::c_long,
8041 ) -> *mut ASN1_OCTET_STRING;
8042}
8043unsafe extern "C" {
8044 pub fn d2i_ASN1_PRINTABLESTRING(
8045 out: *mut *mut ASN1_PRINTABLESTRING,
8046 inp: *mut *const u8,
8047 len: ::core::ffi::c_long,
8048 ) -> *mut ASN1_PRINTABLESTRING;
8049}
8050unsafe extern "C" {
8051 pub fn d2i_ASN1_T61STRING(
8052 out: *mut *mut ASN1_T61STRING,
8053 inp: *mut *const u8,
8054 len: ::core::ffi::c_long,
8055 ) -> *mut ASN1_T61STRING;
8056}
8057unsafe extern "C" {
8058 pub fn d2i_ASN1_UNIVERSALSTRING(
8059 out: *mut *mut ASN1_UNIVERSALSTRING,
8060 inp: *mut *const u8,
8061 len: ::core::ffi::c_long,
8062 ) -> *mut ASN1_UNIVERSALSTRING;
8063}
8064unsafe extern "C" {
8065 pub fn d2i_ASN1_UTF8STRING(
8066 out: *mut *mut ASN1_UTF8STRING,
8067 inp: *mut *const u8,
8068 len: ::core::ffi::c_long,
8069 ) -> *mut ASN1_UTF8STRING;
8070}
8071unsafe extern "C" {
8072 pub fn d2i_ASN1_VISIBLESTRING(
8073 out: *mut *mut ASN1_VISIBLESTRING,
8074 inp: *mut *const u8,
8075 len: ::core::ffi::c_long,
8076 ) -> *mut ASN1_VISIBLESTRING;
8077}
8078unsafe extern "C" {
8079 pub fn i2d_ASN1_BMPSTRING(in_: *const ASN1_BMPSTRING, outp: *mut *mut u8)
8080 -> ::core::ffi::c_int;
8081}
8082unsafe extern "C" {
8083 pub fn i2d_ASN1_GENERALSTRING(
8084 in_: *const ASN1_GENERALSTRING,
8085 outp: *mut *mut u8,
8086 ) -> ::core::ffi::c_int;
8087}
8088unsafe extern "C" {
8089 pub fn i2d_ASN1_IA5STRING(in_: *const ASN1_IA5STRING, outp: *mut *mut u8)
8090 -> ::core::ffi::c_int;
8091}
8092unsafe extern "C" {
8093 pub fn i2d_ASN1_OCTET_STRING(
8094 in_: *const ASN1_OCTET_STRING,
8095 outp: *mut *mut u8,
8096 ) -> ::core::ffi::c_int;
8097}
8098unsafe extern "C" {
8099 pub fn i2d_ASN1_PRINTABLESTRING(
8100 in_: *const ASN1_PRINTABLESTRING,
8101 outp: *mut *mut u8,
8102 ) -> ::core::ffi::c_int;
8103}
8104unsafe extern "C" {
8105 pub fn i2d_ASN1_T61STRING(in_: *const ASN1_T61STRING, outp: *mut *mut u8)
8106 -> ::core::ffi::c_int;
8107}
8108unsafe extern "C" {
8109 pub fn i2d_ASN1_UNIVERSALSTRING(
8110 in_: *const ASN1_UNIVERSALSTRING,
8111 outp: *mut *mut u8,
8112 ) -> ::core::ffi::c_int;
8113}
8114unsafe extern "C" {
8115 pub fn i2d_ASN1_UTF8STRING(
8116 in_: *const ASN1_UTF8STRING,
8117 outp: *mut *mut u8,
8118 ) -> ::core::ffi::c_int;
8119}
8120unsafe extern "C" {
8121 pub fn i2d_ASN1_VISIBLESTRING(
8122 in_: *const ASN1_VISIBLESTRING,
8123 outp: *mut *mut u8,
8124 ) -> ::core::ffi::c_int;
8125}
8126unsafe extern "C" {
8127 pub static ASN1_BMPSTRING_it: ASN1_ITEM;
8128}
8129unsafe extern "C" {
8130 pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
8131}
8132unsafe extern "C" {
8133 pub static ASN1_IA5STRING_it: ASN1_ITEM;
8134}
8135unsafe extern "C" {
8136 pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
8137}
8138unsafe extern "C" {
8139 pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
8140}
8141unsafe extern "C" {
8142 pub static ASN1_T61STRING_it: ASN1_ITEM;
8143}
8144unsafe extern "C" {
8145 pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
8146}
8147unsafe extern "C" {
8148 pub static ASN1_UTF8STRING_it: ASN1_ITEM;
8149}
8150unsafe extern "C" {
8151 pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
8152}
8153unsafe extern "C" {
8154 pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
8155}
8156unsafe extern "C" {
8157 pub fn ASN1_OCTET_STRING_cmp(
8158 a: *const ASN1_OCTET_STRING,
8159 b: *const ASN1_OCTET_STRING,
8160 ) -> ::core::ffi::c_int;
8161}
8162unsafe extern "C" {
8163 pub fn ASN1_OCTET_STRING_set(
8164 str_: *mut ASN1_OCTET_STRING,
8165 data: *const ::core::ffi::c_uchar,
8166 len: ::core::ffi::c_int,
8167 ) -> ::core::ffi::c_int;
8168}
8169unsafe extern "C" {
8170 pub fn ASN1_STRING_to_UTF8(
8171 out: *mut *mut ::core::ffi::c_uchar,
8172 in_: *const ASN1_STRING,
8173 ) -> ::core::ffi::c_int;
8174}
8175unsafe extern "C" {
8176 pub fn ASN1_mbstring_copy(
8177 out: *mut *mut ASN1_STRING,
8178 in_: *const u8,
8179 len: ossl_ssize_t,
8180 inform: ::core::ffi::c_int,
8181 mask: ::core::ffi::c_ulong,
8182 ) -> ::core::ffi::c_int;
8183}
8184unsafe extern "C" {
8185 pub fn ASN1_mbstring_ncopy(
8186 out: *mut *mut ASN1_STRING,
8187 in_: *const u8,
8188 len: ossl_ssize_t,
8189 inform: ::core::ffi::c_int,
8190 mask: ::core::ffi::c_ulong,
8191 minsize: ossl_ssize_t,
8192 maxsize: ossl_ssize_t,
8193 ) -> ::core::ffi::c_int;
8194}
8195unsafe extern "C" {
8196 pub fn ASN1_STRING_set_by_NID(
8197 out: *mut *mut ASN1_STRING,
8198 in_: *const ::core::ffi::c_uchar,
8199 len: ossl_ssize_t,
8200 inform: ::core::ffi::c_int,
8201 nid: ::core::ffi::c_int,
8202 ) -> *mut ASN1_STRING;
8203}
8204unsafe extern "C" {
8205 pub fn ASN1_STRING_TABLE_add(
8206 nid: ::core::ffi::c_int,
8207 minsize: ::core::ffi::c_long,
8208 maxsize: ::core::ffi::c_long,
8209 mask: ::core::ffi::c_ulong,
8210 flags: ::core::ffi::c_ulong,
8211 ) -> ::core::ffi::c_int;
8212}
8213unsafe extern "C" {
8214 pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
8215}
8216unsafe extern "C" {
8217 pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
8218}
8219unsafe extern "C" {
8220 pub fn d2i_DIRECTORYSTRING(
8221 out: *mut *mut ASN1_STRING,
8222 inp: *mut *const u8,
8223 len: ::core::ffi::c_long,
8224 ) -> *mut ASN1_STRING;
8225}
8226unsafe extern "C" {
8227 pub fn i2d_DIRECTORYSTRING(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8228}
8229unsafe extern "C" {
8230 pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
8231}
8232unsafe extern "C" {
8233 pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
8234}
8235unsafe extern "C" {
8236 pub fn d2i_DISPLAYTEXT(
8237 out: *mut *mut ASN1_STRING,
8238 inp: *mut *const u8,
8239 len: ::core::ffi::c_long,
8240 ) -> *mut ASN1_STRING;
8241}
8242unsafe extern "C" {
8243 pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8244}
8245unsafe extern "C" {
8246 pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
8247}
8248unsafe extern "C" {
8249 pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
8250}
8251unsafe extern "C" {
8252 pub fn d2i_ASN1_BIT_STRING(
8253 out: *mut *mut ASN1_BIT_STRING,
8254 inp: *mut *const u8,
8255 len: ::core::ffi::c_long,
8256 ) -> *mut ASN1_BIT_STRING;
8257}
8258unsafe extern "C" {
8259 pub fn i2d_ASN1_BIT_STRING(
8260 in_: *const ASN1_BIT_STRING,
8261 outp: *mut *mut u8,
8262 ) -> ::core::ffi::c_int;
8263}
8264unsafe extern "C" {
8265 pub fn c2i_ASN1_BIT_STRING(
8266 out: *mut *mut ASN1_BIT_STRING,
8267 inp: *mut *const u8,
8268 len: ::core::ffi::c_long,
8269 ) -> *mut ASN1_BIT_STRING;
8270}
8271unsafe extern "C" {
8272 pub fn i2c_ASN1_BIT_STRING(
8273 in_: *const ASN1_BIT_STRING,
8274 outp: *mut *mut u8,
8275 ) -> ::core::ffi::c_int;
8276}
8277unsafe extern "C" {
8278 pub static ASN1_BIT_STRING_it: ASN1_ITEM;
8279}
8280unsafe extern "C" {
8281 pub fn ASN1_BIT_STRING_unused_bits(str_: *const ASN1_BIT_STRING) -> u8;
8282}
8283unsafe extern "C" {
8284 pub fn ASN1_BIT_STRING_set(
8285 str_: *mut ASN1_BIT_STRING,
8286 data: *const u8,
8287 length: ossl_ssize_t,
8288 ) -> ::core::ffi::c_int;
8289}
8290unsafe extern "C" {
8291 pub fn ASN1_BIT_STRING_set1(
8292 str_: *mut ASN1_BIT_STRING,
8293 data: *const u8,
8294 length: usize,
8295 unused_bits: ::core::ffi::c_int,
8296 ) -> ::core::ffi::c_int;
8297}
8298unsafe extern "C" {
8299 pub fn ASN1_BIT_STRING_set_bit(
8300 str_: *mut ASN1_BIT_STRING,
8301 n: ::core::ffi::c_int,
8302 value: ::core::ffi::c_int,
8303 ) -> ::core::ffi::c_int;
8304}
8305unsafe extern "C" {
8306 pub fn ASN1_BIT_STRING_get_bit(
8307 str_: *const ASN1_BIT_STRING,
8308 n: ::core::ffi::c_int,
8309 ) -> ::core::ffi::c_int;
8310}
8311unsafe extern "C" {
8312 pub fn ASN1_BIT_STRING_check(
8313 str_: *const ASN1_BIT_STRING,
8314 flags: *const ::core::ffi::c_uchar,
8315 flags_len: ::core::ffi::c_int,
8316 ) -> ::core::ffi::c_int;
8317}
8318#[repr(C)]
8319#[derive(Debug)]
8320pub struct stack_st_ASN1_INTEGER {
8321 _unused: [u8; 0],
8322}
8323pub type sk_ASN1_INTEGER_free_func =
8324 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
8325pub type sk_ASN1_INTEGER_copy_func =
8326 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
8327pub type sk_ASN1_INTEGER_cmp_func = ::core::option::Option<
8328 unsafe extern "C" fn(
8329 arg1: *const *const ASN1_INTEGER,
8330 arg2: *const *const ASN1_INTEGER,
8331 ) -> ::core::ffi::c_int,
8332>;
8333pub type sk_ASN1_INTEGER_delete_if_func = ::core::option::Option<
8334 unsafe extern "C" fn(
8335 arg1: *mut ASN1_INTEGER,
8336 arg2: *mut ::core::ffi::c_void,
8337 ) -> ::core::ffi::c_int,
8338>;
8339unsafe extern "C" {
8340 #[link_name = "sk_ASN1_INTEGER_call_free_func__extern"]
8341 pub fn sk_ASN1_INTEGER_call_free_func(
8342 free_func: OPENSSL_sk_free_func,
8343 ptr: *mut ::core::ffi::c_void,
8344 );
8345}
8346unsafe extern "C" {
8347 #[link_name = "sk_ASN1_INTEGER_call_copy_func__extern"]
8348 pub fn sk_ASN1_INTEGER_call_copy_func(
8349 copy_func: OPENSSL_sk_copy_func,
8350 ptr: *const ::core::ffi::c_void,
8351 ) -> *mut ::core::ffi::c_void;
8352}
8353unsafe extern "C" {
8354 #[link_name = "sk_ASN1_INTEGER_call_cmp_func__extern"]
8355 pub fn sk_ASN1_INTEGER_call_cmp_func(
8356 cmp_func: OPENSSL_sk_cmp_func,
8357 a: *const ::core::ffi::c_void,
8358 b: *const ::core::ffi::c_void,
8359 ) -> ::core::ffi::c_int;
8360}
8361unsafe extern "C" {
8362 #[link_name = "sk_ASN1_INTEGER_call_delete_if_func__extern"]
8363 pub fn sk_ASN1_INTEGER_call_delete_if_func(
8364 func: OPENSSL_sk_delete_if_func,
8365 obj: *mut ::core::ffi::c_void,
8366 data: *mut ::core::ffi::c_void,
8367 ) -> ::core::ffi::c_int;
8368}
8369unsafe extern "C" {
8370 #[link_name = "sk_ASN1_INTEGER_new__extern"]
8371 pub fn sk_ASN1_INTEGER_new(comp: sk_ASN1_INTEGER_cmp_func) -> *mut stack_st_ASN1_INTEGER;
8372}
8373unsafe extern "C" {
8374 #[link_name = "sk_ASN1_INTEGER_new_null__extern"]
8375 pub fn sk_ASN1_INTEGER_new_null() -> *mut stack_st_ASN1_INTEGER;
8376}
8377unsafe extern "C" {
8378 #[link_name = "sk_ASN1_INTEGER_num__extern"]
8379 pub fn sk_ASN1_INTEGER_num(sk: *const stack_st_ASN1_INTEGER) -> usize;
8380}
8381unsafe extern "C" {
8382 #[link_name = "sk_ASN1_INTEGER_zero__extern"]
8383 pub fn sk_ASN1_INTEGER_zero(sk: *mut stack_st_ASN1_INTEGER);
8384}
8385unsafe extern "C" {
8386 #[link_name = "sk_ASN1_INTEGER_value__extern"]
8387 pub fn sk_ASN1_INTEGER_value(sk: *const stack_st_ASN1_INTEGER, i: usize) -> *mut ASN1_INTEGER;
8388}
8389unsafe extern "C" {
8390 #[link_name = "sk_ASN1_INTEGER_set__extern"]
8391 pub fn sk_ASN1_INTEGER_set(
8392 sk: *mut stack_st_ASN1_INTEGER,
8393 i: usize,
8394 p: *mut ASN1_INTEGER,
8395 ) -> *mut ASN1_INTEGER;
8396}
8397unsafe extern "C" {
8398 #[link_name = "sk_ASN1_INTEGER_free__extern"]
8399 pub fn sk_ASN1_INTEGER_free(sk: *mut stack_st_ASN1_INTEGER);
8400}
8401unsafe extern "C" {
8402 #[link_name = "sk_ASN1_INTEGER_pop_free__extern"]
8403 pub fn sk_ASN1_INTEGER_pop_free(
8404 sk: *mut stack_st_ASN1_INTEGER,
8405 free_func: sk_ASN1_INTEGER_free_func,
8406 );
8407}
8408unsafe extern "C" {
8409 #[link_name = "sk_ASN1_INTEGER_insert__extern"]
8410 pub fn sk_ASN1_INTEGER_insert(
8411 sk: *mut stack_st_ASN1_INTEGER,
8412 p: *mut ASN1_INTEGER,
8413 where_: usize,
8414 ) -> usize;
8415}
8416unsafe extern "C" {
8417 #[link_name = "sk_ASN1_INTEGER_delete__extern"]
8418 pub fn sk_ASN1_INTEGER_delete(
8419 sk: *mut stack_st_ASN1_INTEGER,
8420 where_: usize,
8421 ) -> *mut ASN1_INTEGER;
8422}
8423unsafe extern "C" {
8424 #[link_name = "sk_ASN1_INTEGER_delete_ptr__extern"]
8425 pub fn sk_ASN1_INTEGER_delete_ptr(
8426 sk: *mut stack_st_ASN1_INTEGER,
8427 p: *const ASN1_INTEGER,
8428 ) -> *mut ASN1_INTEGER;
8429}
8430unsafe extern "C" {
8431 #[link_name = "sk_ASN1_INTEGER_delete_if__extern"]
8432 pub fn sk_ASN1_INTEGER_delete_if(
8433 sk: *mut stack_st_ASN1_INTEGER,
8434 func: sk_ASN1_INTEGER_delete_if_func,
8435 data: *mut ::core::ffi::c_void,
8436 );
8437}
8438unsafe extern "C" {
8439 #[link_name = "sk_ASN1_INTEGER_find__extern"]
8440 pub fn sk_ASN1_INTEGER_find(
8441 sk: *const stack_st_ASN1_INTEGER,
8442 out_index: *mut usize,
8443 p: *const ASN1_INTEGER,
8444 ) -> ::core::ffi::c_int;
8445}
8446unsafe extern "C" {
8447 #[link_name = "sk_ASN1_INTEGER_shift__extern"]
8448 pub fn sk_ASN1_INTEGER_shift(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8449}
8450unsafe extern "C" {
8451 #[link_name = "sk_ASN1_INTEGER_push__extern"]
8452 pub fn sk_ASN1_INTEGER_push(sk: *mut stack_st_ASN1_INTEGER, p: *mut ASN1_INTEGER) -> usize;
8453}
8454unsafe extern "C" {
8455 #[link_name = "sk_ASN1_INTEGER_pop__extern"]
8456 pub fn sk_ASN1_INTEGER_pop(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8457}
8458unsafe extern "C" {
8459 #[link_name = "sk_ASN1_INTEGER_dup__extern"]
8460 pub fn sk_ASN1_INTEGER_dup(sk: *const stack_st_ASN1_INTEGER) -> *mut stack_st_ASN1_INTEGER;
8461}
8462unsafe extern "C" {
8463 #[link_name = "sk_ASN1_INTEGER_sort__extern"]
8464 pub fn sk_ASN1_INTEGER_sort(sk: *mut stack_st_ASN1_INTEGER);
8465}
8466unsafe extern "C" {
8467 #[link_name = "sk_ASN1_INTEGER_sort_and_dedup__extern"]
8468 pub fn sk_ASN1_INTEGER_sort_and_dedup(
8469 sk: *mut stack_st_ASN1_INTEGER,
8470 free_func: sk_ASN1_INTEGER_free_func,
8471 );
8472}
8473unsafe extern "C" {
8474 #[link_name = "sk_ASN1_INTEGER_is_sorted__extern"]
8475 pub fn sk_ASN1_INTEGER_is_sorted(sk: *const stack_st_ASN1_INTEGER) -> ::core::ffi::c_int;
8476}
8477unsafe extern "C" {
8478 #[link_name = "sk_ASN1_INTEGER_set_cmp_func__extern"]
8479 pub fn sk_ASN1_INTEGER_set_cmp_func(
8480 sk: *mut stack_st_ASN1_INTEGER,
8481 comp: sk_ASN1_INTEGER_cmp_func,
8482 ) -> sk_ASN1_INTEGER_cmp_func;
8483}
8484unsafe extern "C" {
8485 #[link_name = "sk_ASN1_INTEGER_deep_copy__extern"]
8486 pub fn sk_ASN1_INTEGER_deep_copy(
8487 sk: *const stack_st_ASN1_INTEGER,
8488 copy_func: sk_ASN1_INTEGER_copy_func,
8489 free_func: sk_ASN1_INTEGER_free_func,
8490 ) -> *mut stack_st_ASN1_INTEGER;
8491}
8492unsafe extern "C" {
8493 pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
8494}
8495unsafe extern "C" {
8496 pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
8497}
8498unsafe extern "C" {
8499 pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
8500}
8501unsafe extern "C" {
8502 pub fn d2i_ASN1_INTEGER(
8503 out: *mut *mut ASN1_INTEGER,
8504 inp: *mut *const u8,
8505 len: ::core::ffi::c_long,
8506 ) -> *mut ASN1_INTEGER;
8507}
8508unsafe extern "C" {
8509 pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8510}
8511unsafe extern "C" {
8512 pub fn c2i_ASN1_INTEGER(
8513 in_: *mut *mut ASN1_INTEGER,
8514 outp: *mut *const u8,
8515 len: ::core::ffi::c_long,
8516 ) -> *mut ASN1_INTEGER;
8517}
8518unsafe extern "C" {
8519 pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8520}
8521unsafe extern "C" {
8522 pub static ASN1_INTEGER_it: ASN1_ITEM;
8523}
8524unsafe extern "C" {
8525 pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::core::ffi::c_int;
8526}
8527unsafe extern "C" {
8528 pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::core::ffi::c_int;
8529}
8530unsafe extern "C" {
8531 pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8532}
8533unsafe extern "C" {
8534 pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8535}
8536unsafe extern "C" {
8537 pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
8538}
8539unsafe extern "C" {
8540 pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
8541}
8542unsafe extern "C" {
8543 pub fn ASN1_INTEGER_cmp(x: *const ASN1_INTEGER, y: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8544}
8545unsafe extern "C" {
8546 pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
8547}
8548unsafe extern "C" {
8549 pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
8550}
8551unsafe extern "C" {
8552 pub fn d2i_ASN1_ENUMERATED(
8553 out: *mut *mut ASN1_ENUMERATED,
8554 inp: *mut *const u8,
8555 len: ::core::ffi::c_long,
8556 ) -> *mut ASN1_ENUMERATED;
8557}
8558unsafe extern "C" {
8559 pub fn i2d_ASN1_ENUMERATED(
8560 in_: *const ASN1_ENUMERATED,
8561 outp: *mut *mut u8,
8562 ) -> ::core::ffi::c_int;
8563}
8564unsafe extern "C" {
8565 pub static ASN1_ENUMERATED_it: ASN1_ITEM;
8566}
8567unsafe extern "C" {
8568 pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::core::ffi::c_int;
8569}
8570unsafe extern "C" {
8571 pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::core::ffi::c_int;
8572}
8573unsafe extern "C" {
8574 pub fn ASN1_ENUMERATED_get_uint64(
8575 out: *mut u64,
8576 a: *const ASN1_ENUMERATED,
8577 ) -> ::core::ffi::c_int;
8578}
8579unsafe extern "C" {
8580 pub fn ASN1_ENUMERATED_get_int64(
8581 out: *mut i64,
8582 a: *const ASN1_ENUMERATED,
8583 ) -> ::core::ffi::c_int;
8584}
8585unsafe extern "C" {
8586 pub fn BN_to_ASN1_ENUMERATED(
8587 bn: *const BIGNUM,
8588 ai: *mut ASN1_ENUMERATED,
8589 ) -> *mut ASN1_ENUMERATED;
8590}
8591unsafe extern "C" {
8592 pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
8593}
8594unsafe extern "C" {
8595 pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
8596}
8597unsafe extern "C" {
8598 pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
8599}
8600unsafe extern "C" {
8601 pub fn d2i_ASN1_UTCTIME(
8602 out: *mut *mut ASN1_UTCTIME,
8603 inp: *mut *const u8,
8604 len: ::core::ffi::c_long,
8605 ) -> *mut ASN1_UTCTIME;
8606}
8607unsafe extern "C" {
8608 pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8609}
8610unsafe extern "C" {
8611 pub static ASN1_UTCTIME_it: ASN1_ITEM;
8612}
8613unsafe extern "C" {
8614 pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
8615}
8616unsafe extern "C" {
8617 pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
8618}
8619unsafe extern "C" {
8620 pub fn ASN1_UTCTIME_adj(
8621 s: *mut ASN1_UTCTIME,
8622 posix_time: i64,
8623 offset_day: ::core::ffi::c_int,
8624 offset_sec: ::core::ffi::c_long,
8625 ) -> *mut ASN1_UTCTIME;
8626}
8627unsafe extern "C" {
8628 pub fn ASN1_UTCTIME_set_string(
8629 s: *mut ASN1_UTCTIME,
8630 str_: *const ::core::ffi::c_char,
8631 ) -> ::core::ffi::c_int;
8632}
8633unsafe extern "C" {
8634 pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
8635}
8636unsafe extern "C" {
8637 pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
8638}
8639unsafe extern "C" {
8640 pub fn d2i_ASN1_GENERALIZEDTIME(
8641 out: *mut *mut ASN1_GENERALIZEDTIME,
8642 inp: *mut *const u8,
8643 len: ::core::ffi::c_long,
8644 ) -> *mut ASN1_GENERALIZEDTIME;
8645}
8646unsafe extern "C" {
8647 pub fn i2d_ASN1_GENERALIZEDTIME(
8648 in_: *const ASN1_GENERALIZEDTIME,
8649 outp: *mut *mut u8,
8650 ) -> ::core::ffi::c_int;
8651}
8652unsafe extern "C" {
8653 pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
8654}
8655unsafe extern "C" {
8656 pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::core::ffi::c_int;
8657}
8658unsafe extern "C" {
8659 pub fn ASN1_GENERALIZEDTIME_set(
8660 s: *mut ASN1_GENERALIZEDTIME,
8661 posix_time: i64,
8662 ) -> *mut ASN1_GENERALIZEDTIME;
8663}
8664unsafe extern "C" {
8665 pub fn ASN1_GENERALIZEDTIME_adj(
8666 s: *mut ASN1_GENERALIZEDTIME,
8667 posix_time: i64,
8668 offset_day: ::core::ffi::c_int,
8669 offset_sec: ::core::ffi::c_long,
8670 ) -> *mut ASN1_GENERALIZEDTIME;
8671}
8672unsafe extern "C" {
8673 pub fn ASN1_GENERALIZEDTIME_set_string(
8674 s: *mut ASN1_GENERALIZEDTIME,
8675 str_: *const ::core::ffi::c_char,
8676 ) -> ::core::ffi::c_int;
8677}
8678unsafe extern "C" {
8679 pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
8680}
8681unsafe extern "C" {
8682 pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
8683}
8684unsafe extern "C" {
8685 pub fn d2i_ASN1_TIME(
8686 out: *mut *mut ASN1_TIME,
8687 inp: *mut *const u8,
8688 len: ::core::ffi::c_long,
8689 ) -> *mut ASN1_TIME;
8690}
8691unsafe extern "C" {
8692 pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8693}
8694unsafe extern "C" {
8695 pub fn ASN1_TIME_diff(
8696 out_days: *mut ::core::ffi::c_int,
8697 out_seconds: *mut ::core::ffi::c_int,
8698 from: *const ASN1_TIME,
8699 to: *const ASN1_TIME,
8700 ) -> ::core::ffi::c_int;
8701}
8702unsafe extern "C" {
8703 pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
8704}
8705unsafe extern "C" {
8706 pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
8707}
8708unsafe extern "C" {
8709 pub fn ASN1_TIME_adj(
8710 s: *mut ASN1_TIME,
8711 posix_time: i64,
8712 offset_day: ::core::ffi::c_int,
8713 offset_sec: ::core::ffi::c_long,
8714 ) -> *mut ASN1_TIME;
8715}
8716unsafe extern "C" {
8717 pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::core::ffi::c_int;
8718}
8719unsafe extern "C" {
8720 pub fn ASN1_TIME_to_generalizedtime(
8721 t: *const ASN1_TIME,
8722 out: *mut *mut ASN1_GENERALIZEDTIME,
8723 ) -> *mut ASN1_GENERALIZEDTIME;
8724}
8725unsafe extern "C" {
8726 pub fn ASN1_TIME_set_string(
8727 s: *mut ASN1_TIME,
8728 str_: *const ::core::ffi::c_char,
8729 ) -> ::core::ffi::c_int;
8730}
8731unsafe extern "C" {
8732 pub fn ASN1_TIME_set_string_X509(
8733 s: *mut ASN1_TIME,
8734 str_: *const ::core::ffi::c_char,
8735 ) -> ::core::ffi::c_int;
8736}
8737unsafe extern "C" {
8738 pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::core::ffi::c_int;
8739}
8740unsafe extern "C" {
8741 pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::core::ffi::c_int;
8742}
8743unsafe extern "C" {
8744 pub fn ASN1_TIME_to_posix_nonstandard(t: *const ASN1_TIME, out: *mut i64)
8745 -> ::core::ffi::c_int;
8746}
8747unsafe extern "C" {
8748 pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
8749}
8750unsafe extern "C" {
8751 pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
8752}
8753unsafe extern "C" {
8754 pub fn d2i_ASN1_NULL(
8755 out: *mut *mut ASN1_NULL,
8756 inp: *mut *const u8,
8757 len: ::core::ffi::c_long,
8758 ) -> *mut ASN1_NULL;
8759}
8760unsafe extern "C" {
8761 pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::core::ffi::c_int;
8762}
8763unsafe extern "C" {
8764 pub static ASN1_NULL_it: ASN1_ITEM;
8765}
8766#[repr(C)]
8767#[derive(Debug)]
8768pub struct stack_st_ASN1_OBJECT {
8769 _unused: [u8; 0],
8770}
8771pub type sk_ASN1_OBJECT_free_func =
8772 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
8773pub type sk_ASN1_OBJECT_copy_func =
8774 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
8775pub type sk_ASN1_OBJECT_cmp_func = ::core::option::Option<
8776 unsafe extern "C" fn(
8777 arg1: *const *const ASN1_OBJECT,
8778 arg2: *const *const ASN1_OBJECT,
8779 ) -> ::core::ffi::c_int,
8780>;
8781pub type sk_ASN1_OBJECT_delete_if_func = ::core::option::Option<
8782 unsafe extern "C" fn(
8783 arg1: *mut ASN1_OBJECT,
8784 arg2: *mut ::core::ffi::c_void,
8785 ) -> ::core::ffi::c_int,
8786>;
8787unsafe extern "C" {
8788 #[link_name = "sk_ASN1_OBJECT_call_free_func__extern"]
8789 pub fn sk_ASN1_OBJECT_call_free_func(
8790 free_func: OPENSSL_sk_free_func,
8791 ptr: *mut ::core::ffi::c_void,
8792 );
8793}
8794unsafe extern "C" {
8795 #[link_name = "sk_ASN1_OBJECT_call_copy_func__extern"]
8796 pub fn sk_ASN1_OBJECT_call_copy_func(
8797 copy_func: OPENSSL_sk_copy_func,
8798 ptr: *const ::core::ffi::c_void,
8799 ) -> *mut ::core::ffi::c_void;
8800}
8801unsafe extern "C" {
8802 #[link_name = "sk_ASN1_OBJECT_call_cmp_func__extern"]
8803 pub fn sk_ASN1_OBJECT_call_cmp_func(
8804 cmp_func: OPENSSL_sk_cmp_func,
8805 a: *const ::core::ffi::c_void,
8806 b: *const ::core::ffi::c_void,
8807 ) -> ::core::ffi::c_int;
8808}
8809unsafe extern "C" {
8810 #[link_name = "sk_ASN1_OBJECT_call_delete_if_func__extern"]
8811 pub fn sk_ASN1_OBJECT_call_delete_if_func(
8812 func: OPENSSL_sk_delete_if_func,
8813 obj: *mut ::core::ffi::c_void,
8814 data: *mut ::core::ffi::c_void,
8815 ) -> ::core::ffi::c_int;
8816}
8817unsafe extern "C" {
8818 #[link_name = "sk_ASN1_OBJECT_new__extern"]
8819 pub fn sk_ASN1_OBJECT_new(comp: sk_ASN1_OBJECT_cmp_func) -> *mut stack_st_ASN1_OBJECT;
8820}
8821unsafe extern "C" {
8822 #[link_name = "sk_ASN1_OBJECT_new_null__extern"]
8823 pub fn sk_ASN1_OBJECT_new_null() -> *mut stack_st_ASN1_OBJECT;
8824}
8825unsafe extern "C" {
8826 #[link_name = "sk_ASN1_OBJECT_num__extern"]
8827 pub fn sk_ASN1_OBJECT_num(sk: *const stack_st_ASN1_OBJECT) -> usize;
8828}
8829unsafe extern "C" {
8830 #[link_name = "sk_ASN1_OBJECT_zero__extern"]
8831 pub fn sk_ASN1_OBJECT_zero(sk: *mut stack_st_ASN1_OBJECT);
8832}
8833unsafe extern "C" {
8834 #[link_name = "sk_ASN1_OBJECT_value__extern"]
8835 pub fn sk_ASN1_OBJECT_value(sk: *const stack_st_ASN1_OBJECT, i: usize) -> *mut ASN1_OBJECT;
8836}
8837unsafe extern "C" {
8838 #[link_name = "sk_ASN1_OBJECT_set__extern"]
8839 pub fn sk_ASN1_OBJECT_set(
8840 sk: *mut stack_st_ASN1_OBJECT,
8841 i: usize,
8842 p: *mut ASN1_OBJECT,
8843 ) -> *mut ASN1_OBJECT;
8844}
8845unsafe extern "C" {
8846 #[link_name = "sk_ASN1_OBJECT_free__extern"]
8847 pub fn sk_ASN1_OBJECT_free(sk: *mut stack_st_ASN1_OBJECT);
8848}
8849unsafe extern "C" {
8850 #[link_name = "sk_ASN1_OBJECT_pop_free__extern"]
8851 pub fn sk_ASN1_OBJECT_pop_free(
8852 sk: *mut stack_st_ASN1_OBJECT,
8853 free_func: sk_ASN1_OBJECT_free_func,
8854 );
8855}
8856unsafe extern "C" {
8857 #[link_name = "sk_ASN1_OBJECT_insert__extern"]
8858 pub fn sk_ASN1_OBJECT_insert(
8859 sk: *mut stack_st_ASN1_OBJECT,
8860 p: *mut ASN1_OBJECT,
8861 where_: usize,
8862 ) -> usize;
8863}
8864unsafe extern "C" {
8865 #[link_name = "sk_ASN1_OBJECT_delete__extern"]
8866 pub fn sk_ASN1_OBJECT_delete(sk: *mut stack_st_ASN1_OBJECT, where_: usize) -> *mut ASN1_OBJECT;
8867}
8868unsafe extern "C" {
8869 #[link_name = "sk_ASN1_OBJECT_delete_ptr__extern"]
8870 pub fn sk_ASN1_OBJECT_delete_ptr(
8871 sk: *mut stack_st_ASN1_OBJECT,
8872 p: *const ASN1_OBJECT,
8873 ) -> *mut ASN1_OBJECT;
8874}
8875unsafe extern "C" {
8876 #[link_name = "sk_ASN1_OBJECT_delete_if__extern"]
8877 pub fn sk_ASN1_OBJECT_delete_if(
8878 sk: *mut stack_st_ASN1_OBJECT,
8879 func: sk_ASN1_OBJECT_delete_if_func,
8880 data: *mut ::core::ffi::c_void,
8881 );
8882}
8883unsafe extern "C" {
8884 #[link_name = "sk_ASN1_OBJECT_find__extern"]
8885 pub fn sk_ASN1_OBJECT_find(
8886 sk: *const stack_st_ASN1_OBJECT,
8887 out_index: *mut usize,
8888 p: *const ASN1_OBJECT,
8889 ) -> ::core::ffi::c_int;
8890}
8891unsafe extern "C" {
8892 #[link_name = "sk_ASN1_OBJECT_shift__extern"]
8893 pub fn sk_ASN1_OBJECT_shift(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8894}
8895unsafe extern "C" {
8896 #[link_name = "sk_ASN1_OBJECT_push__extern"]
8897 pub fn sk_ASN1_OBJECT_push(sk: *mut stack_st_ASN1_OBJECT, p: *mut ASN1_OBJECT) -> usize;
8898}
8899unsafe extern "C" {
8900 #[link_name = "sk_ASN1_OBJECT_pop__extern"]
8901 pub fn sk_ASN1_OBJECT_pop(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8902}
8903unsafe extern "C" {
8904 #[link_name = "sk_ASN1_OBJECT_dup__extern"]
8905 pub fn sk_ASN1_OBJECT_dup(sk: *const stack_st_ASN1_OBJECT) -> *mut stack_st_ASN1_OBJECT;
8906}
8907unsafe extern "C" {
8908 #[link_name = "sk_ASN1_OBJECT_sort__extern"]
8909 pub fn sk_ASN1_OBJECT_sort(sk: *mut stack_st_ASN1_OBJECT);
8910}
8911unsafe extern "C" {
8912 #[link_name = "sk_ASN1_OBJECT_sort_and_dedup__extern"]
8913 pub fn sk_ASN1_OBJECT_sort_and_dedup(
8914 sk: *mut stack_st_ASN1_OBJECT,
8915 free_func: sk_ASN1_OBJECT_free_func,
8916 );
8917}
8918unsafe extern "C" {
8919 #[link_name = "sk_ASN1_OBJECT_is_sorted__extern"]
8920 pub fn sk_ASN1_OBJECT_is_sorted(sk: *const stack_st_ASN1_OBJECT) -> ::core::ffi::c_int;
8921}
8922unsafe extern "C" {
8923 #[link_name = "sk_ASN1_OBJECT_set_cmp_func__extern"]
8924 pub fn sk_ASN1_OBJECT_set_cmp_func(
8925 sk: *mut stack_st_ASN1_OBJECT,
8926 comp: sk_ASN1_OBJECT_cmp_func,
8927 ) -> sk_ASN1_OBJECT_cmp_func;
8928}
8929unsafe extern "C" {
8930 #[link_name = "sk_ASN1_OBJECT_deep_copy__extern"]
8931 pub fn sk_ASN1_OBJECT_deep_copy(
8932 sk: *const stack_st_ASN1_OBJECT,
8933 copy_func: sk_ASN1_OBJECT_copy_func,
8934 free_func: sk_ASN1_OBJECT_free_func,
8935 ) -> *mut stack_st_ASN1_OBJECT;
8936}
8937unsafe extern "C" {
8938 pub fn ASN1_OBJECT_create(
8939 nid: ::core::ffi::c_int,
8940 data: *const u8,
8941 len: usize,
8942 sn: *const ::core::ffi::c_char,
8943 ln: *const ::core::ffi::c_char,
8944 ) -> *mut ASN1_OBJECT;
8945}
8946unsafe extern "C" {
8947 pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
8948}
8949unsafe extern "C" {
8950 pub fn d2i_ASN1_OBJECT(
8951 out: *mut *mut ASN1_OBJECT,
8952 inp: *mut *const u8,
8953 len: ::core::ffi::c_long,
8954 ) -> *mut ASN1_OBJECT;
8955}
8956unsafe extern "C" {
8957 pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::core::ffi::c_int;
8958}
8959unsafe extern "C" {
8960 pub fn c2i_ASN1_OBJECT(
8961 out: *mut *mut ASN1_OBJECT,
8962 inp: *mut *const u8,
8963 len: ::core::ffi::c_long,
8964 ) -> *mut ASN1_OBJECT;
8965}
8966unsafe extern "C" {
8967 pub static ASN1_OBJECT_it: ASN1_ITEM;
8968}
8969#[repr(C)]
8970#[derive(Copy, Clone)]
8971pub struct asn1_type_st {
8972 pub type_: ::core::ffi::c_int,
8973 pub value: asn1_type_st__bindgen_ty_1,
8974}
8975#[repr(C)]
8976#[derive(Copy, Clone)]
8977pub union asn1_type_st__bindgen_ty_1 {
8978 pub ptr: *mut ::core::ffi::c_char,
8979 pub boolean: ASN1_BOOLEAN,
8980 pub asn1_string: *mut ASN1_STRING,
8981 pub object: *mut ASN1_OBJECT,
8982 pub integer: *mut ASN1_INTEGER,
8983 pub enumerated: *mut ASN1_ENUMERATED,
8984 pub bit_string: *mut ASN1_BIT_STRING,
8985 pub octet_string: *mut ASN1_OCTET_STRING,
8986 pub printablestring: *mut ASN1_PRINTABLESTRING,
8987 pub t61string: *mut ASN1_T61STRING,
8988 pub ia5string: *mut ASN1_IA5STRING,
8989 pub generalstring: *mut ASN1_GENERALSTRING,
8990 pub bmpstring: *mut ASN1_BMPSTRING,
8991 pub universalstring: *mut ASN1_UNIVERSALSTRING,
8992 pub utctime: *mut ASN1_UTCTIME,
8993 pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
8994 pub visiblestring: *mut ASN1_VISIBLESTRING,
8995 pub utf8string: *mut ASN1_UTF8STRING,
8996 pub set: *mut ASN1_STRING,
8997 pub sequence: *mut ASN1_STRING,
8998 pub asn1_value: *mut ASN1_VALUE,
8999}
9000#[repr(C)]
9001#[derive(Debug)]
9002pub struct stack_st_ASN1_TYPE {
9003 _unused: [u8; 0],
9004}
9005pub type sk_ASN1_TYPE_free_func =
9006 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
9007pub type sk_ASN1_TYPE_copy_func =
9008 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
9009pub type sk_ASN1_TYPE_cmp_func = ::core::option::Option<
9010 unsafe extern "C" fn(
9011 arg1: *const *const ASN1_TYPE,
9012 arg2: *const *const ASN1_TYPE,
9013 ) -> ::core::ffi::c_int,
9014>;
9015pub type sk_ASN1_TYPE_delete_if_func = ::core::option::Option<
9016 unsafe extern "C" fn(
9017 arg1: *mut ASN1_TYPE,
9018 arg2: *mut ::core::ffi::c_void,
9019 ) -> ::core::ffi::c_int,
9020>;
9021unsafe extern "C" {
9022 #[link_name = "sk_ASN1_TYPE_call_free_func__extern"]
9023 pub fn sk_ASN1_TYPE_call_free_func(
9024 free_func: OPENSSL_sk_free_func,
9025 ptr: *mut ::core::ffi::c_void,
9026 );
9027}
9028unsafe extern "C" {
9029 #[link_name = "sk_ASN1_TYPE_call_copy_func__extern"]
9030 pub fn sk_ASN1_TYPE_call_copy_func(
9031 copy_func: OPENSSL_sk_copy_func,
9032 ptr: *const ::core::ffi::c_void,
9033 ) -> *mut ::core::ffi::c_void;
9034}
9035unsafe extern "C" {
9036 #[link_name = "sk_ASN1_TYPE_call_cmp_func__extern"]
9037 pub fn sk_ASN1_TYPE_call_cmp_func(
9038 cmp_func: OPENSSL_sk_cmp_func,
9039 a: *const ::core::ffi::c_void,
9040 b: *const ::core::ffi::c_void,
9041 ) -> ::core::ffi::c_int;
9042}
9043unsafe extern "C" {
9044 #[link_name = "sk_ASN1_TYPE_call_delete_if_func__extern"]
9045 pub fn sk_ASN1_TYPE_call_delete_if_func(
9046 func: OPENSSL_sk_delete_if_func,
9047 obj: *mut ::core::ffi::c_void,
9048 data: *mut ::core::ffi::c_void,
9049 ) -> ::core::ffi::c_int;
9050}
9051unsafe extern "C" {
9052 #[link_name = "sk_ASN1_TYPE_new__extern"]
9053 pub fn sk_ASN1_TYPE_new(comp: sk_ASN1_TYPE_cmp_func) -> *mut stack_st_ASN1_TYPE;
9054}
9055unsafe extern "C" {
9056 #[link_name = "sk_ASN1_TYPE_new_null__extern"]
9057 pub fn sk_ASN1_TYPE_new_null() -> *mut stack_st_ASN1_TYPE;
9058}
9059unsafe extern "C" {
9060 #[link_name = "sk_ASN1_TYPE_num__extern"]
9061 pub fn sk_ASN1_TYPE_num(sk: *const stack_st_ASN1_TYPE) -> usize;
9062}
9063unsafe extern "C" {
9064 #[link_name = "sk_ASN1_TYPE_zero__extern"]
9065 pub fn sk_ASN1_TYPE_zero(sk: *mut stack_st_ASN1_TYPE);
9066}
9067unsafe extern "C" {
9068 #[link_name = "sk_ASN1_TYPE_value__extern"]
9069 pub fn sk_ASN1_TYPE_value(sk: *const stack_st_ASN1_TYPE, i: usize) -> *mut ASN1_TYPE;
9070}
9071unsafe extern "C" {
9072 #[link_name = "sk_ASN1_TYPE_set__extern"]
9073 pub fn sk_ASN1_TYPE_set(
9074 sk: *mut stack_st_ASN1_TYPE,
9075 i: usize,
9076 p: *mut ASN1_TYPE,
9077 ) -> *mut ASN1_TYPE;
9078}
9079unsafe extern "C" {
9080 #[link_name = "sk_ASN1_TYPE_free__extern"]
9081 pub fn sk_ASN1_TYPE_free(sk: *mut stack_st_ASN1_TYPE);
9082}
9083unsafe extern "C" {
9084 #[link_name = "sk_ASN1_TYPE_pop_free__extern"]
9085 pub fn sk_ASN1_TYPE_pop_free(sk: *mut stack_st_ASN1_TYPE, free_func: sk_ASN1_TYPE_free_func);
9086}
9087unsafe extern "C" {
9088 #[link_name = "sk_ASN1_TYPE_insert__extern"]
9089 pub fn sk_ASN1_TYPE_insert(
9090 sk: *mut stack_st_ASN1_TYPE,
9091 p: *mut ASN1_TYPE,
9092 where_: usize,
9093 ) -> usize;
9094}
9095unsafe extern "C" {
9096 #[link_name = "sk_ASN1_TYPE_delete__extern"]
9097 pub fn sk_ASN1_TYPE_delete(sk: *mut stack_st_ASN1_TYPE, where_: usize) -> *mut ASN1_TYPE;
9098}
9099unsafe extern "C" {
9100 #[link_name = "sk_ASN1_TYPE_delete_ptr__extern"]
9101 pub fn sk_ASN1_TYPE_delete_ptr(
9102 sk: *mut stack_st_ASN1_TYPE,
9103 p: *const ASN1_TYPE,
9104 ) -> *mut ASN1_TYPE;
9105}
9106unsafe extern "C" {
9107 #[link_name = "sk_ASN1_TYPE_delete_if__extern"]
9108 pub fn sk_ASN1_TYPE_delete_if(
9109 sk: *mut stack_st_ASN1_TYPE,
9110 func: sk_ASN1_TYPE_delete_if_func,
9111 data: *mut ::core::ffi::c_void,
9112 );
9113}
9114unsafe extern "C" {
9115 #[link_name = "sk_ASN1_TYPE_find__extern"]
9116 pub fn sk_ASN1_TYPE_find(
9117 sk: *const stack_st_ASN1_TYPE,
9118 out_index: *mut usize,
9119 p: *const ASN1_TYPE,
9120 ) -> ::core::ffi::c_int;
9121}
9122unsafe extern "C" {
9123 #[link_name = "sk_ASN1_TYPE_shift__extern"]
9124 pub fn sk_ASN1_TYPE_shift(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9125}
9126unsafe extern "C" {
9127 #[link_name = "sk_ASN1_TYPE_push__extern"]
9128 pub fn sk_ASN1_TYPE_push(sk: *mut stack_st_ASN1_TYPE, p: *mut ASN1_TYPE) -> usize;
9129}
9130unsafe extern "C" {
9131 #[link_name = "sk_ASN1_TYPE_pop__extern"]
9132 pub fn sk_ASN1_TYPE_pop(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9133}
9134unsafe extern "C" {
9135 #[link_name = "sk_ASN1_TYPE_dup__extern"]
9136 pub fn sk_ASN1_TYPE_dup(sk: *const stack_st_ASN1_TYPE) -> *mut stack_st_ASN1_TYPE;
9137}
9138unsafe extern "C" {
9139 #[link_name = "sk_ASN1_TYPE_sort__extern"]
9140 pub fn sk_ASN1_TYPE_sort(sk: *mut stack_st_ASN1_TYPE);
9141}
9142unsafe extern "C" {
9143 #[link_name = "sk_ASN1_TYPE_sort_and_dedup__extern"]
9144 pub fn sk_ASN1_TYPE_sort_and_dedup(
9145 sk: *mut stack_st_ASN1_TYPE,
9146 free_func: sk_ASN1_TYPE_free_func,
9147 );
9148}
9149unsafe extern "C" {
9150 #[link_name = "sk_ASN1_TYPE_is_sorted__extern"]
9151 pub fn sk_ASN1_TYPE_is_sorted(sk: *const stack_st_ASN1_TYPE) -> ::core::ffi::c_int;
9152}
9153unsafe extern "C" {
9154 #[link_name = "sk_ASN1_TYPE_set_cmp_func__extern"]
9155 pub fn sk_ASN1_TYPE_set_cmp_func(
9156 sk: *mut stack_st_ASN1_TYPE,
9157 comp: sk_ASN1_TYPE_cmp_func,
9158 ) -> sk_ASN1_TYPE_cmp_func;
9159}
9160unsafe extern "C" {
9161 #[link_name = "sk_ASN1_TYPE_deep_copy__extern"]
9162 pub fn sk_ASN1_TYPE_deep_copy(
9163 sk: *const stack_st_ASN1_TYPE,
9164 copy_func: sk_ASN1_TYPE_copy_func,
9165 free_func: sk_ASN1_TYPE_free_func,
9166 ) -> *mut stack_st_ASN1_TYPE;
9167}
9168unsafe extern "C" {
9169 pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
9170}
9171unsafe extern "C" {
9172 pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
9173}
9174unsafe extern "C" {
9175 pub fn d2i_ASN1_TYPE(
9176 out: *mut *mut ASN1_TYPE,
9177 inp: *mut *const u8,
9178 len: ::core::ffi::c_long,
9179 ) -> *mut ASN1_TYPE;
9180}
9181unsafe extern "C" {
9182 pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::core::ffi::c_int;
9183}
9184unsafe extern "C" {
9185 pub static ASN1_ANY_it: ASN1_ITEM;
9186}
9187unsafe extern "C" {
9188 pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::core::ffi::c_int;
9189}
9190unsafe extern "C" {
9191 pub fn ASN1_TYPE_set(
9192 a: *mut ASN1_TYPE,
9193 type_: ::core::ffi::c_int,
9194 value: *mut ::core::ffi::c_void,
9195 );
9196}
9197unsafe extern "C" {
9198 pub fn ASN1_TYPE_set1(
9199 a: *mut ASN1_TYPE,
9200 type_: ::core::ffi::c_int,
9201 value: *const ::core::ffi::c_void,
9202 ) -> ::core::ffi::c_int;
9203}
9204unsafe extern "C" {
9205 pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::core::ffi::c_int;
9206}
9207pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
9208unsafe extern "C" {
9209 pub fn d2i_ASN1_SEQUENCE_ANY(
9210 out: *mut *mut ASN1_SEQUENCE_ANY,
9211 inp: *mut *const u8,
9212 len: ::core::ffi::c_long,
9213 ) -> *mut ASN1_SEQUENCE_ANY;
9214}
9215unsafe extern "C" {
9216 pub fn i2d_ASN1_SEQUENCE_ANY(
9217 in_: *const ASN1_SEQUENCE_ANY,
9218 outp: *mut *mut u8,
9219 ) -> ::core::ffi::c_int;
9220}
9221unsafe extern "C" {
9222 pub fn d2i_ASN1_SET_ANY(
9223 out: *mut *mut ASN1_SEQUENCE_ANY,
9224 inp: *mut *const u8,
9225 len: ::core::ffi::c_long,
9226 ) -> *mut ASN1_SEQUENCE_ANY;
9227}
9228unsafe extern "C" {
9229 pub fn i2d_ASN1_SET_ANY(
9230 in_: *const ASN1_SEQUENCE_ANY,
9231 outp: *mut *mut u8,
9232 ) -> ::core::ffi::c_int;
9233}
9234unsafe extern "C" {
9235 pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
9236}
9237unsafe extern "C" {
9238 pub fn ASN1_GENERALIZEDTIME_print(
9239 out: *mut BIO,
9240 a: *const ASN1_GENERALIZEDTIME,
9241 ) -> ::core::ffi::c_int;
9242}
9243unsafe extern "C" {
9244 pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::core::ffi::c_int;
9245}
9246unsafe extern "C" {
9247 pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
9248}
9249unsafe extern "C" {
9250 pub fn ASN1_STRING_print_ex(
9251 out: *mut BIO,
9252 str_: *const ASN1_STRING,
9253 flags: ::core::ffi::c_ulong,
9254 ) -> ::core::ffi::c_int;
9255}
9256unsafe extern "C" {
9257 pub fn ASN1_STRING_print_ex_fp(
9258 fp: *mut FILE,
9259 str_: *const ASN1_STRING,
9260 flags: ::core::ffi::c_ulong,
9261 ) -> ::core::ffi::c_int;
9262}
9263unsafe extern "C" {
9264 pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
9265}
9266unsafe extern "C" {
9267 pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::core::ffi::c_int;
9268}
9269unsafe extern "C" {
9270 pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::core::ffi::c_int;
9271}
9272unsafe extern "C" {
9273 pub fn i2a_ASN1_STRING(
9274 bp: *mut BIO,
9275 a: *const ASN1_STRING,
9276 type_: ::core::ffi::c_int,
9277 ) -> ::core::ffi::c_int;
9278}
9279unsafe extern "C" {
9280 pub fn i2t_ASN1_OBJECT(
9281 buf: *mut ::core::ffi::c_char,
9282 buf_len: ::core::ffi::c_int,
9283 a: *const ASN1_OBJECT,
9284 ) -> ::core::ffi::c_int;
9285}
9286unsafe extern "C" {
9287 pub fn ASN1_get_object(
9288 inp: *mut *const ::core::ffi::c_uchar,
9289 out_length: *mut ::core::ffi::c_long,
9290 out_tag: *mut ::core::ffi::c_int,
9291 out_class: *mut ::core::ffi::c_int,
9292 max_len: ::core::ffi::c_long,
9293 ) -> ::core::ffi::c_int;
9294}
9295unsafe extern "C" {
9296 pub fn ASN1_put_object(
9297 outp: *mut *mut ::core::ffi::c_uchar,
9298 constructed: ::core::ffi::c_int,
9299 length: ::core::ffi::c_int,
9300 tag: ::core::ffi::c_int,
9301 xclass: ::core::ffi::c_int,
9302 );
9303}
9304unsafe extern "C" {
9305 pub fn ASN1_put_eoc(outp: *mut *mut ::core::ffi::c_uchar) -> ::core::ffi::c_int;
9306}
9307unsafe extern "C" {
9308 pub fn ASN1_object_size(
9309 constructed: ::core::ffi::c_int,
9310 length: ::core::ffi::c_int,
9311 tag: ::core::ffi::c_int,
9312 ) -> ::core::ffi::c_int;
9313}
9314unsafe extern "C" {
9315 pub fn ASN1_BIT_STRING_num_bytes(
9316 str_: *const ASN1_BIT_STRING,
9317 out: *mut usize,
9318 ) -> ::core::ffi::c_int;
9319}
9320unsafe extern "C" {
9321 pub fn ASN1_STRING_set_default_mask(mask: ::core::ffi::c_ulong);
9322}
9323unsafe extern "C" {
9324 pub fn ASN1_STRING_set_default_mask_asc(p: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
9325}
9326unsafe extern "C" {
9327 pub fn ASN1_STRING_get_default_mask() -> ::core::ffi::c_ulong;
9328}
9329unsafe extern "C" {
9330 pub fn ASN1_STRING_TABLE_cleanup();
9331}
9332unsafe extern "C" {
9333 pub fn ASN1_INTEGER_set(a: *mut ASN1_INTEGER, v: ::core::ffi::c_long) -> ::core::ffi::c_int;
9334}
9335unsafe extern "C" {
9336 pub fn ASN1_ENUMERATED_set(
9337 a: *mut ASN1_ENUMERATED,
9338 v: ::core::ffi::c_long,
9339 ) -> ::core::ffi::c_int;
9340}
9341unsafe extern "C" {
9342 pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::core::ffi::c_long;
9343}
9344unsafe extern "C" {
9345 pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::core::ffi::c_long;
9346}
9347pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
9348#[repr(C)]
9349#[derive(Debug)]
9350pub struct ASN1_TLC_st {
9351 _unused: [u8; 0],
9352}
9353pub type ASN1_TLC = ASN1_TLC_st;
9354#[repr(C)]
9355#[derive(Debug, Copy, Clone)]
9356pub struct ASN1_TEMPLATE_st {
9357 pub flags: u32,
9358 pub tag: ::core::ffi::c_int,
9359 pub offset: ::core::ffi::c_ulong,
9360 pub field_name: *const ::core::ffi::c_char,
9361 pub item: *const ASN1_ITEM_st,
9362}
9363pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
9364pub type ASN1_ADB = ASN1_ADB_st;
9365#[repr(C)]
9366#[derive(Debug, Copy, Clone)]
9367pub struct ASN1_ADB_st {
9368 pub flags: u32,
9369 pub offset: ::core::ffi::c_ulong,
9370 pub unused: *mut CRYPTO_MUST_BE_NULL,
9371 pub tbl: *const ASN1_ADB_TABLE,
9372 pub tblcount: ::core::ffi::c_long,
9373 pub default_tt: *const ASN1_TEMPLATE,
9374 pub null_tt: *const ASN1_TEMPLATE,
9375}
9376#[repr(C)]
9377#[derive(Debug, Copy, Clone)]
9378pub struct ASN1_ADB_TABLE_st {
9379 pub value: ::core::ffi::c_int,
9380 pub tt: ASN1_TEMPLATE,
9381}
9382#[repr(C)]
9383#[derive(Debug, Copy, Clone)]
9384pub struct ASN1_ITEM_st {
9385 pub itype: ::core::ffi::c_char,
9386 pub utype: ::core::ffi::c_int,
9387 pub templates: *const ASN1_TEMPLATE,
9388 pub tcount: ::core::ffi::c_long,
9389 pub funcs: *const ::core::ffi::c_void,
9390 pub size: ::core::ffi::c_long,
9391 pub sname: *const ::core::ffi::c_char,
9392}
9393pub type ASN1_aux_cb = ::core::option::Option<
9394 unsafe extern "C" fn(
9395 operation: ::core::ffi::c_int,
9396 in_: *mut *mut ASN1_VALUE,
9397 it: *const ASN1_ITEM,
9398 exarg: *mut ::core::ffi::c_void,
9399 ) -> ::core::ffi::c_int,
9400>;
9401#[repr(C)]
9402#[derive(Debug, Copy, Clone)]
9403pub struct ASN1_AUX_st {
9404 pub app_data: *mut ::core::ffi::c_void,
9405 pub flags: u32,
9406 pub ref_offset: ::core::ffi::c_int,
9407 pub asn1_cb: ASN1_aux_cb,
9408 pub enc_offset: ::core::ffi::c_int,
9409}
9410pub type ASN1_AUX = ASN1_AUX_st;
9411unsafe extern "C" {
9412 pub static ASN1_SEQUENCE_it: ASN1_ITEM;
9413}
9414#[repr(C)]
9415#[derive(Debug)]
9416pub struct stack_st_ASN1_VALUE {
9417 _unused: [u8; 0],
9418}
9419pub type sk_ASN1_VALUE_free_func =
9420 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
9421pub type sk_ASN1_VALUE_copy_func =
9422 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
9423pub type sk_ASN1_VALUE_cmp_func = ::core::option::Option<
9424 unsafe extern "C" fn(
9425 arg1: *const *const ASN1_VALUE,
9426 arg2: *const *const ASN1_VALUE,
9427 ) -> ::core::ffi::c_int,
9428>;
9429pub type sk_ASN1_VALUE_delete_if_func = ::core::option::Option<
9430 unsafe extern "C" fn(
9431 arg1: *mut ASN1_VALUE,
9432 arg2: *mut ::core::ffi::c_void,
9433 ) -> ::core::ffi::c_int,
9434>;
9435unsafe extern "C" {
9436 #[link_name = "sk_ASN1_VALUE_call_free_func__extern"]
9437 pub fn sk_ASN1_VALUE_call_free_func(
9438 free_func: OPENSSL_sk_free_func,
9439 ptr: *mut ::core::ffi::c_void,
9440 );
9441}
9442unsafe extern "C" {
9443 #[link_name = "sk_ASN1_VALUE_call_copy_func__extern"]
9444 pub fn sk_ASN1_VALUE_call_copy_func(
9445 copy_func: OPENSSL_sk_copy_func,
9446 ptr: *const ::core::ffi::c_void,
9447 ) -> *mut ::core::ffi::c_void;
9448}
9449unsafe extern "C" {
9450 #[link_name = "sk_ASN1_VALUE_call_cmp_func__extern"]
9451 pub fn sk_ASN1_VALUE_call_cmp_func(
9452 cmp_func: OPENSSL_sk_cmp_func,
9453 a: *const ::core::ffi::c_void,
9454 b: *const ::core::ffi::c_void,
9455 ) -> ::core::ffi::c_int;
9456}
9457unsafe extern "C" {
9458 #[link_name = "sk_ASN1_VALUE_call_delete_if_func__extern"]
9459 pub fn sk_ASN1_VALUE_call_delete_if_func(
9460 func: OPENSSL_sk_delete_if_func,
9461 obj: *mut ::core::ffi::c_void,
9462 data: *mut ::core::ffi::c_void,
9463 ) -> ::core::ffi::c_int;
9464}
9465unsafe extern "C" {
9466 #[link_name = "sk_ASN1_VALUE_new__extern"]
9467 pub fn sk_ASN1_VALUE_new(comp: sk_ASN1_VALUE_cmp_func) -> *mut stack_st_ASN1_VALUE;
9468}
9469unsafe extern "C" {
9470 #[link_name = "sk_ASN1_VALUE_new_null__extern"]
9471 pub fn sk_ASN1_VALUE_new_null() -> *mut stack_st_ASN1_VALUE;
9472}
9473unsafe extern "C" {
9474 #[link_name = "sk_ASN1_VALUE_num__extern"]
9475 pub fn sk_ASN1_VALUE_num(sk: *const stack_st_ASN1_VALUE) -> usize;
9476}
9477unsafe extern "C" {
9478 #[link_name = "sk_ASN1_VALUE_zero__extern"]
9479 pub fn sk_ASN1_VALUE_zero(sk: *mut stack_st_ASN1_VALUE);
9480}
9481unsafe extern "C" {
9482 #[link_name = "sk_ASN1_VALUE_value__extern"]
9483 pub fn sk_ASN1_VALUE_value(sk: *const stack_st_ASN1_VALUE, i: usize) -> *mut ASN1_VALUE;
9484}
9485unsafe extern "C" {
9486 #[link_name = "sk_ASN1_VALUE_set__extern"]
9487 pub fn sk_ASN1_VALUE_set(
9488 sk: *mut stack_st_ASN1_VALUE,
9489 i: usize,
9490 p: *mut ASN1_VALUE,
9491 ) -> *mut ASN1_VALUE;
9492}
9493unsafe extern "C" {
9494 #[link_name = "sk_ASN1_VALUE_free__extern"]
9495 pub fn sk_ASN1_VALUE_free(sk: *mut stack_st_ASN1_VALUE);
9496}
9497unsafe extern "C" {
9498 #[link_name = "sk_ASN1_VALUE_pop_free__extern"]
9499 pub fn sk_ASN1_VALUE_pop_free(sk: *mut stack_st_ASN1_VALUE, free_func: sk_ASN1_VALUE_free_func);
9500}
9501unsafe extern "C" {
9502 #[link_name = "sk_ASN1_VALUE_insert__extern"]
9503 pub fn sk_ASN1_VALUE_insert(
9504 sk: *mut stack_st_ASN1_VALUE,
9505 p: *mut ASN1_VALUE,
9506 where_: usize,
9507 ) -> usize;
9508}
9509unsafe extern "C" {
9510 #[link_name = "sk_ASN1_VALUE_delete__extern"]
9511 pub fn sk_ASN1_VALUE_delete(sk: *mut stack_st_ASN1_VALUE, where_: usize) -> *mut ASN1_VALUE;
9512}
9513unsafe extern "C" {
9514 #[link_name = "sk_ASN1_VALUE_delete_ptr__extern"]
9515 pub fn sk_ASN1_VALUE_delete_ptr(
9516 sk: *mut stack_st_ASN1_VALUE,
9517 p: *const ASN1_VALUE,
9518 ) -> *mut ASN1_VALUE;
9519}
9520unsafe extern "C" {
9521 #[link_name = "sk_ASN1_VALUE_delete_if__extern"]
9522 pub fn sk_ASN1_VALUE_delete_if(
9523 sk: *mut stack_st_ASN1_VALUE,
9524 func: sk_ASN1_VALUE_delete_if_func,
9525 data: *mut ::core::ffi::c_void,
9526 );
9527}
9528unsafe extern "C" {
9529 #[link_name = "sk_ASN1_VALUE_find__extern"]
9530 pub fn sk_ASN1_VALUE_find(
9531 sk: *const stack_st_ASN1_VALUE,
9532 out_index: *mut usize,
9533 p: *const ASN1_VALUE,
9534 ) -> ::core::ffi::c_int;
9535}
9536unsafe extern "C" {
9537 #[link_name = "sk_ASN1_VALUE_shift__extern"]
9538 pub fn sk_ASN1_VALUE_shift(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9539}
9540unsafe extern "C" {
9541 #[link_name = "sk_ASN1_VALUE_push__extern"]
9542 pub fn sk_ASN1_VALUE_push(sk: *mut stack_st_ASN1_VALUE, p: *mut ASN1_VALUE) -> usize;
9543}
9544unsafe extern "C" {
9545 #[link_name = "sk_ASN1_VALUE_pop__extern"]
9546 pub fn sk_ASN1_VALUE_pop(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9547}
9548unsafe extern "C" {
9549 #[link_name = "sk_ASN1_VALUE_dup__extern"]
9550 pub fn sk_ASN1_VALUE_dup(sk: *const stack_st_ASN1_VALUE) -> *mut stack_st_ASN1_VALUE;
9551}
9552unsafe extern "C" {
9553 #[link_name = "sk_ASN1_VALUE_sort__extern"]
9554 pub fn sk_ASN1_VALUE_sort(sk: *mut stack_st_ASN1_VALUE);
9555}
9556unsafe extern "C" {
9557 #[link_name = "sk_ASN1_VALUE_sort_and_dedup__extern"]
9558 pub fn sk_ASN1_VALUE_sort_and_dedup(
9559 sk: *mut stack_st_ASN1_VALUE,
9560 free_func: sk_ASN1_VALUE_free_func,
9561 );
9562}
9563unsafe extern "C" {
9564 #[link_name = "sk_ASN1_VALUE_is_sorted__extern"]
9565 pub fn sk_ASN1_VALUE_is_sorted(sk: *const stack_st_ASN1_VALUE) -> ::core::ffi::c_int;
9566}
9567unsafe extern "C" {
9568 #[link_name = "sk_ASN1_VALUE_set_cmp_func__extern"]
9569 pub fn sk_ASN1_VALUE_set_cmp_func(
9570 sk: *mut stack_st_ASN1_VALUE,
9571 comp: sk_ASN1_VALUE_cmp_func,
9572 ) -> sk_ASN1_VALUE_cmp_func;
9573}
9574unsafe extern "C" {
9575 #[link_name = "sk_ASN1_VALUE_deep_copy__extern"]
9576 pub fn sk_ASN1_VALUE_deep_copy(
9577 sk: *const stack_st_ASN1_VALUE,
9578 copy_func: sk_ASN1_VALUE_copy_func,
9579 free_func: sk_ASN1_VALUE_free_func,
9580 ) -> *mut stack_st_ASN1_VALUE;
9581}
9582unsafe extern "C" {
9583 pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
9584}
9585unsafe extern "C" {
9586 pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9587}
9588unsafe extern "C" {
9589 pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9590}
9591unsafe extern "C" {
9592 pub fn EVP_DecodeBase64(
9593 out: *mut u8,
9594 out_len: *mut usize,
9595 max_out: usize,
9596 in_: *const u8,
9597 in_len: usize,
9598 ) -> ::core::ffi::c_int;
9599}
9600unsafe extern "C" {
9601 pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
9602}
9603unsafe extern "C" {
9604 pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
9605}
9606unsafe extern "C" {
9607 pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
9608}
9609unsafe extern "C" {
9610 pub fn EVP_EncodeUpdate(
9611 ctx: *mut EVP_ENCODE_CTX,
9612 out: *mut u8,
9613 out_len: *mut ::core::ffi::c_int,
9614 in_: *const u8,
9615 in_len: usize,
9616 );
9617}
9618unsafe extern "C" {
9619 pub fn EVP_EncodeFinal(
9620 ctx: *mut EVP_ENCODE_CTX,
9621 out: *mut u8,
9622 out_len: *mut ::core::ffi::c_int,
9623 );
9624}
9625unsafe extern "C" {
9626 pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
9627}
9628unsafe extern "C" {
9629 pub fn EVP_DecodeUpdate(
9630 ctx: *mut EVP_ENCODE_CTX,
9631 out: *mut u8,
9632 out_len: *mut ::core::ffi::c_int,
9633 in_: *const u8,
9634 in_len: usize,
9635 ) -> ::core::ffi::c_int;
9636}
9637unsafe extern "C" {
9638 pub fn EVP_DecodeFinal(
9639 ctx: *mut EVP_ENCODE_CTX,
9640 out: *mut u8,
9641 out_len: *mut ::core::ffi::c_int,
9642 ) -> ::core::ffi::c_int;
9643}
9644unsafe extern "C" {
9645 pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::core::ffi::c_int;
9646}
9647#[repr(C)]
9648#[derive(Debug, Copy, Clone)]
9649pub struct evp_encode_ctx_st {
9650 pub data_used: ::core::ffi::c_uint,
9651 pub data: [u8; 48usize],
9652 pub eof_seen: ::core::ffi::c_char,
9653 pub error_encountered: ::core::ffi::c_char,
9654}
9655#[repr(C)]
9656#[derive(Debug, Copy, Clone)]
9657pub struct blake2b_state_st {
9658 pub h: [u64; 8usize],
9659 pub t_low: u64,
9660 pub t_high: u32,
9661 pub block_used: u32,
9662 pub block: [u8; 128usize],
9663}
9664unsafe extern "C" {
9665 pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
9666}
9667unsafe extern "C" {
9668 pub fn BLAKE2B256_Update(b2b: *mut BLAKE2B_CTX, data: *const ::core::ffi::c_void, len: usize);
9669}
9670unsafe extern "C" {
9671 pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
9672}
9673unsafe extern "C" {
9674 pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
9675}
9676#[repr(C)]
9677#[derive(Debug, Copy, Clone)]
9678pub struct bf_key_st {
9679 pub P: [u32; 18usize],
9680 pub S: [u32; 1024usize],
9681}
9682pub type BF_KEY = bf_key_st;
9683unsafe extern "C" {
9684 pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
9685}
9686unsafe extern "C" {
9687 pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
9688}
9689unsafe extern "C" {
9690 pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
9691}
9692unsafe extern "C" {
9693 pub fn BF_ecb_encrypt(
9694 in_: *const u8,
9695 out: *mut u8,
9696 key: *const BF_KEY,
9697 enc: ::core::ffi::c_int,
9698 );
9699}
9700unsafe extern "C" {
9701 pub fn BF_cbc_encrypt(
9702 in_: *const u8,
9703 out: *mut u8,
9704 length: usize,
9705 schedule: *const BF_KEY,
9706 ivec: *mut u8,
9707 enc: ::core::ffi::c_int,
9708 );
9709}
9710#[repr(C)]
9711#[derive(Debug, Copy, Clone)]
9712pub struct cbs_st {
9713 pub data: *const u8,
9714 pub len: usize,
9715}
9716unsafe extern "C" {
9717 #[link_name = "CBS_init__extern"]
9718 pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
9719}
9720unsafe extern "C" {
9721 pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::core::ffi::c_int;
9722}
9723unsafe extern "C" {
9724 #[link_name = "CBS_data__extern"]
9725 pub fn CBS_data(cbs: *const CBS) -> *const u8;
9726}
9727unsafe extern "C" {
9728 #[link_name = "CBS_len__extern"]
9729 pub fn CBS_len(cbs: *const CBS) -> usize;
9730}
9731unsafe extern "C" {
9732 pub fn CBS_stow(
9733 cbs: *const CBS,
9734 out_ptr: *mut *mut u8,
9735 out_len: *mut usize,
9736 ) -> ::core::ffi::c_int;
9737}
9738unsafe extern "C" {
9739 pub fn CBS_strdup(
9740 cbs: *const CBS,
9741 out_ptr: *mut *mut ::core::ffi::c_char,
9742 ) -> ::core::ffi::c_int;
9743}
9744unsafe extern "C" {
9745 pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::core::ffi::c_int;
9746}
9747unsafe extern "C" {
9748 pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::core::ffi::c_int;
9749}
9750unsafe extern "C" {
9751 pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9752}
9753unsafe extern "C" {
9754 pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9755}
9756unsafe extern "C" {
9757 pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9758}
9759unsafe extern "C" {
9760 pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9761}
9762unsafe extern "C" {
9763 pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9764}
9765unsafe extern "C" {
9766 pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9767}
9768unsafe extern "C" {
9769 pub fn CBS_get_u48(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9770}
9771unsafe extern "C" {
9772 pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9773}
9774unsafe extern "C" {
9775 pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9776}
9777unsafe extern "C" {
9778 pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9779}
9780unsafe extern "C" {
9781 pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::core::ffi::c_int;
9782}
9783unsafe extern "C" {
9784 pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::core::ffi::c_int;
9785}
9786unsafe extern "C" {
9787 pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9788}
9789unsafe extern "C" {
9790 pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9791}
9792unsafe extern "C" {
9793 pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9794}
9795unsafe extern "C" {
9796 pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::core::ffi::c_int;
9797}
9798unsafe extern "C" {
9799 pub fn CBS_get_until_first_of(
9800 cbs: *mut CBS,
9801 out: *mut CBS,
9802 chars: *const ::core::ffi::c_char,
9803 ) -> ::core::ffi::c_int;
9804}
9805unsafe extern "C" {
9806 pub fn CBS_get_until_first_not_of(
9807 cbs: *mut CBS,
9808 out: *mut CBS,
9809 chars: *const ::core::ffi::c_char,
9810 ) -> ::core::ffi::c_int;
9811}
9812unsafe extern "C" {
9813 pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9814}
9815unsafe extern "C" {
9816 pub fn CBS_get_asn1(
9817 cbs: *mut CBS,
9818 out: *mut CBS,
9819 tag_value: CBS_ASN1_TAG,
9820 ) -> ::core::ffi::c_int;
9821}
9822unsafe extern "C" {
9823 pub fn CBS_get_asn1_element(
9824 cbs: *mut CBS,
9825 out: *mut CBS,
9826 tag_value: CBS_ASN1_TAG,
9827 ) -> ::core::ffi::c_int;
9828}
9829unsafe extern "C" {
9830 pub fn CBS_peek_any_asn1_tag(cbs: *const CBS) -> CBS_ASN1_TAG;
9831}
9832unsafe extern "C" {
9833 pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::core::ffi::c_int;
9834}
9835unsafe extern "C" {
9836 pub fn CBS_get_any_asn1(
9837 cbs: *mut CBS,
9838 out: *mut CBS,
9839 out_tag: *mut CBS_ASN1_TAG,
9840 ) -> ::core::ffi::c_int;
9841}
9842unsafe extern "C" {
9843 pub fn CBS_get_any_asn1_element(
9844 cbs: *mut CBS,
9845 out: *mut CBS,
9846 out_tag: *mut CBS_ASN1_TAG,
9847 out_header_len: *mut usize,
9848 ) -> ::core::ffi::c_int;
9849}
9850unsafe extern "C" {
9851 pub fn CBS_get_any_ber_asn1_element(
9852 cbs: *mut CBS,
9853 out: *mut CBS,
9854 out_tag: *mut CBS_ASN1_TAG,
9855 out_header_len: *mut usize,
9856 out_ber_found: *mut ::core::ffi::c_int,
9857 out_indefinite: *mut ::core::ffi::c_int,
9858 ) -> ::core::ffi::c_int;
9859}
9860unsafe extern "C" {
9861 pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9862}
9863unsafe extern "C" {
9864 pub fn CBS_get_asn1_uint64_with_tag(
9865 cbs: *mut CBS,
9866 out: *mut u64,
9867 tag: CBS_ASN1_TAG,
9868 ) -> ::core::ffi::c_int;
9869}
9870unsafe extern "C" {
9871 pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::core::ffi::c_int;
9872}
9873unsafe extern "C" {
9874 pub fn CBS_get_asn1_int64_with_tag(
9875 cbs: *mut CBS,
9876 out: *mut i64,
9877 tag: CBS_ASN1_TAG,
9878 ) -> ::core::ffi::c_int;
9879}
9880unsafe extern "C" {
9881 pub fn CBS_get_asn1_bool(cbs: *mut CBS, out: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
9882}
9883unsafe extern "C" {
9884 pub fn CBS_get_optional_asn1(
9885 cbs: *mut CBS,
9886 out: *mut CBS,
9887 out_present: *mut ::core::ffi::c_int,
9888 tag: CBS_ASN1_TAG,
9889 ) -> ::core::ffi::c_int;
9890}
9891unsafe extern "C" {
9892 pub fn CBS_get_optional_asn1_octet_string(
9893 cbs: *mut CBS,
9894 out: *mut CBS,
9895 out_present: *mut ::core::ffi::c_int,
9896 tag: CBS_ASN1_TAG,
9897 ) -> ::core::ffi::c_int;
9898}
9899unsafe extern "C" {
9900 pub fn CBS_get_optional_asn1_uint64(
9901 cbs: *mut CBS,
9902 out: *mut u64,
9903 tag: CBS_ASN1_TAG,
9904 default_value: u64,
9905 ) -> ::core::ffi::c_int;
9906}
9907unsafe extern "C" {
9908 pub fn CBS_get_optional_asn1_bool(
9909 cbs: *mut CBS,
9910 out: *mut ::core::ffi::c_int,
9911 tag: CBS_ASN1_TAG,
9912 default_value: ::core::ffi::c_int,
9913 ) -> ::core::ffi::c_int;
9914}
9915unsafe extern "C" {
9916 pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::core::ffi::c_int;
9917}
9918unsafe extern "C" {
9919 pub fn CBS_asn1_bitstring_has_bit(
9920 cbs: *const CBS,
9921 bit: ::core::ffi::c_uint,
9922 ) -> ::core::ffi::c_int;
9923}
9924unsafe extern "C" {
9925 pub fn CBS_is_valid_asn1_integer(
9926 cbs: *const CBS,
9927 out_is_negative: *mut ::core::ffi::c_int,
9928 ) -> ::core::ffi::c_int;
9929}
9930unsafe extern "C" {
9931 pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::core::ffi::c_int;
9932}
9933unsafe extern "C" {
9934 pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9935}
9936unsafe extern "C" {
9937 pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9938}
9939unsafe extern "C" {
9940 pub fn CBS_is_valid_asn1_relative_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9941}
9942unsafe extern "C" {
9943 pub fn CBS_asn1_relative_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9944}
9945unsafe extern "C" {
9946 pub fn CBS_get_asn1_oid_component(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9947}
9948unsafe extern "C" {
9949 pub fn CBS_parse_generalized_time(
9950 cbs: *const CBS,
9951 out_tm: *mut tm,
9952 allow_timezone_offset: ::core::ffi::c_int,
9953 ) -> ::core::ffi::c_int;
9954}
9955unsafe extern "C" {
9956 pub fn CBS_parse_utc_time(
9957 cbs: *const CBS,
9958 out_tm: *mut tm,
9959 allow_timezone_offset: ::core::ffi::c_int,
9960 ) -> ::core::ffi::c_int;
9961}
9962#[repr(C)]
9963#[derive(Debug, Copy, Clone)]
9964pub struct cbb_buffer_st {
9965 pub buf: *mut u8,
9966 pub len: usize,
9967 pub cap: usize,
9968 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
9969 pub __bindgen_padding_0: [u8; 7usize],
9970}
9971impl cbb_buffer_st {
9972 #[inline]
9973 pub fn can_resize(&self) -> ::core::ffi::c_uint {
9974 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
9975 }
9976 #[inline]
9977 pub fn set_can_resize(&mut self, val: ::core::ffi::c_uint) {
9978 let val: u32 = val as _;
9979 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
9980 }
9981 #[inline]
9982 pub unsafe fn can_resize_raw(this: *const Self) -> ::core::ffi::c_uint {
9983 unsafe {
9984 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
9985 ::core::ptr::addr_of!((*this)._bitfield_1),
9986 ) as u32 as _
9987 }
9988 }
9989 #[inline]
9990 pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::core::ffi::c_uint) {
9991 unsafe {
9992 let val: u32 = val as _;
9993 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
9994 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9995 val as u64,
9996 )
9997 }
9998 }
9999 #[inline]
10000 pub fn error(&self) -> ::core::ffi::c_uint {
10001 self._bitfield_1.get_const::<1usize, 1u8>() as u32 as _
10002 }
10003 #[inline]
10004 pub fn set_error(&mut self, val: ::core::ffi::c_uint) {
10005 let val: u32 = val as _;
10006 self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
10007 }
10008 #[inline]
10009 pub unsafe fn error_raw(this: *const Self) -> ::core::ffi::c_uint {
10010 unsafe {
10011 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
10012 ::core::ptr::addr_of!((*this)._bitfield_1),
10013 ) as u32 as _
10014 }
10015 }
10016 #[inline]
10017 pub unsafe fn set_error_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10018 unsafe {
10019 let val: u32 = val as _;
10020 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
10021 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10022 val as u64,
10023 )
10024 }
10025 }
10026 #[inline]
10027 pub fn new_bitfield_1(
10028 can_resize: ::core::ffi::c_uint,
10029 error: ::core::ffi::c_uint,
10030 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10031 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10032 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10033 let can_resize: u32 = can_resize as _;
10034 can_resize as u64
10035 });
10036 __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
10037 let error: u32 = error as _;
10038 error as u64
10039 });
10040 __bindgen_bitfield_unit
10041 }
10042}
10043#[repr(C)]
10044#[derive(Debug, Copy, Clone)]
10045pub struct cbb_child_st {
10046 pub base: *mut cbb_buffer_st,
10047 pub offset: usize,
10048 pub pending_len_len: u8,
10049 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
10050 pub __bindgen_padding_0: [u16; 3usize],
10051}
10052impl cbb_child_st {
10053 #[inline]
10054 pub fn pending_is_asn1(&self) -> ::core::ffi::c_uint {
10055 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
10056 }
10057 #[inline]
10058 pub fn set_pending_is_asn1(&mut self, val: ::core::ffi::c_uint) {
10059 let val: u32 = val as _;
10060 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
10061 }
10062 #[inline]
10063 pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::core::ffi::c_uint {
10064 unsafe {
10065 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
10066 ::core::ptr::addr_of!((*this)._bitfield_1),
10067 ) as u32 as _
10068 }
10069 }
10070 #[inline]
10071 pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10072 unsafe {
10073 let val: u32 = val as _;
10074 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
10075 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10076 val as u64,
10077 )
10078 }
10079 }
10080 #[inline]
10081 pub fn new_bitfield_1(
10082 pending_is_asn1: ::core::ffi::c_uint,
10083 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10084 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10085 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10086 let pending_is_asn1: u32 = pending_is_asn1 as _;
10087 pending_is_asn1 as u64
10088 });
10089 __bindgen_bitfield_unit
10090 }
10091}
10092#[repr(C)]
10093#[derive(Copy, Clone)]
10094pub struct cbb_st {
10095 pub child: *mut CBB,
10096 pub is_child: ::core::ffi::c_char,
10097 pub u: cbb_st__bindgen_ty_1,
10098}
10099#[repr(C)]
10100#[derive(Copy, Clone)]
10101pub union cbb_st__bindgen_ty_1 {
10102 pub base: cbb_buffer_st,
10103 pub child: cbb_child_st,
10104}
10105unsafe extern "C" {
10106 pub fn CBB_zero(cbb: *mut CBB);
10107}
10108unsafe extern "C" {
10109 pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::core::ffi::c_int;
10110}
10111unsafe extern "C" {
10112 pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::core::ffi::c_int;
10113}
10114unsafe extern "C" {
10115 pub fn CBB_cleanup(cbb: *mut CBB);
10116}
10117unsafe extern "C" {
10118 pub fn CBB_finish(
10119 cbb: *mut CBB,
10120 out_data: *mut *mut u8,
10121 out_len: *mut usize,
10122 ) -> ::core::ffi::c_int;
10123}
10124unsafe extern "C" {
10125 pub fn CBB_flush(cbb: *mut CBB) -> ::core::ffi::c_int;
10126}
10127unsafe extern "C" {
10128 pub fn CBB_data(cbb: *const CBB) -> *mut u8;
10129}
10130unsafe extern "C" {
10131 pub fn CBB_len(cbb: *const CBB) -> usize;
10132}
10133unsafe extern "C" {
10134 pub fn CBB_add_u8_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB) -> ::core::ffi::c_int;
10135}
10136unsafe extern "C" {
10137 pub fn CBB_add_u16_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10138 -> ::core::ffi::c_int;
10139}
10140unsafe extern "C" {
10141 pub fn CBB_add_u24_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10142 -> ::core::ffi::c_int;
10143}
10144unsafe extern "C" {
10145 pub fn CBB_add_asn1(
10146 cbb: *mut CBB,
10147 out_contents: *mut CBB,
10148 tag: CBS_ASN1_TAG,
10149 ) -> ::core::ffi::c_int;
10150}
10151unsafe extern "C" {
10152 pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::core::ffi::c_int;
10153}
10154unsafe extern "C" {
10155 pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10156}
10157unsafe extern "C" {
10158 pub fn CBB_add_space(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10159}
10160unsafe extern "C" {
10161 pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10162}
10163unsafe extern "C" {
10164 pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10165}
10166unsafe extern "C" {
10167 pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::core::ffi::c_int;
10168}
10169unsafe extern "C" {
10170 pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10171}
10172unsafe extern "C" {
10173 pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10174}
10175unsafe extern "C" {
10176 pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10177}
10178unsafe extern "C" {
10179 pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10180}
10181unsafe extern "C" {
10182 pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10183}
10184unsafe extern "C" {
10185 pub fn CBB_add_u48(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10186}
10187unsafe extern "C" {
10188 pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10189}
10190unsafe extern "C" {
10191 pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10192}
10193unsafe extern "C" {
10194 pub fn CBB_discard(cbb: *mut CBB, len: usize);
10195}
10196unsafe extern "C" {
10197 pub fn CBB_discard_child(cbb: *mut CBB);
10198}
10199unsafe extern "C" {
10200 pub fn CBB_add_asn1_element(
10201 cbb: *mut CBB,
10202 tag: CBS_ASN1_TAG,
10203 data: *const u8,
10204 data_len: usize,
10205 ) -> ::core::ffi::c_int;
10206}
10207unsafe extern "C" {
10208 pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10209}
10210unsafe extern "C" {
10211 pub fn CBB_add_asn1_uint64_with_tag(
10212 cbb: *mut CBB,
10213 value: u64,
10214 tag: CBS_ASN1_TAG,
10215 ) -> ::core::ffi::c_int;
10216}
10217unsafe extern "C" {
10218 pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::core::ffi::c_int;
10219}
10220unsafe extern "C" {
10221 pub fn CBB_add_asn1_int64_with_tag(
10222 cbb: *mut CBB,
10223 value: i64,
10224 tag: CBS_ASN1_TAG,
10225 ) -> ::core::ffi::c_int;
10226}
10227unsafe extern "C" {
10228 pub fn CBB_add_asn1_octet_string(
10229 cbb: *mut CBB,
10230 data: *const u8,
10231 data_len: usize,
10232 ) -> ::core::ffi::c_int;
10233}
10234unsafe extern "C" {
10235 pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::core::ffi::c_int) -> ::core::ffi::c_int;
10236}
10237unsafe extern "C" {
10238 pub fn CBB_add_asn1_oid_from_text(
10239 cbb: *mut CBB,
10240 text: *const ::core::ffi::c_char,
10241 len: usize,
10242 ) -> ::core::ffi::c_int;
10243}
10244unsafe extern "C" {
10245 pub fn CBB_add_asn1_relative_oid_from_text(
10246 cbb: *mut CBB,
10247 text: *const ::core::ffi::c_char,
10248 len: usize,
10249 ) -> ::core::ffi::c_int;
10250}
10251unsafe extern "C" {
10252 pub fn CBB_add_asn1_relative_oid_from_der_to_text(
10253 cbb: *mut CBB,
10254 data: *const u8,
10255 data_len: usize,
10256 ) -> ::core::ffi::c_int;
10257}
10258unsafe extern "C" {
10259 pub fn CBB_add_asn1_oid_component(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10260}
10261unsafe extern "C" {
10262 pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::core::ffi::c_int;
10263}
10264unsafe extern "C" {
10265 pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10266}
10267unsafe extern "C" {
10268 pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10269}
10270unsafe extern "C" {
10271 pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10272}
10273unsafe extern "C" {
10274 pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10275}
10276unsafe extern "C" {
10277 pub fn CBB_get_utf8_len(u: u32) -> usize;
10278}
10279unsafe extern "C" {
10280 pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10281}
10282unsafe extern "C" {
10283 pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10284}
10285unsafe extern "C" {
10286 pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10287}
10288unsafe extern "C" {
10289 pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10290}
10291#[repr(C)]
10292#[derive(Debug, Copy, Clone)]
10293pub struct cast_key_st {
10294 pub data: [u32; 32usize],
10295 pub short_key: ::core::ffi::c_int,
10296}
10297pub type CAST_KEY = cast_key_st;
10298unsafe extern "C" {
10299 pub fn CAST_set_key(key: *mut CAST_KEY, len: usize, data: *const u8);
10300}
10301unsafe extern "C" {
10302 pub fn CAST_ecb_encrypt(
10303 in_: *const u8,
10304 out: *mut u8,
10305 key: *const CAST_KEY,
10306 enc: ::core::ffi::c_int,
10307 );
10308}
10309unsafe extern "C" {
10310 pub fn CAST_encrypt(data: *mut u32, key: *const CAST_KEY);
10311}
10312unsafe extern "C" {
10313 pub fn CAST_decrypt(data: *mut u32, key: *const CAST_KEY);
10314}
10315unsafe extern "C" {
10316 pub fn CAST_cbc_encrypt(
10317 in_: *const u8,
10318 out: *mut u8,
10319 length: usize,
10320 ks: *const CAST_KEY,
10321 iv: *mut u8,
10322 enc: ::core::ffi::c_int,
10323 );
10324}
10325unsafe extern "C" {
10326 pub fn CAST_cfb64_encrypt(
10327 in_: *const u8,
10328 out: *mut u8,
10329 length: usize,
10330 schedule: *const CAST_KEY,
10331 ivec: *mut u8,
10332 num: *mut ::core::ffi::c_int,
10333 enc: ::core::ffi::c_int,
10334 );
10335}
10336unsafe extern "C" {
10337 pub fn CRYPTO_chacha_20(
10338 out: *mut u8,
10339 in_: *const u8,
10340 in_len: usize,
10341 key: *const u8,
10342 nonce: *const u8,
10343 counter: u32,
10344 );
10345}
10346unsafe extern "C" {
10347 pub fn EVP_rc4() -> *const EVP_CIPHER;
10348}
10349unsafe extern "C" {
10350 pub fn EVP_des_cbc() -> *const EVP_CIPHER;
10351}
10352unsafe extern "C" {
10353 pub fn EVP_des_ecb() -> *const EVP_CIPHER;
10354}
10355unsafe extern "C" {
10356 pub fn EVP_des_ede() -> *const EVP_CIPHER;
10357}
10358unsafe extern "C" {
10359 pub fn EVP_des_ede3() -> *const EVP_CIPHER;
10360}
10361unsafe extern "C" {
10362 pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
10363}
10364unsafe extern "C" {
10365 pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
10366}
10367unsafe extern "C" {
10368 pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
10369}
10370unsafe extern "C" {
10371 pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
10372}
10373unsafe extern "C" {
10374 pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
10375}
10376unsafe extern "C" {
10377 pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
10378}
10379unsafe extern "C" {
10380 pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
10381}
10382unsafe extern "C" {
10383 pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
10384}
10385unsafe extern "C" {
10386 pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
10387}
10388unsafe extern "C" {
10389 pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
10390}
10391unsafe extern "C" {
10392 pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
10393}
10394unsafe extern "C" {
10395 pub fn EVP_enc_null() -> *const EVP_CIPHER;
10396}
10397unsafe extern "C" {
10398 pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
10399}
10400unsafe extern "C" {
10401 pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
10402}
10403unsafe extern "C" {
10404 pub fn EVP_get_cipherbynid(nid: ::core::ffi::c_int) -> *const EVP_CIPHER;
10405}
10406unsafe extern "C" {
10407 pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
10408}
10409unsafe extern "C" {
10410 pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
10411}
10412unsafe extern "C" {
10413 pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10414}
10415unsafe extern "C" {
10416 pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
10417}
10418unsafe extern "C" {
10419 pub fn EVP_CIPHER_CTX_copy(
10420 out: *mut EVP_CIPHER_CTX,
10421 in_: *const EVP_CIPHER_CTX,
10422 ) -> ::core::ffi::c_int;
10423}
10424unsafe extern "C" {
10425 pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10426}
10427unsafe extern "C" {
10428 pub fn EVP_CipherInit_ex(
10429 ctx: *mut EVP_CIPHER_CTX,
10430 cipher: *const EVP_CIPHER,
10431 engine: *mut ENGINE,
10432 key: *const u8,
10433 iv: *const u8,
10434 enc: ::core::ffi::c_int,
10435 ) -> ::core::ffi::c_int;
10436}
10437unsafe extern "C" {
10438 pub fn EVP_EncryptInit_ex(
10439 ctx: *mut EVP_CIPHER_CTX,
10440 cipher: *const EVP_CIPHER,
10441 impl_: *mut ENGINE,
10442 key: *const u8,
10443 iv: *const u8,
10444 ) -> ::core::ffi::c_int;
10445}
10446unsafe extern "C" {
10447 pub fn EVP_DecryptInit_ex(
10448 ctx: *mut EVP_CIPHER_CTX,
10449 cipher: *const EVP_CIPHER,
10450 impl_: *mut ENGINE,
10451 key: *const u8,
10452 iv: *const u8,
10453 ) -> ::core::ffi::c_int;
10454}
10455unsafe extern "C" {
10456 pub fn EVP_EncryptUpdate_ex(
10457 ctx: *mut EVP_CIPHER_CTX,
10458 out: *mut u8,
10459 out_len: *mut usize,
10460 max_out_len: usize,
10461 in_: *const u8,
10462 in_len: usize,
10463 ) -> ::core::ffi::c_int;
10464}
10465unsafe extern "C" {
10466 pub fn EVP_EncryptFinal_ex2(
10467 ctx: *mut EVP_CIPHER_CTX,
10468 out: *mut u8,
10469 out_len: *mut usize,
10470 max_out_len: usize,
10471 ) -> ::core::ffi::c_int;
10472}
10473unsafe extern "C" {
10474 pub fn EVP_DecryptUpdate_ex(
10475 ctx: *mut EVP_CIPHER_CTX,
10476 out: *mut u8,
10477 out_len: *mut usize,
10478 max_out_len: usize,
10479 in_: *const u8,
10480 in_len: usize,
10481 ) -> ::core::ffi::c_int;
10482}
10483unsafe extern "C" {
10484 pub fn EVP_DecryptFinal_ex2(
10485 ctx: *mut EVP_CIPHER_CTX,
10486 out: *mut u8,
10487 out_len: *mut usize,
10488 max_out_len: usize,
10489 ) -> ::core::ffi::c_int;
10490}
10491unsafe extern "C" {
10492 pub fn EVP_CipherUpdate_ex(
10493 ctx: *mut EVP_CIPHER_CTX,
10494 out: *mut u8,
10495 out_len: *mut usize,
10496 max_out_len: usize,
10497 in_: *const u8,
10498 in_len: usize,
10499 ) -> ::core::ffi::c_int;
10500}
10501unsafe extern "C" {
10502 pub fn EVP_CipherUpdateAAD(
10503 ctx: *mut EVP_CIPHER_CTX,
10504 in_: *const u8,
10505 in_len: usize,
10506 ) -> ::core::ffi::c_int;
10507}
10508unsafe extern "C" {
10509 pub fn EVP_CipherFinal_ex2(
10510 ctx: *mut EVP_CIPHER_CTX,
10511 out: *mut u8,
10512 out_len: *mut usize,
10513 max_out_len: usize,
10514 ) -> ::core::ffi::c_int;
10515}
10516unsafe extern "C" {
10517 pub fn EVP_CIPHER_CTX_max_next_update(ctx: *const EVP_CIPHER_CTX, in_len: usize) -> usize;
10518}
10519unsafe extern "C" {
10520 pub fn EVP_CIPHER_CTX_max_final(ctx: *const EVP_CIPHER_CTX) -> usize;
10521}
10522unsafe extern "C" {
10523 pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
10524}
10525unsafe extern "C" {
10526 pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10527}
10528unsafe extern "C" {
10529 pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10530}
10531unsafe extern "C" {
10532 pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10533}
10534unsafe extern "C" {
10535 pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10536}
10537unsafe extern "C" {
10538 pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10539}
10540unsafe extern "C" {
10541 pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::core::ffi::c_void;
10542}
10543unsafe extern "C" {
10544 pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::core::ffi::c_void);
10545}
10546unsafe extern "C" {
10547 pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
10548}
10549unsafe extern "C" {
10550 pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
10551}
10552unsafe extern "C" {
10553 pub fn EVP_CIPHER_CTX_ctrl(
10554 ctx: *mut EVP_CIPHER_CTX,
10555 command: ::core::ffi::c_int,
10556 arg: ::core::ffi::c_int,
10557 ptr: *mut ::core::ffi::c_void,
10558 ) -> ::core::ffi::c_int;
10559}
10560unsafe extern "C" {
10561 pub fn EVP_CIPHER_CTX_set_padding(
10562 ctx: *mut EVP_CIPHER_CTX,
10563 pad: ::core::ffi::c_int,
10564 ) -> ::core::ffi::c_int;
10565}
10566unsafe extern "C" {
10567 pub fn EVP_CIPHER_CTX_set_key_length(
10568 ctx: *mut EVP_CIPHER_CTX,
10569 key_len: ::core::ffi::c_uint,
10570 ) -> ::core::ffi::c_int;
10571}
10572unsafe extern "C" {
10573 pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::core::ffi::c_int;
10574}
10575unsafe extern "C" {
10576 pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10577}
10578unsafe extern "C" {
10579 pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10580}
10581unsafe extern "C" {
10582 pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10583}
10584unsafe extern "C" {
10585 pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
10586}
10587unsafe extern "C" {
10588 pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
10589}
10590unsafe extern "C" {
10591 pub fn EVP_BytesToKey(
10592 type_: *const EVP_CIPHER,
10593 md: *const EVP_MD,
10594 salt: *const u8,
10595 data: *const u8,
10596 data_len: usize,
10597 count: ::core::ffi::c_uint,
10598 key: *mut u8,
10599 iv: *mut u8,
10600 ) -> ::core::ffi::c_int;
10601}
10602unsafe extern "C" {
10603 pub fn EVP_CipherInit(
10604 ctx: *mut EVP_CIPHER_CTX,
10605 cipher: *const EVP_CIPHER,
10606 key: *const u8,
10607 iv: *const u8,
10608 enc: ::core::ffi::c_int,
10609 ) -> ::core::ffi::c_int;
10610}
10611unsafe extern "C" {
10612 pub fn EVP_EncryptInit(
10613 ctx: *mut EVP_CIPHER_CTX,
10614 cipher: *const EVP_CIPHER,
10615 key: *const u8,
10616 iv: *const u8,
10617 ) -> ::core::ffi::c_int;
10618}
10619unsafe extern "C" {
10620 pub fn EVP_DecryptInit(
10621 ctx: *mut EVP_CIPHER_CTX,
10622 cipher: *const EVP_CIPHER,
10623 key: *const u8,
10624 iv: *const u8,
10625 ) -> ::core::ffi::c_int;
10626}
10627unsafe extern "C" {
10628 pub fn EVP_CipherUpdate(
10629 ctx: *mut EVP_CIPHER_CTX,
10630 out: *mut u8,
10631 out_len: *mut ::core::ffi::c_int,
10632 in_: *const u8,
10633 in_len: ::core::ffi::c_int,
10634 ) -> ::core::ffi::c_int;
10635}
10636unsafe extern "C" {
10637 pub fn EVP_EncryptUpdate(
10638 ctx: *mut EVP_CIPHER_CTX,
10639 out: *mut u8,
10640 out_len: *mut ::core::ffi::c_int,
10641 in_: *const u8,
10642 in_len: ::core::ffi::c_int,
10643 ) -> ::core::ffi::c_int;
10644}
10645unsafe extern "C" {
10646 pub fn EVP_DecryptUpdate(
10647 ctx: *mut EVP_CIPHER_CTX,
10648 out: *mut u8,
10649 out_len: *mut ::core::ffi::c_int,
10650 in_: *const u8,
10651 in_len: ::core::ffi::c_int,
10652 ) -> ::core::ffi::c_int;
10653}
10654unsafe extern "C" {
10655 pub fn EVP_CipherFinal(
10656 ctx: *mut EVP_CIPHER_CTX,
10657 out: *mut u8,
10658 out_len: *mut ::core::ffi::c_int,
10659 ) -> ::core::ffi::c_int;
10660}
10661unsafe extern "C" {
10662 pub fn EVP_CipherFinal_ex(
10663 ctx: *mut EVP_CIPHER_CTX,
10664 out: *mut u8,
10665 out_len: *mut ::core::ffi::c_int,
10666 ) -> ::core::ffi::c_int;
10667}
10668unsafe extern "C" {
10669 pub fn EVP_EncryptFinal(
10670 ctx: *mut EVP_CIPHER_CTX,
10671 out: *mut u8,
10672 out_len: *mut ::core::ffi::c_int,
10673 ) -> ::core::ffi::c_int;
10674}
10675unsafe extern "C" {
10676 pub fn EVP_EncryptFinal_ex(
10677 ctx: *mut EVP_CIPHER_CTX,
10678 out: *mut u8,
10679 out_len: *mut ::core::ffi::c_int,
10680 ) -> ::core::ffi::c_int;
10681}
10682unsafe extern "C" {
10683 pub fn EVP_DecryptFinal(
10684 ctx: *mut EVP_CIPHER_CTX,
10685 out: *mut u8,
10686 out_len: *mut ::core::ffi::c_int,
10687 ) -> ::core::ffi::c_int;
10688}
10689unsafe extern "C" {
10690 pub fn EVP_DecryptFinal_ex(
10691 ctx: *mut EVP_CIPHER_CTX,
10692 out: *mut u8,
10693 out_len: *mut ::core::ffi::c_int,
10694 ) -> ::core::ffi::c_int;
10695}
10696unsafe extern "C" {
10697 pub fn EVP_Cipher(
10698 ctx: *mut EVP_CIPHER_CTX,
10699 out: *mut u8,
10700 in_: *const u8,
10701 in_len: usize,
10702 ) -> ::core::ffi::c_int;
10703}
10704unsafe extern "C" {
10705 pub fn EVP_add_cipher_alias(
10706 a: *const ::core::ffi::c_char,
10707 b: *const ::core::ffi::c_char,
10708 ) -> ::core::ffi::c_int;
10709}
10710unsafe extern "C" {
10711 pub fn EVP_get_cipherbyname(name: *const ::core::ffi::c_char) -> *const EVP_CIPHER;
10712}
10713unsafe extern "C" {
10714 pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
10715}
10716unsafe extern "C" {
10717 pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
10718}
10719unsafe extern "C" {
10720 pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
10721}
10722unsafe extern "C" {
10723 pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
10724}
10725unsafe extern "C" {
10726 pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
10727}
10728unsafe extern "C" {
10729 pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
10730}
10731unsafe extern "C" {
10732 pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
10733}
10734unsafe extern "C" {
10735 pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
10736}
10737unsafe extern "C" {
10738 pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
10739}
10740unsafe extern "C" {
10741 pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
10742}
10743unsafe extern "C" {
10744 pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
10745}
10746unsafe extern "C" {
10747 pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
10748}
10749unsafe extern "C" {
10750 pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
10751}
10752unsafe extern "C" {
10753 pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
10754}
10755unsafe extern "C" {
10756 pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
10757}
10758unsafe extern "C" {
10759 pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
10760}
10761unsafe extern "C" {
10762 pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
10763}
10764unsafe extern "C" {
10765 pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
10766}
10767unsafe extern "C" {
10768 pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
10769}
10770unsafe extern "C" {
10771 pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
10772}
10773#[repr(C)]
10774#[derive(Debug, Copy, Clone)]
10775pub struct evp_cipher_ctx_st {
10776 pub cipher: *const EVP_CIPHER,
10777 pub app_data: *mut ::core::ffi::c_void,
10778 pub cipher_data: *mut ::core::ffi::c_void,
10779 pub key_len: ::core::ffi::c_uint,
10780 pub encrypt: ::core::ffi::c_int,
10781 pub flags: u32,
10782 pub oiv: [u8; 16usize],
10783 pub iv: [u8; 16usize],
10784 pub buf: [u8; 32usize],
10785 pub buf_len: ::core::ffi::c_int,
10786 pub num: ::core::ffi::c_uint,
10787 pub final_used: ::core::ffi::c_int,
10788 pub final_: [u8; 32usize],
10789}
10790#[repr(C)]
10791#[derive(Debug, Copy, Clone)]
10792pub struct evp_cipher_info_st {
10793 pub cipher: *const EVP_CIPHER,
10794 pub iv: [::core::ffi::c_uchar; 16usize],
10795}
10796pub type EVP_CIPHER_INFO = evp_cipher_info_st;
10797unsafe extern "C" {
10798 pub fn AES_CMAC(
10799 out: *mut u8,
10800 key: *const u8,
10801 key_len: usize,
10802 in_: *const u8,
10803 in_len: usize,
10804 ) -> ::core::ffi::c_int;
10805}
10806unsafe extern "C" {
10807 pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
10808}
10809unsafe extern "C" {
10810 pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
10811}
10812unsafe extern "C" {
10813 pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::core::ffi::c_int;
10814}
10815unsafe extern "C" {
10816 pub fn CMAC_Init(
10817 ctx: *mut CMAC_CTX,
10818 key: *const ::core::ffi::c_void,
10819 key_len: usize,
10820 cipher: *const EVP_CIPHER,
10821 engine: *mut ENGINE,
10822 ) -> ::core::ffi::c_int;
10823}
10824unsafe extern "C" {
10825 pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::core::ffi::c_int;
10826}
10827unsafe extern "C" {
10828 pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::core::ffi::c_int;
10829}
10830unsafe extern "C" {
10831 pub fn CMAC_Final(ctx: *mut CMAC_CTX, out: *mut u8, out_len: *mut usize) -> ::core::ffi::c_int;
10832}
10833#[repr(C)]
10834#[derive(Debug, Copy, Clone)]
10835pub struct conf_value_st {
10836 pub section: *mut ::core::ffi::c_char,
10837 pub name: *mut ::core::ffi::c_char,
10838 pub value: *mut ::core::ffi::c_char,
10839}
10840#[repr(C)]
10841#[derive(Debug)]
10842pub struct stack_st_CONF_VALUE {
10843 _unused: [u8; 0],
10844}
10845pub type sk_CONF_VALUE_free_func =
10846 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
10847pub type sk_CONF_VALUE_copy_func =
10848 ::core::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
10849pub type sk_CONF_VALUE_cmp_func = ::core::option::Option<
10850 unsafe extern "C" fn(
10851 arg1: *const *const CONF_VALUE,
10852 arg2: *const *const CONF_VALUE,
10853 ) -> ::core::ffi::c_int,
10854>;
10855pub type sk_CONF_VALUE_delete_if_func = ::core::option::Option<
10856 unsafe extern "C" fn(
10857 arg1: *mut CONF_VALUE,
10858 arg2: *mut ::core::ffi::c_void,
10859 ) -> ::core::ffi::c_int,
10860>;
10861unsafe extern "C" {
10862 #[link_name = "sk_CONF_VALUE_call_free_func__extern"]
10863 pub fn sk_CONF_VALUE_call_free_func(
10864 free_func: OPENSSL_sk_free_func,
10865 ptr: *mut ::core::ffi::c_void,
10866 );
10867}
10868unsafe extern "C" {
10869 #[link_name = "sk_CONF_VALUE_call_copy_func__extern"]
10870 pub fn sk_CONF_VALUE_call_copy_func(
10871 copy_func: OPENSSL_sk_copy_func,
10872 ptr: *const ::core::ffi::c_void,
10873 ) -> *mut ::core::ffi::c_void;
10874}
10875unsafe extern "C" {
10876 #[link_name = "sk_CONF_VALUE_call_cmp_func__extern"]
10877 pub fn sk_CONF_VALUE_call_cmp_func(
10878 cmp_func: OPENSSL_sk_cmp_func,
10879 a: *const ::core::ffi::c_void,
10880 b: *const ::core::ffi::c_void,
10881 ) -> ::core::ffi::c_int;
10882}
10883unsafe extern "C" {
10884 #[link_name = "sk_CONF_VALUE_call_delete_if_func__extern"]
10885 pub fn sk_CONF_VALUE_call_delete_if_func(
10886 func: OPENSSL_sk_delete_if_func,
10887 obj: *mut ::core::ffi::c_void,
10888 data: *mut ::core::ffi::c_void,
10889 ) -> ::core::ffi::c_int;
10890}
10891unsafe extern "C" {
10892 #[link_name = "sk_CONF_VALUE_new__extern"]
10893 pub fn sk_CONF_VALUE_new(comp: sk_CONF_VALUE_cmp_func) -> *mut stack_st_CONF_VALUE;
10894}
10895unsafe extern "C" {
10896 #[link_name = "sk_CONF_VALUE_new_null__extern"]
10897 pub fn sk_CONF_VALUE_new_null() -> *mut stack_st_CONF_VALUE;
10898}
10899unsafe extern "C" {
10900 #[link_name = "sk_CONF_VALUE_num__extern"]
10901 pub fn sk_CONF_VALUE_num(sk: *const stack_st_CONF_VALUE) -> usize;
10902}
10903unsafe extern "C" {
10904 #[link_name = "sk_CONF_VALUE_zero__extern"]
10905 pub fn sk_CONF_VALUE_zero(sk: *mut stack_st_CONF_VALUE);
10906}
10907unsafe extern "C" {
10908 #[link_name = "sk_CONF_VALUE_value__extern"]
10909 pub fn sk_CONF_VALUE_value(sk: *const stack_st_CONF_VALUE, i: usize) -> *mut CONF_VALUE;
10910}
10911unsafe extern "C" {
10912 #[link_name = "sk_CONF_VALUE_set__extern"]
10913 pub fn sk_CONF_VALUE_set(
10914 sk: *mut stack_st_CONF_VALUE,
10915 i: usize,
10916 p: *mut CONF_VALUE,
10917 ) -> *mut CONF_VALUE;
10918}
10919unsafe extern "C" {
10920 #[link_name = "sk_CONF_VALUE_free__extern"]
10921 pub fn sk_CONF_VALUE_free(sk: *mut stack_st_CONF_VALUE);
10922}
10923unsafe extern "C" {
10924 #[link_name = "sk_CONF_VALUE_pop_free__extern"]
10925 pub fn sk_CONF_VALUE_pop_free(sk: *mut stack_st_CONF_VALUE, free_func: sk_CONF_VALUE_free_func);
10926}
10927unsafe extern "C" {
10928 #[link_name = "sk_CONF_VALUE_insert__extern"]
10929 pub fn sk_CONF_VALUE_insert(
10930 sk: *mut stack_st_CONF_VALUE,
10931 p: *mut CONF_VALUE,
10932 where_: usize,
10933 ) -> usize;
10934}
10935unsafe extern "C" {
10936 #[link_name = "sk_CONF_VALUE_delete__extern"]
10937 pub fn sk_CONF_VALUE_delete(sk: *mut stack_st_CONF_VALUE, where_: usize) -> *mut CONF_VALUE;
10938}
10939unsafe extern "C" {
10940 #[link_name = "sk_CONF_VALUE_delete_ptr__extern"]
10941 pub fn sk_CONF_VALUE_delete_ptr(
10942 sk: *mut stack_st_CONF_VALUE,
10943 p: *const CONF_VALUE,
10944 ) -> *mut CONF_VALUE;
10945}
10946unsafe extern "C" {
10947 #[link_name = "sk_CONF_VALUE_delete_if__extern"]
10948 pub fn sk_CONF_VALUE_delete_if(
10949 sk: *mut stack_st_CONF_VALUE,
10950 func: sk_CONF_VALUE_delete_if_func,
10951 data: *mut ::core::ffi::c_void,
10952 );
10953}
10954unsafe extern "C" {
10955 #[link_name = "sk_CONF_VALUE_find__extern"]
10956 pub fn sk_CONF_VALUE_find(
10957 sk: *const stack_st_CONF_VALUE,
10958 out_index: *mut usize,
10959 p: *const CONF_VALUE,
10960 ) -> ::core::ffi::c_int;
10961}
10962unsafe extern "C" {
10963 #[link_name = "sk_CONF_VALUE_shift__extern"]
10964 pub fn sk_CONF_VALUE_shift(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
10965}
10966unsafe extern "C" {
10967 #[link_name = "sk_CONF_VALUE_push__extern"]
10968 pub fn sk_CONF_VALUE_push(sk: *mut stack_st_CONF_VALUE, p: *mut CONF_VALUE) -> usize;
10969}
10970unsafe extern "C" {
10971 #[link_name = "sk_CONF_VALUE_pop__extern"]
10972 pub fn sk_CONF_VALUE_pop(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
10973}
10974unsafe extern "C" {
10975 #[link_name = "sk_CONF_VALUE_dup__extern"]
10976 pub fn sk_CONF_VALUE_dup(sk: *const stack_st_CONF_VALUE) -> *mut stack_st_CONF_VALUE;
10977}
10978unsafe extern "C" {
10979 #[link_name = "sk_CONF_VALUE_sort__extern"]
10980 pub fn sk_CONF_VALUE_sort(sk: *mut stack_st_CONF_VALUE);
10981}
10982unsafe extern "C" {
10983 #[link_name = "sk_CONF_VALUE_sort_and_dedup__extern"]
10984 pub fn sk_CONF_VALUE_sort_and_dedup(
10985 sk: *mut stack_st_CONF_VALUE,
10986 free_func: sk_CONF_VALUE_free_func,
10987 );
10988}
10989unsafe extern "C" {
10990 #[link_name = "sk_CONF_VALUE_is_sorted__extern"]
10991 pub fn sk_CONF_VALUE_is_sorted(sk: *const stack_st_CONF_VALUE) -> ::core::ffi::c_int;
10992}
10993unsafe extern "C" {
10994 #[link_name = "sk_CONF_VALUE_set_cmp_func__extern"]
10995 pub fn sk_CONF_VALUE_set_cmp_func(
10996 sk: *mut stack_st_CONF_VALUE,
10997 comp: sk_CONF_VALUE_cmp_func,
10998 ) -> sk_CONF_VALUE_cmp_func;
10999}
11000unsafe extern "C" {
11001 #[link_name = "sk_CONF_VALUE_deep_copy__extern"]
11002 pub fn sk_CONF_VALUE_deep_copy(
11003 sk: *const stack_st_CONF_VALUE,
11004 copy_func: sk_CONF_VALUE_copy_func,
11005 free_func: sk_CONF_VALUE_free_func,
11006 ) -> *mut stack_st_CONF_VALUE;
11007}
11008unsafe extern "C" {
11009 pub fn NCONF_new(method: *mut ::core::ffi::c_void) -> *mut CONF;
11010}
11011unsafe extern "C" {
11012 pub fn NCONF_free(conf: *mut CONF);
11013}
11014unsafe extern "C" {
11015 pub fn NCONF_load(
11016 conf: *mut CONF,
11017 filename: *const ::core::ffi::c_char,
11018 out_error_line: *mut ::core::ffi::c_long,
11019 ) -> ::core::ffi::c_int;
11020}
11021unsafe extern "C" {
11022 pub fn NCONF_load_bio(
11023 conf: *mut CONF,
11024 bio: *mut BIO,
11025 out_error_line: *mut ::core::ffi::c_long,
11026 ) -> ::core::ffi::c_int;
11027}
11028unsafe extern "C" {
11029 pub fn NCONF_get_section(
11030 conf: *const CONF,
11031 section: *const ::core::ffi::c_char,
11032 ) -> *const stack_st_CONF_VALUE;
11033}
11034unsafe extern "C" {
11035 pub fn NCONF_get_string(
11036 conf: *const CONF,
11037 section: *const ::core::ffi::c_char,
11038 name: *const ::core::ffi::c_char,
11039 ) -> *const ::core::ffi::c_char;
11040}
11041unsafe extern "C" {
11042 pub fn CONF_modules_load_file(
11043 filename: *const ::core::ffi::c_char,
11044 appname: *const ::core::ffi::c_char,
11045 flags: ::core::ffi::c_ulong,
11046 ) -> ::core::ffi::c_int;
11047}
11048unsafe extern "C" {
11049 pub fn CONF_modules_unload(all: ::core::ffi::c_int);
11050}
11051unsafe extern "C" {
11052 pub fn CONF_modules_free();
11053}
11054unsafe extern "C" {
11055 pub fn OPENSSL_config(config_name: *const ::core::ffi::c_char);
11056}
11057unsafe extern "C" {
11058 pub fn OPENSSL_no_config();
11059}
11060unsafe extern "C" {
11061 pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11062}
11063unsafe extern "C" {
11064 pub fn SHA224_Update(
11065 sha: *mut SHA256_CTX,
11066 data: *const ::core::ffi::c_void,
11067 len: usize,
11068 ) -> ::core::ffi::c_int;
11069}
11070unsafe extern "C" {
11071 pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11072}
11073unsafe extern "C" {
11074 pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11075}
11076unsafe extern "C" {
11077 pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11078}
11079unsafe extern "C" {
11080 pub fn SHA256_Update(
11081 sha: *mut SHA256_CTX,
11082 data: *const ::core::ffi::c_void,
11083 len: usize,
11084 ) -> ::core::ffi::c_int;
11085}
11086unsafe extern "C" {
11087 pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11088}
11089unsafe extern "C" {
11090 pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11091}
11092unsafe extern "C" {
11093 pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
11094}
11095unsafe extern "C" {
11096 pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
11097}
11098#[repr(C)]
11099#[derive(Debug, Copy, Clone)]
11100pub struct sha256_state_st {
11101 pub h: [u32; 8usize],
11102 pub Nl: u32,
11103 pub Nh: u32,
11104 pub data: [u8; 64usize],
11105 pub num: ::core::ffi::c_uint,
11106 pub md_len: ::core::ffi::c_uint,
11107}
11108unsafe extern "C" {
11109 pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11110}
11111unsafe extern "C" {
11112 pub fn SHA384_Update(
11113 sha: *mut SHA512_CTX,
11114 data: *const ::core::ffi::c_void,
11115 len: usize,
11116 ) -> ::core::ffi::c_int;
11117}
11118unsafe extern "C" {
11119 pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11120}
11121unsafe extern "C" {
11122 pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11123}
11124unsafe extern "C" {
11125 pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11126}
11127unsafe extern "C" {
11128 pub fn SHA512_Update(
11129 sha: *mut SHA512_CTX,
11130 data: *const ::core::ffi::c_void,
11131 len: usize,
11132 ) -> ::core::ffi::c_int;
11133}
11134unsafe extern "C" {
11135 pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11136}
11137unsafe extern "C" {
11138 pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11139}
11140unsafe extern "C" {
11141 pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
11142}
11143#[repr(C)]
11144#[derive(Debug, Copy, Clone)]
11145pub struct sha512_state_st {
11146 pub h: [u64; 8usize],
11147 pub num: u16,
11148 pub md_len: u16,
11149 pub bytes_so_far_high: u32,
11150 pub bytes_so_far_low: u64,
11151 pub p: [u8; 128usize],
11152}
11153unsafe extern "C" {
11154 pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11155}
11156unsafe extern "C" {
11157 pub fn SHA512_256_Update(
11158 sha: *mut SHA512_CTX,
11159 data: *const ::core::ffi::c_void,
11160 len: usize,
11161 ) -> ::core::ffi::c_int;
11162}
11163unsafe extern "C" {
11164 pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11165}
11166unsafe extern "C" {
11167 pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11168}
11169unsafe extern "C" {
11170 pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11171}
11172unsafe extern "C" {
11173 pub fn SHA1_Update(
11174 sha: *mut SHA_CTX,
11175 data: *const ::core::ffi::c_void,
11176 len: usize,
11177 ) -> ::core::ffi::c_int;
11178}
11179unsafe extern "C" {
11180 pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11181}
11182unsafe extern "C" {
11183 pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11184}
11185unsafe extern "C" {
11186 pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
11187}
11188#[repr(C)]
11189#[derive(Copy, Clone)]
11190pub struct sha_state_st {
11191 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1,
11192 pub Nl: u32,
11193 pub Nh: u32,
11194 pub data: [u8; 64usize],
11195 pub num: ::core::ffi::c_uint,
11196}
11197#[repr(C)]
11198#[derive(Copy, Clone)]
11199pub union sha_state_st__bindgen_ty_1 {
11200 pub h: [u32; 5usize],
11201 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1__bindgen_ty_1,
11202}
11203#[repr(C)]
11204#[derive(Debug, Copy, Clone)]
11205pub struct sha_state_st__bindgen_ty_1__bindgen_ty_1 {
11206 pub h0: u32,
11207 pub h1: u32,
11208 pub h2: u32,
11209 pub h3: u32,
11210 pub h4: u32,
11211}
11212unsafe extern "C" {
11213 pub fn CRYPTO_fips_186_2_prf(out: *mut u8, out_len: usize, xkey: *const u8);
11214}
11215unsafe extern "C" {
11216 pub fn OPENSSL_malloc(size: usize) -> *mut ::core::ffi::c_void;
11217}
11218unsafe extern "C" {
11219 pub fn OPENSSL_zalloc(size: usize) -> *mut ::core::ffi::c_void;
11220}
11221unsafe extern "C" {
11222 pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::core::ffi::c_void;
11223}
11224unsafe extern "C" {
11225 pub fn OPENSSL_realloc(
11226 ptr: *mut ::core::ffi::c_void,
11227 new_size: usize,
11228 ) -> *mut ::core::ffi::c_void;
11229}
11230unsafe extern "C" {
11231 pub fn OPENSSL_free(ptr: *mut ::core::ffi::c_void);
11232}
11233unsafe extern "C" {
11234 pub fn OPENSSL_cleanse(ptr: *mut ::core::ffi::c_void, len: usize);
11235}
11236unsafe extern "C" {
11237 pub fn CRYPTO_memcmp(
11238 a: *const ::core::ffi::c_void,
11239 b: *const ::core::ffi::c_void,
11240 len: usize,
11241 ) -> ::core::ffi::c_int;
11242}
11243unsafe extern "C" {
11244 pub fn OPENSSL_hash32(ptr: *const ::core::ffi::c_void, len: usize) -> u32;
11245}
11246unsafe extern "C" {
11247 pub fn OPENSSL_strhash(s: *const ::core::ffi::c_char) -> u32;
11248}
11249unsafe extern "C" {
11250 pub fn OPENSSL_strdup(s: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
11251}
11252unsafe extern "C" {
11253 pub fn OPENSSL_strnlen(s: *const ::core::ffi::c_char, len: usize) -> usize;
11254}
11255unsafe extern "C" {
11256 pub fn OPENSSL_isalpha(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11257}
11258unsafe extern "C" {
11259 pub fn OPENSSL_isdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11260}
11261unsafe extern "C" {
11262 pub fn OPENSSL_isxdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11263}
11264unsafe extern "C" {
11265 pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11266}
11267unsafe extern "C" {
11268 pub fn OPENSSL_isalnum(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11269}
11270unsafe extern "C" {
11271 pub fn OPENSSL_tolower(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11272}
11273unsafe extern "C" {
11274 pub fn OPENSSL_isspace(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11275}
11276unsafe extern "C" {
11277 pub fn OPENSSL_strcasecmp(
11278 a: *const ::core::ffi::c_char,
11279 b: *const ::core::ffi::c_char,
11280 ) -> ::core::ffi::c_int;
11281}
11282unsafe extern "C" {
11283 pub fn OPENSSL_strncasecmp(
11284 a: *const ::core::ffi::c_char,
11285 b: *const ::core::ffi::c_char,
11286 n: usize,
11287 ) -> ::core::ffi::c_int;
11288}
11289unsafe extern "C" {
11290 pub fn BIO_snprintf(
11291 buf: *mut ::core::ffi::c_char,
11292 n: usize,
11293 format: *const ::core::ffi::c_char,
11294 ...
11295 ) -> ::core::ffi::c_int;
11296}
11297unsafe extern "C" {
11298 pub fn BIO_vsnprintf(
11299 buf: *mut ::core::ffi::c_char,
11300 n: usize,
11301 format: *const ::core::ffi::c_char,
11302 args: *mut __va_list_tag,
11303 ) -> ::core::ffi::c_int;
11304}
11305unsafe extern "C" {
11306 pub fn OPENSSL_vasprintf(
11307 str_: *mut *mut ::core::ffi::c_char,
11308 format: *const ::core::ffi::c_char,
11309 args: *mut __va_list_tag,
11310 ) -> ::core::ffi::c_int;
11311}
11312unsafe extern "C" {
11313 pub fn OPENSSL_asprintf(
11314 str_: *mut *mut ::core::ffi::c_char,
11315 format: *const ::core::ffi::c_char,
11316 ...
11317 ) -> ::core::ffi::c_int;
11318}
11319unsafe extern "C" {
11320 pub fn OPENSSL_strndup(
11321 str_: *const ::core::ffi::c_char,
11322 size: usize,
11323 ) -> *mut ::core::ffi::c_char;
11324}
11325unsafe extern "C" {
11326 pub fn OPENSSL_memdup(
11327 data: *const ::core::ffi::c_void,
11328 size: usize,
11329 ) -> *mut ::core::ffi::c_void;
11330}
11331unsafe extern "C" {
11332 pub fn OPENSSL_strlcpy(
11333 dst: *mut ::core::ffi::c_char,
11334 src: *const ::core::ffi::c_char,
11335 dst_size: usize,
11336 ) -> usize;
11337}
11338unsafe extern "C" {
11339 pub fn OPENSSL_strlcat(
11340 dst: *mut ::core::ffi::c_char,
11341 src: *const ::core::ffi::c_char,
11342 dst_size: usize,
11343 ) -> usize;
11344}
11345unsafe extern "C" {
11346 pub fn CRYPTO_malloc(
11347 size: usize,
11348 file: *const ::core::ffi::c_char,
11349 line: ::core::ffi::c_int,
11350 ) -> *mut ::core::ffi::c_void;
11351}
11352unsafe extern "C" {
11353 pub fn CRYPTO_realloc(
11354 ptr: *mut ::core::ffi::c_void,
11355 new_size: usize,
11356 file: *const ::core::ffi::c_char,
11357 line: ::core::ffi::c_int,
11358 ) -> *mut ::core::ffi::c_void;
11359}
11360unsafe extern "C" {
11361 pub fn CRYPTO_free(
11362 ptr: *mut ::core::ffi::c_void,
11363 file: *const ::core::ffi::c_char,
11364 line: ::core::ffi::c_int,
11365 );
11366}
11367unsafe extern "C" {
11368 pub fn OPENSSL_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11369}
11370unsafe extern "C" {
11371 pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::core::ffi::c_int;
11372}
11373unsafe extern "C" {
11374 pub fn CRYPTO_secure_malloc_initialized() -> ::core::ffi::c_int;
11375}
11376unsafe extern "C" {
11377 pub fn CRYPTO_secure_used() -> usize;
11378}
11379unsafe extern "C" {
11380 pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::core::ffi::c_void;
11381}
11382unsafe extern "C" {
11383 pub fn OPENSSL_secure_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11384}
11385unsafe extern "C" {
11386 pub fn CRYPTO_num_locks() -> ::core::ffi::c_int;
11387}
11388unsafe extern "C" {
11389 pub fn CRYPTO_set_locking_callback(
11390 func: ::core::option::Option<
11391 unsafe extern "C" fn(
11392 mode: ::core::ffi::c_int,
11393 lock_num: ::core::ffi::c_int,
11394 file: *const ::core::ffi::c_char,
11395 line: ::core::ffi::c_int,
11396 ),
11397 >,
11398 );
11399}
11400unsafe extern "C" {
11401 pub fn CRYPTO_set_add_lock_callback(
11402 func: ::core::option::Option<
11403 unsafe extern "C" fn(
11404 num: *mut ::core::ffi::c_int,
11405 amount: ::core::ffi::c_int,
11406 lock_num: ::core::ffi::c_int,
11407 file: *const ::core::ffi::c_char,
11408 line: ::core::ffi::c_int,
11409 ) -> ::core::ffi::c_int,
11410 >,
11411 );
11412}
11413unsafe extern "C" {
11414 pub fn CRYPTO_get_locking_callback() -> ::core::option::Option<
11415 unsafe extern "C" fn(
11416 arg1: ::core::ffi::c_int,
11417 arg2: ::core::ffi::c_int,
11418 arg3: *const ::core::ffi::c_char,
11419 arg4: ::core::ffi::c_int,
11420 ),
11421 >;
11422}
11423unsafe extern "C" {
11424 pub fn CRYPTO_get_lock_name(lock_num: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11425}
11426unsafe extern "C" {
11427 pub fn CRYPTO_THREADID_set_callback(
11428 threadid_func: ::core::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
11429 ) -> ::core::ffi::c_int;
11430}
11431unsafe extern "C" {
11432 pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::core::ffi::c_ulong);
11433}
11434unsafe extern "C" {
11435 pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::core::ffi::c_void);
11436}
11437unsafe extern "C" {
11438 pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
11439}
11440unsafe extern "C" {
11441 pub fn CRYPTO_set_id_callback(
11442 func: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_ulong>,
11443 );
11444}
11445#[repr(C)]
11446#[derive(Debug, Copy, Clone)]
11447pub struct CRYPTO_dynlock {
11448 pub references: ::core::ffi::c_int,
11449 pub data: *mut CRYPTO_dynlock_value,
11450}
11451unsafe extern "C" {
11452 pub fn CRYPTO_set_dynlock_create_callback(
11453 dyn_create_function: ::core::option::Option<
11454 unsafe extern "C" fn(
11455 file: *const ::core::ffi::c_char,
11456 line: ::core::ffi::c_int,
11457 ) -> *mut CRYPTO_dynlock_value,
11458 >,
11459 );
11460}
11461unsafe extern "C" {
11462 pub fn CRYPTO_set_dynlock_lock_callback(
11463 dyn_lock_function: ::core::option::Option<
11464 unsafe extern "C" fn(
11465 mode: ::core::ffi::c_int,
11466 l: *mut CRYPTO_dynlock_value,
11467 file: *const ::core::ffi::c_char,
11468 line: ::core::ffi::c_int,
11469 ),
11470 >,
11471 );
11472}
11473unsafe extern "C" {
11474 pub fn CRYPTO_set_dynlock_destroy_callback(
11475 dyn_destroy_function: ::core::option::Option<
11476 unsafe extern "C" fn(
11477 l: *mut CRYPTO_dynlock_value,
11478 file: *const ::core::ffi::c_char,
11479 line: ::core::ffi::c_int,
11480 ),
11481 >,
11482 );
11483}
11484unsafe extern "C" {
11485 pub fn CRYPTO_get_dynlock_create_callback() -> ::core::option::Option<
11486 unsafe extern "C" fn(
11487 arg1: *const ::core::ffi::c_char,
11488 arg2: ::core::ffi::c_int,
11489 ) -> *mut CRYPTO_dynlock_value,
11490 >;
11491}
11492unsafe extern "C" {
11493 pub fn CRYPTO_get_dynlock_lock_callback() -> ::core::option::Option<
11494 unsafe extern "C" fn(
11495 arg1: ::core::ffi::c_int,
11496 arg2: *mut CRYPTO_dynlock_value,
11497 arg3: *const ::core::ffi::c_char,
11498 arg4: ::core::ffi::c_int,
11499 ),
11500 >;
11501}
11502unsafe extern "C" {
11503 pub fn CRYPTO_get_dynlock_destroy_callback() -> ::core::option::Option<
11504 unsafe extern "C" fn(
11505 arg1: *mut CRYPTO_dynlock_value,
11506 arg2: *const ::core::ffi::c_char,
11507 arg3: ::core::ffi::c_int,
11508 ),
11509 >;
11510}
11511unsafe extern "C" {
11512 pub fn CRYPTO_is_confidential_build() -> ::core::ffi::c_int;
11513}
11514unsafe extern "C" {
11515 pub fn CRYPTO_has_asm() -> ::core::ffi::c_int;
11516}
11517unsafe extern "C" {
11518 pub fn BORINGSSL_self_test() -> ::core::ffi::c_int;
11519}
11520unsafe extern "C" {
11521 pub fn BORINGSSL_self_test_all() -> ::core::ffi::c_int;
11522}
11523unsafe extern "C" {
11524 pub fn BORINGSSL_integrity_test() -> ::core::ffi::c_int;
11525}
11526unsafe extern "C" {
11527 pub fn CRYPTO_pre_sandbox_init();
11528}
11529unsafe extern "C" {
11530 pub fn FIPS_mode() -> ::core::ffi::c_int;
11531}
11532pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
11533pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
11534pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
11535pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
11536pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
11537pub type fips_counter_t = ::core::ffi::c_uint;
11538unsafe extern "C" {
11539 pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
11540}
11541unsafe extern "C" {
11542 pub fn OpenSSL_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11543}
11544unsafe extern "C" {
11545 pub fn SSLeay_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11546}
11547unsafe extern "C" {
11548 pub fn SSLeay() -> ::core::ffi::c_ulong;
11549}
11550unsafe extern "C" {
11551 pub fn OpenSSL_version_num() -> ::core::ffi::c_ulong;
11552}
11553unsafe extern "C" {
11554 pub fn CRYPTO_malloc_init() -> ::core::ffi::c_int;
11555}
11556unsafe extern "C" {
11557 pub fn OPENSSL_malloc_init() -> ::core::ffi::c_int;
11558}
11559unsafe extern "C" {
11560 pub fn ENGINE_load_builtin_engines();
11561}
11562unsafe extern "C" {
11563 pub fn ENGINE_register_all_complete() -> ::core::ffi::c_int;
11564}
11565unsafe extern "C" {
11566 pub fn ENGINE_cleanup();
11567}
11568unsafe extern "C" {
11569 pub fn OPENSSL_load_builtin_modules();
11570}
11571unsafe extern "C" {
11572 pub fn OPENSSL_init_crypto(
11573 opts: u64,
11574 settings: *const OPENSSL_INIT_SETTINGS,
11575 ) -> ::core::ffi::c_int;
11576}
11577unsafe extern "C" {
11578 pub fn OPENSSL_cleanup();
11579}
11580unsafe extern "C" {
11581 pub fn FIPS_mode_set(on: ::core::ffi::c_int) -> ::core::ffi::c_int;
11582}
11583unsafe extern "C" {
11584 pub fn FIPS_module_name() -> *const ::core::ffi::c_char;
11585}
11586unsafe extern "C" {
11587 pub fn FIPS_module_hash() -> *const u8;
11588}
11589unsafe extern "C" {
11590 pub fn FIPS_version() -> u32;
11591}
11592unsafe extern "C" {
11593 pub fn FIPS_query_algorithm_status(algorithm: *const ::core::ffi::c_char)
11594 -> ::core::ffi::c_int;
11595}
11596unsafe extern "C" {
11597 pub fn CRYPTO_library_init();
11598}
11599unsafe extern "C" {
11600 pub fn CTR_DRBG_new(
11601 entropy: *const u8,
11602 personalization: *const u8,
11603 personalization_len: usize,
11604 ) -> *mut CTR_DRBG_STATE;
11605}
11606unsafe extern "C" {
11607 pub fn CTR_DRBG_new_df(
11608 entropy: *const u8,
11609 entropy_len: usize,
11610 nonce: *const u8,
11611 personalization: *const u8,
11612 personalization_len: usize,
11613 ) -> *mut CTR_DRBG_STATE;
11614}
11615unsafe extern "C" {
11616 pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
11617}
11618unsafe extern "C" {
11619 pub fn CTR_DRBG_reseed(
11620 drbg: *mut CTR_DRBG_STATE,
11621 entropy: *const u8,
11622 additional_data: *const u8,
11623 additional_data_len: usize,
11624 ) -> ::core::ffi::c_int;
11625}
11626unsafe extern "C" {
11627 pub fn CTR_DRBG_reseed_ex(
11628 drbg: *mut CTR_DRBG_STATE,
11629 entropy: *const u8,
11630 entropy_len: usize,
11631 additional_data: *const u8,
11632 additional_data_len: usize,
11633 ) -> ::core::ffi::c_int;
11634}
11635unsafe extern "C" {
11636 pub fn CTR_DRBG_generate(
11637 drbg: *mut CTR_DRBG_STATE,
11638 out: *mut u8,
11639 out_len: usize,
11640 additional_data: *const u8,
11641 additional_data_len: usize,
11642 ) -> ::core::ffi::c_int;
11643}
11644unsafe extern "C" {
11645 pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
11646}
11647unsafe extern "C" {
11648 pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
11649}
11650unsafe extern "C" {
11651 pub fn X25519(
11652 out_shared_key: *mut u8,
11653 private_key: *const u8,
11654 peer_public_value: *const u8,
11655 ) -> ::core::ffi::c_int;
11656}
11657unsafe extern "C" {
11658 pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
11659}
11660unsafe extern "C" {
11661 pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
11662}
11663unsafe extern "C" {
11664 pub fn ED25519_sign(
11665 out_sig: *mut u8,
11666 message: *const u8,
11667 message_len: usize,
11668 private_key: *const u8,
11669 ) -> ::core::ffi::c_int;
11670}
11671unsafe extern "C" {
11672 pub fn ED25519_verify(
11673 message: *const u8,
11674 message_len: usize,
11675 signature: *const u8,
11676 public_key: *const u8,
11677 ) -> ::core::ffi::c_int;
11678}
11679unsafe extern "C" {
11680 pub fn ED25519_keypair_from_seed(
11681 out_public_key: *mut u8,
11682 out_private_key: *mut u8,
11683 seed: *const u8,
11684 );
11685}
11686pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
11687pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
11688pub type spake2_role_t = ::core::ffi::c_uint;
11689unsafe extern "C" {
11690 pub fn SPAKE2_CTX_new(
11691 my_role: spake2_role_t,
11692 my_name: *const u8,
11693 my_name_len: usize,
11694 their_name: *const u8,
11695 their_name_len: usize,
11696 ) -> *mut SPAKE2_CTX;
11697}
11698unsafe extern "C" {
11699 pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
11700}
11701unsafe extern "C" {
11702 pub fn SPAKE2_generate_msg(
11703 ctx: *mut SPAKE2_CTX,
11704 out: *mut u8,
11705 out_len: *mut usize,
11706 max_out_len: usize,
11707 password: *const u8,
11708 password_len: usize,
11709 ) -> ::core::ffi::c_int;
11710}
11711unsafe extern "C" {
11712 pub fn SPAKE2_process_msg(
11713 ctx: *mut SPAKE2_CTX,
11714 out_key: *mut u8,
11715 out_key_len: *mut usize,
11716 max_out_key_len: usize,
11717 their_msg: *const u8,
11718 their_msg_len: usize,
11719 ) -> ::core::ffi::c_int;
11720}
11721#[repr(C)]
11722#[derive(Debug, Copy, Clone)]
11723pub struct DES_cblock_st {
11724 pub bytes: [u8; 8usize],
11725}
11726pub type DES_cblock = DES_cblock_st;
11727#[repr(C)]
11728#[derive(Debug, Copy, Clone)]
11729pub struct DES_ks {
11730 pub subkeys: [[u32; 2usize]; 16usize],
11731}
11732pub type DES_key_schedule = DES_ks;
11733unsafe extern "C" {
11734 pub fn DES_set_key(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11735}
11736unsafe extern "C" {
11737 pub fn DES_set_odd_parity(key: *mut DES_cblock);
11738}
11739unsafe extern "C" {
11740 pub fn DES_ecb_encrypt(
11741 in_: *const DES_cblock,
11742 out: *mut DES_cblock,
11743 schedule: *const DES_key_schedule,
11744 is_encrypt: ::core::ffi::c_int,
11745 );
11746}
11747unsafe extern "C" {
11748 pub fn DES_ncbc_encrypt(
11749 in_: *const u8,
11750 out: *mut u8,
11751 len: usize,
11752 schedule: *const DES_key_schedule,
11753 ivec: *mut DES_cblock,
11754 enc: ::core::ffi::c_int,
11755 );
11756}
11757unsafe extern "C" {
11758 pub fn DES_ecb3_encrypt(
11759 input: *const DES_cblock,
11760 output: *mut DES_cblock,
11761 ks1: *const DES_key_schedule,
11762 ks2: *const DES_key_schedule,
11763 ks3: *const DES_key_schedule,
11764 enc: ::core::ffi::c_int,
11765 );
11766}
11767unsafe extern "C" {
11768 pub fn DES_ede3_cbc_encrypt(
11769 in_: *const u8,
11770 out: *mut u8,
11771 len: usize,
11772 ks1: *const DES_key_schedule,
11773 ks2: *const DES_key_schedule,
11774 ks3: *const DES_key_schedule,
11775 ivec: *mut DES_cblock,
11776 enc: ::core::ffi::c_int,
11777 );
11778}
11779unsafe extern "C" {
11780 pub fn DES_ede2_cbc_encrypt(
11781 in_: *const u8,
11782 out: *mut u8,
11783 len: usize,
11784 ks1: *const DES_key_schedule,
11785 ks2: *const DES_key_schedule,
11786 ivec: *mut DES_cblock,
11787 enc: ::core::ffi::c_int,
11788 );
11789}
11790unsafe extern "C" {
11791 pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11792}
11793unsafe extern "C" {
11794 pub fn DES_ede3_cfb64_encrypt(
11795 in_: *const u8,
11796 out: *mut u8,
11797 length: ::core::ffi::c_long,
11798 ks1: *mut DES_key_schedule,
11799 ks2: *mut DES_key_schedule,
11800 ks3: *mut DES_key_schedule,
11801 ivec: *mut DES_cblock,
11802 num: *mut ::core::ffi::c_int,
11803 enc: ::core::ffi::c_int,
11804 );
11805}
11806unsafe extern "C" {
11807 pub fn DES_ede3_cfb_encrypt(
11808 in_: *const u8,
11809 out: *mut u8,
11810 numbits: ::core::ffi::c_int,
11811 length: ::core::ffi::c_long,
11812 ks1: *mut DES_key_schedule,
11813 ks2: *mut DES_key_schedule,
11814 ks3: *mut DES_key_schedule,
11815 ivec: *mut DES_cblock,
11816 enc: ::core::ffi::c_int,
11817 );
11818}
11819unsafe extern "C" {
11820 pub fn DH_new() -> *mut DH;
11821}
11822unsafe extern "C" {
11823 pub fn DH_free(dh: *mut DH);
11824}
11825unsafe extern "C" {
11826 pub fn DH_up_ref(dh: *mut DH) -> ::core::ffi::c_int;
11827}
11828unsafe extern "C" {
11829 pub fn DH_bits(dh: *const DH) -> ::core::ffi::c_uint;
11830}
11831unsafe extern "C" {
11832 pub fn DH_size(dh: *const DH) -> ::core::ffi::c_int;
11833}
11834unsafe extern "C" {
11835 pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
11836}
11837unsafe extern "C" {
11838 pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
11839}
11840unsafe extern "C" {
11841 pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
11842}
11843unsafe extern "C" {
11844 pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
11845}
11846unsafe extern "C" {
11847 pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
11848}
11849unsafe extern "C" {
11850 pub fn DH_get0_key(
11851 dh: *const DH,
11852 out_pub_key: *mut *const BIGNUM,
11853 out_priv_key: *mut *const BIGNUM,
11854 );
11855}
11856unsafe extern "C" {
11857 pub fn DH_set0_key(
11858 dh: *mut DH,
11859 pub_key: *mut BIGNUM,
11860 priv_key: *mut BIGNUM,
11861 ) -> ::core::ffi::c_int;
11862}
11863unsafe extern "C" {
11864 pub fn DH_get0_pqg(
11865 dh: *const DH,
11866 out_p: *mut *const BIGNUM,
11867 out_q: *mut *const BIGNUM,
11868 out_g: *mut *const BIGNUM,
11869 );
11870}
11871unsafe extern "C" {
11872 pub fn DH_set0_pqg(
11873 dh: *mut DH,
11874 p: *mut BIGNUM,
11875 q: *mut BIGNUM,
11876 g: *mut BIGNUM,
11877 ) -> ::core::ffi::c_int;
11878}
11879unsafe extern "C" {
11880 pub fn DH_set_length(dh: *mut DH, priv_length: ::core::ffi::c_uint) -> ::core::ffi::c_int;
11881}
11882unsafe extern "C" {
11883 pub fn DH_get_rfc7919_2048() -> *mut DH;
11884}
11885unsafe extern "C" {
11886 pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
11887}
11888unsafe extern "C" {
11889 pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
11890}
11891unsafe extern "C" {
11892 pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
11893}
11894unsafe extern "C" {
11895 pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
11896}
11897unsafe extern "C" {
11898 pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
11899}
11900unsafe extern "C" {
11901 pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
11902}
11903unsafe extern "C" {
11904 pub fn DH_generate_parameters_ex(
11905 dh: *mut DH,
11906 prime_bits: ::core::ffi::c_int,
11907 generator: ::core::ffi::c_int,
11908 cb: *mut BN_GENCB,
11909 ) -> ::core::ffi::c_int;
11910}
11911unsafe extern "C" {
11912 pub fn DH_generate_key(dh: *mut DH) -> ::core::ffi::c_int;
11913}
11914unsafe extern "C" {
11915 pub fn DH_compute_key_padded(
11916 out: *mut u8,
11917 peers_key: *const BIGNUM,
11918 dh: *mut DH,
11919 ) -> ::core::ffi::c_int;
11920}
11921unsafe extern "C" {
11922 pub fn DH_compute_key_hashed(
11923 dh: *mut DH,
11924 out: *mut u8,
11925 out_len: *mut usize,
11926 max_out_len: usize,
11927 peers_key: *const BIGNUM,
11928 digest: *const EVP_MD,
11929 ) -> ::core::ffi::c_int;
11930}
11931unsafe extern "C" {
11932 pub fn DH_check(dh: *const DH, out_flags: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
11933}
11934unsafe extern "C" {
11935 pub fn DH_check_pub_key(
11936 dh: *const DH,
11937 pub_key: *const BIGNUM,
11938 out_flags: *mut ::core::ffi::c_int,
11939 ) -> ::core::ffi::c_int;
11940}
11941unsafe extern "C" {
11942 pub fn DHparams_dup(dh: *const DH) -> *mut DH;
11943}
11944unsafe extern "C" {
11945 pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
11946}
11947unsafe extern "C" {
11948 pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::core::ffi::c_int;
11949}
11950unsafe extern "C" {
11951 pub fn DH_generate_parameters(
11952 prime_len: ::core::ffi::c_int,
11953 generator: ::core::ffi::c_int,
11954 callback: ::core::option::Option<
11955 unsafe extern "C" fn(
11956 arg1: ::core::ffi::c_int,
11957 arg2: ::core::ffi::c_int,
11958 arg3: *mut ::core::ffi::c_void,
11959 ),
11960 >,
11961 cb_arg: *mut ::core::ffi::c_void,
11962 ) -> *mut DH;
11963}
11964unsafe extern "C" {
11965 pub fn d2i_DHparams(
11966 ret: *mut *mut DH,
11967 inp: *mut *const ::core::ffi::c_uchar,
11968 len: ::core::ffi::c_long,
11969 ) -> *mut DH;
11970}
11971unsafe extern "C" {
11972 pub fn i2d_DHparams(in_: *const DH, outp: *mut *mut ::core::ffi::c_uchar)
11973 -> ::core::ffi::c_int;
11974}
11975unsafe extern "C" {
11976 pub fn DH_compute_key(
11977 out: *mut u8,
11978 peers_key: *const BIGNUM,
11979 dh: *mut DH,
11980 ) -> ::core::ffi::c_int;
11981}
11982unsafe extern "C" {
11983 pub fn EVP_md4() -> *const EVP_MD;
11984}
11985unsafe extern "C" {
11986 pub fn EVP_md5() -> *const EVP_MD;
11987}
11988unsafe extern "C" {
11989 pub fn EVP_sha1() -> *const EVP_MD;
11990}
11991unsafe extern "C" {
11992 pub fn EVP_sha224() -> *const EVP_MD;
11993}
11994unsafe extern "C" {
11995 pub fn EVP_sha256() -> *const EVP_MD;
11996}
11997unsafe extern "C" {
11998 pub fn EVP_sha384() -> *const EVP_MD;
11999}
12000unsafe extern "C" {
12001 pub fn EVP_sha512() -> *const EVP_MD;
12002}
12003unsafe extern "C" {
12004 pub fn EVP_sha512_256() -> *const EVP_MD;
12005}
12006unsafe extern "C" {
12007 pub fn EVP_blake2b256() -> *const EVP_MD;
12008}
12009unsafe extern "C" {
12010 pub fn EVP_md5_sha1() -> *const EVP_MD;
12011}
12012unsafe extern "C" {
12013 pub fn EVP_get_digestbynid(nid: ::core::ffi::c_int) -> *const EVP_MD;
12014}
12015unsafe extern "C" {
12016 pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
12017}
12018unsafe extern "C" {
12019 pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
12020}
12021unsafe extern "C" {
12022 pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
12023}
12024unsafe extern "C" {
12025 pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12026}
12027unsafe extern "C" {
12028 pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
12029}
12030unsafe extern "C" {
12031 pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
12032}
12033unsafe extern "C" {
12034 pub fn EVP_MD_CTX_copy_ex(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12035}
12036unsafe extern "C" {
12037 pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
12038}
12039unsafe extern "C" {
12040 pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12041}
12042unsafe extern "C" {
12043 pub fn EVP_DigestInit_ex(
12044 ctx: *mut EVP_MD_CTX,
12045 type_: *const EVP_MD,
12046 engine: *mut ENGINE,
12047 ) -> ::core::ffi::c_int;
12048}
12049unsafe extern "C" {
12050 pub fn EVP_DigestUpdate(
12051 ctx: *mut EVP_MD_CTX,
12052 data: *const ::core::ffi::c_void,
12053 len: usize,
12054 ) -> ::core::ffi::c_int;
12055}
12056unsafe extern "C" {
12057 pub fn EVP_DigestFinal_ex(
12058 ctx: *mut EVP_MD_CTX,
12059 md_out: *mut u8,
12060 out_size: *mut ::core::ffi::c_uint,
12061 ) -> ::core::ffi::c_int;
12062}
12063unsafe extern "C" {
12064 pub fn EVP_DigestFinal(
12065 ctx: *mut EVP_MD_CTX,
12066 md_out: *mut u8,
12067 out_size: *mut ::core::ffi::c_uint,
12068 ) -> ::core::ffi::c_int;
12069}
12070unsafe extern "C" {
12071 pub fn EVP_Digest(
12072 data: *const ::core::ffi::c_void,
12073 len: usize,
12074 md_out: *mut u8,
12075 md_out_size: *mut ::core::ffi::c_uint,
12076 type_: *const EVP_MD,
12077 impl_: *mut ENGINE,
12078 ) -> ::core::ffi::c_int;
12079}
12080unsafe extern "C" {
12081 pub fn EVP_MD_type(md: *const EVP_MD) -> ::core::ffi::c_int;
12082}
12083unsafe extern "C" {
12084 pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
12085}
12086unsafe extern "C" {
12087 pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
12088}
12089unsafe extern "C" {
12090 pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
12091}
12092unsafe extern "C" {
12093 pub fn EVP_MD_CTX_get0_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12094}
12095unsafe extern "C" {
12096 pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12097}
12098unsafe extern "C" {
12099 pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
12100}
12101unsafe extern "C" {
12102 pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
12103}
12104unsafe extern "C" {
12105 pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12106}
12107unsafe extern "C" {
12108 pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
12109}
12110unsafe extern "C" {
12111 pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
12112}
12113unsafe extern "C" {
12114 pub fn EVP_parse_digest_algorithm_nid(cbs: *mut CBS) -> ::core::ffi::c_int;
12115}
12116unsafe extern "C" {
12117 pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::core::ffi::c_int;
12118}
12119unsafe extern "C" {
12120 pub fn EVP_marshal_digest_algorithm_no_params(
12121 cbb: *mut CBB,
12122 md: *const EVP_MD,
12123 ) -> ::core::ffi::c_int;
12124}
12125unsafe extern "C" {
12126 pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
12127}
12128unsafe extern "C" {
12129 pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12130}
12131unsafe extern "C" {
12132 pub fn EVP_add_digest(digest: *const EVP_MD) -> ::core::ffi::c_int;
12133}
12134unsafe extern "C" {
12135 pub fn EVP_get_digestbyname(name: *const ::core::ffi::c_char) -> *const EVP_MD;
12136}
12137unsafe extern "C" {
12138 pub fn EVP_dss1() -> *const EVP_MD;
12139}
12140unsafe extern "C" {
12141 pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
12142}
12143unsafe extern "C" {
12144 pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
12145}
12146unsafe extern "C" {
12147 pub fn EVP_DigestFinalXOF(ctx: *mut EVP_MD_CTX, out: *mut u8, len: usize)
12148 -> ::core::ffi::c_int;
12149}
12150unsafe extern "C" {
12151 pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
12152}
12153unsafe extern "C" {
12154 pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::core::ffi::c_int);
12155}
12156unsafe extern "C" {
12157 pub fn EVP_MD_nid(md: *const EVP_MD) -> ::core::ffi::c_int;
12158}
12159unsafe extern "C" {
12160 pub fn EVP_MD_fetch(
12161 libctx: *mut OSSL_LIB_CTX,
12162 name: *const ::core::ffi::c_char,
12163 propq: *const ::core::ffi::c_char,
12164 ) -> *mut EVP_MD;
12165}
12166unsafe extern "C" {
12167 pub fn EVP_MD_up_ref(md: *mut EVP_MD) -> ::core::ffi::c_int;
12168}
12169unsafe extern "C" {
12170 pub fn EVP_MD_free(md: *mut EVP_MD);
12171}
12172unsafe extern "C" {
12173 pub fn EVP_Q_digest(
12174 libctx: *mut OSSL_LIB_CTX,
12175 name: *const ::core::ffi::c_char,
12176 propq: *const ::core::ffi::c_char,
12177 in_: *const ::core::ffi::c_void,
12178 in_len: usize,
12179 out: *mut u8,
12180 out_len: *mut usize,
12181 ) -> ::core::ffi::c_int;
12182}
12183#[repr(C)]
12184#[derive(Debug)]
12185pub struct evp_md_pctx_ops {
12186 _unused: [u8; 0],
12187}
12188#[repr(C)]
12189#[derive(Copy, Clone)]
12190pub struct env_md_ctx_st {
12191 pub __bindgen_anon_1: env_md_ctx_st__bindgen_ty_1,
12192 pub digest: *const EVP_MD,
12193 pub pctx: *mut EVP_PKEY_CTX,
12194 pub pctx_ops: *const evp_md_pctx_ops,
12195}
12196#[repr(C)]
12197#[derive(Copy, Clone)]
12198pub union env_md_ctx_st__bindgen_ty_1 {
12199 pub md_data: [u8; 208usize],
12200 pub alignment: u64,
12201}
12202unsafe extern "C" {
12203 pub fn DSA_new() -> *mut DSA;
12204}
12205unsafe extern "C" {
12206 pub fn DSA_free(dsa: *mut DSA);
12207}
12208unsafe extern "C" {
12209 pub fn DSA_up_ref(dsa: *mut DSA) -> ::core::ffi::c_int;
12210}
12211unsafe extern "C" {
12212 pub fn DSA_bits(dsa: *const DSA) -> ::core::ffi::c_uint;
12213}
12214unsafe extern "C" {
12215 pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
12216}
12217unsafe extern "C" {
12218 pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
12219}
12220unsafe extern "C" {
12221 pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
12222}
12223unsafe extern "C" {
12224 pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
12225}
12226unsafe extern "C" {
12227 pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
12228}
12229unsafe extern "C" {
12230 pub fn DSA_get0_key(
12231 dsa: *const DSA,
12232 out_pub_key: *mut *const BIGNUM,
12233 out_priv_key: *mut *const BIGNUM,
12234 );
12235}
12236unsafe extern "C" {
12237 pub fn DSA_get0_pqg(
12238 dsa: *const DSA,
12239 out_p: *mut *const BIGNUM,
12240 out_q: *mut *const BIGNUM,
12241 out_g: *mut *const BIGNUM,
12242 );
12243}
12244unsafe extern "C" {
12245 pub fn DSA_set0_key(
12246 dsa: *mut DSA,
12247 pub_key: *mut BIGNUM,
12248 priv_key: *mut BIGNUM,
12249 ) -> ::core::ffi::c_int;
12250}
12251unsafe extern "C" {
12252 pub fn DSA_set0_pqg(
12253 dsa: *mut DSA,
12254 p: *mut BIGNUM,
12255 q: *mut BIGNUM,
12256 g: *mut BIGNUM,
12257 ) -> ::core::ffi::c_int;
12258}
12259unsafe extern "C" {
12260 pub fn DSA_generate_parameters_ex(
12261 dsa: *mut DSA,
12262 bits: ::core::ffi::c_uint,
12263 seed: *const u8,
12264 seed_len: usize,
12265 out_counter: *mut ::core::ffi::c_int,
12266 out_h: *mut ::core::ffi::c_ulong,
12267 cb: *mut BN_GENCB,
12268 ) -> ::core::ffi::c_int;
12269}
12270unsafe extern "C" {
12271 pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
12272}
12273unsafe extern "C" {
12274 pub fn DSA_generate_key(dsa: *mut DSA) -> ::core::ffi::c_int;
12275}
12276#[repr(C)]
12277#[derive(Debug, Copy, Clone)]
12278pub struct DSA_SIG_st {
12279 pub r: *mut BIGNUM,
12280 pub s: *mut BIGNUM,
12281}
12282unsafe extern "C" {
12283 pub fn DSA_SIG_new() -> *mut DSA_SIG;
12284}
12285unsafe extern "C" {
12286 pub fn DSA_SIG_free(sig: *mut DSA_SIG);
12287}
12288unsafe extern "C" {
12289 pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
12290}
12291unsafe extern "C" {
12292 pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM) -> ::core::ffi::c_int;
12293}
12294unsafe extern "C" {
12295 pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
12296}
12297unsafe extern "C" {
12298 pub fn DSA_do_verify(
12299 digest: *const u8,
12300 digest_len: usize,
12301 sig: *const DSA_SIG,
12302 dsa: *const DSA,
12303 ) -> ::core::ffi::c_int;
12304}
12305unsafe extern "C" {
12306 pub fn DSA_do_check_signature(
12307 out_valid: *mut ::core::ffi::c_int,
12308 digest: *const u8,
12309 digest_len: usize,
12310 sig: *const DSA_SIG,
12311 dsa: *const DSA,
12312 ) -> ::core::ffi::c_int;
12313}
12314unsafe extern "C" {
12315 pub fn DSA_sign(
12316 type_: ::core::ffi::c_int,
12317 digest: *const u8,
12318 digest_len: usize,
12319 out_sig: *mut u8,
12320 out_siglen: *mut ::core::ffi::c_uint,
12321 dsa: *const DSA,
12322 ) -> ::core::ffi::c_int;
12323}
12324unsafe extern "C" {
12325 pub fn DSA_verify(
12326 type_: ::core::ffi::c_int,
12327 digest: *const u8,
12328 digest_len: usize,
12329 sig: *const u8,
12330 sig_len: usize,
12331 dsa: *const DSA,
12332 ) -> ::core::ffi::c_int;
12333}
12334unsafe extern "C" {
12335 pub fn DSA_check_signature(
12336 out_valid: *mut ::core::ffi::c_int,
12337 digest: *const u8,
12338 digest_len: usize,
12339 sig: *const u8,
12340 sig_len: usize,
12341 dsa: *const DSA,
12342 ) -> ::core::ffi::c_int;
12343}
12344unsafe extern "C" {
12345 pub fn DSA_size(dsa: *const DSA) -> ::core::ffi::c_int;
12346}
12347unsafe extern "C" {
12348 pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
12349}
12350unsafe extern "C" {
12351 pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::core::ffi::c_int;
12352}
12353unsafe extern "C" {
12354 pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
12355}
12356unsafe extern "C" {
12357 pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12358}
12359unsafe extern "C" {
12360 pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
12361}
12362unsafe extern "C" {
12363 pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12364}
12365unsafe extern "C" {
12366 pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
12367}
12368unsafe extern "C" {
12369 pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12370}
12371unsafe extern "C" {
12372 pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
12373}
12374unsafe extern "C" {
12375 pub fn DSA_get_ex_new_index(
12376 argl: ::core::ffi::c_long,
12377 argp: *mut ::core::ffi::c_void,
12378 unused: *mut CRYPTO_EX_unused,
12379 dup_unused: CRYPTO_EX_dup,
12380 free_func: CRYPTO_EX_free,
12381 ) -> ::core::ffi::c_int;
12382}
12383unsafe extern "C" {
12384 pub fn DSA_set_ex_data(
12385 dsa: *mut DSA,
12386 idx: ::core::ffi::c_int,
12387 arg: *mut ::core::ffi::c_void,
12388 ) -> ::core::ffi::c_int;
12389}
12390unsafe extern "C" {
12391 pub fn DSA_get_ex_data(dsa: *const DSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
12392}
12393unsafe extern "C" {
12394 pub fn d2i_DSA_SIG(
12395 out_sig: *mut *mut DSA_SIG,
12396 inp: *mut *const u8,
12397 len: ::core::ffi::c_long,
12398 ) -> *mut DSA_SIG;
12399}
12400unsafe extern "C" {
12401 pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
12402}
12403unsafe extern "C" {
12404 pub fn d2i_DSAPublicKey(
12405 out: *mut *mut DSA,
12406 inp: *mut *const u8,
12407 len: ::core::ffi::c_long,
12408 ) -> *mut DSA;
12409}
12410unsafe extern "C" {
12411 pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12412}
12413unsafe extern "C" {
12414 pub fn d2i_DSAPrivateKey(
12415 out: *mut *mut DSA,
12416 inp: *mut *const u8,
12417 len: ::core::ffi::c_long,
12418 ) -> *mut DSA;
12419}
12420unsafe extern "C" {
12421 pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12422}
12423unsafe extern "C" {
12424 pub fn d2i_DSAparams(
12425 out: *mut *mut DSA,
12426 inp: *mut *const u8,
12427 len: ::core::ffi::c_long,
12428 ) -> *mut DSA;
12429}
12430unsafe extern "C" {
12431 pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12432}
12433unsafe extern "C" {
12434 pub fn DSA_generate_parameters(
12435 bits: ::core::ffi::c_int,
12436 seed: *mut ::core::ffi::c_uchar,
12437 seed_len: ::core::ffi::c_int,
12438 counter_ret: *mut ::core::ffi::c_int,
12439 h_ret: *mut ::core::ffi::c_ulong,
12440 callback: ::core::option::Option<
12441 unsafe extern "C" fn(
12442 arg1: ::core::ffi::c_int,
12443 arg2: ::core::ffi::c_int,
12444 arg3: *mut ::core::ffi::c_void,
12445 ),
12446 >,
12447 cb_arg: *mut ::core::ffi::c_void,
12448 ) -> *mut DSA;
12449}
12450#[repr(u32)]
12451#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12452pub enum point_conversion_form_t {
12453 POINT_CONVERSION_COMPRESSED = 2,
12454 POINT_CONVERSION_UNCOMPRESSED = 4,
12455 POINT_CONVERSION_HYBRID = 6,
12456}
12457unsafe extern "C" {
12458 pub fn EC_group_p224() -> *const EC_GROUP;
12459}
12460unsafe extern "C" {
12461 pub fn EC_group_p256() -> *const EC_GROUP;
12462}
12463unsafe extern "C" {
12464 pub fn EC_group_p384() -> *const EC_GROUP;
12465}
12466unsafe extern "C" {
12467 pub fn EC_group_p521() -> *const EC_GROUP;
12468}
12469unsafe extern "C" {
12470 pub fn EC_GROUP_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_GROUP;
12471}
12472unsafe extern "C" {
12473 pub fn EC_GROUP_cmp(
12474 a: *const EC_GROUP,
12475 b: *const EC_GROUP,
12476 ignored: *mut BN_CTX,
12477 ) -> ::core::ffi::c_int;
12478}
12479unsafe extern "C" {
12480 pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
12481}
12482unsafe extern "C" {
12483 pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
12484}
12485unsafe extern "C" {
12486 pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::core::ffi::c_int;
12487}
12488unsafe extern "C" {
12489 pub fn EC_GROUP_get_cofactor(
12490 group: *const EC_GROUP,
12491 cofactor: *mut BIGNUM,
12492 ctx: *mut BN_CTX,
12493 ) -> ::core::ffi::c_int;
12494}
12495unsafe extern "C" {
12496 pub fn EC_GROUP_get_curve_GFp(
12497 group: *const EC_GROUP,
12498 out_p: *mut BIGNUM,
12499 out_a: *mut BIGNUM,
12500 out_b: *mut BIGNUM,
12501 ctx: *mut BN_CTX,
12502 ) -> ::core::ffi::c_int;
12503}
12504unsafe extern "C" {
12505 pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::core::ffi::c_int;
12506}
12507unsafe extern "C" {
12508 pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::core::ffi::c_uint;
12509}
12510unsafe extern "C" {
12511 pub fn EC_curve_nid2nist(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
12512}
12513unsafe extern "C" {
12514 pub fn EC_curve_nist2nid(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
12515}
12516unsafe extern "C" {
12517 pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
12518}
12519unsafe extern "C" {
12520 pub fn EC_POINT_free(point: *mut EC_POINT);
12521}
12522unsafe extern "C" {
12523 pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::core::ffi::c_int;
12524}
12525unsafe extern "C" {
12526 pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
12527}
12528unsafe extern "C" {
12529 pub fn EC_POINT_set_to_infinity(
12530 group: *const EC_GROUP,
12531 point: *mut EC_POINT,
12532 ) -> ::core::ffi::c_int;
12533}
12534unsafe extern "C" {
12535 pub fn EC_POINT_is_at_infinity(
12536 group: *const EC_GROUP,
12537 point: *const EC_POINT,
12538 ) -> ::core::ffi::c_int;
12539}
12540unsafe extern "C" {
12541 pub fn EC_POINT_is_on_curve(
12542 group: *const EC_GROUP,
12543 point: *const EC_POINT,
12544 ctx: *mut BN_CTX,
12545 ) -> ::core::ffi::c_int;
12546}
12547unsafe extern "C" {
12548 pub fn EC_POINT_cmp(
12549 group: *const EC_GROUP,
12550 a: *const EC_POINT,
12551 b: *const EC_POINT,
12552 ctx: *mut BN_CTX,
12553 ) -> ::core::ffi::c_int;
12554}
12555unsafe extern "C" {
12556 pub fn EC_POINT_get_affine_coordinates_GFp(
12557 group: *const EC_GROUP,
12558 point: *const EC_POINT,
12559 x: *mut BIGNUM,
12560 y: *mut BIGNUM,
12561 ctx: *mut BN_CTX,
12562 ) -> ::core::ffi::c_int;
12563}
12564unsafe extern "C" {
12565 pub fn EC_POINT_get_affine_coordinates(
12566 group: *const EC_GROUP,
12567 point: *const EC_POINT,
12568 x: *mut BIGNUM,
12569 y: *mut BIGNUM,
12570 ctx: *mut BN_CTX,
12571 ) -> ::core::ffi::c_int;
12572}
12573unsafe extern "C" {
12574 pub fn EC_POINT_set_affine_coordinates_GFp(
12575 group: *const EC_GROUP,
12576 point: *mut EC_POINT,
12577 x: *const BIGNUM,
12578 y: *const BIGNUM,
12579 ctx: *mut BN_CTX,
12580 ) -> ::core::ffi::c_int;
12581}
12582unsafe extern "C" {
12583 pub fn EC_POINT_set_affine_coordinates(
12584 group: *const EC_GROUP,
12585 point: *mut EC_POINT,
12586 x: *const BIGNUM,
12587 y: *const BIGNUM,
12588 ctx: *mut BN_CTX,
12589 ) -> ::core::ffi::c_int;
12590}
12591unsafe extern "C" {
12592 pub fn EC_POINT_point2oct(
12593 group: *const EC_GROUP,
12594 point: *const EC_POINT,
12595 form: point_conversion_form_t,
12596 buf: *mut u8,
12597 max_out: usize,
12598 ctx: *mut BN_CTX,
12599 ) -> usize;
12600}
12601unsafe extern "C" {
12602 pub fn EC_POINT_point2buf(
12603 group: *const EC_GROUP,
12604 point: *const EC_POINT,
12605 form: point_conversion_form_t,
12606 out_buf: *mut *mut u8,
12607 ctx: *mut BN_CTX,
12608 ) -> usize;
12609}
12610unsafe extern "C" {
12611 pub fn EC_POINT_point2cbb(
12612 out: *mut CBB,
12613 group: *const EC_GROUP,
12614 point: *const EC_POINT,
12615 form: point_conversion_form_t,
12616 ctx: *mut BN_CTX,
12617 ) -> ::core::ffi::c_int;
12618}
12619unsafe extern "C" {
12620 pub fn EC_POINT_oct2point(
12621 group: *const EC_GROUP,
12622 point: *mut EC_POINT,
12623 buf: *const u8,
12624 len: usize,
12625 ctx: *mut BN_CTX,
12626 ) -> ::core::ffi::c_int;
12627}
12628unsafe extern "C" {
12629 pub fn EC_POINT_set_compressed_coordinates_GFp(
12630 group: *const EC_GROUP,
12631 point: *mut EC_POINT,
12632 x: *const BIGNUM,
12633 y_bit: ::core::ffi::c_int,
12634 ctx: *mut BN_CTX,
12635 ) -> ::core::ffi::c_int;
12636}
12637unsafe extern "C" {
12638 pub fn EC_POINT_add(
12639 group: *const EC_GROUP,
12640 r: *mut EC_POINT,
12641 a: *const EC_POINT,
12642 b: *const EC_POINT,
12643 ctx: *mut BN_CTX,
12644 ) -> ::core::ffi::c_int;
12645}
12646unsafe extern "C" {
12647 pub fn EC_POINT_dbl(
12648 group: *const EC_GROUP,
12649 r: *mut EC_POINT,
12650 a: *const EC_POINT,
12651 ctx: *mut BN_CTX,
12652 ) -> ::core::ffi::c_int;
12653}
12654unsafe extern "C" {
12655 pub fn EC_POINT_invert(
12656 group: *const EC_GROUP,
12657 a: *mut EC_POINT,
12658 ctx: *mut BN_CTX,
12659 ) -> ::core::ffi::c_int;
12660}
12661unsafe extern "C" {
12662 pub fn EC_POINT_mul(
12663 group: *const EC_GROUP,
12664 r: *mut EC_POINT,
12665 n: *const BIGNUM,
12666 q: *const EC_POINT,
12667 m: *const BIGNUM,
12668 ctx: *mut BN_CTX,
12669 ) -> ::core::ffi::c_int;
12670}
12671unsafe extern "C" {
12672 pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
12673 group: *const EC_GROUP,
12674 out: *mut EC_POINT,
12675 dst: *const u8,
12676 dst_len: usize,
12677 msg: *const u8,
12678 msg_len: usize,
12679 ) -> ::core::ffi::c_int;
12680}
12681unsafe extern "C" {
12682 pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
12683 group: *const EC_GROUP,
12684 out: *mut EC_POINT,
12685 dst: *const u8,
12686 dst_len: usize,
12687 msg: *const u8,
12688 msg_len: usize,
12689 ) -> ::core::ffi::c_int;
12690}
12691unsafe extern "C" {
12692 pub fn EC_encode_to_curve_p256_xmd_sha256_sswu(
12693 group: *const EC_GROUP,
12694 out: *mut EC_POINT,
12695 dst: *const u8,
12696 dst_len: usize,
12697 msg: *const u8,
12698 msg_len: usize,
12699 ) -> ::core::ffi::c_int;
12700}
12701unsafe extern "C" {
12702 pub fn EC_encode_to_curve_p384_xmd_sha384_sswu(
12703 group: *const EC_GROUP,
12704 out: *mut EC_POINT,
12705 dst: *const u8,
12706 dst_len: usize,
12707 msg: *const u8,
12708 msg_len: usize,
12709 ) -> ::core::ffi::c_int;
12710}
12711unsafe extern "C" {
12712 pub fn EC_wpa3_sae_hash_to_curve_p256(
12713 group: *const EC_GROUP,
12714 out: *mut EC_POINT,
12715 salt: *const u8,
12716 salt_len: usize,
12717 ikm: *const u8,
12718 ikm_len: usize,
12719 ) -> ::core::ffi::c_int;
12720}
12721unsafe extern "C" {
12722 pub fn EC_wpa3_sae_hunt_and_peck_p256(
12723 group: *const EC_GROUP,
12724 out: *mut EC_POINT,
12725 salt: *const u8,
12726 salt_len: usize,
12727 password: *const u8,
12728 password_len: usize,
12729 min_iterations: u8,
12730 ) -> ::core::ffi::c_int;
12731}
12732unsafe extern "C" {
12733 pub fn EC_GROUP_free(group: *mut EC_GROUP);
12734}
12735unsafe extern "C" {
12736 pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
12737}
12738unsafe extern "C" {
12739 pub fn EC_GROUP_new_curve_GFp(
12740 p: *const BIGNUM,
12741 a: *const BIGNUM,
12742 b: *const BIGNUM,
12743 ctx: *mut BN_CTX,
12744 ) -> *mut EC_GROUP;
12745}
12746unsafe extern "C" {
12747 pub fn EC_GROUP_set_generator(
12748 group: *mut EC_GROUP,
12749 generator: *const EC_POINT,
12750 order: *const BIGNUM,
12751 cofactor: *const BIGNUM,
12752 ) -> ::core::ffi::c_int;
12753}
12754unsafe extern "C" {
12755 pub fn EC_GROUP_get_order(
12756 group: *const EC_GROUP,
12757 order: *mut BIGNUM,
12758 ctx: *mut BN_CTX,
12759 ) -> ::core::ffi::c_int;
12760}
12761unsafe extern "C" {
12762 pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::core::ffi::c_int);
12763}
12764unsafe extern "C" {
12765 pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::core::ffi::c_int;
12766}
12767#[repr(C)]
12768#[derive(Debug)]
12769pub struct ec_method_st {
12770 _unused: [u8; 0],
12771}
12772pub type EC_METHOD = ec_method_st;
12773unsafe extern "C" {
12774 pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
12775}
12776unsafe extern "C" {
12777 pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::core::ffi::c_int;
12778}
12779unsafe extern "C" {
12780 pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
12781}
12782#[repr(C)]
12783#[derive(Debug, Copy, Clone)]
12784pub struct EC_builtin_curve {
12785 pub nid: ::core::ffi::c_int,
12786 pub comment: *const ::core::ffi::c_char,
12787}
12788unsafe extern "C" {
12789 pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
12790 -> usize;
12791}
12792unsafe extern "C" {
12793 pub fn EC_POINT_clear_free(point: *mut EC_POINT);
12794}
12795unsafe extern "C" {
12796 pub fn ENGINE_new() -> *mut ENGINE;
12797}
12798unsafe extern "C" {
12799 pub fn ENGINE_free(engine: *mut ENGINE) -> ::core::ffi::c_int;
12800}
12801unsafe extern "C" {
12802 pub fn ENGINE_set_RSA_method(
12803 engine: *mut ENGINE,
12804 method: *const RSA_METHOD,
12805 method_size: usize,
12806 ) -> ::core::ffi::c_int;
12807}
12808unsafe extern "C" {
12809 pub fn ENGINE_get_RSA_method(engine: *const ENGINE) -> *mut RSA_METHOD;
12810}
12811unsafe extern "C" {
12812 pub fn ENGINE_set_ECDSA_method(
12813 engine: *mut ENGINE,
12814 method: *const ECDSA_METHOD,
12815 method_size: usize,
12816 ) -> ::core::ffi::c_int;
12817}
12818unsafe extern "C" {
12819 pub fn ENGINE_get_ECDSA_method(engine: *const ENGINE) -> *mut ECDSA_METHOD;
12820}
12821unsafe extern "C" {
12822 pub fn METHOD_ref(method: *mut ::core::ffi::c_void);
12823}
12824unsafe extern "C" {
12825 pub fn METHOD_unref(method: *mut ::core::ffi::c_void);
12826}
12827#[repr(C)]
12828#[derive(Debug, Copy, Clone)]
12829pub struct openssl_method_common_st {
12830 pub references: ::core::ffi::c_int,
12831 pub is_static: ::core::ffi::c_char,
12832}
12833unsafe extern "C" {
12834 pub fn EC_KEY_new() -> *mut EC_KEY;
12835}
12836unsafe extern "C" {
12837 pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
12838}
12839unsafe extern "C" {
12840 pub fn EC_KEY_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_KEY;
12841}
12842unsafe extern "C" {
12843 pub fn EC_KEY_free(key: *mut EC_KEY);
12844}
12845unsafe extern "C" {
12846 pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
12847}
12848unsafe extern "C" {
12849 pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::core::ffi::c_int;
12850}
12851unsafe extern "C" {
12852 pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::core::ffi::c_int;
12853}
12854unsafe extern "C" {
12855 pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
12856}
12857unsafe extern "C" {
12858 pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::core::ffi::c_int;
12859}
12860unsafe extern "C" {
12861 pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
12862}
12863unsafe extern "C" {
12864 pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::core::ffi::c_int;
12865}
12866unsafe extern "C" {
12867 pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
12868}
12869unsafe extern "C" {
12870 pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::core::ffi::c_int;
12871}
12872unsafe extern "C" {
12873 pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::core::ffi::c_uint;
12874}
12875unsafe extern "C" {
12876 pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::core::ffi::c_uint);
12877}
12878unsafe extern "C" {
12879 pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
12880}
12881unsafe extern "C" {
12882 pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
12883}
12884unsafe extern "C" {
12885 pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::core::ffi::c_int;
12886}
12887unsafe extern "C" {
12888 pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::core::ffi::c_int;
12889}
12890unsafe extern "C" {
12891 pub fn EC_KEY_set_public_key_affine_coordinates(
12892 key: *mut EC_KEY,
12893 x: *const BIGNUM,
12894 y: *const BIGNUM,
12895 ) -> ::core::ffi::c_int;
12896}
12897unsafe extern "C" {
12898 pub fn EC_KEY_oct2key(
12899 key: *mut EC_KEY,
12900 in_: *const u8,
12901 len: usize,
12902 ctx: *mut BN_CTX,
12903 ) -> ::core::ffi::c_int;
12904}
12905unsafe extern "C" {
12906 pub fn EC_KEY_key2buf(
12907 key: *const EC_KEY,
12908 form: point_conversion_form_t,
12909 out_buf: *mut *mut u8,
12910 ctx: *mut BN_CTX,
12911 ) -> usize;
12912}
12913unsafe extern "C" {
12914 pub fn EC_KEY_oct2priv(key: *mut EC_KEY, in_: *const u8, len: usize) -> ::core::ffi::c_int;
12915}
12916unsafe extern "C" {
12917 pub fn EC_KEY_priv2oct(key: *const EC_KEY, out: *mut u8, max_out: usize) -> usize;
12918}
12919unsafe extern "C" {
12920 pub fn EC_KEY_priv2buf(key: *const EC_KEY, out_buf: *mut *mut u8) -> usize;
12921}
12922unsafe extern "C" {
12923 pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::core::ffi::c_int;
12924}
12925unsafe extern "C" {
12926 pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::core::ffi::c_int;
12927}
12928unsafe extern "C" {
12929 pub fn EC_KEY_derive_from_secret(
12930 group: *const EC_GROUP,
12931 secret: *const u8,
12932 secret_len: usize,
12933 ) -> *mut EC_KEY;
12934}
12935unsafe extern "C" {
12936 pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
12937}
12938unsafe extern "C" {
12939 pub fn EC_KEY_marshal_private_key(
12940 cbb: *mut CBB,
12941 key: *const EC_KEY,
12942 enc_flags: ::core::ffi::c_uint,
12943 ) -> ::core::ffi::c_int;
12944}
12945unsafe extern "C" {
12946 pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
12947}
12948unsafe extern "C" {
12949 pub fn EC_KEY_marshal_curve_name(cbb: *mut CBB, group: *const EC_GROUP) -> ::core::ffi::c_int;
12950}
12951unsafe extern "C" {
12952 pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
12953}
12954unsafe extern "C" {
12955 pub fn EC_KEY_get_ex_new_index(
12956 argl: ::core::ffi::c_long,
12957 argp: *mut ::core::ffi::c_void,
12958 unused: *mut CRYPTO_EX_unused,
12959 dup_unused: CRYPTO_EX_dup,
12960 free_func: CRYPTO_EX_free,
12961 ) -> ::core::ffi::c_int;
12962}
12963unsafe extern "C" {
12964 pub fn EC_KEY_set_ex_data(
12965 r: *mut EC_KEY,
12966 idx: ::core::ffi::c_int,
12967 arg: *mut ::core::ffi::c_void,
12968 ) -> ::core::ffi::c_int;
12969}
12970unsafe extern "C" {
12971 pub fn EC_KEY_get_ex_data(
12972 r: *const EC_KEY,
12973 idx: ::core::ffi::c_int,
12974 ) -> *mut ::core::ffi::c_void;
12975}
12976#[repr(C)]
12977#[derive(Debug, Copy, Clone)]
12978pub struct ecdsa_method_st {
12979 pub common: openssl_method_common_st,
12980 pub app_data: *mut ::core::ffi::c_void,
12981 pub init: ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
12982 pub finish:
12983 ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
12984 pub sign: ::core::option::Option<
12985 unsafe extern "C" fn(
12986 digest: *const u8,
12987 digest_len: usize,
12988 sig: *mut u8,
12989 sig_len: *mut ::core::ffi::c_uint,
12990 eckey: *mut EC_KEY,
12991 ) -> ::core::ffi::c_int,
12992 >,
12993 pub flags: ::core::ffi::c_int,
12994}
12995unsafe extern "C" {
12996 pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::core::ffi::c_int);
12997}
12998unsafe extern "C" {
12999 pub fn d2i_ECPrivateKey(
13000 out_key: *mut *mut EC_KEY,
13001 inp: *mut *const u8,
13002 len: ::core::ffi::c_long,
13003 ) -> *mut EC_KEY;
13004}
13005unsafe extern "C" {
13006 pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
13007}
13008unsafe extern "C" {
13009 pub fn d2i_ECPKParameters(
13010 out: *mut *mut EC_GROUP,
13011 inp: *mut *const u8,
13012 len: ::core::ffi::c_long,
13013 ) -> *mut EC_GROUP;
13014}
13015unsafe extern "C" {
13016 pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::core::ffi::c_int;
13017}
13018unsafe extern "C" {
13019 pub fn d2i_ECParameters(
13020 out_key: *mut *mut EC_KEY,
13021 inp: *mut *const u8,
13022 len: ::core::ffi::c_long,
13023 ) -> *mut EC_KEY;
13024}
13025unsafe extern "C" {
13026 pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
13027}
13028unsafe extern "C" {
13029 pub fn o2i_ECPublicKey(
13030 out_key: *mut *mut EC_KEY,
13031 inp: *mut *const u8,
13032 len: ::core::ffi::c_long,
13033 ) -> *mut EC_KEY;
13034}
13035unsafe extern "C" {
13036 pub fn i2o_ECPublicKey(
13037 key: *const EC_KEY,
13038 outp: *mut *mut ::core::ffi::c_uchar,
13039 ) -> ::core::ffi::c_int;
13040}
13041unsafe extern "C" {
13042 pub fn ECDH_compute_key(
13043 out: *mut ::core::ffi::c_void,
13044 outlen: usize,
13045 pub_key: *const EC_POINT,
13046 priv_key: *const EC_KEY,
13047 kdf: ::core::option::Option<
13048 unsafe extern "C" fn(
13049 in_: *const ::core::ffi::c_void,
13050 inlen: usize,
13051 out: *mut ::core::ffi::c_void,
13052 outlen: *mut usize,
13053 ) -> *mut ::core::ffi::c_void,
13054 >,
13055 ) -> ::core::ffi::c_int;
13056}
13057unsafe extern "C" {
13058 pub fn ECDH_compute_key_fips(
13059 out: *mut u8,
13060 out_len: usize,
13061 pub_key: *const EC_POINT,
13062 priv_key: *const EC_KEY,
13063 ) -> ::core::ffi::c_int;
13064}
13065unsafe extern "C" {
13066 pub fn ECDSA_sign(
13067 type_: ::core::ffi::c_int,
13068 digest: *const u8,
13069 digest_len: usize,
13070 sig: *mut u8,
13071 sig_len: *mut ::core::ffi::c_uint,
13072 key: *const EC_KEY,
13073 ) -> ::core::ffi::c_int;
13074}
13075unsafe extern "C" {
13076 pub fn ECDSA_verify(
13077 type_: ::core::ffi::c_int,
13078 digest: *const u8,
13079 digest_len: usize,
13080 sig: *const u8,
13081 sig_len: usize,
13082 key: *const EC_KEY,
13083 ) -> ::core::ffi::c_int;
13084}
13085unsafe extern "C" {
13086 pub fn ECDSA_size(key: *const EC_KEY) -> usize;
13087}
13088#[repr(C)]
13089#[derive(Debug, Copy, Clone)]
13090pub struct ecdsa_sig_st {
13091 pub r: *mut BIGNUM,
13092 pub s: *mut BIGNUM,
13093}
13094unsafe extern "C" {
13095 pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
13096}
13097unsafe extern "C" {
13098 pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
13099}
13100unsafe extern "C" {
13101 pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
13102}
13103unsafe extern "C" {
13104 pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
13105}
13106unsafe extern "C" {
13107 pub fn ECDSA_SIG_get0(
13108 sig: *const ECDSA_SIG,
13109 out_r: *mut *const BIGNUM,
13110 out_s: *mut *const BIGNUM,
13111 );
13112}
13113unsafe extern "C" {
13114 pub fn ECDSA_SIG_set0(
13115 sig: *mut ECDSA_SIG,
13116 r: *mut BIGNUM,
13117 s: *mut BIGNUM,
13118 ) -> ::core::ffi::c_int;
13119}
13120unsafe extern "C" {
13121 pub fn ECDSA_do_sign(
13122 digest: *const u8,
13123 digest_len: usize,
13124 key: *const EC_KEY,
13125 ) -> *mut ECDSA_SIG;
13126}
13127unsafe extern "C" {
13128 pub fn ECDSA_do_verify(
13129 digest: *const u8,
13130 digest_len: usize,
13131 sig: *const ECDSA_SIG,
13132 key: *const EC_KEY,
13133 ) -> ::core::ffi::c_int;
13134}
13135unsafe extern "C" {
13136 pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
13137}
13138unsafe extern "C" {
13139 pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
13140}
13141unsafe extern "C" {
13142 pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::core::ffi::c_int;
13143}
13144unsafe extern "C" {
13145 pub fn ECDSA_SIG_to_bytes(
13146 out_bytes: *mut *mut u8,
13147 out_len: *mut usize,
13148 sig: *const ECDSA_SIG,
13149 ) -> ::core::ffi::c_int;
13150}
13151unsafe extern "C" {
13152 pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
13153}
13154unsafe extern "C" {
13155 pub fn ECDSA_sign_p1363(
13156 digest: *const u8,
13157 digest_len: usize,
13158 sig: *mut u8,
13159 out_sig_len: *mut usize,
13160 max_sig_len: usize,
13161 key: *const EC_KEY,
13162 ) -> ::core::ffi::c_int;
13163}
13164unsafe extern "C" {
13165 pub fn ECDSA_verify_p1363(
13166 digest: *const u8,
13167 digest_len: usize,
13168 sig: *const u8,
13169 sig_len: usize,
13170 key: *const EC_KEY,
13171 ) -> ::core::ffi::c_int;
13172}
13173unsafe extern "C" {
13174 pub fn ECDSA_size_p1363(key: *const EC_KEY) -> usize;
13175}
13176unsafe extern "C" {
13177 pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
13178 digest: *const u8,
13179 digest_len: usize,
13180 eckey: *const EC_KEY,
13181 nonce: *const u8,
13182 nonce_len: usize,
13183 ) -> *mut ECDSA_SIG;
13184}
13185unsafe extern "C" {
13186 pub fn d2i_ECDSA_SIG(
13187 out: *mut *mut ECDSA_SIG,
13188 inp: *mut *const u8,
13189 len: ::core::ffi::c_long,
13190 ) -> *mut ECDSA_SIG;
13191}
13192unsafe extern "C" {
13193 pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
13194}
13195unsafe extern "C" {
13196 pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
13197}
13198unsafe extern "C" {
13199 pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
13200}
13201unsafe extern "C" {
13202 pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
13203}
13204unsafe extern "C" {
13205 pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
13206}
13207unsafe extern "C" {
13208 pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
13209}
13210unsafe extern "C" {
13211 pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
13212}
13213unsafe extern "C" {
13214 pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
13215}
13216unsafe extern "C" {
13217 pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
13218}
13219unsafe extern "C" {
13220 pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
13221}
13222unsafe extern "C" {
13223 pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
13224}
13225unsafe extern "C" {
13226 pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
13227}
13228unsafe extern "C" {
13229 pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
13230}
13231unsafe extern "C" {
13232 pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
13233}
13234unsafe extern "C" {
13235 pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
13236}
13237unsafe extern "C" {
13238 pub fn EVP_has_aes_hardware() -> ::core::ffi::c_int;
13239}
13240unsafe extern "C" {
13241 pub fn EVP_aead_aes_128_eax() -> *const EVP_AEAD;
13242}
13243unsafe extern "C" {
13244 pub fn EVP_aead_aes_256_eax() -> *const EVP_AEAD;
13245}
13246unsafe extern "C" {
13247 pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
13248}
13249unsafe extern "C" {
13250 pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
13251}
13252unsafe extern "C" {
13253 pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
13254}
13255unsafe extern "C" {
13256 pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
13257}
13258#[repr(C)]
13259#[derive(Copy, Clone)]
13260pub union evp_aead_ctx_st_state {
13261 pub opaque: [u8; 560usize],
13262 pub alignment: u64,
13263}
13264#[repr(C)]
13265#[derive(Copy, Clone)]
13266pub struct evp_aead_ctx_st {
13267 pub aead: *const EVP_AEAD,
13268 pub state: evp_aead_ctx_st_state,
13269 pub tag_len: u8,
13270}
13271unsafe extern "C" {
13272 pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
13273}
13274unsafe extern "C" {
13275 pub fn EVP_AEAD_CTX_new(
13276 aead: *const EVP_AEAD,
13277 key: *const u8,
13278 key_len: usize,
13279 tag_len: usize,
13280 ) -> *mut EVP_AEAD_CTX;
13281}
13282unsafe extern "C" {
13283 pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
13284}
13285unsafe extern "C" {
13286 pub fn EVP_AEAD_CTX_init(
13287 ctx: *mut EVP_AEAD_CTX,
13288 aead: *const EVP_AEAD,
13289 key: *const u8,
13290 key_len: usize,
13291 tag_len: usize,
13292 impl_: *mut ENGINE,
13293 ) -> ::core::ffi::c_int;
13294}
13295unsafe extern "C" {
13296 pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
13297}
13298unsafe extern "C" {
13299 pub fn EVP_AEAD_CTX_seal(
13300 ctx: *const EVP_AEAD_CTX,
13301 out: *mut u8,
13302 out_len: *mut usize,
13303 max_out_len: usize,
13304 nonce: *const u8,
13305 nonce_len: usize,
13306 in_: *const u8,
13307 in_len: usize,
13308 ad: *const u8,
13309 ad_len: usize,
13310 ) -> ::core::ffi::c_int;
13311}
13312unsafe extern "C" {
13313 pub fn EVP_AEAD_CTX_open(
13314 ctx: *const EVP_AEAD_CTX,
13315 out: *mut u8,
13316 out_len: *mut usize,
13317 max_out_len: usize,
13318 nonce: *const u8,
13319 nonce_len: usize,
13320 in_: *const u8,
13321 in_len: usize,
13322 ad: *const u8,
13323 ad_len: usize,
13324 ) -> ::core::ffi::c_int;
13325}
13326unsafe extern "C" {
13327 pub fn EVP_AEAD_CTX_seal_scatter(
13328 ctx: *const EVP_AEAD_CTX,
13329 out: *mut u8,
13330 out_tag: *mut u8,
13331 out_tag_len: *mut usize,
13332 max_out_tag_len: usize,
13333 nonce: *const u8,
13334 nonce_len: usize,
13335 in_: *const u8,
13336 in_len: usize,
13337 extra_in: *const u8,
13338 extra_in_len: usize,
13339 ad: *const u8,
13340 ad_len: usize,
13341 ) -> ::core::ffi::c_int;
13342}
13343unsafe extern "C" {
13344 pub fn EVP_AEAD_CTX_open_gather(
13345 ctx: *const EVP_AEAD_CTX,
13346 out: *mut u8,
13347 nonce: *const u8,
13348 nonce_len: usize,
13349 in_: *const u8,
13350 in_len: usize,
13351 in_tag: *const u8,
13352 in_tag_len: usize,
13353 ad: *const u8,
13354 ad_len: usize,
13355 ) -> ::core::ffi::c_int;
13356}
13357#[repr(C)]
13358#[derive(Debug, Copy, Clone)]
13359pub struct crypto_ivec_st {
13360 pub in_: *const u8,
13361 pub len: usize,
13362}
13363#[repr(C)]
13364#[derive(Debug, Copy, Clone)]
13365pub struct crypto_iovec_st {
13366 pub out: *mut u8,
13367 pub in_: *const u8,
13368 pub len: usize,
13369}
13370unsafe extern "C" {
13371 pub fn EVP_AEAD_CTX_sealv(
13372 ctx: *const EVP_AEAD_CTX,
13373 iovec: *const CRYPTO_IOVEC,
13374 num_iovec: usize,
13375 out_tag: *mut u8,
13376 out_tag_len: *mut usize,
13377 max_out_tag_len: usize,
13378 nonce: *const u8,
13379 nonce_len: usize,
13380 aadvec: *const CRYPTO_IVEC,
13381 num_aadvec: usize,
13382 ) -> ::core::ffi::c_int;
13383}
13384unsafe extern "C" {
13385 pub fn EVP_AEAD_CTX_openv(
13386 ctx: *const EVP_AEAD_CTX,
13387 iovec: *const CRYPTO_IOVEC,
13388 num_iovec: usize,
13389 out_total_bytes: *mut usize,
13390 nonce: *const u8,
13391 nonce_len: usize,
13392 aadvec: *const CRYPTO_IVEC,
13393 num_aadvec: usize,
13394 ) -> ::core::ffi::c_int;
13395}
13396unsafe extern "C" {
13397 pub fn EVP_AEAD_CTX_openv_detached(
13398 ctx: *const EVP_AEAD_CTX,
13399 iovec: *const CRYPTO_IOVEC,
13400 num_iovec: usize,
13401 nonce: *const u8,
13402 nonce_len: usize,
13403 in_tag: *const u8,
13404 in_tag_len: usize,
13405 aadvec: *const CRYPTO_IVEC,
13406 num_aadvec: usize,
13407 ) -> ::core::ffi::c_int;
13408}
13409unsafe extern "C" {
13410 pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
13411}
13412unsafe extern "C" {
13413 pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
13414}
13415unsafe extern "C" {
13416 pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13417}
13418unsafe extern "C" {
13419 pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
13420}
13421unsafe extern "C" {
13422 pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
13423}
13424unsafe extern "C" {
13425 pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13426}
13427unsafe extern "C" {
13428 pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
13429}
13430unsafe extern "C" {
13431 pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13432}
13433unsafe extern "C" {
13434 pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
13435}
13436unsafe extern "C" {
13437 pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
13438}
13439unsafe extern "C" {
13440 pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
13441}
13442unsafe extern "C" {
13443 pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
13444}
13445pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
13446pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
13447pub type evp_aead_direction_t = ::core::ffi::c_uint;
13448unsafe extern "C" {
13449 pub fn EVP_AEAD_CTX_init_with_direction(
13450 ctx: *mut EVP_AEAD_CTX,
13451 aead: *const EVP_AEAD,
13452 key: *const u8,
13453 key_len: usize,
13454 tag_len: usize,
13455 dir: evp_aead_direction_t,
13456 ) -> ::core::ffi::c_int;
13457}
13458unsafe extern "C" {
13459 pub fn EVP_AEAD_CTX_get_iv(
13460 ctx: *const EVP_AEAD_CTX,
13461 out_iv: *mut *const u8,
13462 out_len: *mut usize,
13463 ) -> ::core::ffi::c_int;
13464}
13465unsafe extern "C" {
13466 pub fn EVP_AEAD_CTX_tag_len(
13467 ctx: *const EVP_AEAD_CTX,
13468 out_tag_len: *mut usize,
13469 in_len: usize,
13470 extra_in_len: usize,
13471 ) -> ::core::ffi::c_int;
13472}
13473unsafe extern "C" {
13474 pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
13475}
13476unsafe extern "C" {
13477 pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
13478}
13479unsafe extern "C" {
13480 pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
13481}
13482unsafe extern "C" {
13483 pub fn EVP_PKEY_dup_ref(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13484}
13485unsafe extern "C" {
13486 pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13487}
13488unsafe extern "C" {
13489 pub fn EVP_PKEY_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13490}
13491unsafe extern "C" {
13492 pub fn EVP_PKEY_copy_parameters(to: *mut EVP_PKEY, from: *const EVP_PKEY)
13493 -> ::core::ffi::c_int;
13494}
13495unsafe extern "C" {
13496 pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13497}
13498unsafe extern "C" {
13499 pub fn EVP_PKEY_parameters_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13500}
13501unsafe extern "C" {
13502 pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13503}
13504unsafe extern "C" {
13505 pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13506}
13507unsafe extern "C" {
13508 pub fn EVP_PKEY_has_public(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13509}
13510unsafe extern "C" {
13511 pub fn EVP_PKEY_has_private(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13512}
13513unsafe extern "C" {
13514 pub fn EVP_PKEY_copy_public(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13515}
13516unsafe extern "C" {
13517 pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13518}
13519unsafe extern "C" {
13520 pub fn EVP_pkey_rsa() -> *const EVP_PKEY_ALG;
13521}
13522unsafe extern "C" {
13523 pub fn EVP_pkey_ec_p224() -> *const EVP_PKEY_ALG;
13524}
13525unsafe extern "C" {
13526 pub fn EVP_pkey_ec_p256() -> *const EVP_PKEY_ALG;
13527}
13528unsafe extern "C" {
13529 pub fn EVP_pkey_ec_p384() -> *const EVP_PKEY_ALG;
13530}
13531unsafe extern "C" {
13532 pub fn EVP_pkey_ec_p521() -> *const EVP_PKEY_ALG;
13533}
13534unsafe extern "C" {
13535 pub fn EVP_pkey_x25519() -> *const EVP_PKEY_ALG;
13536}
13537unsafe extern "C" {
13538 pub fn EVP_pkey_ed25519() -> *const EVP_PKEY_ALG;
13539}
13540unsafe extern "C" {
13541 pub fn EVP_pkey_ml_dsa_44() -> *const EVP_PKEY_ALG;
13542}
13543unsafe extern "C" {
13544 pub fn EVP_pkey_ml_dsa_65() -> *const EVP_PKEY_ALG;
13545}
13546unsafe extern "C" {
13547 pub fn EVP_pkey_ml_dsa_87() -> *const EVP_PKEY_ALG;
13548}
13549unsafe extern "C" {
13550 pub fn EVP_pkey_ml_kem_768() -> *const EVP_PKEY_ALG;
13551}
13552unsafe extern "C" {
13553 pub fn EVP_pkey_ml_kem_1024() -> *const EVP_PKEY_ALG;
13554}
13555unsafe extern "C" {
13556 pub fn EVP_pkey_xwing() -> *const EVP_PKEY_ALG;
13557}
13558unsafe extern "C" {
13559 pub fn EVP_pkey_dsa() -> *const EVP_PKEY_ALG;
13560}
13561unsafe extern "C" {
13562 pub fn EVP_pkey_rsa_pss_sha256() -> *const EVP_PKEY_ALG;
13563}
13564unsafe extern "C" {
13565 pub fn EVP_pkey_rsa_pss_sha384() -> *const EVP_PKEY_ALG;
13566}
13567unsafe extern "C" {
13568 pub fn EVP_pkey_rsa_pss_sha512() -> *const EVP_PKEY_ALG;
13569}
13570unsafe extern "C" {
13571 pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13572}
13573unsafe extern "C" {
13574 pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13575}
13576unsafe extern "C" {
13577 pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13578}
13579unsafe extern "C" {
13580 pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13581}
13582unsafe extern "C" {
13583 pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13584}
13585unsafe extern "C" {
13586 pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13587}
13588unsafe extern "C" {
13589 pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13590}
13591unsafe extern "C" {
13592 pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13593}
13594unsafe extern "C" {
13595 pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13596}
13597unsafe extern "C" {
13598 pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13599}
13600unsafe extern "C" {
13601 pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13602}
13603unsafe extern "C" {
13604 pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13605}
13606unsafe extern "C" {
13607 pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13608}
13609unsafe extern "C" {
13610 pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13611}
13612unsafe extern "C" {
13613 pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
13614}
13615unsafe extern "C" {
13616 pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
13617}
13618unsafe extern "C" {
13619 pub fn EVP_PKEY_from_subject_public_key_info(
13620 in_: *const u8,
13621 len: usize,
13622 algs: *const *const EVP_PKEY_ALG,
13623 num_algs: usize,
13624 ) -> *mut EVP_PKEY;
13625}
13626unsafe extern "C" {
13627 pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13628}
13629unsafe extern "C" {
13630 pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13631}
13632unsafe extern "C" {
13633 pub fn EVP_PKEY_from_private_key_info(
13634 in_: *const u8,
13635 len: usize,
13636 algs: *const *const EVP_PKEY_ALG,
13637 num_algs: usize,
13638 ) -> *mut EVP_PKEY;
13639}
13640unsafe extern "C" {
13641 pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13642}
13643unsafe extern "C" {
13644 pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13645}
13646unsafe extern "C" {
13647 pub fn EVP_PKEY_from_raw_private_key(
13648 alg: *const EVP_PKEY_ALG,
13649 in_: *const u8,
13650 len: usize,
13651 ) -> *mut EVP_PKEY;
13652}
13653unsafe extern "C" {
13654 pub fn EVP_PKEY_from_private_seed(
13655 alg: *const EVP_PKEY_ALG,
13656 in_: *const u8,
13657 len: usize,
13658 ) -> *mut EVP_PKEY;
13659}
13660unsafe extern "C" {
13661 pub fn EVP_PKEY_from_raw_public_key(
13662 alg: *const EVP_PKEY_ALG,
13663 in_: *const u8,
13664 len: usize,
13665 ) -> *mut EVP_PKEY;
13666}
13667unsafe extern "C" {
13668 pub fn EVP_PKEY_get_raw_private_key(
13669 pkey: *const EVP_PKEY,
13670 out: *mut u8,
13671 out_len: *mut usize,
13672 ) -> ::core::ffi::c_int;
13673}
13674unsafe extern "C" {
13675 pub fn EVP_PKEY_get_private_seed(
13676 pkey: *const EVP_PKEY,
13677 out: *mut u8,
13678 out_len: *mut usize,
13679 ) -> ::core::ffi::c_int;
13680}
13681unsafe extern "C" {
13682 pub fn EVP_PKEY_get_raw_public_key(
13683 pkey: *const EVP_PKEY,
13684 out: *mut u8,
13685 out_len: *mut usize,
13686 ) -> ::core::ffi::c_int;
13687}
13688unsafe extern "C" {
13689 pub fn EVP_PKEY_generate_from_alg(alg: *const EVP_PKEY_ALG) -> *mut EVP_PKEY;
13690}
13691unsafe extern "C" {
13692 pub fn EVP_DigestSignInit(
13693 ctx: *mut EVP_MD_CTX,
13694 pctx: *mut *mut EVP_PKEY_CTX,
13695 type_: *const EVP_MD,
13696 e: *mut ENGINE,
13697 pkey: *mut EVP_PKEY,
13698 ) -> ::core::ffi::c_int;
13699}
13700unsafe extern "C" {
13701 pub fn EVP_DigestSignUpdate(
13702 ctx: *mut EVP_MD_CTX,
13703 data: *const ::core::ffi::c_void,
13704 len: usize,
13705 ) -> ::core::ffi::c_int;
13706}
13707unsafe extern "C" {
13708 pub fn EVP_DigestSignFinal(
13709 ctx: *mut EVP_MD_CTX,
13710 out_sig: *mut u8,
13711 out_sig_len: *mut usize,
13712 ) -> ::core::ffi::c_int;
13713}
13714unsafe extern "C" {
13715 pub fn EVP_DigestSign(
13716 ctx: *mut EVP_MD_CTX,
13717 out_sig: *mut u8,
13718 out_sig_len: *mut usize,
13719 data: *const u8,
13720 data_len: usize,
13721 ) -> ::core::ffi::c_int;
13722}
13723unsafe extern "C" {
13724 pub fn EVP_DigestVerifyInit(
13725 ctx: *mut EVP_MD_CTX,
13726 pctx: *mut *mut EVP_PKEY_CTX,
13727 type_: *const EVP_MD,
13728 e: *mut ENGINE,
13729 pkey: *mut EVP_PKEY,
13730 ) -> ::core::ffi::c_int;
13731}
13732unsafe extern "C" {
13733 pub fn EVP_DigestVerifyUpdate(
13734 ctx: *mut EVP_MD_CTX,
13735 data: *const ::core::ffi::c_void,
13736 len: usize,
13737 ) -> ::core::ffi::c_int;
13738}
13739unsafe extern "C" {
13740 pub fn EVP_DigestVerifyFinal(
13741 ctx: *mut EVP_MD_CTX,
13742 sig: *const u8,
13743 sig_len: usize,
13744 ) -> ::core::ffi::c_int;
13745}
13746unsafe extern "C" {
13747 pub fn EVP_DigestVerify(
13748 ctx: *mut EVP_MD_CTX,
13749 sig: *const u8,
13750 sig_len: usize,
13751 data: *const u8,
13752 len: usize,
13753 ) -> ::core::ffi::c_int;
13754}
13755unsafe extern "C" {
13756 pub fn EVP_SignInit_ex(
13757 ctx: *mut EVP_MD_CTX,
13758 type_: *const EVP_MD,
13759 impl_: *mut ENGINE,
13760 ) -> ::core::ffi::c_int;
13761}
13762unsafe extern "C" {
13763 pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13764}
13765unsafe extern "C" {
13766 pub fn EVP_SignUpdate(
13767 ctx: *mut EVP_MD_CTX,
13768 data: *const ::core::ffi::c_void,
13769 len: usize,
13770 ) -> ::core::ffi::c_int;
13771}
13772unsafe extern "C" {
13773 pub fn EVP_SignFinal(
13774 ctx: *const EVP_MD_CTX,
13775 sig: *mut u8,
13776 out_sig_len: *mut ::core::ffi::c_uint,
13777 pkey: *mut EVP_PKEY,
13778 ) -> ::core::ffi::c_int;
13779}
13780unsafe extern "C" {
13781 pub fn EVP_VerifyInit_ex(
13782 ctx: *mut EVP_MD_CTX,
13783 type_: *const EVP_MD,
13784 impl_: *mut ENGINE,
13785 ) -> ::core::ffi::c_int;
13786}
13787unsafe extern "C" {
13788 pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13789}
13790unsafe extern "C" {
13791 pub fn EVP_VerifyUpdate(
13792 ctx: *mut EVP_MD_CTX,
13793 data: *const ::core::ffi::c_void,
13794 len: usize,
13795 ) -> ::core::ffi::c_int;
13796}
13797unsafe extern "C" {
13798 pub fn EVP_VerifyFinal(
13799 ctx: *mut EVP_MD_CTX,
13800 sig: *const u8,
13801 sig_len: usize,
13802 pkey: *mut EVP_PKEY,
13803 ) -> ::core::ffi::c_int;
13804}
13805unsafe extern "C" {
13806 pub fn EVP_PKEY_print_public(
13807 out: *mut BIO,
13808 pkey: *const EVP_PKEY,
13809 indent: ::core::ffi::c_int,
13810 pctx: *mut ASN1_PCTX,
13811 ) -> ::core::ffi::c_int;
13812}
13813unsafe extern "C" {
13814 pub fn EVP_PKEY_print_private(
13815 out: *mut BIO,
13816 pkey: *const EVP_PKEY,
13817 indent: ::core::ffi::c_int,
13818 pctx: *mut ASN1_PCTX,
13819 ) -> ::core::ffi::c_int;
13820}
13821unsafe extern "C" {
13822 pub fn EVP_PKEY_print_params(
13823 out: *mut BIO,
13824 pkey: *const EVP_PKEY,
13825 indent: ::core::ffi::c_int,
13826 pctx: *mut ASN1_PCTX,
13827 ) -> ::core::ffi::c_int;
13828}
13829unsafe extern "C" {
13830 pub fn PKCS5_PBKDF2_HMAC(
13831 password: *const ::core::ffi::c_char,
13832 password_len: usize,
13833 salt: *const u8,
13834 salt_len: usize,
13835 iterations: u32,
13836 digest: *const EVP_MD,
13837 key_len: usize,
13838 out_key: *mut u8,
13839 ) -> ::core::ffi::c_int;
13840}
13841unsafe extern "C" {
13842 pub fn PKCS5_PBKDF2_HMAC_SHA1(
13843 password: *const ::core::ffi::c_char,
13844 password_len: usize,
13845 salt: *const u8,
13846 salt_len: usize,
13847 iterations: u32,
13848 key_len: usize,
13849 out_key: *mut u8,
13850 ) -> ::core::ffi::c_int;
13851}
13852unsafe extern "C" {
13853 pub fn EVP_PBE_scrypt(
13854 password: *const ::core::ffi::c_char,
13855 password_len: usize,
13856 salt: *const u8,
13857 salt_len: usize,
13858 N: u64,
13859 r: u64,
13860 p: u64,
13861 max_mem: usize,
13862 out_key: *mut u8,
13863 key_len: usize,
13864 ) -> ::core::ffi::c_int;
13865}
13866unsafe extern "C" {
13867 pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13868}
13869unsafe extern "C" {
13870 pub fn EVP_PKEY_CTX_new_id(id: ::core::ffi::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13871}
13872unsafe extern "C" {
13873 pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
13874}
13875unsafe extern "C" {
13876 pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
13877}
13878unsafe extern "C" {
13879 pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
13880}
13881unsafe extern "C" {
13882 pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13883}
13884unsafe extern "C" {
13885 pub fn EVP_PKEY_sign(
13886 ctx: *mut EVP_PKEY_CTX,
13887 sig: *mut u8,
13888 sig_len: *mut usize,
13889 digest: *const u8,
13890 digest_len: usize,
13891 ) -> ::core::ffi::c_int;
13892}
13893unsafe extern "C" {
13894 pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13895}
13896unsafe extern "C" {
13897 pub fn EVP_PKEY_verify(
13898 ctx: *mut EVP_PKEY_CTX,
13899 sig: *const u8,
13900 sig_len: usize,
13901 digest: *const u8,
13902 digest_len: usize,
13903 ) -> ::core::ffi::c_int;
13904}
13905unsafe extern "C" {
13906 pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13907}
13908unsafe extern "C" {
13909 pub fn EVP_PKEY_encrypt(
13910 ctx: *mut EVP_PKEY_CTX,
13911 out: *mut u8,
13912 out_len: *mut usize,
13913 in_: *const u8,
13914 in_len: usize,
13915 ) -> ::core::ffi::c_int;
13916}
13917unsafe extern "C" {
13918 pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13919}
13920unsafe extern "C" {
13921 pub fn EVP_PKEY_decrypt(
13922 ctx: *mut EVP_PKEY_CTX,
13923 out: *mut u8,
13924 out_len: *mut usize,
13925 in_: *const u8,
13926 in_len: usize,
13927 ) -> ::core::ffi::c_int;
13928}
13929unsafe extern "C" {
13930 pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13931}
13932unsafe extern "C" {
13933 pub fn EVP_PKEY_verify_recover(
13934 ctx: *mut EVP_PKEY_CTX,
13935 out: *mut u8,
13936 out_len: *mut usize,
13937 sig: *const u8,
13938 siglen: usize,
13939 ) -> ::core::ffi::c_int;
13940}
13941unsafe extern "C" {
13942 pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13943}
13944unsafe extern "C" {
13945 pub fn EVP_PKEY_derive_set_peer(
13946 ctx: *mut EVP_PKEY_CTX,
13947 peer: *mut EVP_PKEY,
13948 ) -> ::core::ffi::c_int;
13949}
13950unsafe extern "C" {
13951 pub fn EVP_PKEY_derive(
13952 ctx: *mut EVP_PKEY_CTX,
13953 key: *mut u8,
13954 out_key_len: *mut usize,
13955 ) -> ::core::ffi::c_int;
13956}
13957unsafe extern "C" {
13958 pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13959}
13960unsafe extern "C" {
13961 pub fn EVP_PKEY_keygen(
13962 ctx: *mut EVP_PKEY_CTX,
13963 out_pkey: *mut *mut EVP_PKEY,
13964 ) -> ::core::ffi::c_int;
13965}
13966unsafe extern "C" {
13967 pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13968}
13969unsafe extern "C" {
13970 pub fn EVP_PKEY_paramgen(
13971 ctx: *mut EVP_PKEY_CTX,
13972 out_pkey: *mut *mut EVP_PKEY,
13973 ) -> ::core::ffi::c_int;
13974}
13975unsafe extern "C" {
13976 pub fn EVP_PKEY_encapsulate_init(
13977 ctx: *mut EVP_PKEY_CTX,
13978 params: *const OSSL_PARAM,
13979 ) -> ::core::ffi::c_int;
13980}
13981unsafe extern "C" {
13982 pub fn EVP_PKEY_encapsulate(
13983 ctx: *mut EVP_PKEY_CTX,
13984 out_ciphertext: *mut u8,
13985 out_ciphertext_len: *mut usize,
13986 out_secret: *mut u8,
13987 out_secret_len: *mut usize,
13988 ) -> ::core::ffi::c_int;
13989}
13990unsafe extern "C" {
13991 pub fn EVP_PKEY_decapsulate_init(
13992 ctx: *mut EVP_PKEY_CTX,
13993 params: *const OSSL_PARAM,
13994 ) -> ::core::ffi::c_int;
13995}
13996unsafe extern "C" {
13997 pub fn EVP_PKEY_decapsulate(
13998 ctx: *mut EVP_PKEY_CTX,
13999 out_secret: *mut u8,
14000 out_secret_len: *mut usize,
14001 ciphertext: *const u8,
14002 ciphertext_len: usize,
14003 ) -> ::core::ffi::c_int;
14004}
14005unsafe extern "C" {
14006 pub fn EVP_PKEY_CTX_set_signature_md(
14007 ctx: *mut EVP_PKEY_CTX,
14008 md: *const EVP_MD,
14009 ) -> ::core::ffi::c_int;
14010}
14011unsafe extern "C" {
14012 pub fn EVP_PKEY_CTX_get_signature_md(
14013 ctx: *mut EVP_PKEY_CTX,
14014 out_md: *mut *const EVP_MD,
14015 ) -> ::core::ffi::c_int;
14016}
14017unsafe extern "C" {
14018 pub fn EVP_PKEY_CTX_set1_signature_context_string(
14019 ctx: *mut EVP_PKEY_CTX,
14020 context: *const u8,
14021 context_len: usize,
14022 ) -> ::core::ffi::c_int;
14023}
14024unsafe extern "C" {
14025 pub fn EVP_RSA_gen(bits: ::core::ffi::c_uint) -> *mut EVP_PKEY;
14026}
14027unsafe extern "C" {
14028 pub fn EVP_PKEY_from_rsa_public_key(
14029 alg: *const EVP_PKEY_ALG,
14030 in_: *const u8,
14031 len: usize,
14032 ) -> *mut EVP_PKEY;
14033}
14034unsafe extern "C" {
14035 pub fn EVP_PKEY_from_rsa_private_key(
14036 alg: *const EVP_PKEY_ALG,
14037 in_: *const u8,
14038 len: usize,
14039 ) -> *mut EVP_PKEY;
14040}
14041unsafe extern "C" {
14042 pub fn EVP_PKEY_marshal_rsa_public_key(
14043 cbb: *mut CBB,
14044 key: *const EVP_PKEY,
14045 ) -> ::core::ffi::c_int;
14046}
14047unsafe extern "C" {
14048 pub fn EVP_PKEY_marshal_rsa_private_key(
14049 cbb: *mut CBB,
14050 key: *const EVP_PKEY,
14051 ) -> ::core::ffi::c_int;
14052}
14053unsafe extern "C" {
14054 pub fn EVP_PKEY_CTX_set_rsa_padding(
14055 ctx: *mut EVP_PKEY_CTX,
14056 padding: ::core::ffi::c_int,
14057 ) -> ::core::ffi::c_int;
14058}
14059unsafe extern "C" {
14060 pub fn EVP_PKEY_CTX_get_rsa_padding(
14061 ctx: *mut EVP_PKEY_CTX,
14062 out_padding: *mut ::core::ffi::c_int,
14063 ) -> ::core::ffi::c_int;
14064}
14065unsafe extern "C" {
14066 pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
14067 ctx: *mut EVP_PKEY_CTX,
14068 salt_len: ::core::ffi::c_int,
14069 ) -> ::core::ffi::c_int;
14070}
14071unsafe extern "C" {
14072 pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
14073 ctx: *mut EVP_PKEY_CTX,
14074 out_salt_len: *mut ::core::ffi::c_int,
14075 ) -> ::core::ffi::c_int;
14076}
14077unsafe extern "C" {
14078 pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
14079 ctx: *mut EVP_PKEY_CTX,
14080 bits: ::core::ffi::c_int,
14081 ) -> ::core::ffi::c_int;
14082}
14083unsafe extern "C" {
14084 pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
14085 ctx: *mut EVP_PKEY_CTX,
14086 e: *mut BIGNUM,
14087 ) -> ::core::ffi::c_int;
14088}
14089unsafe extern "C" {
14090 pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
14091 ctx: *mut EVP_PKEY_CTX,
14092 md: *const EVP_MD,
14093 ) -> ::core::ffi::c_int;
14094}
14095unsafe extern "C" {
14096 pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
14097 ctx: *mut EVP_PKEY_CTX,
14098 out_md: *mut *const EVP_MD,
14099 ) -> ::core::ffi::c_int;
14100}
14101unsafe extern "C" {
14102 pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
14103 ctx: *mut EVP_PKEY_CTX,
14104 md: *const EVP_MD,
14105 ) -> ::core::ffi::c_int;
14106}
14107unsafe extern "C" {
14108 pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
14109 ctx: *mut EVP_PKEY_CTX,
14110 out_md: *mut *const EVP_MD,
14111 ) -> ::core::ffi::c_int;
14112}
14113unsafe extern "C" {
14114 pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
14115 ctx: *mut EVP_PKEY_CTX,
14116 label: *mut u8,
14117 label_len: usize,
14118 ) -> ::core::ffi::c_int;
14119}
14120unsafe extern "C" {
14121 pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
14122 ctx: *mut EVP_PKEY_CTX,
14123 out_label: *mut *const u8,
14124 ) -> ::core::ffi::c_int;
14125}
14126unsafe extern "C" {
14127 pub fn EVP_PKEY_from_ec_uncompressed_point(
14128 alg: *const EVP_PKEY_ALG,
14129 in_: *const u8,
14130 len: usize,
14131 ) -> *mut EVP_PKEY;
14132}
14133unsafe extern "C" {
14134 pub fn EVP_PKEY_from_ec_compressed_point(
14135 alg: *const EVP_PKEY_ALG,
14136 in_: *const u8,
14137 len: usize,
14138 ) -> *mut EVP_PKEY;
14139}
14140unsafe extern "C" {
14141 pub fn EVP_PKEY_marshal_ec_uncompressed_point(
14142 cbb: *mut CBB,
14143 key: *const EVP_PKEY,
14144 ) -> ::core::ffi::c_int;
14145}
14146unsafe extern "C" {
14147 pub fn EVP_PKEY_marshal_ec_compressed_point(
14148 cbb: *mut CBB,
14149 key: *const EVP_PKEY,
14150 ) -> ::core::ffi::c_int;
14151}
14152unsafe extern "C" {
14153 pub fn EVP_PKEY_from_ec_private_scalar(
14154 alg: *const EVP_PKEY_ALG,
14155 in_: *const u8,
14156 len: usize,
14157 ) -> *mut EVP_PKEY;
14158}
14159unsafe extern "C" {
14160 pub fn EVP_PKEY_marshal_ec_private_scalar(
14161 cbb: *mut CBB,
14162 key: *const EVP_PKEY,
14163 ) -> ::core::ffi::c_int;
14164}
14165unsafe extern "C" {
14166 pub fn EVP_PKEY_get_ec_curve_nid(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14167}
14168unsafe extern "C" {
14169 pub fn EVP_PKEY_get_ec_point_conv_form(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14170}
14171unsafe extern "C" {
14172 pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
14173 ctx: *mut EVP_PKEY_CTX,
14174 nid: ::core::ffi::c_int,
14175 ) -> ::core::ffi::c_int;
14176}
14177unsafe extern "C" {
14178 pub fn EVP_PKEY_CTX_set_dh_pad(
14179 ctx: *mut EVP_PKEY_CTX,
14180 pad: ::core::ffi::c_int,
14181 ) -> ::core::ffi::c_int;
14182}
14183unsafe extern "C" {
14184 pub fn EVP_kem_ml_kem_768() -> *const EVP_KEM;
14185}
14186unsafe extern "C" {
14187 pub fn EVP_kem_ml_kem_1024() -> *const EVP_KEM;
14188}
14189unsafe extern "C" {
14190 pub fn EVP_kem_xwing() -> *const EVP_KEM;
14191}
14192unsafe extern "C" {
14193 pub fn EVP_KEM_ciphertext_len(kem: *const EVP_KEM) -> usize;
14194}
14195unsafe extern "C" {
14196 pub fn EVP_KEM_secret_len(kem: *const EVP_KEM) -> usize;
14197}
14198unsafe extern "C" {
14199 pub fn EVP_KEM_encap(
14200 kem: *const EVP_KEM,
14201 out_ciphertext: *mut u8,
14202 ciphertext_len: usize,
14203 out_secret: *mut u8,
14204 secret_len: usize,
14205 peer_key: *const EVP_PKEY,
14206 ) -> ::core::ffi::c_int;
14207}
14208unsafe extern "C" {
14209 pub fn EVP_KEM_decap(
14210 kem: *const EVP_KEM,
14211 out_secret: *mut u8,
14212 secret_len: usize,
14213 ciphertext: *const u8,
14214 ciphertext_len: usize,
14215 key: *const EVP_PKEY,
14216 ) -> ::core::ffi::c_int;
14217}
14218unsafe extern "C" {
14219 pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::core::ffi::c_void;
14220}
14221unsafe extern "C" {
14222 pub fn OpenSSL_add_all_algorithms();
14223}
14224unsafe extern "C" {
14225 pub fn OPENSSL_add_all_algorithms_conf();
14226}
14227unsafe extern "C" {
14228 pub fn OpenSSL_add_all_ciphers();
14229}
14230unsafe extern "C" {
14231 pub fn OpenSSL_add_all_digests();
14232}
14233unsafe extern "C" {
14234 pub fn EVP_cleanup();
14235}
14236unsafe extern "C" {
14237 pub fn EVP_default_properties_is_fips_enabled(libctx: *mut OSSL_LIB_CTX) -> ::core::ffi::c_int;
14238}
14239unsafe extern "C" {
14240 pub fn EVP_CIPHER_do_all_sorted(
14241 callback: ::core::option::Option<
14242 unsafe extern "C" fn(
14243 cipher: *const EVP_CIPHER,
14244 name: *const ::core::ffi::c_char,
14245 unused: *const ::core::ffi::c_char,
14246 arg: *mut ::core::ffi::c_void,
14247 ),
14248 >,
14249 arg: *mut ::core::ffi::c_void,
14250 );
14251}
14252unsafe extern "C" {
14253 pub fn EVP_MD_do_all_sorted(
14254 callback: ::core::option::Option<
14255 unsafe extern "C" fn(
14256 md: *const EVP_MD,
14257 name: *const ::core::ffi::c_char,
14258 unused: *const ::core::ffi::c_char,
14259 arg: *mut ::core::ffi::c_void,
14260 ),
14261 >,
14262 arg: *mut ::core::ffi::c_void,
14263 );
14264}
14265unsafe extern "C" {
14266 pub fn EVP_MD_do_all(
14267 callback: ::core::option::Option<
14268 unsafe extern "C" fn(
14269 md: *const EVP_MD,
14270 name: *const ::core::ffi::c_char,
14271 unused: *const ::core::ffi::c_char,
14272 arg: *mut ::core::ffi::c_void,
14273 ),
14274 >,
14275 arg: *mut ::core::ffi::c_void,
14276 );
14277}
14278unsafe extern "C" {
14279 pub fn EVP_MD_do_all_provided(
14280 libctx: *mut OSSL_LIB_CTX,
14281 callback: ::core::option::Option<
14282 unsafe extern "C" fn(md: *mut EVP_MD, arg: *mut ::core::ffi::c_void),
14283 >,
14284 arg: *mut ::core::ffi::c_void,
14285 );
14286}
14287unsafe extern "C" {
14288 pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14289}
14290unsafe extern "C" {
14291 pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14292}
14293unsafe extern "C" {
14294 pub fn d2i_PrivateKey(
14295 type_: ::core::ffi::c_int,
14296 out: *mut *mut EVP_PKEY,
14297 inp: *mut *const u8,
14298 len: ::core::ffi::c_long,
14299 ) -> *mut EVP_PKEY;
14300}
14301unsafe extern "C" {
14302 pub fn d2i_AutoPrivateKey(
14303 out: *mut *mut EVP_PKEY,
14304 inp: *mut *const u8,
14305 len: ::core::ffi::c_long,
14306 ) -> *mut EVP_PKEY;
14307}
14308unsafe extern "C" {
14309 pub fn d2i_PublicKey(
14310 type_: ::core::ffi::c_int,
14311 out: *mut *mut EVP_PKEY,
14312 inp: *mut *const u8,
14313 len: ::core::ffi::c_long,
14314 ) -> *mut EVP_PKEY;
14315}
14316unsafe extern "C" {
14317 pub fn EVP_PKEY_CTX_set_ec_param_enc(
14318 ctx: *mut EVP_PKEY_CTX,
14319 encoding: ::core::ffi::c_int,
14320 ) -> ::core::ffi::c_int;
14321}
14322unsafe extern "C" {
14323 pub fn EVP_PKEY_set_type(pkey: *mut EVP_PKEY, type_: ::core::ffi::c_int) -> ::core::ffi::c_int;
14324}
14325unsafe extern "C" {
14326 pub fn EVP_PKEY_set1_tls_encodedpoint(
14327 pkey: *mut EVP_PKEY,
14328 in_: *const u8,
14329 len: usize,
14330 ) -> ::core::ffi::c_int;
14331}
14332unsafe extern "C" {
14333 pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
14334}
14335unsafe extern "C" {
14336 pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14337}
14338unsafe extern "C" {
14339 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
14340 ctx: *mut EVP_PKEY_CTX,
14341 md: *const EVP_MD,
14342 ) -> ::core::ffi::c_int;
14343}
14344unsafe extern "C" {
14345 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
14346 ctx: *mut EVP_PKEY_CTX,
14347 salt_len: ::core::ffi::c_int,
14348 ) -> ::core::ffi::c_int;
14349}
14350unsafe extern "C" {
14351 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
14352 ctx: *mut EVP_PKEY_CTX,
14353 md: *const EVP_MD,
14354 ) -> ::core::ffi::c_int;
14355}
14356unsafe extern "C" {
14357 pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14358}
14359unsafe extern "C" {
14360 pub fn d2i_PUBKEY(
14361 out: *mut *mut EVP_PKEY,
14362 inp: *mut *const u8,
14363 len: ::core::ffi::c_long,
14364 ) -> *mut EVP_PKEY;
14365}
14366unsafe extern "C" {
14367 pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14368}
14369unsafe extern "C" {
14370 pub fn d2i_RSA_PUBKEY(
14371 out: *mut *mut RSA,
14372 inp: *mut *const u8,
14373 len: ::core::ffi::c_long,
14374 ) -> *mut RSA;
14375}
14376unsafe extern "C" {
14377 pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14378}
14379unsafe extern "C" {
14380 pub fn d2i_DSA_PUBKEY(
14381 out: *mut *mut DSA,
14382 inp: *mut *const u8,
14383 len: ::core::ffi::c_long,
14384 ) -> *mut DSA;
14385}
14386unsafe extern "C" {
14387 pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14388}
14389unsafe extern "C" {
14390 pub fn d2i_EC_PUBKEY(
14391 out: *mut *mut EC_KEY,
14392 inp: *mut *const u8,
14393 len: ::core::ffi::c_long,
14394 ) -> *mut EC_KEY;
14395}
14396unsafe extern "C" {
14397 pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
14398 ctx: *mut EVP_PKEY_CTX,
14399 nbits: ::core::ffi::c_int,
14400 ) -> ::core::ffi::c_int;
14401}
14402unsafe extern "C" {
14403 pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
14404 ctx: *mut EVP_PKEY_CTX,
14405 qbits: ::core::ffi::c_int,
14406 ) -> ::core::ffi::c_int;
14407}
14408unsafe extern "C" {
14409 pub fn EVP_PKEY_assign(
14410 pkey: *mut EVP_PKEY,
14411 type_: ::core::ffi::c_int,
14412 key: *mut ::core::ffi::c_void,
14413 ) -> ::core::ffi::c_int;
14414}
14415unsafe extern "C" {
14416 pub fn EVP_PKEY_type(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
14417}
14418unsafe extern "C" {
14419 pub fn EVP_PKEY_new_raw_private_key(
14420 type_: ::core::ffi::c_int,
14421 unused: *mut ENGINE,
14422 in_: *const u8,
14423 len: usize,
14424 ) -> *mut EVP_PKEY;
14425}
14426unsafe extern "C" {
14427 pub fn EVP_PKEY_new_raw_public_key(
14428 type_: ::core::ffi::c_int,
14429 unused: *mut ENGINE,
14430 in_: *const u8,
14431 len: usize,
14432 ) -> *mut EVP_PKEY;
14433}
14434unsafe extern "C" {
14435 pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14436}
14437unsafe extern "C" {
14438 pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14439}
14440unsafe extern "C" {
14441 pub fn HKDF(
14442 out_key: *mut u8,
14443 out_len: usize,
14444 digest: *const EVP_MD,
14445 secret: *const u8,
14446 secret_len: usize,
14447 salt: *const u8,
14448 salt_len: usize,
14449 info: *const u8,
14450 info_len: usize,
14451 ) -> ::core::ffi::c_int;
14452}
14453unsafe extern "C" {
14454 pub fn HKDF_extract(
14455 out_key: *mut u8,
14456 out_len: *mut usize,
14457 digest: *const EVP_MD,
14458 secret: *const u8,
14459 secret_len: usize,
14460 salt: *const u8,
14461 salt_len: usize,
14462 ) -> ::core::ffi::c_int;
14463}
14464unsafe extern "C" {
14465 pub fn HKDF_expand(
14466 out_key: *mut u8,
14467 out_len: usize,
14468 digest: *const EVP_MD,
14469 prk: *const u8,
14470 prk_len: usize,
14471 info: *const u8,
14472 info_len: usize,
14473 ) -> ::core::ffi::c_int;
14474}
14475unsafe extern "C" {
14476 pub fn HMAC(
14477 evp_md: *const EVP_MD,
14478 key: *const ::core::ffi::c_void,
14479 key_len: usize,
14480 data: *const u8,
14481 data_len: usize,
14482 out: *mut u8,
14483 out_len: *mut ::core::ffi::c_uint,
14484 ) -> *mut u8;
14485}
14486unsafe extern "C" {
14487 pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
14488}
14489unsafe extern "C" {
14490 pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
14491}
14492unsafe extern "C" {
14493 pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
14494}
14495unsafe extern "C" {
14496 pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
14497}
14498unsafe extern "C" {
14499 pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
14500}
14501unsafe extern "C" {
14502 pub fn HMAC_Init_ex(
14503 ctx: *mut HMAC_CTX,
14504 key: *const ::core::ffi::c_void,
14505 key_len: usize,
14506 md: *const EVP_MD,
14507 impl_: *mut ENGINE,
14508 ) -> ::core::ffi::c_int;
14509}
14510unsafe extern "C" {
14511 pub fn HMAC_Update(ctx: *mut HMAC_CTX, data: *const u8, data_len: usize) -> ::core::ffi::c_int;
14512}
14513unsafe extern "C" {
14514 pub fn HMAC_Final(
14515 ctx: *mut HMAC_CTX,
14516 out: *mut u8,
14517 out_len: *mut ::core::ffi::c_uint,
14518 ) -> ::core::ffi::c_int;
14519}
14520unsafe extern "C" {
14521 pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
14522}
14523unsafe extern "C" {
14524 pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
14525}
14526unsafe extern "C" {
14527 pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14528}
14529unsafe extern "C" {
14530 pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
14531}
14532unsafe extern "C" {
14533 pub fn HMAC_Init(
14534 ctx: *mut HMAC_CTX,
14535 key: *const ::core::ffi::c_void,
14536 key_len: ::core::ffi::c_int,
14537 md: *const EVP_MD,
14538 ) -> ::core::ffi::c_int;
14539}
14540unsafe extern "C" {
14541 pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14542}
14543#[repr(C)]
14544#[derive(Copy, Clone)]
14545pub struct hmac_ctx_st {
14546 pub md: *const EVP_MD,
14547 pub md_ctx: EVP_MD_CTX,
14548 pub i_ctx: EVP_MD_CTX,
14549 pub o_ctx: EVP_MD_CTX,
14550}
14551unsafe extern "C" {
14552 pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
14553}
14554unsafe extern "C" {
14555 pub fn EVP_hpke_p256_hkdf_sha256() -> *const EVP_HPKE_KEM;
14556}
14557unsafe extern "C" {
14558 pub fn EVP_hpke_xwing() -> *const EVP_HPKE_KEM;
14559}
14560unsafe extern "C" {
14561 pub fn EVP_hpke_mlkem768() -> *const EVP_HPKE_KEM;
14562}
14563unsafe extern "C" {
14564 pub fn EVP_hpke_mlkem1024() -> *const EVP_HPKE_KEM;
14565}
14566unsafe extern "C" {
14567 pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
14568}
14569unsafe extern "C" {
14570 pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14571}
14572unsafe extern "C" {
14573 pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14574}
14575unsafe extern "C" {
14576 pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
14577}
14578unsafe extern "C" {
14579 pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
14580}
14581unsafe extern "C" {
14582 pub fn EVP_hpke_hkdf_sha384() -> *const EVP_HPKE_KDF;
14583}
14584unsafe extern "C" {
14585 pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
14586}
14587unsafe extern "C" {
14588 pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
14589}
14590unsafe extern "C" {
14591 pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
14592}
14593unsafe extern "C" {
14594 pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
14595}
14596unsafe extern "C" {
14597 pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
14598}
14599unsafe extern "C" {
14600 pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
14601}
14602unsafe extern "C" {
14603 pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
14604}
14605unsafe extern "C" {
14606 pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
14607}
14608unsafe extern "C" {
14609 pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
14610}
14611unsafe extern "C" {
14612 pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
14613}
14614unsafe extern "C" {
14615 pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
14616}
14617unsafe extern "C" {
14618 pub fn EVP_HPKE_KEY_copy(
14619 dst: *mut EVP_HPKE_KEY,
14620 src: *const EVP_HPKE_KEY,
14621 ) -> ::core::ffi::c_int;
14622}
14623unsafe extern "C" {
14624 pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
14625}
14626unsafe extern "C" {
14627 pub fn EVP_HPKE_KEY_init(
14628 key: *mut EVP_HPKE_KEY,
14629 kem: *const EVP_HPKE_KEM,
14630 priv_key: *const u8,
14631 priv_key_len: usize,
14632 ) -> ::core::ffi::c_int;
14633}
14634unsafe extern "C" {
14635 pub fn EVP_HPKE_KEY_generate(
14636 key: *mut EVP_HPKE_KEY,
14637 kem: *const EVP_HPKE_KEM,
14638 ) -> ::core::ffi::c_int;
14639}
14640unsafe extern "C" {
14641 pub fn EVP_HPKE_KEY_derive(
14642 key: *mut EVP_HPKE_KEY,
14643 kem: *const EVP_HPKE_KEM,
14644 ikm: *const u8,
14645 ikm_len: usize,
14646 ) -> ::core::ffi::c_int;
14647}
14648unsafe extern "C" {
14649 pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
14650}
14651unsafe extern "C" {
14652 pub fn EVP_HPKE_KEY_public_key(
14653 key: *const EVP_HPKE_KEY,
14654 out: *mut u8,
14655 out_len: *mut usize,
14656 max_out: usize,
14657 ) -> ::core::ffi::c_int;
14658}
14659unsafe extern "C" {
14660 pub fn EVP_HPKE_KEY_private_key(
14661 key: *const EVP_HPKE_KEY,
14662 out: *mut u8,
14663 out_len: *mut usize,
14664 max_out: usize,
14665 ) -> ::core::ffi::c_int;
14666}
14667unsafe extern "C" {
14668 pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
14669}
14670unsafe extern "C" {
14671 pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
14672}
14673unsafe extern "C" {
14674 pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
14675}
14676unsafe extern "C" {
14677 pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
14678}
14679unsafe extern "C" {
14680 pub fn EVP_HPKE_CTX_setup_sender(
14681 ctx: *mut EVP_HPKE_CTX,
14682 out_enc: *mut u8,
14683 out_enc_len: *mut usize,
14684 max_enc: usize,
14685 kem: *const EVP_HPKE_KEM,
14686 kdf: *const EVP_HPKE_KDF,
14687 aead: *const EVP_HPKE_AEAD,
14688 peer_public_key: *const u8,
14689 peer_public_key_len: usize,
14690 info: *const u8,
14691 info_len: usize,
14692 ) -> ::core::ffi::c_int;
14693}
14694unsafe extern "C" {
14695 pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
14696 ctx: *mut EVP_HPKE_CTX,
14697 out_enc: *mut u8,
14698 out_enc_len: *mut usize,
14699 max_enc: usize,
14700 kem: *const EVP_HPKE_KEM,
14701 kdf: *const EVP_HPKE_KDF,
14702 aead: *const EVP_HPKE_AEAD,
14703 peer_public_key: *const u8,
14704 peer_public_key_len: usize,
14705 info: *const u8,
14706 info_len: usize,
14707 seed: *const u8,
14708 seed_len: usize,
14709 ) -> ::core::ffi::c_int;
14710}
14711unsafe extern "C" {
14712 pub fn EVP_HPKE_CTX_setup_recipient(
14713 ctx: *mut EVP_HPKE_CTX,
14714 key: *const EVP_HPKE_KEY,
14715 kdf: *const EVP_HPKE_KDF,
14716 aead: *const EVP_HPKE_AEAD,
14717 enc: *const u8,
14718 enc_len: usize,
14719 info: *const u8,
14720 info_len: usize,
14721 ) -> ::core::ffi::c_int;
14722}
14723unsafe extern "C" {
14724 pub fn EVP_HPKE_CTX_setup_auth_sender(
14725 ctx: *mut EVP_HPKE_CTX,
14726 out_enc: *mut u8,
14727 out_enc_len: *mut usize,
14728 max_enc: usize,
14729 key: *const EVP_HPKE_KEY,
14730 kdf: *const EVP_HPKE_KDF,
14731 aead: *const EVP_HPKE_AEAD,
14732 peer_public_key: *const u8,
14733 peer_public_key_len: usize,
14734 info: *const u8,
14735 info_len: usize,
14736 ) -> ::core::ffi::c_int;
14737}
14738unsafe extern "C" {
14739 pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
14740 ctx: *mut EVP_HPKE_CTX,
14741 out_enc: *mut u8,
14742 out_enc_len: *mut usize,
14743 max_enc: usize,
14744 key: *const EVP_HPKE_KEY,
14745 kdf: *const EVP_HPKE_KDF,
14746 aead: *const EVP_HPKE_AEAD,
14747 peer_public_key: *const u8,
14748 peer_public_key_len: usize,
14749 info: *const u8,
14750 info_len: usize,
14751 seed: *const u8,
14752 seed_len: usize,
14753 ) -> ::core::ffi::c_int;
14754}
14755unsafe extern "C" {
14756 pub fn EVP_HPKE_CTX_setup_auth_recipient(
14757 ctx: *mut EVP_HPKE_CTX,
14758 key: *const EVP_HPKE_KEY,
14759 kdf: *const EVP_HPKE_KDF,
14760 aead: *const EVP_HPKE_AEAD,
14761 enc: *const u8,
14762 enc_len: usize,
14763 info: *const u8,
14764 info_len: usize,
14765 peer_public_key: *const u8,
14766 peer_public_key_len: usize,
14767 ) -> ::core::ffi::c_int;
14768}
14769unsafe extern "C" {
14770 pub fn EVP_HPKE_CTX_open(
14771 ctx: *mut EVP_HPKE_CTX,
14772 out: *mut u8,
14773 out_len: *mut usize,
14774 max_out_len: usize,
14775 in_: *const u8,
14776 in_len: usize,
14777 ad: *const u8,
14778 ad_len: usize,
14779 ) -> ::core::ffi::c_int;
14780}
14781unsafe extern "C" {
14782 pub fn EVP_HPKE_CTX_seal(
14783 ctx: *mut EVP_HPKE_CTX,
14784 out: *mut u8,
14785 out_len: *mut usize,
14786 max_out_len: usize,
14787 in_: *const u8,
14788 in_len: usize,
14789 ad: *const u8,
14790 ad_len: usize,
14791 ) -> ::core::ffi::c_int;
14792}
14793unsafe extern "C" {
14794 pub fn EVP_HPKE_CTX_export(
14795 ctx: *const EVP_HPKE_CTX,
14796 out: *mut u8,
14797 secret_len: usize,
14798 context: *const u8,
14799 context_len: usize,
14800 ) -> ::core::ffi::c_int;
14801}
14802unsafe extern "C" {
14803 pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
14804}
14805unsafe extern "C" {
14806 pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
14807}
14808unsafe extern "C" {
14809 pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
14810}
14811unsafe extern "C" {
14812 pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
14813}
14814#[repr(C)]
14815#[derive(Copy, Clone)]
14816pub struct evp_hpke_ctx_st {
14817 pub kem: *const EVP_HPKE_KEM,
14818 pub aead: *const EVP_HPKE_AEAD,
14819 pub kdf: *const EVP_HPKE_KDF,
14820 pub aead_ctx: EVP_AEAD_CTX,
14821 pub base_nonce: [u8; 24usize],
14822 pub exporter_secret: [u8; 64usize],
14823 pub seq: u64,
14824 pub is_sender: ::core::ffi::c_int,
14825}
14826#[repr(C)]
14827#[derive(Debug, Copy, Clone)]
14828pub struct evp_hpke_key_st {
14829 pub kem: *const EVP_HPKE_KEM,
14830 pub private_key: [u8; 64usize],
14831 pub public_key: [u8; 1568usize],
14832}
14833#[repr(C)]
14834#[derive(Debug, Copy, Clone)]
14835pub struct HRSS_private_key {
14836 pub opaque: [u8; 1808usize],
14837}
14838#[repr(C)]
14839#[derive(Debug, Copy, Clone)]
14840pub struct HRSS_public_key {
14841 pub opaque: [u8; 1424usize],
14842}
14843unsafe extern "C" {
14844 pub fn HRSS_generate_key(
14845 out_pub: *mut HRSS_public_key,
14846 out_priv: *mut HRSS_private_key,
14847 input: *const u8,
14848 ) -> ::core::ffi::c_int;
14849}
14850unsafe extern "C" {
14851 pub fn HRSS_encap(
14852 out_ciphertext: *mut u8,
14853 out_shared_key: *mut u8,
14854 in_pub: *const HRSS_public_key,
14855 in_: *const u8,
14856 ) -> ::core::ffi::c_int;
14857}
14858unsafe extern "C" {
14859 pub fn HRSS_decap(
14860 out_shared_key: *mut u8,
14861 in_priv: *const HRSS_private_key,
14862 ciphertext: *const u8,
14863 ciphertext_len: usize,
14864 ) -> ::core::ffi::c_int;
14865}
14866unsafe extern "C" {
14867 pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
14868}
14869unsafe extern "C" {
14870 pub fn HRSS_parse_public_key(out: *mut HRSS_public_key, in_: *const u8) -> ::core::ffi::c_int;
14871}
14872unsafe extern "C" {
14873 pub fn EVP_PKEY_CTX_hkdf_mode(
14874 ctx: *mut EVP_PKEY_CTX,
14875 mode: ::core::ffi::c_int,
14876 ) -> ::core::ffi::c_int;
14877}
14878unsafe extern "C" {
14879 pub fn EVP_PKEY_CTX_set_hkdf_md(
14880 ctx: *mut EVP_PKEY_CTX,
14881 md: *const EVP_MD,
14882 ) -> ::core::ffi::c_int;
14883}
14884unsafe extern "C" {
14885 pub fn EVP_PKEY_CTX_set1_hkdf_key(
14886 ctx: *mut EVP_PKEY_CTX,
14887 key: *const u8,
14888 key_len: usize,
14889 ) -> ::core::ffi::c_int;
14890}
14891unsafe extern "C" {
14892 pub fn EVP_PKEY_CTX_set1_hkdf_salt(
14893 ctx: *mut EVP_PKEY_CTX,
14894 salt: *const u8,
14895 salt_len: usize,
14896 ) -> ::core::ffi::c_int;
14897}
14898unsafe extern "C" {
14899 pub fn EVP_PKEY_CTX_add1_hkdf_info(
14900 ctx: *mut EVP_PKEY_CTX,
14901 info: *const u8,
14902 info_len: usize,
14903 ) -> ::core::ffi::c_int;
14904}
14905unsafe extern "C" {
14906 pub fn MD4_Init(md4: *mut MD4_CTX) -> ::core::ffi::c_int;
14907}
14908unsafe extern "C" {
14909 pub fn MD4_Update(
14910 md4: *mut MD4_CTX,
14911 data: *const ::core::ffi::c_void,
14912 len: usize,
14913 ) -> ::core::ffi::c_int;
14914}
14915unsafe extern "C" {
14916 pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::core::ffi::c_int;
14917}
14918unsafe extern "C" {
14919 pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
14920}
14921unsafe extern "C" {
14922 pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
14923}
14924#[repr(C)]
14925#[derive(Debug, Copy, Clone)]
14926pub struct md4_state_st {
14927 pub h: [u32; 4usize],
14928 pub Nl: u32,
14929 pub Nh: u32,
14930 pub data: [u8; 64usize],
14931 pub num: ::core::ffi::c_uint,
14932}
14933unsafe extern "C" {
14934 pub fn MD5_Init(md5: *mut MD5_CTX) -> ::core::ffi::c_int;
14935}
14936unsafe extern "C" {
14937 pub fn MD5_Update(
14938 md5: *mut MD5_CTX,
14939 data: *const ::core::ffi::c_void,
14940 len: usize,
14941 ) -> ::core::ffi::c_int;
14942}
14943unsafe extern "C" {
14944 pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::core::ffi::c_int;
14945}
14946unsafe extern "C" {
14947 pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
14948}
14949unsafe extern "C" {
14950 pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
14951}
14952#[repr(C)]
14953#[derive(Debug, Copy, Clone)]
14954pub struct md5_state_st {
14955 pub h: [u32; 4usize],
14956 pub Nl: u32,
14957 pub Nh: u32,
14958 pub data: [u8; 64usize],
14959 pub num: ::core::ffi::c_uint,
14960}
14961#[repr(C)]
14962#[derive(Copy, Clone)]
14963pub struct MLDSA65_private_key {
14964 pub opaque: MLDSA65_private_key__bindgen_ty_1,
14965}
14966#[repr(C)]
14967#[derive(Copy, Clone)]
14968pub union MLDSA65_private_key__bindgen_ty_1 {
14969 pub bytes: [u8; 23680usize],
14970 pub alignment: u32,
14971}
14972#[repr(C)]
14973#[derive(Copy, Clone)]
14974pub struct MLDSA65_public_key {
14975 pub opaque: MLDSA65_public_key__bindgen_ty_1,
14976}
14977#[repr(C)]
14978#[derive(Copy, Clone)]
14979pub union MLDSA65_public_key__bindgen_ty_1 {
14980 pub bytes: [u8; 6240usize],
14981 pub alignment: u32,
14982}
14983#[repr(C)]
14984#[derive(Copy, Clone)]
14985pub struct MLDSA65_prehash {
14986 pub opaque: MLDSA65_prehash__bindgen_ty_1,
14987}
14988#[repr(C)]
14989#[derive(Copy, Clone)]
14990pub union MLDSA65_prehash__bindgen_ty_1 {
14991 pub bytes: [u8; 240usize],
14992 pub alignment: u64,
14993}
14994unsafe extern "C" {
14995 pub fn MLDSA65_generate_key(
14996 out_encoded_public_key: *mut u8,
14997 out_seed: *mut u8,
14998 out_private_key: *mut MLDSA65_private_key,
14999 ) -> ::core::ffi::c_int;
15000}
15001unsafe extern "C" {
15002 pub fn MLDSA65_private_key_from_seed(
15003 out_private_key: *mut MLDSA65_private_key,
15004 seed: *const u8,
15005 seed_len: usize,
15006 ) -> ::core::ffi::c_int;
15007}
15008unsafe extern "C" {
15009 pub fn MLDSA65_public_from_private(
15010 out_public_key: *mut MLDSA65_public_key,
15011 private_key: *const MLDSA65_private_key,
15012 ) -> ::core::ffi::c_int;
15013}
15014unsafe extern "C" {
15015 pub fn MLDSA65_sign(
15016 out_encoded_signature: *mut u8,
15017 private_key: *const MLDSA65_private_key,
15018 msg: *const u8,
15019 msg_len: usize,
15020 context: *const u8,
15021 context_len: usize,
15022 ) -> ::core::ffi::c_int;
15023}
15024unsafe extern "C" {
15025 pub fn MLDSA65_verify(
15026 public_key: *const MLDSA65_public_key,
15027 signature: *const u8,
15028 signature_len: usize,
15029 msg: *const u8,
15030 msg_len: usize,
15031 context: *const u8,
15032 context_len: usize,
15033 ) -> ::core::ffi::c_int;
15034}
15035unsafe extern "C" {
15036 pub fn MLDSA65_prehash_init(
15037 out_state: *mut MLDSA65_prehash,
15038 public_key: *const MLDSA65_public_key,
15039 context: *const u8,
15040 context_len: usize,
15041 ) -> ::core::ffi::c_int;
15042}
15043unsafe extern "C" {
15044 pub fn MLDSA65_prehash_update(
15045 inout_state: *mut MLDSA65_prehash,
15046 msg: *const u8,
15047 msg_len: usize,
15048 );
15049}
15050unsafe extern "C" {
15051 pub fn MLDSA65_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA65_prehash);
15052}
15053unsafe extern "C" {
15054 pub fn MLDSA65_sign_message_representative(
15055 out_encoded_signature: *mut u8,
15056 private_key: *const MLDSA65_private_key,
15057 msg_rep: *const u8,
15058 ) -> ::core::ffi::c_int;
15059}
15060unsafe extern "C" {
15061 pub fn MLDSA65_verify_message_representative(
15062 public_key: *const MLDSA65_public_key,
15063 signature: *const u8,
15064 signature_len: usize,
15065 msg_rep: *const u8,
15066 ) -> ::core::ffi::c_int;
15067}
15068unsafe extern "C" {
15069 pub fn MLDSA65_marshal_public_key(
15070 out: *mut CBB,
15071 public_key: *const MLDSA65_public_key,
15072 ) -> ::core::ffi::c_int;
15073}
15074unsafe extern "C" {
15075 pub fn MLDSA65_parse_public_key(
15076 public_key: *mut MLDSA65_public_key,
15077 in_: *mut CBS,
15078 ) -> ::core::ffi::c_int;
15079}
15080#[repr(C)]
15081#[derive(Copy, Clone)]
15082pub struct MLDSA87_private_key {
15083 pub opaque: MLDSA87_private_key__bindgen_ty_1,
15084}
15085#[repr(C)]
15086#[derive(Copy, Clone)]
15087pub union MLDSA87_private_key__bindgen_ty_1 {
15088 pub bytes: [u8; 31872usize],
15089 pub alignment: u32,
15090}
15091#[repr(C)]
15092#[derive(Copy, Clone)]
15093pub struct MLDSA87_public_key {
15094 pub opaque: MLDSA87_public_key__bindgen_ty_1,
15095}
15096#[repr(C)]
15097#[derive(Copy, Clone)]
15098pub union MLDSA87_public_key__bindgen_ty_1 {
15099 pub bytes: [u8; 8288usize],
15100 pub alignment: u32,
15101}
15102#[repr(C)]
15103#[derive(Copy, Clone)]
15104pub struct MLDSA87_prehash {
15105 pub opaque: MLDSA87_prehash__bindgen_ty_1,
15106}
15107#[repr(C)]
15108#[derive(Copy, Clone)]
15109pub union MLDSA87_prehash__bindgen_ty_1 {
15110 pub bytes: [u8; 240usize],
15111 pub alignment: u64,
15112}
15113unsafe extern "C" {
15114 pub fn MLDSA87_generate_key(
15115 out_encoded_public_key: *mut u8,
15116 out_seed: *mut u8,
15117 out_private_key: *mut MLDSA87_private_key,
15118 ) -> ::core::ffi::c_int;
15119}
15120unsafe extern "C" {
15121 pub fn MLDSA87_private_key_from_seed(
15122 out_private_key: *mut MLDSA87_private_key,
15123 seed: *const u8,
15124 seed_len: usize,
15125 ) -> ::core::ffi::c_int;
15126}
15127unsafe extern "C" {
15128 pub fn MLDSA87_public_from_private(
15129 out_public_key: *mut MLDSA87_public_key,
15130 private_key: *const MLDSA87_private_key,
15131 ) -> ::core::ffi::c_int;
15132}
15133unsafe extern "C" {
15134 pub fn MLDSA87_sign(
15135 out_encoded_signature: *mut u8,
15136 private_key: *const MLDSA87_private_key,
15137 msg: *const u8,
15138 msg_len: usize,
15139 context: *const u8,
15140 context_len: usize,
15141 ) -> ::core::ffi::c_int;
15142}
15143unsafe extern "C" {
15144 pub fn MLDSA87_verify(
15145 public_key: *const MLDSA87_public_key,
15146 signature: *const u8,
15147 signature_len: usize,
15148 msg: *const u8,
15149 msg_len: usize,
15150 context: *const u8,
15151 context_len: usize,
15152 ) -> ::core::ffi::c_int;
15153}
15154unsafe extern "C" {
15155 pub fn MLDSA87_prehash_init(
15156 out_state: *mut MLDSA87_prehash,
15157 public_key: *const MLDSA87_public_key,
15158 context: *const u8,
15159 context_len: usize,
15160 ) -> ::core::ffi::c_int;
15161}
15162unsafe extern "C" {
15163 pub fn MLDSA87_prehash_update(
15164 inout_state: *mut MLDSA87_prehash,
15165 msg: *const u8,
15166 msg_len: usize,
15167 );
15168}
15169unsafe extern "C" {
15170 pub fn MLDSA87_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA87_prehash);
15171}
15172unsafe extern "C" {
15173 pub fn MLDSA87_sign_message_representative(
15174 out_encoded_signature: *mut u8,
15175 private_key: *const MLDSA87_private_key,
15176 msg_rep: *const u8,
15177 ) -> ::core::ffi::c_int;
15178}
15179unsafe extern "C" {
15180 pub fn MLDSA87_verify_message_representative(
15181 public_key: *const MLDSA87_public_key,
15182 signature: *const u8,
15183 signature_len: usize,
15184 msg_rep: *const u8,
15185 ) -> ::core::ffi::c_int;
15186}
15187unsafe extern "C" {
15188 pub fn MLDSA87_marshal_public_key(
15189 out: *mut CBB,
15190 public_key: *const MLDSA87_public_key,
15191 ) -> ::core::ffi::c_int;
15192}
15193unsafe extern "C" {
15194 pub fn MLDSA87_parse_public_key(
15195 public_key: *mut MLDSA87_public_key,
15196 in_: *mut CBS,
15197 ) -> ::core::ffi::c_int;
15198}
15199#[repr(C)]
15200#[derive(Copy, Clone)]
15201pub struct MLDSA44_private_key {
15202 pub opaque: MLDSA44_private_key__bindgen_ty_1,
15203}
15204#[repr(C)]
15205#[derive(Copy, Clone)]
15206pub union MLDSA44_private_key__bindgen_ty_1 {
15207 pub bytes: [u8; 16512usize],
15208 pub alignment: u32,
15209}
15210#[repr(C)]
15211#[derive(Copy, Clone)]
15212pub struct MLDSA44_public_key {
15213 pub opaque: MLDSA44_public_key__bindgen_ty_1,
15214}
15215#[repr(C)]
15216#[derive(Copy, Clone)]
15217pub union MLDSA44_public_key__bindgen_ty_1 {
15218 pub bytes: [u8; 4192usize],
15219 pub alignment: u32,
15220}
15221#[repr(C)]
15222#[derive(Copy, Clone)]
15223pub struct MLDSA44_prehash {
15224 pub opaque: MLDSA44_prehash__bindgen_ty_1,
15225}
15226#[repr(C)]
15227#[derive(Copy, Clone)]
15228pub union MLDSA44_prehash__bindgen_ty_1 {
15229 pub bytes: [u8; 240usize],
15230 pub alignment: u64,
15231}
15232unsafe extern "C" {
15233 pub fn MLDSA44_generate_key(
15234 out_encoded_public_key: *mut u8,
15235 out_seed: *mut u8,
15236 out_private_key: *mut MLDSA44_private_key,
15237 ) -> ::core::ffi::c_int;
15238}
15239unsafe extern "C" {
15240 pub fn MLDSA44_private_key_from_seed(
15241 out_private_key: *mut MLDSA44_private_key,
15242 seed: *const u8,
15243 seed_len: usize,
15244 ) -> ::core::ffi::c_int;
15245}
15246unsafe extern "C" {
15247 pub fn MLDSA44_public_from_private(
15248 out_public_key: *mut MLDSA44_public_key,
15249 private_key: *const MLDSA44_private_key,
15250 ) -> ::core::ffi::c_int;
15251}
15252unsafe extern "C" {
15253 pub fn MLDSA44_sign(
15254 out_encoded_signature: *mut u8,
15255 private_key: *const MLDSA44_private_key,
15256 msg: *const u8,
15257 msg_len: usize,
15258 context: *const u8,
15259 context_len: usize,
15260 ) -> ::core::ffi::c_int;
15261}
15262unsafe extern "C" {
15263 pub fn MLDSA44_verify(
15264 public_key: *const MLDSA44_public_key,
15265 signature: *const u8,
15266 signature_len: usize,
15267 msg: *const u8,
15268 msg_len: usize,
15269 context: *const u8,
15270 context_len: usize,
15271 ) -> ::core::ffi::c_int;
15272}
15273unsafe extern "C" {
15274 pub fn MLDSA44_prehash_init(
15275 out_state: *mut MLDSA44_prehash,
15276 public_key: *const MLDSA44_public_key,
15277 context: *const u8,
15278 context_len: usize,
15279 ) -> ::core::ffi::c_int;
15280}
15281unsafe extern "C" {
15282 pub fn MLDSA44_prehash_update(
15283 inout_state: *mut MLDSA44_prehash,
15284 msg: *const u8,
15285 msg_len: usize,
15286 );
15287}
15288unsafe extern "C" {
15289 pub fn MLDSA44_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA44_prehash);
15290}
15291unsafe extern "C" {
15292 pub fn MLDSA44_sign_message_representative(
15293 out_encoded_signature: *mut u8,
15294 private_key: *const MLDSA44_private_key,
15295 msg_rep: *const u8,
15296 ) -> ::core::ffi::c_int;
15297}
15298unsafe extern "C" {
15299 pub fn MLDSA44_verify_message_representative(
15300 public_key: *const MLDSA44_public_key,
15301 signature: *const u8,
15302 signature_len: usize,
15303 msg_rep: *const u8,
15304 ) -> ::core::ffi::c_int;
15305}
15306unsafe extern "C" {
15307 pub fn MLDSA44_marshal_public_key(
15308 out: *mut CBB,
15309 public_key: *const MLDSA44_public_key,
15310 ) -> ::core::ffi::c_int;
15311}
15312unsafe extern "C" {
15313 pub fn MLDSA44_parse_public_key(
15314 public_key: *mut MLDSA44_public_key,
15315 in_: *mut CBS,
15316 ) -> ::core::ffi::c_int;
15317}
15318#[repr(C)]
15319#[derive(Copy, Clone)]
15320pub struct MLKEM768_public_key {
15321 pub opaque: MLKEM768_public_key__bindgen_ty_1,
15322}
15323#[repr(C)]
15324#[derive(Copy, Clone)]
15325pub union MLKEM768_public_key__bindgen_ty_1 {
15326 pub bytes: [u8; 6208usize],
15327 pub alignment: u16,
15328}
15329#[repr(C)]
15330#[derive(Copy, Clone)]
15331pub struct MLKEM768_private_key {
15332 pub opaque: MLKEM768_private_key__bindgen_ty_1,
15333}
15334#[repr(C)]
15335#[derive(Copy, Clone)]
15336pub union MLKEM768_private_key__bindgen_ty_1 {
15337 pub bytes: [u8; 7776usize],
15338 pub alignment: u16,
15339}
15340unsafe extern "C" {
15341 pub fn MLKEM768_generate_key(
15342 out_encoded_public_key: *mut u8,
15343 optional_out_seed: *mut u8,
15344 out_private_key: *mut MLKEM768_private_key,
15345 );
15346}
15347unsafe extern "C" {
15348 pub fn MLKEM768_private_key_from_seed(
15349 out_private_key: *mut MLKEM768_private_key,
15350 seed: *const u8,
15351 seed_len: usize,
15352 ) -> ::core::ffi::c_int;
15353}
15354unsafe extern "C" {
15355 pub fn MLKEM768_public_from_private(
15356 out_public_key: *mut MLKEM768_public_key,
15357 private_key: *const MLKEM768_private_key,
15358 );
15359}
15360unsafe extern "C" {
15361 pub fn MLKEM768_encap(
15362 out_ciphertext: *mut u8,
15363 out_shared_secret: *mut u8,
15364 public_key: *const MLKEM768_public_key,
15365 );
15366}
15367unsafe extern "C" {
15368 pub fn MLKEM768_decap(
15369 out_shared_secret: *mut u8,
15370 ciphertext: *const u8,
15371 ciphertext_len: usize,
15372 private_key: *const MLKEM768_private_key,
15373 ) -> ::core::ffi::c_int;
15374}
15375unsafe extern "C" {
15376 pub fn MLKEM768_marshal_public_key(
15377 out: *mut CBB,
15378 public_key: *const MLKEM768_public_key,
15379 ) -> ::core::ffi::c_int;
15380}
15381unsafe extern "C" {
15382 pub fn MLKEM768_parse_public_key(
15383 out_public_key: *mut MLKEM768_public_key,
15384 in_: *mut CBS,
15385 ) -> ::core::ffi::c_int;
15386}
15387#[repr(C)]
15388#[derive(Copy, Clone)]
15389pub struct MLKEM1024_public_key {
15390 pub opaque: MLKEM1024_public_key__bindgen_ty_1,
15391}
15392#[repr(C)]
15393#[derive(Copy, Clone)]
15394pub union MLKEM1024_public_key__bindgen_ty_1 {
15395 pub bytes: [u8; 10304usize],
15396 pub alignment: u16,
15397}
15398#[repr(C)]
15399#[derive(Copy, Clone)]
15400pub struct MLKEM1024_private_key {
15401 pub opaque: MLKEM1024_private_key__bindgen_ty_1,
15402}
15403#[repr(C)]
15404#[derive(Copy, Clone)]
15405pub union MLKEM1024_private_key__bindgen_ty_1 {
15406 pub bytes: [u8; 12384usize],
15407 pub alignment: u16,
15408}
15409unsafe extern "C" {
15410 pub fn MLKEM1024_generate_key(
15411 out_encoded_public_key: *mut u8,
15412 optional_out_seed: *mut u8,
15413 out_private_key: *mut MLKEM1024_private_key,
15414 );
15415}
15416unsafe extern "C" {
15417 pub fn MLKEM1024_private_key_from_seed(
15418 out_private_key: *mut MLKEM1024_private_key,
15419 seed: *const u8,
15420 seed_len: usize,
15421 ) -> ::core::ffi::c_int;
15422}
15423unsafe extern "C" {
15424 pub fn MLKEM1024_public_from_private(
15425 out_public_key: *mut MLKEM1024_public_key,
15426 private_key: *const MLKEM1024_private_key,
15427 );
15428}
15429unsafe extern "C" {
15430 pub fn MLKEM1024_encap(
15431 out_ciphertext: *mut u8,
15432 out_shared_secret: *mut u8,
15433 public_key: *const MLKEM1024_public_key,
15434 );
15435}
15436unsafe extern "C" {
15437 pub fn MLKEM1024_decap(
15438 out_shared_secret: *mut u8,
15439 ciphertext: *const u8,
15440 ciphertext_len: usize,
15441 private_key: *const MLKEM1024_private_key,
15442 ) -> ::core::ffi::c_int;
15443}
15444unsafe extern "C" {
15445 pub fn MLKEM1024_marshal_public_key(
15446 out: *mut CBB,
15447 public_key: *const MLKEM1024_public_key,
15448 ) -> ::core::ffi::c_int;
15449}
15450unsafe extern "C" {
15451 pub fn MLKEM1024_parse_public_key(
15452 out_public_key: *mut MLKEM1024_public_key,
15453 in_: *mut CBS,
15454 ) -> ::core::ffi::c_int;
15455}
15456unsafe extern "C" {
15457 pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15458}
15459unsafe extern "C" {
15460 pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15461}
15462unsafe extern "C" {
15463 pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15464}
15465unsafe extern "C" {
15466 pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15467}
15468unsafe extern "C" {
15469 pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15470}
15471unsafe extern "C" {
15472 pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::core::ffi::c_int;
15473}
15474unsafe extern "C" {
15475 pub fn OBJ_sn2nid(short_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15476}
15477unsafe extern "C" {
15478 pub fn OBJ_ln2nid(long_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15479}
15480unsafe extern "C" {
15481 pub fn OBJ_txt2nid(s: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15482}
15483unsafe extern "C" {
15484 pub fn OBJ_nid2obj(nid: ::core::ffi::c_int) -> *mut ASN1_OBJECT;
15485}
15486unsafe extern "C" {
15487 pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15488}
15489unsafe extern "C" {
15490 pub fn OBJ_nid2sn(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15491}
15492unsafe extern "C" {
15493 pub fn OBJ_nid2ln(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15494}
15495unsafe extern "C" {
15496 pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
15497}
15498unsafe extern "C" {
15499 pub fn OBJ_txt2obj(
15500 s: *const ::core::ffi::c_char,
15501 dont_search_names: ::core::ffi::c_int,
15502 ) -> *mut ASN1_OBJECT;
15503}
15504unsafe extern "C" {
15505 pub fn OBJ_obj2txt(
15506 out: *mut ::core::ffi::c_char,
15507 out_len: ::core::ffi::c_int,
15508 obj: *const ASN1_OBJECT,
15509 always_return_oid: ::core::ffi::c_int,
15510 ) -> ::core::ffi::c_int;
15511}
15512unsafe extern "C" {
15513 pub fn OBJ_create(
15514 oid: *const ::core::ffi::c_char,
15515 short_name: *const ::core::ffi::c_char,
15516 long_name: *const ::core::ffi::c_char,
15517 ) -> ::core::ffi::c_int;
15518}
15519unsafe extern "C" {
15520 pub fn OBJ_find_sigid_algs(
15521 sign_nid: ::core::ffi::c_int,
15522 out_digest_nid: *mut ::core::ffi::c_int,
15523 out_pkey_nid: *mut ::core::ffi::c_int,
15524 ) -> ::core::ffi::c_int;
15525}
15526unsafe extern "C" {
15527 pub fn OBJ_find_sigid_by_algs(
15528 out_sign_nid: *mut ::core::ffi::c_int,
15529 digest_nid: ::core::ffi::c_int,
15530 pkey_nid: ::core::ffi::c_int,
15531 ) -> ::core::ffi::c_int;
15532}
15533#[repr(C)]
15534#[derive(Debug, Copy, Clone)]
15535pub struct obj_name_st {
15536 pub type_: ::core::ffi::c_int,
15537 pub alias: ::core::ffi::c_int,
15538 pub name: *const ::core::ffi::c_char,
15539 pub data: *const ::core::ffi::c_char,
15540}
15541pub type OBJ_NAME = obj_name_st;
15542unsafe extern "C" {
15543 pub fn OBJ_NAME_do_all_sorted(
15544 type_: ::core::ffi::c_int,
15545 callback: ::core::option::Option<
15546 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15547 >,
15548 arg: *mut ::core::ffi::c_void,
15549 );
15550}
15551unsafe extern "C" {
15552 pub fn OBJ_NAME_do_all(
15553 type_: ::core::ffi::c_int,
15554 callback: ::core::option::Option<
15555 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15556 >,
15557 arg: *mut ::core::ffi::c_void,
15558 );
15559}
15560unsafe extern "C" {
15561 pub fn OBJ_cleanup();
15562}
15563#[repr(C)]
15564#[derive(Debug)]
15565pub struct stack_st_CRYPTO_BUFFER {
15566 _unused: [u8; 0],
15567}
15568#[repr(C)]
15569#[derive(Debug)]
15570pub struct stack_st_X509 {
15571 _unused: [u8; 0],
15572}
15573#[repr(C)]
15574#[derive(Debug)]
15575pub struct stack_st_X509_CRL {
15576 _unused: [u8; 0],
15577}
15578unsafe extern "C" {
15579 pub fn PKCS7_get_raw_certificates(
15580 out_certs: *mut stack_st_CRYPTO_BUFFER,
15581 cbs: *mut CBS,
15582 pool: *mut CRYPTO_BUFFER_POOL,
15583 ) -> ::core::ffi::c_int;
15584}
15585unsafe extern "C" {
15586 pub fn PKCS7_get_certificates(
15587 out_certs: *mut stack_st_X509,
15588 cbs: *mut CBS,
15589 ) -> ::core::ffi::c_int;
15590}
15591unsafe extern "C" {
15592 pub fn PKCS7_bundle_raw_certificates(
15593 out: *mut CBB,
15594 certs: *const stack_st_CRYPTO_BUFFER,
15595 ) -> ::core::ffi::c_int;
15596}
15597unsafe extern "C" {
15598 pub fn PKCS7_bundle_certificates(
15599 out: *mut CBB,
15600 certs: *const stack_st_X509,
15601 ) -> ::core::ffi::c_int;
15602}
15603unsafe extern "C" {
15604 pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS) -> ::core::ffi::c_int;
15605}
15606unsafe extern "C" {
15607 pub fn PKCS7_bundle_CRLs(out: *mut CBB, crls: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
15608}
15609unsafe extern "C" {
15610 pub fn PKCS7_get_PEM_certificates(
15611 out_certs: *mut stack_st_X509,
15612 pem_bio: *mut BIO,
15613 ) -> ::core::ffi::c_int;
15614}
15615unsafe extern "C" {
15616 pub fn PKCS7_get_PEM_CRLs(
15617 out_crls: *mut stack_st_X509_CRL,
15618 pem_bio: *mut BIO,
15619 ) -> ::core::ffi::c_int;
15620}
15621#[repr(C)]
15622#[derive(Debug, Copy, Clone)]
15623pub struct PKCS7_SIGNED {
15624 pub cert: *mut stack_st_X509,
15625 pub crl: *mut stack_st_X509_CRL,
15626}
15627#[repr(C)]
15628#[derive(Debug, Copy, Clone)]
15629pub struct PKCS7_SIGN_ENVELOPE {
15630 pub cert: *mut stack_st_X509,
15631 pub crl: *mut stack_st_X509_CRL,
15632}
15633pub type PKCS7_ENVELOPE = ::core::ffi::c_void;
15634pub type PKCS7_DIGEST = ::core::ffi::c_void;
15635pub type PKCS7_ENCRYPT = ::core::ffi::c_void;
15636pub type PKCS7_SIGNER_INFO = ::core::ffi::c_void;
15637#[repr(C)]
15638#[derive(Copy, Clone)]
15639pub struct PKCS7 {
15640 pub ber_bytes: *mut u8,
15641 pub ber_len: usize,
15642 pub type_: *mut ASN1_OBJECT,
15643 pub d: PKCS7__bindgen_ty_1,
15644}
15645#[repr(C)]
15646#[derive(Copy, Clone)]
15647pub union PKCS7__bindgen_ty_1 {
15648 pub ptr: *mut ::core::ffi::c_char,
15649 pub data: *mut ASN1_OCTET_STRING,
15650 pub sign: *mut PKCS7_SIGNED,
15651 pub enveloped: *mut PKCS7_ENVELOPE,
15652 pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
15653 pub digest: *mut PKCS7_DIGEST,
15654 pub encrypted: *mut PKCS7_ENCRYPT,
15655 pub other: *mut ASN1_TYPE,
15656}
15657unsafe extern "C" {
15658 pub fn d2i_PKCS7(out: *mut *mut PKCS7, inp: *mut *const u8, len: usize) -> *mut PKCS7;
15659}
15660unsafe extern "C" {
15661 pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
15662}
15663unsafe extern "C" {
15664 pub fn i2d_PKCS7(p7: *const PKCS7, out: *mut *mut u8) -> ::core::ffi::c_int;
15665}
15666unsafe extern "C" {
15667 pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::core::ffi::c_int;
15668}
15669unsafe extern "C" {
15670 pub fn PKCS7_free(p7: *mut PKCS7);
15671}
15672unsafe extern "C" {
15673 pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::core::ffi::c_int;
15674}
15675unsafe extern "C" {
15676 pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::core::ffi::c_int;
15677}
15678unsafe extern "C" {
15679 pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::core::ffi::c_int;
15680}
15681unsafe extern "C" {
15682 pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15683}
15684unsafe extern "C" {
15685 pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::core::ffi::c_int;
15686}
15687unsafe extern "C" {
15688 pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15689}
15690unsafe extern "C" {
15691 pub fn PKCS7_sign(
15692 sign_cert: *mut X509,
15693 pkey: *mut EVP_PKEY,
15694 certs: *mut stack_st_X509,
15695 data: *mut BIO,
15696 flags: ::core::ffi::c_int,
15697 ) -> *mut PKCS7;
15698}
15699pub type sk_CRYPTO_BUFFER_free_func =
15700 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
15701pub type sk_CRYPTO_BUFFER_copy_func =
15702 ::core::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
15703pub type sk_CRYPTO_BUFFER_cmp_func = ::core::option::Option<
15704 unsafe extern "C" fn(
15705 arg1: *const *const CRYPTO_BUFFER,
15706 arg2: *const *const CRYPTO_BUFFER,
15707 ) -> ::core::ffi::c_int,
15708>;
15709pub type sk_CRYPTO_BUFFER_delete_if_func = ::core::option::Option<
15710 unsafe extern "C" fn(
15711 arg1: *mut CRYPTO_BUFFER,
15712 arg2: *mut ::core::ffi::c_void,
15713 ) -> ::core::ffi::c_int,
15714>;
15715unsafe extern "C" {
15716 #[link_name = "sk_CRYPTO_BUFFER_call_free_func__extern"]
15717 pub fn sk_CRYPTO_BUFFER_call_free_func(
15718 free_func: OPENSSL_sk_free_func,
15719 ptr: *mut ::core::ffi::c_void,
15720 );
15721}
15722unsafe extern "C" {
15723 #[link_name = "sk_CRYPTO_BUFFER_call_copy_func__extern"]
15724 pub fn sk_CRYPTO_BUFFER_call_copy_func(
15725 copy_func: OPENSSL_sk_copy_func,
15726 ptr: *const ::core::ffi::c_void,
15727 ) -> *mut ::core::ffi::c_void;
15728}
15729unsafe extern "C" {
15730 #[link_name = "sk_CRYPTO_BUFFER_call_cmp_func__extern"]
15731 pub fn sk_CRYPTO_BUFFER_call_cmp_func(
15732 cmp_func: OPENSSL_sk_cmp_func,
15733 a: *const ::core::ffi::c_void,
15734 b: *const ::core::ffi::c_void,
15735 ) -> ::core::ffi::c_int;
15736}
15737unsafe extern "C" {
15738 #[link_name = "sk_CRYPTO_BUFFER_call_delete_if_func__extern"]
15739 pub fn sk_CRYPTO_BUFFER_call_delete_if_func(
15740 func: OPENSSL_sk_delete_if_func,
15741 obj: *mut ::core::ffi::c_void,
15742 data: *mut ::core::ffi::c_void,
15743 ) -> ::core::ffi::c_int;
15744}
15745unsafe extern "C" {
15746 #[link_name = "sk_CRYPTO_BUFFER_new__extern"]
15747 pub fn sk_CRYPTO_BUFFER_new(comp: sk_CRYPTO_BUFFER_cmp_func) -> *mut stack_st_CRYPTO_BUFFER;
15748}
15749unsafe extern "C" {
15750 #[link_name = "sk_CRYPTO_BUFFER_new_null__extern"]
15751 pub fn sk_CRYPTO_BUFFER_new_null() -> *mut stack_st_CRYPTO_BUFFER;
15752}
15753unsafe extern "C" {
15754 #[link_name = "sk_CRYPTO_BUFFER_num__extern"]
15755 pub fn sk_CRYPTO_BUFFER_num(sk: *const stack_st_CRYPTO_BUFFER) -> usize;
15756}
15757unsafe extern "C" {
15758 #[link_name = "sk_CRYPTO_BUFFER_zero__extern"]
15759 pub fn sk_CRYPTO_BUFFER_zero(sk: *mut stack_st_CRYPTO_BUFFER);
15760}
15761unsafe extern "C" {
15762 #[link_name = "sk_CRYPTO_BUFFER_value__extern"]
15763 pub fn sk_CRYPTO_BUFFER_value(
15764 sk: *const stack_st_CRYPTO_BUFFER,
15765 i: usize,
15766 ) -> *mut CRYPTO_BUFFER;
15767}
15768unsafe extern "C" {
15769 #[link_name = "sk_CRYPTO_BUFFER_set__extern"]
15770 pub fn sk_CRYPTO_BUFFER_set(
15771 sk: *mut stack_st_CRYPTO_BUFFER,
15772 i: usize,
15773 p: *mut CRYPTO_BUFFER,
15774 ) -> *mut CRYPTO_BUFFER;
15775}
15776unsafe extern "C" {
15777 #[link_name = "sk_CRYPTO_BUFFER_free__extern"]
15778 pub fn sk_CRYPTO_BUFFER_free(sk: *mut stack_st_CRYPTO_BUFFER);
15779}
15780unsafe extern "C" {
15781 #[link_name = "sk_CRYPTO_BUFFER_pop_free__extern"]
15782 pub fn sk_CRYPTO_BUFFER_pop_free(
15783 sk: *mut stack_st_CRYPTO_BUFFER,
15784 free_func: sk_CRYPTO_BUFFER_free_func,
15785 );
15786}
15787unsafe extern "C" {
15788 #[link_name = "sk_CRYPTO_BUFFER_insert__extern"]
15789 pub fn sk_CRYPTO_BUFFER_insert(
15790 sk: *mut stack_st_CRYPTO_BUFFER,
15791 p: *mut CRYPTO_BUFFER,
15792 where_: usize,
15793 ) -> usize;
15794}
15795unsafe extern "C" {
15796 #[link_name = "sk_CRYPTO_BUFFER_delete__extern"]
15797 pub fn sk_CRYPTO_BUFFER_delete(
15798 sk: *mut stack_st_CRYPTO_BUFFER,
15799 where_: usize,
15800 ) -> *mut CRYPTO_BUFFER;
15801}
15802unsafe extern "C" {
15803 #[link_name = "sk_CRYPTO_BUFFER_delete_ptr__extern"]
15804 pub fn sk_CRYPTO_BUFFER_delete_ptr(
15805 sk: *mut stack_st_CRYPTO_BUFFER,
15806 p: *const CRYPTO_BUFFER,
15807 ) -> *mut CRYPTO_BUFFER;
15808}
15809unsafe extern "C" {
15810 #[link_name = "sk_CRYPTO_BUFFER_delete_if__extern"]
15811 pub fn sk_CRYPTO_BUFFER_delete_if(
15812 sk: *mut stack_st_CRYPTO_BUFFER,
15813 func: sk_CRYPTO_BUFFER_delete_if_func,
15814 data: *mut ::core::ffi::c_void,
15815 );
15816}
15817unsafe extern "C" {
15818 #[link_name = "sk_CRYPTO_BUFFER_find__extern"]
15819 pub fn sk_CRYPTO_BUFFER_find(
15820 sk: *const stack_st_CRYPTO_BUFFER,
15821 out_index: *mut usize,
15822 p: *const CRYPTO_BUFFER,
15823 ) -> ::core::ffi::c_int;
15824}
15825unsafe extern "C" {
15826 #[link_name = "sk_CRYPTO_BUFFER_shift__extern"]
15827 pub fn sk_CRYPTO_BUFFER_shift(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15828}
15829unsafe extern "C" {
15830 #[link_name = "sk_CRYPTO_BUFFER_push__extern"]
15831 pub fn sk_CRYPTO_BUFFER_push(sk: *mut stack_st_CRYPTO_BUFFER, p: *mut CRYPTO_BUFFER) -> usize;
15832}
15833unsafe extern "C" {
15834 #[link_name = "sk_CRYPTO_BUFFER_pop__extern"]
15835 pub fn sk_CRYPTO_BUFFER_pop(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15836}
15837unsafe extern "C" {
15838 #[link_name = "sk_CRYPTO_BUFFER_dup__extern"]
15839 pub fn sk_CRYPTO_BUFFER_dup(sk: *const stack_st_CRYPTO_BUFFER) -> *mut stack_st_CRYPTO_BUFFER;
15840}
15841unsafe extern "C" {
15842 #[link_name = "sk_CRYPTO_BUFFER_sort__extern"]
15843 pub fn sk_CRYPTO_BUFFER_sort(sk: *mut stack_st_CRYPTO_BUFFER);
15844}
15845unsafe extern "C" {
15846 #[link_name = "sk_CRYPTO_BUFFER_sort_and_dedup__extern"]
15847 pub fn sk_CRYPTO_BUFFER_sort_and_dedup(
15848 sk: *mut stack_st_CRYPTO_BUFFER,
15849 free_func: sk_CRYPTO_BUFFER_free_func,
15850 );
15851}
15852unsafe extern "C" {
15853 #[link_name = "sk_CRYPTO_BUFFER_is_sorted__extern"]
15854 pub fn sk_CRYPTO_BUFFER_is_sorted(sk: *const stack_st_CRYPTO_BUFFER) -> ::core::ffi::c_int;
15855}
15856unsafe extern "C" {
15857 #[link_name = "sk_CRYPTO_BUFFER_set_cmp_func__extern"]
15858 pub fn sk_CRYPTO_BUFFER_set_cmp_func(
15859 sk: *mut stack_st_CRYPTO_BUFFER,
15860 comp: sk_CRYPTO_BUFFER_cmp_func,
15861 ) -> sk_CRYPTO_BUFFER_cmp_func;
15862}
15863unsafe extern "C" {
15864 #[link_name = "sk_CRYPTO_BUFFER_deep_copy__extern"]
15865 pub fn sk_CRYPTO_BUFFER_deep_copy(
15866 sk: *const stack_st_CRYPTO_BUFFER,
15867 copy_func: sk_CRYPTO_BUFFER_copy_func,
15868 free_func: sk_CRYPTO_BUFFER_free_func,
15869 ) -> *mut stack_st_CRYPTO_BUFFER;
15870}
15871unsafe extern "C" {
15872 pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
15873}
15874unsafe extern "C" {
15875 pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
15876}
15877unsafe extern "C" {
15878 pub fn CRYPTO_BUFFER_POOL_up_ref(pool: *mut CRYPTO_BUFFER_POOL) -> ::core::ffi::c_int;
15879}
15880unsafe extern "C" {
15881 pub fn CRYPTO_BUFFER_new(
15882 data: *const u8,
15883 len: usize,
15884 pool: *mut CRYPTO_BUFFER_POOL,
15885 ) -> *mut CRYPTO_BUFFER;
15886}
15887unsafe extern "C" {
15888 pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
15889}
15890unsafe extern "C" {
15891 pub fn CRYPTO_BUFFER_new_from_CBS(
15892 cbs: *const CBS,
15893 pool: *mut CRYPTO_BUFFER_POOL,
15894 ) -> *mut CRYPTO_BUFFER;
15895}
15896unsafe extern "C" {
15897 pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
15898 data: *const u8,
15899 len: usize,
15900 pool: *mut CRYPTO_BUFFER_POOL,
15901 ) -> *mut CRYPTO_BUFFER;
15902}
15903unsafe extern "C" {
15904 pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
15905}
15906unsafe extern "C" {
15907 pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::core::ffi::c_int;
15908}
15909unsafe extern "C" {
15910 pub fn CRYPTO_BUFFER_dup_ref(buf: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15911}
15912unsafe extern "C" {
15913 pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
15914}
15915unsafe extern "C" {
15916 pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
15917}
15918unsafe extern "C" {
15919 pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
15920}
15921unsafe extern "C" {
15922 pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
15923}
15924unsafe extern "C" {
15925 pub fn RSA_new_private_key(
15926 n: *const BIGNUM,
15927 e: *const BIGNUM,
15928 d: *const BIGNUM,
15929 p: *const BIGNUM,
15930 q: *const BIGNUM,
15931 dmp1: *const BIGNUM,
15932 dmq1: *const BIGNUM,
15933 iqmp: *const BIGNUM,
15934 ) -> *mut RSA;
15935}
15936unsafe extern "C" {
15937 pub fn RSA_new() -> *mut RSA;
15938}
15939unsafe extern "C" {
15940 pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
15941}
15942unsafe extern "C" {
15943 pub fn RSA_free(rsa: *mut RSA);
15944}
15945unsafe extern "C" {
15946 pub fn RSA_up_ref(rsa: *mut RSA) -> ::core::ffi::c_int;
15947}
15948unsafe extern "C" {
15949 pub fn RSA_bits(rsa: *const RSA) -> ::core::ffi::c_uint;
15950}
15951unsafe extern "C" {
15952 pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
15953}
15954unsafe extern "C" {
15955 pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
15956}
15957unsafe extern "C" {
15958 pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
15959}
15960unsafe extern "C" {
15961 pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
15962}
15963unsafe extern "C" {
15964 pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
15965}
15966unsafe extern "C" {
15967 pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
15968}
15969unsafe extern "C" {
15970 pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
15971}
15972unsafe extern "C" {
15973 pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
15974}
15975unsafe extern "C" {
15976 pub fn RSA_get0_key(
15977 rsa: *const RSA,
15978 out_n: *mut *const BIGNUM,
15979 out_e: *mut *const BIGNUM,
15980 out_d: *mut *const BIGNUM,
15981 );
15982}
15983unsafe extern "C" {
15984 pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
15985}
15986unsafe extern "C" {
15987 pub fn RSA_get0_crt_params(
15988 rsa: *const RSA,
15989 out_dmp1: *mut *const BIGNUM,
15990 out_dmq1: *mut *const BIGNUM,
15991 out_iqmp: *mut *const BIGNUM,
15992 );
15993}
15994unsafe extern "C" {
15995 pub fn RSA_set0_key(
15996 rsa: *mut RSA,
15997 n: *mut BIGNUM,
15998 e: *mut BIGNUM,
15999 d: *mut BIGNUM,
16000 ) -> ::core::ffi::c_int;
16001}
16002unsafe extern "C" {
16003 pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM) -> ::core::ffi::c_int;
16004}
16005unsafe extern "C" {
16006 pub fn RSA_set0_crt_params(
16007 rsa: *mut RSA,
16008 dmp1: *mut BIGNUM,
16009 dmq1: *mut BIGNUM,
16010 iqmp: *mut BIGNUM,
16011 ) -> ::core::ffi::c_int;
16012}
16013unsafe extern "C" {
16014 pub fn RSA_generate_key_ex(
16015 rsa: *mut RSA,
16016 bits: ::core::ffi::c_int,
16017 e: *const BIGNUM,
16018 cb: *mut BN_GENCB,
16019 ) -> ::core::ffi::c_int;
16020}
16021unsafe extern "C" {
16022 pub fn RSA_generate_key_fips(
16023 rsa: *mut RSA,
16024 bits: ::core::ffi::c_int,
16025 cb: *mut BN_GENCB,
16026 ) -> ::core::ffi::c_int;
16027}
16028unsafe extern "C" {
16029 pub fn RSA_encrypt(
16030 rsa: *mut RSA,
16031 out_len: *mut usize,
16032 out: *mut u8,
16033 max_out: usize,
16034 in_: *const u8,
16035 in_len: usize,
16036 padding: ::core::ffi::c_int,
16037 ) -> ::core::ffi::c_int;
16038}
16039unsafe extern "C" {
16040 pub fn RSA_decrypt(
16041 rsa: *mut RSA,
16042 out_len: *mut usize,
16043 out: *mut u8,
16044 max_out: usize,
16045 in_: *const u8,
16046 in_len: usize,
16047 padding: ::core::ffi::c_int,
16048 ) -> ::core::ffi::c_int;
16049}
16050unsafe extern "C" {
16051 pub fn RSA_public_encrypt(
16052 flen: usize,
16053 from: *const u8,
16054 to: *mut u8,
16055 rsa: *mut RSA,
16056 padding: ::core::ffi::c_int,
16057 ) -> ::core::ffi::c_int;
16058}
16059unsafe extern "C" {
16060 pub fn RSA_private_decrypt(
16061 flen: usize,
16062 from: *const u8,
16063 to: *mut u8,
16064 rsa: *mut RSA,
16065 padding: ::core::ffi::c_int,
16066 ) -> ::core::ffi::c_int;
16067}
16068unsafe extern "C" {
16069 pub fn RSA_sign(
16070 hash_nid: ::core::ffi::c_int,
16071 digest: *const u8,
16072 digest_len: usize,
16073 out: *mut u8,
16074 out_len: *mut ::core::ffi::c_uint,
16075 rsa: *mut RSA,
16076 ) -> ::core::ffi::c_int;
16077}
16078unsafe extern "C" {
16079 pub fn RSA_sign_pss_mgf1(
16080 rsa: *mut RSA,
16081 out_len: *mut usize,
16082 out: *mut u8,
16083 max_out: usize,
16084 digest: *const u8,
16085 digest_len: usize,
16086 md: *const EVP_MD,
16087 mgf1_md: *const EVP_MD,
16088 salt_len: ::core::ffi::c_int,
16089 ) -> ::core::ffi::c_int;
16090}
16091unsafe extern "C" {
16092 pub fn RSA_sign_raw(
16093 rsa: *mut RSA,
16094 out_len: *mut usize,
16095 out: *mut u8,
16096 max_out: usize,
16097 in_: *const u8,
16098 in_len: usize,
16099 padding: ::core::ffi::c_int,
16100 ) -> ::core::ffi::c_int;
16101}
16102unsafe extern "C" {
16103 pub fn RSA_verify(
16104 hash_nid: ::core::ffi::c_int,
16105 digest: *const u8,
16106 digest_len: usize,
16107 sig: *const u8,
16108 sig_len: usize,
16109 rsa: *mut RSA,
16110 ) -> ::core::ffi::c_int;
16111}
16112unsafe extern "C" {
16113 pub fn RSA_verify_pss_mgf1(
16114 rsa: *mut RSA,
16115 digest: *const u8,
16116 digest_len: usize,
16117 md: *const EVP_MD,
16118 mgf1_md: *const EVP_MD,
16119 salt_len: ::core::ffi::c_int,
16120 sig: *const u8,
16121 sig_len: usize,
16122 ) -> ::core::ffi::c_int;
16123}
16124unsafe extern "C" {
16125 pub fn RSA_verify_raw(
16126 rsa: *mut RSA,
16127 out_len: *mut usize,
16128 out: *mut u8,
16129 max_out: usize,
16130 in_: *const u8,
16131 in_len: usize,
16132 padding: ::core::ffi::c_int,
16133 ) -> ::core::ffi::c_int;
16134}
16135unsafe extern "C" {
16136 pub fn RSA_private_encrypt(
16137 flen: usize,
16138 from: *const u8,
16139 to: *mut u8,
16140 rsa: *mut RSA,
16141 padding: ::core::ffi::c_int,
16142 ) -> ::core::ffi::c_int;
16143}
16144unsafe extern "C" {
16145 pub fn RSA_public_decrypt(
16146 flen: usize,
16147 from: *const u8,
16148 to: *mut u8,
16149 rsa: *mut RSA,
16150 padding: ::core::ffi::c_int,
16151 ) -> ::core::ffi::c_int;
16152}
16153unsafe extern "C" {
16154 pub fn RSA_size(rsa: *const RSA) -> ::core::ffi::c_uint;
16155}
16156unsafe extern "C" {
16157 pub fn RSA_is_opaque(rsa: *const RSA) -> ::core::ffi::c_int;
16158}
16159unsafe extern "C" {
16160 pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
16161}
16162unsafe extern "C" {
16163 pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
16164}
16165unsafe extern "C" {
16166 pub fn RSA_check_key(rsa: *const RSA) -> ::core::ffi::c_int;
16167}
16168unsafe extern "C" {
16169 pub fn RSA_check_fips(key: *mut RSA) -> ::core::ffi::c_int;
16170}
16171unsafe extern "C" {
16172 pub fn RSA_verify_PKCS1_PSS_mgf1(
16173 rsa: *const RSA,
16174 mHash: *const u8,
16175 Hash: *const EVP_MD,
16176 mgf1Hash: *const EVP_MD,
16177 EM: *const u8,
16178 sLen: ::core::ffi::c_int,
16179 ) -> ::core::ffi::c_int;
16180}
16181unsafe extern "C" {
16182 pub fn RSA_padding_add_PKCS1_PSS_mgf1(
16183 rsa: *const RSA,
16184 EM: *mut u8,
16185 mHash: *const u8,
16186 Hash: *const EVP_MD,
16187 mgf1Hash: *const EVP_MD,
16188 sLen: ::core::ffi::c_int,
16189 ) -> ::core::ffi::c_int;
16190}
16191unsafe extern "C" {
16192 pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
16193 to: *mut u8,
16194 to_len: usize,
16195 from: *const u8,
16196 from_len: usize,
16197 param: *const u8,
16198 param_len: usize,
16199 md: *const EVP_MD,
16200 mgf1md: *const EVP_MD,
16201 ) -> ::core::ffi::c_int;
16202}
16203unsafe extern "C" {
16204 pub fn RSA_add_pkcs1_prefix(
16205 out_msg: *mut *mut u8,
16206 out_msg_len: *mut usize,
16207 is_alloced: *mut ::core::ffi::c_int,
16208 hash_nid: ::core::ffi::c_int,
16209 digest: *const u8,
16210 digest_len: usize,
16211 ) -> ::core::ffi::c_int;
16212}
16213unsafe extern "C" {
16214 pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
16215}
16216unsafe extern "C" {
16217 pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16218}
16219unsafe extern "C" {
16220 pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16221}
16222unsafe extern "C" {
16223 pub fn RSA_public_key_to_bytes(
16224 out_bytes: *mut *mut u8,
16225 out_len: *mut usize,
16226 rsa: *const RSA,
16227 ) -> ::core::ffi::c_int;
16228}
16229unsafe extern "C" {
16230 pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
16231}
16232unsafe extern "C" {
16233 pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16234}
16235unsafe extern "C" {
16236 pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16237}
16238unsafe extern "C" {
16239 pub fn RSA_private_key_to_bytes(
16240 out_bytes: *mut *mut u8,
16241 out_len: *mut usize,
16242 rsa: *const RSA,
16243 ) -> ::core::ffi::c_int;
16244}
16245unsafe extern "C" {
16246 pub fn RSA_new_private_key_no_crt(
16247 n: *const BIGNUM,
16248 e: *const BIGNUM,
16249 d: *const BIGNUM,
16250 ) -> *mut RSA;
16251}
16252unsafe extern "C" {
16253 pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
16254}
16255unsafe extern "C" {
16256 pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
16257}
16258unsafe extern "C" {
16259 pub fn RSA_new_private_key_large_e(
16260 n: *const BIGNUM,
16261 e: *const BIGNUM,
16262 d: *const BIGNUM,
16263 p: *const BIGNUM,
16264 q: *const BIGNUM,
16265 dmp1: *const BIGNUM,
16266 dmq1: *const BIGNUM,
16267 iqmp: *const BIGNUM,
16268 ) -> *mut RSA;
16269}
16270unsafe extern "C" {
16271 pub fn RSA_get_ex_new_index(
16272 argl: ::core::ffi::c_long,
16273 argp: *mut ::core::ffi::c_void,
16274 unused: *mut CRYPTO_EX_unused,
16275 dup_unused: CRYPTO_EX_dup,
16276 free_func: CRYPTO_EX_free,
16277 ) -> ::core::ffi::c_int;
16278}
16279unsafe extern "C" {
16280 pub fn RSA_set_ex_data(
16281 rsa: *mut RSA,
16282 idx: ::core::ffi::c_int,
16283 arg: *mut ::core::ffi::c_void,
16284 ) -> ::core::ffi::c_int;
16285}
16286unsafe extern "C" {
16287 pub fn RSA_get_ex_data(rsa: *const RSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
16288}
16289unsafe extern "C" {
16290 pub fn RSA_flags(rsa: *const RSA) -> ::core::ffi::c_int;
16291}
16292unsafe extern "C" {
16293 pub fn RSA_test_flags(rsa: *const RSA, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
16294}
16295unsafe extern "C" {
16296 pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
16297}
16298unsafe extern "C" {
16299 pub fn RSA_blinding_off(rsa: *mut RSA);
16300}
16301unsafe extern "C" {
16302 pub fn RSA_generate_key(
16303 bits: ::core::ffi::c_int,
16304 e: u64,
16305 callback: *mut ::core::ffi::c_void,
16306 cb_arg: *mut ::core::ffi::c_void,
16307 ) -> *mut RSA;
16308}
16309unsafe extern "C" {
16310 pub fn d2i_RSAPublicKey(
16311 out: *mut *mut RSA,
16312 inp: *mut *const u8,
16313 len: ::core::ffi::c_long,
16314 ) -> *mut RSA;
16315}
16316unsafe extern "C" {
16317 pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16318}
16319unsafe extern "C" {
16320 pub fn d2i_RSAPrivateKey(
16321 out: *mut *mut RSA,
16322 inp: *mut *const u8,
16323 len: ::core::ffi::c_long,
16324 ) -> *mut RSA;
16325}
16326unsafe extern "C" {
16327 pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16328}
16329unsafe extern "C" {
16330 pub fn RSA_padding_add_PKCS1_PSS(
16331 rsa: *const RSA,
16332 EM: *mut u8,
16333 mHash: *const u8,
16334 Hash: *const EVP_MD,
16335 sLen: ::core::ffi::c_int,
16336 ) -> ::core::ffi::c_int;
16337}
16338unsafe extern "C" {
16339 pub fn RSA_verify_PKCS1_PSS(
16340 rsa: *const RSA,
16341 mHash: *const u8,
16342 Hash: *const EVP_MD,
16343 EM: *const u8,
16344 sLen: ::core::ffi::c_int,
16345 ) -> ::core::ffi::c_int;
16346}
16347unsafe extern "C" {
16348 pub fn RSA_padding_add_PKCS1_OAEP(
16349 to: *mut u8,
16350 to_len: usize,
16351 from: *const u8,
16352 from_len: usize,
16353 param: *const u8,
16354 param_len: usize,
16355 ) -> ::core::ffi::c_int;
16356}
16357unsafe extern "C" {
16358 pub fn RSA_print(
16359 bio: *mut BIO,
16360 rsa: *const RSA,
16361 indent: ::core::ffi::c_int,
16362 ) -> ::core::ffi::c_int;
16363}
16364unsafe extern "C" {
16365 pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
16366}
16367unsafe extern "C" {
16368 pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
16369}
16370#[repr(C)]
16371#[derive(Debug, Copy, Clone)]
16372pub struct rsa_meth_st {
16373 pub common: openssl_method_common_st,
16374 pub app_data: *mut ::core::ffi::c_void,
16375 pub init: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16376 pub finish: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16377 pub sign: ::core::option::Option<
16378 unsafe extern "C" fn(
16379 type_: ::core::ffi::c_int,
16380 m: *const u8,
16381 m_length: ::core::ffi::c_uint,
16382 sigret: *mut u8,
16383 siglen: *mut ::core::ffi::c_uint,
16384 rsa: *const RSA,
16385 ) -> ::core::ffi::c_int,
16386 >,
16387 pub sign_raw: ::core::option::Option<
16388 unsafe extern "C" fn(
16389 rsa: *mut RSA,
16390 out_len: *mut usize,
16391 out: *mut u8,
16392 max_out: usize,
16393 in_: *const u8,
16394 in_len: usize,
16395 padding: ::core::ffi::c_int,
16396 ) -> ::core::ffi::c_int,
16397 >,
16398 pub decrypt: ::core::option::Option<
16399 unsafe extern "C" fn(
16400 rsa: *mut RSA,
16401 out_len: *mut usize,
16402 out: *mut u8,
16403 max_out: usize,
16404 in_: *const u8,
16405 in_len: usize,
16406 padding: ::core::ffi::c_int,
16407 ) -> ::core::ffi::c_int,
16408 >,
16409 pub private_transform: ::core::option::Option<
16410 unsafe extern "C" fn(
16411 rsa: *mut RSA,
16412 out: *mut u8,
16413 in_: *const u8,
16414 len: usize,
16415 ) -> ::core::ffi::c_int,
16416 >,
16417 pub flags: ::core::ffi::c_int,
16418}
16419pub type sk_X509_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
16420pub type sk_X509_copy_func =
16421 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
16422pub type sk_X509_cmp_func = ::core::option::Option<
16423 unsafe extern "C" fn(arg1: *const *const X509, arg2: *const *const X509) -> ::core::ffi::c_int,
16424>;
16425pub type sk_X509_delete_if_func = ::core::option::Option<
16426 unsafe extern "C" fn(arg1: *mut X509, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
16427>;
16428unsafe extern "C" {
16429 #[link_name = "sk_X509_call_free_func__extern"]
16430 pub fn sk_X509_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
16431}
16432unsafe extern "C" {
16433 #[link_name = "sk_X509_call_copy_func__extern"]
16434 pub fn sk_X509_call_copy_func(
16435 copy_func: OPENSSL_sk_copy_func,
16436 ptr: *const ::core::ffi::c_void,
16437 ) -> *mut ::core::ffi::c_void;
16438}
16439unsafe extern "C" {
16440 #[link_name = "sk_X509_call_cmp_func__extern"]
16441 pub fn sk_X509_call_cmp_func(
16442 cmp_func: OPENSSL_sk_cmp_func,
16443 a: *const ::core::ffi::c_void,
16444 b: *const ::core::ffi::c_void,
16445 ) -> ::core::ffi::c_int;
16446}
16447unsafe extern "C" {
16448 #[link_name = "sk_X509_call_delete_if_func__extern"]
16449 pub fn sk_X509_call_delete_if_func(
16450 func: OPENSSL_sk_delete_if_func,
16451 obj: *mut ::core::ffi::c_void,
16452 data: *mut ::core::ffi::c_void,
16453 ) -> ::core::ffi::c_int;
16454}
16455unsafe extern "C" {
16456 #[link_name = "sk_X509_new__extern"]
16457 pub fn sk_X509_new(comp: sk_X509_cmp_func) -> *mut stack_st_X509;
16458}
16459unsafe extern "C" {
16460 #[link_name = "sk_X509_new_null__extern"]
16461 pub fn sk_X509_new_null() -> *mut stack_st_X509;
16462}
16463unsafe extern "C" {
16464 #[link_name = "sk_X509_num__extern"]
16465 pub fn sk_X509_num(sk: *const stack_st_X509) -> usize;
16466}
16467unsafe extern "C" {
16468 #[link_name = "sk_X509_zero__extern"]
16469 pub fn sk_X509_zero(sk: *mut stack_st_X509);
16470}
16471unsafe extern "C" {
16472 #[link_name = "sk_X509_value__extern"]
16473 pub fn sk_X509_value(sk: *const stack_st_X509, i: usize) -> *mut X509;
16474}
16475unsafe extern "C" {
16476 #[link_name = "sk_X509_set__extern"]
16477 pub fn sk_X509_set(sk: *mut stack_st_X509, i: usize, p: *mut X509) -> *mut X509;
16478}
16479unsafe extern "C" {
16480 #[link_name = "sk_X509_free__extern"]
16481 pub fn sk_X509_free(sk: *mut stack_st_X509);
16482}
16483unsafe extern "C" {
16484 #[link_name = "sk_X509_pop_free__extern"]
16485 pub fn sk_X509_pop_free(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16486}
16487unsafe extern "C" {
16488 #[link_name = "sk_X509_insert__extern"]
16489 pub fn sk_X509_insert(sk: *mut stack_st_X509, p: *mut X509, where_: usize) -> usize;
16490}
16491unsafe extern "C" {
16492 #[link_name = "sk_X509_delete__extern"]
16493 pub fn sk_X509_delete(sk: *mut stack_st_X509, where_: usize) -> *mut X509;
16494}
16495unsafe extern "C" {
16496 #[link_name = "sk_X509_delete_ptr__extern"]
16497 pub fn sk_X509_delete_ptr(sk: *mut stack_st_X509, p: *const X509) -> *mut X509;
16498}
16499unsafe extern "C" {
16500 #[link_name = "sk_X509_delete_if__extern"]
16501 pub fn sk_X509_delete_if(
16502 sk: *mut stack_st_X509,
16503 func: sk_X509_delete_if_func,
16504 data: *mut ::core::ffi::c_void,
16505 );
16506}
16507unsafe extern "C" {
16508 #[link_name = "sk_X509_find__extern"]
16509 pub fn sk_X509_find(
16510 sk: *const stack_st_X509,
16511 out_index: *mut usize,
16512 p: *const X509,
16513 ) -> ::core::ffi::c_int;
16514}
16515unsafe extern "C" {
16516 #[link_name = "sk_X509_shift__extern"]
16517 pub fn sk_X509_shift(sk: *mut stack_st_X509) -> *mut X509;
16518}
16519unsafe extern "C" {
16520 #[link_name = "sk_X509_push__extern"]
16521 pub fn sk_X509_push(sk: *mut stack_st_X509, p: *mut X509) -> usize;
16522}
16523unsafe extern "C" {
16524 #[link_name = "sk_X509_pop__extern"]
16525 pub fn sk_X509_pop(sk: *mut stack_st_X509) -> *mut X509;
16526}
16527unsafe extern "C" {
16528 #[link_name = "sk_X509_dup__extern"]
16529 pub fn sk_X509_dup(sk: *const stack_st_X509) -> *mut stack_st_X509;
16530}
16531unsafe extern "C" {
16532 #[link_name = "sk_X509_sort__extern"]
16533 pub fn sk_X509_sort(sk: *mut stack_st_X509);
16534}
16535unsafe extern "C" {
16536 #[link_name = "sk_X509_sort_and_dedup__extern"]
16537 pub fn sk_X509_sort_and_dedup(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16538}
16539unsafe extern "C" {
16540 #[link_name = "sk_X509_is_sorted__extern"]
16541 pub fn sk_X509_is_sorted(sk: *const stack_st_X509) -> ::core::ffi::c_int;
16542}
16543unsafe extern "C" {
16544 #[link_name = "sk_X509_set_cmp_func__extern"]
16545 pub fn sk_X509_set_cmp_func(sk: *mut stack_st_X509, comp: sk_X509_cmp_func)
16546 -> sk_X509_cmp_func;
16547}
16548unsafe extern "C" {
16549 #[link_name = "sk_X509_deep_copy__extern"]
16550 pub fn sk_X509_deep_copy(
16551 sk: *const stack_st_X509,
16552 copy_func: sk_X509_copy_func,
16553 free_func: sk_X509_free_func,
16554 ) -> *mut stack_st_X509;
16555}
16556unsafe extern "C" {
16557 pub static X509_it: ASN1_ITEM;
16558}
16559unsafe extern "C" {
16560 pub fn X509_up_ref(x509: *mut X509) -> ::core::ffi::c_int;
16561}
16562unsafe extern "C" {
16563 pub fn X509_dup_ref(x509: *const X509) -> *mut X509;
16564}
16565unsafe extern "C" {
16566 pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
16567}
16568unsafe extern "C" {
16569 pub fn X509_dup(x509: *const X509) -> *mut X509;
16570}
16571unsafe extern "C" {
16572 pub fn X509_free(x509: *mut X509);
16573}
16574unsafe extern "C" {
16575 pub fn d2i_X509(
16576 out: *mut *mut X509,
16577 inp: *mut *const u8,
16578 len: ::core::ffi::c_long,
16579 ) -> *mut X509;
16580}
16581unsafe extern "C" {
16582 pub fn X509_parse_with_algorithms(
16583 buf: *mut CRYPTO_BUFFER,
16584 algs: *const *const EVP_PKEY_ALG,
16585 num_algs: usize,
16586 ) -> *mut X509;
16587}
16588unsafe extern "C" {
16589 pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
16590}
16591unsafe extern "C" {
16592 pub fn i2d_X509(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16593}
16594unsafe extern "C" {
16595 pub fn X509_get_version(x509: *const X509) -> ::core::ffi::c_long;
16596}
16597unsafe extern "C" {
16598 pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
16599}
16600unsafe extern "C" {
16601 pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
16602}
16603unsafe extern "C" {
16604 pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
16605}
16606unsafe extern "C" {
16607 pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
16608}
16609unsafe extern "C" {
16610 pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
16611}
16612unsafe extern "C" {
16613 pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
16614}
16615unsafe extern "C" {
16616 pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16617}
16618unsafe extern "C" {
16619 pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16620}
16621unsafe extern "C" {
16622 pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
16623}
16624unsafe extern "C" {
16625 pub fn X509_check_private_key(x509: *const X509, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
16626}
16627unsafe extern "C" {
16628 pub fn X509_get0_uids(
16629 x509: *const X509,
16630 out_issuer_uid: *mut *const ASN1_BIT_STRING,
16631 out_subject_uid: *mut *const ASN1_BIT_STRING,
16632 );
16633}
16634unsafe extern "C" {
16635 pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
16636}
16637unsafe extern "C" {
16638 pub fn X509_get_pathlen(x509: *mut X509) -> ::core::ffi::c_long;
16639}
16640unsafe extern "C" {
16641 pub fn X509_get_key_usage(x509: *mut X509) -> u32;
16642}
16643unsafe extern "C" {
16644 pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
16645}
16646unsafe extern "C" {
16647 pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16648}
16649unsafe extern "C" {
16650 pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16651}
16652#[repr(C)]
16653#[derive(Debug)]
16654pub struct stack_st_GENERAL_NAME {
16655 _unused: [u8; 0],
16656}
16657pub type sk_GENERAL_NAME_free_func =
16658 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
16659pub type sk_GENERAL_NAME_copy_func =
16660 ::core::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
16661pub type sk_GENERAL_NAME_cmp_func = ::core::option::Option<
16662 unsafe extern "C" fn(
16663 arg1: *const *const GENERAL_NAME,
16664 arg2: *const *const GENERAL_NAME,
16665 ) -> ::core::ffi::c_int,
16666>;
16667pub type sk_GENERAL_NAME_delete_if_func = ::core::option::Option<
16668 unsafe extern "C" fn(
16669 arg1: *mut GENERAL_NAME,
16670 arg2: *mut ::core::ffi::c_void,
16671 ) -> ::core::ffi::c_int,
16672>;
16673unsafe extern "C" {
16674 #[link_name = "sk_GENERAL_NAME_call_free_func__extern"]
16675 pub fn sk_GENERAL_NAME_call_free_func(
16676 free_func: OPENSSL_sk_free_func,
16677 ptr: *mut ::core::ffi::c_void,
16678 );
16679}
16680unsafe extern "C" {
16681 #[link_name = "sk_GENERAL_NAME_call_copy_func__extern"]
16682 pub fn sk_GENERAL_NAME_call_copy_func(
16683 copy_func: OPENSSL_sk_copy_func,
16684 ptr: *const ::core::ffi::c_void,
16685 ) -> *mut ::core::ffi::c_void;
16686}
16687unsafe extern "C" {
16688 #[link_name = "sk_GENERAL_NAME_call_cmp_func__extern"]
16689 pub fn sk_GENERAL_NAME_call_cmp_func(
16690 cmp_func: OPENSSL_sk_cmp_func,
16691 a: *const ::core::ffi::c_void,
16692 b: *const ::core::ffi::c_void,
16693 ) -> ::core::ffi::c_int;
16694}
16695unsafe extern "C" {
16696 #[link_name = "sk_GENERAL_NAME_call_delete_if_func__extern"]
16697 pub fn sk_GENERAL_NAME_call_delete_if_func(
16698 func: OPENSSL_sk_delete_if_func,
16699 obj: *mut ::core::ffi::c_void,
16700 data: *mut ::core::ffi::c_void,
16701 ) -> ::core::ffi::c_int;
16702}
16703unsafe extern "C" {
16704 #[link_name = "sk_GENERAL_NAME_new__extern"]
16705 pub fn sk_GENERAL_NAME_new(comp: sk_GENERAL_NAME_cmp_func) -> *mut stack_st_GENERAL_NAME;
16706}
16707unsafe extern "C" {
16708 #[link_name = "sk_GENERAL_NAME_new_null__extern"]
16709 pub fn sk_GENERAL_NAME_new_null() -> *mut stack_st_GENERAL_NAME;
16710}
16711unsafe extern "C" {
16712 #[link_name = "sk_GENERAL_NAME_num__extern"]
16713 pub fn sk_GENERAL_NAME_num(sk: *const stack_st_GENERAL_NAME) -> usize;
16714}
16715unsafe extern "C" {
16716 #[link_name = "sk_GENERAL_NAME_zero__extern"]
16717 pub fn sk_GENERAL_NAME_zero(sk: *mut stack_st_GENERAL_NAME);
16718}
16719unsafe extern "C" {
16720 #[link_name = "sk_GENERAL_NAME_value__extern"]
16721 pub fn sk_GENERAL_NAME_value(sk: *const stack_st_GENERAL_NAME, i: usize) -> *mut GENERAL_NAME;
16722}
16723unsafe extern "C" {
16724 #[link_name = "sk_GENERAL_NAME_set__extern"]
16725 pub fn sk_GENERAL_NAME_set(
16726 sk: *mut stack_st_GENERAL_NAME,
16727 i: usize,
16728 p: *mut GENERAL_NAME,
16729 ) -> *mut GENERAL_NAME;
16730}
16731unsafe extern "C" {
16732 #[link_name = "sk_GENERAL_NAME_free__extern"]
16733 pub fn sk_GENERAL_NAME_free(sk: *mut stack_st_GENERAL_NAME);
16734}
16735unsafe extern "C" {
16736 #[link_name = "sk_GENERAL_NAME_pop_free__extern"]
16737 pub fn sk_GENERAL_NAME_pop_free(
16738 sk: *mut stack_st_GENERAL_NAME,
16739 free_func: sk_GENERAL_NAME_free_func,
16740 );
16741}
16742unsafe extern "C" {
16743 #[link_name = "sk_GENERAL_NAME_insert__extern"]
16744 pub fn sk_GENERAL_NAME_insert(
16745 sk: *mut stack_st_GENERAL_NAME,
16746 p: *mut GENERAL_NAME,
16747 where_: usize,
16748 ) -> usize;
16749}
16750unsafe extern "C" {
16751 #[link_name = "sk_GENERAL_NAME_delete__extern"]
16752 pub fn sk_GENERAL_NAME_delete(
16753 sk: *mut stack_st_GENERAL_NAME,
16754 where_: usize,
16755 ) -> *mut GENERAL_NAME;
16756}
16757unsafe extern "C" {
16758 #[link_name = "sk_GENERAL_NAME_delete_ptr__extern"]
16759 pub fn sk_GENERAL_NAME_delete_ptr(
16760 sk: *mut stack_st_GENERAL_NAME,
16761 p: *const GENERAL_NAME,
16762 ) -> *mut GENERAL_NAME;
16763}
16764unsafe extern "C" {
16765 #[link_name = "sk_GENERAL_NAME_delete_if__extern"]
16766 pub fn sk_GENERAL_NAME_delete_if(
16767 sk: *mut stack_st_GENERAL_NAME,
16768 func: sk_GENERAL_NAME_delete_if_func,
16769 data: *mut ::core::ffi::c_void,
16770 );
16771}
16772unsafe extern "C" {
16773 #[link_name = "sk_GENERAL_NAME_find__extern"]
16774 pub fn sk_GENERAL_NAME_find(
16775 sk: *const stack_st_GENERAL_NAME,
16776 out_index: *mut usize,
16777 p: *const GENERAL_NAME,
16778 ) -> ::core::ffi::c_int;
16779}
16780unsafe extern "C" {
16781 #[link_name = "sk_GENERAL_NAME_shift__extern"]
16782 pub fn sk_GENERAL_NAME_shift(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16783}
16784unsafe extern "C" {
16785 #[link_name = "sk_GENERAL_NAME_push__extern"]
16786 pub fn sk_GENERAL_NAME_push(sk: *mut stack_st_GENERAL_NAME, p: *mut GENERAL_NAME) -> usize;
16787}
16788unsafe extern "C" {
16789 #[link_name = "sk_GENERAL_NAME_pop__extern"]
16790 pub fn sk_GENERAL_NAME_pop(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16791}
16792unsafe extern "C" {
16793 #[link_name = "sk_GENERAL_NAME_dup__extern"]
16794 pub fn sk_GENERAL_NAME_dup(sk: *const stack_st_GENERAL_NAME) -> *mut stack_st_GENERAL_NAME;
16795}
16796unsafe extern "C" {
16797 #[link_name = "sk_GENERAL_NAME_sort__extern"]
16798 pub fn sk_GENERAL_NAME_sort(sk: *mut stack_st_GENERAL_NAME);
16799}
16800unsafe extern "C" {
16801 #[link_name = "sk_GENERAL_NAME_sort_and_dedup__extern"]
16802 pub fn sk_GENERAL_NAME_sort_and_dedup(
16803 sk: *mut stack_st_GENERAL_NAME,
16804 free_func: sk_GENERAL_NAME_free_func,
16805 );
16806}
16807unsafe extern "C" {
16808 #[link_name = "sk_GENERAL_NAME_is_sorted__extern"]
16809 pub fn sk_GENERAL_NAME_is_sorted(sk: *const stack_st_GENERAL_NAME) -> ::core::ffi::c_int;
16810}
16811unsafe extern "C" {
16812 #[link_name = "sk_GENERAL_NAME_set_cmp_func__extern"]
16813 pub fn sk_GENERAL_NAME_set_cmp_func(
16814 sk: *mut stack_st_GENERAL_NAME,
16815 comp: sk_GENERAL_NAME_cmp_func,
16816 ) -> sk_GENERAL_NAME_cmp_func;
16817}
16818unsafe extern "C" {
16819 #[link_name = "sk_GENERAL_NAME_deep_copy__extern"]
16820 pub fn sk_GENERAL_NAME_deep_copy(
16821 sk: *const stack_st_GENERAL_NAME,
16822 copy_func: sk_GENERAL_NAME_copy_func,
16823 free_func: sk_GENERAL_NAME_free_func,
16824 ) -> *mut stack_st_GENERAL_NAME;
16825}
16826pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
16827unsafe extern "C" {
16828 pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
16829}
16830unsafe extern "C" {
16831 pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
16832}
16833#[repr(C)]
16834#[derive(Debug)]
16835pub struct stack_st_X509_EXTENSION {
16836 _unused: [u8; 0],
16837}
16838unsafe extern "C" {
16839 pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
16840}
16841unsafe extern "C" {
16842 pub fn X509_get_ext_count(x: *const X509) -> ::core::ffi::c_int;
16843}
16844unsafe extern "C" {
16845 pub fn X509_get_ext_by_NID(
16846 x: *const X509,
16847 nid: ::core::ffi::c_int,
16848 lastpos: ::core::ffi::c_int,
16849 ) -> ::core::ffi::c_int;
16850}
16851unsafe extern "C" {
16852 pub fn X509_get_ext_by_OBJ(
16853 x: *const X509,
16854 obj: *const ASN1_OBJECT,
16855 lastpos: ::core::ffi::c_int,
16856 ) -> ::core::ffi::c_int;
16857}
16858unsafe extern "C" {
16859 pub fn X509_get_ext_by_critical(
16860 x: *const X509,
16861 crit: ::core::ffi::c_int,
16862 lastpos: ::core::ffi::c_int,
16863 ) -> ::core::ffi::c_int;
16864}
16865unsafe extern "C" {
16866 pub fn X509_get_ext(x: *const X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
16867}
16868unsafe extern "C" {
16869 pub fn X509_get_ext_d2i(
16870 x509: *const X509,
16871 nid: ::core::ffi::c_int,
16872 out_critical: *mut ::core::ffi::c_int,
16873 out_idx: *mut ::core::ffi::c_int,
16874 ) -> *mut ::core::ffi::c_void;
16875}
16876unsafe extern "C" {
16877 pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
16878}
16879unsafe extern "C" {
16880 pub fn X509_get0_signature(
16881 out_sig: *mut *const ASN1_BIT_STRING,
16882 out_alg: *mut *const X509_ALGOR,
16883 x509: *const X509,
16884 );
16885}
16886unsafe extern "C" {
16887 pub fn X509_get_signature_nid(x509: *const X509) -> ::core::ffi::c_int;
16888}
16889unsafe extern "C" {
16890 pub fn i2d_X509_tbs(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16891}
16892unsafe extern "C" {
16893 pub fn X509_verify(x509: *const X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
16894}
16895unsafe extern "C" {
16896 pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
16897}
16898unsafe extern "C" {
16899 pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
16900}
16901unsafe extern "C" {
16902 pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
16903}
16904unsafe extern "C" {
16905 pub fn X509_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
16906}
16907unsafe extern "C" {
16908 pub fn X509_new() -> *mut X509;
16909}
16910unsafe extern "C" {
16911 pub fn X509_set_version(x509: *mut X509, version: ::core::ffi::c_long) -> ::core::ffi::c_int;
16912}
16913unsafe extern "C" {
16914 pub fn X509_set_serialNumber(
16915 x509: *mut X509,
16916 serial: *const ASN1_INTEGER,
16917 ) -> ::core::ffi::c_int;
16918}
16919unsafe extern "C" {
16920 pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
16921}
16922unsafe extern "C" {
16923 pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
16924}
16925unsafe extern "C" {
16926 pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
16927}
16928unsafe extern "C" {
16929 pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
16930}
16931unsafe extern "C" {
16932 pub fn X509_set_issuer_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
16933}
16934unsafe extern "C" {
16935 pub fn X509_set_subject_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
16936}
16937unsafe extern "C" {
16938 pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
16939}
16940unsafe extern "C" {
16941 pub fn X509_delete_ext(x: *mut X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
16942}
16943unsafe extern "C" {
16944 pub fn X509_add_ext(
16945 x: *mut X509,
16946 ex: *const X509_EXTENSION,
16947 loc: ::core::ffi::c_int,
16948 ) -> ::core::ffi::c_int;
16949}
16950unsafe extern "C" {
16951 pub fn X509_add1_ext_i2d(
16952 x: *mut X509,
16953 nid: ::core::ffi::c_int,
16954 value: *mut ::core::ffi::c_void,
16955 crit: ::core::ffi::c_int,
16956 flags: ::core::ffi::c_ulong,
16957 ) -> ::core::ffi::c_int;
16958}
16959unsafe extern "C" {
16960 pub fn X509_sign(x509: *mut X509, pkey: *mut EVP_PKEY, md: *const EVP_MD)
16961 -> ::core::ffi::c_int;
16962}
16963unsafe extern "C" {
16964 pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
16965}
16966unsafe extern "C" {
16967 pub fn i2d_re_X509_tbs(x509: *mut X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16968}
16969unsafe extern "C" {
16970 pub fn X509_set1_signature_algo(x509: *mut X509, algo: *const X509_ALGOR)
16971 -> ::core::ffi::c_int;
16972}
16973unsafe extern "C" {
16974 pub fn X509_set1_signature_value(
16975 x509: *mut X509,
16976 sig: *const u8,
16977 sig_len: usize,
16978 ) -> ::core::ffi::c_int;
16979}
16980unsafe extern "C" {
16981 pub fn i2d_X509_AUX(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16982}
16983unsafe extern "C" {
16984 pub fn d2i_X509_AUX(
16985 x509: *mut *mut X509,
16986 inp: *mut *const u8,
16987 length: ::core::ffi::c_long,
16988 ) -> *mut X509;
16989}
16990unsafe extern "C" {
16991 pub fn X509_alias_set1(
16992 x509: *mut X509,
16993 name: *const u8,
16994 len: ossl_ssize_t,
16995 ) -> ::core::ffi::c_int;
16996}
16997unsafe extern "C" {
16998 pub fn X509_keyid_set1(x509: *mut X509, id: *const u8, len: ossl_ssize_t)
16999 -> ::core::ffi::c_int;
17000}
17001unsafe extern "C" {
17002 pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
17003}
17004unsafe extern "C" {
17005 pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
17006}
17007unsafe extern "C" {
17008 pub fn X509_add1_trust_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
17009}
17010unsafe extern "C" {
17011 pub fn X509_add1_reject_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
17012}
17013unsafe extern "C" {
17014 pub fn X509_trust_clear(x509: *mut X509);
17015}
17016unsafe extern "C" {
17017 pub fn X509_reject_clear(x509: *mut X509);
17018}
17019pub type sk_X509_CRL_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
17020pub type sk_X509_CRL_copy_func =
17021 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
17022pub type sk_X509_CRL_cmp_func = ::core::option::Option<
17023 unsafe extern "C" fn(
17024 arg1: *const *const X509_CRL,
17025 arg2: *const *const X509_CRL,
17026 ) -> ::core::ffi::c_int,
17027>;
17028pub type sk_X509_CRL_delete_if_func = ::core::option::Option<
17029 unsafe extern "C" fn(arg1: *mut X509_CRL, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
17030>;
17031unsafe extern "C" {
17032 #[link_name = "sk_X509_CRL_call_free_func__extern"]
17033 pub fn sk_X509_CRL_call_free_func(
17034 free_func: OPENSSL_sk_free_func,
17035 ptr: *mut ::core::ffi::c_void,
17036 );
17037}
17038unsafe extern "C" {
17039 #[link_name = "sk_X509_CRL_call_copy_func__extern"]
17040 pub fn sk_X509_CRL_call_copy_func(
17041 copy_func: OPENSSL_sk_copy_func,
17042 ptr: *const ::core::ffi::c_void,
17043 ) -> *mut ::core::ffi::c_void;
17044}
17045unsafe extern "C" {
17046 #[link_name = "sk_X509_CRL_call_cmp_func__extern"]
17047 pub fn sk_X509_CRL_call_cmp_func(
17048 cmp_func: OPENSSL_sk_cmp_func,
17049 a: *const ::core::ffi::c_void,
17050 b: *const ::core::ffi::c_void,
17051 ) -> ::core::ffi::c_int;
17052}
17053unsafe extern "C" {
17054 #[link_name = "sk_X509_CRL_call_delete_if_func__extern"]
17055 pub fn sk_X509_CRL_call_delete_if_func(
17056 func: OPENSSL_sk_delete_if_func,
17057 obj: *mut ::core::ffi::c_void,
17058 data: *mut ::core::ffi::c_void,
17059 ) -> ::core::ffi::c_int;
17060}
17061unsafe extern "C" {
17062 #[link_name = "sk_X509_CRL_new__extern"]
17063 pub fn sk_X509_CRL_new(comp: sk_X509_CRL_cmp_func) -> *mut stack_st_X509_CRL;
17064}
17065unsafe extern "C" {
17066 #[link_name = "sk_X509_CRL_new_null__extern"]
17067 pub fn sk_X509_CRL_new_null() -> *mut stack_st_X509_CRL;
17068}
17069unsafe extern "C" {
17070 #[link_name = "sk_X509_CRL_num__extern"]
17071 pub fn sk_X509_CRL_num(sk: *const stack_st_X509_CRL) -> usize;
17072}
17073unsafe extern "C" {
17074 #[link_name = "sk_X509_CRL_zero__extern"]
17075 pub fn sk_X509_CRL_zero(sk: *mut stack_st_X509_CRL);
17076}
17077unsafe extern "C" {
17078 #[link_name = "sk_X509_CRL_value__extern"]
17079 pub fn sk_X509_CRL_value(sk: *const stack_st_X509_CRL, i: usize) -> *mut X509_CRL;
17080}
17081unsafe extern "C" {
17082 #[link_name = "sk_X509_CRL_set__extern"]
17083 pub fn sk_X509_CRL_set(sk: *mut stack_st_X509_CRL, i: usize, p: *mut X509_CRL)
17084 -> *mut X509_CRL;
17085}
17086unsafe extern "C" {
17087 #[link_name = "sk_X509_CRL_free__extern"]
17088 pub fn sk_X509_CRL_free(sk: *mut stack_st_X509_CRL);
17089}
17090unsafe extern "C" {
17091 #[link_name = "sk_X509_CRL_pop_free__extern"]
17092 pub fn sk_X509_CRL_pop_free(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
17093}
17094unsafe extern "C" {
17095 #[link_name = "sk_X509_CRL_insert__extern"]
17096 pub fn sk_X509_CRL_insert(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL, where_: usize)
17097 -> usize;
17098}
17099unsafe extern "C" {
17100 #[link_name = "sk_X509_CRL_delete__extern"]
17101 pub fn sk_X509_CRL_delete(sk: *mut stack_st_X509_CRL, where_: usize) -> *mut X509_CRL;
17102}
17103unsafe extern "C" {
17104 #[link_name = "sk_X509_CRL_delete_ptr__extern"]
17105 pub fn sk_X509_CRL_delete_ptr(sk: *mut stack_st_X509_CRL, p: *const X509_CRL) -> *mut X509_CRL;
17106}
17107unsafe extern "C" {
17108 #[link_name = "sk_X509_CRL_delete_if__extern"]
17109 pub fn sk_X509_CRL_delete_if(
17110 sk: *mut stack_st_X509_CRL,
17111 func: sk_X509_CRL_delete_if_func,
17112 data: *mut ::core::ffi::c_void,
17113 );
17114}
17115unsafe extern "C" {
17116 #[link_name = "sk_X509_CRL_find__extern"]
17117 pub fn sk_X509_CRL_find(
17118 sk: *const stack_st_X509_CRL,
17119 out_index: *mut usize,
17120 p: *const X509_CRL,
17121 ) -> ::core::ffi::c_int;
17122}
17123unsafe extern "C" {
17124 #[link_name = "sk_X509_CRL_shift__extern"]
17125 pub fn sk_X509_CRL_shift(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17126}
17127unsafe extern "C" {
17128 #[link_name = "sk_X509_CRL_push__extern"]
17129 pub fn sk_X509_CRL_push(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL) -> usize;
17130}
17131unsafe extern "C" {
17132 #[link_name = "sk_X509_CRL_pop__extern"]
17133 pub fn sk_X509_CRL_pop(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17134}
17135unsafe extern "C" {
17136 #[link_name = "sk_X509_CRL_dup__extern"]
17137 pub fn sk_X509_CRL_dup(sk: *const stack_st_X509_CRL) -> *mut stack_st_X509_CRL;
17138}
17139unsafe extern "C" {
17140 #[link_name = "sk_X509_CRL_sort__extern"]
17141 pub fn sk_X509_CRL_sort(sk: *mut stack_st_X509_CRL);
17142}
17143unsafe extern "C" {
17144 #[link_name = "sk_X509_CRL_sort_and_dedup__extern"]
17145 pub fn sk_X509_CRL_sort_and_dedup(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
17146}
17147unsafe extern "C" {
17148 #[link_name = "sk_X509_CRL_is_sorted__extern"]
17149 pub fn sk_X509_CRL_is_sorted(sk: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
17150}
17151unsafe extern "C" {
17152 #[link_name = "sk_X509_CRL_set_cmp_func__extern"]
17153 pub fn sk_X509_CRL_set_cmp_func(
17154 sk: *mut stack_st_X509_CRL,
17155 comp: sk_X509_CRL_cmp_func,
17156 ) -> sk_X509_CRL_cmp_func;
17157}
17158unsafe extern "C" {
17159 #[link_name = "sk_X509_CRL_deep_copy__extern"]
17160 pub fn sk_X509_CRL_deep_copy(
17161 sk: *const stack_st_X509_CRL,
17162 copy_func: sk_X509_CRL_copy_func,
17163 free_func: sk_X509_CRL_free_func,
17164 ) -> *mut stack_st_X509_CRL;
17165}
17166#[repr(C)]
17167#[derive(Debug)]
17168pub struct stack_st_X509_REVOKED {
17169 _unused: [u8; 0],
17170}
17171pub type sk_X509_REVOKED_free_func =
17172 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
17173pub type sk_X509_REVOKED_copy_func =
17174 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
17175pub type sk_X509_REVOKED_cmp_func = ::core::option::Option<
17176 unsafe extern "C" fn(
17177 arg1: *const *const X509_REVOKED,
17178 arg2: *const *const X509_REVOKED,
17179 ) -> ::core::ffi::c_int,
17180>;
17181pub type sk_X509_REVOKED_delete_if_func = ::core::option::Option<
17182 unsafe extern "C" fn(
17183 arg1: *mut X509_REVOKED,
17184 arg2: *mut ::core::ffi::c_void,
17185 ) -> ::core::ffi::c_int,
17186>;
17187unsafe extern "C" {
17188 #[link_name = "sk_X509_REVOKED_call_free_func__extern"]
17189 pub fn sk_X509_REVOKED_call_free_func(
17190 free_func: OPENSSL_sk_free_func,
17191 ptr: *mut ::core::ffi::c_void,
17192 );
17193}
17194unsafe extern "C" {
17195 #[link_name = "sk_X509_REVOKED_call_copy_func__extern"]
17196 pub fn sk_X509_REVOKED_call_copy_func(
17197 copy_func: OPENSSL_sk_copy_func,
17198 ptr: *const ::core::ffi::c_void,
17199 ) -> *mut ::core::ffi::c_void;
17200}
17201unsafe extern "C" {
17202 #[link_name = "sk_X509_REVOKED_call_cmp_func__extern"]
17203 pub fn sk_X509_REVOKED_call_cmp_func(
17204 cmp_func: OPENSSL_sk_cmp_func,
17205 a: *const ::core::ffi::c_void,
17206 b: *const ::core::ffi::c_void,
17207 ) -> ::core::ffi::c_int;
17208}
17209unsafe extern "C" {
17210 #[link_name = "sk_X509_REVOKED_call_delete_if_func__extern"]
17211 pub fn sk_X509_REVOKED_call_delete_if_func(
17212 func: OPENSSL_sk_delete_if_func,
17213 obj: *mut ::core::ffi::c_void,
17214 data: *mut ::core::ffi::c_void,
17215 ) -> ::core::ffi::c_int;
17216}
17217unsafe extern "C" {
17218 #[link_name = "sk_X509_REVOKED_new__extern"]
17219 pub fn sk_X509_REVOKED_new(comp: sk_X509_REVOKED_cmp_func) -> *mut stack_st_X509_REVOKED;
17220}
17221unsafe extern "C" {
17222 #[link_name = "sk_X509_REVOKED_new_null__extern"]
17223 pub fn sk_X509_REVOKED_new_null() -> *mut stack_st_X509_REVOKED;
17224}
17225unsafe extern "C" {
17226 #[link_name = "sk_X509_REVOKED_num__extern"]
17227 pub fn sk_X509_REVOKED_num(sk: *const stack_st_X509_REVOKED) -> usize;
17228}
17229unsafe extern "C" {
17230 #[link_name = "sk_X509_REVOKED_zero__extern"]
17231 pub fn sk_X509_REVOKED_zero(sk: *mut stack_st_X509_REVOKED);
17232}
17233unsafe extern "C" {
17234 #[link_name = "sk_X509_REVOKED_value__extern"]
17235 pub fn sk_X509_REVOKED_value(sk: *const stack_st_X509_REVOKED, i: usize) -> *mut X509_REVOKED;
17236}
17237unsafe extern "C" {
17238 #[link_name = "sk_X509_REVOKED_set__extern"]
17239 pub fn sk_X509_REVOKED_set(
17240 sk: *mut stack_st_X509_REVOKED,
17241 i: usize,
17242 p: *mut X509_REVOKED,
17243 ) -> *mut X509_REVOKED;
17244}
17245unsafe extern "C" {
17246 #[link_name = "sk_X509_REVOKED_free__extern"]
17247 pub fn sk_X509_REVOKED_free(sk: *mut stack_st_X509_REVOKED);
17248}
17249unsafe extern "C" {
17250 #[link_name = "sk_X509_REVOKED_pop_free__extern"]
17251 pub fn sk_X509_REVOKED_pop_free(
17252 sk: *mut stack_st_X509_REVOKED,
17253 free_func: sk_X509_REVOKED_free_func,
17254 );
17255}
17256unsafe extern "C" {
17257 #[link_name = "sk_X509_REVOKED_insert__extern"]
17258 pub fn sk_X509_REVOKED_insert(
17259 sk: *mut stack_st_X509_REVOKED,
17260 p: *mut X509_REVOKED,
17261 where_: usize,
17262 ) -> usize;
17263}
17264unsafe extern "C" {
17265 #[link_name = "sk_X509_REVOKED_delete__extern"]
17266 pub fn sk_X509_REVOKED_delete(
17267 sk: *mut stack_st_X509_REVOKED,
17268 where_: usize,
17269 ) -> *mut X509_REVOKED;
17270}
17271unsafe extern "C" {
17272 #[link_name = "sk_X509_REVOKED_delete_ptr__extern"]
17273 pub fn sk_X509_REVOKED_delete_ptr(
17274 sk: *mut stack_st_X509_REVOKED,
17275 p: *const X509_REVOKED,
17276 ) -> *mut X509_REVOKED;
17277}
17278unsafe extern "C" {
17279 #[link_name = "sk_X509_REVOKED_delete_if__extern"]
17280 pub fn sk_X509_REVOKED_delete_if(
17281 sk: *mut stack_st_X509_REVOKED,
17282 func: sk_X509_REVOKED_delete_if_func,
17283 data: *mut ::core::ffi::c_void,
17284 );
17285}
17286unsafe extern "C" {
17287 #[link_name = "sk_X509_REVOKED_find__extern"]
17288 pub fn sk_X509_REVOKED_find(
17289 sk: *const stack_st_X509_REVOKED,
17290 out_index: *mut usize,
17291 p: *const X509_REVOKED,
17292 ) -> ::core::ffi::c_int;
17293}
17294unsafe extern "C" {
17295 #[link_name = "sk_X509_REVOKED_shift__extern"]
17296 pub fn sk_X509_REVOKED_shift(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17297}
17298unsafe extern "C" {
17299 #[link_name = "sk_X509_REVOKED_push__extern"]
17300 pub fn sk_X509_REVOKED_push(sk: *mut stack_st_X509_REVOKED, p: *mut X509_REVOKED) -> usize;
17301}
17302unsafe extern "C" {
17303 #[link_name = "sk_X509_REVOKED_pop__extern"]
17304 pub fn sk_X509_REVOKED_pop(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17305}
17306unsafe extern "C" {
17307 #[link_name = "sk_X509_REVOKED_dup__extern"]
17308 pub fn sk_X509_REVOKED_dup(sk: *const stack_st_X509_REVOKED) -> *mut stack_st_X509_REVOKED;
17309}
17310unsafe extern "C" {
17311 #[link_name = "sk_X509_REVOKED_sort__extern"]
17312 pub fn sk_X509_REVOKED_sort(sk: *mut stack_st_X509_REVOKED);
17313}
17314unsafe extern "C" {
17315 #[link_name = "sk_X509_REVOKED_sort_and_dedup__extern"]
17316 pub fn sk_X509_REVOKED_sort_and_dedup(
17317 sk: *mut stack_st_X509_REVOKED,
17318 free_func: sk_X509_REVOKED_free_func,
17319 );
17320}
17321unsafe extern "C" {
17322 #[link_name = "sk_X509_REVOKED_is_sorted__extern"]
17323 pub fn sk_X509_REVOKED_is_sorted(sk: *const stack_st_X509_REVOKED) -> ::core::ffi::c_int;
17324}
17325unsafe extern "C" {
17326 #[link_name = "sk_X509_REVOKED_set_cmp_func__extern"]
17327 pub fn sk_X509_REVOKED_set_cmp_func(
17328 sk: *mut stack_st_X509_REVOKED,
17329 comp: sk_X509_REVOKED_cmp_func,
17330 ) -> sk_X509_REVOKED_cmp_func;
17331}
17332unsafe extern "C" {
17333 #[link_name = "sk_X509_REVOKED_deep_copy__extern"]
17334 pub fn sk_X509_REVOKED_deep_copy(
17335 sk: *const stack_st_X509_REVOKED,
17336 copy_func: sk_X509_REVOKED_copy_func,
17337 free_func: sk_X509_REVOKED_free_func,
17338 ) -> *mut stack_st_X509_REVOKED;
17339}
17340unsafe extern "C" {
17341 pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17342}
17343unsafe extern "C" {
17344 pub fn X509_CRL_dup(crl: *const X509_CRL) -> *mut X509_CRL;
17345}
17346unsafe extern "C" {
17347 pub fn X509_CRL_free(crl: *mut X509_CRL);
17348}
17349unsafe extern "C" {
17350 pub fn d2i_X509_CRL(
17351 out: *mut *mut X509_CRL,
17352 inp: *mut *const u8,
17353 len: ::core::ffi::c_long,
17354 ) -> *mut X509_CRL;
17355}
17356unsafe extern "C" {
17357 pub fn i2d_X509_CRL(crl: *const X509_CRL, outp: *mut *mut u8) -> ::core::ffi::c_int;
17358}
17359unsafe extern "C" {
17360 pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
17361}
17362unsafe extern "C" {
17363 pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::core::ffi::c_long;
17364}
17365unsafe extern "C" {
17366 pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17367}
17368unsafe extern "C" {
17369 pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17370}
17371unsafe extern "C" {
17372 pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
17373}
17374unsafe extern "C" {
17375 pub fn X509_CRL_get0_by_serial(
17376 crl: *mut X509_CRL,
17377 out: *mut *mut X509_REVOKED,
17378 serial: *const ASN1_INTEGER,
17379 ) -> ::core::ffi::c_int;
17380}
17381unsafe extern "C" {
17382 pub fn X509_CRL_get0_by_cert(
17383 crl: *mut X509_CRL,
17384 out: *mut *mut X509_REVOKED,
17385 x509: *const X509,
17386 ) -> ::core::ffi::c_int;
17387}
17388unsafe extern "C" {
17389 pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
17390}
17391unsafe extern "C" {
17392 pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
17393}
17394unsafe extern "C" {
17395 pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::core::ffi::c_int;
17396}
17397unsafe extern "C" {
17398 pub fn X509_CRL_get_ext_by_NID(
17399 x: *const X509_CRL,
17400 nid: ::core::ffi::c_int,
17401 lastpos: ::core::ffi::c_int,
17402 ) -> ::core::ffi::c_int;
17403}
17404unsafe extern "C" {
17405 pub fn X509_CRL_get_ext_by_OBJ(
17406 x: *const X509_CRL,
17407 obj: *const ASN1_OBJECT,
17408 lastpos: ::core::ffi::c_int,
17409 ) -> ::core::ffi::c_int;
17410}
17411unsafe extern "C" {
17412 pub fn X509_CRL_get_ext_by_critical(
17413 x: *const X509_CRL,
17414 crit: ::core::ffi::c_int,
17415 lastpos: ::core::ffi::c_int,
17416 ) -> ::core::ffi::c_int;
17417}
17418unsafe extern "C" {
17419 pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17420}
17421unsafe extern "C" {
17422 pub fn X509_CRL_get_ext_d2i(
17423 crl: *const X509_CRL,
17424 nid: ::core::ffi::c_int,
17425 out_critical: *mut ::core::ffi::c_int,
17426 out_idx: *mut ::core::ffi::c_int,
17427 ) -> *mut ::core::ffi::c_void;
17428}
17429unsafe extern "C" {
17430 pub fn X509_CRL_get0_signature(
17431 crl: *const X509_CRL,
17432 out_sig: *mut *const ASN1_BIT_STRING,
17433 out_alg: *mut *const X509_ALGOR,
17434 );
17435}
17436unsafe extern "C" {
17437 pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::core::ffi::c_int;
17438}
17439unsafe extern "C" {
17440 pub fn i2d_X509_CRL_tbs(
17441 crl: *const X509_CRL,
17442 outp: *mut *mut ::core::ffi::c_uchar,
17443 ) -> ::core::ffi::c_int;
17444}
17445unsafe extern "C" {
17446 pub fn X509_CRL_verify(crl: *const X509_CRL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17447}
17448unsafe extern "C" {
17449 pub fn X509_CRL_new() -> *mut X509_CRL;
17450}
17451unsafe extern "C" {
17452 pub fn X509_CRL_set_version(
17453 crl: *mut X509_CRL,
17454 version: ::core::ffi::c_long,
17455 ) -> ::core::ffi::c_int;
17456}
17457unsafe extern "C" {
17458 pub fn X509_CRL_set_issuer_name(
17459 crl: *mut X509_CRL,
17460 name: *const X509_NAME,
17461 ) -> ::core::ffi::c_int;
17462}
17463unsafe extern "C" {
17464 pub fn X509_CRL_set1_lastUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17465 -> ::core::ffi::c_int;
17466}
17467unsafe extern "C" {
17468 pub fn X509_CRL_set1_nextUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17469 -> ::core::ffi::c_int;
17470}
17471unsafe extern "C" {
17472 pub fn X509_CRL_add0_revoked(crl: *mut X509_CRL, rev: *mut X509_REVOKED) -> ::core::ffi::c_int;
17473}
17474unsafe extern "C" {
17475 pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17476}
17477unsafe extern "C" {
17478 pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17479}
17480unsafe extern "C" {
17481 pub fn X509_CRL_add_ext(
17482 x: *mut X509_CRL,
17483 ex: *const X509_EXTENSION,
17484 loc: ::core::ffi::c_int,
17485 ) -> ::core::ffi::c_int;
17486}
17487unsafe extern "C" {
17488 pub fn X509_CRL_add1_ext_i2d(
17489 x: *mut X509_CRL,
17490 nid: ::core::ffi::c_int,
17491 value: *mut ::core::ffi::c_void,
17492 crit: ::core::ffi::c_int,
17493 flags: ::core::ffi::c_ulong,
17494 ) -> ::core::ffi::c_int;
17495}
17496unsafe extern "C" {
17497 pub fn X509_CRL_sign(
17498 crl: *mut X509_CRL,
17499 pkey: *mut EVP_PKEY,
17500 md: *const EVP_MD,
17501 ) -> ::core::ffi::c_int;
17502}
17503unsafe extern "C" {
17504 pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17505}
17506unsafe extern "C" {
17507 pub fn i2d_re_X509_CRL_tbs(
17508 crl: *mut X509_CRL,
17509 outp: *mut *mut ::core::ffi::c_uchar,
17510 ) -> ::core::ffi::c_int;
17511}
17512unsafe extern "C" {
17513 pub fn X509_CRL_set1_signature_algo(
17514 crl: *mut X509_CRL,
17515 algo: *const X509_ALGOR,
17516 ) -> ::core::ffi::c_int;
17517}
17518unsafe extern "C" {
17519 pub fn X509_CRL_set1_signature_value(
17520 crl: *mut X509_CRL,
17521 sig: *const u8,
17522 sig_len: usize,
17523 ) -> ::core::ffi::c_int;
17524}
17525unsafe extern "C" {
17526 pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
17527}
17528unsafe extern "C" {
17529 pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
17530}
17531unsafe extern "C" {
17532 pub fn d2i_X509_REVOKED(
17533 out: *mut *mut X509_REVOKED,
17534 inp: *mut *const u8,
17535 len: ::core::ffi::c_long,
17536 ) -> *mut X509_REVOKED;
17537}
17538unsafe extern "C" {
17539 pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::core::ffi::c_int;
17540}
17541unsafe extern "C" {
17542 pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
17543}
17544unsafe extern "C" {
17545 pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
17546}
17547unsafe extern "C" {
17548 pub fn X509_REVOKED_set_serialNumber(
17549 revoked: *mut X509_REVOKED,
17550 serial: *const ASN1_INTEGER,
17551 ) -> ::core::ffi::c_int;
17552}
17553unsafe extern "C" {
17554 pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
17555}
17556unsafe extern "C" {
17557 pub fn X509_REVOKED_set_revocationDate(
17558 revoked: *mut X509_REVOKED,
17559 tm: *const ASN1_TIME,
17560 ) -> ::core::ffi::c_int;
17561}
17562unsafe extern "C" {
17563 pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
17564}
17565unsafe extern "C" {
17566 pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::core::ffi::c_int;
17567}
17568unsafe extern "C" {
17569 pub fn X509_REVOKED_get_ext_by_NID(
17570 x: *const X509_REVOKED,
17571 nid: ::core::ffi::c_int,
17572 lastpos: ::core::ffi::c_int,
17573 ) -> ::core::ffi::c_int;
17574}
17575unsafe extern "C" {
17576 pub fn X509_REVOKED_get_ext_by_OBJ(
17577 x: *const X509_REVOKED,
17578 obj: *const ASN1_OBJECT,
17579 lastpos: ::core::ffi::c_int,
17580 ) -> ::core::ffi::c_int;
17581}
17582unsafe extern "C" {
17583 pub fn X509_REVOKED_get_ext_by_critical(
17584 x: *const X509_REVOKED,
17585 crit: ::core::ffi::c_int,
17586 lastpos: ::core::ffi::c_int,
17587 ) -> ::core::ffi::c_int;
17588}
17589unsafe extern "C" {
17590 pub fn X509_REVOKED_get_ext(
17591 x: *const X509_REVOKED,
17592 loc: ::core::ffi::c_int,
17593 ) -> *mut X509_EXTENSION;
17594}
17595unsafe extern "C" {
17596 pub fn X509_REVOKED_delete_ext(
17597 x: *mut X509_REVOKED,
17598 loc: ::core::ffi::c_int,
17599 ) -> *mut X509_EXTENSION;
17600}
17601unsafe extern "C" {
17602 pub fn X509_REVOKED_add_ext(
17603 x: *mut X509_REVOKED,
17604 ex: *const X509_EXTENSION,
17605 loc: ::core::ffi::c_int,
17606 ) -> ::core::ffi::c_int;
17607}
17608unsafe extern "C" {
17609 pub fn X509_REVOKED_get_ext_d2i(
17610 revoked: *const X509_REVOKED,
17611 nid: ::core::ffi::c_int,
17612 out_critical: *mut ::core::ffi::c_int,
17613 out_idx: *mut ::core::ffi::c_int,
17614 ) -> *mut ::core::ffi::c_void;
17615}
17616unsafe extern "C" {
17617 pub fn X509_REVOKED_add1_ext_i2d(
17618 x: *mut X509_REVOKED,
17619 nid: ::core::ffi::c_int,
17620 value: *mut ::core::ffi::c_void,
17621 crit: ::core::ffi::c_int,
17622 flags: ::core::ffi::c_ulong,
17623 ) -> ::core::ffi::c_int;
17624}
17625unsafe extern "C" {
17626 pub fn X509_REQ_dup(req: *const X509_REQ) -> *mut X509_REQ;
17627}
17628unsafe extern "C" {
17629 pub fn X509_REQ_free(req: *mut X509_REQ);
17630}
17631unsafe extern "C" {
17632 pub fn d2i_X509_REQ(
17633 out: *mut *mut X509_REQ,
17634 inp: *mut *const u8,
17635 len: ::core::ffi::c_long,
17636 ) -> *mut X509_REQ;
17637}
17638unsafe extern "C" {
17639 pub fn i2d_X509_REQ(req: *const X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17640}
17641unsafe extern "C" {
17642 pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::core::ffi::c_long;
17643}
17644unsafe extern "C" {
17645 pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
17646}
17647unsafe extern "C" {
17648 pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17649}
17650unsafe extern "C" {
17651 pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17652}
17653unsafe extern "C" {
17654 pub fn X509_REQ_check_private_key(
17655 req: *const X509_REQ,
17656 pkey: *const EVP_PKEY,
17657 ) -> ::core::ffi::c_int;
17658}
17659unsafe extern "C" {
17660 pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::core::ffi::c_int;
17661}
17662unsafe extern "C" {
17663 pub fn X509_REQ_get_attr(req: *const X509_REQ, loc: ::core::ffi::c_int) -> *mut X509_ATTRIBUTE;
17664}
17665unsafe extern "C" {
17666 pub fn X509_REQ_get_attr_by_NID(
17667 req: *const X509_REQ,
17668 nid: ::core::ffi::c_int,
17669 lastpos: ::core::ffi::c_int,
17670 ) -> ::core::ffi::c_int;
17671}
17672unsafe extern "C" {
17673 pub fn X509_REQ_get_attr_by_OBJ(
17674 req: *const X509_REQ,
17675 obj: *const ASN1_OBJECT,
17676 lastpos: ::core::ffi::c_int,
17677 ) -> ::core::ffi::c_int;
17678}
17679unsafe extern "C" {
17680 pub fn X509_REQ_extension_nid(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
17681}
17682unsafe extern "C" {
17683 pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
17684}
17685unsafe extern "C" {
17686 pub fn X509_REQ_get0_signature(
17687 req: *const X509_REQ,
17688 out_sig: *mut *const ASN1_BIT_STRING,
17689 out_alg: *mut *const X509_ALGOR,
17690 );
17691}
17692unsafe extern "C" {
17693 pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::core::ffi::c_int;
17694}
17695unsafe extern "C" {
17696 pub fn X509_REQ_verify(req: *const X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17697}
17698unsafe extern "C" {
17699 pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
17700}
17701unsafe extern "C" {
17702 pub fn X509_REQ_new() -> *mut X509_REQ;
17703}
17704unsafe extern "C" {
17705 pub fn X509_REQ_set_version(
17706 req: *mut X509_REQ,
17707 version: ::core::ffi::c_long,
17708 ) -> ::core::ffi::c_int;
17709}
17710unsafe extern "C" {
17711 pub fn X509_REQ_set_subject_name(
17712 req: *mut X509_REQ,
17713 name: *mut X509_NAME,
17714 ) -> ::core::ffi::c_int;
17715}
17716unsafe extern "C" {
17717 pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17718}
17719unsafe extern "C" {
17720 pub fn X509_REQ_delete_attr(req: *mut X509_REQ, loc: ::core::ffi::c_int)
17721 -> *mut X509_ATTRIBUTE;
17722}
17723unsafe extern "C" {
17724 pub fn X509_REQ_add1_attr(
17725 req: *mut X509_REQ,
17726 attr: *const X509_ATTRIBUTE,
17727 ) -> ::core::ffi::c_int;
17728}
17729unsafe extern "C" {
17730 pub fn X509_REQ_add1_attr_by_OBJ(
17731 req: *mut X509_REQ,
17732 obj: *const ASN1_OBJECT,
17733 attrtype: ::core::ffi::c_int,
17734 data: *const ::core::ffi::c_uchar,
17735 len: ::core::ffi::c_int,
17736 ) -> ::core::ffi::c_int;
17737}
17738unsafe extern "C" {
17739 pub fn X509_REQ_add1_attr_by_NID(
17740 req: *mut X509_REQ,
17741 nid: ::core::ffi::c_int,
17742 attrtype: ::core::ffi::c_int,
17743 data: *const ::core::ffi::c_uchar,
17744 len: ::core::ffi::c_int,
17745 ) -> ::core::ffi::c_int;
17746}
17747unsafe extern "C" {
17748 pub fn X509_REQ_add1_attr_by_txt(
17749 req: *mut X509_REQ,
17750 attrname: *const ::core::ffi::c_char,
17751 attrtype: ::core::ffi::c_int,
17752 data: *const ::core::ffi::c_uchar,
17753 len: ::core::ffi::c_int,
17754 ) -> ::core::ffi::c_int;
17755}
17756unsafe extern "C" {
17757 pub fn X509_REQ_add_extensions_nid(
17758 req: *mut X509_REQ,
17759 exts: *const stack_st_X509_EXTENSION,
17760 nid: ::core::ffi::c_int,
17761 ) -> ::core::ffi::c_int;
17762}
17763unsafe extern "C" {
17764 pub fn X509_REQ_add_extensions(
17765 req: *mut X509_REQ,
17766 exts: *const stack_st_X509_EXTENSION,
17767 ) -> ::core::ffi::c_int;
17768}
17769unsafe extern "C" {
17770 pub fn X509_REQ_sign(
17771 req: *mut X509_REQ,
17772 pkey: *mut EVP_PKEY,
17773 md: *const EVP_MD,
17774 ) -> ::core::ffi::c_int;
17775}
17776unsafe extern "C" {
17777 pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17778}
17779unsafe extern "C" {
17780 pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17781}
17782unsafe extern "C" {
17783 pub fn X509_REQ_set1_signature_algo(
17784 req: *mut X509_REQ,
17785 algo: *const X509_ALGOR,
17786 ) -> ::core::ffi::c_int;
17787}
17788unsafe extern "C" {
17789 pub fn X509_REQ_set1_signature_value(
17790 req: *mut X509_REQ,
17791 sig: *const u8,
17792 sig_len: usize,
17793 ) -> ::core::ffi::c_int;
17794}
17795#[repr(C)]
17796#[derive(Debug)]
17797pub struct stack_st_X509_NAME_ENTRY {
17798 _unused: [u8; 0],
17799}
17800pub type sk_X509_NAME_ENTRY_free_func =
17801 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
17802pub type sk_X509_NAME_ENTRY_copy_func = ::core::option::Option<
17803 unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
17804>;
17805pub type sk_X509_NAME_ENTRY_cmp_func = ::core::option::Option<
17806 unsafe extern "C" fn(
17807 arg1: *const *const X509_NAME_ENTRY,
17808 arg2: *const *const X509_NAME_ENTRY,
17809 ) -> ::core::ffi::c_int,
17810>;
17811pub type sk_X509_NAME_ENTRY_delete_if_func = ::core::option::Option<
17812 unsafe extern "C" fn(
17813 arg1: *mut X509_NAME_ENTRY,
17814 arg2: *mut ::core::ffi::c_void,
17815 ) -> ::core::ffi::c_int,
17816>;
17817unsafe extern "C" {
17818 #[link_name = "sk_X509_NAME_ENTRY_call_free_func__extern"]
17819 pub fn sk_X509_NAME_ENTRY_call_free_func(
17820 free_func: OPENSSL_sk_free_func,
17821 ptr: *mut ::core::ffi::c_void,
17822 );
17823}
17824unsafe extern "C" {
17825 #[link_name = "sk_X509_NAME_ENTRY_call_copy_func__extern"]
17826 pub fn sk_X509_NAME_ENTRY_call_copy_func(
17827 copy_func: OPENSSL_sk_copy_func,
17828 ptr: *const ::core::ffi::c_void,
17829 ) -> *mut ::core::ffi::c_void;
17830}
17831unsafe extern "C" {
17832 #[link_name = "sk_X509_NAME_ENTRY_call_cmp_func__extern"]
17833 pub fn sk_X509_NAME_ENTRY_call_cmp_func(
17834 cmp_func: OPENSSL_sk_cmp_func,
17835 a: *const ::core::ffi::c_void,
17836 b: *const ::core::ffi::c_void,
17837 ) -> ::core::ffi::c_int;
17838}
17839unsafe extern "C" {
17840 #[link_name = "sk_X509_NAME_ENTRY_call_delete_if_func__extern"]
17841 pub fn sk_X509_NAME_ENTRY_call_delete_if_func(
17842 func: OPENSSL_sk_delete_if_func,
17843 obj: *mut ::core::ffi::c_void,
17844 data: *mut ::core::ffi::c_void,
17845 ) -> ::core::ffi::c_int;
17846}
17847unsafe extern "C" {
17848 #[link_name = "sk_X509_NAME_ENTRY_new__extern"]
17849 pub fn sk_X509_NAME_ENTRY_new(
17850 comp: sk_X509_NAME_ENTRY_cmp_func,
17851 ) -> *mut stack_st_X509_NAME_ENTRY;
17852}
17853unsafe extern "C" {
17854 #[link_name = "sk_X509_NAME_ENTRY_new_null__extern"]
17855 pub fn sk_X509_NAME_ENTRY_new_null() -> *mut stack_st_X509_NAME_ENTRY;
17856}
17857unsafe extern "C" {
17858 #[link_name = "sk_X509_NAME_ENTRY_num__extern"]
17859 pub fn sk_X509_NAME_ENTRY_num(sk: *const stack_st_X509_NAME_ENTRY) -> usize;
17860}
17861unsafe extern "C" {
17862 #[link_name = "sk_X509_NAME_ENTRY_zero__extern"]
17863 pub fn sk_X509_NAME_ENTRY_zero(sk: *mut stack_st_X509_NAME_ENTRY);
17864}
17865unsafe extern "C" {
17866 #[link_name = "sk_X509_NAME_ENTRY_value__extern"]
17867 pub fn sk_X509_NAME_ENTRY_value(
17868 sk: *const stack_st_X509_NAME_ENTRY,
17869 i: usize,
17870 ) -> *mut X509_NAME_ENTRY;
17871}
17872unsafe extern "C" {
17873 #[link_name = "sk_X509_NAME_ENTRY_set__extern"]
17874 pub fn sk_X509_NAME_ENTRY_set(
17875 sk: *mut stack_st_X509_NAME_ENTRY,
17876 i: usize,
17877 p: *mut X509_NAME_ENTRY,
17878 ) -> *mut X509_NAME_ENTRY;
17879}
17880unsafe extern "C" {
17881 #[link_name = "sk_X509_NAME_ENTRY_free__extern"]
17882 pub fn sk_X509_NAME_ENTRY_free(sk: *mut stack_st_X509_NAME_ENTRY);
17883}
17884unsafe extern "C" {
17885 #[link_name = "sk_X509_NAME_ENTRY_pop_free__extern"]
17886 pub fn sk_X509_NAME_ENTRY_pop_free(
17887 sk: *mut stack_st_X509_NAME_ENTRY,
17888 free_func: sk_X509_NAME_ENTRY_free_func,
17889 );
17890}
17891unsafe extern "C" {
17892 #[link_name = "sk_X509_NAME_ENTRY_insert__extern"]
17893 pub fn sk_X509_NAME_ENTRY_insert(
17894 sk: *mut stack_st_X509_NAME_ENTRY,
17895 p: *mut X509_NAME_ENTRY,
17896 where_: usize,
17897 ) -> usize;
17898}
17899unsafe extern "C" {
17900 #[link_name = "sk_X509_NAME_ENTRY_delete__extern"]
17901 pub fn sk_X509_NAME_ENTRY_delete(
17902 sk: *mut stack_st_X509_NAME_ENTRY,
17903 where_: usize,
17904 ) -> *mut X509_NAME_ENTRY;
17905}
17906unsafe extern "C" {
17907 #[link_name = "sk_X509_NAME_ENTRY_delete_ptr__extern"]
17908 pub fn sk_X509_NAME_ENTRY_delete_ptr(
17909 sk: *mut stack_st_X509_NAME_ENTRY,
17910 p: *const X509_NAME_ENTRY,
17911 ) -> *mut X509_NAME_ENTRY;
17912}
17913unsafe extern "C" {
17914 #[link_name = "sk_X509_NAME_ENTRY_delete_if__extern"]
17915 pub fn sk_X509_NAME_ENTRY_delete_if(
17916 sk: *mut stack_st_X509_NAME_ENTRY,
17917 func: sk_X509_NAME_ENTRY_delete_if_func,
17918 data: *mut ::core::ffi::c_void,
17919 );
17920}
17921unsafe extern "C" {
17922 #[link_name = "sk_X509_NAME_ENTRY_find__extern"]
17923 pub fn sk_X509_NAME_ENTRY_find(
17924 sk: *const stack_st_X509_NAME_ENTRY,
17925 out_index: *mut usize,
17926 p: *const X509_NAME_ENTRY,
17927 ) -> ::core::ffi::c_int;
17928}
17929unsafe extern "C" {
17930 #[link_name = "sk_X509_NAME_ENTRY_shift__extern"]
17931 pub fn sk_X509_NAME_ENTRY_shift(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
17932}
17933unsafe extern "C" {
17934 #[link_name = "sk_X509_NAME_ENTRY_push__extern"]
17935 pub fn sk_X509_NAME_ENTRY_push(
17936 sk: *mut stack_st_X509_NAME_ENTRY,
17937 p: *mut X509_NAME_ENTRY,
17938 ) -> usize;
17939}
17940unsafe extern "C" {
17941 #[link_name = "sk_X509_NAME_ENTRY_pop__extern"]
17942 pub fn sk_X509_NAME_ENTRY_pop(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
17943}
17944unsafe extern "C" {
17945 #[link_name = "sk_X509_NAME_ENTRY_dup__extern"]
17946 pub fn sk_X509_NAME_ENTRY_dup(
17947 sk: *const stack_st_X509_NAME_ENTRY,
17948 ) -> *mut stack_st_X509_NAME_ENTRY;
17949}
17950unsafe extern "C" {
17951 #[link_name = "sk_X509_NAME_ENTRY_sort__extern"]
17952 pub fn sk_X509_NAME_ENTRY_sort(sk: *mut stack_st_X509_NAME_ENTRY);
17953}
17954unsafe extern "C" {
17955 #[link_name = "sk_X509_NAME_ENTRY_sort_and_dedup__extern"]
17956 pub fn sk_X509_NAME_ENTRY_sort_and_dedup(
17957 sk: *mut stack_st_X509_NAME_ENTRY,
17958 free_func: sk_X509_NAME_ENTRY_free_func,
17959 );
17960}
17961unsafe extern "C" {
17962 #[link_name = "sk_X509_NAME_ENTRY_is_sorted__extern"]
17963 pub fn sk_X509_NAME_ENTRY_is_sorted(sk: *const stack_st_X509_NAME_ENTRY) -> ::core::ffi::c_int;
17964}
17965unsafe extern "C" {
17966 #[link_name = "sk_X509_NAME_ENTRY_set_cmp_func__extern"]
17967 pub fn sk_X509_NAME_ENTRY_set_cmp_func(
17968 sk: *mut stack_st_X509_NAME_ENTRY,
17969 comp: sk_X509_NAME_ENTRY_cmp_func,
17970 ) -> sk_X509_NAME_ENTRY_cmp_func;
17971}
17972unsafe extern "C" {
17973 #[link_name = "sk_X509_NAME_ENTRY_deep_copy__extern"]
17974 pub fn sk_X509_NAME_ENTRY_deep_copy(
17975 sk: *const stack_st_X509_NAME_ENTRY,
17976 copy_func: sk_X509_NAME_ENTRY_copy_func,
17977 free_func: sk_X509_NAME_ENTRY_free_func,
17978 ) -> *mut stack_st_X509_NAME_ENTRY;
17979}
17980#[repr(C)]
17981#[derive(Debug)]
17982pub struct stack_st_X509_NAME {
17983 _unused: [u8; 0],
17984}
17985pub type sk_X509_NAME_free_func =
17986 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
17987pub type sk_X509_NAME_copy_func =
17988 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
17989pub type sk_X509_NAME_cmp_func = ::core::option::Option<
17990 unsafe extern "C" fn(
17991 arg1: *const *const X509_NAME,
17992 arg2: *const *const X509_NAME,
17993 ) -> ::core::ffi::c_int,
17994>;
17995pub type sk_X509_NAME_delete_if_func = ::core::option::Option<
17996 unsafe extern "C" fn(
17997 arg1: *mut X509_NAME,
17998 arg2: *mut ::core::ffi::c_void,
17999 ) -> ::core::ffi::c_int,
18000>;
18001unsafe extern "C" {
18002 #[link_name = "sk_X509_NAME_call_free_func__extern"]
18003 pub fn sk_X509_NAME_call_free_func(
18004 free_func: OPENSSL_sk_free_func,
18005 ptr: *mut ::core::ffi::c_void,
18006 );
18007}
18008unsafe extern "C" {
18009 #[link_name = "sk_X509_NAME_call_copy_func__extern"]
18010 pub fn sk_X509_NAME_call_copy_func(
18011 copy_func: OPENSSL_sk_copy_func,
18012 ptr: *const ::core::ffi::c_void,
18013 ) -> *mut ::core::ffi::c_void;
18014}
18015unsafe extern "C" {
18016 #[link_name = "sk_X509_NAME_call_cmp_func__extern"]
18017 pub fn sk_X509_NAME_call_cmp_func(
18018 cmp_func: OPENSSL_sk_cmp_func,
18019 a: *const ::core::ffi::c_void,
18020 b: *const ::core::ffi::c_void,
18021 ) -> ::core::ffi::c_int;
18022}
18023unsafe extern "C" {
18024 #[link_name = "sk_X509_NAME_call_delete_if_func__extern"]
18025 pub fn sk_X509_NAME_call_delete_if_func(
18026 func: OPENSSL_sk_delete_if_func,
18027 obj: *mut ::core::ffi::c_void,
18028 data: *mut ::core::ffi::c_void,
18029 ) -> ::core::ffi::c_int;
18030}
18031unsafe extern "C" {
18032 #[link_name = "sk_X509_NAME_new__extern"]
18033 pub fn sk_X509_NAME_new(comp: sk_X509_NAME_cmp_func) -> *mut stack_st_X509_NAME;
18034}
18035unsafe extern "C" {
18036 #[link_name = "sk_X509_NAME_new_null__extern"]
18037 pub fn sk_X509_NAME_new_null() -> *mut stack_st_X509_NAME;
18038}
18039unsafe extern "C" {
18040 #[link_name = "sk_X509_NAME_num__extern"]
18041 pub fn sk_X509_NAME_num(sk: *const stack_st_X509_NAME) -> usize;
18042}
18043unsafe extern "C" {
18044 #[link_name = "sk_X509_NAME_zero__extern"]
18045 pub fn sk_X509_NAME_zero(sk: *mut stack_st_X509_NAME);
18046}
18047unsafe extern "C" {
18048 #[link_name = "sk_X509_NAME_value__extern"]
18049 pub fn sk_X509_NAME_value(sk: *const stack_st_X509_NAME, i: usize) -> *mut X509_NAME;
18050}
18051unsafe extern "C" {
18052 #[link_name = "sk_X509_NAME_set__extern"]
18053 pub fn sk_X509_NAME_set(
18054 sk: *mut stack_st_X509_NAME,
18055 i: usize,
18056 p: *mut X509_NAME,
18057 ) -> *mut X509_NAME;
18058}
18059unsafe extern "C" {
18060 #[link_name = "sk_X509_NAME_free__extern"]
18061 pub fn sk_X509_NAME_free(sk: *mut stack_st_X509_NAME);
18062}
18063unsafe extern "C" {
18064 #[link_name = "sk_X509_NAME_pop_free__extern"]
18065 pub fn sk_X509_NAME_pop_free(sk: *mut stack_st_X509_NAME, free_func: sk_X509_NAME_free_func);
18066}
18067unsafe extern "C" {
18068 #[link_name = "sk_X509_NAME_insert__extern"]
18069 pub fn sk_X509_NAME_insert(
18070 sk: *mut stack_st_X509_NAME,
18071 p: *mut X509_NAME,
18072 where_: usize,
18073 ) -> usize;
18074}
18075unsafe extern "C" {
18076 #[link_name = "sk_X509_NAME_delete__extern"]
18077 pub fn sk_X509_NAME_delete(sk: *mut stack_st_X509_NAME, where_: usize) -> *mut X509_NAME;
18078}
18079unsafe extern "C" {
18080 #[link_name = "sk_X509_NAME_delete_ptr__extern"]
18081 pub fn sk_X509_NAME_delete_ptr(
18082 sk: *mut stack_st_X509_NAME,
18083 p: *const X509_NAME,
18084 ) -> *mut X509_NAME;
18085}
18086unsafe extern "C" {
18087 #[link_name = "sk_X509_NAME_delete_if__extern"]
18088 pub fn sk_X509_NAME_delete_if(
18089 sk: *mut stack_st_X509_NAME,
18090 func: sk_X509_NAME_delete_if_func,
18091 data: *mut ::core::ffi::c_void,
18092 );
18093}
18094unsafe extern "C" {
18095 #[link_name = "sk_X509_NAME_find__extern"]
18096 pub fn sk_X509_NAME_find(
18097 sk: *const stack_st_X509_NAME,
18098 out_index: *mut usize,
18099 p: *const X509_NAME,
18100 ) -> ::core::ffi::c_int;
18101}
18102unsafe extern "C" {
18103 #[link_name = "sk_X509_NAME_shift__extern"]
18104 pub fn sk_X509_NAME_shift(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18105}
18106unsafe extern "C" {
18107 #[link_name = "sk_X509_NAME_push__extern"]
18108 pub fn sk_X509_NAME_push(sk: *mut stack_st_X509_NAME, p: *mut X509_NAME) -> usize;
18109}
18110unsafe extern "C" {
18111 #[link_name = "sk_X509_NAME_pop__extern"]
18112 pub fn sk_X509_NAME_pop(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18113}
18114unsafe extern "C" {
18115 #[link_name = "sk_X509_NAME_dup__extern"]
18116 pub fn sk_X509_NAME_dup(sk: *const stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
18117}
18118unsafe extern "C" {
18119 #[link_name = "sk_X509_NAME_sort__extern"]
18120 pub fn sk_X509_NAME_sort(sk: *mut stack_st_X509_NAME);
18121}
18122unsafe extern "C" {
18123 #[link_name = "sk_X509_NAME_sort_and_dedup__extern"]
18124 pub fn sk_X509_NAME_sort_and_dedup(
18125 sk: *mut stack_st_X509_NAME,
18126 free_func: sk_X509_NAME_free_func,
18127 );
18128}
18129unsafe extern "C" {
18130 #[link_name = "sk_X509_NAME_is_sorted__extern"]
18131 pub fn sk_X509_NAME_is_sorted(sk: *const stack_st_X509_NAME) -> ::core::ffi::c_int;
18132}
18133unsafe extern "C" {
18134 #[link_name = "sk_X509_NAME_set_cmp_func__extern"]
18135 pub fn sk_X509_NAME_set_cmp_func(
18136 sk: *mut stack_st_X509_NAME,
18137 comp: sk_X509_NAME_cmp_func,
18138 ) -> sk_X509_NAME_cmp_func;
18139}
18140unsafe extern "C" {
18141 #[link_name = "sk_X509_NAME_deep_copy__extern"]
18142 pub fn sk_X509_NAME_deep_copy(
18143 sk: *const stack_st_X509_NAME,
18144 copy_func: sk_X509_NAME_copy_func,
18145 free_func: sk_X509_NAME_free_func,
18146 ) -> *mut stack_st_X509_NAME;
18147}
18148unsafe extern "C" {
18149 pub static X509_NAME_it: ASN1_ITEM;
18150}
18151unsafe extern "C" {
18152 pub fn X509_NAME_new() -> *mut X509_NAME;
18153}
18154unsafe extern "C" {
18155 pub fn X509_NAME_free(name: *mut X509_NAME);
18156}
18157unsafe extern "C" {
18158 pub fn d2i_X509_NAME(
18159 out: *mut *mut X509_NAME,
18160 inp: *mut *const u8,
18161 len: ::core::ffi::c_long,
18162 ) -> *mut X509_NAME;
18163}
18164unsafe extern "C" {
18165 pub fn i2d_X509_NAME(in_: *const X509_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18166}
18167unsafe extern "C" {
18168 pub fn X509_NAME_dup(name: *const X509_NAME) -> *mut X509_NAME;
18169}
18170unsafe extern "C" {
18171 pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::core::ffi::c_int;
18172}
18173unsafe extern "C" {
18174 pub fn X509_NAME_get0_der(
18175 name: *const X509_NAME,
18176 out_der: *mut *const u8,
18177 out_der_len: *mut usize,
18178 ) -> ::core::ffi::c_int;
18179}
18180unsafe extern "C" {
18181 pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *const X509_NAME) -> ::core::ffi::c_int;
18182}
18183unsafe extern "C" {
18184 pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::core::ffi::c_int;
18185}
18186unsafe extern "C" {
18187 pub fn X509_NAME_get_index_by_NID(
18188 name: *const X509_NAME,
18189 nid: ::core::ffi::c_int,
18190 lastpos: ::core::ffi::c_int,
18191 ) -> ::core::ffi::c_int;
18192}
18193unsafe extern "C" {
18194 pub fn X509_NAME_get_index_by_OBJ(
18195 name: *const X509_NAME,
18196 obj: *const ASN1_OBJECT,
18197 lastpos: ::core::ffi::c_int,
18198 ) -> ::core::ffi::c_int;
18199}
18200unsafe extern "C" {
18201 pub fn X509_NAME_get_entry(
18202 name: *const X509_NAME,
18203 loc: ::core::ffi::c_int,
18204 ) -> *mut X509_NAME_ENTRY;
18205}
18206unsafe extern "C" {
18207 pub fn X509_NAME_delete_entry(
18208 name: *mut X509_NAME,
18209 loc: ::core::ffi::c_int,
18210 ) -> *mut X509_NAME_ENTRY;
18211}
18212unsafe extern "C" {
18213 pub fn X509_NAME_add_entry(
18214 name: *mut X509_NAME,
18215 entry: *const X509_NAME_ENTRY,
18216 loc: ::core::ffi::c_int,
18217 set: ::core::ffi::c_int,
18218 ) -> ::core::ffi::c_int;
18219}
18220unsafe extern "C" {
18221 pub fn X509_NAME_add_entry_by_OBJ(
18222 name: *mut X509_NAME,
18223 obj: *const ASN1_OBJECT,
18224 type_: ::core::ffi::c_int,
18225 bytes: *const u8,
18226 len: ossl_ssize_t,
18227 loc: ::core::ffi::c_int,
18228 set: ::core::ffi::c_int,
18229 ) -> ::core::ffi::c_int;
18230}
18231unsafe extern "C" {
18232 pub fn X509_NAME_add_entry_by_NID(
18233 name: *mut X509_NAME,
18234 nid: ::core::ffi::c_int,
18235 type_: ::core::ffi::c_int,
18236 bytes: *const u8,
18237 len: ossl_ssize_t,
18238 loc: ::core::ffi::c_int,
18239 set: ::core::ffi::c_int,
18240 ) -> ::core::ffi::c_int;
18241}
18242unsafe extern "C" {
18243 pub fn X509_NAME_add_entry_by_txt(
18244 name: *mut X509_NAME,
18245 field: *const ::core::ffi::c_char,
18246 type_: ::core::ffi::c_int,
18247 bytes: *const u8,
18248 len: ossl_ssize_t,
18249 loc: ::core::ffi::c_int,
18250 set: ::core::ffi::c_int,
18251 ) -> ::core::ffi::c_int;
18252}
18253unsafe extern "C" {
18254 pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
18255}
18256unsafe extern "C" {
18257 pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
18258}
18259unsafe extern "C" {
18260 pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
18261}
18262unsafe extern "C" {
18263 pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
18264}
18265unsafe extern "C" {
18266 pub fn X509_NAME_ENTRY_set_object(
18267 entry: *mut X509_NAME_ENTRY,
18268 obj: *const ASN1_OBJECT,
18269 ) -> ::core::ffi::c_int;
18270}
18271unsafe extern "C" {
18272 pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
18273}
18274unsafe extern "C" {
18275 pub fn X509_NAME_ENTRY_set_data(
18276 entry: *mut X509_NAME_ENTRY,
18277 type_: ::core::ffi::c_int,
18278 bytes: *const u8,
18279 len: ossl_ssize_t,
18280 ) -> ::core::ffi::c_int;
18281}
18282unsafe extern "C" {
18283 pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::core::ffi::c_int;
18284}
18285unsafe extern "C" {
18286 pub fn X509_NAME_ENTRY_create_by_OBJ(
18287 out: *mut *mut X509_NAME_ENTRY,
18288 obj: *const ASN1_OBJECT,
18289 type_: ::core::ffi::c_int,
18290 bytes: *const u8,
18291 len: ossl_ssize_t,
18292 ) -> *mut X509_NAME_ENTRY;
18293}
18294unsafe extern "C" {
18295 pub fn X509_NAME_ENTRY_create_by_NID(
18296 out: *mut *mut X509_NAME_ENTRY,
18297 nid: ::core::ffi::c_int,
18298 type_: ::core::ffi::c_int,
18299 bytes: *const u8,
18300 len: ossl_ssize_t,
18301 ) -> *mut X509_NAME_ENTRY;
18302}
18303unsafe extern "C" {
18304 pub fn X509_NAME_ENTRY_create_by_txt(
18305 out: *mut *mut X509_NAME_ENTRY,
18306 field: *const ::core::ffi::c_char,
18307 type_: ::core::ffi::c_int,
18308 bytes: *const u8,
18309 len: ossl_ssize_t,
18310 ) -> *mut X509_NAME_ENTRY;
18311}
18312unsafe extern "C" {
18313 pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
18314}
18315unsafe extern "C" {
18316 pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
18317}
18318unsafe extern "C" {
18319 pub fn d2i_X509_PUBKEY(
18320 out: *mut *mut X509_PUBKEY,
18321 inp: *mut *const u8,
18322 len: ::core::ffi::c_long,
18323 ) -> *mut X509_PUBKEY;
18324}
18325unsafe extern "C" {
18326 pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
18327}
18328unsafe extern "C" {
18329 pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
18330}
18331unsafe extern "C" {
18332 pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18333}
18334unsafe extern "C" {
18335 pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18336}
18337unsafe extern "C" {
18338 pub fn X509_PUBKEY_set0_param(
18339 pub_: *mut X509_PUBKEY,
18340 obj: *mut ASN1_OBJECT,
18341 param_type: ::core::ffi::c_int,
18342 param_value: *mut ::core::ffi::c_void,
18343 key: *mut u8,
18344 key_len: ::core::ffi::c_int,
18345 ) -> ::core::ffi::c_int;
18346}
18347unsafe extern "C" {
18348 pub fn X509_PUBKEY_get0_param(
18349 out_obj: *mut *mut ASN1_OBJECT,
18350 out_key: *mut *const u8,
18351 out_key_len: *mut ::core::ffi::c_int,
18352 out_alg: *mut *mut X509_ALGOR,
18353 pub_: *mut X509_PUBKEY,
18354 ) -> ::core::ffi::c_int;
18355}
18356unsafe extern "C" {
18357 pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
18358}
18359unsafe extern "C" {
18360 pub static X509_EXTENSION_it: ASN1_ITEM;
18361}
18362unsafe extern "C" {
18363 pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
18364}
18365unsafe extern "C" {
18366 pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
18367}
18368unsafe extern "C" {
18369 pub fn d2i_X509_EXTENSION(
18370 out: *mut *mut X509_EXTENSION,
18371 inp: *mut *const u8,
18372 len: ::core::ffi::c_long,
18373 ) -> *mut X509_EXTENSION;
18374}
18375unsafe extern "C" {
18376 pub fn i2d_X509_EXTENSION(ex: *const X509_EXTENSION, outp: *mut *mut u8) -> ::core::ffi::c_int;
18377}
18378unsafe extern "C" {
18379 pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
18380}
18381unsafe extern "C" {
18382 pub fn X509_EXTENSION_create_by_NID(
18383 ex: *mut *mut X509_EXTENSION,
18384 nid: ::core::ffi::c_int,
18385 crit: ::core::ffi::c_int,
18386 data: *const ASN1_OCTET_STRING,
18387 ) -> *mut X509_EXTENSION;
18388}
18389unsafe extern "C" {
18390 pub fn X509_EXTENSION_create_by_OBJ(
18391 ex: *mut *mut X509_EXTENSION,
18392 obj: *const ASN1_OBJECT,
18393 crit: ::core::ffi::c_int,
18394 data: *const ASN1_OCTET_STRING,
18395 ) -> *mut X509_EXTENSION;
18396}
18397unsafe extern "C" {
18398 pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
18399}
18400unsafe extern "C" {
18401 pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
18402}
18403unsafe extern "C" {
18404 pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
18405}
18406unsafe extern "C" {
18407 pub fn X509_EXTENSION_set_object(
18408 ex: *mut X509_EXTENSION,
18409 obj: *const ASN1_OBJECT,
18410 ) -> ::core::ffi::c_int;
18411}
18412unsafe extern "C" {
18413 pub fn X509_EXTENSION_set_critical(
18414 ex: *mut X509_EXTENSION,
18415 crit: ::core::ffi::c_int,
18416 ) -> ::core::ffi::c_int;
18417}
18418unsafe extern "C" {
18419 pub fn X509_EXTENSION_set_data(
18420 ex: *mut X509_EXTENSION,
18421 data: *const ASN1_OCTET_STRING,
18422 ) -> ::core::ffi::c_int;
18423}
18424pub type sk_X509_EXTENSION_free_func =
18425 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
18426pub type sk_X509_EXTENSION_copy_func = ::core::option::Option<
18427 unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION,
18428>;
18429pub type sk_X509_EXTENSION_cmp_func = ::core::option::Option<
18430 unsafe extern "C" fn(
18431 arg1: *const *const X509_EXTENSION,
18432 arg2: *const *const X509_EXTENSION,
18433 ) -> ::core::ffi::c_int,
18434>;
18435pub type sk_X509_EXTENSION_delete_if_func = ::core::option::Option<
18436 unsafe extern "C" fn(
18437 arg1: *mut X509_EXTENSION,
18438 arg2: *mut ::core::ffi::c_void,
18439 ) -> ::core::ffi::c_int,
18440>;
18441unsafe extern "C" {
18442 #[link_name = "sk_X509_EXTENSION_call_free_func__extern"]
18443 pub fn sk_X509_EXTENSION_call_free_func(
18444 free_func: OPENSSL_sk_free_func,
18445 ptr: *mut ::core::ffi::c_void,
18446 );
18447}
18448unsafe extern "C" {
18449 #[link_name = "sk_X509_EXTENSION_call_copy_func__extern"]
18450 pub fn sk_X509_EXTENSION_call_copy_func(
18451 copy_func: OPENSSL_sk_copy_func,
18452 ptr: *const ::core::ffi::c_void,
18453 ) -> *mut ::core::ffi::c_void;
18454}
18455unsafe extern "C" {
18456 #[link_name = "sk_X509_EXTENSION_call_cmp_func__extern"]
18457 pub fn sk_X509_EXTENSION_call_cmp_func(
18458 cmp_func: OPENSSL_sk_cmp_func,
18459 a: *const ::core::ffi::c_void,
18460 b: *const ::core::ffi::c_void,
18461 ) -> ::core::ffi::c_int;
18462}
18463unsafe extern "C" {
18464 #[link_name = "sk_X509_EXTENSION_call_delete_if_func__extern"]
18465 pub fn sk_X509_EXTENSION_call_delete_if_func(
18466 func: OPENSSL_sk_delete_if_func,
18467 obj: *mut ::core::ffi::c_void,
18468 data: *mut ::core::ffi::c_void,
18469 ) -> ::core::ffi::c_int;
18470}
18471unsafe extern "C" {
18472 #[link_name = "sk_X509_EXTENSION_new__extern"]
18473 pub fn sk_X509_EXTENSION_new(comp: sk_X509_EXTENSION_cmp_func) -> *mut stack_st_X509_EXTENSION;
18474}
18475unsafe extern "C" {
18476 #[link_name = "sk_X509_EXTENSION_new_null__extern"]
18477 pub fn sk_X509_EXTENSION_new_null() -> *mut stack_st_X509_EXTENSION;
18478}
18479unsafe extern "C" {
18480 #[link_name = "sk_X509_EXTENSION_num__extern"]
18481 pub fn sk_X509_EXTENSION_num(sk: *const stack_st_X509_EXTENSION) -> usize;
18482}
18483unsafe extern "C" {
18484 #[link_name = "sk_X509_EXTENSION_zero__extern"]
18485 pub fn sk_X509_EXTENSION_zero(sk: *mut stack_st_X509_EXTENSION);
18486}
18487unsafe extern "C" {
18488 #[link_name = "sk_X509_EXTENSION_value__extern"]
18489 pub fn sk_X509_EXTENSION_value(
18490 sk: *const stack_st_X509_EXTENSION,
18491 i: usize,
18492 ) -> *mut X509_EXTENSION;
18493}
18494unsafe extern "C" {
18495 #[link_name = "sk_X509_EXTENSION_set__extern"]
18496 pub fn sk_X509_EXTENSION_set(
18497 sk: *mut stack_st_X509_EXTENSION,
18498 i: usize,
18499 p: *mut X509_EXTENSION,
18500 ) -> *mut X509_EXTENSION;
18501}
18502unsafe extern "C" {
18503 #[link_name = "sk_X509_EXTENSION_free__extern"]
18504 pub fn sk_X509_EXTENSION_free(sk: *mut stack_st_X509_EXTENSION);
18505}
18506unsafe extern "C" {
18507 #[link_name = "sk_X509_EXTENSION_pop_free__extern"]
18508 pub fn sk_X509_EXTENSION_pop_free(
18509 sk: *mut stack_st_X509_EXTENSION,
18510 free_func: sk_X509_EXTENSION_free_func,
18511 );
18512}
18513unsafe extern "C" {
18514 #[link_name = "sk_X509_EXTENSION_insert__extern"]
18515 pub fn sk_X509_EXTENSION_insert(
18516 sk: *mut stack_st_X509_EXTENSION,
18517 p: *mut X509_EXTENSION,
18518 where_: usize,
18519 ) -> usize;
18520}
18521unsafe extern "C" {
18522 #[link_name = "sk_X509_EXTENSION_delete__extern"]
18523 pub fn sk_X509_EXTENSION_delete(
18524 sk: *mut stack_st_X509_EXTENSION,
18525 where_: usize,
18526 ) -> *mut X509_EXTENSION;
18527}
18528unsafe extern "C" {
18529 #[link_name = "sk_X509_EXTENSION_delete_ptr__extern"]
18530 pub fn sk_X509_EXTENSION_delete_ptr(
18531 sk: *mut stack_st_X509_EXTENSION,
18532 p: *const X509_EXTENSION,
18533 ) -> *mut X509_EXTENSION;
18534}
18535unsafe extern "C" {
18536 #[link_name = "sk_X509_EXTENSION_delete_if__extern"]
18537 pub fn sk_X509_EXTENSION_delete_if(
18538 sk: *mut stack_st_X509_EXTENSION,
18539 func: sk_X509_EXTENSION_delete_if_func,
18540 data: *mut ::core::ffi::c_void,
18541 );
18542}
18543unsafe extern "C" {
18544 #[link_name = "sk_X509_EXTENSION_find__extern"]
18545 pub fn sk_X509_EXTENSION_find(
18546 sk: *const stack_st_X509_EXTENSION,
18547 out_index: *mut usize,
18548 p: *const X509_EXTENSION,
18549 ) -> ::core::ffi::c_int;
18550}
18551unsafe extern "C" {
18552 #[link_name = "sk_X509_EXTENSION_shift__extern"]
18553 pub fn sk_X509_EXTENSION_shift(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18554}
18555unsafe extern "C" {
18556 #[link_name = "sk_X509_EXTENSION_push__extern"]
18557 pub fn sk_X509_EXTENSION_push(
18558 sk: *mut stack_st_X509_EXTENSION,
18559 p: *mut X509_EXTENSION,
18560 ) -> usize;
18561}
18562unsafe extern "C" {
18563 #[link_name = "sk_X509_EXTENSION_pop__extern"]
18564 pub fn sk_X509_EXTENSION_pop(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18565}
18566unsafe extern "C" {
18567 #[link_name = "sk_X509_EXTENSION_dup__extern"]
18568 pub fn sk_X509_EXTENSION_dup(
18569 sk: *const stack_st_X509_EXTENSION,
18570 ) -> *mut stack_st_X509_EXTENSION;
18571}
18572unsafe extern "C" {
18573 #[link_name = "sk_X509_EXTENSION_sort__extern"]
18574 pub fn sk_X509_EXTENSION_sort(sk: *mut stack_st_X509_EXTENSION);
18575}
18576unsafe extern "C" {
18577 #[link_name = "sk_X509_EXTENSION_sort_and_dedup__extern"]
18578 pub fn sk_X509_EXTENSION_sort_and_dedup(
18579 sk: *mut stack_st_X509_EXTENSION,
18580 free_func: sk_X509_EXTENSION_free_func,
18581 );
18582}
18583unsafe extern "C" {
18584 #[link_name = "sk_X509_EXTENSION_is_sorted__extern"]
18585 pub fn sk_X509_EXTENSION_is_sorted(sk: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18586}
18587unsafe extern "C" {
18588 #[link_name = "sk_X509_EXTENSION_set_cmp_func__extern"]
18589 pub fn sk_X509_EXTENSION_set_cmp_func(
18590 sk: *mut stack_st_X509_EXTENSION,
18591 comp: sk_X509_EXTENSION_cmp_func,
18592 ) -> sk_X509_EXTENSION_cmp_func;
18593}
18594unsafe extern "C" {
18595 #[link_name = "sk_X509_EXTENSION_deep_copy__extern"]
18596 pub fn sk_X509_EXTENSION_deep_copy(
18597 sk: *const stack_st_X509_EXTENSION,
18598 copy_func: sk_X509_EXTENSION_copy_func,
18599 free_func: sk_X509_EXTENSION_free_func,
18600 ) -> *mut stack_st_X509_EXTENSION;
18601}
18602pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
18603unsafe extern "C" {
18604 pub fn d2i_X509_EXTENSIONS(
18605 out: *mut *mut X509_EXTENSIONS,
18606 inp: *mut *const u8,
18607 len: ::core::ffi::c_long,
18608 ) -> *mut X509_EXTENSIONS;
18609}
18610unsafe extern "C" {
18611 pub fn i2d_X509_EXTENSIONS(
18612 alg: *const X509_EXTENSIONS,
18613 outp: *mut *mut u8,
18614 ) -> ::core::ffi::c_int;
18615}
18616unsafe extern "C" {
18617 pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18618}
18619unsafe extern "C" {
18620 pub fn X509v3_get_ext_by_NID(
18621 x: *const stack_st_X509_EXTENSION,
18622 nid: ::core::ffi::c_int,
18623 lastpos: ::core::ffi::c_int,
18624 ) -> ::core::ffi::c_int;
18625}
18626unsafe extern "C" {
18627 pub fn X509v3_get_ext_by_OBJ(
18628 x: *const stack_st_X509_EXTENSION,
18629 obj: *const ASN1_OBJECT,
18630 lastpos: ::core::ffi::c_int,
18631 ) -> ::core::ffi::c_int;
18632}
18633unsafe extern "C" {
18634 pub fn X509v3_get_ext_by_critical(
18635 x: *const stack_st_X509_EXTENSION,
18636 crit: ::core::ffi::c_int,
18637 lastpos: ::core::ffi::c_int,
18638 ) -> ::core::ffi::c_int;
18639}
18640unsafe extern "C" {
18641 pub fn X509v3_get_ext(
18642 x: *const stack_st_X509_EXTENSION,
18643 loc: ::core::ffi::c_int,
18644 ) -> *mut X509_EXTENSION;
18645}
18646unsafe extern "C" {
18647 pub fn X509v3_delete_ext(
18648 x: *mut stack_st_X509_EXTENSION,
18649 loc: ::core::ffi::c_int,
18650 ) -> *mut X509_EXTENSION;
18651}
18652unsafe extern "C" {
18653 pub fn X509v3_add_ext(
18654 x: *mut *mut stack_st_X509_EXTENSION,
18655 ex: *const X509_EXTENSION,
18656 loc: ::core::ffi::c_int,
18657 ) -> *mut stack_st_X509_EXTENSION;
18658}
18659unsafe extern "C" {
18660 pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::core::ffi::c_void;
18661}
18662unsafe extern "C" {
18663 pub fn X509V3_get_d2i(
18664 extensions: *const stack_st_X509_EXTENSION,
18665 nid: ::core::ffi::c_int,
18666 out_critical: *mut ::core::ffi::c_int,
18667 out_idx: *mut ::core::ffi::c_int,
18668 ) -> *mut ::core::ffi::c_void;
18669}
18670unsafe extern "C" {
18671 pub fn X509V3_EXT_free(
18672 nid: ::core::ffi::c_int,
18673 ext_data: *mut ::core::ffi::c_void,
18674 ) -> ::core::ffi::c_int;
18675}
18676unsafe extern "C" {
18677 pub fn X509V3_EXT_i2d(
18678 ext_nid: ::core::ffi::c_int,
18679 crit: ::core::ffi::c_int,
18680 ext_struc: *mut ::core::ffi::c_void,
18681 ) -> *mut X509_EXTENSION;
18682}
18683unsafe extern "C" {
18684 pub fn X509V3_add1_i2d(
18685 x: *mut *mut stack_st_X509_EXTENSION,
18686 nid: ::core::ffi::c_int,
18687 value: *mut ::core::ffi::c_void,
18688 crit: ::core::ffi::c_int,
18689 flags: ::core::ffi::c_ulong,
18690 ) -> ::core::ffi::c_int;
18691}
18692#[repr(C)]
18693#[derive(Debug, Copy, Clone)]
18694pub struct BASIC_CONSTRAINTS_st {
18695 pub ca: ASN1_BOOLEAN,
18696 pub pathlen: *mut ASN1_INTEGER,
18697}
18698unsafe extern "C" {
18699 pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
18700}
18701unsafe extern "C" {
18702 pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
18703}
18704unsafe extern "C" {
18705 pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
18706}
18707unsafe extern "C" {
18708 pub fn d2i_BASIC_CONSTRAINTS(
18709 out: *mut *mut BASIC_CONSTRAINTS,
18710 inp: *mut *const u8,
18711 len: ::core::ffi::c_long,
18712 ) -> *mut BASIC_CONSTRAINTS;
18713}
18714unsafe extern "C" {
18715 pub fn i2d_BASIC_CONSTRAINTS(
18716 bcons: *const BASIC_CONSTRAINTS,
18717 outp: *mut *mut u8,
18718 ) -> ::core::ffi::c_int;
18719}
18720pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
18721unsafe extern "C" {
18722 pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
18723}
18724unsafe extern "C" {
18725 pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
18726}
18727unsafe extern "C" {
18728 pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
18729}
18730unsafe extern "C" {
18731 pub fn d2i_EXTENDED_KEY_USAGE(
18732 out: *mut *mut EXTENDED_KEY_USAGE,
18733 inp: *mut *const u8,
18734 len: ::core::ffi::c_long,
18735 ) -> *mut EXTENDED_KEY_USAGE;
18736}
18737unsafe extern "C" {
18738 pub fn i2d_EXTENDED_KEY_USAGE(
18739 eku: *const EXTENDED_KEY_USAGE,
18740 outp: *mut *mut u8,
18741 ) -> ::core::ffi::c_int;
18742}
18743#[repr(C)]
18744#[derive(Debug, Copy, Clone)]
18745pub struct otherName_st {
18746 pub type_id: *mut ASN1_OBJECT,
18747 pub value: *mut ASN1_TYPE,
18748}
18749pub type OTHERNAME = otherName_st;
18750#[repr(C)]
18751#[derive(Debug, Copy, Clone)]
18752pub struct EDIPartyName_st {
18753 pub nameAssigner: *mut ASN1_STRING,
18754 pub partyName: *mut ASN1_STRING,
18755}
18756pub type EDIPARTYNAME = EDIPartyName_st;
18757#[repr(C)]
18758#[derive(Copy, Clone)]
18759pub struct GENERAL_NAME_st {
18760 pub type_: ::core::ffi::c_int,
18761 pub d: GENERAL_NAME_st__bindgen_ty_1,
18762}
18763#[repr(C)]
18764#[derive(Copy, Clone)]
18765pub union GENERAL_NAME_st__bindgen_ty_1 {
18766 pub ptr: *mut ::core::ffi::c_char,
18767 pub otherName: *mut OTHERNAME,
18768 pub rfc822Name: *mut ASN1_IA5STRING,
18769 pub dNSName: *mut ASN1_IA5STRING,
18770 pub x400Address: *mut ASN1_STRING,
18771 pub directoryName: *mut X509_NAME,
18772 pub ediPartyName: *mut EDIPARTYNAME,
18773 pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
18774 pub iPAddress: *mut ASN1_OCTET_STRING,
18775 pub registeredID: *mut ASN1_OBJECT,
18776 pub ip: *mut ASN1_OCTET_STRING,
18777 pub dirn: *mut X509_NAME,
18778 pub ia5: *mut ASN1_IA5STRING,
18779 pub rid: *mut ASN1_OBJECT,
18780}
18781unsafe extern "C" {
18782 pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
18783}
18784unsafe extern "C" {
18785 pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
18786}
18787unsafe extern "C" {
18788 pub fn d2i_GENERAL_NAME(
18789 out: *mut *mut GENERAL_NAME,
18790 inp: *mut *const u8,
18791 len: ::core::ffi::c_long,
18792 ) -> *mut GENERAL_NAME;
18793}
18794unsafe extern "C" {
18795 pub fn i2d_GENERAL_NAME(in_: *const GENERAL_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18796}
18797unsafe extern "C" {
18798 pub fn GENERAL_NAME_dup(gen_: *const GENERAL_NAME) -> *mut GENERAL_NAME;
18799}
18800unsafe extern "C" {
18801 pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
18802}
18803unsafe extern "C" {
18804 pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
18805}
18806unsafe extern "C" {
18807 pub fn d2i_GENERAL_NAMES(
18808 out: *mut *mut GENERAL_NAMES,
18809 inp: *mut *const u8,
18810 len: ::core::ffi::c_long,
18811 ) -> *mut GENERAL_NAMES;
18812}
18813unsafe extern "C" {
18814 pub fn i2d_GENERAL_NAMES(in_: *const GENERAL_NAMES, outp: *mut *mut u8) -> ::core::ffi::c_int;
18815}
18816unsafe extern "C" {
18817 pub fn OTHERNAME_new() -> *mut OTHERNAME;
18818}
18819unsafe extern "C" {
18820 pub fn OTHERNAME_free(name: *mut OTHERNAME);
18821}
18822unsafe extern "C" {
18823 pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
18824}
18825unsafe extern "C" {
18826 pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
18827}
18828unsafe extern "C" {
18829 pub fn GENERAL_NAME_set0_value(
18830 gen_: *mut GENERAL_NAME,
18831 type_: ::core::ffi::c_int,
18832 value: *mut ::core::ffi::c_void,
18833 );
18834}
18835unsafe extern "C" {
18836 pub fn GENERAL_NAME_get0_value(
18837 gen_: *const GENERAL_NAME,
18838 out_type: *mut ::core::ffi::c_int,
18839 ) -> *mut ::core::ffi::c_void;
18840}
18841unsafe extern "C" {
18842 pub fn GENERAL_NAME_set0_othername(
18843 gen_: *mut GENERAL_NAME,
18844 oid: *mut ASN1_OBJECT,
18845 value: *mut ASN1_TYPE,
18846 ) -> ::core::ffi::c_int;
18847}
18848unsafe extern "C" {
18849 pub fn GENERAL_NAME_get0_otherName(
18850 gen_: *const GENERAL_NAME,
18851 out_oid: *mut *mut ASN1_OBJECT,
18852 out_value: *mut *mut ASN1_TYPE,
18853 ) -> ::core::ffi::c_int;
18854}
18855#[repr(C)]
18856#[derive(Debug, Copy, Clone)]
18857pub struct AUTHORITY_KEYID_st {
18858 pub keyid: *mut ASN1_OCTET_STRING,
18859 pub issuer: *mut GENERAL_NAMES,
18860 pub serial: *mut ASN1_INTEGER,
18861}
18862unsafe extern "C" {
18863 pub static AUTHORITY_KEYID_it: ASN1_ITEM;
18864}
18865unsafe extern "C" {
18866 pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
18867}
18868unsafe extern "C" {
18869 pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
18870}
18871unsafe extern "C" {
18872 pub fn d2i_AUTHORITY_KEYID(
18873 out: *mut *mut AUTHORITY_KEYID,
18874 inp: *mut *const u8,
18875 len: ::core::ffi::c_long,
18876 ) -> *mut AUTHORITY_KEYID;
18877}
18878unsafe extern "C" {
18879 pub fn i2d_AUTHORITY_KEYID(
18880 akid: *const AUTHORITY_KEYID,
18881 outp: *mut *mut u8,
18882 ) -> ::core::ffi::c_int;
18883}
18884#[repr(C)]
18885#[derive(Debug, Copy, Clone)]
18886pub struct GENERAL_SUBTREE_st {
18887 pub base: *mut GENERAL_NAME,
18888 pub minimum: *mut ASN1_INTEGER,
18889 pub maximum: *mut ASN1_INTEGER,
18890}
18891pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
18892#[repr(C)]
18893#[derive(Debug)]
18894pub struct stack_st_GENERAL_SUBTREE {
18895 _unused: [u8; 0],
18896}
18897pub type sk_GENERAL_SUBTREE_free_func =
18898 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
18899pub type sk_GENERAL_SUBTREE_copy_func = ::core::option::Option<
18900 unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
18901>;
18902pub type sk_GENERAL_SUBTREE_cmp_func = ::core::option::Option<
18903 unsafe extern "C" fn(
18904 arg1: *const *const GENERAL_SUBTREE,
18905 arg2: *const *const GENERAL_SUBTREE,
18906 ) -> ::core::ffi::c_int,
18907>;
18908pub type sk_GENERAL_SUBTREE_delete_if_func = ::core::option::Option<
18909 unsafe extern "C" fn(
18910 arg1: *mut GENERAL_SUBTREE,
18911 arg2: *mut ::core::ffi::c_void,
18912 ) -> ::core::ffi::c_int,
18913>;
18914unsafe extern "C" {
18915 #[link_name = "sk_GENERAL_SUBTREE_call_free_func__extern"]
18916 pub fn sk_GENERAL_SUBTREE_call_free_func(
18917 free_func: OPENSSL_sk_free_func,
18918 ptr: *mut ::core::ffi::c_void,
18919 );
18920}
18921unsafe extern "C" {
18922 #[link_name = "sk_GENERAL_SUBTREE_call_copy_func__extern"]
18923 pub fn sk_GENERAL_SUBTREE_call_copy_func(
18924 copy_func: OPENSSL_sk_copy_func,
18925 ptr: *const ::core::ffi::c_void,
18926 ) -> *mut ::core::ffi::c_void;
18927}
18928unsafe extern "C" {
18929 #[link_name = "sk_GENERAL_SUBTREE_call_cmp_func__extern"]
18930 pub fn sk_GENERAL_SUBTREE_call_cmp_func(
18931 cmp_func: OPENSSL_sk_cmp_func,
18932 a: *const ::core::ffi::c_void,
18933 b: *const ::core::ffi::c_void,
18934 ) -> ::core::ffi::c_int;
18935}
18936unsafe extern "C" {
18937 #[link_name = "sk_GENERAL_SUBTREE_call_delete_if_func__extern"]
18938 pub fn sk_GENERAL_SUBTREE_call_delete_if_func(
18939 func: OPENSSL_sk_delete_if_func,
18940 obj: *mut ::core::ffi::c_void,
18941 data: *mut ::core::ffi::c_void,
18942 ) -> ::core::ffi::c_int;
18943}
18944unsafe extern "C" {
18945 #[link_name = "sk_GENERAL_SUBTREE_new__extern"]
18946 pub fn sk_GENERAL_SUBTREE_new(
18947 comp: sk_GENERAL_SUBTREE_cmp_func,
18948 ) -> *mut stack_st_GENERAL_SUBTREE;
18949}
18950unsafe extern "C" {
18951 #[link_name = "sk_GENERAL_SUBTREE_new_null__extern"]
18952 pub fn sk_GENERAL_SUBTREE_new_null() -> *mut stack_st_GENERAL_SUBTREE;
18953}
18954unsafe extern "C" {
18955 #[link_name = "sk_GENERAL_SUBTREE_num__extern"]
18956 pub fn sk_GENERAL_SUBTREE_num(sk: *const stack_st_GENERAL_SUBTREE) -> usize;
18957}
18958unsafe extern "C" {
18959 #[link_name = "sk_GENERAL_SUBTREE_zero__extern"]
18960 pub fn sk_GENERAL_SUBTREE_zero(sk: *mut stack_st_GENERAL_SUBTREE);
18961}
18962unsafe extern "C" {
18963 #[link_name = "sk_GENERAL_SUBTREE_value__extern"]
18964 pub fn sk_GENERAL_SUBTREE_value(
18965 sk: *const stack_st_GENERAL_SUBTREE,
18966 i: usize,
18967 ) -> *mut GENERAL_SUBTREE;
18968}
18969unsafe extern "C" {
18970 #[link_name = "sk_GENERAL_SUBTREE_set__extern"]
18971 pub fn sk_GENERAL_SUBTREE_set(
18972 sk: *mut stack_st_GENERAL_SUBTREE,
18973 i: usize,
18974 p: *mut GENERAL_SUBTREE,
18975 ) -> *mut GENERAL_SUBTREE;
18976}
18977unsafe extern "C" {
18978 #[link_name = "sk_GENERAL_SUBTREE_free__extern"]
18979 pub fn sk_GENERAL_SUBTREE_free(sk: *mut stack_st_GENERAL_SUBTREE);
18980}
18981unsafe extern "C" {
18982 #[link_name = "sk_GENERAL_SUBTREE_pop_free__extern"]
18983 pub fn sk_GENERAL_SUBTREE_pop_free(
18984 sk: *mut stack_st_GENERAL_SUBTREE,
18985 free_func: sk_GENERAL_SUBTREE_free_func,
18986 );
18987}
18988unsafe extern "C" {
18989 #[link_name = "sk_GENERAL_SUBTREE_insert__extern"]
18990 pub fn sk_GENERAL_SUBTREE_insert(
18991 sk: *mut stack_st_GENERAL_SUBTREE,
18992 p: *mut GENERAL_SUBTREE,
18993 where_: usize,
18994 ) -> usize;
18995}
18996unsafe extern "C" {
18997 #[link_name = "sk_GENERAL_SUBTREE_delete__extern"]
18998 pub fn sk_GENERAL_SUBTREE_delete(
18999 sk: *mut stack_st_GENERAL_SUBTREE,
19000 where_: usize,
19001 ) -> *mut GENERAL_SUBTREE;
19002}
19003unsafe extern "C" {
19004 #[link_name = "sk_GENERAL_SUBTREE_delete_ptr__extern"]
19005 pub fn sk_GENERAL_SUBTREE_delete_ptr(
19006 sk: *mut stack_st_GENERAL_SUBTREE,
19007 p: *const GENERAL_SUBTREE,
19008 ) -> *mut GENERAL_SUBTREE;
19009}
19010unsafe extern "C" {
19011 #[link_name = "sk_GENERAL_SUBTREE_delete_if__extern"]
19012 pub fn sk_GENERAL_SUBTREE_delete_if(
19013 sk: *mut stack_st_GENERAL_SUBTREE,
19014 func: sk_GENERAL_SUBTREE_delete_if_func,
19015 data: *mut ::core::ffi::c_void,
19016 );
19017}
19018unsafe extern "C" {
19019 #[link_name = "sk_GENERAL_SUBTREE_find__extern"]
19020 pub fn sk_GENERAL_SUBTREE_find(
19021 sk: *const stack_st_GENERAL_SUBTREE,
19022 out_index: *mut usize,
19023 p: *const GENERAL_SUBTREE,
19024 ) -> ::core::ffi::c_int;
19025}
19026unsafe extern "C" {
19027 #[link_name = "sk_GENERAL_SUBTREE_shift__extern"]
19028 pub fn sk_GENERAL_SUBTREE_shift(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
19029}
19030unsafe extern "C" {
19031 #[link_name = "sk_GENERAL_SUBTREE_push__extern"]
19032 pub fn sk_GENERAL_SUBTREE_push(
19033 sk: *mut stack_st_GENERAL_SUBTREE,
19034 p: *mut GENERAL_SUBTREE,
19035 ) -> usize;
19036}
19037unsafe extern "C" {
19038 #[link_name = "sk_GENERAL_SUBTREE_pop__extern"]
19039 pub fn sk_GENERAL_SUBTREE_pop(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
19040}
19041unsafe extern "C" {
19042 #[link_name = "sk_GENERAL_SUBTREE_dup__extern"]
19043 pub fn sk_GENERAL_SUBTREE_dup(
19044 sk: *const stack_st_GENERAL_SUBTREE,
19045 ) -> *mut stack_st_GENERAL_SUBTREE;
19046}
19047unsafe extern "C" {
19048 #[link_name = "sk_GENERAL_SUBTREE_sort__extern"]
19049 pub fn sk_GENERAL_SUBTREE_sort(sk: *mut stack_st_GENERAL_SUBTREE);
19050}
19051unsafe extern "C" {
19052 #[link_name = "sk_GENERAL_SUBTREE_sort_and_dedup__extern"]
19053 pub fn sk_GENERAL_SUBTREE_sort_and_dedup(
19054 sk: *mut stack_st_GENERAL_SUBTREE,
19055 free_func: sk_GENERAL_SUBTREE_free_func,
19056 );
19057}
19058unsafe extern "C" {
19059 #[link_name = "sk_GENERAL_SUBTREE_is_sorted__extern"]
19060 pub fn sk_GENERAL_SUBTREE_is_sorted(sk: *const stack_st_GENERAL_SUBTREE) -> ::core::ffi::c_int;
19061}
19062unsafe extern "C" {
19063 #[link_name = "sk_GENERAL_SUBTREE_set_cmp_func__extern"]
19064 pub fn sk_GENERAL_SUBTREE_set_cmp_func(
19065 sk: *mut stack_st_GENERAL_SUBTREE,
19066 comp: sk_GENERAL_SUBTREE_cmp_func,
19067 ) -> sk_GENERAL_SUBTREE_cmp_func;
19068}
19069unsafe extern "C" {
19070 #[link_name = "sk_GENERAL_SUBTREE_deep_copy__extern"]
19071 pub fn sk_GENERAL_SUBTREE_deep_copy(
19072 sk: *const stack_st_GENERAL_SUBTREE,
19073 copy_func: sk_GENERAL_SUBTREE_copy_func,
19074 free_func: sk_GENERAL_SUBTREE_free_func,
19075 ) -> *mut stack_st_GENERAL_SUBTREE;
19076}
19077unsafe extern "C" {
19078 pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
19079}
19080unsafe extern "C" {
19081 pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
19082}
19083#[repr(C)]
19084#[derive(Debug, Copy, Clone)]
19085pub struct NAME_CONSTRAINTS_st {
19086 pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
19087 pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
19088}
19089unsafe extern "C" {
19090 pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
19091}
19092unsafe extern "C" {
19093 pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
19094}
19095unsafe extern "C" {
19096 pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
19097}
19098#[repr(C)]
19099#[derive(Debug, Copy, Clone)]
19100pub struct ACCESS_DESCRIPTION_st {
19101 pub method: *mut ASN1_OBJECT,
19102 pub location: *mut GENERAL_NAME,
19103}
19104pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
19105#[repr(C)]
19106#[derive(Debug)]
19107pub struct stack_st_ACCESS_DESCRIPTION {
19108 _unused: [u8; 0],
19109}
19110pub type sk_ACCESS_DESCRIPTION_free_func =
19111 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
19112pub type sk_ACCESS_DESCRIPTION_copy_func = ::core::option::Option<
19113 unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
19114>;
19115pub type sk_ACCESS_DESCRIPTION_cmp_func = ::core::option::Option<
19116 unsafe extern "C" fn(
19117 arg1: *const *const ACCESS_DESCRIPTION,
19118 arg2: *const *const ACCESS_DESCRIPTION,
19119 ) -> ::core::ffi::c_int,
19120>;
19121pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::core::option::Option<
19122 unsafe extern "C" fn(
19123 arg1: *mut ACCESS_DESCRIPTION,
19124 arg2: *mut ::core::ffi::c_void,
19125 ) -> ::core::ffi::c_int,
19126>;
19127unsafe extern "C" {
19128 #[link_name = "sk_ACCESS_DESCRIPTION_call_free_func__extern"]
19129 pub fn sk_ACCESS_DESCRIPTION_call_free_func(
19130 free_func: OPENSSL_sk_free_func,
19131 ptr: *mut ::core::ffi::c_void,
19132 );
19133}
19134unsafe extern "C" {
19135 #[link_name = "sk_ACCESS_DESCRIPTION_call_copy_func__extern"]
19136 pub fn sk_ACCESS_DESCRIPTION_call_copy_func(
19137 copy_func: OPENSSL_sk_copy_func,
19138 ptr: *const ::core::ffi::c_void,
19139 ) -> *mut ::core::ffi::c_void;
19140}
19141unsafe extern "C" {
19142 #[link_name = "sk_ACCESS_DESCRIPTION_call_cmp_func__extern"]
19143 pub fn sk_ACCESS_DESCRIPTION_call_cmp_func(
19144 cmp_func: OPENSSL_sk_cmp_func,
19145 a: *const ::core::ffi::c_void,
19146 b: *const ::core::ffi::c_void,
19147 ) -> ::core::ffi::c_int;
19148}
19149unsafe extern "C" {
19150 #[link_name = "sk_ACCESS_DESCRIPTION_call_delete_if_func__extern"]
19151 pub fn sk_ACCESS_DESCRIPTION_call_delete_if_func(
19152 func: OPENSSL_sk_delete_if_func,
19153 obj: *mut ::core::ffi::c_void,
19154 data: *mut ::core::ffi::c_void,
19155 ) -> ::core::ffi::c_int;
19156}
19157unsafe extern "C" {
19158 #[link_name = "sk_ACCESS_DESCRIPTION_new__extern"]
19159 pub fn sk_ACCESS_DESCRIPTION_new(
19160 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19161 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19162}
19163unsafe extern "C" {
19164 #[link_name = "sk_ACCESS_DESCRIPTION_new_null__extern"]
19165 pub fn sk_ACCESS_DESCRIPTION_new_null() -> *mut stack_st_ACCESS_DESCRIPTION;
19166}
19167unsafe extern "C" {
19168 #[link_name = "sk_ACCESS_DESCRIPTION_num__extern"]
19169 pub fn sk_ACCESS_DESCRIPTION_num(sk: *const stack_st_ACCESS_DESCRIPTION) -> usize;
19170}
19171unsafe extern "C" {
19172 #[link_name = "sk_ACCESS_DESCRIPTION_zero__extern"]
19173 pub fn sk_ACCESS_DESCRIPTION_zero(sk: *mut stack_st_ACCESS_DESCRIPTION);
19174}
19175unsafe extern "C" {
19176 #[link_name = "sk_ACCESS_DESCRIPTION_value__extern"]
19177 pub fn sk_ACCESS_DESCRIPTION_value(
19178 sk: *const stack_st_ACCESS_DESCRIPTION,
19179 i: usize,
19180 ) -> *mut ACCESS_DESCRIPTION;
19181}
19182unsafe extern "C" {
19183 #[link_name = "sk_ACCESS_DESCRIPTION_set__extern"]
19184 pub fn sk_ACCESS_DESCRIPTION_set(
19185 sk: *mut stack_st_ACCESS_DESCRIPTION,
19186 i: usize,
19187 p: *mut ACCESS_DESCRIPTION,
19188 ) -> *mut ACCESS_DESCRIPTION;
19189}
19190unsafe extern "C" {
19191 #[link_name = "sk_ACCESS_DESCRIPTION_free__extern"]
19192 pub fn sk_ACCESS_DESCRIPTION_free(sk: *mut stack_st_ACCESS_DESCRIPTION);
19193}
19194unsafe extern "C" {
19195 #[link_name = "sk_ACCESS_DESCRIPTION_pop_free__extern"]
19196 pub fn sk_ACCESS_DESCRIPTION_pop_free(
19197 sk: *mut stack_st_ACCESS_DESCRIPTION,
19198 free_func: sk_ACCESS_DESCRIPTION_free_func,
19199 );
19200}
19201unsafe extern "C" {
19202 #[link_name = "sk_ACCESS_DESCRIPTION_insert__extern"]
19203 pub fn sk_ACCESS_DESCRIPTION_insert(
19204 sk: *mut stack_st_ACCESS_DESCRIPTION,
19205 p: *mut ACCESS_DESCRIPTION,
19206 where_: usize,
19207 ) -> usize;
19208}
19209unsafe extern "C" {
19210 #[link_name = "sk_ACCESS_DESCRIPTION_delete__extern"]
19211 pub fn sk_ACCESS_DESCRIPTION_delete(
19212 sk: *mut stack_st_ACCESS_DESCRIPTION,
19213 where_: usize,
19214 ) -> *mut ACCESS_DESCRIPTION;
19215}
19216unsafe extern "C" {
19217 #[link_name = "sk_ACCESS_DESCRIPTION_delete_ptr__extern"]
19218 pub fn sk_ACCESS_DESCRIPTION_delete_ptr(
19219 sk: *mut stack_st_ACCESS_DESCRIPTION,
19220 p: *const ACCESS_DESCRIPTION,
19221 ) -> *mut ACCESS_DESCRIPTION;
19222}
19223unsafe extern "C" {
19224 #[link_name = "sk_ACCESS_DESCRIPTION_delete_if__extern"]
19225 pub fn sk_ACCESS_DESCRIPTION_delete_if(
19226 sk: *mut stack_st_ACCESS_DESCRIPTION,
19227 func: sk_ACCESS_DESCRIPTION_delete_if_func,
19228 data: *mut ::core::ffi::c_void,
19229 );
19230}
19231unsafe extern "C" {
19232 #[link_name = "sk_ACCESS_DESCRIPTION_find__extern"]
19233 pub fn sk_ACCESS_DESCRIPTION_find(
19234 sk: *const stack_st_ACCESS_DESCRIPTION,
19235 out_index: *mut usize,
19236 p: *const ACCESS_DESCRIPTION,
19237 ) -> ::core::ffi::c_int;
19238}
19239unsafe extern "C" {
19240 #[link_name = "sk_ACCESS_DESCRIPTION_shift__extern"]
19241 pub fn sk_ACCESS_DESCRIPTION_shift(
19242 sk: *mut stack_st_ACCESS_DESCRIPTION,
19243 ) -> *mut ACCESS_DESCRIPTION;
19244}
19245unsafe extern "C" {
19246 #[link_name = "sk_ACCESS_DESCRIPTION_push__extern"]
19247 pub fn sk_ACCESS_DESCRIPTION_push(
19248 sk: *mut stack_st_ACCESS_DESCRIPTION,
19249 p: *mut ACCESS_DESCRIPTION,
19250 ) -> usize;
19251}
19252unsafe extern "C" {
19253 #[link_name = "sk_ACCESS_DESCRIPTION_pop__extern"]
19254 pub fn sk_ACCESS_DESCRIPTION_pop(
19255 sk: *mut stack_st_ACCESS_DESCRIPTION,
19256 ) -> *mut ACCESS_DESCRIPTION;
19257}
19258unsafe extern "C" {
19259 #[link_name = "sk_ACCESS_DESCRIPTION_dup__extern"]
19260 pub fn sk_ACCESS_DESCRIPTION_dup(
19261 sk: *const stack_st_ACCESS_DESCRIPTION,
19262 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19263}
19264unsafe extern "C" {
19265 #[link_name = "sk_ACCESS_DESCRIPTION_sort__extern"]
19266 pub fn sk_ACCESS_DESCRIPTION_sort(sk: *mut stack_st_ACCESS_DESCRIPTION);
19267}
19268unsafe extern "C" {
19269 #[link_name = "sk_ACCESS_DESCRIPTION_sort_and_dedup__extern"]
19270 pub fn sk_ACCESS_DESCRIPTION_sort_and_dedup(
19271 sk: *mut stack_st_ACCESS_DESCRIPTION,
19272 free_func: sk_ACCESS_DESCRIPTION_free_func,
19273 );
19274}
19275unsafe extern "C" {
19276 #[link_name = "sk_ACCESS_DESCRIPTION_is_sorted__extern"]
19277 pub fn sk_ACCESS_DESCRIPTION_is_sorted(
19278 sk: *const stack_st_ACCESS_DESCRIPTION,
19279 ) -> ::core::ffi::c_int;
19280}
19281unsafe extern "C" {
19282 #[link_name = "sk_ACCESS_DESCRIPTION_set_cmp_func__extern"]
19283 pub fn sk_ACCESS_DESCRIPTION_set_cmp_func(
19284 sk: *mut stack_st_ACCESS_DESCRIPTION,
19285 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19286 ) -> sk_ACCESS_DESCRIPTION_cmp_func;
19287}
19288unsafe extern "C" {
19289 #[link_name = "sk_ACCESS_DESCRIPTION_deep_copy__extern"]
19290 pub fn sk_ACCESS_DESCRIPTION_deep_copy(
19291 sk: *const stack_st_ACCESS_DESCRIPTION,
19292 copy_func: sk_ACCESS_DESCRIPTION_copy_func,
19293 free_func: sk_ACCESS_DESCRIPTION_free_func,
19294 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19295}
19296unsafe extern "C" {
19297 pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
19298}
19299unsafe extern "C" {
19300 pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
19301}
19302pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
19303unsafe extern "C" {
19304 pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
19305}
19306unsafe extern "C" {
19307 pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
19308}
19309unsafe extern "C" {
19310 pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
19311}
19312unsafe extern "C" {
19313 pub fn d2i_AUTHORITY_INFO_ACCESS(
19314 out: *mut *mut AUTHORITY_INFO_ACCESS,
19315 inp: *mut *const u8,
19316 len: ::core::ffi::c_long,
19317 ) -> *mut AUTHORITY_INFO_ACCESS;
19318}
19319unsafe extern "C" {
19320 pub fn i2d_AUTHORITY_INFO_ACCESS(
19321 aia: *const AUTHORITY_INFO_ACCESS,
19322 outp: *mut *mut u8,
19323 ) -> ::core::ffi::c_int;
19324}
19325#[repr(C)]
19326#[derive(Copy, Clone)]
19327pub struct DIST_POINT_NAME_st {
19328 pub type_: ::core::ffi::c_int,
19329 pub name: DIST_POINT_NAME_st__bindgen_ty_1,
19330 pub dpname: *mut X509_NAME,
19331}
19332#[repr(C)]
19333#[derive(Copy, Clone)]
19334pub union DIST_POINT_NAME_st__bindgen_ty_1 {
19335 pub fullname: *mut GENERAL_NAMES,
19336 pub relativename: *mut stack_st_X509_NAME_ENTRY,
19337}
19338pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
19339unsafe extern "C" {
19340 pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
19341}
19342unsafe extern "C" {
19343 pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
19344}
19345#[repr(C)]
19346#[derive(Debug, Copy, Clone)]
19347pub struct DIST_POINT_st {
19348 pub distpoint: *mut DIST_POINT_NAME,
19349 pub reasons: *mut ASN1_BIT_STRING,
19350 pub CRLissuer: *mut GENERAL_NAMES,
19351}
19352#[repr(C)]
19353#[derive(Debug)]
19354pub struct stack_st_DIST_POINT {
19355 _unused: [u8; 0],
19356}
19357pub type sk_DIST_POINT_free_func =
19358 ::core::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
19359pub type sk_DIST_POINT_copy_func =
19360 ::core::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
19361pub type sk_DIST_POINT_cmp_func = ::core::option::Option<
19362 unsafe extern "C" fn(
19363 arg1: *const *const DIST_POINT,
19364 arg2: *const *const DIST_POINT,
19365 ) -> ::core::ffi::c_int,
19366>;
19367pub type sk_DIST_POINT_delete_if_func = ::core::option::Option<
19368 unsafe extern "C" fn(
19369 arg1: *mut DIST_POINT,
19370 arg2: *mut ::core::ffi::c_void,
19371 ) -> ::core::ffi::c_int,
19372>;
19373unsafe extern "C" {
19374 #[link_name = "sk_DIST_POINT_call_free_func__extern"]
19375 pub fn sk_DIST_POINT_call_free_func(
19376 free_func: OPENSSL_sk_free_func,
19377 ptr: *mut ::core::ffi::c_void,
19378 );
19379}
19380unsafe extern "C" {
19381 #[link_name = "sk_DIST_POINT_call_copy_func__extern"]
19382 pub fn sk_DIST_POINT_call_copy_func(
19383 copy_func: OPENSSL_sk_copy_func,
19384 ptr: *const ::core::ffi::c_void,
19385 ) -> *mut ::core::ffi::c_void;
19386}
19387unsafe extern "C" {
19388 #[link_name = "sk_DIST_POINT_call_cmp_func__extern"]
19389 pub fn sk_DIST_POINT_call_cmp_func(
19390 cmp_func: OPENSSL_sk_cmp_func,
19391 a: *const ::core::ffi::c_void,
19392 b: *const ::core::ffi::c_void,
19393 ) -> ::core::ffi::c_int;
19394}
19395unsafe extern "C" {
19396 #[link_name = "sk_DIST_POINT_call_delete_if_func__extern"]
19397 pub fn sk_DIST_POINT_call_delete_if_func(
19398 func: OPENSSL_sk_delete_if_func,
19399 obj: *mut ::core::ffi::c_void,
19400 data: *mut ::core::ffi::c_void,
19401 ) -> ::core::ffi::c_int;
19402}
19403unsafe extern "C" {
19404 #[link_name = "sk_DIST_POINT_new__extern"]
19405 pub fn sk_DIST_POINT_new(comp: sk_DIST_POINT_cmp_func) -> *mut stack_st_DIST_POINT;
19406}
19407unsafe extern "C" {
19408 #[link_name = "sk_DIST_POINT_new_null__extern"]
19409 pub fn sk_DIST_POINT_new_null() -> *mut stack_st_DIST_POINT;
19410}
19411unsafe extern "C" {
19412 #[link_name = "sk_DIST_POINT_num__extern"]
19413 pub fn sk_DIST_POINT_num(sk: *const stack_st_DIST_POINT) -> usize;
19414}
19415unsafe extern "C" {
19416 #[link_name = "sk_DIST_POINT_zero__extern"]
19417 pub fn sk_DIST_POINT_zero(sk: *mut stack_st_DIST_POINT);
19418}
19419unsafe extern "C" {
19420 #[link_name = "sk_DIST_POINT_value__extern"]
19421 pub fn sk_DIST_POINT_value(sk: *const stack_st_DIST_POINT, i: usize) -> *mut DIST_POINT;
19422}
19423unsafe extern "C" {
19424 #[link_name = "sk_DIST_POINT_set__extern"]
19425 pub fn sk_DIST_POINT_set(
19426 sk: *mut stack_st_DIST_POINT,
19427 i: usize,
19428 p: *mut DIST_POINT,
19429 ) -> *mut DIST_POINT;
19430}
19431unsafe extern "C" {
19432 #[link_name = "sk_DIST_POINT_free__extern"]
19433 pub fn sk_DIST_POINT_free(sk: *mut stack_st_DIST_POINT);
19434}
19435unsafe extern "C" {
19436 #[link_name = "sk_DIST_POINT_pop_free__extern"]
19437 pub fn sk_DIST_POINT_pop_free(sk: *mut stack_st_DIST_POINT, free_func: sk_DIST_POINT_free_func);
19438}
19439unsafe extern "C" {
19440 #[link_name = "sk_DIST_POINT_insert__extern"]
19441 pub fn sk_DIST_POINT_insert(
19442 sk: *mut stack_st_DIST_POINT,
19443 p: *mut DIST_POINT,
19444 where_: usize,
19445 ) -> usize;
19446}
19447unsafe extern "C" {
19448 #[link_name = "sk_DIST_POINT_delete__extern"]
19449 pub fn sk_DIST_POINT_delete(sk: *mut stack_st_DIST_POINT, where_: usize) -> *mut DIST_POINT;
19450}
19451unsafe extern "C" {
19452 #[link_name = "sk_DIST_POINT_delete_ptr__extern"]
19453 pub fn sk_DIST_POINT_delete_ptr(
19454 sk: *mut stack_st_DIST_POINT,
19455 p: *const DIST_POINT,
19456 ) -> *mut DIST_POINT;
19457}
19458unsafe extern "C" {
19459 #[link_name = "sk_DIST_POINT_delete_if__extern"]
19460 pub fn sk_DIST_POINT_delete_if(
19461 sk: *mut stack_st_DIST_POINT,
19462 func: sk_DIST_POINT_delete_if_func,
19463 data: *mut ::core::ffi::c_void,
19464 );
19465}
19466unsafe extern "C" {
19467 #[link_name = "sk_DIST_POINT_find__extern"]
19468 pub fn sk_DIST_POINT_find(
19469 sk: *const stack_st_DIST_POINT,
19470 out_index: *mut usize,
19471 p: *const DIST_POINT,
19472 ) -> ::core::ffi::c_int;
19473}
19474unsafe extern "C" {
19475 #[link_name = "sk_DIST_POINT_shift__extern"]
19476 pub fn sk_DIST_POINT_shift(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19477}
19478unsafe extern "C" {
19479 #[link_name = "sk_DIST_POINT_push__extern"]
19480 pub fn sk_DIST_POINT_push(sk: *mut stack_st_DIST_POINT, p: *mut DIST_POINT) -> usize;
19481}
19482unsafe extern "C" {
19483 #[link_name = "sk_DIST_POINT_pop__extern"]
19484 pub fn sk_DIST_POINT_pop(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19485}
19486unsafe extern "C" {
19487 #[link_name = "sk_DIST_POINT_dup__extern"]
19488 pub fn sk_DIST_POINT_dup(sk: *const stack_st_DIST_POINT) -> *mut stack_st_DIST_POINT;
19489}
19490unsafe extern "C" {
19491 #[link_name = "sk_DIST_POINT_sort__extern"]
19492 pub fn sk_DIST_POINT_sort(sk: *mut stack_st_DIST_POINT);
19493}
19494unsafe extern "C" {
19495 #[link_name = "sk_DIST_POINT_sort_and_dedup__extern"]
19496 pub fn sk_DIST_POINT_sort_and_dedup(
19497 sk: *mut stack_st_DIST_POINT,
19498 free_func: sk_DIST_POINT_free_func,
19499 );
19500}
19501unsafe extern "C" {
19502 #[link_name = "sk_DIST_POINT_is_sorted__extern"]
19503 pub fn sk_DIST_POINT_is_sorted(sk: *const stack_st_DIST_POINT) -> ::core::ffi::c_int;
19504}
19505unsafe extern "C" {
19506 #[link_name = "sk_DIST_POINT_set_cmp_func__extern"]
19507 pub fn sk_DIST_POINT_set_cmp_func(
19508 sk: *mut stack_st_DIST_POINT,
19509 comp: sk_DIST_POINT_cmp_func,
19510 ) -> sk_DIST_POINT_cmp_func;
19511}
19512unsafe extern "C" {
19513 #[link_name = "sk_DIST_POINT_deep_copy__extern"]
19514 pub fn sk_DIST_POINT_deep_copy(
19515 sk: *const stack_st_DIST_POINT,
19516 copy_func: sk_DIST_POINT_copy_func,
19517 free_func: sk_DIST_POINT_free_func,
19518 ) -> *mut stack_st_DIST_POINT;
19519}
19520unsafe extern "C" {
19521 pub fn DIST_POINT_new() -> *mut DIST_POINT;
19522}
19523unsafe extern "C" {
19524 pub fn DIST_POINT_free(dp: *mut DIST_POINT);
19525}
19526pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
19527unsafe extern "C" {
19528 pub static CRL_DIST_POINTS_it: ASN1_ITEM;
19529}
19530unsafe extern "C" {
19531 pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
19532}
19533unsafe extern "C" {
19534 pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
19535}
19536unsafe extern "C" {
19537 pub fn d2i_CRL_DIST_POINTS(
19538 out: *mut *mut CRL_DIST_POINTS,
19539 inp: *mut *const u8,
19540 len: ::core::ffi::c_long,
19541 ) -> *mut CRL_DIST_POINTS;
19542}
19543unsafe extern "C" {
19544 pub fn i2d_CRL_DIST_POINTS(
19545 crldp: *const CRL_DIST_POINTS,
19546 outp: *mut *mut u8,
19547 ) -> ::core::ffi::c_int;
19548}
19549#[repr(C)]
19550#[derive(Debug, Copy, Clone)]
19551pub struct ISSUING_DIST_POINT_st {
19552 pub distpoint: *mut DIST_POINT_NAME,
19553 pub onlyuser: ASN1_BOOLEAN,
19554 pub onlyCA: ASN1_BOOLEAN,
19555 pub onlysomereasons: *mut ASN1_BIT_STRING,
19556 pub indirectCRL: ASN1_BOOLEAN,
19557 pub onlyattr: ASN1_BOOLEAN,
19558}
19559unsafe extern "C" {
19560 pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
19561}
19562unsafe extern "C" {
19563 pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
19564}
19565unsafe extern "C" {
19566 pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
19567}
19568unsafe extern "C" {
19569 pub fn d2i_ISSUING_DIST_POINT(
19570 out: *mut *mut ISSUING_DIST_POINT,
19571 inp: *mut *const u8,
19572 len: ::core::ffi::c_long,
19573 ) -> *mut ISSUING_DIST_POINT;
19574}
19575unsafe extern "C" {
19576 pub fn i2d_ISSUING_DIST_POINT(
19577 idp: *const ISSUING_DIST_POINT,
19578 outp: *mut *mut u8,
19579 ) -> ::core::ffi::c_int;
19580}
19581#[repr(C)]
19582#[derive(Debug, Copy, Clone)]
19583pub struct NOTICEREF_st {
19584 pub organization: *mut ASN1_STRING,
19585 pub noticenos: *mut stack_st_ASN1_INTEGER,
19586}
19587pub type NOTICEREF = NOTICEREF_st;
19588unsafe extern "C" {
19589 pub fn NOTICEREF_new() -> *mut NOTICEREF;
19590}
19591unsafe extern "C" {
19592 pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
19593}
19594#[repr(C)]
19595#[derive(Debug, Copy, Clone)]
19596pub struct USERNOTICE_st {
19597 pub noticeref: *mut NOTICEREF,
19598 pub exptext: *mut ASN1_STRING,
19599}
19600pub type USERNOTICE = USERNOTICE_st;
19601unsafe extern "C" {
19602 pub fn USERNOTICE_new() -> *mut USERNOTICE;
19603}
19604unsafe extern "C" {
19605 pub fn USERNOTICE_free(notice: *mut USERNOTICE);
19606}
19607#[repr(C)]
19608#[derive(Copy, Clone)]
19609pub struct POLICYQUALINFO_st {
19610 pub pqualid: *mut ASN1_OBJECT,
19611 pub d: POLICYQUALINFO_st__bindgen_ty_1,
19612}
19613#[repr(C)]
19614#[derive(Copy, Clone)]
19615pub union POLICYQUALINFO_st__bindgen_ty_1 {
19616 pub cpsuri: *mut ASN1_IA5STRING,
19617 pub usernotice: *mut USERNOTICE,
19618 pub other: *mut ASN1_TYPE,
19619}
19620pub type POLICYQUALINFO = POLICYQUALINFO_st;
19621#[repr(C)]
19622#[derive(Debug)]
19623pub struct stack_st_POLICYQUALINFO {
19624 _unused: [u8; 0],
19625}
19626pub type sk_POLICYQUALINFO_free_func =
19627 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
19628pub type sk_POLICYQUALINFO_copy_func = ::core::option::Option<
19629 unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO,
19630>;
19631pub type sk_POLICYQUALINFO_cmp_func = ::core::option::Option<
19632 unsafe extern "C" fn(
19633 arg1: *const *const POLICYQUALINFO,
19634 arg2: *const *const POLICYQUALINFO,
19635 ) -> ::core::ffi::c_int,
19636>;
19637pub type sk_POLICYQUALINFO_delete_if_func = ::core::option::Option<
19638 unsafe extern "C" fn(
19639 arg1: *mut POLICYQUALINFO,
19640 arg2: *mut ::core::ffi::c_void,
19641 ) -> ::core::ffi::c_int,
19642>;
19643unsafe extern "C" {
19644 #[link_name = "sk_POLICYQUALINFO_call_free_func__extern"]
19645 pub fn sk_POLICYQUALINFO_call_free_func(
19646 free_func: OPENSSL_sk_free_func,
19647 ptr: *mut ::core::ffi::c_void,
19648 );
19649}
19650unsafe extern "C" {
19651 #[link_name = "sk_POLICYQUALINFO_call_copy_func__extern"]
19652 pub fn sk_POLICYQUALINFO_call_copy_func(
19653 copy_func: OPENSSL_sk_copy_func,
19654 ptr: *const ::core::ffi::c_void,
19655 ) -> *mut ::core::ffi::c_void;
19656}
19657unsafe extern "C" {
19658 #[link_name = "sk_POLICYQUALINFO_call_cmp_func__extern"]
19659 pub fn sk_POLICYQUALINFO_call_cmp_func(
19660 cmp_func: OPENSSL_sk_cmp_func,
19661 a: *const ::core::ffi::c_void,
19662 b: *const ::core::ffi::c_void,
19663 ) -> ::core::ffi::c_int;
19664}
19665unsafe extern "C" {
19666 #[link_name = "sk_POLICYQUALINFO_call_delete_if_func__extern"]
19667 pub fn sk_POLICYQUALINFO_call_delete_if_func(
19668 func: OPENSSL_sk_delete_if_func,
19669 obj: *mut ::core::ffi::c_void,
19670 data: *mut ::core::ffi::c_void,
19671 ) -> ::core::ffi::c_int;
19672}
19673unsafe extern "C" {
19674 #[link_name = "sk_POLICYQUALINFO_new__extern"]
19675 pub fn sk_POLICYQUALINFO_new(comp: sk_POLICYQUALINFO_cmp_func) -> *mut stack_st_POLICYQUALINFO;
19676}
19677unsafe extern "C" {
19678 #[link_name = "sk_POLICYQUALINFO_new_null__extern"]
19679 pub fn sk_POLICYQUALINFO_new_null() -> *mut stack_st_POLICYQUALINFO;
19680}
19681unsafe extern "C" {
19682 #[link_name = "sk_POLICYQUALINFO_num__extern"]
19683 pub fn sk_POLICYQUALINFO_num(sk: *const stack_st_POLICYQUALINFO) -> usize;
19684}
19685unsafe extern "C" {
19686 #[link_name = "sk_POLICYQUALINFO_zero__extern"]
19687 pub fn sk_POLICYQUALINFO_zero(sk: *mut stack_st_POLICYQUALINFO);
19688}
19689unsafe extern "C" {
19690 #[link_name = "sk_POLICYQUALINFO_value__extern"]
19691 pub fn sk_POLICYQUALINFO_value(
19692 sk: *const stack_st_POLICYQUALINFO,
19693 i: usize,
19694 ) -> *mut POLICYQUALINFO;
19695}
19696unsafe extern "C" {
19697 #[link_name = "sk_POLICYQUALINFO_set__extern"]
19698 pub fn sk_POLICYQUALINFO_set(
19699 sk: *mut stack_st_POLICYQUALINFO,
19700 i: usize,
19701 p: *mut POLICYQUALINFO,
19702 ) -> *mut POLICYQUALINFO;
19703}
19704unsafe extern "C" {
19705 #[link_name = "sk_POLICYQUALINFO_free__extern"]
19706 pub fn sk_POLICYQUALINFO_free(sk: *mut stack_st_POLICYQUALINFO);
19707}
19708unsafe extern "C" {
19709 #[link_name = "sk_POLICYQUALINFO_pop_free__extern"]
19710 pub fn sk_POLICYQUALINFO_pop_free(
19711 sk: *mut stack_st_POLICYQUALINFO,
19712 free_func: sk_POLICYQUALINFO_free_func,
19713 );
19714}
19715unsafe extern "C" {
19716 #[link_name = "sk_POLICYQUALINFO_insert__extern"]
19717 pub fn sk_POLICYQUALINFO_insert(
19718 sk: *mut stack_st_POLICYQUALINFO,
19719 p: *mut POLICYQUALINFO,
19720 where_: usize,
19721 ) -> usize;
19722}
19723unsafe extern "C" {
19724 #[link_name = "sk_POLICYQUALINFO_delete__extern"]
19725 pub fn sk_POLICYQUALINFO_delete(
19726 sk: *mut stack_st_POLICYQUALINFO,
19727 where_: usize,
19728 ) -> *mut POLICYQUALINFO;
19729}
19730unsafe extern "C" {
19731 #[link_name = "sk_POLICYQUALINFO_delete_ptr__extern"]
19732 pub fn sk_POLICYQUALINFO_delete_ptr(
19733 sk: *mut stack_st_POLICYQUALINFO,
19734 p: *const POLICYQUALINFO,
19735 ) -> *mut POLICYQUALINFO;
19736}
19737unsafe extern "C" {
19738 #[link_name = "sk_POLICYQUALINFO_delete_if__extern"]
19739 pub fn sk_POLICYQUALINFO_delete_if(
19740 sk: *mut stack_st_POLICYQUALINFO,
19741 func: sk_POLICYQUALINFO_delete_if_func,
19742 data: *mut ::core::ffi::c_void,
19743 );
19744}
19745unsafe extern "C" {
19746 #[link_name = "sk_POLICYQUALINFO_find__extern"]
19747 pub fn sk_POLICYQUALINFO_find(
19748 sk: *const stack_st_POLICYQUALINFO,
19749 out_index: *mut usize,
19750 p: *const POLICYQUALINFO,
19751 ) -> ::core::ffi::c_int;
19752}
19753unsafe extern "C" {
19754 #[link_name = "sk_POLICYQUALINFO_shift__extern"]
19755 pub fn sk_POLICYQUALINFO_shift(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19756}
19757unsafe extern "C" {
19758 #[link_name = "sk_POLICYQUALINFO_push__extern"]
19759 pub fn sk_POLICYQUALINFO_push(
19760 sk: *mut stack_st_POLICYQUALINFO,
19761 p: *mut POLICYQUALINFO,
19762 ) -> usize;
19763}
19764unsafe extern "C" {
19765 #[link_name = "sk_POLICYQUALINFO_pop__extern"]
19766 pub fn sk_POLICYQUALINFO_pop(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19767}
19768unsafe extern "C" {
19769 #[link_name = "sk_POLICYQUALINFO_dup__extern"]
19770 pub fn sk_POLICYQUALINFO_dup(
19771 sk: *const stack_st_POLICYQUALINFO,
19772 ) -> *mut stack_st_POLICYQUALINFO;
19773}
19774unsafe extern "C" {
19775 #[link_name = "sk_POLICYQUALINFO_sort__extern"]
19776 pub fn sk_POLICYQUALINFO_sort(sk: *mut stack_st_POLICYQUALINFO);
19777}
19778unsafe extern "C" {
19779 #[link_name = "sk_POLICYQUALINFO_sort_and_dedup__extern"]
19780 pub fn sk_POLICYQUALINFO_sort_and_dedup(
19781 sk: *mut stack_st_POLICYQUALINFO,
19782 free_func: sk_POLICYQUALINFO_free_func,
19783 );
19784}
19785unsafe extern "C" {
19786 #[link_name = "sk_POLICYQUALINFO_is_sorted__extern"]
19787 pub fn sk_POLICYQUALINFO_is_sorted(sk: *const stack_st_POLICYQUALINFO) -> ::core::ffi::c_int;
19788}
19789unsafe extern "C" {
19790 #[link_name = "sk_POLICYQUALINFO_set_cmp_func__extern"]
19791 pub fn sk_POLICYQUALINFO_set_cmp_func(
19792 sk: *mut stack_st_POLICYQUALINFO,
19793 comp: sk_POLICYQUALINFO_cmp_func,
19794 ) -> sk_POLICYQUALINFO_cmp_func;
19795}
19796unsafe extern "C" {
19797 #[link_name = "sk_POLICYQUALINFO_deep_copy__extern"]
19798 pub fn sk_POLICYQUALINFO_deep_copy(
19799 sk: *const stack_st_POLICYQUALINFO,
19800 copy_func: sk_POLICYQUALINFO_copy_func,
19801 free_func: sk_POLICYQUALINFO_free_func,
19802 ) -> *mut stack_st_POLICYQUALINFO;
19803}
19804unsafe extern "C" {
19805 pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
19806}
19807unsafe extern "C" {
19808 pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
19809}
19810#[repr(C)]
19811#[derive(Debug, Copy, Clone)]
19812pub struct POLICYINFO_st {
19813 pub policyid: *mut ASN1_OBJECT,
19814 pub qualifiers: *mut stack_st_POLICYQUALINFO,
19815}
19816pub type POLICYINFO = POLICYINFO_st;
19817#[repr(C)]
19818#[derive(Debug)]
19819pub struct stack_st_POLICYINFO {
19820 _unused: [u8; 0],
19821}
19822pub type sk_POLICYINFO_free_func =
19823 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
19824pub type sk_POLICYINFO_copy_func =
19825 ::core::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
19826pub type sk_POLICYINFO_cmp_func = ::core::option::Option<
19827 unsafe extern "C" fn(
19828 arg1: *const *const POLICYINFO,
19829 arg2: *const *const POLICYINFO,
19830 ) -> ::core::ffi::c_int,
19831>;
19832pub type sk_POLICYINFO_delete_if_func = ::core::option::Option<
19833 unsafe extern "C" fn(
19834 arg1: *mut POLICYINFO,
19835 arg2: *mut ::core::ffi::c_void,
19836 ) -> ::core::ffi::c_int,
19837>;
19838unsafe extern "C" {
19839 #[link_name = "sk_POLICYINFO_call_free_func__extern"]
19840 pub fn sk_POLICYINFO_call_free_func(
19841 free_func: OPENSSL_sk_free_func,
19842 ptr: *mut ::core::ffi::c_void,
19843 );
19844}
19845unsafe extern "C" {
19846 #[link_name = "sk_POLICYINFO_call_copy_func__extern"]
19847 pub fn sk_POLICYINFO_call_copy_func(
19848 copy_func: OPENSSL_sk_copy_func,
19849 ptr: *const ::core::ffi::c_void,
19850 ) -> *mut ::core::ffi::c_void;
19851}
19852unsafe extern "C" {
19853 #[link_name = "sk_POLICYINFO_call_cmp_func__extern"]
19854 pub fn sk_POLICYINFO_call_cmp_func(
19855 cmp_func: OPENSSL_sk_cmp_func,
19856 a: *const ::core::ffi::c_void,
19857 b: *const ::core::ffi::c_void,
19858 ) -> ::core::ffi::c_int;
19859}
19860unsafe extern "C" {
19861 #[link_name = "sk_POLICYINFO_call_delete_if_func__extern"]
19862 pub fn sk_POLICYINFO_call_delete_if_func(
19863 func: OPENSSL_sk_delete_if_func,
19864 obj: *mut ::core::ffi::c_void,
19865 data: *mut ::core::ffi::c_void,
19866 ) -> ::core::ffi::c_int;
19867}
19868unsafe extern "C" {
19869 #[link_name = "sk_POLICYINFO_new__extern"]
19870 pub fn sk_POLICYINFO_new(comp: sk_POLICYINFO_cmp_func) -> *mut stack_st_POLICYINFO;
19871}
19872unsafe extern "C" {
19873 #[link_name = "sk_POLICYINFO_new_null__extern"]
19874 pub fn sk_POLICYINFO_new_null() -> *mut stack_st_POLICYINFO;
19875}
19876unsafe extern "C" {
19877 #[link_name = "sk_POLICYINFO_num__extern"]
19878 pub fn sk_POLICYINFO_num(sk: *const stack_st_POLICYINFO) -> usize;
19879}
19880unsafe extern "C" {
19881 #[link_name = "sk_POLICYINFO_zero__extern"]
19882 pub fn sk_POLICYINFO_zero(sk: *mut stack_st_POLICYINFO);
19883}
19884unsafe extern "C" {
19885 #[link_name = "sk_POLICYINFO_value__extern"]
19886 pub fn sk_POLICYINFO_value(sk: *const stack_st_POLICYINFO, i: usize) -> *mut POLICYINFO;
19887}
19888unsafe extern "C" {
19889 #[link_name = "sk_POLICYINFO_set__extern"]
19890 pub fn sk_POLICYINFO_set(
19891 sk: *mut stack_st_POLICYINFO,
19892 i: usize,
19893 p: *mut POLICYINFO,
19894 ) -> *mut POLICYINFO;
19895}
19896unsafe extern "C" {
19897 #[link_name = "sk_POLICYINFO_free__extern"]
19898 pub fn sk_POLICYINFO_free(sk: *mut stack_st_POLICYINFO);
19899}
19900unsafe extern "C" {
19901 #[link_name = "sk_POLICYINFO_pop_free__extern"]
19902 pub fn sk_POLICYINFO_pop_free(sk: *mut stack_st_POLICYINFO, free_func: sk_POLICYINFO_free_func);
19903}
19904unsafe extern "C" {
19905 #[link_name = "sk_POLICYINFO_insert__extern"]
19906 pub fn sk_POLICYINFO_insert(
19907 sk: *mut stack_st_POLICYINFO,
19908 p: *mut POLICYINFO,
19909 where_: usize,
19910 ) -> usize;
19911}
19912unsafe extern "C" {
19913 #[link_name = "sk_POLICYINFO_delete__extern"]
19914 pub fn sk_POLICYINFO_delete(sk: *mut stack_st_POLICYINFO, where_: usize) -> *mut POLICYINFO;
19915}
19916unsafe extern "C" {
19917 #[link_name = "sk_POLICYINFO_delete_ptr__extern"]
19918 pub fn sk_POLICYINFO_delete_ptr(
19919 sk: *mut stack_st_POLICYINFO,
19920 p: *const POLICYINFO,
19921 ) -> *mut POLICYINFO;
19922}
19923unsafe extern "C" {
19924 #[link_name = "sk_POLICYINFO_delete_if__extern"]
19925 pub fn sk_POLICYINFO_delete_if(
19926 sk: *mut stack_st_POLICYINFO,
19927 func: sk_POLICYINFO_delete_if_func,
19928 data: *mut ::core::ffi::c_void,
19929 );
19930}
19931unsafe extern "C" {
19932 #[link_name = "sk_POLICYINFO_find__extern"]
19933 pub fn sk_POLICYINFO_find(
19934 sk: *const stack_st_POLICYINFO,
19935 out_index: *mut usize,
19936 p: *const POLICYINFO,
19937 ) -> ::core::ffi::c_int;
19938}
19939unsafe extern "C" {
19940 #[link_name = "sk_POLICYINFO_shift__extern"]
19941 pub fn sk_POLICYINFO_shift(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
19942}
19943unsafe extern "C" {
19944 #[link_name = "sk_POLICYINFO_push__extern"]
19945 pub fn sk_POLICYINFO_push(sk: *mut stack_st_POLICYINFO, p: *mut POLICYINFO) -> usize;
19946}
19947unsafe extern "C" {
19948 #[link_name = "sk_POLICYINFO_pop__extern"]
19949 pub fn sk_POLICYINFO_pop(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
19950}
19951unsafe extern "C" {
19952 #[link_name = "sk_POLICYINFO_dup__extern"]
19953 pub fn sk_POLICYINFO_dup(sk: *const stack_st_POLICYINFO) -> *mut stack_st_POLICYINFO;
19954}
19955unsafe extern "C" {
19956 #[link_name = "sk_POLICYINFO_sort__extern"]
19957 pub fn sk_POLICYINFO_sort(sk: *mut stack_st_POLICYINFO);
19958}
19959unsafe extern "C" {
19960 #[link_name = "sk_POLICYINFO_sort_and_dedup__extern"]
19961 pub fn sk_POLICYINFO_sort_and_dedup(
19962 sk: *mut stack_st_POLICYINFO,
19963 free_func: sk_POLICYINFO_free_func,
19964 );
19965}
19966unsafe extern "C" {
19967 #[link_name = "sk_POLICYINFO_is_sorted__extern"]
19968 pub fn sk_POLICYINFO_is_sorted(sk: *const stack_st_POLICYINFO) -> ::core::ffi::c_int;
19969}
19970unsafe extern "C" {
19971 #[link_name = "sk_POLICYINFO_set_cmp_func__extern"]
19972 pub fn sk_POLICYINFO_set_cmp_func(
19973 sk: *mut stack_st_POLICYINFO,
19974 comp: sk_POLICYINFO_cmp_func,
19975 ) -> sk_POLICYINFO_cmp_func;
19976}
19977unsafe extern "C" {
19978 #[link_name = "sk_POLICYINFO_deep_copy__extern"]
19979 pub fn sk_POLICYINFO_deep_copy(
19980 sk: *const stack_st_POLICYINFO,
19981 copy_func: sk_POLICYINFO_copy_func,
19982 free_func: sk_POLICYINFO_free_func,
19983 ) -> *mut stack_st_POLICYINFO;
19984}
19985unsafe extern "C" {
19986 pub fn POLICYINFO_new() -> *mut POLICYINFO;
19987}
19988unsafe extern "C" {
19989 pub fn POLICYINFO_free(info: *mut POLICYINFO);
19990}
19991pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
19992unsafe extern "C" {
19993 pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
19994}
19995unsafe extern "C" {
19996 pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
19997}
19998unsafe extern "C" {
19999 pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
20000}
20001unsafe extern "C" {
20002 pub fn d2i_CERTIFICATEPOLICIES(
20003 out: *mut *mut CERTIFICATEPOLICIES,
20004 inp: *mut *const u8,
20005 len: ::core::ffi::c_long,
20006 ) -> *mut CERTIFICATEPOLICIES;
20007}
20008unsafe extern "C" {
20009 pub fn i2d_CERTIFICATEPOLICIES(
20010 policies: *const CERTIFICATEPOLICIES,
20011 outp: *mut *mut u8,
20012 ) -> ::core::ffi::c_int;
20013}
20014#[repr(C)]
20015#[derive(Debug, Copy, Clone)]
20016pub struct POLICY_MAPPING_st {
20017 pub issuerDomainPolicy: *mut ASN1_OBJECT,
20018 pub subjectDomainPolicy: *mut ASN1_OBJECT,
20019}
20020pub type POLICY_MAPPING = POLICY_MAPPING_st;
20021#[repr(C)]
20022#[derive(Debug)]
20023pub struct stack_st_POLICY_MAPPING {
20024 _unused: [u8; 0],
20025}
20026pub type sk_POLICY_MAPPING_free_func =
20027 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
20028pub type sk_POLICY_MAPPING_copy_func = ::core::option::Option<
20029 unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING,
20030>;
20031pub type sk_POLICY_MAPPING_cmp_func = ::core::option::Option<
20032 unsafe extern "C" fn(
20033 arg1: *const *const POLICY_MAPPING,
20034 arg2: *const *const POLICY_MAPPING,
20035 ) -> ::core::ffi::c_int,
20036>;
20037pub type sk_POLICY_MAPPING_delete_if_func = ::core::option::Option<
20038 unsafe extern "C" fn(
20039 arg1: *mut POLICY_MAPPING,
20040 arg2: *mut ::core::ffi::c_void,
20041 ) -> ::core::ffi::c_int,
20042>;
20043unsafe extern "C" {
20044 #[link_name = "sk_POLICY_MAPPING_call_free_func__extern"]
20045 pub fn sk_POLICY_MAPPING_call_free_func(
20046 free_func: OPENSSL_sk_free_func,
20047 ptr: *mut ::core::ffi::c_void,
20048 );
20049}
20050unsafe extern "C" {
20051 #[link_name = "sk_POLICY_MAPPING_call_copy_func__extern"]
20052 pub fn sk_POLICY_MAPPING_call_copy_func(
20053 copy_func: OPENSSL_sk_copy_func,
20054 ptr: *const ::core::ffi::c_void,
20055 ) -> *mut ::core::ffi::c_void;
20056}
20057unsafe extern "C" {
20058 #[link_name = "sk_POLICY_MAPPING_call_cmp_func__extern"]
20059 pub fn sk_POLICY_MAPPING_call_cmp_func(
20060 cmp_func: OPENSSL_sk_cmp_func,
20061 a: *const ::core::ffi::c_void,
20062 b: *const ::core::ffi::c_void,
20063 ) -> ::core::ffi::c_int;
20064}
20065unsafe extern "C" {
20066 #[link_name = "sk_POLICY_MAPPING_call_delete_if_func__extern"]
20067 pub fn sk_POLICY_MAPPING_call_delete_if_func(
20068 func: OPENSSL_sk_delete_if_func,
20069 obj: *mut ::core::ffi::c_void,
20070 data: *mut ::core::ffi::c_void,
20071 ) -> ::core::ffi::c_int;
20072}
20073unsafe extern "C" {
20074 #[link_name = "sk_POLICY_MAPPING_new__extern"]
20075 pub fn sk_POLICY_MAPPING_new(comp: sk_POLICY_MAPPING_cmp_func) -> *mut stack_st_POLICY_MAPPING;
20076}
20077unsafe extern "C" {
20078 #[link_name = "sk_POLICY_MAPPING_new_null__extern"]
20079 pub fn sk_POLICY_MAPPING_new_null() -> *mut stack_st_POLICY_MAPPING;
20080}
20081unsafe extern "C" {
20082 #[link_name = "sk_POLICY_MAPPING_num__extern"]
20083 pub fn sk_POLICY_MAPPING_num(sk: *const stack_st_POLICY_MAPPING) -> usize;
20084}
20085unsafe extern "C" {
20086 #[link_name = "sk_POLICY_MAPPING_zero__extern"]
20087 pub fn sk_POLICY_MAPPING_zero(sk: *mut stack_st_POLICY_MAPPING);
20088}
20089unsafe extern "C" {
20090 #[link_name = "sk_POLICY_MAPPING_value__extern"]
20091 pub fn sk_POLICY_MAPPING_value(
20092 sk: *const stack_st_POLICY_MAPPING,
20093 i: usize,
20094 ) -> *mut POLICY_MAPPING;
20095}
20096unsafe extern "C" {
20097 #[link_name = "sk_POLICY_MAPPING_set__extern"]
20098 pub fn sk_POLICY_MAPPING_set(
20099 sk: *mut stack_st_POLICY_MAPPING,
20100 i: usize,
20101 p: *mut POLICY_MAPPING,
20102 ) -> *mut POLICY_MAPPING;
20103}
20104unsafe extern "C" {
20105 #[link_name = "sk_POLICY_MAPPING_free__extern"]
20106 pub fn sk_POLICY_MAPPING_free(sk: *mut stack_st_POLICY_MAPPING);
20107}
20108unsafe extern "C" {
20109 #[link_name = "sk_POLICY_MAPPING_pop_free__extern"]
20110 pub fn sk_POLICY_MAPPING_pop_free(
20111 sk: *mut stack_st_POLICY_MAPPING,
20112 free_func: sk_POLICY_MAPPING_free_func,
20113 );
20114}
20115unsafe extern "C" {
20116 #[link_name = "sk_POLICY_MAPPING_insert__extern"]
20117 pub fn sk_POLICY_MAPPING_insert(
20118 sk: *mut stack_st_POLICY_MAPPING,
20119 p: *mut POLICY_MAPPING,
20120 where_: usize,
20121 ) -> usize;
20122}
20123unsafe extern "C" {
20124 #[link_name = "sk_POLICY_MAPPING_delete__extern"]
20125 pub fn sk_POLICY_MAPPING_delete(
20126 sk: *mut stack_st_POLICY_MAPPING,
20127 where_: usize,
20128 ) -> *mut POLICY_MAPPING;
20129}
20130unsafe extern "C" {
20131 #[link_name = "sk_POLICY_MAPPING_delete_ptr__extern"]
20132 pub fn sk_POLICY_MAPPING_delete_ptr(
20133 sk: *mut stack_st_POLICY_MAPPING,
20134 p: *const POLICY_MAPPING,
20135 ) -> *mut POLICY_MAPPING;
20136}
20137unsafe extern "C" {
20138 #[link_name = "sk_POLICY_MAPPING_delete_if__extern"]
20139 pub fn sk_POLICY_MAPPING_delete_if(
20140 sk: *mut stack_st_POLICY_MAPPING,
20141 func: sk_POLICY_MAPPING_delete_if_func,
20142 data: *mut ::core::ffi::c_void,
20143 );
20144}
20145unsafe extern "C" {
20146 #[link_name = "sk_POLICY_MAPPING_find__extern"]
20147 pub fn sk_POLICY_MAPPING_find(
20148 sk: *const stack_st_POLICY_MAPPING,
20149 out_index: *mut usize,
20150 p: *const POLICY_MAPPING,
20151 ) -> ::core::ffi::c_int;
20152}
20153unsafe extern "C" {
20154 #[link_name = "sk_POLICY_MAPPING_shift__extern"]
20155 pub fn sk_POLICY_MAPPING_shift(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20156}
20157unsafe extern "C" {
20158 #[link_name = "sk_POLICY_MAPPING_push__extern"]
20159 pub fn sk_POLICY_MAPPING_push(
20160 sk: *mut stack_st_POLICY_MAPPING,
20161 p: *mut POLICY_MAPPING,
20162 ) -> usize;
20163}
20164unsafe extern "C" {
20165 #[link_name = "sk_POLICY_MAPPING_pop__extern"]
20166 pub fn sk_POLICY_MAPPING_pop(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20167}
20168unsafe extern "C" {
20169 #[link_name = "sk_POLICY_MAPPING_dup__extern"]
20170 pub fn sk_POLICY_MAPPING_dup(
20171 sk: *const stack_st_POLICY_MAPPING,
20172 ) -> *mut stack_st_POLICY_MAPPING;
20173}
20174unsafe extern "C" {
20175 #[link_name = "sk_POLICY_MAPPING_sort__extern"]
20176 pub fn sk_POLICY_MAPPING_sort(sk: *mut stack_st_POLICY_MAPPING);
20177}
20178unsafe extern "C" {
20179 #[link_name = "sk_POLICY_MAPPING_sort_and_dedup__extern"]
20180 pub fn sk_POLICY_MAPPING_sort_and_dedup(
20181 sk: *mut stack_st_POLICY_MAPPING,
20182 free_func: sk_POLICY_MAPPING_free_func,
20183 );
20184}
20185unsafe extern "C" {
20186 #[link_name = "sk_POLICY_MAPPING_is_sorted__extern"]
20187 pub fn sk_POLICY_MAPPING_is_sorted(sk: *const stack_st_POLICY_MAPPING) -> ::core::ffi::c_int;
20188}
20189unsafe extern "C" {
20190 #[link_name = "sk_POLICY_MAPPING_set_cmp_func__extern"]
20191 pub fn sk_POLICY_MAPPING_set_cmp_func(
20192 sk: *mut stack_st_POLICY_MAPPING,
20193 comp: sk_POLICY_MAPPING_cmp_func,
20194 ) -> sk_POLICY_MAPPING_cmp_func;
20195}
20196unsafe extern "C" {
20197 #[link_name = "sk_POLICY_MAPPING_deep_copy__extern"]
20198 pub fn sk_POLICY_MAPPING_deep_copy(
20199 sk: *const stack_st_POLICY_MAPPING,
20200 copy_func: sk_POLICY_MAPPING_copy_func,
20201 free_func: sk_POLICY_MAPPING_free_func,
20202 ) -> *mut stack_st_POLICY_MAPPING;
20203}
20204unsafe extern "C" {
20205 pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
20206}
20207unsafe extern "C" {
20208 pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
20209}
20210pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
20211unsafe extern "C" {
20212 pub static POLICY_MAPPINGS_it: ASN1_ITEM;
20213}
20214#[repr(C)]
20215#[derive(Debug, Copy, Clone)]
20216pub struct POLICY_CONSTRAINTS_st {
20217 pub requireExplicitPolicy: *mut ASN1_INTEGER,
20218 pub inhibitPolicyMapping: *mut ASN1_INTEGER,
20219}
20220pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
20221unsafe extern "C" {
20222 pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
20223}
20224unsafe extern "C" {
20225 pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
20226}
20227unsafe extern "C" {
20228 pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
20229}
20230#[repr(C)]
20231#[derive(Debug)]
20232pub struct stack_st_X509_ALGOR {
20233 _unused: [u8; 0],
20234}
20235pub type sk_X509_ALGOR_free_func =
20236 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
20237pub type sk_X509_ALGOR_copy_func =
20238 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
20239pub type sk_X509_ALGOR_cmp_func = ::core::option::Option<
20240 unsafe extern "C" fn(
20241 arg1: *const *const X509_ALGOR,
20242 arg2: *const *const X509_ALGOR,
20243 ) -> ::core::ffi::c_int,
20244>;
20245pub type sk_X509_ALGOR_delete_if_func = ::core::option::Option<
20246 unsafe extern "C" fn(
20247 arg1: *mut X509_ALGOR,
20248 arg2: *mut ::core::ffi::c_void,
20249 ) -> ::core::ffi::c_int,
20250>;
20251unsafe extern "C" {
20252 #[link_name = "sk_X509_ALGOR_call_free_func__extern"]
20253 pub fn sk_X509_ALGOR_call_free_func(
20254 free_func: OPENSSL_sk_free_func,
20255 ptr: *mut ::core::ffi::c_void,
20256 );
20257}
20258unsafe extern "C" {
20259 #[link_name = "sk_X509_ALGOR_call_copy_func__extern"]
20260 pub fn sk_X509_ALGOR_call_copy_func(
20261 copy_func: OPENSSL_sk_copy_func,
20262 ptr: *const ::core::ffi::c_void,
20263 ) -> *mut ::core::ffi::c_void;
20264}
20265unsafe extern "C" {
20266 #[link_name = "sk_X509_ALGOR_call_cmp_func__extern"]
20267 pub fn sk_X509_ALGOR_call_cmp_func(
20268 cmp_func: OPENSSL_sk_cmp_func,
20269 a: *const ::core::ffi::c_void,
20270 b: *const ::core::ffi::c_void,
20271 ) -> ::core::ffi::c_int;
20272}
20273unsafe extern "C" {
20274 #[link_name = "sk_X509_ALGOR_call_delete_if_func__extern"]
20275 pub fn sk_X509_ALGOR_call_delete_if_func(
20276 func: OPENSSL_sk_delete_if_func,
20277 obj: *mut ::core::ffi::c_void,
20278 data: *mut ::core::ffi::c_void,
20279 ) -> ::core::ffi::c_int;
20280}
20281unsafe extern "C" {
20282 #[link_name = "sk_X509_ALGOR_new__extern"]
20283 pub fn sk_X509_ALGOR_new(comp: sk_X509_ALGOR_cmp_func) -> *mut stack_st_X509_ALGOR;
20284}
20285unsafe extern "C" {
20286 #[link_name = "sk_X509_ALGOR_new_null__extern"]
20287 pub fn sk_X509_ALGOR_new_null() -> *mut stack_st_X509_ALGOR;
20288}
20289unsafe extern "C" {
20290 #[link_name = "sk_X509_ALGOR_num__extern"]
20291 pub fn sk_X509_ALGOR_num(sk: *const stack_st_X509_ALGOR) -> usize;
20292}
20293unsafe extern "C" {
20294 #[link_name = "sk_X509_ALGOR_zero__extern"]
20295 pub fn sk_X509_ALGOR_zero(sk: *mut stack_st_X509_ALGOR);
20296}
20297unsafe extern "C" {
20298 #[link_name = "sk_X509_ALGOR_value__extern"]
20299 pub fn sk_X509_ALGOR_value(sk: *const stack_st_X509_ALGOR, i: usize) -> *mut X509_ALGOR;
20300}
20301unsafe extern "C" {
20302 #[link_name = "sk_X509_ALGOR_set__extern"]
20303 pub fn sk_X509_ALGOR_set(
20304 sk: *mut stack_st_X509_ALGOR,
20305 i: usize,
20306 p: *mut X509_ALGOR,
20307 ) -> *mut X509_ALGOR;
20308}
20309unsafe extern "C" {
20310 #[link_name = "sk_X509_ALGOR_free__extern"]
20311 pub fn sk_X509_ALGOR_free(sk: *mut stack_st_X509_ALGOR);
20312}
20313unsafe extern "C" {
20314 #[link_name = "sk_X509_ALGOR_pop_free__extern"]
20315 pub fn sk_X509_ALGOR_pop_free(sk: *mut stack_st_X509_ALGOR, free_func: sk_X509_ALGOR_free_func);
20316}
20317unsafe extern "C" {
20318 #[link_name = "sk_X509_ALGOR_insert__extern"]
20319 pub fn sk_X509_ALGOR_insert(
20320 sk: *mut stack_st_X509_ALGOR,
20321 p: *mut X509_ALGOR,
20322 where_: usize,
20323 ) -> usize;
20324}
20325unsafe extern "C" {
20326 #[link_name = "sk_X509_ALGOR_delete__extern"]
20327 pub fn sk_X509_ALGOR_delete(sk: *mut stack_st_X509_ALGOR, where_: usize) -> *mut X509_ALGOR;
20328}
20329unsafe extern "C" {
20330 #[link_name = "sk_X509_ALGOR_delete_ptr__extern"]
20331 pub fn sk_X509_ALGOR_delete_ptr(
20332 sk: *mut stack_st_X509_ALGOR,
20333 p: *const X509_ALGOR,
20334 ) -> *mut X509_ALGOR;
20335}
20336unsafe extern "C" {
20337 #[link_name = "sk_X509_ALGOR_delete_if__extern"]
20338 pub fn sk_X509_ALGOR_delete_if(
20339 sk: *mut stack_st_X509_ALGOR,
20340 func: sk_X509_ALGOR_delete_if_func,
20341 data: *mut ::core::ffi::c_void,
20342 );
20343}
20344unsafe extern "C" {
20345 #[link_name = "sk_X509_ALGOR_find__extern"]
20346 pub fn sk_X509_ALGOR_find(
20347 sk: *const stack_st_X509_ALGOR,
20348 out_index: *mut usize,
20349 p: *const X509_ALGOR,
20350 ) -> ::core::ffi::c_int;
20351}
20352unsafe extern "C" {
20353 #[link_name = "sk_X509_ALGOR_shift__extern"]
20354 pub fn sk_X509_ALGOR_shift(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20355}
20356unsafe extern "C" {
20357 #[link_name = "sk_X509_ALGOR_push__extern"]
20358 pub fn sk_X509_ALGOR_push(sk: *mut stack_st_X509_ALGOR, p: *mut X509_ALGOR) -> usize;
20359}
20360unsafe extern "C" {
20361 #[link_name = "sk_X509_ALGOR_pop__extern"]
20362 pub fn sk_X509_ALGOR_pop(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20363}
20364unsafe extern "C" {
20365 #[link_name = "sk_X509_ALGOR_dup__extern"]
20366 pub fn sk_X509_ALGOR_dup(sk: *const stack_st_X509_ALGOR) -> *mut stack_st_X509_ALGOR;
20367}
20368unsafe extern "C" {
20369 #[link_name = "sk_X509_ALGOR_sort__extern"]
20370 pub fn sk_X509_ALGOR_sort(sk: *mut stack_st_X509_ALGOR);
20371}
20372unsafe extern "C" {
20373 #[link_name = "sk_X509_ALGOR_sort_and_dedup__extern"]
20374 pub fn sk_X509_ALGOR_sort_and_dedup(
20375 sk: *mut stack_st_X509_ALGOR,
20376 free_func: sk_X509_ALGOR_free_func,
20377 );
20378}
20379unsafe extern "C" {
20380 #[link_name = "sk_X509_ALGOR_is_sorted__extern"]
20381 pub fn sk_X509_ALGOR_is_sorted(sk: *const stack_st_X509_ALGOR) -> ::core::ffi::c_int;
20382}
20383unsafe extern "C" {
20384 #[link_name = "sk_X509_ALGOR_set_cmp_func__extern"]
20385 pub fn sk_X509_ALGOR_set_cmp_func(
20386 sk: *mut stack_st_X509_ALGOR,
20387 comp: sk_X509_ALGOR_cmp_func,
20388 ) -> sk_X509_ALGOR_cmp_func;
20389}
20390unsafe extern "C" {
20391 #[link_name = "sk_X509_ALGOR_deep_copy__extern"]
20392 pub fn sk_X509_ALGOR_deep_copy(
20393 sk: *const stack_st_X509_ALGOR,
20394 copy_func: sk_X509_ALGOR_copy_func,
20395 free_func: sk_X509_ALGOR_free_func,
20396 ) -> *mut stack_st_X509_ALGOR;
20397}
20398unsafe extern "C" {
20399 pub static X509_ALGOR_it: ASN1_ITEM;
20400}
20401unsafe extern "C" {
20402 pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
20403}
20404unsafe extern "C" {
20405 pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
20406}
20407unsafe extern "C" {
20408 pub fn X509_ALGOR_copy(dst: *mut X509_ALGOR, src: *const X509_ALGOR) -> ::core::ffi::c_int;
20409}
20410unsafe extern "C" {
20411 pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
20412}
20413unsafe extern "C" {
20414 pub fn d2i_X509_ALGOR(
20415 out: *mut *mut X509_ALGOR,
20416 inp: *mut *const u8,
20417 len: ::core::ffi::c_long,
20418 ) -> *mut X509_ALGOR;
20419}
20420unsafe extern "C" {
20421 pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::core::ffi::c_int;
20422}
20423unsafe extern "C" {
20424 pub fn X509_ALGOR_set0(
20425 alg: *mut X509_ALGOR,
20426 obj: *mut ASN1_OBJECT,
20427 param_type: ::core::ffi::c_int,
20428 param_value: *mut ::core::ffi::c_void,
20429 ) -> ::core::ffi::c_int;
20430}
20431unsafe extern "C" {
20432 pub fn X509_ALGOR_get0(
20433 out_obj: *mut *const ASN1_OBJECT,
20434 out_param_type: *mut ::core::ffi::c_int,
20435 out_param_value: *mut *const ::core::ffi::c_void,
20436 alg: *const X509_ALGOR,
20437 );
20438}
20439unsafe extern "C" {
20440 pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::core::ffi::c_int;
20441}
20442unsafe extern "C" {
20443 pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::core::ffi::c_int;
20444}
20445#[repr(C)]
20446#[derive(Debug)]
20447pub struct stack_st_X509_ATTRIBUTE {
20448 _unused: [u8; 0],
20449}
20450pub type sk_X509_ATTRIBUTE_free_func =
20451 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
20452pub type sk_X509_ATTRIBUTE_copy_func = ::core::option::Option<
20453 unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE,
20454>;
20455pub type sk_X509_ATTRIBUTE_cmp_func = ::core::option::Option<
20456 unsafe extern "C" fn(
20457 arg1: *const *const X509_ATTRIBUTE,
20458 arg2: *const *const X509_ATTRIBUTE,
20459 ) -> ::core::ffi::c_int,
20460>;
20461pub type sk_X509_ATTRIBUTE_delete_if_func = ::core::option::Option<
20462 unsafe extern "C" fn(
20463 arg1: *mut X509_ATTRIBUTE,
20464 arg2: *mut ::core::ffi::c_void,
20465 ) -> ::core::ffi::c_int,
20466>;
20467unsafe extern "C" {
20468 #[link_name = "sk_X509_ATTRIBUTE_call_free_func__extern"]
20469 pub fn sk_X509_ATTRIBUTE_call_free_func(
20470 free_func: OPENSSL_sk_free_func,
20471 ptr: *mut ::core::ffi::c_void,
20472 );
20473}
20474unsafe extern "C" {
20475 #[link_name = "sk_X509_ATTRIBUTE_call_copy_func__extern"]
20476 pub fn sk_X509_ATTRIBUTE_call_copy_func(
20477 copy_func: OPENSSL_sk_copy_func,
20478 ptr: *const ::core::ffi::c_void,
20479 ) -> *mut ::core::ffi::c_void;
20480}
20481unsafe extern "C" {
20482 #[link_name = "sk_X509_ATTRIBUTE_call_cmp_func__extern"]
20483 pub fn sk_X509_ATTRIBUTE_call_cmp_func(
20484 cmp_func: OPENSSL_sk_cmp_func,
20485 a: *const ::core::ffi::c_void,
20486 b: *const ::core::ffi::c_void,
20487 ) -> ::core::ffi::c_int;
20488}
20489unsafe extern "C" {
20490 #[link_name = "sk_X509_ATTRIBUTE_call_delete_if_func__extern"]
20491 pub fn sk_X509_ATTRIBUTE_call_delete_if_func(
20492 func: OPENSSL_sk_delete_if_func,
20493 obj: *mut ::core::ffi::c_void,
20494 data: *mut ::core::ffi::c_void,
20495 ) -> ::core::ffi::c_int;
20496}
20497unsafe extern "C" {
20498 #[link_name = "sk_X509_ATTRIBUTE_new__extern"]
20499 pub fn sk_X509_ATTRIBUTE_new(comp: sk_X509_ATTRIBUTE_cmp_func) -> *mut stack_st_X509_ATTRIBUTE;
20500}
20501unsafe extern "C" {
20502 #[link_name = "sk_X509_ATTRIBUTE_new_null__extern"]
20503 pub fn sk_X509_ATTRIBUTE_new_null() -> *mut stack_st_X509_ATTRIBUTE;
20504}
20505unsafe extern "C" {
20506 #[link_name = "sk_X509_ATTRIBUTE_num__extern"]
20507 pub fn sk_X509_ATTRIBUTE_num(sk: *const stack_st_X509_ATTRIBUTE) -> usize;
20508}
20509unsafe extern "C" {
20510 #[link_name = "sk_X509_ATTRIBUTE_zero__extern"]
20511 pub fn sk_X509_ATTRIBUTE_zero(sk: *mut stack_st_X509_ATTRIBUTE);
20512}
20513unsafe extern "C" {
20514 #[link_name = "sk_X509_ATTRIBUTE_value__extern"]
20515 pub fn sk_X509_ATTRIBUTE_value(
20516 sk: *const stack_st_X509_ATTRIBUTE,
20517 i: usize,
20518 ) -> *mut X509_ATTRIBUTE;
20519}
20520unsafe extern "C" {
20521 #[link_name = "sk_X509_ATTRIBUTE_set__extern"]
20522 pub fn sk_X509_ATTRIBUTE_set(
20523 sk: *mut stack_st_X509_ATTRIBUTE,
20524 i: usize,
20525 p: *mut X509_ATTRIBUTE,
20526 ) -> *mut X509_ATTRIBUTE;
20527}
20528unsafe extern "C" {
20529 #[link_name = "sk_X509_ATTRIBUTE_free__extern"]
20530 pub fn sk_X509_ATTRIBUTE_free(sk: *mut stack_st_X509_ATTRIBUTE);
20531}
20532unsafe extern "C" {
20533 #[link_name = "sk_X509_ATTRIBUTE_pop_free__extern"]
20534 pub fn sk_X509_ATTRIBUTE_pop_free(
20535 sk: *mut stack_st_X509_ATTRIBUTE,
20536 free_func: sk_X509_ATTRIBUTE_free_func,
20537 );
20538}
20539unsafe extern "C" {
20540 #[link_name = "sk_X509_ATTRIBUTE_insert__extern"]
20541 pub fn sk_X509_ATTRIBUTE_insert(
20542 sk: *mut stack_st_X509_ATTRIBUTE,
20543 p: *mut X509_ATTRIBUTE,
20544 where_: usize,
20545 ) -> usize;
20546}
20547unsafe extern "C" {
20548 #[link_name = "sk_X509_ATTRIBUTE_delete__extern"]
20549 pub fn sk_X509_ATTRIBUTE_delete(
20550 sk: *mut stack_st_X509_ATTRIBUTE,
20551 where_: usize,
20552 ) -> *mut X509_ATTRIBUTE;
20553}
20554unsafe extern "C" {
20555 #[link_name = "sk_X509_ATTRIBUTE_delete_ptr__extern"]
20556 pub fn sk_X509_ATTRIBUTE_delete_ptr(
20557 sk: *mut stack_st_X509_ATTRIBUTE,
20558 p: *const X509_ATTRIBUTE,
20559 ) -> *mut X509_ATTRIBUTE;
20560}
20561unsafe extern "C" {
20562 #[link_name = "sk_X509_ATTRIBUTE_delete_if__extern"]
20563 pub fn sk_X509_ATTRIBUTE_delete_if(
20564 sk: *mut stack_st_X509_ATTRIBUTE,
20565 func: sk_X509_ATTRIBUTE_delete_if_func,
20566 data: *mut ::core::ffi::c_void,
20567 );
20568}
20569unsafe extern "C" {
20570 #[link_name = "sk_X509_ATTRIBUTE_find__extern"]
20571 pub fn sk_X509_ATTRIBUTE_find(
20572 sk: *const stack_st_X509_ATTRIBUTE,
20573 out_index: *mut usize,
20574 p: *const X509_ATTRIBUTE,
20575 ) -> ::core::ffi::c_int;
20576}
20577unsafe extern "C" {
20578 #[link_name = "sk_X509_ATTRIBUTE_shift__extern"]
20579 pub fn sk_X509_ATTRIBUTE_shift(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20580}
20581unsafe extern "C" {
20582 #[link_name = "sk_X509_ATTRIBUTE_push__extern"]
20583 pub fn sk_X509_ATTRIBUTE_push(
20584 sk: *mut stack_st_X509_ATTRIBUTE,
20585 p: *mut X509_ATTRIBUTE,
20586 ) -> usize;
20587}
20588unsafe extern "C" {
20589 #[link_name = "sk_X509_ATTRIBUTE_pop__extern"]
20590 pub fn sk_X509_ATTRIBUTE_pop(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20591}
20592unsafe extern "C" {
20593 #[link_name = "sk_X509_ATTRIBUTE_dup__extern"]
20594 pub fn sk_X509_ATTRIBUTE_dup(
20595 sk: *const stack_st_X509_ATTRIBUTE,
20596 ) -> *mut stack_st_X509_ATTRIBUTE;
20597}
20598unsafe extern "C" {
20599 #[link_name = "sk_X509_ATTRIBUTE_sort__extern"]
20600 pub fn sk_X509_ATTRIBUTE_sort(sk: *mut stack_st_X509_ATTRIBUTE);
20601}
20602unsafe extern "C" {
20603 #[link_name = "sk_X509_ATTRIBUTE_sort_and_dedup__extern"]
20604 pub fn sk_X509_ATTRIBUTE_sort_and_dedup(
20605 sk: *mut stack_st_X509_ATTRIBUTE,
20606 free_func: sk_X509_ATTRIBUTE_free_func,
20607 );
20608}
20609unsafe extern "C" {
20610 #[link_name = "sk_X509_ATTRIBUTE_is_sorted__extern"]
20611 pub fn sk_X509_ATTRIBUTE_is_sorted(sk: *const stack_st_X509_ATTRIBUTE) -> ::core::ffi::c_int;
20612}
20613unsafe extern "C" {
20614 #[link_name = "sk_X509_ATTRIBUTE_set_cmp_func__extern"]
20615 pub fn sk_X509_ATTRIBUTE_set_cmp_func(
20616 sk: *mut stack_st_X509_ATTRIBUTE,
20617 comp: sk_X509_ATTRIBUTE_cmp_func,
20618 ) -> sk_X509_ATTRIBUTE_cmp_func;
20619}
20620unsafe extern "C" {
20621 #[link_name = "sk_X509_ATTRIBUTE_deep_copy__extern"]
20622 pub fn sk_X509_ATTRIBUTE_deep_copy(
20623 sk: *const stack_st_X509_ATTRIBUTE,
20624 copy_func: sk_X509_ATTRIBUTE_copy_func,
20625 free_func: sk_X509_ATTRIBUTE_free_func,
20626 ) -> *mut stack_st_X509_ATTRIBUTE;
20627}
20628unsafe extern "C" {
20629 pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
20630}
20631unsafe extern "C" {
20632 pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20633}
20634unsafe extern "C" {
20635 pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
20636}
20637unsafe extern "C" {
20638 pub fn d2i_X509_ATTRIBUTE(
20639 out: *mut *mut X509_ATTRIBUTE,
20640 inp: *mut *const u8,
20641 len: ::core::ffi::c_long,
20642 ) -> *mut X509_ATTRIBUTE;
20643}
20644unsafe extern "C" {
20645 pub fn i2d_X509_ATTRIBUTE(alg: *const X509_ATTRIBUTE, outp: *mut *mut u8)
20646 -> ::core::ffi::c_int;
20647}
20648unsafe extern "C" {
20649 pub fn X509_ATTRIBUTE_create(
20650 nid: ::core::ffi::c_int,
20651 attrtype: ::core::ffi::c_int,
20652 value: *mut ::core::ffi::c_void,
20653 ) -> *mut X509_ATTRIBUTE;
20654}
20655unsafe extern "C" {
20656 pub fn X509_ATTRIBUTE_create_by_NID(
20657 attr: *mut *mut X509_ATTRIBUTE,
20658 nid: ::core::ffi::c_int,
20659 attrtype: ::core::ffi::c_int,
20660 data: *const ::core::ffi::c_void,
20661 len: ::core::ffi::c_int,
20662 ) -> *mut X509_ATTRIBUTE;
20663}
20664unsafe extern "C" {
20665 pub fn X509_ATTRIBUTE_create_by_OBJ(
20666 attr: *mut *mut X509_ATTRIBUTE,
20667 obj: *const ASN1_OBJECT,
20668 attrtype: ::core::ffi::c_int,
20669 data: *const ::core::ffi::c_void,
20670 len: ::core::ffi::c_int,
20671 ) -> *mut X509_ATTRIBUTE;
20672}
20673unsafe extern "C" {
20674 pub fn X509_ATTRIBUTE_create_by_txt(
20675 attr: *mut *mut X509_ATTRIBUTE,
20676 attrname: *const ::core::ffi::c_char,
20677 type_: ::core::ffi::c_int,
20678 bytes: *const ::core::ffi::c_uchar,
20679 len: ::core::ffi::c_int,
20680 ) -> *mut X509_ATTRIBUTE;
20681}
20682unsafe extern "C" {
20683 pub fn X509_ATTRIBUTE_set1_object(
20684 attr: *mut X509_ATTRIBUTE,
20685 obj: *const ASN1_OBJECT,
20686 ) -> ::core::ffi::c_int;
20687}
20688unsafe extern "C" {
20689 pub fn X509_ATTRIBUTE_set1_data(
20690 attr: *mut X509_ATTRIBUTE,
20691 attrtype: ::core::ffi::c_int,
20692 data: *const ::core::ffi::c_void,
20693 len: ::core::ffi::c_int,
20694 ) -> ::core::ffi::c_int;
20695}
20696unsafe extern "C" {
20697 pub fn X509_ATTRIBUTE_get0_data(
20698 attr: *mut X509_ATTRIBUTE,
20699 idx: ::core::ffi::c_int,
20700 attrtype: ::core::ffi::c_int,
20701 unused: *mut ::core::ffi::c_void,
20702 ) -> *mut ::core::ffi::c_void;
20703}
20704unsafe extern "C" {
20705 pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::core::ffi::c_int;
20706}
20707unsafe extern "C" {
20708 pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
20709}
20710unsafe extern "C" {
20711 pub fn X509_ATTRIBUTE_get0_type(
20712 attr: *mut X509_ATTRIBUTE,
20713 idx: ::core::ffi::c_int,
20714 ) -> *mut ASN1_TYPE;
20715}
20716unsafe extern "C" {
20717 pub fn X509_STORE_new() -> *mut X509_STORE;
20718}
20719unsafe extern "C" {
20720 pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::core::ffi::c_int;
20721}
20722unsafe extern "C" {
20723 pub fn X509_STORE_free(store: *mut X509_STORE);
20724}
20725unsafe extern "C" {
20726 pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::core::ffi::c_int;
20727}
20728unsafe extern "C" {
20729 pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::core::ffi::c_int;
20730}
20731unsafe extern "C" {
20732 pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
20733}
20734unsafe extern "C" {
20735 pub fn X509_STORE_set1_param(
20736 store: *mut X509_STORE,
20737 param: *const X509_VERIFY_PARAM,
20738 ) -> ::core::ffi::c_int;
20739}
20740unsafe extern "C" {
20741 pub fn X509_STORE_set_flags(
20742 store: *mut X509_STORE,
20743 flags: ::core::ffi::c_ulong,
20744 ) -> ::core::ffi::c_int;
20745}
20746unsafe extern "C" {
20747 pub fn X509_STORE_set_depth(
20748 store: *mut X509_STORE,
20749 depth: ::core::ffi::c_int,
20750 ) -> ::core::ffi::c_int;
20751}
20752unsafe extern "C" {
20753 pub fn X509_STORE_set_purpose(
20754 store: *mut X509_STORE,
20755 purpose: ::core::ffi::c_int,
20756 ) -> ::core::ffi::c_int;
20757}
20758unsafe extern "C" {
20759 pub fn X509_STORE_set_trust(
20760 store: *mut X509_STORE,
20761 trust: ::core::ffi::c_int,
20762 ) -> ::core::ffi::c_int;
20763}
20764#[repr(C)]
20765#[derive(Debug)]
20766pub struct stack_st_X509_OBJECT {
20767 _unused: [u8; 0],
20768}
20769pub type sk_X509_OBJECT_free_func =
20770 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
20771pub type sk_X509_OBJECT_copy_func =
20772 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
20773pub type sk_X509_OBJECT_cmp_func = ::core::option::Option<
20774 unsafe extern "C" fn(
20775 arg1: *const *const X509_OBJECT,
20776 arg2: *const *const X509_OBJECT,
20777 ) -> ::core::ffi::c_int,
20778>;
20779pub type sk_X509_OBJECT_delete_if_func = ::core::option::Option<
20780 unsafe extern "C" fn(
20781 arg1: *mut X509_OBJECT,
20782 arg2: *mut ::core::ffi::c_void,
20783 ) -> ::core::ffi::c_int,
20784>;
20785unsafe extern "C" {
20786 #[link_name = "sk_X509_OBJECT_call_free_func__extern"]
20787 pub fn sk_X509_OBJECT_call_free_func(
20788 free_func: OPENSSL_sk_free_func,
20789 ptr: *mut ::core::ffi::c_void,
20790 );
20791}
20792unsafe extern "C" {
20793 #[link_name = "sk_X509_OBJECT_call_copy_func__extern"]
20794 pub fn sk_X509_OBJECT_call_copy_func(
20795 copy_func: OPENSSL_sk_copy_func,
20796 ptr: *const ::core::ffi::c_void,
20797 ) -> *mut ::core::ffi::c_void;
20798}
20799unsafe extern "C" {
20800 #[link_name = "sk_X509_OBJECT_call_cmp_func__extern"]
20801 pub fn sk_X509_OBJECT_call_cmp_func(
20802 cmp_func: OPENSSL_sk_cmp_func,
20803 a: *const ::core::ffi::c_void,
20804 b: *const ::core::ffi::c_void,
20805 ) -> ::core::ffi::c_int;
20806}
20807unsafe extern "C" {
20808 #[link_name = "sk_X509_OBJECT_call_delete_if_func__extern"]
20809 pub fn sk_X509_OBJECT_call_delete_if_func(
20810 func: OPENSSL_sk_delete_if_func,
20811 obj: *mut ::core::ffi::c_void,
20812 data: *mut ::core::ffi::c_void,
20813 ) -> ::core::ffi::c_int;
20814}
20815unsafe extern "C" {
20816 #[link_name = "sk_X509_OBJECT_new__extern"]
20817 pub fn sk_X509_OBJECT_new(comp: sk_X509_OBJECT_cmp_func) -> *mut stack_st_X509_OBJECT;
20818}
20819unsafe extern "C" {
20820 #[link_name = "sk_X509_OBJECT_new_null__extern"]
20821 pub fn sk_X509_OBJECT_new_null() -> *mut stack_st_X509_OBJECT;
20822}
20823unsafe extern "C" {
20824 #[link_name = "sk_X509_OBJECT_num__extern"]
20825 pub fn sk_X509_OBJECT_num(sk: *const stack_st_X509_OBJECT) -> usize;
20826}
20827unsafe extern "C" {
20828 #[link_name = "sk_X509_OBJECT_zero__extern"]
20829 pub fn sk_X509_OBJECT_zero(sk: *mut stack_st_X509_OBJECT);
20830}
20831unsafe extern "C" {
20832 #[link_name = "sk_X509_OBJECT_value__extern"]
20833 pub fn sk_X509_OBJECT_value(sk: *const stack_st_X509_OBJECT, i: usize) -> *mut X509_OBJECT;
20834}
20835unsafe extern "C" {
20836 #[link_name = "sk_X509_OBJECT_set__extern"]
20837 pub fn sk_X509_OBJECT_set(
20838 sk: *mut stack_st_X509_OBJECT,
20839 i: usize,
20840 p: *mut X509_OBJECT,
20841 ) -> *mut X509_OBJECT;
20842}
20843unsafe extern "C" {
20844 #[link_name = "sk_X509_OBJECT_free__extern"]
20845 pub fn sk_X509_OBJECT_free(sk: *mut stack_st_X509_OBJECT);
20846}
20847unsafe extern "C" {
20848 #[link_name = "sk_X509_OBJECT_pop_free__extern"]
20849 pub fn sk_X509_OBJECT_pop_free(
20850 sk: *mut stack_st_X509_OBJECT,
20851 free_func: sk_X509_OBJECT_free_func,
20852 );
20853}
20854unsafe extern "C" {
20855 #[link_name = "sk_X509_OBJECT_insert__extern"]
20856 pub fn sk_X509_OBJECT_insert(
20857 sk: *mut stack_st_X509_OBJECT,
20858 p: *mut X509_OBJECT,
20859 where_: usize,
20860 ) -> usize;
20861}
20862unsafe extern "C" {
20863 #[link_name = "sk_X509_OBJECT_delete__extern"]
20864 pub fn sk_X509_OBJECT_delete(sk: *mut stack_st_X509_OBJECT, where_: usize) -> *mut X509_OBJECT;
20865}
20866unsafe extern "C" {
20867 #[link_name = "sk_X509_OBJECT_delete_ptr__extern"]
20868 pub fn sk_X509_OBJECT_delete_ptr(
20869 sk: *mut stack_st_X509_OBJECT,
20870 p: *const X509_OBJECT,
20871 ) -> *mut X509_OBJECT;
20872}
20873unsafe extern "C" {
20874 #[link_name = "sk_X509_OBJECT_delete_if__extern"]
20875 pub fn sk_X509_OBJECT_delete_if(
20876 sk: *mut stack_st_X509_OBJECT,
20877 func: sk_X509_OBJECT_delete_if_func,
20878 data: *mut ::core::ffi::c_void,
20879 );
20880}
20881unsafe extern "C" {
20882 #[link_name = "sk_X509_OBJECT_find__extern"]
20883 pub fn sk_X509_OBJECT_find(
20884 sk: *const stack_st_X509_OBJECT,
20885 out_index: *mut usize,
20886 p: *const X509_OBJECT,
20887 ) -> ::core::ffi::c_int;
20888}
20889unsafe extern "C" {
20890 #[link_name = "sk_X509_OBJECT_shift__extern"]
20891 pub fn sk_X509_OBJECT_shift(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
20892}
20893unsafe extern "C" {
20894 #[link_name = "sk_X509_OBJECT_push__extern"]
20895 pub fn sk_X509_OBJECT_push(sk: *mut stack_st_X509_OBJECT, p: *mut X509_OBJECT) -> usize;
20896}
20897unsafe extern "C" {
20898 #[link_name = "sk_X509_OBJECT_pop__extern"]
20899 pub fn sk_X509_OBJECT_pop(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
20900}
20901unsafe extern "C" {
20902 #[link_name = "sk_X509_OBJECT_dup__extern"]
20903 pub fn sk_X509_OBJECT_dup(sk: *const stack_st_X509_OBJECT) -> *mut stack_st_X509_OBJECT;
20904}
20905unsafe extern "C" {
20906 #[link_name = "sk_X509_OBJECT_sort__extern"]
20907 pub fn sk_X509_OBJECT_sort(sk: *mut stack_st_X509_OBJECT);
20908}
20909unsafe extern "C" {
20910 #[link_name = "sk_X509_OBJECT_sort_and_dedup__extern"]
20911 pub fn sk_X509_OBJECT_sort_and_dedup(
20912 sk: *mut stack_st_X509_OBJECT,
20913 free_func: sk_X509_OBJECT_free_func,
20914 );
20915}
20916unsafe extern "C" {
20917 #[link_name = "sk_X509_OBJECT_is_sorted__extern"]
20918 pub fn sk_X509_OBJECT_is_sorted(sk: *const stack_st_X509_OBJECT) -> ::core::ffi::c_int;
20919}
20920unsafe extern "C" {
20921 #[link_name = "sk_X509_OBJECT_set_cmp_func__extern"]
20922 pub fn sk_X509_OBJECT_set_cmp_func(
20923 sk: *mut stack_st_X509_OBJECT,
20924 comp: sk_X509_OBJECT_cmp_func,
20925 ) -> sk_X509_OBJECT_cmp_func;
20926}
20927unsafe extern "C" {
20928 #[link_name = "sk_X509_OBJECT_deep_copy__extern"]
20929 pub fn sk_X509_OBJECT_deep_copy(
20930 sk: *const stack_st_X509_OBJECT,
20931 copy_func: sk_X509_OBJECT_copy_func,
20932 free_func: sk_X509_OBJECT_free_func,
20933 ) -> *mut stack_st_X509_OBJECT;
20934}
20935unsafe extern "C" {
20936 pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
20937}
20938unsafe extern "C" {
20939 pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
20940}
20941unsafe extern "C" {
20942 pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::core::ffi::c_int;
20943}
20944unsafe extern "C" {
20945 pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
20946}
20947unsafe extern "C" {
20948 pub fn X509_STORE_get1_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
20949}
20950unsafe extern "C" {
20951 pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
20952}
20953unsafe extern "C" {
20954 pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
20955}
20956unsafe extern "C" {
20957 pub fn X509_STORE_CTX_init(
20958 ctx: *mut X509_STORE_CTX,
20959 store: *mut X509_STORE,
20960 x509: *mut X509,
20961 chain: *mut stack_st_X509,
20962 ) -> ::core::ffi::c_int;
20963}
20964unsafe extern "C" {
20965 pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::core::ffi::c_int;
20966}
20967unsafe extern "C" {
20968 pub fn X509_STORE_CTX_get0_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20969}
20970unsafe extern "C" {
20971 pub fn X509_STORE_CTX_get1_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20972}
20973unsafe extern "C" {
20974 pub fn X509_STORE_CTX_get_error(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
20975}
20976unsafe extern "C" {
20977 pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::core::ffi::c_int);
20978}
20979unsafe extern "C" {
20980 pub fn X509_verify_cert_error_string(err: ::core::ffi::c_long) -> *const ::core::ffi::c_char;
20981}
20982unsafe extern "C" {
20983 pub fn X509_STORE_CTX_get_error_depth(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
20984}
20985unsafe extern "C" {
20986 pub fn X509_STORE_CTX_get_current_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
20987}
20988unsafe extern "C" {
20989 pub fn X509_STORE_CTX_get0_current_crl(ctx: *const X509_STORE_CTX) -> *mut X509_CRL;
20990}
20991unsafe extern "C" {
20992 pub fn X509_STORE_CTX_get0_store(ctx: *const X509_STORE_CTX) -> *mut X509_STORE;
20993}
20994unsafe extern "C" {
20995 pub fn X509_STORE_CTX_get0_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
20996}
20997unsafe extern "C" {
20998 pub fn X509_STORE_CTX_get0_untrusted(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20999}
21000unsafe extern "C" {
21001 pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
21002}
21003unsafe extern "C" {
21004 pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
21005}
21006unsafe extern "C" {
21007 pub fn X509_STORE_CTX_set_default(
21008 ctx: *mut X509_STORE_CTX,
21009 name: *const ::core::ffi::c_char,
21010 ) -> ::core::ffi::c_int;
21011}
21012unsafe extern "C" {
21013 pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
21014}
21015unsafe extern "C" {
21016 pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
21017}
21018unsafe extern "C" {
21019 pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::core::ffi::c_ulong);
21020}
21021unsafe extern "C" {
21022 pub fn X509_STORE_CTX_set_time(
21023 ctx: *mut X509_STORE_CTX,
21024 flags: ::core::ffi::c_ulong,
21025 t: time_t,
21026 );
21027}
21028unsafe extern "C" {
21029 pub fn X509_STORE_CTX_set_time_posix(
21030 ctx: *mut X509_STORE_CTX,
21031 flags: ::core::ffi::c_ulong,
21032 t: i64,
21033 );
21034}
21035unsafe extern "C" {
21036 pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::core::ffi::c_int);
21037}
21038unsafe extern "C" {
21039 pub fn X509_STORE_CTX_set_purpose(
21040 ctx: *mut X509_STORE_CTX,
21041 purpose: ::core::ffi::c_int,
21042 ) -> ::core::ffi::c_int;
21043}
21044unsafe extern "C" {
21045 pub fn X509_STORE_CTX_set_trust(
21046 ctx: *mut X509_STORE_CTX,
21047 trust: ::core::ffi::c_int,
21048 ) -> ::core::ffi::c_int;
21049}
21050unsafe extern "C" {
21051 pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
21052}
21053unsafe extern "C" {
21054 pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
21055}
21056unsafe extern "C" {
21057 pub fn X509_VERIFY_PARAM_inherit(
21058 to: *mut X509_VERIFY_PARAM,
21059 from: *const X509_VERIFY_PARAM,
21060 ) -> ::core::ffi::c_int;
21061}
21062unsafe extern "C" {
21063 pub fn X509_VERIFY_PARAM_set1(
21064 to: *mut X509_VERIFY_PARAM,
21065 from: *const X509_VERIFY_PARAM,
21066 ) -> ::core::ffi::c_int;
21067}
21068unsafe extern "C" {
21069 pub fn X509_VERIFY_PARAM_set_flags(
21070 param: *mut X509_VERIFY_PARAM,
21071 flags: ::core::ffi::c_ulong,
21072 ) -> ::core::ffi::c_int;
21073}
21074unsafe extern "C" {
21075 pub fn X509_VERIFY_PARAM_clear_flags(
21076 param: *mut X509_VERIFY_PARAM,
21077 flags: ::core::ffi::c_ulong,
21078 ) -> ::core::ffi::c_int;
21079}
21080unsafe extern "C" {
21081 pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_ulong;
21082}
21083unsafe extern "C" {
21084 pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::core::ffi::c_int);
21085}
21086unsafe extern "C" {
21087 pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
21088}
21089unsafe extern "C" {
21090 pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
21091}
21092unsafe extern "C" {
21093 pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
21094}
21095unsafe extern "C" {
21096 pub fn X509_VERIFY_PARAM_add0_policy(
21097 param: *mut X509_VERIFY_PARAM,
21098 policy: *mut ASN1_OBJECT,
21099 ) -> ::core::ffi::c_int;
21100}
21101unsafe extern "C" {
21102 pub fn X509_VERIFY_PARAM_set1_policies(
21103 param: *mut X509_VERIFY_PARAM,
21104 policies: *const stack_st_ASN1_OBJECT,
21105 ) -> ::core::ffi::c_int;
21106}
21107unsafe extern "C" {
21108 pub fn X509_VERIFY_PARAM_set1_host(
21109 param: *mut X509_VERIFY_PARAM,
21110 name: *const ::core::ffi::c_char,
21111 name_len: usize,
21112 ) -> ::core::ffi::c_int;
21113}
21114unsafe extern "C" {
21115 pub fn X509_VERIFY_PARAM_add1_host(
21116 param: *mut X509_VERIFY_PARAM,
21117 name: *const ::core::ffi::c_char,
21118 name_len: usize,
21119 ) -> ::core::ffi::c_int;
21120}
21121unsafe extern "C" {
21122 pub fn X509_VERIFY_PARAM_set_hostflags(
21123 param: *mut X509_VERIFY_PARAM,
21124 flags: ::core::ffi::c_uint,
21125 );
21126}
21127unsafe extern "C" {
21128 pub fn X509_VERIFY_PARAM_set1_email(
21129 param: *mut X509_VERIFY_PARAM,
21130 email: *const ::core::ffi::c_char,
21131 email_len: usize,
21132 ) -> ::core::ffi::c_int;
21133}
21134unsafe extern "C" {
21135 pub fn X509_VERIFY_PARAM_set1_ip(
21136 param: *mut X509_VERIFY_PARAM,
21137 ip: *const u8,
21138 ip_len: usize,
21139 ) -> ::core::ffi::c_int;
21140}
21141unsafe extern "C" {
21142 pub fn X509_VERIFY_PARAM_set1_ip_asc(
21143 param: *mut X509_VERIFY_PARAM,
21144 ipasc: *const ::core::ffi::c_char,
21145 ) -> ::core::ffi::c_int;
21146}
21147unsafe extern "C" {
21148 pub fn X509_VERIFY_PARAM_set_purpose(
21149 param: *mut X509_VERIFY_PARAM,
21150 purpose: ::core::ffi::c_int,
21151 ) -> ::core::ffi::c_int;
21152}
21153unsafe extern "C" {
21154 pub fn X509_VERIFY_PARAM_set_trust(
21155 param: *mut X509_VERIFY_PARAM,
21156 trust: ::core::ffi::c_int,
21157 ) -> ::core::ffi::c_int;
21158}
21159unsafe extern "C" {
21160 pub fn X509_STORE_load_locations(
21161 store: *mut X509_STORE,
21162 file: *const ::core::ffi::c_char,
21163 dir: *const ::core::ffi::c_char,
21164 ) -> ::core::ffi::c_int;
21165}
21166unsafe extern "C" {
21167 pub fn X509_STORE_add_lookup(
21168 store: *mut X509_STORE,
21169 method: *const X509_LOOKUP_METHOD,
21170 ) -> *mut X509_LOOKUP;
21171}
21172unsafe extern "C" {
21173 pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
21174}
21175unsafe extern "C" {
21176 pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
21177}
21178unsafe extern "C" {
21179 pub fn X509_LOOKUP_load_file(
21180 lookup: *mut X509_LOOKUP,
21181 file: *const ::core::ffi::c_char,
21182 type_: ::core::ffi::c_int,
21183 ) -> ::core::ffi::c_int;
21184}
21185unsafe extern "C" {
21186 pub fn X509_LOOKUP_add_dir(
21187 lookup: *mut X509_LOOKUP,
21188 path: *const ::core::ffi::c_char,
21189 type_: ::core::ffi::c_int,
21190 ) -> ::core::ffi::c_int;
21191}
21192unsafe extern "C" {
21193 pub fn X509_LOOKUP_ctrl(
21194 lookup: *mut X509_LOOKUP,
21195 cmd: ::core::ffi::c_int,
21196 argc: *const ::core::ffi::c_char,
21197 argl: ::core::ffi::c_long,
21198 ret: *mut *mut ::core::ffi::c_char,
21199 ) -> ::core::ffi::c_int;
21200}
21201unsafe extern "C" {
21202 pub fn X509_load_cert_file(
21203 lookup: *mut X509_LOOKUP,
21204 file: *const ::core::ffi::c_char,
21205 type_: ::core::ffi::c_int,
21206 ) -> ::core::ffi::c_int;
21207}
21208unsafe extern "C" {
21209 pub fn X509_load_crl_file(
21210 lookup: *mut X509_LOOKUP,
21211 file: *const ::core::ffi::c_char,
21212 type_: ::core::ffi::c_int,
21213 ) -> ::core::ffi::c_int;
21214}
21215unsafe extern "C" {
21216 pub fn X509_load_cert_crl_file(
21217 lookup: *mut X509_LOOKUP,
21218 file: *const ::core::ffi::c_char,
21219 type_: ::core::ffi::c_int,
21220 ) -> ::core::ffi::c_int;
21221}
21222unsafe extern "C" {
21223 pub fn X509_NAME_hash(name: *const X509_NAME) -> u32;
21224}
21225unsafe extern "C" {
21226 pub fn X509_NAME_hash_old(name: *const X509_NAME) -> u32;
21227}
21228unsafe extern "C" {
21229 pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::core::ffi::c_int;
21230}
21231unsafe extern "C" {
21232 pub fn X509_get_default_cert_area() -> *const ::core::ffi::c_char;
21233}
21234unsafe extern "C" {
21235 pub fn X509_get_default_cert_dir() -> *const ::core::ffi::c_char;
21236}
21237unsafe extern "C" {
21238 pub fn X509_get_default_cert_file() -> *const ::core::ffi::c_char;
21239}
21240unsafe extern "C" {
21241 pub fn X509_get_default_private_dir() -> *const ::core::ffi::c_char;
21242}
21243unsafe extern "C" {
21244 pub fn X509_get_default_cert_dir_env() -> *const ::core::ffi::c_char;
21245}
21246unsafe extern "C" {
21247 pub fn X509_get_default_cert_file_env() -> *const ::core::ffi::c_char;
21248}
21249#[repr(C)]
21250#[derive(Debug, Copy, Clone)]
21251pub struct Netscape_spki_st {
21252 pub spkac: *mut NETSCAPE_SPKAC,
21253 pub sig_algor: *mut X509_ALGOR,
21254 pub signature: *mut ASN1_BIT_STRING,
21255}
21256unsafe extern "C" {
21257 pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
21258}
21259unsafe extern "C" {
21260 pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
21261}
21262unsafe extern "C" {
21263 pub fn d2i_NETSCAPE_SPKI(
21264 out: *mut *mut NETSCAPE_SPKI,
21265 inp: *mut *const u8,
21266 len: ::core::ffi::c_long,
21267 ) -> *mut NETSCAPE_SPKI;
21268}
21269unsafe extern "C" {
21270 pub fn i2d_NETSCAPE_SPKI(spki: *const NETSCAPE_SPKI, outp: *mut *mut u8) -> ::core::ffi::c_int;
21271}
21272unsafe extern "C" {
21273 pub fn NETSCAPE_SPKI_verify(
21274 spki: *mut NETSCAPE_SPKI,
21275 pkey: *mut EVP_PKEY,
21276 ) -> ::core::ffi::c_int;
21277}
21278unsafe extern "C" {
21279 pub fn NETSCAPE_SPKI_b64_decode(
21280 str_: *const ::core::ffi::c_char,
21281 len: ossl_ssize_t,
21282 ) -> *mut NETSCAPE_SPKI;
21283}
21284unsafe extern "C" {
21285 pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::core::ffi::c_char;
21286}
21287unsafe extern "C" {
21288 pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
21289}
21290unsafe extern "C" {
21291 pub fn NETSCAPE_SPKI_set_pubkey(
21292 spki: *mut NETSCAPE_SPKI,
21293 pkey: *mut EVP_PKEY,
21294 ) -> ::core::ffi::c_int;
21295}
21296unsafe extern "C" {
21297 pub fn NETSCAPE_SPKI_sign(
21298 spki: *mut NETSCAPE_SPKI,
21299 pkey: *mut EVP_PKEY,
21300 md: *const EVP_MD,
21301 ) -> ::core::ffi::c_int;
21302}
21303#[repr(C)]
21304#[derive(Debug, Copy, Clone)]
21305pub struct Netscape_spkac_st {
21306 pub pubkey: *mut X509_PUBKEY,
21307 pub challenge: *mut ASN1_IA5STRING,
21308}
21309unsafe extern "C" {
21310 pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
21311}
21312unsafe extern "C" {
21313 pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
21314}
21315unsafe extern "C" {
21316 pub fn d2i_NETSCAPE_SPKAC(
21317 out: *mut *mut NETSCAPE_SPKAC,
21318 inp: *mut *const u8,
21319 len: ::core::ffi::c_long,
21320 ) -> *mut NETSCAPE_SPKAC;
21321}
21322unsafe extern "C" {
21323 pub fn i2d_NETSCAPE_SPKAC(
21324 spkac: *const NETSCAPE_SPKAC,
21325 outp: *mut *mut u8,
21326 ) -> ::core::ffi::c_int;
21327}
21328#[repr(C)]
21329#[derive(Debug, Copy, Clone)]
21330pub struct rsa_pss_params_st {
21331 pub hashAlgorithm: *mut X509_ALGOR,
21332 pub maskGenAlgorithm: *mut X509_ALGOR,
21333 pub saltLength: *mut ASN1_INTEGER,
21334 pub trailerField: *mut ASN1_INTEGER,
21335 pub maskHash: *mut X509_ALGOR,
21336}
21337unsafe extern "C" {
21338 pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
21339}
21340unsafe extern "C" {
21341 pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
21342}
21343unsafe extern "C" {
21344 pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
21345}
21346unsafe extern "C" {
21347 pub fn d2i_RSA_PSS_PARAMS(
21348 out: *mut *mut RSA_PSS_PARAMS,
21349 inp: *mut *const u8,
21350 len: ::core::ffi::c_long,
21351 ) -> *mut RSA_PSS_PARAMS;
21352}
21353unsafe extern "C" {
21354 pub fn i2d_RSA_PSS_PARAMS(in_: *const RSA_PSS_PARAMS, outp: *mut *mut u8)
21355 -> ::core::ffi::c_int;
21356}
21357unsafe extern "C" {
21358 pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
21359}
21360unsafe extern "C" {
21361 pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
21362}
21363unsafe extern "C" {
21364 pub fn d2i_PKCS8_PRIV_KEY_INFO(
21365 out: *mut *mut PKCS8_PRIV_KEY_INFO,
21366 inp: *mut *const u8,
21367 len: ::core::ffi::c_long,
21368 ) -> *mut PKCS8_PRIV_KEY_INFO;
21369}
21370unsafe extern "C" {
21371 pub fn i2d_PKCS8_PRIV_KEY_INFO(
21372 key: *const PKCS8_PRIV_KEY_INFO,
21373 outp: *mut *mut u8,
21374 ) -> ::core::ffi::c_int;
21375}
21376unsafe extern "C" {
21377 pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
21378}
21379unsafe extern "C" {
21380 pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
21381}
21382unsafe extern "C" {
21383 pub fn X509_SIG_new() -> *mut X509_SIG;
21384}
21385unsafe extern "C" {
21386 pub fn X509_SIG_free(key: *mut X509_SIG);
21387}
21388unsafe extern "C" {
21389 pub fn d2i_X509_SIG(
21390 out: *mut *mut X509_SIG,
21391 inp: *mut *const u8,
21392 len: ::core::ffi::c_long,
21393 ) -> *mut X509_SIG;
21394}
21395unsafe extern "C" {
21396 pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
21397}
21398unsafe extern "C" {
21399 pub fn X509_SIG_get0(
21400 sig: *const X509_SIG,
21401 out_alg: *mut *const X509_ALGOR,
21402 out_digest: *mut *const ASN1_OCTET_STRING,
21403 );
21404}
21405unsafe extern "C" {
21406 pub fn X509_SIG_getm(
21407 sig: *mut X509_SIG,
21408 out_alg: *mut *mut X509_ALGOR,
21409 out_digest: *mut *mut ASN1_OCTET_STRING,
21410 );
21411}
21412unsafe extern "C" {
21413 pub fn X509_print_ex(
21414 bp: *mut BIO,
21415 x: *const X509,
21416 nmflag: ::core::ffi::c_ulong,
21417 cflag: ::core::ffi::c_ulong,
21418 ) -> ::core::ffi::c_int;
21419}
21420unsafe extern "C" {
21421 pub fn X509_print_ex_fp(
21422 fp: *mut FILE,
21423 x: *const X509,
21424 nmflag: ::core::ffi::c_ulong,
21425 cflag: ::core::ffi::c_ulong,
21426 ) -> ::core::ffi::c_int;
21427}
21428unsafe extern "C" {
21429 pub fn X509_print(bp: *mut BIO, x: *const X509) -> ::core::ffi::c_int;
21430}
21431unsafe extern "C" {
21432 pub fn X509_print_fp(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
21433}
21434unsafe extern "C" {
21435 pub fn X509_CRL_print(bp: *mut BIO, x: *const X509_CRL) -> ::core::ffi::c_int;
21436}
21437unsafe extern "C" {
21438 pub fn X509_CRL_print_fp(fp: *mut FILE, x: *const X509_CRL) -> ::core::ffi::c_int;
21439}
21440unsafe extern "C" {
21441 pub fn X509_REQ_print_ex(
21442 bp: *mut BIO,
21443 x: *const X509_REQ,
21444 nmflag: ::core::ffi::c_ulong,
21445 cflag: ::core::ffi::c_ulong,
21446 ) -> ::core::ffi::c_int;
21447}
21448unsafe extern "C" {
21449 pub fn X509_REQ_print(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21450}
21451unsafe extern "C" {
21452 pub fn X509_REQ_print_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21453}
21454unsafe extern "C" {
21455 pub fn X509_NAME_print_ex(
21456 out: *mut BIO,
21457 nm: *const X509_NAME,
21458 indent: ::core::ffi::c_int,
21459 flags: ::core::ffi::c_ulong,
21460 ) -> ::core::ffi::c_int;
21461}
21462unsafe extern "C" {
21463 pub fn X509_NAME_print(
21464 bp: *mut BIO,
21465 name: *const X509_NAME,
21466 obase: ::core::ffi::c_int,
21467 ) -> ::core::ffi::c_int;
21468}
21469unsafe extern "C" {
21470 pub fn X509_NAME_oneline(
21471 name: *const X509_NAME,
21472 buf: *mut ::core::ffi::c_char,
21473 size: ::core::ffi::c_int,
21474 ) -> *mut ::core::ffi::c_char;
21475}
21476unsafe extern "C" {
21477 pub fn X509_NAME_print_ex_fp(
21478 fp: *mut FILE,
21479 nm: *const X509_NAME,
21480 indent: ::core::ffi::c_int,
21481 flags: ::core::ffi::c_ulong,
21482 ) -> ::core::ffi::c_int;
21483}
21484unsafe extern "C" {
21485 pub fn X509_signature_dump(
21486 bio: *mut BIO,
21487 sig: *const ASN1_STRING,
21488 indent: ::core::ffi::c_int,
21489 ) -> ::core::ffi::c_int;
21490}
21491unsafe extern "C" {
21492 pub fn X509_signature_print(
21493 bio: *mut BIO,
21494 alg: *const X509_ALGOR,
21495 sig: *const ASN1_STRING,
21496 ) -> ::core::ffi::c_int;
21497}
21498unsafe extern "C" {
21499 pub fn X509V3_EXT_print(
21500 out: *mut BIO,
21501 ext: *const X509_EXTENSION,
21502 flag: ::core::ffi::c_ulong,
21503 indent: ::core::ffi::c_int,
21504 ) -> ::core::ffi::c_int;
21505}
21506unsafe extern "C" {
21507 pub fn X509V3_EXT_print_fp(
21508 out: *mut FILE,
21509 ext: *const X509_EXTENSION,
21510 flag: ::core::ffi::c_int,
21511 indent: ::core::ffi::c_int,
21512 ) -> ::core::ffi::c_int;
21513}
21514unsafe extern "C" {
21515 pub fn X509V3_extensions_print(
21516 out: *mut BIO,
21517 title: *const ::core::ffi::c_char,
21518 exts: *const stack_st_X509_EXTENSION,
21519 flag: ::core::ffi::c_ulong,
21520 indent: ::core::ffi::c_int,
21521 ) -> ::core::ffi::c_int;
21522}
21523unsafe extern "C" {
21524 pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::core::ffi::c_int;
21525}
21526unsafe extern "C" {
21527 pub fn X509_pubkey_digest(
21528 x509: *const X509,
21529 md: *const EVP_MD,
21530 out: *mut u8,
21531 out_len: *mut ::core::ffi::c_uint,
21532 ) -> ::core::ffi::c_int;
21533}
21534unsafe extern "C" {
21535 pub fn X509_digest(
21536 x509: *const X509,
21537 md: *const EVP_MD,
21538 out: *mut u8,
21539 out_len: *mut ::core::ffi::c_uint,
21540 ) -> ::core::ffi::c_int;
21541}
21542unsafe extern "C" {
21543 pub fn X509_CRL_digest(
21544 crl: *const X509_CRL,
21545 md: *const EVP_MD,
21546 out: *mut u8,
21547 out_len: *mut ::core::ffi::c_uint,
21548 ) -> ::core::ffi::c_int;
21549}
21550unsafe extern "C" {
21551 pub fn X509_REQ_digest(
21552 req: *const X509_REQ,
21553 md: *const EVP_MD,
21554 out: *mut u8,
21555 out_len: *mut ::core::ffi::c_uint,
21556 ) -> ::core::ffi::c_int;
21557}
21558unsafe extern "C" {
21559 pub fn X509_NAME_digest(
21560 name: *const X509_NAME,
21561 md: *const EVP_MD,
21562 out: *mut u8,
21563 out_len: *mut ::core::ffi::c_uint,
21564 ) -> ::core::ffi::c_int;
21565}
21566unsafe extern "C" {
21567 pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
21568}
21569unsafe extern "C" {
21570 pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21571}
21572unsafe extern "C" {
21573 pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21574}
21575unsafe extern "C" {
21576 pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21577}
21578unsafe extern "C" {
21579 pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21580}
21581unsafe extern "C" {
21582 pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21583}
21584unsafe extern "C" {
21585 pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21586}
21587unsafe extern "C" {
21588 pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21589}
21590unsafe extern "C" {
21591 pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21592}
21593unsafe extern "C" {
21594 pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21595}
21596unsafe extern "C" {
21597 pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21598}
21599unsafe extern "C" {
21600 pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
21601 bp: *mut BIO,
21602 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21603 ) -> *mut PKCS8_PRIV_KEY_INFO;
21604}
21605unsafe extern "C" {
21606 pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21607}
21608unsafe extern "C" {
21609 pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
21610}
21611unsafe extern "C" {
21612 pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21613}
21614unsafe extern "C" {
21615 pub fn i2d_X509_bio(bp: *mut BIO, x509: *const X509) -> ::core::ffi::c_int;
21616}
21617unsafe extern "C" {
21618 pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *const X509_CRL) -> ::core::ffi::c_int;
21619}
21620unsafe extern "C" {
21621 pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21622}
21623unsafe extern "C" {
21624 pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21625}
21626unsafe extern "C" {
21627 pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21628}
21629unsafe extern "C" {
21630 pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21631}
21632unsafe extern "C" {
21633 pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21634}
21635unsafe extern "C" {
21636 pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21637}
21638unsafe extern "C" {
21639 pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21640}
21641unsafe extern "C" {
21642 pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21643}
21644unsafe extern "C" {
21645 pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *const X509_SIG) -> ::core::ffi::c_int;
21646}
21647unsafe extern "C" {
21648 pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
21649 bp: *mut BIO,
21650 p8inf: *const PKCS8_PRIV_KEY_INFO,
21651 ) -> ::core::ffi::c_int;
21652}
21653unsafe extern "C" {
21654 pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21655}
21656unsafe extern "C" {
21657 pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21658}
21659unsafe extern "C" {
21660 pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::core::ffi::c_int;
21661}
21662unsafe extern "C" {
21663 pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21664}
21665unsafe extern "C" {
21666 pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
21667}
21668unsafe extern "C" {
21669 pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21670}
21671unsafe extern "C" {
21672 pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21673}
21674unsafe extern "C" {
21675 pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21676}
21677unsafe extern "C" {
21678 pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21679}
21680unsafe extern "C" {
21681 pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21682}
21683unsafe extern "C" {
21684 pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21685}
21686unsafe extern "C" {
21687 pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21688}
21689unsafe extern "C" {
21690 pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21691}
21692unsafe extern "C" {
21693 pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21694}
21695unsafe extern "C" {
21696 pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21697}
21698unsafe extern "C" {
21699 pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
21700 fp: *mut FILE,
21701 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21702 ) -> *mut PKCS8_PRIV_KEY_INFO;
21703}
21704unsafe extern "C" {
21705 pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21706}
21707unsafe extern "C" {
21708 pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21709}
21710unsafe extern "C" {
21711 pub fn i2d_X509_fp(fp: *mut FILE, x509: *const X509) -> ::core::ffi::c_int;
21712}
21713unsafe extern "C" {
21714 pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *const X509_CRL) -> ::core::ffi::c_int;
21715}
21716unsafe extern "C" {
21717 pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21718}
21719unsafe extern "C" {
21720 pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21721}
21722unsafe extern "C" {
21723 pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21724}
21725unsafe extern "C" {
21726 pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21727}
21728unsafe extern "C" {
21729 pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21730}
21731unsafe extern "C" {
21732 pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21733}
21734unsafe extern "C" {
21735 pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21736}
21737unsafe extern "C" {
21738 pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21739}
21740unsafe extern "C" {
21741 pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *const X509_SIG) -> ::core::ffi::c_int;
21742}
21743unsafe extern "C" {
21744 pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
21745 fp: *mut FILE,
21746 p8inf: *const PKCS8_PRIV_KEY_INFO,
21747 ) -> ::core::ffi::c_int;
21748}
21749unsafe extern "C" {
21750 pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21751}
21752unsafe extern "C" {
21753 pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21754}
21755unsafe extern "C" {
21756 pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21757}
21758unsafe extern "C" {
21759 pub fn X509_find_by_issuer_and_serial(
21760 sk: *const stack_st_X509,
21761 name: *const X509_NAME,
21762 serial: *const ASN1_INTEGER,
21763 ) -> *mut X509;
21764}
21765unsafe extern "C" {
21766 pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *const X509_NAME) -> *mut X509;
21767}
21768unsafe extern "C" {
21769 pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::core::ffi::c_int;
21770}
21771unsafe extern "C" {
21772 pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::core::ffi::c_int;
21773}
21774unsafe extern "C" {
21775 pub fn X509_cmp_time_posix_nonstandard(s: *const ASN1_TIME, t: i64) -> ::core::ffi::c_int;
21776}
21777unsafe extern "C" {
21778 pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::core::ffi::c_int;
21779}
21780unsafe extern "C" {
21781 pub fn X509_time_adj(
21782 s: *mut ASN1_TIME,
21783 offset_sec: ::core::ffi::c_long,
21784 t: *const time_t,
21785 ) -> *mut ASN1_TIME;
21786}
21787unsafe extern "C" {
21788 pub fn X509_time_adj_ex(
21789 s: *mut ASN1_TIME,
21790 offset_day: ::core::ffi::c_int,
21791 offset_sec: ::core::ffi::c_long,
21792 t: *const time_t,
21793 ) -> *mut ASN1_TIME;
21794}
21795unsafe extern "C" {
21796 pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::core::ffi::c_long) -> *mut ASN1_TIME;
21797}
21798unsafe extern "C" {
21799 pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21800}
21801unsafe extern "C" {
21802 pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21803}
21804unsafe extern "C" {
21805 pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
21806}
21807unsafe extern "C" {
21808 pub fn X509_issuer_name_hash(x509: *const X509) -> u32;
21809}
21810unsafe extern "C" {
21811 pub fn X509_subject_name_hash(x509: *const X509) -> u32;
21812}
21813unsafe extern "C" {
21814 pub fn X509_issuer_name_hash_old(x509: *const X509) -> u32;
21815}
21816unsafe extern "C" {
21817 pub fn X509_subject_name_hash_old(x509: *const X509) -> u32;
21818}
21819unsafe extern "C" {
21820 pub fn X509_get_ex_new_index(
21821 argl: ::core::ffi::c_long,
21822 argp: *mut ::core::ffi::c_void,
21823 unused: *mut CRYPTO_EX_unused,
21824 dup_unused: CRYPTO_EX_dup,
21825 free_func: CRYPTO_EX_free,
21826 ) -> ::core::ffi::c_int;
21827}
21828unsafe extern "C" {
21829 pub fn X509_set_ex_data(
21830 r: *mut X509,
21831 idx: ::core::ffi::c_int,
21832 arg: *mut ::core::ffi::c_void,
21833 ) -> ::core::ffi::c_int;
21834}
21835unsafe extern "C" {
21836 pub fn X509_get_ex_data(r: *mut X509, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
21837}
21838unsafe extern "C" {
21839 pub fn X509_STORE_CTX_get_ex_new_index(
21840 argl: ::core::ffi::c_long,
21841 argp: *mut ::core::ffi::c_void,
21842 unused: *mut CRYPTO_EX_unused,
21843 dup_unused: CRYPTO_EX_dup,
21844 free_func: CRYPTO_EX_free,
21845 ) -> ::core::ffi::c_int;
21846}
21847unsafe extern "C" {
21848 pub fn X509_STORE_CTX_set_ex_data(
21849 ctx: *mut X509_STORE_CTX,
21850 idx: ::core::ffi::c_int,
21851 data: *mut ::core::ffi::c_void,
21852 ) -> ::core::ffi::c_int;
21853}
21854unsafe extern "C" {
21855 pub fn X509_STORE_CTX_get_ex_data(
21856 ctx: *mut X509_STORE_CTX,
21857 idx: ::core::ffi::c_int,
21858 ) -> *mut ::core::ffi::c_void;
21859}
21860unsafe extern "C" {
21861 pub fn ASN1_digest(
21862 i2d: i2d_of_void,
21863 type_: *const EVP_MD,
21864 data: *mut ::core::ffi::c_char,
21865 md: *mut ::core::ffi::c_uchar,
21866 len: *mut ::core::ffi::c_uint,
21867 ) -> ::core::ffi::c_int;
21868}
21869unsafe extern "C" {
21870 pub fn ASN1_item_digest(
21871 it: *const ASN1_ITEM,
21872 type_: *const EVP_MD,
21873 data: *mut ::core::ffi::c_void,
21874 md: *mut ::core::ffi::c_uchar,
21875 len: *mut ::core::ffi::c_uint,
21876 ) -> ::core::ffi::c_int;
21877}
21878unsafe extern "C" {
21879 pub fn ASN1_item_verify(
21880 it: *const ASN1_ITEM,
21881 algor1: *const X509_ALGOR,
21882 signature: *const ASN1_BIT_STRING,
21883 data: *mut ::core::ffi::c_void,
21884 pkey: *mut EVP_PKEY,
21885 ) -> ::core::ffi::c_int;
21886}
21887unsafe extern "C" {
21888 pub fn ASN1_item_sign(
21889 it: *const ASN1_ITEM,
21890 algor1: *mut X509_ALGOR,
21891 algor2: *mut X509_ALGOR,
21892 signature: *mut ASN1_BIT_STRING,
21893 data: *mut ::core::ffi::c_void,
21894 pkey: *mut EVP_PKEY,
21895 type_: *const EVP_MD,
21896 ) -> ::core::ffi::c_int;
21897}
21898unsafe extern "C" {
21899 pub fn ASN1_item_sign_ctx(
21900 it: *const ASN1_ITEM,
21901 algor1: *mut X509_ALGOR,
21902 algor2: *mut X509_ALGOR,
21903 signature: *mut ASN1_BIT_STRING,
21904 asn: *mut ::core::ffi::c_void,
21905 ctx: *mut EVP_MD_CTX,
21906 ) -> ::core::ffi::c_int;
21907}
21908unsafe extern "C" {
21909 pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
21910}
21911unsafe extern "C" {
21912 pub fn X509_check_ca(x509: *const X509) -> ::core::ffi::c_int;
21913}
21914unsafe extern "C" {
21915 pub fn X509_check_issued(issuer: *const X509, subject: *const X509) -> ::core::ffi::c_int;
21916}
21917unsafe extern "C" {
21918 pub fn NAME_CONSTRAINTS_check(
21919 x509: *const X509,
21920 nc: *const NAME_CONSTRAINTS,
21921 ) -> ::core::ffi::c_int;
21922}
21923unsafe extern "C" {
21924 pub fn X509_check_host(
21925 x509: *const X509,
21926 chk: *const ::core::ffi::c_char,
21927 chklen: usize,
21928 flags: ::core::ffi::c_uint,
21929 out_peername: *mut *mut ::core::ffi::c_char,
21930 ) -> ::core::ffi::c_int;
21931}
21932unsafe extern "C" {
21933 pub fn X509_check_email(
21934 x509: *const X509,
21935 chk: *const ::core::ffi::c_char,
21936 chklen: usize,
21937 flags: ::core::ffi::c_uint,
21938 ) -> ::core::ffi::c_int;
21939}
21940unsafe extern "C" {
21941 pub fn X509_check_ip(
21942 x509: *const X509,
21943 chk: *const u8,
21944 chklen: usize,
21945 flags: ::core::ffi::c_uint,
21946 ) -> ::core::ffi::c_int;
21947}
21948unsafe extern "C" {
21949 pub fn X509_check_ip_asc(
21950 x509: *const X509,
21951 ipasc: *const ::core::ffi::c_char,
21952 flags: ::core::ffi::c_uint,
21953 ) -> ::core::ffi::c_int;
21954}
21955unsafe extern "C" {
21956 pub fn X509_STORE_CTX_get1_issuer(
21957 out_issuer: *mut *mut X509,
21958 ctx: *mut X509_STORE_CTX,
21959 x509: *const X509,
21960 ) -> ::core::ffi::c_int;
21961}
21962unsafe extern "C" {
21963 pub fn X509_check_purpose(
21964 x509: *mut X509,
21965 purpose: ::core::ffi::c_int,
21966 ca: ::core::ffi::c_int,
21967 ) -> ::core::ffi::c_int;
21968}
21969unsafe extern "C" {
21970 pub fn X509_check_trust(
21971 x509: *mut X509,
21972 id: ::core::ffi::c_int,
21973 flags: ::core::ffi::c_int,
21974 ) -> ::core::ffi::c_int;
21975}
21976unsafe extern "C" {
21977 pub fn X509_STORE_CTX_get1_certs(
21978 ctx: *mut X509_STORE_CTX,
21979 name: *const X509_NAME,
21980 ) -> *mut stack_st_X509;
21981}
21982unsafe extern "C" {
21983 pub fn X509_STORE_CTX_get1_crls(
21984 ctx: *mut X509_STORE_CTX,
21985 name: *const X509_NAME,
21986 ) -> *mut stack_st_X509_CRL;
21987}
21988unsafe extern "C" {
21989 pub fn X509_STORE_CTX_get_by_subject(
21990 ctx: *mut X509_STORE_CTX,
21991 type_: ::core::ffi::c_int,
21992 name: *const X509_NAME,
21993 ret: *mut X509_OBJECT,
21994 ) -> ::core::ffi::c_int;
21995}
21996#[repr(C)]
21997#[derive(Debug, Copy, Clone)]
21998pub struct private_key_st {
21999 pub dec_pkey: *mut EVP_PKEY,
22000}
22001#[repr(C)]
22002#[derive(Debug, Copy, Clone)]
22003pub struct X509_info_st {
22004 pub x509: *mut X509,
22005 pub crl: *mut X509_CRL,
22006 pub x_pkey: *mut X509_PKEY,
22007 pub enc_cipher: EVP_CIPHER_INFO,
22008 pub enc_len: ::core::ffi::c_int,
22009 pub enc_data: *mut ::core::ffi::c_char,
22010}
22011#[repr(C)]
22012#[derive(Debug)]
22013pub struct stack_st_X509_INFO {
22014 _unused: [u8; 0],
22015}
22016pub type sk_X509_INFO_free_func =
22017 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
22018pub type sk_X509_INFO_copy_func =
22019 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
22020pub type sk_X509_INFO_cmp_func = ::core::option::Option<
22021 unsafe extern "C" fn(
22022 arg1: *const *const X509_INFO,
22023 arg2: *const *const X509_INFO,
22024 ) -> ::core::ffi::c_int,
22025>;
22026pub type sk_X509_INFO_delete_if_func = ::core::option::Option<
22027 unsafe extern "C" fn(
22028 arg1: *mut X509_INFO,
22029 arg2: *mut ::core::ffi::c_void,
22030 ) -> ::core::ffi::c_int,
22031>;
22032unsafe extern "C" {
22033 #[link_name = "sk_X509_INFO_call_free_func__extern"]
22034 pub fn sk_X509_INFO_call_free_func(
22035 free_func: OPENSSL_sk_free_func,
22036 ptr: *mut ::core::ffi::c_void,
22037 );
22038}
22039unsafe extern "C" {
22040 #[link_name = "sk_X509_INFO_call_copy_func__extern"]
22041 pub fn sk_X509_INFO_call_copy_func(
22042 copy_func: OPENSSL_sk_copy_func,
22043 ptr: *const ::core::ffi::c_void,
22044 ) -> *mut ::core::ffi::c_void;
22045}
22046unsafe extern "C" {
22047 #[link_name = "sk_X509_INFO_call_cmp_func__extern"]
22048 pub fn sk_X509_INFO_call_cmp_func(
22049 cmp_func: OPENSSL_sk_cmp_func,
22050 a: *const ::core::ffi::c_void,
22051 b: *const ::core::ffi::c_void,
22052 ) -> ::core::ffi::c_int;
22053}
22054unsafe extern "C" {
22055 #[link_name = "sk_X509_INFO_call_delete_if_func__extern"]
22056 pub fn sk_X509_INFO_call_delete_if_func(
22057 func: OPENSSL_sk_delete_if_func,
22058 obj: *mut ::core::ffi::c_void,
22059 data: *mut ::core::ffi::c_void,
22060 ) -> ::core::ffi::c_int;
22061}
22062unsafe extern "C" {
22063 #[link_name = "sk_X509_INFO_new__extern"]
22064 pub fn sk_X509_INFO_new(comp: sk_X509_INFO_cmp_func) -> *mut stack_st_X509_INFO;
22065}
22066unsafe extern "C" {
22067 #[link_name = "sk_X509_INFO_new_null__extern"]
22068 pub fn sk_X509_INFO_new_null() -> *mut stack_st_X509_INFO;
22069}
22070unsafe extern "C" {
22071 #[link_name = "sk_X509_INFO_num__extern"]
22072 pub fn sk_X509_INFO_num(sk: *const stack_st_X509_INFO) -> usize;
22073}
22074unsafe extern "C" {
22075 #[link_name = "sk_X509_INFO_zero__extern"]
22076 pub fn sk_X509_INFO_zero(sk: *mut stack_st_X509_INFO);
22077}
22078unsafe extern "C" {
22079 #[link_name = "sk_X509_INFO_value__extern"]
22080 pub fn sk_X509_INFO_value(sk: *const stack_st_X509_INFO, i: usize) -> *mut X509_INFO;
22081}
22082unsafe extern "C" {
22083 #[link_name = "sk_X509_INFO_set__extern"]
22084 pub fn sk_X509_INFO_set(
22085 sk: *mut stack_st_X509_INFO,
22086 i: usize,
22087 p: *mut X509_INFO,
22088 ) -> *mut X509_INFO;
22089}
22090unsafe extern "C" {
22091 #[link_name = "sk_X509_INFO_free__extern"]
22092 pub fn sk_X509_INFO_free(sk: *mut stack_st_X509_INFO);
22093}
22094unsafe extern "C" {
22095 #[link_name = "sk_X509_INFO_pop_free__extern"]
22096 pub fn sk_X509_INFO_pop_free(sk: *mut stack_st_X509_INFO, free_func: sk_X509_INFO_free_func);
22097}
22098unsafe extern "C" {
22099 #[link_name = "sk_X509_INFO_insert__extern"]
22100 pub fn sk_X509_INFO_insert(
22101 sk: *mut stack_st_X509_INFO,
22102 p: *mut X509_INFO,
22103 where_: usize,
22104 ) -> usize;
22105}
22106unsafe extern "C" {
22107 #[link_name = "sk_X509_INFO_delete__extern"]
22108 pub fn sk_X509_INFO_delete(sk: *mut stack_st_X509_INFO, where_: usize) -> *mut X509_INFO;
22109}
22110unsafe extern "C" {
22111 #[link_name = "sk_X509_INFO_delete_ptr__extern"]
22112 pub fn sk_X509_INFO_delete_ptr(
22113 sk: *mut stack_st_X509_INFO,
22114 p: *const X509_INFO,
22115 ) -> *mut X509_INFO;
22116}
22117unsafe extern "C" {
22118 #[link_name = "sk_X509_INFO_delete_if__extern"]
22119 pub fn sk_X509_INFO_delete_if(
22120 sk: *mut stack_st_X509_INFO,
22121 func: sk_X509_INFO_delete_if_func,
22122 data: *mut ::core::ffi::c_void,
22123 );
22124}
22125unsafe extern "C" {
22126 #[link_name = "sk_X509_INFO_find__extern"]
22127 pub fn sk_X509_INFO_find(
22128 sk: *const stack_st_X509_INFO,
22129 out_index: *mut usize,
22130 p: *const X509_INFO,
22131 ) -> ::core::ffi::c_int;
22132}
22133unsafe extern "C" {
22134 #[link_name = "sk_X509_INFO_shift__extern"]
22135 pub fn sk_X509_INFO_shift(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22136}
22137unsafe extern "C" {
22138 #[link_name = "sk_X509_INFO_push__extern"]
22139 pub fn sk_X509_INFO_push(sk: *mut stack_st_X509_INFO, p: *mut X509_INFO) -> usize;
22140}
22141unsafe extern "C" {
22142 #[link_name = "sk_X509_INFO_pop__extern"]
22143 pub fn sk_X509_INFO_pop(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22144}
22145unsafe extern "C" {
22146 #[link_name = "sk_X509_INFO_dup__extern"]
22147 pub fn sk_X509_INFO_dup(sk: *const stack_st_X509_INFO) -> *mut stack_st_X509_INFO;
22148}
22149unsafe extern "C" {
22150 #[link_name = "sk_X509_INFO_sort__extern"]
22151 pub fn sk_X509_INFO_sort(sk: *mut stack_st_X509_INFO);
22152}
22153unsafe extern "C" {
22154 #[link_name = "sk_X509_INFO_sort_and_dedup__extern"]
22155 pub fn sk_X509_INFO_sort_and_dedup(
22156 sk: *mut stack_st_X509_INFO,
22157 free_func: sk_X509_INFO_free_func,
22158 );
22159}
22160unsafe extern "C" {
22161 #[link_name = "sk_X509_INFO_is_sorted__extern"]
22162 pub fn sk_X509_INFO_is_sorted(sk: *const stack_st_X509_INFO) -> ::core::ffi::c_int;
22163}
22164unsafe extern "C" {
22165 #[link_name = "sk_X509_INFO_set_cmp_func__extern"]
22166 pub fn sk_X509_INFO_set_cmp_func(
22167 sk: *mut stack_st_X509_INFO,
22168 comp: sk_X509_INFO_cmp_func,
22169 ) -> sk_X509_INFO_cmp_func;
22170}
22171unsafe extern "C" {
22172 #[link_name = "sk_X509_INFO_deep_copy__extern"]
22173 pub fn sk_X509_INFO_deep_copy(
22174 sk: *const stack_st_X509_INFO,
22175 copy_func: sk_X509_INFO_copy_func,
22176 free_func: sk_X509_INFO_free_func,
22177 ) -> *mut stack_st_X509_INFO;
22178}
22179unsafe extern "C" {
22180 pub fn X509_INFO_free(info: *mut X509_INFO);
22181}
22182pub type X509V3_EXT_NEW =
22183 ::core::option::Option<unsafe extern "C" fn() -> *mut ::core::ffi::c_void>;
22184pub type X509V3_EXT_FREE =
22185 ::core::option::Option<unsafe extern "C" fn(ext: *mut ::core::ffi::c_void)>;
22186pub type X509V3_EXT_D2I = ::core::option::Option<
22187 unsafe extern "C" fn(
22188 ext: *mut ::core::ffi::c_void,
22189 inp: *mut *const u8,
22190 len: ::core::ffi::c_long,
22191 ) -> *mut ::core::ffi::c_void,
22192>;
22193pub type X509V3_EXT_I2D = ::core::option::Option<
22194 unsafe extern "C" fn(ext: *mut ::core::ffi::c_void, outp: *mut *mut u8) -> ::core::ffi::c_int,
22195>;
22196pub type X509V3_EXT_I2V = ::core::option::Option<
22197 unsafe extern "C" fn(
22198 method: *const X509V3_EXT_METHOD,
22199 ext: *mut ::core::ffi::c_void,
22200 extlist: *mut stack_st_CONF_VALUE,
22201 ) -> *mut stack_st_CONF_VALUE,
22202>;
22203pub type X509V3_EXT_V2I = ::core::option::Option<
22204 unsafe extern "C" fn(
22205 method: *const X509V3_EXT_METHOD,
22206 ctx: *const X509V3_CTX,
22207 values: *const stack_st_CONF_VALUE,
22208 ) -> *mut ::core::ffi::c_void,
22209>;
22210pub type X509V3_EXT_I2S = ::core::option::Option<
22211 unsafe extern "C" fn(
22212 method: *const X509V3_EXT_METHOD,
22213 ext: *mut ::core::ffi::c_void,
22214 ) -> *mut ::core::ffi::c_char,
22215>;
22216pub type X509V3_EXT_S2I = ::core::option::Option<
22217 unsafe extern "C" fn(
22218 method: *const X509V3_EXT_METHOD,
22219 ctx: *const X509V3_CTX,
22220 str_: *const ::core::ffi::c_char,
22221 ) -> *mut ::core::ffi::c_void,
22222>;
22223pub type X509V3_EXT_I2R = ::core::option::Option<
22224 unsafe extern "C" fn(
22225 method: *const X509V3_EXT_METHOD,
22226 ext: *mut ::core::ffi::c_void,
22227 out: *mut BIO,
22228 indent: ::core::ffi::c_int,
22229 ) -> ::core::ffi::c_int,
22230>;
22231pub type X509V3_EXT_R2I = ::core::option::Option<
22232 unsafe extern "C" fn(
22233 method: *const X509V3_EXT_METHOD,
22234 ctx: *const X509V3_CTX,
22235 str_: *const ::core::ffi::c_char,
22236 ) -> *mut ::core::ffi::c_void,
22237>;
22238#[repr(C)]
22239#[derive(Debug, Copy, Clone)]
22240pub struct v3_ext_method {
22241 pub ext_nid: ::core::ffi::c_int,
22242 pub ext_flags: ::core::ffi::c_int,
22243 pub it: *const ASN1_ITEM_st,
22244 pub ext_new: X509V3_EXT_NEW,
22245 pub ext_free: X509V3_EXT_FREE,
22246 pub d2i: X509V3_EXT_D2I,
22247 pub i2d: X509V3_EXT_I2D,
22248 pub i2s: X509V3_EXT_I2S,
22249 pub s2i: X509V3_EXT_S2I,
22250 pub i2v: X509V3_EXT_I2V,
22251 pub v2i: X509V3_EXT_V2I,
22252 pub i2r: X509V3_EXT_I2R,
22253 pub r2i: X509V3_EXT_R2I,
22254 pub usr_data: *mut ::core::ffi::c_void,
22255}
22256unsafe extern "C" {
22257 pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
22258}
22259unsafe extern "C" {
22260 pub fn X509V3_EXT_get_nid(nid: ::core::ffi::c_int) -> *const X509V3_EXT_METHOD;
22261}
22262unsafe extern "C" {
22263 pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::core::ffi::c_int;
22264}
22265unsafe extern "C" {
22266 pub fn X509V3_EXT_add_alias(
22267 nid_to: ::core::ffi::c_int,
22268 nid_from: ::core::ffi::c_int,
22269 ) -> ::core::ffi::c_int;
22270}
22271#[repr(C)]
22272#[derive(Debug, Copy, Clone)]
22273pub struct v3_ext_ctx {
22274 pub flags: ::core::ffi::c_int,
22275 pub issuer_cert: *const X509,
22276 pub subject_cert: *const X509,
22277 pub subject_req: *const X509_REQ,
22278 pub crl: *const X509_CRL,
22279 pub db: *const CONF,
22280}
22281unsafe extern "C" {
22282 pub fn X509V3_set_ctx(
22283 ctx: *mut X509V3_CTX,
22284 issuer: *const X509,
22285 subject: *const X509,
22286 req: *const X509_REQ,
22287 crl: *const X509_CRL,
22288 flags: ::core::ffi::c_int,
22289 );
22290}
22291unsafe extern "C" {
22292 pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
22293}
22294unsafe extern "C" {
22295 pub fn X509V3_EXT_nconf(
22296 conf: *const CONF,
22297 ctx: *const X509V3_CTX,
22298 name: *const ::core::ffi::c_char,
22299 value: *const ::core::ffi::c_char,
22300 ) -> *mut X509_EXTENSION;
22301}
22302unsafe extern "C" {
22303 pub fn X509V3_EXT_nconf_nid(
22304 conf: *const CONF,
22305 ctx: *const X509V3_CTX,
22306 ext_nid: ::core::ffi::c_int,
22307 value: *const ::core::ffi::c_char,
22308 ) -> *mut X509_EXTENSION;
22309}
22310unsafe extern "C" {
22311 pub fn X509V3_EXT_conf_nid(
22312 conf: *mut CRYPTO_MUST_BE_NULL,
22313 ctx: *const X509V3_CTX,
22314 ext_nid: ::core::ffi::c_int,
22315 value: *const ::core::ffi::c_char,
22316 ) -> *mut X509_EXTENSION;
22317}
22318unsafe extern "C" {
22319 pub fn X509V3_EXT_add_nconf_sk(
22320 conf: *const CONF,
22321 ctx: *const X509V3_CTX,
22322 section: *const ::core::ffi::c_char,
22323 sk: *mut *mut stack_st_X509_EXTENSION,
22324 ) -> ::core::ffi::c_int;
22325}
22326unsafe extern "C" {
22327 pub fn X509V3_EXT_add_nconf(
22328 conf: *const CONF,
22329 ctx: *const X509V3_CTX,
22330 section: *const ::core::ffi::c_char,
22331 cert: *mut X509,
22332 ) -> ::core::ffi::c_int;
22333}
22334unsafe extern "C" {
22335 pub fn X509V3_EXT_REQ_add_nconf(
22336 conf: *const CONF,
22337 ctx: *const X509V3_CTX,
22338 section: *const ::core::ffi::c_char,
22339 req: *mut X509_REQ,
22340 ) -> ::core::ffi::c_int;
22341}
22342unsafe extern "C" {
22343 pub fn X509V3_EXT_CRL_add_nconf(
22344 conf: *const CONF,
22345 ctx: *const X509V3_CTX,
22346 section: *const ::core::ffi::c_char,
22347 crl: *mut X509_CRL,
22348 ) -> ::core::ffi::c_int;
22349}
22350unsafe extern "C" {
22351 pub fn i2s_ASN1_OCTET_STRING(
22352 method: *const X509V3_EXT_METHOD,
22353 oct: *const ASN1_OCTET_STRING,
22354 ) -> *mut ::core::ffi::c_char;
22355}
22356unsafe extern "C" {
22357 pub fn s2i_ASN1_OCTET_STRING(
22358 method: *const X509V3_EXT_METHOD,
22359 ctx: *const X509V3_CTX,
22360 str_: *const ::core::ffi::c_char,
22361 ) -> *mut ASN1_OCTET_STRING;
22362}
22363unsafe extern "C" {
22364 pub fn i2s_ASN1_INTEGER(
22365 method: *const X509V3_EXT_METHOD,
22366 aint: *const ASN1_INTEGER,
22367 ) -> *mut ::core::ffi::c_char;
22368}
22369unsafe extern "C" {
22370 pub fn s2i_ASN1_INTEGER(
22371 method: *const X509V3_EXT_METHOD,
22372 value: *const ::core::ffi::c_char,
22373 ) -> *mut ASN1_INTEGER;
22374}
22375unsafe extern "C" {
22376 pub fn i2s_ASN1_ENUMERATED(
22377 method: *const X509V3_EXT_METHOD,
22378 aint: *const ASN1_ENUMERATED,
22379 ) -> *mut ::core::ffi::c_char;
22380}
22381unsafe extern "C" {
22382 pub fn X509V3_conf_free(val: *mut CONF_VALUE);
22383}
22384unsafe extern "C" {
22385 pub fn i2v_GENERAL_NAME(
22386 method: *const X509V3_EXT_METHOD,
22387 gen_: *const GENERAL_NAME,
22388 ret: *mut stack_st_CONF_VALUE,
22389 ) -> *mut stack_st_CONF_VALUE;
22390}
22391unsafe extern "C" {
22392 pub fn i2v_GENERAL_NAMES(
22393 method: *const X509V3_EXT_METHOD,
22394 gen_: *const GENERAL_NAMES,
22395 extlist: *mut stack_st_CONF_VALUE,
22396 ) -> *mut stack_st_CONF_VALUE;
22397}
22398unsafe extern "C" {
22399 pub fn a2i_IPADDRESS(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22400}
22401unsafe extern "C" {
22402 pub fn a2i_IPADDRESS_NC(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22403}
22404unsafe extern "C" {
22405 pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
22406}
22407unsafe extern "C" {
22408 pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
22409}
22410unsafe extern "C" {
22411 pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22412}
22413unsafe extern "C" {
22414 pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22415}
22416unsafe extern "C" {
22417 pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22418}
22419unsafe extern "C" {
22420 pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22421}
22422unsafe extern "C" {
22423 pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
22424}
22425unsafe extern "C" {
22426 pub fn X509_NAME_get_text_by_OBJ(
22427 name: *const X509_NAME,
22428 obj: *const ASN1_OBJECT,
22429 buf: *mut ::core::ffi::c_char,
22430 len: ::core::ffi::c_int,
22431 ) -> ::core::ffi::c_int;
22432}
22433unsafe extern "C" {
22434 pub fn X509_NAME_get_text_by_NID(
22435 name: *const X509_NAME,
22436 nid: ::core::ffi::c_int,
22437 buf: *mut ::core::ffi::c_char,
22438 len: ::core::ffi::c_int,
22439 ) -> ::core::ffi::c_int;
22440}
22441unsafe extern "C" {
22442 pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *const X509_STORE_CTX) -> *mut X509_STORE_CTX;
22443}
22444unsafe extern "C" {
22445 pub fn X509_OBJECT_free_contents(obj: *mut X509_OBJECT);
22446}
22447unsafe extern "C" {
22448 pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
22449}
22450unsafe extern "C" {
22451 pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
22452}
22453unsafe extern "C" {
22454 pub fn X509V3_add_standard_extensions() -> ::core::ffi::c_int;
22455}
22456unsafe extern "C" {
22457 pub fn X509_STORE_CTX_get_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
22458}
22459unsafe extern "C" {
22460 pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22461}
22462pub type X509_STORE_CTX_verify_cb = ::core::option::Option<
22463 unsafe extern "C" fn(arg1: ::core::ffi::c_int, arg2: *mut X509_STORE_CTX) -> ::core::ffi::c_int,
22464>;
22465unsafe extern "C" {
22466 pub fn X509_STORE_CTX_set_verify_cb(
22467 ctx: *mut X509_STORE_CTX,
22468 verify_cb: ::core::option::Option<
22469 unsafe extern "C" fn(
22470 ok: ::core::ffi::c_int,
22471 ctx: *mut X509_STORE_CTX,
22472 ) -> ::core::ffi::c_int,
22473 >,
22474 );
22475}
22476unsafe extern "C" {
22477 pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
22478}
22479unsafe extern "C" {
22480 pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22481}
22482unsafe extern "C" {
22483 pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
22484}
22485unsafe extern "C" {
22486 pub fn X509_PURPOSE_get_by_sname(sname: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
22487}
22488unsafe extern "C" {
22489 pub fn X509_PURPOSE_get0(id: ::core::ffi::c_int) -> *const X509_PURPOSE;
22490}
22491unsafe extern "C" {
22492 pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::core::ffi::c_int;
22493}
22494#[repr(C)]
22495#[derive(Debug, Copy, Clone)]
22496pub struct X509_algor_st {
22497 pub algorithm: *mut ASN1_OBJECT,
22498 pub parameter: *mut ASN1_TYPE,
22499}
22500pub type pem_password_cb = ::core::option::Option<
22501 unsafe extern "C" fn(
22502 out: *mut ::core::ffi::c_char,
22503 max_out: ::core::ffi::c_int,
22504 enc: ::core::ffi::c_int,
22505 userdata: *mut ::core::ffi::c_void,
22506 ) -> ::core::ffi::c_int,
22507>;
22508unsafe extern "C" {
22509 pub fn PEM_def_callback(
22510 buf: *mut ::core::ffi::c_char,
22511 size: ::core::ffi::c_int,
22512 enc: ::core::ffi::c_int,
22513 userdata: *mut ::core::ffi::c_void,
22514 ) -> ::core::ffi::c_int;
22515}
22516unsafe extern "C" {
22517 pub fn PEM_read_bio_X509(
22518 bio: *mut BIO,
22519 out: *mut *mut X509,
22520 cb: pem_password_cb,
22521 userdata: *mut ::core::ffi::c_void,
22522 ) -> *mut X509;
22523}
22524unsafe extern "C" {
22525 pub fn PEM_write_bio_X509(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22526}
22527unsafe extern "C" {
22528 pub fn PEM_read_bio_X509_AUX(
22529 bio: *mut BIO,
22530 out: *mut *mut X509,
22531 cb: pem_password_cb,
22532 userdata: *mut ::core::ffi::c_void,
22533 ) -> *mut X509;
22534}
22535unsafe extern "C" {
22536 pub fn PEM_write_bio_X509_AUX(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22537}
22538unsafe extern "C" {
22539 pub fn PEM_read_bio_X509_CRL(
22540 bio: *mut BIO,
22541 out: *mut *mut X509_CRL,
22542 cb: pem_password_cb,
22543 userdata: *mut ::core::ffi::c_void,
22544 ) -> *mut X509_CRL;
22545}
22546unsafe extern "C" {
22547 pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, in_: *const X509_CRL) -> ::core::ffi::c_int;
22548}
22549unsafe extern "C" {
22550 pub fn PEM_read_bio_X509_REQ(
22551 bio: *mut BIO,
22552 out: *mut *mut X509_REQ,
22553 cb: pem_password_cb,
22554 userdata: *mut ::core::ffi::c_void,
22555 ) -> *mut X509_REQ;
22556}
22557unsafe extern "C" {
22558 pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22559}
22560unsafe extern "C" {
22561 pub fn PEM_write_bio_X509_REQ_NEW(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22562}
22563unsafe extern "C" {
22564 pub fn PEM_read_bio_PKCS7(
22565 bio: *mut BIO,
22566 out: *mut *mut PKCS7,
22567 cb: pem_password_cb,
22568 userdata: *mut ::core::ffi::c_void,
22569 ) -> *mut PKCS7;
22570}
22571unsafe extern "C" {
22572 pub fn PEM_write_bio_PKCS7(bio: *mut BIO, in_: *const PKCS7) -> ::core::ffi::c_int;
22573}
22574unsafe extern "C" {
22575 pub fn PEM_X509_INFO_read_bio(
22576 bio: *mut BIO,
22577 sk: *mut stack_st_X509_INFO,
22578 cb: pem_password_cb,
22579 userdata: *mut ::core::ffi::c_void,
22580 ) -> *mut stack_st_X509_INFO;
22581}
22582unsafe extern "C" {
22583 pub fn PEM_read_bio_PrivateKey(
22584 bio: *mut BIO,
22585 out: *mut *mut EVP_PKEY,
22586 cb: pem_password_cb,
22587 userdata: *mut ::core::ffi::c_void,
22588 ) -> *mut EVP_PKEY;
22589}
22590unsafe extern "C" {
22591 pub fn PEM_write_bio_PrivateKey(
22592 bio: *mut BIO,
22593 in_: *const EVP_PKEY,
22594 enc: *const EVP_CIPHER,
22595 pass: *const u8,
22596 pass_len: ::core::ffi::c_int,
22597 cb: pem_password_cb,
22598 userdata: *mut ::core::ffi::c_void,
22599 ) -> ::core::ffi::c_int;
22600}
22601unsafe extern "C" {
22602 pub fn PEM_read_bio_PUBKEY(
22603 bio: *mut BIO,
22604 out: *mut *mut EVP_PKEY,
22605 cb: pem_password_cb,
22606 userdata: *mut ::core::ffi::c_void,
22607 ) -> *mut EVP_PKEY;
22608}
22609unsafe extern "C" {
22610 pub fn PEM_write_bio_PUBKEY(bio: *mut BIO, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
22611}
22612unsafe extern "C" {
22613 pub fn PEM_write_bio_PKCS8PrivateKey_nid(
22614 bio: *mut BIO,
22615 in_: *const EVP_PKEY,
22616 nid: ::core::ffi::c_int,
22617 pass: *const ::core::ffi::c_char,
22618 pass_len: ::core::ffi::c_int,
22619 cb: pem_password_cb,
22620 userdata: *mut ::core::ffi::c_void,
22621 ) -> ::core::ffi::c_int;
22622}
22623unsafe extern "C" {
22624 pub fn PEM_write_bio_PKCS8PrivateKey(
22625 bio: *mut BIO,
22626 in_: *const EVP_PKEY,
22627 enc: *const EVP_CIPHER,
22628 pass: *const ::core::ffi::c_char,
22629 pass_len: ::core::ffi::c_int,
22630 cb: pem_password_cb,
22631 userdata: *mut ::core::ffi::c_void,
22632 ) -> ::core::ffi::c_int;
22633}
22634unsafe extern "C" {
22635 pub fn PEM_write_PKCS8PrivateKey_nid(
22636 fp: *mut FILE,
22637 in_: *const EVP_PKEY,
22638 nid: ::core::ffi::c_int,
22639 pass: *const ::core::ffi::c_char,
22640 pass_len: ::core::ffi::c_int,
22641 cb: pem_password_cb,
22642 userdata: *mut ::core::ffi::c_void,
22643 ) -> ::core::ffi::c_int;
22644}
22645unsafe extern "C" {
22646 pub fn PEM_write_PKCS8PrivateKey(
22647 fp: *mut FILE,
22648 in_: *const EVP_PKEY,
22649 enc: *const EVP_CIPHER,
22650 pass: *const ::core::ffi::c_char,
22651 pass_len: ::core::ffi::c_int,
22652 cb: pem_password_cb,
22653 userdata: *mut ::core::ffi::c_void,
22654 ) -> ::core::ffi::c_int;
22655}
22656unsafe extern "C" {
22657 pub fn PEM_read_bio_PKCS8(
22658 bio: *mut BIO,
22659 out: *mut *mut X509_SIG,
22660 cb: pem_password_cb,
22661 userdata: *mut ::core::ffi::c_void,
22662 ) -> *mut X509_SIG;
22663}
22664unsafe extern "C" {
22665 pub fn PEM_write_bio_PKCS8(bio: *mut BIO, in_: *const X509_SIG) -> ::core::ffi::c_int;
22666}
22667unsafe extern "C" {
22668 pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
22669 bio: *mut BIO,
22670 out: *mut *mut PKCS8_PRIV_KEY_INFO,
22671 cb: pem_password_cb,
22672 userdata: *mut ::core::ffi::c_void,
22673 ) -> *mut PKCS8_PRIV_KEY_INFO;
22674}
22675unsafe extern "C" {
22676 pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
22677 bio: *mut BIO,
22678 in_: *const PKCS8_PRIV_KEY_INFO,
22679 ) -> ::core::ffi::c_int;
22680}
22681unsafe extern "C" {
22682 pub fn PEM_read_bio_RSAPrivateKey(
22683 bio: *mut BIO,
22684 out: *mut *mut RSA,
22685 cb: pem_password_cb,
22686 userdata: *mut ::core::ffi::c_void,
22687 ) -> *mut RSA;
22688}
22689unsafe extern "C" {
22690 pub fn PEM_write_bio_RSAPrivateKey(
22691 bio: *mut BIO,
22692 in_: *const RSA,
22693 enc: *const EVP_CIPHER,
22694 pass: *const u8,
22695 pass_len: ::core::ffi::c_int,
22696 cb: pem_password_cb,
22697 userdata: *mut ::core::ffi::c_void,
22698 ) -> ::core::ffi::c_int;
22699}
22700unsafe extern "C" {
22701 pub fn PEM_read_bio_RSAPublicKey(
22702 bio: *mut BIO,
22703 out: *mut *mut RSA,
22704 cb: pem_password_cb,
22705 userdata: *mut ::core::ffi::c_void,
22706 ) -> *mut RSA;
22707}
22708unsafe extern "C" {
22709 pub fn PEM_write_bio_RSAPublicKey(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22710}
22711unsafe extern "C" {
22712 pub fn PEM_read_bio_RSA_PUBKEY(
22713 bio: *mut BIO,
22714 out: *mut *mut RSA,
22715 cb: pem_password_cb,
22716 userdata: *mut ::core::ffi::c_void,
22717 ) -> *mut RSA;
22718}
22719unsafe extern "C" {
22720 pub fn PEM_write_bio_RSA_PUBKEY(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22721}
22722unsafe extern "C" {
22723 pub fn PEM_read_bio_DSAPrivateKey(
22724 bio: *mut BIO,
22725 out: *mut *mut DSA,
22726 cb: pem_password_cb,
22727 userdata: *mut ::core::ffi::c_void,
22728 ) -> *mut DSA;
22729}
22730unsafe extern "C" {
22731 pub fn PEM_write_bio_DSAPrivateKey(
22732 bio: *mut BIO,
22733 in_: *const DSA,
22734 enc: *const EVP_CIPHER,
22735 pass: *const u8,
22736 pass_len: ::core::ffi::c_int,
22737 cb: pem_password_cb,
22738 userdata: *mut ::core::ffi::c_void,
22739 ) -> ::core::ffi::c_int;
22740}
22741unsafe extern "C" {
22742 pub fn PEM_read_bio_DSA_PUBKEY(
22743 bio: *mut BIO,
22744 out: *mut *mut DSA,
22745 cb: pem_password_cb,
22746 userdata: *mut ::core::ffi::c_void,
22747 ) -> *mut DSA;
22748}
22749unsafe extern "C" {
22750 pub fn PEM_write_bio_DSA_PUBKEY(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22751}
22752unsafe extern "C" {
22753 pub fn PEM_read_bio_DSAparams(
22754 bio: *mut BIO,
22755 out: *mut *mut DSA,
22756 cb: pem_password_cb,
22757 userdata: *mut ::core::ffi::c_void,
22758 ) -> *mut DSA;
22759}
22760unsafe extern "C" {
22761 pub fn PEM_write_bio_DSAparams(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22762}
22763unsafe extern "C" {
22764 pub fn PEM_read_bio_ECPrivateKey(
22765 bio: *mut BIO,
22766 out: *mut *mut EC_KEY,
22767 cb: pem_password_cb,
22768 userdata: *mut ::core::ffi::c_void,
22769 ) -> *mut EC_KEY;
22770}
22771unsafe extern "C" {
22772 pub fn PEM_write_bio_ECPrivateKey(
22773 bio: *mut BIO,
22774 in_: *const EC_KEY,
22775 enc: *const EVP_CIPHER,
22776 pass: *const u8,
22777 pass_len: ::core::ffi::c_int,
22778 cb: pem_password_cb,
22779 userdata: *mut ::core::ffi::c_void,
22780 ) -> ::core::ffi::c_int;
22781}
22782unsafe extern "C" {
22783 pub fn PEM_read_bio_EC_PUBKEY(
22784 bio: *mut BIO,
22785 out: *mut *mut EC_KEY,
22786 cb: pem_password_cb,
22787 userdata: *mut ::core::ffi::c_void,
22788 ) -> *mut EC_KEY;
22789}
22790unsafe extern "C" {
22791 pub fn PEM_write_bio_EC_PUBKEY(bio: *mut BIO, in_: *const EC_KEY) -> ::core::ffi::c_int;
22792}
22793unsafe extern "C" {
22794 pub fn PEM_read_bio_DHparams(
22795 bio: *mut BIO,
22796 out: *mut *mut DH,
22797 cb: pem_password_cb,
22798 userdata: *mut ::core::ffi::c_void,
22799 ) -> *mut DH;
22800}
22801unsafe extern "C" {
22802 pub fn PEM_write_bio_DHparams(bio: *mut BIO, in_: *const DH) -> ::core::ffi::c_int;
22803}
22804unsafe extern "C" {
22805 pub fn PEM_read_X509(
22806 fp: *mut FILE,
22807 out: *mut *mut X509,
22808 cb: pem_password_cb,
22809 userdata: *mut ::core::ffi::c_void,
22810 ) -> *mut X509;
22811}
22812unsafe extern "C" {
22813 pub fn PEM_read_X509_CRL(
22814 fp: *mut FILE,
22815 out: *mut *mut X509_CRL,
22816 cb: pem_password_cb,
22817 userdata: *mut ::core::ffi::c_void,
22818 ) -> *mut X509_CRL;
22819}
22820unsafe extern "C" {
22821 pub fn PEM_read_X509_AUX(
22822 fp: *mut FILE,
22823 out: *mut *mut X509,
22824 cb: pem_password_cb,
22825 userdata: *mut ::core::ffi::c_void,
22826 ) -> *mut X509;
22827}
22828unsafe extern "C" {
22829 pub fn PEM_X509_INFO_read(
22830 fp: *mut FILE,
22831 sk: *mut stack_st_X509_INFO,
22832 cb: pem_password_cb,
22833 userdata: *mut ::core::ffi::c_void,
22834 ) -> *mut stack_st_X509_INFO;
22835}
22836unsafe extern "C" {
22837 pub fn PEM_read_X509_REQ(
22838 fp: *mut FILE,
22839 out: *mut *mut X509_REQ,
22840 cb: pem_password_cb,
22841 userdata: *mut ::core::ffi::c_void,
22842 ) -> *mut X509_REQ;
22843}
22844unsafe extern "C" {
22845 pub fn PEM_read_PKCS7(
22846 fp: *mut FILE,
22847 out: *mut *mut PKCS7,
22848 cb: pem_password_cb,
22849 userdata: *mut ::core::ffi::c_void,
22850 ) -> *mut PKCS7;
22851}
22852unsafe extern "C" {
22853 pub fn PEM_read_PKCS8(
22854 fp: *mut FILE,
22855 out: *mut *mut X509_SIG,
22856 cb: pem_password_cb,
22857 userdata: *mut ::core::ffi::c_void,
22858 ) -> *mut X509_SIG;
22859}
22860unsafe extern "C" {
22861 pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
22862 fp: *mut FILE,
22863 out: *mut *mut PKCS8_PRIV_KEY_INFO,
22864 cb: pem_password_cb,
22865 userdata: *mut ::core::ffi::c_void,
22866 ) -> *mut PKCS8_PRIV_KEY_INFO;
22867}
22868unsafe extern "C" {
22869 pub fn PEM_read_RSAPrivateKey(
22870 fp: *mut FILE,
22871 out: *mut *mut RSA,
22872 cb: pem_password_cb,
22873 userdata: *mut ::core::ffi::c_void,
22874 ) -> *mut RSA;
22875}
22876unsafe extern "C" {
22877 pub fn PEM_read_RSAPublicKey(
22878 fp: *mut FILE,
22879 out: *mut *mut RSA,
22880 cb: pem_password_cb,
22881 userdata: *mut ::core::ffi::c_void,
22882 ) -> *mut RSA;
22883}
22884unsafe extern "C" {
22885 pub fn PEM_read_RSA_PUBKEY(
22886 fp: *mut FILE,
22887 out: *mut *mut RSA,
22888 cb: pem_password_cb,
22889 userdata: *mut ::core::ffi::c_void,
22890 ) -> *mut RSA;
22891}
22892unsafe extern "C" {
22893 pub fn PEM_read_DSAPrivateKey(
22894 fp: *mut FILE,
22895 out: *mut *mut DSA,
22896 cb: pem_password_cb,
22897 userdata: *mut ::core::ffi::c_void,
22898 ) -> *mut DSA;
22899}
22900unsafe extern "C" {
22901 pub fn PEM_read_DSA_PUBKEY(
22902 fp: *mut FILE,
22903 out: *mut *mut DSA,
22904 cb: pem_password_cb,
22905 userdata: *mut ::core::ffi::c_void,
22906 ) -> *mut DSA;
22907}
22908unsafe extern "C" {
22909 pub fn PEM_read_DSAparams(
22910 fp: *mut FILE,
22911 out: *mut *mut DSA,
22912 cb: pem_password_cb,
22913 userdata: *mut ::core::ffi::c_void,
22914 ) -> *mut DSA;
22915}
22916unsafe extern "C" {
22917 pub fn PEM_read_ECPrivateKey(
22918 fp: *mut FILE,
22919 out: *mut *mut EC_KEY,
22920 cb: pem_password_cb,
22921 userdata: *mut ::core::ffi::c_void,
22922 ) -> *mut EC_KEY;
22923}
22924unsafe extern "C" {
22925 pub fn PEM_read_EC_PUBKEY(
22926 fp: *mut FILE,
22927 out: *mut *mut EC_KEY,
22928 cb: pem_password_cb,
22929 userdata: *mut ::core::ffi::c_void,
22930 ) -> *mut EC_KEY;
22931}
22932unsafe extern "C" {
22933 pub fn PEM_read_DHparams(
22934 fp: *mut FILE,
22935 out: *mut *mut DH,
22936 cb: pem_password_cb,
22937 userdata: *mut ::core::ffi::c_void,
22938 ) -> *mut DH;
22939}
22940unsafe extern "C" {
22941 pub fn PEM_read_PrivateKey(
22942 fp: *mut FILE,
22943 out: *mut *mut EVP_PKEY,
22944 cb: pem_password_cb,
22945 userdata: *mut ::core::ffi::c_void,
22946 ) -> *mut EVP_PKEY;
22947}
22948unsafe extern "C" {
22949 pub fn PEM_read_PUBKEY(
22950 fp: *mut FILE,
22951 out: *mut *mut EVP_PKEY,
22952 cb: pem_password_cb,
22953 userdata: *mut ::core::ffi::c_void,
22954 ) -> *mut EVP_PKEY;
22955}
22956unsafe extern "C" {
22957 pub fn PEM_write_X509(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
22958}
22959unsafe extern "C" {
22960 pub fn PEM_write_X509_CRL(fp: *mut FILE, in_: *const X509_CRL) -> ::core::ffi::c_int;
22961}
22962unsafe extern "C" {
22963 pub fn PEM_write_X509_AUX(fp: *mut FILE, in_: *const X509) -> ::core::ffi::c_int;
22964}
22965unsafe extern "C" {
22966 pub fn PEM_write_X509_REQ(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
22967}
22968unsafe extern "C" {
22969 pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
22970}
22971unsafe extern "C" {
22972 pub fn PEM_write_PKCS7(fp: *mut FILE, in_: *const PKCS7) -> ::core::ffi::c_int;
22973}
22974unsafe extern "C" {
22975 pub fn PEM_write_PKCS8(fp: *mut FILE, in_: *const X509_SIG) -> ::core::ffi::c_int;
22976}
22977unsafe extern "C" {
22978 pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
22979 fp: *mut FILE,
22980 in_: *const PKCS8_PRIV_KEY_INFO,
22981 ) -> ::core::ffi::c_int;
22982}
22983unsafe extern "C" {
22984 pub fn PEM_write_RSAPrivateKey(
22985 fp: *mut FILE,
22986 in_: *const RSA,
22987 enc: *const EVP_CIPHER,
22988 pass: *const u8,
22989 pass_len: ::core::ffi::c_int,
22990 cb: pem_password_cb,
22991 userdata: *mut ::core::ffi::c_void,
22992 ) -> ::core::ffi::c_int;
22993}
22994unsafe extern "C" {
22995 pub fn PEM_write_RSAPublicKey(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
22996}
22997unsafe extern "C" {
22998 pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
22999}
23000unsafe extern "C" {
23001 pub fn PEM_write_DSAPrivateKey(
23002 fp: *mut FILE,
23003 in_: *const DSA,
23004 enc: *const EVP_CIPHER,
23005 pass: *const u8,
23006 pass_len: ::core::ffi::c_int,
23007 cb: pem_password_cb,
23008 userdata: *mut ::core::ffi::c_void,
23009 ) -> ::core::ffi::c_int;
23010}
23011unsafe extern "C" {
23012 pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
23013}
23014unsafe extern "C" {
23015 pub fn PEM_write_DSAparams(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
23016}
23017unsafe extern "C" {
23018 pub fn PEM_write_ECPrivateKey(
23019 fp: *mut FILE,
23020 in_: *const EC_KEY,
23021 enc: *const EVP_CIPHER,
23022 pass: *const u8,
23023 pass_len: ::core::ffi::c_int,
23024 cb: pem_password_cb,
23025 userdata: *mut ::core::ffi::c_void,
23026 ) -> ::core::ffi::c_int;
23027}
23028unsafe extern "C" {
23029 pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, in_: *const EC_KEY) -> ::core::ffi::c_int;
23030}
23031unsafe extern "C" {
23032 pub fn PEM_write_DHparams(fp: *mut FILE, in_: *const DH) -> ::core::ffi::c_int;
23033}
23034unsafe extern "C" {
23035 pub fn PEM_write_PrivateKey(
23036 fp: *mut FILE,
23037 in_: *const EVP_PKEY,
23038 enc: *const EVP_CIPHER,
23039 pass: *const u8,
23040 pass_len: ::core::ffi::c_int,
23041 cb: pem_password_cb,
23042 userdata: *mut ::core::ffi::c_void,
23043 ) -> ::core::ffi::c_int;
23044}
23045unsafe extern "C" {
23046 pub fn PEM_write_PUBKEY(fp: *mut FILE, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
23047}
23048unsafe extern "C" {
23049 pub fn PEM_read_bio(
23050 bio: *mut BIO,
23051 out_name: *mut *mut ::core::ffi::c_char,
23052 out_header: *mut *mut ::core::ffi::c_char,
23053 out_data: *mut *mut u8,
23054 out_len: *mut ::core::ffi::c_long,
23055 ) -> ::core::ffi::c_int;
23056}
23057unsafe extern "C" {
23058 pub fn PEM_read(
23059 fp: *mut FILE,
23060 out_name: *mut *mut ::core::ffi::c_char,
23061 out_header: *mut *mut ::core::ffi::c_char,
23062 out_data: *mut *mut u8,
23063 out_len: *mut ::core::ffi::c_long,
23064 ) -> ::core::ffi::c_int;
23065}
23066unsafe extern "C" {
23067 pub fn PEM_write_bio(
23068 bio: *mut BIO,
23069 name: *const ::core::ffi::c_char,
23070 hdr: *const ::core::ffi::c_char,
23071 data: *const u8,
23072 len: ::core::ffi::c_long,
23073 ) -> ::core::ffi::c_int;
23074}
23075unsafe extern "C" {
23076 pub fn PEM_write(
23077 fp: *mut FILE,
23078 name: *const ::core::ffi::c_char,
23079 hdr: *const ::core::ffi::c_char,
23080 data: *const u8,
23081 len: ::core::ffi::c_long,
23082 ) -> ::core::ffi::c_int;
23083}
23084unsafe extern "C" {
23085 pub fn PEM_bytes_read_bio(
23086 out_data: *mut *mut u8,
23087 out_len: *mut ::core::ffi::c_long,
23088 out_name: *mut *mut ::core::ffi::c_char,
23089 expected_name: *const ::core::ffi::c_char,
23090 bio: *mut BIO,
23091 cb: pem_password_cb,
23092 userdata: *mut ::core::ffi::c_void,
23093 ) -> ::core::ffi::c_int;
23094}
23095unsafe extern "C" {
23096 pub fn d2i_PKCS8PrivateKey_bio(
23097 bio: *mut BIO,
23098 out: *mut *mut EVP_PKEY,
23099 cb: pem_password_cb,
23100 userdata: *mut ::core::ffi::c_void,
23101 ) -> *mut EVP_PKEY;
23102}
23103unsafe extern "C" {
23104 pub fn i2d_PKCS8PrivateKey_bio(
23105 bio: *mut BIO,
23106 in_: *const EVP_PKEY,
23107 enc: *const EVP_CIPHER,
23108 pass: *const ::core::ffi::c_char,
23109 pass_len: ::core::ffi::c_int,
23110 cb: pem_password_cb,
23111 userdata: *mut ::core::ffi::c_void,
23112 ) -> ::core::ffi::c_int;
23113}
23114unsafe extern "C" {
23115 pub fn i2d_PKCS8PrivateKey_nid_bio(
23116 bio: *mut BIO,
23117 in_: *const EVP_PKEY,
23118 nid: ::core::ffi::c_int,
23119 pass: *const ::core::ffi::c_char,
23120 pass_len: ::core::ffi::c_int,
23121 cb: pem_password_cb,
23122 userdata: *mut ::core::ffi::c_void,
23123 ) -> ::core::ffi::c_int;
23124}
23125unsafe extern "C" {
23126 pub fn i2d_PKCS8PrivateKey_fp(
23127 fp: *mut FILE,
23128 in_: *const EVP_PKEY,
23129 enc: *const EVP_CIPHER,
23130 pass: *const ::core::ffi::c_char,
23131 pass_len: ::core::ffi::c_int,
23132 cb: pem_password_cb,
23133 userdata: *mut ::core::ffi::c_void,
23134 ) -> ::core::ffi::c_int;
23135}
23136unsafe extern "C" {
23137 pub fn i2d_PKCS8PrivateKey_nid_fp(
23138 fp: *mut FILE,
23139 in_: *const EVP_PKEY,
23140 nid: ::core::ffi::c_int,
23141 pass: *const ::core::ffi::c_char,
23142 pass_len: ::core::ffi::c_int,
23143 cb: pem_password_cb,
23144 userdata: *mut ::core::ffi::c_void,
23145 ) -> ::core::ffi::c_int;
23146}
23147unsafe extern "C" {
23148 pub fn d2i_PKCS8PrivateKey_fp(
23149 fp: *mut FILE,
23150 out: *mut *mut EVP_PKEY,
23151 cb: pem_password_cb,
23152 userdata: *mut ::core::ffi::c_void,
23153 ) -> *mut EVP_PKEY;
23154}
23155unsafe extern "C" {
23156 pub fn PEM_ASN1_read_bio(
23157 d2i: d2i_of_void,
23158 name: *const ::core::ffi::c_char,
23159 bio: *mut BIO,
23160 out: *mut *mut ::core::ffi::c_void,
23161 cb: pem_password_cb,
23162 userdata: *mut ::core::ffi::c_void,
23163 ) -> *mut ::core::ffi::c_void;
23164}
23165unsafe extern "C" {
23166 pub fn PEM_ASN1_read(
23167 d2i: d2i_of_void,
23168 name: *const ::core::ffi::c_char,
23169 fp: *mut FILE,
23170 out: *mut *mut ::core::ffi::c_void,
23171 cb: pem_password_cb,
23172 userdata: *mut ::core::ffi::c_void,
23173 ) -> *mut ::core::ffi::c_void;
23174}
23175unsafe extern "C" {
23176 pub fn PEM_ASN1_write_bio(
23177 i2d: i2d_of_void,
23178 name: *const ::core::ffi::c_char,
23179 bio: *mut BIO,
23180 in_: *const ::core::ffi::c_void,
23181 enc: *const EVP_CIPHER,
23182 pass: *const u8,
23183 pass_len: ::core::ffi::c_int,
23184 cb: pem_password_cb,
23185 userdata: *mut ::core::ffi::c_void,
23186 ) -> ::core::ffi::c_int;
23187}
23188unsafe extern "C" {
23189 pub fn PEM_ASN1_write(
23190 i2d: i2d_of_void,
23191 name: *const ::core::ffi::c_char,
23192 fp: *mut FILE,
23193 in_: *const ::core::ffi::c_void,
23194 enc: *const EVP_CIPHER,
23195 pass: *const u8,
23196 pass_len: ::core::ffi::c_int,
23197 callback: pem_password_cb,
23198 userdata: *mut ::core::ffi::c_void,
23199 ) -> ::core::ffi::c_int;
23200}
23201unsafe extern "C" {
23202 pub fn PKCS8_encrypt(
23203 pbe_nid: ::core::ffi::c_int,
23204 cipher: *const EVP_CIPHER,
23205 pass: *const ::core::ffi::c_char,
23206 pass_len: ::core::ffi::c_int,
23207 salt: *const u8,
23208 salt_len: usize,
23209 iterations: ::core::ffi::c_int,
23210 p8inf: *mut PKCS8_PRIV_KEY_INFO,
23211 ) -> *mut X509_SIG;
23212}
23213unsafe extern "C" {
23214 pub fn PKCS8_marshal_encrypted_private_key(
23215 out: *mut CBB,
23216 pbe_nid: ::core::ffi::c_int,
23217 cipher: *const EVP_CIPHER,
23218 pass: *const ::core::ffi::c_char,
23219 pass_len: usize,
23220 salt: *const u8,
23221 salt_len: usize,
23222 iterations: ::core::ffi::c_int,
23223 pkey: *const EVP_PKEY,
23224 ) -> ::core::ffi::c_int;
23225}
23226unsafe extern "C" {
23227 pub fn PKCS8_decrypt(
23228 pkcs8: *mut X509_SIG,
23229 pass: *const ::core::ffi::c_char,
23230 pass_len: ::core::ffi::c_int,
23231 ) -> *mut PKCS8_PRIV_KEY_INFO;
23232}
23233unsafe extern "C" {
23234 pub fn PKCS8_parse_encrypted_private_key(
23235 cbs: *mut CBS,
23236 pass: *const ::core::ffi::c_char,
23237 pass_len: usize,
23238 ) -> *mut EVP_PKEY;
23239}
23240unsafe extern "C" {
23241 pub fn PKCS12_get_key_and_certs(
23242 out_key: *mut *mut EVP_PKEY,
23243 out_certs: *mut stack_st_X509,
23244 in_: *mut CBS,
23245 password: *const ::core::ffi::c_char,
23246 ) -> ::core::ffi::c_int;
23247}
23248unsafe extern "C" {
23249 pub fn PKCS12_PBE_add();
23250}
23251unsafe extern "C" {
23252 pub fn d2i_PKCS12(
23253 out_p12: *mut *mut PKCS12,
23254 ber_bytes: *mut *const u8,
23255 ber_len: usize,
23256 ) -> *mut PKCS12;
23257}
23258unsafe extern "C" {
23259 pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23260}
23261unsafe extern "C" {
23262 pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23263}
23264unsafe extern "C" {
23265 pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::core::ffi::c_int;
23266}
23267unsafe extern "C" {
23268 pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::core::ffi::c_int;
23269}
23270unsafe extern "C" {
23271 pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::core::ffi::c_int;
23272}
23273unsafe extern "C" {
23274 pub fn PKCS12_parse(
23275 p12: *const PKCS12,
23276 password: *const ::core::ffi::c_char,
23277 out_pkey: *mut *mut EVP_PKEY,
23278 out_cert: *mut *mut X509,
23279 out_ca_certs: *mut *mut stack_st_X509,
23280 ) -> ::core::ffi::c_int;
23281}
23282unsafe extern "C" {
23283 pub fn PKCS12_verify_mac(
23284 p12: *const PKCS12,
23285 password: *const ::core::ffi::c_char,
23286 password_len: ::core::ffi::c_int,
23287 ) -> ::core::ffi::c_int;
23288}
23289unsafe extern "C" {
23290 pub fn PKCS12_create(
23291 password: *const ::core::ffi::c_char,
23292 name: *const ::core::ffi::c_char,
23293 pkey: *const EVP_PKEY,
23294 cert: *mut X509,
23295 chain: *const stack_st_X509,
23296 key_nid: ::core::ffi::c_int,
23297 cert_nid: ::core::ffi::c_int,
23298 iterations: ::core::ffi::c_int,
23299 mac_iterations: ::core::ffi::c_int,
23300 key_type: ::core::ffi::c_int,
23301 ) -> *mut PKCS12;
23302}
23303unsafe extern "C" {
23304 pub fn PKCS12_free(p12: *mut PKCS12);
23305}
23306pub type poly1305_state = [u8; 512usize];
23307unsafe extern "C" {
23308 pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
23309}
23310unsafe extern "C" {
23311 pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
23312}
23313unsafe extern "C" {
23314 pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
23315}
23316unsafe extern "C" {
23317 pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23318}
23319unsafe extern "C" {
23320 pub fn RAND_enable_fork_unsafe_buffering(fd: ::core::ffi::c_int);
23321}
23322unsafe extern "C" {
23323 pub fn RAND_disable_fork_unsafe_buffering();
23324}
23325unsafe extern "C" {
23326 pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
23327}
23328unsafe extern "C" {
23329 pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23330}
23331unsafe extern "C" {
23332 pub fn RAND_seed(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int);
23333}
23334unsafe extern "C" {
23335 pub fn RAND_load_file(
23336 path: *const ::core::ffi::c_char,
23337 num: ::core::ffi::c_long,
23338 ) -> ::core::ffi::c_int;
23339}
23340unsafe extern "C" {
23341 pub fn RAND_file_name(buf: *mut ::core::ffi::c_char, num: usize) -> *const ::core::ffi::c_char;
23342}
23343unsafe extern "C" {
23344 pub fn RAND_add(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int, entropy: f64);
23345}
23346unsafe extern "C" {
23347 pub fn RAND_egd(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
23348}
23349unsafe extern "C" {
23350 pub fn RAND_poll() -> ::core::ffi::c_int;
23351}
23352unsafe extern "C" {
23353 pub fn RAND_status() -> ::core::ffi::c_int;
23354}
23355unsafe extern "C" {
23356 pub fn RAND_cleanup();
23357}
23358#[repr(C)]
23359#[derive(Debug, Copy, Clone)]
23360pub struct rand_meth_st {
23361 pub seed: ::core::option::Option<
23362 unsafe extern "C" fn(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int),
23363 >,
23364 pub bytes: ::core::option::Option<
23365 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23366 >,
23367 pub cleanup: ::core::option::Option<unsafe extern "C" fn()>,
23368 pub add: ::core::option::Option<
23369 unsafe extern "C" fn(
23370 buf: *const ::core::ffi::c_void,
23371 num: ::core::ffi::c_int,
23372 entropy: f64,
23373 ),
23374 >,
23375 pub pseudorand: ::core::option::Option<
23376 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23377 >,
23378 pub status: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_int>,
23379}
23380unsafe extern "C" {
23381 pub fn RAND_SSLeay() -> *mut RAND_METHOD;
23382}
23383unsafe extern "C" {
23384 pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
23385}
23386unsafe extern "C" {
23387 pub fn RAND_get_rand_method() -> *const RAND_METHOD;
23388}
23389unsafe extern "C" {
23390 pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::core::ffi::c_int;
23391}
23392#[repr(C)]
23393#[derive(Debug, Copy, Clone)]
23394pub struct rc4_key_st {
23395 pub x: u32,
23396 pub y: u32,
23397 pub data: [u32; 256usize],
23398}
23399unsafe extern "C" {
23400 pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::core::ffi::c_uint, key: *const u8);
23401}
23402unsafe extern "C" {
23403 pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
23404}
23405unsafe extern "C" {
23406 pub fn RC4_options() -> *const ::core::ffi::c_char;
23407}
23408#[repr(C)]
23409#[derive(Debug, Copy, Clone)]
23410pub struct RIPEMD160state_st {
23411 pub h: [u32; 5usize],
23412 pub Nl: u32,
23413 pub Nh: u32,
23414 pub data: [u8; 64usize],
23415 pub num: ::core::ffi::c_uint,
23416}
23417unsafe extern "C" {
23418 pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23419}
23420unsafe extern "C" {
23421 pub fn RIPEMD160_Update(
23422 ctx: *mut RIPEMD160_CTX,
23423 data: *const ::core::ffi::c_void,
23424 len: usize,
23425 ) -> ::core::ffi::c_int;
23426}
23427unsafe extern "C" {
23428 pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23429}
23430unsafe extern "C" {
23431 pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
23432}
23433unsafe extern "C" {
23434 pub fn RIPEMD160_Transform(ctx: *mut RIPEMD160_CTX, block: *const u8);
23435}
23436unsafe extern "C" {
23437 pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
23438}
23439unsafe extern "C" {
23440 pub fn SLHDSA_SHA2_128S_generate_key_from_seed(
23441 out_public_key: *mut u8,
23442 out_private_key: *mut u8,
23443 seed: *const u8,
23444 );
23445}
23446unsafe extern "C" {
23447 pub fn SLHDSA_SHAKE_256F_generate_key_from_seed(
23448 out_public_key: *mut u8,
23449 out_private_key: *mut u8,
23450 seed: *const u8,
23451 );
23452}
23453unsafe extern "C" {
23454 pub fn SLHDSA_SHA2_128S_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23455}
23456unsafe extern "C" {
23457 pub fn SLHDSA_SHAKE_256F_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23458}
23459unsafe extern "C" {
23460 pub fn SLHDSA_SHA2_128S_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23461}
23462unsafe extern "C" {
23463 pub fn SLHDSA_SHAKE_256F_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23464}
23465unsafe extern "C" {
23466 pub fn SLHDSA_SHA2_128S_sign(
23467 out_signature: *mut u8,
23468 private_key: *const u8,
23469 msg: *const u8,
23470 msg_len: usize,
23471 context: *const u8,
23472 context_len: usize,
23473 ) -> ::core::ffi::c_int;
23474}
23475unsafe extern "C" {
23476 pub fn SLHDSA_SHAKE_256F_sign(
23477 out_signature: *mut u8,
23478 private_key: *const u8,
23479 msg: *const u8,
23480 msg_len: usize,
23481 context: *const u8,
23482 context_len: usize,
23483 ) -> ::core::ffi::c_int;
23484}
23485unsafe extern "C" {
23486 pub fn SLHDSA_SHA2_128S_verify(
23487 signature: *const u8,
23488 signature_len: usize,
23489 public_key: *const u8,
23490 msg: *const u8,
23491 msg_len: usize,
23492 context: *const u8,
23493 context_len: usize,
23494 ) -> ::core::ffi::c_int;
23495}
23496unsafe extern "C" {
23497 pub fn SLHDSA_SHAKE_256F_verify(
23498 signature: *const u8,
23499 signature_len: usize,
23500 public_key: *const u8,
23501 msg: *const u8,
23502 msg_len: usize,
23503 context: *const u8,
23504 context_len: usize,
23505 ) -> ::core::ffi::c_int;
23506}
23507unsafe extern "C" {
23508 pub fn SLHDSA_SHA2_128S_prehash_sign(
23509 out_signature: *mut u8,
23510 private_key: *const u8,
23511 hashed_msg: *const u8,
23512 hashed_msg_len: usize,
23513 hash_nid: ::core::ffi::c_int,
23514 context: *const u8,
23515 context_len: usize,
23516 ) -> ::core::ffi::c_int;
23517}
23518unsafe extern "C" {
23519 pub fn SLHDSA_SHA2_128S_prehash_verify(
23520 signature: *const u8,
23521 signature_len: usize,
23522 public_key: *const u8,
23523 hashed_msg: *const u8,
23524 hashed_msg_len: usize,
23525 hash_nid: ::core::ffi::c_int,
23526 context: *const u8,
23527 context_len: usize,
23528 ) -> ::core::ffi::c_int;
23529}
23530unsafe extern "C" {
23531 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_sign(
23532 out_signature: *mut u8,
23533 private_key: *const u8,
23534 hashed_msg: *const u8,
23535 hashed_msg_len: usize,
23536 hash_nid: ::core::ffi::c_int,
23537 context: *const u8,
23538 context_len: usize,
23539 ) -> ::core::ffi::c_int;
23540}
23541unsafe extern "C" {
23542 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_verify(
23543 signature: *const u8,
23544 signature_len: usize,
23545 public_key: *const u8,
23546 hashed_msg: *const u8,
23547 hashed_msg_len: usize,
23548 hash_nid: ::core::ffi::c_int,
23549 context: *const u8,
23550 context_len: usize,
23551 ) -> ::core::ffi::c_int;
23552}
23553unsafe extern "C" {
23554 pub fn TLS_method() -> *const SSL_METHOD;
23555}
23556unsafe extern "C" {
23557 pub fn DTLS_method() -> *const SSL_METHOD;
23558}
23559unsafe extern "C" {
23560 pub fn TLS_with_buffers_method() -> *const SSL_METHOD;
23561}
23562unsafe extern "C" {
23563 pub fn DTLS_with_buffers_method() -> *const SSL_METHOD;
23564}
23565unsafe extern "C" {
23566 pub fn SSL_CTX_new(method: *const SSL_METHOD) -> *mut SSL_CTX;
23567}
23568unsafe extern "C" {
23569 pub fn SSL_CTX_up_ref(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23570}
23571unsafe extern "C" {
23572 pub fn SSL_CTX_free(ctx: *mut SSL_CTX);
23573}
23574unsafe extern "C" {
23575 pub fn SSL_new(ctx: *mut SSL_CTX) -> *mut SSL;
23576}
23577unsafe extern "C" {
23578 pub fn SSL_free(ssl: *mut SSL);
23579}
23580unsafe extern "C" {
23581 pub fn SSL_get_SSL_CTX(ssl: *const SSL) -> *mut SSL_CTX;
23582}
23583unsafe extern "C" {
23584 pub fn SSL_set_connect_state(ssl: *mut SSL);
23585}
23586unsafe extern "C" {
23587 pub fn SSL_set_accept_state(ssl: *mut SSL);
23588}
23589unsafe extern "C" {
23590 pub fn SSL_is_server(ssl: *const SSL) -> ::core::ffi::c_int;
23591}
23592unsafe extern "C" {
23593 pub fn SSL_is_dtls(ssl: *const SSL) -> ::core::ffi::c_int;
23594}
23595unsafe extern "C" {
23596 pub fn SSL_is_quic(ssl: *const SSL) -> ::core::ffi::c_int;
23597}
23598unsafe extern "C" {
23599 pub fn SSL_set_bio(ssl: *mut SSL, rbio: *mut BIO, wbio: *mut BIO);
23600}
23601unsafe extern "C" {
23602 pub fn SSL_set0_rbio(ssl: *mut SSL, rbio: *mut BIO);
23603}
23604unsafe extern "C" {
23605 pub fn SSL_set0_wbio(ssl: *mut SSL, wbio: *mut BIO);
23606}
23607unsafe extern "C" {
23608 pub fn SSL_get_rbio(ssl: *const SSL) -> *mut BIO;
23609}
23610unsafe extern "C" {
23611 pub fn SSL_get_wbio(ssl: *const SSL) -> *mut BIO;
23612}
23613unsafe extern "C" {
23614 pub fn SSL_get_fd(ssl: *const SSL) -> ::core::ffi::c_int;
23615}
23616unsafe extern "C" {
23617 pub fn SSL_get_rfd(ssl: *const SSL) -> ::core::ffi::c_int;
23618}
23619unsafe extern "C" {
23620 pub fn SSL_get_wfd(ssl: *const SSL) -> ::core::ffi::c_int;
23621}
23622unsafe extern "C" {
23623 pub fn SSL_set_fd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23624}
23625unsafe extern "C" {
23626 pub fn SSL_set_rfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23627}
23628unsafe extern "C" {
23629 pub fn SSL_set_wfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23630}
23631unsafe extern "C" {
23632 pub fn SSL_do_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
23633}
23634unsafe extern "C" {
23635 pub fn SSL_connect(ssl: *mut SSL) -> ::core::ffi::c_int;
23636}
23637unsafe extern "C" {
23638 pub fn SSL_accept(ssl: *mut SSL) -> ::core::ffi::c_int;
23639}
23640unsafe extern "C" {
23641 pub fn SSL_read(
23642 ssl: *mut SSL,
23643 buf: *mut ::core::ffi::c_void,
23644 num: ::core::ffi::c_int,
23645 ) -> ::core::ffi::c_int;
23646}
23647unsafe extern "C" {
23648 pub fn SSL_peek(
23649 ssl: *mut SSL,
23650 buf: *mut ::core::ffi::c_void,
23651 num: ::core::ffi::c_int,
23652 ) -> ::core::ffi::c_int;
23653}
23654unsafe extern "C" {
23655 pub fn SSL_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23656}
23657unsafe extern "C" {
23658 pub fn SSL_has_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23659}
23660unsafe extern "C" {
23661 pub fn SSL_write(
23662 ssl: *mut SSL,
23663 buf: *const ::core::ffi::c_void,
23664 num: ::core::ffi::c_int,
23665 ) -> ::core::ffi::c_int;
23666}
23667unsafe extern "C" {
23668 pub fn SSL_key_update(ssl: *mut SSL, request_type: ::core::ffi::c_int) -> ::core::ffi::c_int;
23669}
23670unsafe extern "C" {
23671 pub fn SSL_shutdown(ssl: *mut SSL) -> ::core::ffi::c_int;
23672}
23673unsafe extern "C" {
23674 pub fn SSL_CTX_set_quiet_shutdown(ctx: *mut SSL_CTX, mode: ::core::ffi::c_int);
23675}
23676unsafe extern "C" {
23677 pub fn SSL_CTX_get_quiet_shutdown(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
23678}
23679unsafe extern "C" {
23680 pub fn SSL_set_quiet_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
23681}
23682unsafe extern "C" {
23683 pub fn SSL_get_quiet_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
23684}
23685unsafe extern "C" {
23686 pub fn SSL_get_error(ssl: *const SSL, ret_code: ::core::ffi::c_int) -> ::core::ffi::c_int;
23687}
23688unsafe extern "C" {
23689 pub fn SSL_error_description(err: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
23690}
23691unsafe extern "C" {
23692 pub fn SSL_set_mtu(ssl: *mut SSL, mtu: ::core::ffi::c_uint) -> ::core::ffi::c_int;
23693}
23694unsafe extern "C" {
23695 pub fn DTLSv1_set_initial_timeout_duration(ssl: *mut SSL, duration_ms: u32);
23696}
23697unsafe extern "C" {
23698 pub fn DTLSv1_get_timeout(ssl: *const SSL, out: *mut timeval) -> ::core::ffi::c_int;
23699}
23700unsafe extern "C" {
23701 pub fn DTLSv1_handle_timeout(ssl: *mut SSL) -> ::core::ffi::c_int;
23702}
23703unsafe extern "C" {
23704 pub fn SSL_CTX_set_min_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23705}
23706unsafe extern "C" {
23707 pub fn SSL_CTX_set_max_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23708}
23709unsafe extern "C" {
23710 pub fn SSL_CTX_get_min_proto_version(ctx: *const SSL_CTX) -> u16;
23711}
23712unsafe extern "C" {
23713 pub fn SSL_CTX_get_max_proto_version(ctx: *const SSL_CTX) -> u16;
23714}
23715unsafe extern "C" {
23716 pub fn SSL_set_min_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23717}
23718unsafe extern "C" {
23719 pub fn SSL_set_max_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23720}
23721unsafe extern "C" {
23722 pub fn SSL_get_min_proto_version(ssl: *const SSL) -> u16;
23723}
23724unsafe extern "C" {
23725 pub fn SSL_get_max_proto_version(ssl: *const SSL) -> u16;
23726}
23727unsafe extern "C" {
23728 pub fn SSL_version(ssl: *const SSL) -> ::core::ffi::c_int;
23729}
23730unsafe extern "C" {
23731 pub fn SSL_CTX_set_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23732}
23733unsafe extern "C" {
23734 pub fn SSL_CTX_clear_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23735}
23736unsafe extern "C" {
23737 pub fn SSL_CTX_get_options(ctx: *const SSL_CTX) -> u32;
23738}
23739unsafe extern "C" {
23740 pub fn SSL_set_options(ssl: *mut SSL, options: u32) -> u32;
23741}
23742unsafe extern "C" {
23743 pub fn SSL_clear_options(ssl: *mut SSL, options: u32) -> u32;
23744}
23745unsafe extern "C" {
23746 pub fn SSL_get_options(ssl: *const SSL) -> u32;
23747}
23748unsafe extern "C" {
23749 pub fn SSL_CTX_set_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23750}
23751unsafe extern "C" {
23752 pub fn SSL_CTX_clear_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23753}
23754unsafe extern "C" {
23755 pub fn SSL_CTX_get_mode(ctx: *const SSL_CTX) -> u32;
23756}
23757unsafe extern "C" {
23758 pub fn SSL_set_mode(ssl: *mut SSL, mode: u32) -> u32;
23759}
23760unsafe extern "C" {
23761 pub fn SSL_clear_mode(ssl: *mut SSL, mode: u32) -> u32;
23762}
23763unsafe extern "C" {
23764 pub fn SSL_get_mode(ssl: *const SSL) -> u32;
23765}
23766unsafe extern "C" {
23767 pub fn SSL_CTX_set1_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
23768}
23769unsafe extern "C" {
23770 pub fn SSL_CREDENTIAL_new_x509() -> *mut SSL_CREDENTIAL;
23771}
23772unsafe extern "C" {
23773 pub fn SSL_CREDENTIAL_up_ref(cred: *mut SSL_CREDENTIAL);
23774}
23775unsafe extern "C" {
23776 pub fn SSL_CREDENTIAL_dup_ref(cred: *const SSL_CREDENTIAL) -> *mut SSL_CREDENTIAL;
23777}
23778unsafe extern "C" {
23779 pub fn SSL_CREDENTIAL_free(cred: *mut SSL_CREDENTIAL);
23780}
23781unsafe extern "C" {
23782 pub fn SSL_CREDENTIAL_is_complete(cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
23783}
23784unsafe extern "C" {
23785 pub fn SSL_CREDENTIAL_set1_private_key(
23786 cred: *mut SSL_CREDENTIAL,
23787 key: *mut EVP_PKEY,
23788 ) -> ::core::ffi::c_int;
23789}
23790unsafe extern "C" {
23791 pub fn SSL_CREDENTIAL_set1_signing_algorithm_prefs(
23792 cred: *mut SSL_CREDENTIAL,
23793 prefs: *const u16,
23794 num_prefs: usize,
23795 ) -> ::core::ffi::c_int;
23796}
23797unsafe extern "C" {
23798 pub fn SSL_CREDENTIAL_set1_cert_chain(
23799 cred: *mut SSL_CREDENTIAL,
23800 certs: *const *mut CRYPTO_BUFFER,
23801 num_certs: usize,
23802 ) -> ::core::ffi::c_int;
23803}
23804unsafe extern "C" {
23805 pub fn SSL_CREDENTIAL_set1_ocsp_response(
23806 cred: *mut SSL_CREDENTIAL,
23807 ocsp: *mut CRYPTO_BUFFER,
23808 ) -> ::core::ffi::c_int;
23809}
23810unsafe extern "C" {
23811 pub fn SSL_CREDENTIAL_set1_certificate_properties(
23812 cred: *mut SSL_CREDENTIAL,
23813 cert_property_list: *mut CRYPTO_BUFFER,
23814 ) -> ::core::ffi::c_int;
23815}
23816unsafe extern "C" {
23817 pub fn SSL_CREDENTIAL_set1_signed_cert_timestamp_list(
23818 cred: *mut SSL_CREDENTIAL,
23819 sct_list: *mut CRYPTO_BUFFER,
23820 ) -> ::core::ffi::c_int;
23821}
23822unsafe extern "C" {
23823 pub fn SSL_CREDENTIAL_set_must_match_issuer(
23824 cred: *mut SSL_CREDENTIAL,
23825 match_: ::core::ffi::c_int,
23826 );
23827}
23828unsafe extern "C" {
23829 pub fn SSL_CREDENTIAL_set1_session_id_context(
23830 cred: *mut SSL_CREDENTIAL,
23831 sid_ctx: *const u8,
23832 sid_ctx_len: usize,
23833 ) -> ::core::ffi::c_int;
23834}
23835unsafe extern "C" {
23836 pub fn SSL_CTX_add1_credential(
23837 ctx: *mut SSL_CTX,
23838 cred: *const SSL_CREDENTIAL,
23839 ) -> ::core::ffi::c_int;
23840}
23841unsafe extern "C" {
23842 pub fn SSL_add1_credential(ssl: *mut SSL, cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
23843}
23844unsafe extern "C" {
23845 pub fn SSL_certs_clear(ssl: *mut SSL);
23846}
23847unsafe extern "C" {
23848 pub fn SSL_get0_selected_credential(ssl: *const SSL) -> *const SSL_CREDENTIAL;
23849}
23850unsafe extern "C" {
23851 pub fn SSL_CTX_use_certificate(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23852}
23853unsafe extern "C" {
23854 pub fn SSL_use_certificate(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23855}
23856unsafe extern "C" {
23857 pub fn SSL_CTX_use_PrivateKey(ctx: *mut SSL_CTX, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
23858}
23859unsafe extern "C" {
23860 pub fn SSL_use_PrivateKey(ssl: *mut SSL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
23861}
23862unsafe extern "C" {
23863 pub fn SSL_CTX_set0_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23864}
23865unsafe extern "C" {
23866 pub fn SSL_CTX_set1_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23867}
23868unsafe extern "C" {
23869 pub fn SSL_set0_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23870}
23871unsafe extern "C" {
23872 pub fn SSL_set1_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23873}
23874unsafe extern "C" {
23875 pub fn SSL_CTX_add0_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23876}
23877unsafe extern "C" {
23878 pub fn SSL_CTX_add1_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23879}
23880unsafe extern "C" {
23881 pub fn SSL_add0_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23882}
23883unsafe extern "C" {
23884 pub fn SSL_CTX_add_extra_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23885}
23886unsafe extern "C" {
23887 pub fn SSL_add1_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23888}
23889unsafe extern "C" {
23890 pub fn SSL_CTX_clear_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23891}
23892unsafe extern "C" {
23893 pub fn SSL_CTX_clear_extra_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23894}
23895unsafe extern "C" {
23896 pub fn SSL_clear_chain_certs(ssl: *mut SSL) -> ::core::ffi::c_int;
23897}
23898unsafe extern "C" {
23899 pub fn SSL_CTX_set_cert_cb(
23900 ctx: *mut SSL_CTX,
23901 cb: ::core::option::Option<
23902 unsafe extern "C" fn(
23903 ssl: *mut SSL,
23904 arg: *mut ::core::ffi::c_void,
23905 ) -> ::core::ffi::c_int,
23906 >,
23907 arg: *mut ::core::ffi::c_void,
23908 );
23909}
23910unsafe extern "C" {
23911 pub fn SSL_set_cert_cb(
23912 ssl: *mut SSL,
23913 cb: ::core::option::Option<
23914 unsafe extern "C" fn(
23915 ssl: *mut SSL,
23916 arg: *mut ::core::ffi::c_void,
23917 ) -> ::core::ffi::c_int,
23918 >,
23919 arg: *mut ::core::ffi::c_void,
23920 );
23921}
23922unsafe extern "C" {
23923 pub fn SSL_get0_certificate_types(ssl: *const SSL, out_types: *mut *const u8) -> usize;
23924}
23925unsafe extern "C" {
23926 pub fn SSL_get0_peer_verify_algorithms(ssl: *const SSL, out_sigalgs: *mut *const u16) -> usize;
23927}
23928unsafe extern "C" {
23929 pub fn SSL_get0_peer_delegation_algorithms(
23930 ssl: *const SSL,
23931 out_sigalgs: *mut *const u16,
23932 ) -> usize;
23933}
23934unsafe extern "C" {
23935 pub fn SSL_CTX_get0_certificate(ctx: *const SSL_CTX) -> *mut X509;
23936}
23937unsafe extern "C" {
23938 pub fn SSL_get_certificate(ssl: *const SSL) -> *mut X509;
23939}
23940unsafe extern "C" {
23941 pub fn SSL_CTX_get0_privatekey(ctx: *const SSL_CTX) -> *mut EVP_PKEY;
23942}
23943unsafe extern "C" {
23944 pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
23945}
23946unsafe extern "C" {
23947 pub fn SSL_CTX_get0_chain_certs(
23948 ctx: *const SSL_CTX,
23949 out_chain: *mut *mut stack_st_X509,
23950 ) -> ::core::ffi::c_int;
23951}
23952unsafe extern "C" {
23953 pub fn SSL_CTX_get_extra_chain_certs(
23954 ctx: *const SSL_CTX,
23955 out_chain: *mut *mut stack_st_X509,
23956 ) -> ::core::ffi::c_int;
23957}
23958unsafe extern "C" {
23959 pub fn SSL_get0_chain_certs(
23960 ssl: *const SSL,
23961 out_chain: *mut *mut stack_st_X509,
23962 ) -> ::core::ffi::c_int;
23963}
23964unsafe extern "C" {
23965 pub fn SSL_CTX_set_signed_cert_timestamp_list(
23966 ctx: *mut SSL_CTX,
23967 list: *const u8,
23968 list_len: usize,
23969 ) -> ::core::ffi::c_int;
23970}
23971unsafe extern "C" {
23972 pub fn SSL_set_signed_cert_timestamp_list(
23973 ctx: *mut SSL,
23974 list: *const u8,
23975 list_len: usize,
23976 ) -> ::core::ffi::c_int;
23977}
23978unsafe extern "C" {
23979 pub fn SSL_CTX_set_ocsp_response(
23980 ctx: *mut SSL_CTX,
23981 response: *const u8,
23982 response_len: usize,
23983 ) -> ::core::ffi::c_int;
23984}
23985unsafe extern "C" {
23986 pub fn SSL_set_ocsp_response(
23987 ssl: *mut SSL,
23988 response: *const u8,
23989 response_len: usize,
23990 ) -> ::core::ffi::c_int;
23991}
23992unsafe extern "C" {
23993 pub fn SSL_get_signature_algorithm_name(
23994 sigalg: u16,
23995 include_curve: ::core::ffi::c_int,
23996 ) -> *const ::core::ffi::c_char;
23997}
23998unsafe extern "C" {
23999 pub fn SSL_get_all_signature_algorithm_names(
24000 out: *mut *const ::core::ffi::c_char,
24001 max_out: usize,
24002 ) -> usize;
24003}
24004unsafe extern "C" {
24005 pub fn SSL_get_signature_algorithm_key_type(sigalg: u16) -> ::core::ffi::c_int;
24006}
24007unsafe extern "C" {
24008 pub fn SSL_get_signature_algorithm_digest(sigalg: u16) -> *const EVP_MD;
24009}
24010unsafe extern "C" {
24011 pub fn SSL_is_signature_algorithm_rsa_pss(sigalg: u16) -> ::core::ffi::c_int;
24012}
24013unsafe extern "C" {
24014 pub fn SSL_CTX_set_signing_algorithm_prefs(
24015 ctx: *mut SSL_CTX,
24016 prefs: *const u16,
24017 num_prefs: usize,
24018 ) -> ::core::ffi::c_int;
24019}
24020unsafe extern "C" {
24021 pub fn SSL_set_signing_algorithm_prefs(
24022 ssl: *mut SSL,
24023 prefs: *const u16,
24024 num_prefs: usize,
24025 ) -> ::core::ffi::c_int;
24026}
24027unsafe extern "C" {
24028 pub fn SSL_CTX_set_chain_and_key(
24029 ctx: *mut SSL_CTX,
24030 certs: *const *mut CRYPTO_BUFFER,
24031 num_certs: usize,
24032 privkey: *mut EVP_PKEY,
24033 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
24034 ) -> ::core::ffi::c_int;
24035}
24036unsafe extern "C" {
24037 pub fn SSL_set_chain_and_key(
24038 ssl: *mut SSL,
24039 certs: *const *mut CRYPTO_BUFFER,
24040 num_certs: usize,
24041 privkey: *mut EVP_PKEY,
24042 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
24043 ) -> ::core::ffi::c_int;
24044}
24045unsafe extern "C" {
24046 pub fn SSL_CTX_get0_chain(ctx: *const SSL_CTX) -> *const stack_st_CRYPTO_BUFFER;
24047}
24048unsafe extern "C" {
24049 pub fn SSL_get0_chain(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
24050}
24051unsafe extern "C" {
24052 pub fn SSL_CTX_use_RSAPrivateKey(ctx: *mut SSL_CTX, rsa: *mut RSA) -> ::core::ffi::c_int;
24053}
24054unsafe extern "C" {
24055 pub fn SSL_use_RSAPrivateKey(ssl: *mut SSL, rsa: *mut RSA) -> ::core::ffi::c_int;
24056}
24057unsafe extern "C" {
24058 pub fn SSL_CTX_use_certificate_ASN1(
24059 ctx: *mut SSL_CTX,
24060 der_len: usize,
24061 der: *const u8,
24062 ) -> ::core::ffi::c_int;
24063}
24064unsafe extern "C" {
24065 pub fn SSL_use_certificate_ASN1(
24066 ssl: *mut SSL,
24067 der: *const u8,
24068 der_len: usize,
24069 ) -> ::core::ffi::c_int;
24070}
24071unsafe extern "C" {
24072 pub fn SSL_CTX_use_PrivateKey_ASN1(
24073 pk: ::core::ffi::c_int,
24074 ctx: *mut SSL_CTX,
24075 der: *const u8,
24076 der_len: usize,
24077 ) -> ::core::ffi::c_int;
24078}
24079unsafe extern "C" {
24080 pub fn SSL_use_PrivateKey_ASN1(
24081 type_: ::core::ffi::c_int,
24082 ssl: *mut SSL,
24083 der: *const u8,
24084 der_len: usize,
24085 ) -> ::core::ffi::c_int;
24086}
24087unsafe extern "C" {
24088 pub fn SSL_CTX_use_RSAPrivateKey_ASN1(
24089 ctx: *mut SSL_CTX,
24090 der: *const u8,
24091 der_len: usize,
24092 ) -> ::core::ffi::c_int;
24093}
24094unsafe extern "C" {
24095 pub fn SSL_use_RSAPrivateKey_ASN1(
24096 ssl: *mut SSL,
24097 der: *const u8,
24098 der_len: usize,
24099 ) -> ::core::ffi::c_int;
24100}
24101unsafe extern "C" {
24102 pub fn SSL_CTX_use_RSAPrivateKey_file(
24103 ctx: *mut SSL_CTX,
24104 file: *const ::core::ffi::c_char,
24105 type_: ::core::ffi::c_int,
24106 ) -> ::core::ffi::c_int;
24107}
24108unsafe extern "C" {
24109 pub fn SSL_use_RSAPrivateKey_file(
24110 ssl: *mut SSL,
24111 file: *const ::core::ffi::c_char,
24112 type_: ::core::ffi::c_int,
24113 ) -> ::core::ffi::c_int;
24114}
24115unsafe extern "C" {
24116 pub fn SSL_CTX_use_certificate_file(
24117 ctx: *mut SSL_CTX,
24118 file: *const ::core::ffi::c_char,
24119 type_: ::core::ffi::c_int,
24120 ) -> ::core::ffi::c_int;
24121}
24122unsafe extern "C" {
24123 pub fn SSL_use_certificate_file(
24124 ssl: *mut SSL,
24125 file: *const ::core::ffi::c_char,
24126 type_: ::core::ffi::c_int,
24127 ) -> ::core::ffi::c_int;
24128}
24129unsafe extern "C" {
24130 pub fn SSL_CTX_use_PrivateKey_file(
24131 ctx: *mut SSL_CTX,
24132 file: *const ::core::ffi::c_char,
24133 type_: ::core::ffi::c_int,
24134 ) -> ::core::ffi::c_int;
24135}
24136unsafe extern "C" {
24137 pub fn SSL_use_PrivateKey_file(
24138 ssl: *mut SSL,
24139 file: *const ::core::ffi::c_char,
24140 type_: ::core::ffi::c_int,
24141 ) -> ::core::ffi::c_int;
24142}
24143unsafe extern "C" {
24144 pub fn SSL_CTX_use_certificate_chain_file(
24145 ctx: *mut SSL_CTX,
24146 file: *const ::core::ffi::c_char,
24147 ) -> ::core::ffi::c_int;
24148}
24149unsafe extern "C" {
24150 pub fn SSL_CTX_set_default_passwd_cb(ctx: *mut SSL_CTX, cb: pem_password_cb);
24151}
24152unsafe extern "C" {
24153 pub fn SSL_CTX_get_default_passwd_cb(ctx: *const SSL_CTX) -> pem_password_cb;
24154}
24155unsafe extern "C" {
24156 pub fn SSL_CTX_set_default_passwd_cb_userdata(
24157 ctx: *mut SSL_CTX,
24158 data: *mut ::core::ffi::c_void,
24159 );
24160}
24161unsafe extern "C" {
24162 pub fn SSL_CTX_get_default_passwd_cb_userdata(ctx: *const SSL_CTX) -> *mut ::core::ffi::c_void;
24163}
24164pub const ssl_private_key_result_t_ssl_private_key_success: ssl_private_key_result_t = 0;
24165pub const ssl_private_key_result_t_ssl_private_key_retry: ssl_private_key_result_t = 1;
24166pub const ssl_private_key_result_t_ssl_private_key_failure: ssl_private_key_result_t = 2;
24167pub type ssl_private_key_result_t = ::core::ffi::c_uint;
24168#[repr(C)]
24169#[derive(Debug, Copy, Clone)]
24170pub struct ssl_private_key_method_st {
24171 pub sign: ::core::option::Option<
24172 unsafe extern "C" fn(
24173 ssl: *mut SSL,
24174 out: *mut u8,
24175 out_len: *mut usize,
24176 max_out: usize,
24177 signature_algorithm: u16,
24178 in_: *const u8,
24179 in_len: usize,
24180 ) -> ssl_private_key_result_t,
24181 >,
24182 pub decrypt: ::core::option::Option<
24183 unsafe extern "C" fn(
24184 ssl: *mut SSL,
24185 out: *mut u8,
24186 out_len: *mut usize,
24187 max_out: usize,
24188 in_: *const u8,
24189 in_len: usize,
24190 ) -> ssl_private_key_result_t,
24191 >,
24192 pub complete: ::core::option::Option<
24193 unsafe extern "C" fn(
24194 ssl: *mut SSL,
24195 out: *mut u8,
24196 out_len: *mut usize,
24197 max_out: usize,
24198 ) -> ssl_private_key_result_t,
24199 >,
24200}
24201unsafe extern "C" {
24202 pub fn SSL_set_private_key_method(ssl: *mut SSL, key_method: *const SSL_PRIVATE_KEY_METHOD);
24203}
24204unsafe extern "C" {
24205 pub fn SSL_CTX_set_private_key_method(
24206 ctx: *mut SSL_CTX,
24207 key_method: *const SSL_PRIVATE_KEY_METHOD,
24208 );
24209}
24210unsafe extern "C" {
24211 pub fn SSL_CREDENTIAL_set_private_key_method(
24212 cred: *mut SSL_CREDENTIAL,
24213 key_method: *const SSL_PRIVATE_KEY_METHOD,
24214 ) -> ::core::ffi::c_int;
24215}
24216unsafe extern "C" {
24217 pub fn SSL_can_release_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
24218}
24219#[repr(C)]
24220#[derive(Debug)]
24221pub struct stack_st_SSL_CIPHER {
24222 _unused: [u8; 0],
24223}
24224pub type sk_SSL_CIPHER_free_func =
24225 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER)>;
24226pub type sk_SSL_CIPHER_copy_func =
24227 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER) -> *const SSL_CIPHER>;
24228pub type sk_SSL_CIPHER_cmp_func = ::core::option::Option<
24229 unsafe extern "C" fn(
24230 arg1: *const *const SSL_CIPHER,
24231 arg2: *const *const SSL_CIPHER,
24232 ) -> ::core::ffi::c_int,
24233>;
24234pub type sk_SSL_CIPHER_delete_if_func = ::core::option::Option<
24235 unsafe extern "C" fn(
24236 arg1: *const SSL_CIPHER,
24237 arg2: *mut ::core::ffi::c_void,
24238 ) -> ::core::ffi::c_int,
24239>;
24240unsafe extern "C" {
24241 #[link_name = "sk_SSL_CIPHER_call_free_func__extern"]
24242 pub fn sk_SSL_CIPHER_call_free_func(
24243 free_func: OPENSSL_sk_free_func,
24244 ptr: *mut ::core::ffi::c_void,
24245 );
24246}
24247unsafe extern "C" {
24248 #[link_name = "sk_SSL_CIPHER_call_copy_func__extern"]
24249 pub fn sk_SSL_CIPHER_call_copy_func(
24250 copy_func: OPENSSL_sk_copy_func,
24251 ptr: *const ::core::ffi::c_void,
24252 ) -> *mut ::core::ffi::c_void;
24253}
24254unsafe extern "C" {
24255 #[link_name = "sk_SSL_CIPHER_call_cmp_func__extern"]
24256 pub fn sk_SSL_CIPHER_call_cmp_func(
24257 cmp_func: OPENSSL_sk_cmp_func,
24258 a: *const ::core::ffi::c_void,
24259 b: *const ::core::ffi::c_void,
24260 ) -> ::core::ffi::c_int;
24261}
24262unsafe extern "C" {
24263 #[link_name = "sk_SSL_CIPHER_call_delete_if_func__extern"]
24264 pub fn sk_SSL_CIPHER_call_delete_if_func(
24265 func: OPENSSL_sk_delete_if_func,
24266 obj: *mut ::core::ffi::c_void,
24267 data: *mut ::core::ffi::c_void,
24268 ) -> ::core::ffi::c_int;
24269}
24270unsafe extern "C" {
24271 #[link_name = "sk_SSL_CIPHER_new__extern"]
24272 pub fn sk_SSL_CIPHER_new(comp: sk_SSL_CIPHER_cmp_func) -> *mut stack_st_SSL_CIPHER;
24273}
24274unsafe extern "C" {
24275 #[link_name = "sk_SSL_CIPHER_new_null__extern"]
24276 pub fn sk_SSL_CIPHER_new_null() -> *mut stack_st_SSL_CIPHER;
24277}
24278unsafe extern "C" {
24279 #[link_name = "sk_SSL_CIPHER_num__extern"]
24280 pub fn sk_SSL_CIPHER_num(sk: *const stack_st_SSL_CIPHER) -> usize;
24281}
24282unsafe extern "C" {
24283 #[link_name = "sk_SSL_CIPHER_zero__extern"]
24284 pub fn sk_SSL_CIPHER_zero(sk: *mut stack_st_SSL_CIPHER);
24285}
24286unsafe extern "C" {
24287 #[link_name = "sk_SSL_CIPHER_value__extern"]
24288 pub fn sk_SSL_CIPHER_value(sk: *const stack_st_SSL_CIPHER, i: usize) -> *const SSL_CIPHER;
24289}
24290unsafe extern "C" {
24291 #[link_name = "sk_SSL_CIPHER_set__extern"]
24292 pub fn sk_SSL_CIPHER_set(
24293 sk: *mut stack_st_SSL_CIPHER,
24294 i: usize,
24295 p: *const SSL_CIPHER,
24296 ) -> *const SSL_CIPHER;
24297}
24298unsafe extern "C" {
24299 #[link_name = "sk_SSL_CIPHER_free__extern"]
24300 pub fn sk_SSL_CIPHER_free(sk: *mut stack_st_SSL_CIPHER);
24301}
24302unsafe extern "C" {
24303 #[link_name = "sk_SSL_CIPHER_pop_free__extern"]
24304 pub fn sk_SSL_CIPHER_pop_free(sk: *mut stack_st_SSL_CIPHER, free_func: sk_SSL_CIPHER_free_func);
24305}
24306unsafe extern "C" {
24307 #[link_name = "sk_SSL_CIPHER_insert__extern"]
24308 pub fn sk_SSL_CIPHER_insert(
24309 sk: *mut stack_st_SSL_CIPHER,
24310 p: *const SSL_CIPHER,
24311 where_: usize,
24312 ) -> usize;
24313}
24314unsafe extern "C" {
24315 #[link_name = "sk_SSL_CIPHER_delete__extern"]
24316 pub fn sk_SSL_CIPHER_delete(sk: *mut stack_st_SSL_CIPHER, where_: usize) -> *const SSL_CIPHER;
24317}
24318unsafe extern "C" {
24319 #[link_name = "sk_SSL_CIPHER_delete_ptr__extern"]
24320 pub fn sk_SSL_CIPHER_delete_ptr(
24321 sk: *mut stack_st_SSL_CIPHER,
24322 p: *const SSL_CIPHER,
24323 ) -> *const SSL_CIPHER;
24324}
24325unsafe extern "C" {
24326 #[link_name = "sk_SSL_CIPHER_delete_if__extern"]
24327 pub fn sk_SSL_CIPHER_delete_if(
24328 sk: *mut stack_st_SSL_CIPHER,
24329 func: sk_SSL_CIPHER_delete_if_func,
24330 data: *mut ::core::ffi::c_void,
24331 );
24332}
24333unsafe extern "C" {
24334 #[link_name = "sk_SSL_CIPHER_find__extern"]
24335 pub fn sk_SSL_CIPHER_find(
24336 sk: *const stack_st_SSL_CIPHER,
24337 out_index: *mut usize,
24338 p: *const SSL_CIPHER,
24339 ) -> ::core::ffi::c_int;
24340}
24341unsafe extern "C" {
24342 #[link_name = "sk_SSL_CIPHER_shift__extern"]
24343 pub fn sk_SSL_CIPHER_shift(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24344}
24345unsafe extern "C" {
24346 #[link_name = "sk_SSL_CIPHER_push__extern"]
24347 pub fn sk_SSL_CIPHER_push(sk: *mut stack_st_SSL_CIPHER, p: *const SSL_CIPHER) -> usize;
24348}
24349unsafe extern "C" {
24350 #[link_name = "sk_SSL_CIPHER_pop__extern"]
24351 pub fn sk_SSL_CIPHER_pop(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24352}
24353unsafe extern "C" {
24354 #[link_name = "sk_SSL_CIPHER_dup__extern"]
24355 pub fn sk_SSL_CIPHER_dup(sk: *const stack_st_SSL_CIPHER) -> *mut stack_st_SSL_CIPHER;
24356}
24357unsafe extern "C" {
24358 #[link_name = "sk_SSL_CIPHER_sort__extern"]
24359 pub fn sk_SSL_CIPHER_sort(sk: *mut stack_st_SSL_CIPHER);
24360}
24361unsafe extern "C" {
24362 #[link_name = "sk_SSL_CIPHER_sort_and_dedup__extern"]
24363 pub fn sk_SSL_CIPHER_sort_and_dedup(
24364 sk: *mut stack_st_SSL_CIPHER,
24365 free_func: sk_SSL_CIPHER_free_func,
24366 );
24367}
24368unsafe extern "C" {
24369 #[link_name = "sk_SSL_CIPHER_is_sorted__extern"]
24370 pub fn sk_SSL_CIPHER_is_sorted(sk: *const stack_st_SSL_CIPHER) -> ::core::ffi::c_int;
24371}
24372unsafe extern "C" {
24373 #[link_name = "sk_SSL_CIPHER_set_cmp_func__extern"]
24374 pub fn sk_SSL_CIPHER_set_cmp_func(
24375 sk: *mut stack_st_SSL_CIPHER,
24376 comp: sk_SSL_CIPHER_cmp_func,
24377 ) -> sk_SSL_CIPHER_cmp_func;
24378}
24379unsafe extern "C" {
24380 #[link_name = "sk_SSL_CIPHER_deep_copy__extern"]
24381 pub fn sk_SSL_CIPHER_deep_copy(
24382 sk: *const stack_st_SSL_CIPHER,
24383 copy_func: sk_SSL_CIPHER_copy_func,
24384 free_func: sk_SSL_CIPHER_free_func,
24385 ) -> *mut stack_st_SSL_CIPHER;
24386}
24387unsafe extern "C" {
24388 pub fn SSL_get_cipher_by_value(value: u16) -> *const SSL_CIPHER;
24389}
24390unsafe extern "C" {
24391 pub fn SSL_CIPHER_get_protocol_id(cipher: *const SSL_CIPHER) -> u16;
24392}
24393unsafe extern "C" {
24394 pub fn SSL_CIPHER_is_aead(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24395}
24396unsafe extern "C" {
24397 pub fn SSL_CIPHER_is_block_cipher(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24398}
24399unsafe extern "C" {
24400 pub fn SSL_CIPHER_get_cipher_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24401}
24402unsafe extern "C" {
24403 pub fn SSL_CIPHER_get_digest_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24404}
24405unsafe extern "C" {
24406 pub fn SSL_CIPHER_get_kx_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24407}
24408unsafe extern "C" {
24409 pub fn SSL_CIPHER_get_auth_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24410}
24411unsafe extern "C" {
24412 pub fn SSL_CIPHER_get_handshake_digest(cipher: *const SSL_CIPHER) -> *const EVP_MD;
24413}
24414unsafe extern "C" {
24415 pub fn SSL_CIPHER_get_prf_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24416}
24417unsafe extern "C" {
24418 pub fn SSL_CIPHER_get_min_version(cipher: *const SSL_CIPHER) -> u16;
24419}
24420unsafe extern "C" {
24421 pub fn SSL_CIPHER_get_max_version(cipher: *const SSL_CIPHER) -> u16;
24422}
24423unsafe extern "C" {
24424 pub fn SSL_CIPHER_standard_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24425}
24426unsafe extern "C" {
24427 pub fn SSL_CIPHER_get_kx_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24428}
24429unsafe extern "C" {
24430 pub fn SSL_CIPHER_get_bits(
24431 cipher: *const SSL_CIPHER,
24432 out_alg_bits: *mut ::core::ffi::c_int,
24433 ) -> ::core::ffi::c_int;
24434}
24435unsafe extern "C" {
24436 pub fn SSL_get_all_cipher_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
24437}
24438unsafe extern "C" {
24439 pub fn SSL_get_all_standard_cipher_names(
24440 out: *mut *const ::core::ffi::c_char,
24441 max_out: usize,
24442 ) -> usize;
24443}
24444unsafe extern "C" {
24445 pub fn SSL_CTX_set_strict_cipher_list(
24446 ctx: *mut SSL_CTX,
24447 str_: *const ::core::ffi::c_char,
24448 ) -> ::core::ffi::c_int;
24449}
24450unsafe extern "C" {
24451 pub fn SSL_CTX_set_cipher_list(
24452 ctx: *mut SSL_CTX,
24453 str_: *const ::core::ffi::c_char,
24454 ) -> ::core::ffi::c_int;
24455}
24456unsafe extern "C" {
24457 pub fn SSL_set_strict_cipher_list(
24458 ssl: *mut SSL,
24459 str_: *const ::core::ffi::c_char,
24460 ) -> ::core::ffi::c_int;
24461}
24462unsafe extern "C" {
24463 pub fn SSL_set_cipher_list(
24464 ssl: *mut SSL,
24465 str_: *const ::core::ffi::c_char,
24466 ) -> ::core::ffi::c_int;
24467}
24468unsafe extern "C" {
24469 pub fn SSL_CTX_get_ciphers(ctx: *const SSL_CTX) -> *mut stack_st_SSL_CIPHER;
24470}
24471unsafe extern "C" {
24472 pub fn SSL_CTX_cipher_in_group(ctx: *const SSL_CTX, i: usize) -> ::core::ffi::c_int;
24473}
24474unsafe extern "C" {
24475 pub fn SSL_get_ciphers(ssl: *const SSL) -> *mut stack_st_SSL_CIPHER;
24476}
24477unsafe extern "C" {
24478 pub fn SSL_CTX_set1_tls13_ciphers(
24479 ctx: *mut SSL_CTX,
24480 cipher_ids: *const u16,
24481 flags: *const u32,
24482 num_cipher_ids: usize,
24483 ) -> ::core::ffi::c_int;
24484}
24485unsafe extern "C" {
24486 pub fn SSL_set1_tls13_ciphers(
24487 ssl: *mut SSL,
24488 cipher_ids: *const u16,
24489 flags: *const u32,
24490 num_cipher_ids: usize,
24491 ) -> ::core::ffi::c_int;
24492}
24493unsafe extern "C" {
24494 pub fn SSL_is_init_finished(ssl: *const SSL) -> ::core::ffi::c_int;
24495}
24496unsafe extern "C" {
24497 pub fn SSL_in_init(ssl: *const SSL) -> ::core::ffi::c_int;
24498}
24499unsafe extern "C" {
24500 pub fn SSL_in_false_start(ssl: *const SSL) -> ::core::ffi::c_int;
24501}
24502unsafe extern "C" {
24503 pub fn SSL_get_peer_certificate(ssl: *const SSL) -> *mut X509;
24504}
24505unsafe extern "C" {
24506 pub fn SSL_get_peer_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24507}
24508unsafe extern "C" {
24509 pub fn SSL_get_peer_full_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24510}
24511unsafe extern "C" {
24512 pub fn SSL_get0_peer_certificates(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
24513}
24514unsafe extern "C" {
24515 pub fn SSL_get0_signed_cert_timestamp_list(
24516 ssl: *const SSL,
24517 out: *mut *const u8,
24518 out_len: *mut usize,
24519 );
24520}
24521unsafe extern "C" {
24522 pub fn SSL_get0_ocsp_response(ssl: *const SSL, out: *mut *const u8, out_len: *mut usize);
24523}
24524unsafe extern "C" {
24525 pub fn SSL_get_tls_unique(
24526 ssl: *const SSL,
24527 out: *mut u8,
24528 out_len: *mut usize,
24529 max_out: usize,
24530 ) -> ::core::ffi::c_int;
24531}
24532unsafe extern "C" {
24533 pub fn SSL_get_extms_support(ssl: *const SSL) -> ::core::ffi::c_int;
24534}
24535unsafe extern "C" {
24536 pub fn SSL_get_current_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
24537}
24538unsafe extern "C" {
24539 pub fn SSL_session_reused(ssl: *const SSL) -> ::core::ffi::c_int;
24540}
24541unsafe extern "C" {
24542 pub fn SSL_get_secure_renegotiation_support(ssl: *const SSL) -> ::core::ffi::c_int;
24543}
24544unsafe extern "C" {
24545 pub fn SSL_export_keying_material(
24546 ssl: *const SSL,
24547 out: *mut u8,
24548 out_len: usize,
24549 label: *const ::core::ffi::c_char,
24550 label_len: usize,
24551 context: *const u8,
24552 context_len: usize,
24553 use_context: ::core::ffi::c_int,
24554 ) -> ::core::ffi::c_int;
24555}
24556unsafe extern "C" {
24557 pub fn SSL_SESSION_new(ctx: *const SSL_CTX) -> *mut SSL_SESSION;
24558}
24559unsafe extern "C" {
24560 pub fn SSL_SESSION_up_ref(session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24561}
24562unsafe extern "C" {
24563 pub fn SSL_SESSION_free(session: *mut SSL_SESSION);
24564}
24565unsafe extern "C" {
24566 pub fn SSL_SESSION_to_bytes(
24567 in_: *const SSL_SESSION,
24568 out_data: *mut *mut u8,
24569 out_len: *mut usize,
24570 ) -> ::core::ffi::c_int;
24571}
24572unsafe extern "C" {
24573 pub fn SSL_SESSION_to_bytes_for_ticket(
24574 in_: *const SSL_SESSION,
24575 out_data: *mut *mut u8,
24576 out_len: *mut usize,
24577 ) -> ::core::ffi::c_int;
24578}
24579unsafe extern "C" {
24580 pub fn SSL_SESSION_from_bytes(
24581 in_: *const u8,
24582 in_len: usize,
24583 ctx: *const SSL_CTX,
24584 ) -> *mut SSL_SESSION;
24585}
24586unsafe extern "C" {
24587 pub fn PEM_read_bio_SSL_SESSION(
24588 bio: *mut BIO,
24589 out: *mut *mut SSL_SESSION,
24590 cb: pem_password_cb,
24591 userdata: *mut ::core::ffi::c_void,
24592 ) -> *mut SSL_SESSION;
24593}
24594unsafe extern "C" {
24595 pub fn PEM_read_SSL_SESSION(
24596 fp: *mut FILE,
24597 out: *mut *mut SSL_SESSION,
24598 cb: pem_password_cb,
24599 userdata: *mut ::core::ffi::c_void,
24600 ) -> *mut SSL_SESSION;
24601}
24602unsafe extern "C" {
24603 pub fn PEM_write_bio_SSL_SESSION(bio: *mut BIO, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24604}
24605unsafe extern "C" {
24606 pub fn PEM_write_SSL_SESSION(fp: *mut FILE, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24607}
24608unsafe extern "C" {
24609 pub fn SSL_SESSION_get_version(session: *const SSL_SESSION) -> *const ::core::ffi::c_char;
24610}
24611unsafe extern "C" {
24612 pub fn SSL_SESSION_get_protocol_version(session: *const SSL_SESSION) -> u16;
24613}
24614unsafe extern "C" {
24615 pub fn SSL_SESSION_set_protocol_version(
24616 session: *mut SSL_SESSION,
24617 version: u16,
24618 ) -> ::core::ffi::c_int;
24619}
24620unsafe extern "C" {
24621 pub fn SSL_SESSION_get_id(
24622 session: *const SSL_SESSION,
24623 out_len: *mut ::core::ffi::c_uint,
24624 ) -> *const u8;
24625}
24626unsafe extern "C" {
24627 pub fn SSL_SESSION_set1_id(
24628 session: *mut SSL_SESSION,
24629 sid: *const u8,
24630 sid_len: usize,
24631 ) -> ::core::ffi::c_int;
24632}
24633unsafe extern "C" {
24634 pub fn SSL_SESSION_get_time(session: *const SSL_SESSION) -> u64;
24635}
24636unsafe extern "C" {
24637 pub fn SSL_SESSION_get_timeout(session: *const SSL_SESSION) -> u32;
24638}
24639unsafe extern "C" {
24640 pub fn SSL_SESSION_get0_peer(session: *const SSL_SESSION) -> *mut X509;
24641}
24642unsafe extern "C" {
24643 pub fn SSL_SESSION_get0_peer_certificates(
24644 session: *const SSL_SESSION,
24645 ) -> *const stack_st_CRYPTO_BUFFER;
24646}
24647unsafe extern "C" {
24648 pub fn SSL_SESSION_get0_peer_rpk(session: *const SSL_SESSION) -> *mut EVP_PKEY;
24649}
24650unsafe extern "C" {
24651 pub fn SSL_SESSION_get0_signed_cert_timestamp_list(
24652 session: *const SSL_SESSION,
24653 out: *mut *const u8,
24654 out_len: *mut usize,
24655 );
24656}
24657unsafe extern "C" {
24658 pub fn SSL_SESSION_get0_ocsp_response(
24659 session: *const SSL_SESSION,
24660 out: *mut *const u8,
24661 out_len: *mut usize,
24662 );
24663}
24664unsafe extern "C" {
24665 pub fn SSL_SESSION_get_master_key(
24666 session: *const SSL_SESSION,
24667 out: *mut u8,
24668 max_out: usize,
24669 ) -> usize;
24670}
24671unsafe extern "C" {
24672 pub fn SSL_SESSION_set_time(session: *mut SSL_SESSION, time: u64) -> u64;
24673}
24674unsafe extern "C" {
24675 pub fn SSL_SESSION_set_timeout(session: *mut SSL_SESSION, timeout: u32) -> u32;
24676}
24677unsafe extern "C" {
24678 pub fn SSL_SESSION_get0_id_context(
24679 session: *const SSL_SESSION,
24680 out_len: *mut ::core::ffi::c_uint,
24681 ) -> *const u8;
24682}
24683unsafe extern "C" {
24684 pub fn SSL_SESSION_set1_id_context(
24685 session: *mut SSL_SESSION,
24686 sid_ctx: *const u8,
24687 sid_ctx_len: usize,
24688 ) -> ::core::ffi::c_int;
24689}
24690unsafe extern "C" {
24691 pub fn SSL_SESSION_should_be_single_use(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24692}
24693unsafe extern "C" {
24694 pub fn SSL_SESSION_is_resumable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24695}
24696unsafe extern "C" {
24697 pub fn SSL_SESSION_has_ticket(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24698}
24699unsafe extern "C" {
24700 pub fn SSL_SESSION_get0_ticket(
24701 session: *const SSL_SESSION,
24702 out_ticket: *mut *const u8,
24703 out_len: *mut usize,
24704 );
24705}
24706unsafe extern "C" {
24707 pub fn SSL_SESSION_set_ticket(
24708 session: *mut SSL_SESSION,
24709 ticket: *const u8,
24710 ticket_len: usize,
24711 ) -> ::core::ffi::c_int;
24712}
24713unsafe extern "C" {
24714 pub fn SSL_SESSION_get_ticket_lifetime_hint(session: *const SSL_SESSION) -> u32;
24715}
24716unsafe extern "C" {
24717 pub fn SSL_SESSION_get0_cipher(session: *const SSL_SESSION) -> *const SSL_CIPHER;
24718}
24719unsafe extern "C" {
24720 pub fn SSL_SESSION_has_peer_sha256(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24721}
24722unsafe extern "C" {
24723 pub fn SSL_SESSION_get0_peer_sha256(
24724 session: *const SSL_SESSION,
24725 out_ptr: *mut *const u8,
24726 out_len: *mut usize,
24727 );
24728}
24729unsafe extern "C" {
24730 pub fn SSL_SESSION_is_resumable_across_names(session: *const SSL_SESSION)
24731 -> ::core::ffi::c_int;
24732}
24733unsafe extern "C" {
24734 pub fn SSL_CTX_set_session_cache_mode(
24735 ctx: *mut SSL_CTX,
24736 mode: ::core::ffi::c_int,
24737 ) -> ::core::ffi::c_int;
24738}
24739unsafe extern "C" {
24740 pub fn SSL_CTX_get_session_cache_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
24741}
24742unsafe extern "C" {
24743 pub fn SSL_set_session(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24744}
24745unsafe extern "C" {
24746 pub fn SSL_CTX_set_timeout(ctx: *mut SSL_CTX, timeout: u32) -> u32;
24747}
24748unsafe extern "C" {
24749 pub fn SSL_CTX_set_session_psk_dhe_timeout(ctx: *mut SSL_CTX, timeout: u32);
24750}
24751unsafe extern "C" {
24752 pub fn SSL_CTX_get_timeout(ctx: *const SSL_CTX) -> u32;
24753}
24754unsafe extern "C" {
24755 pub fn SSL_CTX_set_session_id_context(
24756 ctx: *mut SSL_CTX,
24757 sid_ctx: *const u8,
24758 sid_ctx_len: usize,
24759 ) -> ::core::ffi::c_int;
24760}
24761unsafe extern "C" {
24762 pub fn SSL_set_session_id_context(
24763 ssl: *mut SSL,
24764 sid_ctx: *const u8,
24765 sid_ctx_len: usize,
24766 ) -> ::core::ffi::c_int;
24767}
24768unsafe extern "C" {
24769 pub fn SSL_get0_session_id_context(ssl: *const SSL, out_len: *mut usize) -> *const u8;
24770}
24771unsafe extern "C" {
24772 pub fn SSL_CTX_sess_set_cache_size(
24773 ctx: *mut SSL_CTX,
24774 size: ::core::ffi::c_ulong,
24775 ) -> ::core::ffi::c_ulong;
24776}
24777unsafe extern "C" {
24778 pub fn SSL_CTX_sess_get_cache_size(ctx: *const SSL_CTX) -> ::core::ffi::c_ulong;
24779}
24780unsafe extern "C" {
24781 pub fn SSL_CTX_sess_number(ctx: *const SSL_CTX) -> usize;
24782}
24783unsafe extern "C" {
24784 pub fn SSL_CTX_add_session(ctx: *mut SSL_CTX, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24785}
24786unsafe extern "C" {
24787 pub fn SSL_CTX_remove_session(
24788 ctx: *mut SSL_CTX,
24789 session: *mut SSL_SESSION,
24790 ) -> ::core::ffi::c_int;
24791}
24792unsafe extern "C" {
24793 pub fn SSL_CTX_flush_sessions(ctx: *mut SSL_CTX, time: u64);
24794}
24795pub type SSL_new_session_cb = ::core::option::Option<
24796 unsafe extern "C" fn(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int,
24797>;
24798unsafe extern "C" {
24799 pub fn SSL_CTX_sess_set_new_cb(ctx: *mut SSL_CTX, new_session_cb: SSL_new_session_cb);
24800}
24801unsafe extern "C" {
24802 pub fn SSL_CTX_sess_get_new_cb(ctx: *mut SSL_CTX) -> SSL_new_session_cb;
24803}
24804pub type SSL_remove_session_cb =
24805 ::core::option::Option<unsafe extern "C" fn(ctx: *mut SSL_CTX, session: *mut SSL_SESSION)>;
24806unsafe extern "C" {
24807 pub fn SSL_CTX_sess_set_remove_cb(ctx: *mut SSL_CTX, remove_session_cb: SSL_remove_session_cb);
24808}
24809unsafe extern "C" {
24810 pub fn SSL_CTX_sess_get_remove_cb(ctx: *mut SSL_CTX) -> SSL_remove_session_cb;
24811}
24812pub type SSL_get_session_cb = ::core::option::Option<
24813 unsafe extern "C" fn(
24814 ssl: *mut SSL,
24815 id: *const u8,
24816 id_len: ::core::ffi::c_int,
24817 out_copy: *mut ::core::ffi::c_int,
24818 ) -> *mut SSL_SESSION,
24819>;
24820unsafe extern "C" {
24821 pub fn SSL_CTX_sess_set_get_cb(ctx: *mut SSL_CTX, get_session_cb: SSL_get_session_cb);
24822}
24823unsafe extern "C" {
24824 pub fn SSL_CTX_sess_get_get_cb(ctx: *mut SSL_CTX) -> SSL_get_session_cb;
24825}
24826unsafe extern "C" {
24827 pub fn SSL_magic_pending_session_ptr() -> *mut SSL_SESSION;
24828}
24829unsafe extern "C" {
24830 pub fn SSL_CTX_set_resumption_across_names_enabled(
24831 ctx: *mut SSL_CTX,
24832 enabled: ::core::ffi::c_int,
24833 );
24834}
24835unsafe extern "C" {
24836 pub fn SSL_set_resumption_across_names_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
24837}
24838unsafe extern "C" {
24839 pub fn SSL_CTX_get_tlsext_ticket_keys(
24840 ctx: *mut SSL_CTX,
24841 out: *mut ::core::ffi::c_void,
24842 len: usize,
24843 ) -> ::core::ffi::c_int;
24844}
24845unsafe extern "C" {
24846 pub fn SSL_CTX_set_tlsext_ticket_keys(
24847 ctx: *mut SSL_CTX,
24848 in_: *const ::core::ffi::c_void,
24849 len: usize,
24850 ) -> ::core::ffi::c_int;
24851}
24852unsafe extern "C" {
24853 pub fn SSL_CTX_set_tlsext_ticket_key_cb(
24854 ctx: *mut SSL_CTX,
24855 callback: ::core::option::Option<
24856 unsafe extern "C" fn(
24857 ssl: *mut SSL,
24858 key_name: *mut u8,
24859 iv: *mut u8,
24860 ctx: *mut EVP_CIPHER_CTX,
24861 hmac_ctx: *mut HMAC_CTX,
24862 encrypt: ::core::ffi::c_int,
24863 ) -> ::core::ffi::c_int,
24864 >,
24865 ) -> ::core::ffi::c_int;
24866}
24867pub const ssl_ticket_aead_result_t_ssl_ticket_aead_success: ssl_ticket_aead_result_t = 0;
24868pub const ssl_ticket_aead_result_t_ssl_ticket_aead_retry: ssl_ticket_aead_result_t = 1;
24869pub const ssl_ticket_aead_result_t_ssl_ticket_aead_ignore_ticket: ssl_ticket_aead_result_t = 2;
24870pub const ssl_ticket_aead_result_t_ssl_ticket_aead_error: ssl_ticket_aead_result_t = 3;
24871pub type ssl_ticket_aead_result_t = ::core::ffi::c_uint;
24872#[repr(C)]
24873#[derive(Debug, Copy, Clone)]
24874pub struct ssl_ticket_aead_method_st {
24875 pub max_overhead: ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> usize>,
24876 pub seal: ::core::option::Option<
24877 unsafe extern "C" fn(
24878 ssl: *mut SSL,
24879 out: *mut u8,
24880 out_len: *mut usize,
24881 max_out_len: usize,
24882 in_: *const u8,
24883 in_len: usize,
24884 ) -> ::core::ffi::c_int,
24885 >,
24886 pub open: ::core::option::Option<
24887 unsafe extern "C" fn(
24888 ssl: *mut SSL,
24889 out: *mut u8,
24890 out_len: *mut usize,
24891 max_out_len: usize,
24892 in_: *const u8,
24893 in_len: usize,
24894 ) -> ssl_ticket_aead_result_t,
24895 >,
24896}
24897unsafe extern "C" {
24898 pub fn SSL_CTX_set_ticket_aead_method(
24899 ctx: *mut SSL_CTX,
24900 aead_method: *const SSL_TICKET_AEAD_METHOD,
24901 );
24902}
24903unsafe extern "C" {
24904 pub fn SSL_process_tls13_new_session_ticket(
24905 ssl: *mut SSL,
24906 buf: *const u8,
24907 buf_len: usize,
24908 ) -> *mut SSL_SESSION;
24909}
24910unsafe extern "C" {
24911 pub fn SSL_CTX_set_num_tickets(ctx: *mut SSL_CTX, num_tickets: usize) -> ::core::ffi::c_int;
24912}
24913unsafe extern "C" {
24914 pub fn SSL_CTX_get_num_tickets(ctx: *const SSL_CTX) -> usize;
24915}
24916unsafe extern "C" {
24917 pub fn SSL_CTX_set1_group_ids(
24918 ctx: *mut SSL_CTX,
24919 group_ids: *const u16,
24920 num_group_ids: usize,
24921 ) -> ::core::ffi::c_int;
24922}
24923unsafe extern "C" {
24924 pub fn SSL_set1_group_ids(
24925 ssl: *mut SSL,
24926 group_ids: *const u16,
24927 num_group_ids: usize,
24928 ) -> ::core::ffi::c_int;
24929}
24930unsafe extern "C" {
24931 pub fn SSL_CTX_set1_group_ids_with_flags(
24932 ctx: *mut SSL_CTX,
24933 group_ids: *const u16,
24934 flags: *const u32,
24935 num_group_ids: usize,
24936 ) -> ::core::ffi::c_int;
24937}
24938unsafe extern "C" {
24939 pub fn SSL_set1_group_ids_with_flags(
24940 ssl: *mut SSL,
24941 group_ids: *const u16,
24942 flags: *const u32,
24943 num_group_ids: usize,
24944 ) -> ::core::ffi::c_int;
24945}
24946unsafe extern "C" {
24947 pub fn SSL_get_group_id(ssl: *const SSL) -> u16;
24948}
24949unsafe extern "C" {
24950 pub fn SSL_get_group_name(group_id: u16) -> *const ::core::ffi::c_char;
24951}
24952unsafe extern "C" {
24953 pub fn SSL_get_all_group_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
24954}
24955unsafe extern "C" {
24956 pub fn SSL_CTX_set1_groups(
24957 ctx: *mut SSL_CTX,
24958 groups: *const ::core::ffi::c_int,
24959 num_groups: usize,
24960 ) -> ::core::ffi::c_int;
24961}
24962unsafe extern "C" {
24963 pub fn SSL_set1_groups(
24964 ssl: *mut SSL,
24965 groups: *const ::core::ffi::c_int,
24966 num_groups: usize,
24967 ) -> ::core::ffi::c_int;
24968}
24969unsafe extern "C" {
24970 pub fn SSL_CTX_set1_groups_list(
24971 ctx: *mut SSL_CTX,
24972 groups: *const ::core::ffi::c_char,
24973 ) -> ::core::ffi::c_int;
24974}
24975unsafe extern "C" {
24976 pub fn SSL_set1_groups_list(
24977 ssl: *mut SSL,
24978 groups: *const ::core::ffi::c_char,
24979 ) -> ::core::ffi::c_int;
24980}
24981unsafe extern "C" {
24982 pub fn SSL_get_negotiated_group(ssl: *const SSL) -> ::core::ffi::c_int;
24983}
24984unsafe extern "C" {
24985 pub fn SSL_set1_client_key_shares(
24986 ssl: *mut SSL,
24987 group_ids: *const u16,
24988 num_group_ids: usize,
24989 ) -> ::core::ffi::c_int;
24990}
24991unsafe extern "C" {
24992 pub fn SSL_set1_server_supported_groups_hint(
24993 ssl: *mut SSL,
24994 server_groups: *const u16,
24995 num_server_groups: usize,
24996 ) -> ::core::ffi::c_int;
24997}
24998unsafe extern "C" {
24999 pub fn SSL_CTX_set_verify(
25000 ctx: *mut SSL_CTX,
25001 mode: ::core::ffi::c_int,
25002 callback: ::core::option::Option<
25003 unsafe extern "C" fn(
25004 ok: ::core::ffi::c_int,
25005 store_ctx: *mut X509_STORE_CTX,
25006 ) -> ::core::ffi::c_int,
25007 >,
25008 );
25009}
25010unsafe extern "C" {
25011 pub fn SSL_set_verify(
25012 ssl: *mut SSL,
25013 mode: ::core::ffi::c_int,
25014 callback: ::core::option::Option<
25015 unsafe extern "C" fn(
25016 ok: ::core::ffi::c_int,
25017 store_ctx: *mut X509_STORE_CTX,
25018 ) -> ::core::ffi::c_int,
25019 >,
25020 );
25021}
25022pub const ssl_verify_result_t_ssl_verify_ok: ssl_verify_result_t = 0;
25023pub const ssl_verify_result_t_ssl_verify_invalid: ssl_verify_result_t = 1;
25024pub const ssl_verify_result_t_ssl_verify_retry: ssl_verify_result_t = 2;
25025pub type ssl_verify_result_t = ::core::ffi::c_uint;
25026unsafe extern "C" {
25027 pub fn SSL_CTX_set_custom_verify(
25028 ctx: *mut SSL_CTX,
25029 mode: ::core::ffi::c_int,
25030 callback: ::core::option::Option<
25031 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
25032 >,
25033 );
25034}
25035unsafe extern "C" {
25036 pub fn SSL_set_custom_verify(
25037 ssl: *mut SSL,
25038 mode: ::core::ffi::c_int,
25039 callback: ::core::option::Option<
25040 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
25041 >,
25042 );
25043}
25044unsafe extern "C" {
25045 pub fn SSL_CTX_get_verify_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
25046}
25047unsafe extern "C" {
25048 pub fn SSL_get_verify_mode(ssl: *const SSL) -> ::core::ffi::c_int;
25049}
25050unsafe extern "C" {
25051 pub fn SSL_CTX_get_verify_callback(
25052 ctx: *const SSL_CTX,
25053 ) -> ::core::option::Option<
25054 unsafe extern "C" fn(
25055 ctx: ::core::ffi::c_int,
25056 arg1: *mut X509_STORE_CTX,
25057 ) -> ::core::ffi::c_int,
25058 >;
25059}
25060unsafe extern "C" {
25061 pub fn SSL_get_verify_callback(
25062 ssl: *const SSL,
25063 ) -> ::core::option::Option<
25064 unsafe extern "C" fn(
25065 ssl: ::core::ffi::c_int,
25066 arg1: *mut X509_STORE_CTX,
25067 ) -> ::core::ffi::c_int,
25068 >;
25069}
25070unsafe extern "C" {
25071 pub fn SSL_set1_host(ssl: *mut SSL, hostname: *const ::core::ffi::c_char)
25072 -> ::core::ffi::c_int;
25073}
25074unsafe extern "C" {
25075 pub fn SSL_set_hostflags(ssl: *mut SSL, flags: ::core::ffi::c_uint);
25076}
25077unsafe extern "C" {
25078 pub fn SSL_CTX_set_verify_depth(ctx: *mut SSL_CTX, depth: ::core::ffi::c_int);
25079}
25080unsafe extern "C" {
25081 pub fn SSL_set_verify_depth(ssl: *mut SSL, depth: ::core::ffi::c_int);
25082}
25083unsafe extern "C" {
25084 pub fn SSL_CTX_get_verify_depth(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
25085}
25086unsafe extern "C" {
25087 pub fn SSL_get_verify_depth(ssl: *const SSL) -> ::core::ffi::c_int;
25088}
25089unsafe extern "C" {
25090 pub fn SSL_CTX_set1_param(
25091 ctx: *mut SSL_CTX,
25092 param: *const X509_VERIFY_PARAM,
25093 ) -> ::core::ffi::c_int;
25094}
25095unsafe extern "C" {
25096 pub fn SSL_set1_param(ssl: *mut SSL, param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
25097}
25098unsafe extern "C" {
25099 pub fn SSL_CTX_get0_param(ctx: *mut SSL_CTX) -> *mut X509_VERIFY_PARAM;
25100}
25101unsafe extern "C" {
25102 pub fn SSL_get0_param(ssl: *mut SSL) -> *mut X509_VERIFY_PARAM;
25103}
25104unsafe extern "C" {
25105 pub fn SSL_CTX_set_purpose(
25106 ctx: *mut SSL_CTX,
25107 purpose: ::core::ffi::c_int,
25108 ) -> ::core::ffi::c_int;
25109}
25110unsafe extern "C" {
25111 pub fn SSL_set_purpose(ssl: *mut SSL, purpose: ::core::ffi::c_int) -> ::core::ffi::c_int;
25112}
25113unsafe extern "C" {
25114 pub fn SSL_CTX_set_trust(ctx: *mut SSL_CTX, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
25115}
25116unsafe extern "C" {
25117 pub fn SSL_set_trust(ssl: *mut SSL, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
25118}
25119unsafe extern "C" {
25120 pub fn SSL_CTX_set_cert_store(ctx: *mut SSL_CTX, store: *mut X509_STORE);
25121}
25122unsafe extern "C" {
25123 pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE;
25124}
25125unsafe extern "C" {
25126 pub fn SSL_CTX_set_default_verify_paths(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
25127}
25128unsafe extern "C" {
25129 pub fn SSL_CTX_load_verify_locations(
25130 ctx: *mut SSL_CTX,
25131 ca_file: *const ::core::ffi::c_char,
25132 ca_dir: *const ::core::ffi::c_char,
25133 ) -> ::core::ffi::c_int;
25134}
25135unsafe extern "C" {
25136 pub fn SSL_get_verify_result(ssl: *const SSL) -> ::core::ffi::c_long;
25137}
25138unsafe extern "C" {
25139 pub fn SSL_alert_from_verify_result(result: ::core::ffi::c_long) -> ::core::ffi::c_int;
25140}
25141unsafe extern "C" {
25142 pub fn SSL_get_ex_data_X509_STORE_CTX_idx() -> ::core::ffi::c_int;
25143}
25144unsafe extern "C" {
25145 pub fn SSL_CTX_set_cert_verify_callback(
25146 ctx: *mut SSL_CTX,
25147 callback: ::core::option::Option<
25148 unsafe extern "C" fn(
25149 store_ctx: *mut X509_STORE_CTX,
25150 arg: *mut ::core::ffi::c_void,
25151 ) -> ::core::ffi::c_int,
25152 >,
25153 arg: *mut ::core::ffi::c_void,
25154 );
25155}
25156unsafe extern "C" {
25157 pub fn SSL_enable_signed_cert_timestamps(ssl: *mut SSL);
25158}
25159unsafe extern "C" {
25160 pub fn SSL_CTX_enable_signed_cert_timestamps(ctx: *mut SSL_CTX);
25161}
25162unsafe extern "C" {
25163 pub fn SSL_enable_ocsp_stapling(ssl: *mut SSL);
25164}
25165unsafe extern "C" {
25166 pub fn SSL_CTX_enable_ocsp_stapling(ctx: *mut SSL_CTX);
25167}
25168unsafe extern "C" {
25169 pub fn SSL_CTX_set0_verify_cert_store(
25170 ctx: *mut SSL_CTX,
25171 store: *mut X509_STORE,
25172 ) -> ::core::ffi::c_int;
25173}
25174unsafe extern "C" {
25175 pub fn SSL_CTX_set1_verify_cert_store(
25176 ctx: *mut SSL_CTX,
25177 store: *mut X509_STORE,
25178 ) -> ::core::ffi::c_int;
25179}
25180unsafe extern "C" {
25181 pub fn SSL_set0_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25182}
25183unsafe extern "C" {
25184 pub fn SSL_set1_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25185}
25186unsafe extern "C" {
25187 pub fn SSL_CTX_set_verify_algorithm_prefs(
25188 ctx: *mut SSL_CTX,
25189 prefs: *const u16,
25190 num_prefs: usize,
25191 ) -> ::core::ffi::c_int;
25192}
25193unsafe extern "C" {
25194 pub fn SSL_set_verify_algorithm_prefs(
25195 ssl: *mut SSL,
25196 prefs: *const u16,
25197 num_prefs: usize,
25198 ) -> ::core::ffi::c_int;
25199}
25200unsafe extern "C" {
25201 pub fn SSL_set_client_CA_list(ssl: *mut SSL, name_list: *mut stack_st_X509_NAME);
25202}
25203unsafe extern "C" {
25204 pub fn SSL_CTX_set_client_CA_list(ctx: *mut SSL_CTX, name_list: *mut stack_st_X509_NAME);
25205}
25206unsafe extern "C" {
25207 pub fn SSL_set0_client_CAs(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25208}
25209unsafe extern "C" {
25210 pub fn SSL_set0_CA_names(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25211}
25212unsafe extern "C" {
25213 pub fn SSL_CTX_set0_client_CAs(ctx: *mut SSL_CTX, name_list: *mut stack_st_CRYPTO_BUFFER);
25214}
25215unsafe extern "C" {
25216 pub fn SSL_get_client_CA_list(ssl: *const SSL) -> *mut stack_st_X509_NAME;
25217}
25218unsafe extern "C" {
25219 pub fn SSL_get0_server_requested_CAs(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
25220}
25221unsafe extern "C" {
25222 pub fn SSL_CTX_get_client_CA_list(ctx: *const SSL_CTX) -> *mut stack_st_X509_NAME;
25223}
25224unsafe extern "C" {
25225 pub fn SSL_add_client_CA(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
25226}
25227unsafe extern "C" {
25228 pub fn SSL_CTX_add_client_CA(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
25229}
25230unsafe extern "C" {
25231 pub fn SSL_load_client_CA_file(file: *const ::core::ffi::c_char) -> *mut stack_st_X509_NAME;
25232}
25233unsafe extern "C" {
25234 pub fn SSL_dup_CA_list(list: *mut stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
25235}
25236unsafe extern "C" {
25237 pub fn SSL_add_file_cert_subjects_to_stack(
25238 out: *mut stack_st_X509_NAME,
25239 file: *const ::core::ffi::c_char,
25240 ) -> ::core::ffi::c_int;
25241}
25242unsafe extern "C" {
25243 pub fn SSL_add_bio_cert_subjects_to_stack(
25244 out: *mut stack_st_X509_NAME,
25245 bio: *mut BIO,
25246 ) -> ::core::ffi::c_int;
25247}
25248unsafe extern "C" {
25249 pub fn SSL_CREDENTIAL_set1_trust_anchor_id(
25250 cred: *mut SSL_CREDENTIAL,
25251 id: *const u8,
25252 id_len: usize,
25253 ) -> ::core::ffi::c_int;
25254}
25255unsafe extern "C" {
25256 pub fn SSL_CREDENTIAL_add1_trust_anchor_group_inclusion(
25257 cred: *mut SSL_CREDENTIAL,
25258 base: *const u8,
25259 base_len: usize,
25260 min: u64,
25261 max: u64,
25262 ) -> ::core::ffi::c_int;
25263}
25264unsafe extern "C" {
25265 pub fn SSL_CTX_set1_requested_trust_anchors(
25266 ctx: *mut SSL_CTX,
25267 ids: *const u8,
25268 ids_len: usize,
25269 ) -> ::core::ffi::c_int;
25270}
25271unsafe extern "C" {
25272 pub fn SSL_set1_requested_trust_anchors(
25273 ssl: *mut SSL,
25274 ids: *const u8,
25275 ids_len: usize,
25276 ) -> ::core::ffi::c_int;
25277}
25278unsafe extern "C" {
25279 pub fn SSL_peer_matched_trust_anchor(ssl: *const SSL) -> ::core::ffi::c_int;
25280}
25281unsafe extern "C" {
25282 pub fn SSL_get0_peer_available_trust_anchors(
25283 ssl: *const SSL,
25284 out: *mut *const u8,
25285 out_len: *mut usize,
25286 );
25287}
25288unsafe extern "C" {
25289 pub fn SSL_CTX_set1_available_trust_anchors(
25290 ctx: *mut SSL_CTX,
25291 ids: *const u8,
25292 ids_len: usize,
25293 ) -> ::core::ffi::c_int;
25294}
25295unsafe extern "C" {
25296 pub fn SSL_set1_available_trust_anchors(
25297 ssl: *mut SSL,
25298 ids: *const u8,
25299 ids_len: usize,
25300 ) -> ::core::ffi::c_int;
25301}
25302unsafe extern "C" {
25303 pub fn SSL_set_tlsext_host_name(
25304 ssl: *mut SSL,
25305 name: *const ::core::ffi::c_char,
25306 ) -> ::core::ffi::c_int;
25307}
25308unsafe extern "C" {
25309 pub fn SSL_get_servername(
25310 ssl: *const SSL,
25311 type_: ::core::ffi::c_int,
25312 ) -> *const ::core::ffi::c_char;
25313}
25314unsafe extern "C" {
25315 pub fn SSL_get_servername_type(ssl: *const SSL) -> ::core::ffi::c_int;
25316}
25317unsafe extern "C" {
25318 pub fn SSL_CTX_set_tlsext_servername_callback(
25319 ctx: *mut SSL_CTX,
25320 callback: ::core::option::Option<
25321 unsafe extern "C" fn(
25322 ssl: *mut SSL,
25323 out_alert: *mut ::core::ffi::c_int,
25324 arg: *mut ::core::ffi::c_void,
25325 ) -> ::core::ffi::c_int,
25326 >,
25327 ) -> ::core::ffi::c_int;
25328}
25329unsafe extern "C" {
25330 pub fn SSL_CTX_set_tlsext_servername_arg(
25331 ctx: *mut SSL_CTX,
25332 arg: *mut ::core::ffi::c_void,
25333 ) -> ::core::ffi::c_int;
25334}
25335unsafe extern "C" {
25336 pub fn SSL_set_SSL_CTX(ssl: *mut SSL, ctx: *mut SSL_CTX) -> *mut SSL_CTX;
25337}
25338unsafe extern "C" {
25339 pub fn SSL_CTX_set_alpn_protos(
25340 ctx: *mut SSL_CTX,
25341 protos: *const u8,
25342 protos_len: usize,
25343 ) -> ::core::ffi::c_int;
25344}
25345unsafe extern "C" {
25346 pub fn SSL_set_alpn_protos(
25347 ssl: *mut SSL,
25348 protos: *const u8,
25349 protos_len: usize,
25350 ) -> ::core::ffi::c_int;
25351}
25352unsafe extern "C" {
25353 pub fn SSL_CTX_set_alpn_select_cb(
25354 ctx: *mut SSL_CTX,
25355 cb: ::core::option::Option<
25356 unsafe extern "C" fn(
25357 ssl: *mut SSL,
25358 out: *mut *const u8,
25359 out_len: *mut u8,
25360 in_: *const u8,
25361 in_len: ::core::ffi::c_uint,
25362 arg: *mut ::core::ffi::c_void,
25363 ) -> ::core::ffi::c_int,
25364 >,
25365 arg: *mut ::core::ffi::c_void,
25366 );
25367}
25368unsafe extern "C" {
25369 pub fn SSL_get0_alpn_selected(
25370 ssl: *const SSL,
25371 out_data: *mut *const u8,
25372 out_len: *mut ::core::ffi::c_uint,
25373 );
25374}
25375unsafe extern "C" {
25376 pub fn SSL_CTX_set_allow_unknown_alpn_protos(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25377}
25378unsafe extern "C" {
25379 pub fn SSL_add_application_settings(
25380 ssl: *mut SSL,
25381 proto: *const u8,
25382 proto_len: usize,
25383 settings: *const u8,
25384 settings_len: usize,
25385 ) -> ::core::ffi::c_int;
25386}
25387unsafe extern "C" {
25388 pub fn SSL_get0_peer_application_settings(
25389 ssl: *const SSL,
25390 out_data: *mut *const u8,
25391 out_len: *mut usize,
25392 );
25393}
25394unsafe extern "C" {
25395 pub fn SSL_has_application_settings(ssl: *const SSL) -> ::core::ffi::c_int;
25396}
25397unsafe extern "C" {
25398 pub fn SSL_set_alps_use_new_codepoint(ssl: *mut SSL, use_new: ::core::ffi::c_int);
25399}
25400pub type ssl_cert_compression_func_t = ::core::option::Option<
25401 unsafe extern "C" fn(
25402 ssl: *mut SSL,
25403 out: *mut CBB,
25404 in_: *const u8,
25405 in_len: usize,
25406 ) -> ::core::ffi::c_int,
25407>;
25408pub type ssl_cert_decompression_func_t = ::core::option::Option<
25409 unsafe extern "C" fn(
25410 ssl: *mut SSL,
25411 out: *mut *mut CRYPTO_BUFFER,
25412 uncompressed_len: usize,
25413 in_: *const u8,
25414 in_len: usize,
25415 ) -> ::core::ffi::c_int,
25416>;
25417unsafe extern "C" {
25418 pub fn SSL_CTX_add_cert_compression_alg(
25419 ctx: *mut SSL_CTX,
25420 alg_id: u16,
25421 compress: ssl_cert_compression_func_t,
25422 decompress: ssl_cert_decompression_func_t,
25423 ) -> ::core::ffi::c_int;
25424}
25425unsafe extern "C" {
25426 pub fn SSL_CTX_set_next_protos_advertised_cb(
25427 ctx: *mut SSL_CTX,
25428 cb: ::core::option::Option<
25429 unsafe extern "C" fn(
25430 ssl: *mut SSL,
25431 out: *mut *const u8,
25432 out_len: *mut ::core::ffi::c_uint,
25433 arg: *mut ::core::ffi::c_void,
25434 ) -> ::core::ffi::c_int,
25435 >,
25436 arg: *mut ::core::ffi::c_void,
25437 );
25438}
25439unsafe extern "C" {
25440 pub fn SSL_CTX_set_next_proto_select_cb(
25441 ctx: *mut SSL_CTX,
25442 cb: ::core::option::Option<
25443 unsafe extern "C" fn(
25444 ssl: *mut SSL,
25445 out: *mut *mut u8,
25446 out_len: *mut u8,
25447 in_: *const u8,
25448 in_len: ::core::ffi::c_uint,
25449 arg: *mut ::core::ffi::c_void,
25450 ) -> ::core::ffi::c_int,
25451 >,
25452 arg: *mut ::core::ffi::c_void,
25453 );
25454}
25455unsafe extern "C" {
25456 pub fn SSL_get0_next_proto_negotiated(
25457 ssl: *const SSL,
25458 out_data: *mut *const u8,
25459 out_len: *mut ::core::ffi::c_uint,
25460 );
25461}
25462unsafe extern "C" {
25463 pub fn SSL_select_next_proto(
25464 out: *mut *mut u8,
25465 out_len: *mut u8,
25466 peer: *const u8,
25467 peer_len: ::core::ffi::c_uint,
25468 supported: *const u8,
25469 supported_len: ::core::ffi::c_uint,
25470 ) -> ::core::ffi::c_int;
25471}
25472unsafe extern "C" {
25473 pub fn SSL_CTX_set_tls_channel_id_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25474}
25475unsafe extern "C" {
25476 pub fn SSL_set_tls_channel_id_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
25477}
25478unsafe extern "C" {
25479 pub fn SSL_CTX_set1_tls_channel_id(
25480 ctx: *mut SSL_CTX,
25481 private_key: *mut EVP_PKEY,
25482 ) -> ::core::ffi::c_int;
25483}
25484unsafe extern "C" {
25485 pub fn SSL_set1_tls_channel_id(ssl: *mut SSL, private_key: *mut EVP_PKEY)
25486 -> ::core::ffi::c_int;
25487}
25488unsafe extern "C" {
25489 pub fn SSL_get_tls_channel_id(ssl: *mut SSL, out: *mut u8, max_out: usize) -> usize;
25490}
25491#[repr(C)]
25492#[derive(Debug, Copy, Clone)]
25493pub struct srtp_protection_profile_st {
25494 pub name: *const ::core::ffi::c_char,
25495 pub id: ::core::ffi::c_ulong,
25496}
25497#[repr(C)]
25498#[derive(Debug)]
25499pub struct stack_st_SRTP_PROTECTION_PROFILE {
25500 _unused: [u8; 0],
25501}
25502pub type sk_SRTP_PROTECTION_PROFILE_free_func =
25503 ::core::option::Option<unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE)>;
25504pub type sk_SRTP_PROTECTION_PROFILE_copy_func = ::core::option::Option<
25505 unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE) -> *const SRTP_PROTECTION_PROFILE,
25506>;
25507pub type sk_SRTP_PROTECTION_PROFILE_cmp_func = ::core::option::Option<
25508 unsafe extern "C" fn(
25509 arg1: *const *const SRTP_PROTECTION_PROFILE,
25510 arg2: *const *const SRTP_PROTECTION_PROFILE,
25511 ) -> ::core::ffi::c_int,
25512>;
25513pub type sk_SRTP_PROTECTION_PROFILE_delete_if_func = ::core::option::Option<
25514 unsafe extern "C" fn(
25515 arg1: *const SRTP_PROTECTION_PROFILE,
25516 arg2: *mut ::core::ffi::c_void,
25517 ) -> ::core::ffi::c_int,
25518>;
25519unsafe extern "C" {
25520 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_free_func__extern"]
25521 pub fn sk_SRTP_PROTECTION_PROFILE_call_free_func(
25522 free_func: OPENSSL_sk_free_func,
25523 ptr: *mut ::core::ffi::c_void,
25524 );
25525}
25526unsafe extern "C" {
25527 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_copy_func__extern"]
25528 pub fn sk_SRTP_PROTECTION_PROFILE_call_copy_func(
25529 copy_func: OPENSSL_sk_copy_func,
25530 ptr: *const ::core::ffi::c_void,
25531 ) -> *mut ::core::ffi::c_void;
25532}
25533unsafe extern "C" {
25534 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_cmp_func__extern"]
25535 pub fn sk_SRTP_PROTECTION_PROFILE_call_cmp_func(
25536 cmp_func: OPENSSL_sk_cmp_func,
25537 a: *const ::core::ffi::c_void,
25538 b: *const ::core::ffi::c_void,
25539 ) -> ::core::ffi::c_int;
25540}
25541unsafe extern "C" {
25542 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_delete_if_func__extern"]
25543 pub fn sk_SRTP_PROTECTION_PROFILE_call_delete_if_func(
25544 func: OPENSSL_sk_delete_if_func,
25545 obj: *mut ::core::ffi::c_void,
25546 data: *mut ::core::ffi::c_void,
25547 ) -> ::core::ffi::c_int;
25548}
25549unsafe extern "C" {
25550 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new__extern"]
25551 pub fn sk_SRTP_PROTECTION_PROFILE_new(
25552 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25553 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25554}
25555unsafe extern "C" {
25556 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new_null__extern"]
25557 pub fn sk_SRTP_PROTECTION_PROFILE_new_null() -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25558}
25559unsafe extern "C" {
25560 #[link_name = "sk_SRTP_PROTECTION_PROFILE_num__extern"]
25561 pub fn sk_SRTP_PROTECTION_PROFILE_num(sk: *const stack_st_SRTP_PROTECTION_PROFILE) -> usize;
25562}
25563unsafe extern "C" {
25564 #[link_name = "sk_SRTP_PROTECTION_PROFILE_zero__extern"]
25565 pub fn sk_SRTP_PROTECTION_PROFILE_zero(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25566}
25567unsafe extern "C" {
25568 #[link_name = "sk_SRTP_PROTECTION_PROFILE_value__extern"]
25569 pub fn sk_SRTP_PROTECTION_PROFILE_value(
25570 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25571 i: usize,
25572 ) -> *const SRTP_PROTECTION_PROFILE;
25573}
25574unsafe extern "C" {
25575 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set__extern"]
25576 pub fn sk_SRTP_PROTECTION_PROFILE_set(
25577 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25578 i: usize,
25579 p: *const SRTP_PROTECTION_PROFILE,
25580 ) -> *const SRTP_PROTECTION_PROFILE;
25581}
25582unsafe extern "C" {
25583 #[link_name = "sk_SRTP_PROTECTION_PROFILE_free__extern"]
25584 pub fn sk_SRTP_PROTECTION_PROFILE_free(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25585}
25586unsafe extern "C" {
25587 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop_free__extern"]
25588 pub fn sk_SRTP_PROTECTION_PROFILE_pop_free(
25589 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25590 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25591 );
25592}
25593unsafe extern "C" {
25594 #[link_name = "sk_SRTP_PROTECTION_PROFILE_insert__extern"]
25595 pub fn sk_SRTP_PROTECTION_PROFILE_insert(
25596 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25597 p: *const SRTP_PROTECTION_PROFILE,
25598 where_: usize,
25599 ) -> usize;
25600}
25601unsafe extern "C" {
25602 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete__extern"]
25603 pub fn sk_SRTP_PROTECTION_PROFILE_delete(
25604 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25605 where_: usize,
25606 ) -> *const SRTP_PROTECTION_PROFILE;
25607}
25608unsafe extern "C" {
25609 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_ptr__extern"]
25610 pub fn sk_SRTP_PROTECTION_PROFILE_delete_ptr(
25611 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25612 p: *const SRTP_PROTECTION_PROFILE,
25613 ) -> *const SRTP_PROTECTION_PROFILE;
25614}
25615unsafe extern "C" {
25616 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_if__extern"]
25617 pub fn sk_SRTP_PROTECTION_PROFILE_delete_if(
25618 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25619 func: sk_SRTP_PROTECTION_PROFILE_delete_if_func,
25620 data: *mut ::core::ffi::c_void,
25621 );
25622}
25623unsafe extern "C" {
25624 #[link_name = "sk_SRTP_PROTECTION_PROFILE_find__extern"]
25625 pub fn sk_SRTP_PROTECTION_PROFILE_find(
25626 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25627 out_index: *mut usize,
25628 p: *const SRTP_PROTECTION_PROFILE,
25629 ) -> ::core::ffi::c_int;
25630}
25631unsafe extern "C" {
25632 #[link_name = "sk_SRTP_PROTECTION_PROFILE_shift__extern"]
25633 pub fn sk_SRTP_PROTECTION_PROFILE_shift(
25634 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25635 ) -> *const SRTP_PROTECTION_PROFILE;
25636}
25637unsafe extern "C" {
25638 #[link_name = "sk_SRTP_PROTECTION_PROFILE_push__extern"]
25639 pub fn sk_SRTP_PROTECTION_PROFILE_push(
25640 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25641 p: *const SRTP_PROTECTION_PROFILE,
25642 ) -> usize;
25643}
25644unsafe extern "C" {
25645 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop__extern"]
25646 pub fn sk_SRTP_PROTECTION_PROFILE_pop(
25647 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25648 ) -> *const SRTP_PROTECTION_PROFILE;
25649}
25650unsafe extern "C" {
25651 #[link_name = "sk_SRTP_PROTECTION_PROFILE_dup__extern"]
25652 pub fn sk_SRTP_PROTECTION_PROFILE_dup(
25653 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25654 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25655}
25656unsafe extern "C" {
25657 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort__extern"]
25658 pub fn sk_SRTP_PROTECTION_PROFILE_sort(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25659}
25660unsafe extern "C" {
25661 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort_and_dedup__extern"]
25662 pub fn sk_SRTP_PROTECTION_PROFILE_sort_and_dedup(
25663 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25664 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25665 );
25666}
25667unsafe extern "C" {
25668 #[link_name = "sk_SRTP_PROTECTION_PROFILE_is_sorted__extern"]
25669 pub fn sk_SRTP_PROTECTION_PROFILE_is_sorted(
25670 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25671 ) -> ::core::ffi::c_int;
25672}
25673unsafe extern "C" {
25674 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set_cmp_func__extern"]
25675 pub fn sk_SRTP_PROTECTION_PROFILE_set_cmp_func(
25676 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25677 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25678 ) -> sk_SRTP_PROTECTION_PROFILE_cmp_func;
25679}
25680unsafe extern "C" {
25681 #[link_name = "sk_SRTP_PROTECTION_PROFILE_deep_copy__extern"]
25682 pub fn sk_SRTP_PROTECTION_PROFILE_deep_copy(
25683 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25684 copy_func: sk_SRTP_PROTECTION_PROFILE_copy_func,
25685 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25686 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25687}
25688unsafe extern "C" {
25689 pub fn SSL_CTX_set_srtp_profiles(
25690 ctx: *mut SSL_CTX,
25691 profiles: *const ::core::ffi::c_char,
25692 ) -> ::core::ffi::c_int;
25693}
25694unsafe extern "C" {
25695 pub fn SSL_set_srtp_profiles(
25696 ssl: *mut SSL,
25697 profiles: *const ::core::ffi::c_char,
25698 ) -> ::core::ffi::c_int;
25699}
25700unsafe extern "C" {
25701 pub fn SSL_get_srtp_profiles(ssl: *const SSL) -> *const stack_st_SRTP_PROTECTION_PROFILE;
25702}
25703unsafe extern "C" {
25704 pub fn SSL_get_selected_srtp_profile(ssl: *mut SSL) -> *const SRTP_PROTECTION_PROFILE;
25705}
25706unsafe extern "C" {
25707 pub fn SSL_CREDENTIAL_new_pre_shared_key(
25708 key: *const u8,
25709 key_len: usize,
25710 id: *const u8,
25711 id_len: usize,
25712 md: *const EVP_MD,
25713 context: *const u8,
25714 context_len: usize,
25715 ) -> *mut SSL_CREDENTIAL;
25716}
25717unsafe extern "C" {
25718 pub fn SSL_CREDENTIAL_get0_pre_shared_key_id(
25719 cred: *const SSL_CREDENTIAL,
25720 id_len: *mut usize,
25721 ) -> *const u8;
25722}
25723unsafe extern "C" {
25724 pub fn SSL_CTX_set_psk_client_callback(
25725 ctx: *mut SSL_CTX,
25726 cb: ::core::option::Option<
25727 unsafe extern "C" fn(
25728 ssl: *mut SSL,
25729 hint: *const ::core::ffi::c_char,
25730 identity: *mut ::core::ffi::c_char,
25731 max_identity_len: ::core::ffi::c_uint,
25732 psk: *mut u8,
25733 max_psk_len: ::core::ffi::c_uint,
25734 ) -> ::core::ffi::c_uint,
25735 >,
25736 );
25737}
25738unsafe extern "C" {
25739 pub fn SSL_set_psk_client_callback(
25740 ssl: *mut SSL,
25741 cb: ::core::option::Option<
25742 unsafe extern "C" fn(
25743 ssl: *mut SSL,
25744 hint: *const ::core::ffi::c_char,
25745 identity: *mut ::core::ffi::c_char,
25746 max_identity_len: ::core::ffi::c_uint,
25747 psk: *mut u8,
25748 max_psk_len: ::core::ffi::c_uint,
25749 ) -> ::core::ffi::c_uint,
25750 >,
25751 );
25752}
25753unsafe extern "C" {
25754 pub fn SSL_CTX_set_psk_server_callback(
25755 ctx: *mut SSL_CTX,
25756 cb: ::core::option::Option<
25757 unsafe extern "C" fn(
25758 ssl: *mut SSL,
25759 identity: *const ::core::ffi::c_char,
25760 psk: *mut u8,
25761 max_psk_len: ::core::ffi::c_uint,
25762 ) -> ::core::ffi::c_uint,
25763 >,
25764 );
25765}
25766unsafe extern "C" {
25767 pub fn SSL_set_psk_server_callback(
25768 ssl: *mut SSL,
25769 cb: ::core::option::Option<
25770 unsafe extern "C" fn(
25771 ssl: *mut SSL,
25772 identity: *const ::core::ffi::c_char,
25773 psk: *mut u8,
25774 max_psk_len: ::core::ffi::c_uint,
25775 ) -> ::core::ffi::c_uint,
25776 >,
25777 );
25778}
25779unsafe extern "C" {
25780 pub fn SSL_CTX_use_psk_identity_hint(
25781 ctx: *mut SSL_CTX,
25782 identity_hint: *const ::core::ffi::c_char,
25783 ) -> ::core::ffi::c_int;
25784}
25785unsafe extern "C" {
25786 pub fn SSL_use_psk_identity_hint(
25787 ssl: *mut SSL,
25788 identity_hint: *const ::core::ffi::c_char,
25789 ) -> ::core::ffi::c_int;
25790}
25791unsafe extern "C" {
25792 pub fn SSL_get_psk_identity_hint(ssl: *const SSL) -> *const ::core::ffi::c_char;
25793}
25794unsafe extern "C" {
25795 pub fn SSL_get_psk_identity(ssl: *const SSL) -> *const ::core::ffi::c_char;
25796}
25797unsafe extern "C" {
25798 pub fn SSL_CREDENTIAL_new_delegated() -> *mut SSL_CREDENTIAL;
25799}
25800unsafe extern "C" {
25801 pub fn SSL_CREDENTIAL_set1_delegated_credential(
25802 cred: *mut SSL_CREDENTIAL,
25803 dc: *mut CRYPTO_BUFFER,
25804 ) -> ::core::ffi::c_int;
25805}
25806unsafe extern "C" {
25807 pub fn SSL_CREDENTIAL_new_raw_public_key(pkey: *mut EVP_PKEY) -> *mut SSL_CREDENTIAL;
25808}
25809unsafe extern "C" {
25810 pub fn SSL_CREDENTIAL_new_raw_public_key_custom(
25811 pubkey: *mut EVP_PKEY,
25812 method: *const SSL_PRIVATE_KEY_METHOD,
25813 ) -> *mut SSL_CREDENTIAL;
25814}
25815unsafe extern "C" {
25816 pub fn SSL_CTX_set1_accepted_peer_cert_types(
25817 ctx: *mut SSL_CTX,
25818 values: *const u8,
25819 num_values: usize,
25820 ) -> ::core::ffi::c_int;
25821}
25822unsafe extern "C" {
25823 pub fn SSL_set1_accepted_peer_cert_types(
25824 ssl: *mut SSL,
25825 values: *const u8,
25826 num_values: usize,
25827 ) -> ::core::ffi::c_int;
25828}
25829unsafe extern "C" {
25830 pub fn SSL_CTX_set1_available_client_cert_types(
25831 ctx: *mut SSL_CTX,
25832 values: *const u8,
25833 num_values: usize,
25834 ) -> ::core::ffi::c_int;
25835}
25836unsafe extern "C" {
25837 pub fn SSL_set1_available_client_cert_types(
25838 ssl: *mut SSL,
25839 values: *const u8,
25840 num_values: usize,
25841 ) -> ::core::ffi::c_int;
25842}
25843unsafe extern "C" {
25844 pub fn SSL_get_peer_cert_type(ssl: *const SSL) -> ::core::ffi::c_int;
25845}
25846unsafe extern "C" {
25847 pub fn SSL_get0_peer_rpk(ssl: *const SSL) -> *mut EVP_PKEY;
25848}
25849unsafe extern "C" {
25850 pub fn SSL_spake2plusv1_register(
25851 out_w0: *mut u8,
25852 out_w1: *mut u8,
25853 out_registration_record: *mut u8,
25854 password: *const u8,
25855 password_len: usize,
25856 client_identity: *const u8,
25857 client_identity_len: usize,
25858 server_identity: *const u8,
25859 server_identity_len: usize,
25860 ) -> ::core::ffi::c_int;
25861}
25862unsafe extern "C" {
25863 pub fn SSL_CREDENTIAL_new_spake2plusv1_client(
25864 context: *const u8,
25865 context_len: usize,
25866 client_identity: *const u8,
25867 client_identity_len: usize,
25868 server_identity: *const u8,
25869 server_identity_len: usize,
25870 error_limit: u32,
25871 w0: *const u8,
25872 w0_len: usize,
25873 w1: *const u8,
25874 w1_len: usize,
25875 ) -> *mut SSL_CREDENTIAL;
25876}
25877unsafe extern "C" {
25878 pub fn SSL_CREDENTIAL_new_spake2plusv1_server(
25879 context: *const u8,
25880 context_len: usize,
25881 client_identity: *const u8,
25882 client_identity_len: usize,
25883 server_identity: *const u8,
25884 server_identity_len: usize,
25885 rate_limit: u32,
25886 w0: *const u8,
25887 w0_len: usize,
25888 registration_record: *const u8,
25889 registration_record_len: usize,
25890 ) -> *mut SSL_CREDENTIAL;
25891}
25892pub const ssl_encryption_level_t_ssl_encryption_initial: ssl_encryption_level_t = 0;
25893pub const ssl_encryption_level_t_ssl_encryption_early_data: ssl_encryption_level_t = 1;
25894pub const ssl_encryption_level_t_ssl_encryption_handshake: ssl_encryption_level_t = 2;
25895pub const ssl_encryption_level_t_ssl_encryption_application: ssl_encryption_level_t = 3;
25896pub type ssl_encryption_level_t = ::core::ffi::c_uint;
25897#[repr(C)]
25898#[derive(Debug, Copy, Clone)]
25899pub struct ssl_quic_method_st {
25900 pub set_read_secret: ::core::option::Option<
25901 unsafe extern "C" fn(
25902 ssl: *mut SSL,
25903 level: ssl_encryption_level_t,
25904 cipher: *const SSL_CIPHER,
25905 secret: *const u8,
25906 secret_len: usize,
25907 ) -> ::core::ffi::c_int,
25908 >,
25909 pub set_write_secret: ::core::option::Option<
25910 unsafe extern "C" fn(
25911 ssl: *mut SSL,
25912 level: ssl_encryption_level_t,
25913 cipher: *const SSL_CIPHER,
25914 secret: *const u8,
25915 secret_len: usize,
25916 ) -> ::core::ffi::c_int,
25917 >,
25918 pub add_handshake_data: ::core::option::Option<
25919 unsafe extern "C" fn(
25920 ssl: *mut SSL,
25921 level: ssl_encryption_level_t,
25922 data: *const u8,
25923 len: usize,
25924 ) -> ::core::ffi::c_int,
25925 >,
25926 pub flush_flight:
25927 ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> ::core::ffi::c_int>,
25928 pub send_alert: ::core::option::Option<
25929 unsafe extern "C" fn(
25930 ssl: *mut SSL,
25931 level: ssl_encryption_level_t,
25932 alert: u8,
25933 ) -> ::core::ffi::c_int,
25934 >,
25935}
25936unsafe extern "C" {
25937 pub fn SSL_quic_max_handshake_flight_len(
25938 ssl: *const SSL,
25939 level: ssl_encryption_level_t,
25940 ) -> usize;
25941}
25942unsafe extern "C" {
25943 pub fn SSL_quic_read_level(ssl: *const SSL) -> ssl_encryption_level_t;
25944}
25945unsafe extern "C" {
25946 pub fn SSL_quic_write_level(ssl: *const SSL) -> ssl_encryption_level_t;
25947}
25948unsafe extern "C" {
25949 pub fn SSL_provide_quic_data(
25950 ssl: *mut SSL,
25951 level: ssl_encryption_level_t,
25952 data: *const u8,
25953 len: usize,
25954 ) -> ::core::ffi::c_int;
25955}
25956unsafe extern "C" {
25957 pub fn SSL_process_quic_post_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
25958}
25959unsafe extern "C" {
25960 pub fn SSL_CTX_set_quic_method(
25961 ctx: *mut SSL_CTX,
25962 quic_method: *const SSL_QUIC_METHOD,
25963 ) -> ::core::ffi::c_int;
25964}
25965unsafe extern "C" {
25966 pub fn SSL_set_quic_method(
25967 ssl: *mut SSL,
25968 quic_method: *const SSL_QUIC_METHOD,
25969 ) -> ::core::ffi::c_int;
25970}
25971unsafe extern "C" {
25972 pub fn SSL_set_quic_transport_params(
25973 ssl: *mut SSL,
25974 params: *const u8,
25975 params_len: usize,
25976 ) -> ::core::ffi::c_int;
25977}
25978unsafe extern "C" {
25979 pub fn SSL_get_peer_quic_transport_params(
25980 ssl: *const SSL,
25981 out_params: *mut *const u8,
25982 out_params_len: *mut usize,
25983 );
25984}
25985unsafe extern "C" {
25986 pub fn SSL_set_quic_use_legacy_codepoint(ssl: *mut SSL, use_legacy: ::core::ffi::c_int);
25987}
25988unsafe extern "C" {
25989 pub fn SSL_set_quic_early_data_context(
25990 ssl: *mut SSL,
25991 context: *const u8,
25992 context_len: usize,
25993 ) -> ::core::ffi::c_int;
25994}
25995unsafe extern "C" {
25996 pub fn SSL_CTX_set_early_data_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25997}
25998unsafe extern "C" {
25999 pub fn SSL_set_early_data_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
26000}
26001unsafe extern "C" {
26002 pub fn SSL_in_early_data(ssl: *const SSL) -> ::core::ffi::c_int;
26003}
26004unsafe extern "C" {
26005 pub fn SSL_SESSION_early_data_capable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
26006}
26007unsafe extern "C" {
26008 pub fn SSL_SESSION_copy_without_early_data(session: *mut SSL_SESSION) -> *mut SSL_SESSION;
26009}
26010unsafe extern "C" {
26011 pub fn SSL_early_data_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
26012}
26013unsafe extern "C" {
26014 pub fn SSL_reset_early_data_reject(ssl: *mut SSL);
26015}
26016unsafe extern "C" {
26017 pub fn SSL_get_ticket_age_skew(ssl: *const SSL) -> i32;
26018}
26019pub const ssl_early_data_reason_t_ssl_early_data_unknown: ssl_early_data_reason_t = 0;
26020pub const ssl_early_data_reason_t_ssl_early_data_disabled: ssl_early_data_reason_t = 1;
26021pub const ssl_early_data_reason_t_ssl_early_data_accepted: ssl_early_data_reason_t = 2;
26022pub const ssl_early_data_reason_t_ssl_early_data_protocol_version: ssl_early_data_reason_t = 3;
26023pub const ssl_early_data_reason_t_ssl_early_data_peer_declined: ssl_early_data_reason_t = 4;
26024pub const ssl_early_data_reason_t_ssl_early_data_no_session_offered: ssl_early_data_reason_t = 5;
26025pub const ssl_early_data_reason_t_ssl_early_data_session_not_resumed: ssl_early_data_reason_t = 6;
26026pub const ssl_early_data_reason_t_ssl_early_data_unsupported_for_session: ssl_early_data_reason_t =
26027 7;
26028pub const ssl_early_data_reason_t_ssl_early_data_hello_retry_request: ssl_early_data_reason_t = 8;
26029pub const ssl_early_data_reason_t_ssl_early_data_alpn_mismatch: ssl_early_data_reason_t = 9;
26030pub const ssl_early_data_reason_t_ssl_early_data_channel_id: ssl_early_data_reason_t = 10;
26031pub const ssl_early_data_reason_t_ssl_early_data_ticket_age_skew: ssl_early_data_reason_t = 12;
26032pub const ssl_early_data_reason_t_ssl_early_data_quic_parameter_mismatch: ssl_early_data_reason_t =
26033 13;
26034pub const ssl_early_data_reason_t_ssl_early_data_alps_mismatch: ssl_early_data_reason_t = 14;
26035pub const ssl_early_data_reason_t_ssl_early_data_reason_max_value: ssl_early_data_reason_t = 14;
26036pub type ssl_early_data_reason_t = ::core::ffi::c_uint;
26037unsafe extern "C" {
26038 pub fn SSL_get_early_data_reason(ssl: *const SSL) -> ssl_early_data_reason_t;
26039}
26040unsafe extern "C" {
26041 pub fn SSL_early_data_reason_string(
26042 reason: ssl_early_data_reason_t,
26043 ) -> *const ::core::ffi::c_char;
26044}
26045unsafe extern "C" {
26046 pub fn SSL_set_enable_ech_grease(ssl: *mut SSL, enable: ::core::ffi::c_int);
26047}
26048unsafe extern "C" {
26049 pub fn SSL_set_reject_unusable_ech_config(ssl: *mut SSL, enable: ::core::ffi::c_int);
26050}
26051unsafe extern "C" {
26052 pub fn SSL_set1_ech_config_list(
26053 ssl: *mut SSL,
26054 ech_config_list: *const u8,
26055 ech_config_list_len: usize,
26056 ) -> ::core::ffi::c_int;
26057}
26058unsafe extern "C" {
26059 pub fn SSL_get0_ech_name_override(
26060 ssl: *const SSL,
26061 out_name: *mut *const ::core::ffi::c_char,
26062 out_name_len: *mut usize,
26063 );
26064}
26065unsafe extern "C" {
26066 pub fn SSL_get0_ech_retry_configs(
26067 ssl: *const SSL,
26068 out_retry_configs: *mut *const u8,
26069 out_retry_configs_len: *mut usize,
26070 );
26071}
26072unsafe extern "C" {
26073 pub fn SSL_marshal_ech_config(
26074 out: *mut *mut u8,
26075 out_len: *mut usize,
26076 config_id: u8,
26077 key: *const EVP_HPKE_KEY,
26078 public_name: *const ::core::ffi::c_char,
26079 max_name_len: usize,
26080 ) -> ::core::ffi::c_int;
26081}
26082unsafe extern "C" {
26083 pub fn SSL_ECH_KEYS_new() -> *mut SSL_ECH_KEYS;
26084}
26085unsafe extern "C" {
26086 pub fn SSL_ECH_KEYS_up_ref(keys: *mut SSL_ECH_KEYS);
26087}
26088unsafe extern "C" {
26089 pub fn SSL_ECH_KEYS_free(keys: *mut SSL_ECH_KEYS);
26090}
26091unsafe extern "C" {
26092 pub fn SSL_ECH_KEYS_add(
26093 keys: *mut SSL_ECH_KEYS,
26094 is_retry_config: ::core::ffi::c_int,
26095 ech_config: *const u8,
26096 ech_config_len: usize,
26097 key: *const EVP_HPKE_KEY,
26098 ) -> ::core::ffi::c_int;
26099}
26100unsafe extern "C" {
26101 pub fn SSL_ECH_KEYS_has_duplicate_config_id(keys: *const SSL_ECH_KEYS) -> ::core::ffi::c_int;
26102}
26103unsafe extern "C" {
26104 pub fn SSL_ECH_KEYS_marshal_retry_configs(
26105 keys: *const SSL_ECH_KEYS,
26106 out: *mut *mut u8,
26107 out_len: *mut usize,
26108 ) -> ::core::ffi::c_int;
26109}
26110unsafe extern "C" {
26111 pub fn SSL_CTX_set1_ech_keys(ctx: *mut SSL_CTX, keys: *mut SSL_ECH_KEYS) -> ::core::ffi::c_int;
26112}
26113unsafe extern "C" {
26114 pub fn SSL_ech_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
26115}
26116unsafe extern "C" {
26117 pub fn SSL_alert_type_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26118}
26119unsafe extern "C" {
26120 pub fn SSL_alert_desc_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26121}
26122unsafe extern "C" {
26123 pub fn SSL_send_fatal_alert(ssl: *mut SSL, alert: u8) -> ::core::ffi::c_int;
26124}
26125unsafe extern "C" {
26126 pub fn SSL_set_ex_data(
26127 ssl: *mut SSL,
26128 idx: ::core::ffi::c_int,
26129 data: *mut ::core::ffi::c_void,
26130 ) -> ::core::ffi::c_int;
26131}
26132unsafe extern "C" {
26133 pub fn SSL_get_ex_data(ssl: *const SSL, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
26134}
26135unsafe extern "C" {
26136 pub fn SSL_get_ex_new_index(
26137 argl: ::core::ffi::c_long,
26138 argp: *mut ::core::ffi::c_void,
26139 unused: *mut CRYPTO_EX_unused,
26140 dup_unused: CRYPTO_EX_dup,
26141 free_func: CRYPTO_EX_free,
26142 ) -> ::core::ffi::c_int;
26143}
26144unsafe extern "C" {
26145 pub fn SSL_SESSION_set_ex_data(
26146 session: *mut SSL_SESSION,
26147 idx: ::core::ffi::c_int,
26148 data: *mut ::core::ffi::c_void,
26149 ) -> ::core::ffi::c_int;
26150}
26151unsafe extern "C" {
26152 pub fn SSL_SESSION_get_ex_data(
26153 session: *const SSL_SESSION,
26154 idx: ::core::ffi::c_int,
26155 ) -> *mut ::core::ffi::c_void;
26156}
26157unsafe extern "C" {
26158 pub fn SSL_SESSION_get_ex_new_index(
26159 argl: ::core::ffi::c_long,
26160 argp: *mut ::core::ffi::c_void,
26161 unused: *mut CRYPTO_EX_unused,
26162 dup_unused: CRYPTO_EX_dup,
26163 free_func: CRYPTO_EX_free,
26164 ) -> ::core::ffi::c_int;
26165}
26166unsafe extern "C" {
26167 pub fn SSL_CTX_set_ex_data(
26168 ctx: *mut SSL_CTX,
26169 idx: ::core::ffi::c_int,
26170 data: *mut ::core::ffi::c_void,
26171 ) -> ::core::ffi::c_int;
26172}
26173unsafe extern "C" {
26174 pub fn SSL_CTX_get_ex_data(
26175 ctx: *const SSL_CTX,
26176 idx: ::core::ffi::c_int,
26177 ) -> *mut ::core::ffi::c_void;
26178}
26179unsafe extern "C" {
26180 pub fn SSL_CTX_get_ex_new_index(
26181 argl: ::core::ffi::c_long,
26182 argp: *mut ::core::ffi::c_void,
26183 unused: *mut CRYPTO_EX_unused,
26184 dup_unused: CRYPTO_EX_dup,
26185 free_func: CRYPTO_EX_free,
26186 ) -> ::core::ffi::c_int;
26187}
26188unsafe extern "C" {
26189 pub fn SSL_CREDENTIAL_set_ex_data(
26190 cred: *mut SSL_CREDENTIAL,
26191 idx: ::core::ffi::c_int,
26192 data: *mut ::core::ffi::c_void,
26193 ) -> ::core::ffi::c_int;
26194}
26195unsafe extern "C" {
26196 pub fn SSL_CREDENTIAL_get_ex_data(
26197 cred: *const SSL_CREDENTIAL,
26198 idx: ::core::ffi::c_int,
26199 ) -> *mut ::core::ffi::c_void;
26200}
26201unsafe extern "C" {
26202 pub fn SSL_CREDENTIAL_get_ex_new_index(
26203 argl: ::core::ffi::c_long,
26204 argp: *mut ::core::ffi::c_void,
26205 unused: *mut CRYPTO_EX_unused,
26206 dup_unused: CRYPTO_EX_dup,
26207 free_func: CRYPTO_EX_free,
26208 ) -> ::core::ffi::c_int;
26209}
26210unsafe extern "C" {
26211 pub fn SSL_get_ivs(
26212 ssl: *const SSL,
26213 out_read_iv: *mut *const u8,
26214 out_write_iv: *mut *const u8,
26215 out_iv_len: *mut usize,
26216 ) -> ::core::ffi::c_int;
26217}
26218unsafe extern "C" {
26219 pub fn SSL_get_key_block_len(ssl: *const SSL) -> usize;
26220}
26221unsafe extern "C" {
26222 pub fn SSL_generate_key_block(
26223 ssl: *const SSL,
26224 out: *mut u8,
26225 out_len: usize,
26226 ) -> ::core::ffi::c_int;
26227}
26228unsafe extern "C" {
26229 pub fn SSL_get_read_sequence(ssl: *const SSL) -> u64;
26230}
26231unsafe extern "C" {
26232 pub fn SSL_get_write_sequence(ssl: *const SSL) -> u64;
26233}
26234unsafe extern "C" {
26235 pub fn SSL_CTX_set_record_protocol_version(
26236 ctx: *mut SSL_CTX,
26237 version: ::core::ffi::c_int,
26238 ) -> ::core::ffi::c_int;
26239}
26240unsafe extern "C" {
26241 pub fn SSL_is_dtls_handshake_idle(ssl: *const SSL) -> ::core::ffi::c_int;
26242}
26243unsafe extern "C" {
26244 pub fn SSL_get_dtls_handshake_read_seq(ssl: *const SSL) -> u32;
26245}
26246unsafe extern "C" {
26247 pub fn SSL_get_dtls_handshake_write_seq(ssl: *const SSL) -> u32;
26248}
26249unsafe extern "C" {
26250 pub fn SSL_get_dtls_read_epoch(ssl: *const SSL) -> u16;
26251}
26252unsafe extern "C" {
26253 pub fn SSL_get_dtls_write_epoch(ssl: *const SSL) -> u16;
26254}
26255unsafe extern "C" {
26256 pub fn SSL_get_dtls_read_sequence(ssl: *const SSL, epoch: u16) -> u64;
26257}
26258unsafe extern "C" {
26259 pub fn SSL_get_dtls_write_sequence(ssl: *const SSL, epoch: u16) -> u64;
26260}
26261unsafe extern "C" {
26262 pub fn SSL_get_dtls_read_traffic_secret(
26263 ssl: *const SSL,
26264 out_data: *mut *const u8,
26265 out_len: *mut usize,
26266 epoch: u16,
26267 ) -> ::core::ffi::c_int;
26268}
26269unsafe extern "C" {
26270 pub fn SSL_get_dtls_write_traffic_secret(
26271 ssl: *const SSL,
26272 out_data: *mut *const u8,
26273 out_len: *mut usize,
26274 epoch: u16,
26275 ) -> ::core::ffi::c_int;
26276}
26277unsafe extern "C" {
26278 pub fn SSL_serialize_capabilities(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26279}
26280unsafe extern "C" {
26281 pub fn SSL_request_handshake_hints(
26282 ssl: *mut SSL,
26283 client_hello: *const u8,
26284 client_hello_len: usize,
26285 capabilities: *const u8,
26286 capabilities_len: usize,
26287 ) -> ::core::ffi::c_int;
26288}
26289unsafe extern "C" {
26290 pub fn SSL_serialize_handshake_hints(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26291}
26292unsafe extern "C" {
26293 pub fn SSL_set_handshake_hints(
26294 ssl: *mut SSL,
26295 hints: *const u8,
26296 hints_len: usize,
26297 ) -> ::core::ffi::c_int;
26298}
26299unsafe extern "C" {
26300 pub fn SSL_CTX_set_msg_callback(
26301 ctx: *mut SSL_CTX,
26302 cb: ::core::option::Option<
26303 unsafe extern "C" fn(
26304 is_write: ::core::ffi::c_int,
26305 version: ::core::ffi::c_int,
26306 content_type: ::core::ffi::c_int,
26307 buf: *const ::core::ffi::c_void,
26308 len: usize,
26309 ssl: *mut SSL,
26310 arg: *mut ::core::ffi::c_void,
26311 ),
26312 >,
26313 );
26314}
26315unsafe extern "C" {
26316 pub fn SSL_CTX_set_msg_callback_arg(ctx: *mut SSL_CTX, arg: *mut ::core::ffi::c_void);
26317}
26318unsafe extern "C" {
26319 pub fn SSL_set_msg_callback(
26320 ssl: *mut SSL,
26321 cb: ::core::option::Option<
26322 unsafe extern "C" fn(
26323 write_p: ::core::ffi::c_int,
26324 version: ::core::ffi::c_int,
26325 content_type: ::core::ffi::c_int,
26326 buf: *const ::core::ffi::c_void,
26327 len: usize,
26328 ssl: *mut SSL,
26329 arg: *mut ::core::ffi::c_void,
26330 ),
26331 >,
26332 );
26333}
26334unsafe extern "C" {
26335 pub fn SSL_set_msg_callback_arg(ssl: *mut SSL, arg: *mut ::core::ffi::c_void);
26336}
26337unsafe extern "C" {
26338 pub fn SSL_CTX_set_keylog_callback(
26339 ctx: *mut SSL_CTX,
26340 cb: ::core::option::Option<
26341 unsafe extern "C" fn(ssl: *const SSL, line: *const ::core::ffi::c_char),
26342 >,
26343 );
26344}
26345unsafe extern "C" {
26346 pub fn SSL_CTX_get_keylog_callback(
26347 ctx: *const SSL_CTX,
26348 ) -> ::core::option::Option<
26349 unsafe extern "C" fn(ctx: *const SSL, arg1: *const ::core::ffi::c_char),
26350 >;
26351}
26352unsafe extern "C" {
26353 pub fn SSL_CTX_set_current_time_cb(
26354 ctx: *mut SSL_CTX,
26355 cb: ::core::option::Option<unsafe extern "C" fn(ssl: *const SSL, out_clock: *mut timeval)>,
26356 );
26357}
26358unsafe extern "C" {
26359 pub fn SSL_set_shed_handshake_config(ssl: *mut SSL, enable: ::core::ffi::c_int);
26360}
26361pub const ssl_renegotiate_mode_t_ssl_renegotiate_never: ssl_renegotiate_mode_t = 0;
26362pub const ssl_renegotiate_mode_t_ssl_renegotiate_once: ssl_renegotiate_mode_t = 1;
26363pub const ssl_renegotiate_mode_t_ssl_renegotiate_freely: ssl_renegotiate_mode_t = 2;
26364pub const ssl_renegotiate_mode_t_ssl_renegotiate_ignore: ssl_renegotiate_mode_t = 3;
26365pub const ssl_renegotiate_mode_t_ssl_renegotiate_explicit: ssl_renegotiate_mode_t = 4;
26366pub type ssl_renegotiate_mode_t = ::core::ffi::c_uint;
26367unsafe extern "C" {
26368 pub fn SSL_set_renegotiate_mode(ssl: *mut SSL, mode: ssl_renegotiate_mode_t);
26369}
26370unsafe extern "C" {
26371 pub fn SSL_renegotiate(ssl: *mut SSL) -> ::core::ffi::c_int;
26372}
26373unsafe extern "C" {
26374 pub fn SSL_renegotiate_pending(ssl: *mut SSL) -> ::core::ffi::c_int;
26375}
26376unsafe extern "C" {
26377 pub fn SSL_total_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26378}
26379unsafe extern "C" {
26380 pub fn SSL_CTX_get_max_cert_list(ctx: *const SSL_CTX) -> usize;
26381}
26382unsafe extern "C" {
26383 pub fn SSL_CTX_set_max_cert_list(ctx: *mut SSL_CTX, max_cert_list: usize);
26384}
26385unsafe extern "C" {
26386 pub fn SSL_get_max_cert_list(ssl: *const SSL) -> usize;
26387}
26388unsafe extern "C" {
26389 pub fn SSL_set_max_cert_list(ssl: *mut SSL, max_cert_list: usize);
26390}
26391unsafe extern "C" {
26392 pub fn SSL_CTX_set_max_send_fragment(
26393 ctx: *mut SSL_CTX,
26394 max_send_fragment: usize,
26395 ) -> ::core::ffi::c_int;
26396}
26397unsafe extern "C" {
26398 pub fn SSL_set_max_send_fragment(ssl: *mut SSL, max_send_fragment: usize)
26399 -> ::core::ffi::c_int;
26400}
26401#[repr(C)]
26402#[derive(Debug, Copy, Clone)]
26403pub struct ssl_early_callback_ctx {
26404 pub ssl: *mut SSL,
26405 pub client_hello: *const u8,
26406 pub client_hello_len: usize,
26407 pub version: u16,
26408 pub random: *const u8,
26409 pub random_len: usize,
26410 pub session_id: *const u8,
26411 pub session_id_len: usize,
26412 pub dtls_cookie: *const u8,
26413 pub dtls_cookie_len: usize,
26414 pub cipher_suites: *const u8,
26415 pub cipher_suites_len: usize,
26416 pub compression_methods: *const u8,
26417 pub compression_methods_len: usize,
26418 pub extensions: *const u8,
26419 pub extensions_len: usize,
26420}
26421pub const ssl_select_cert_result_t_ssl_select_cert_success: ssl_select_cert_result_t = 1;
26422pub const ssl_select_cert_result_t_ssl_select_cert_retry: ssl_select_cert_result_t = 0;
26423pub const ssl_select_cert_result_t_ssl_select_cert_error: ssl_select_cert_result_t = -1;
26424pub const ssl_select_cert_result_t_ssl_select_cert_disable_ech: ssl_select_cert_result_t = -2;
26425pub type ssl_select_cert_result_t = ::core::ffi::c_int;
26426unsafe extern "C" {
26427 pub fn SSL_early_callback_ctx_extension_get(
26428 client_hello: *const SSL_CLIENT_HELLO,
26429 extension_type: u16,
26430 out_data: *mut *const u8,
26431 out_len: *mut usize,
26432 ) -> ::core::ffi::c_int;
26433}
26434unsafe extern "C" {
26435 pub fn SSL_CTX_set_select_certificate_cb(
26436 ctx: *mut SSL_CTX,
26437 cb: ::core::option::Option<
26438 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ssl_select_cert_result_t,
26439 >,
26440 );
26441}
26442unsafe extern "C" {
26443 pub fn SSL_CTX_set_dos_protection_cb(
26444 ctx: *mut SSL_CTX,
26445 cb: ::core::option::Option<
26446 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ::core::ffi::c_int,
26447 >,
26448 );
26449}
26450unsafe extern "C" {
26451 pub fn SSL_CTX_set_reverify_on_resume(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26452}
26453unsafe extern "C" {
26454 pub fn SSL_CTX_set_info_callback(
26455 ctx: *mut SSL_CTX,
26456 cb: ::core::option::Option<
26457 unsafe extern "C" fn(
26458 ssl: *const SSL,
26459 type_: ::core::ffi::c_int,
26460 value: ::core::ffi::c_int,
26461 ),
26462 >,
26463 );
26464}
26465unsafe extern "C" {
26466 pub fn SSL_CTX_get_info_callback(
26467 ctx: *mut SSL_CTX,
26468 ) -> ::core::option::Option<
26469 unsafe extern "C" fn(ctx: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26470 >;
26471}
26472unsafe extern "C" {
26473 pub fn SSL_set_info_callback(
26474 ssl: *mut SSL,
26475 cb: ::core::option::Option<
26476 unsafe extern "C" fn(
26477 ssl: *const SSL,
26478 type_: ::core::ffi::c_int,
26479 value: ::core::ffi::c_int,
26480 ),
26481 >,
26482 );
26483}
26484unsafe extern "C" {
26485 pub fn SSL_get_info_callback(
26486 ssl: *const SSL,
26487 ) -> ::core::option::Option<
26488 unsafe extern "C" fn(ssl: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26489 >;
26490}
26491unsafe extern "C" {
26492 pub fn SSL_state_string_long(ssl: *const SSL) -> *const ::core::ffi::c_char;
26493}
26494unsafe extern "C" {
26495 pub fn SSL_get_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
26496}
26497unsafe extern "C" {
26498 pub fn SSL_get_peer_signature_algorithm(ssl: *const SSL) -> u16;
26499}
26500unsafe extern "C" {
26501 pub fn SSL_get_client_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26502}
26503unsafe extern "C" {
26504 pub fn SSL_get_server_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26505}
26506unsafe extern "C" {
26507 pub fn SSL_get_signature_algorithm_used(ssl: *const SSL) -> u16;
26508}
26509unsafe extern "C" {
26510 pub fn SSL_get_pending_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
26511}
26512unsafe extern "C" {
26513 pub fn SSL_set_retain_only_sha256_of_client_certs(ssl: *mut SSL, enable: ::core::ffi::c_int);
26514}
26515unsafe extern "C" {
26516 pub fn SSL_CTX_set_retain_only_sha256_of_client_certs(
26517 ctx: *mut SSL_CTX,
26518 enable: ::core::ffi::c_int,
26519 );
26520}
26521unsafe extern "C" {
26522 pub fn SSL_CTX_set_grease_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26523}
26524unsafe extern "C" {
26525 pub fn SSL_CTX_set_grease_sigalgs_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26526}
26527unsafe extern "C" {
26528 pub fn SSL_CTX_set_permute_extensions(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26529}
26530unsafe extern "C" {
26531 pub fn SSL_set_permute_extensions(ssl: *mut SSL, enabled: ::core::ffi::c_int);
26532}
26533unsafe extern "C" {
26534 pub fn SSL_max_seal_overhead(ssl: *const SSL) -> usize;
26535}
26536unsafe extern "C" {
26537 pub fn SSL_CTX_set_false_start_allowed_without_alpn(
26538 ctx: *mut SSL_CTX,
26539 allowed: ::core::ffi::c_int,
26540 );
26541}
26542unsafe extern "C" {
26543 pub fn SSL_used_hello_retry_request(ssl: *const SSL) -> ::core::ffi::c_int;
26544}
26545unsafe extern "C" {
26546 pub fn SSL_set_jdk11_workaround(ssl: *mut SSL, enable: ::core::ffi::c_int);
26547}
26548unsafe extern "C" {
26549 pub fn SSL_parse_client_hello(
26550 ssl: *const SSL,
26551 out: *mut SSL_CLIENT_HELLO,
26552 in_: *const u8,
26553 len: usize,
26554 ) -> ::core::ffi::c_int;
26555}
26556unsafe extern "C" {
26557 pub fn SSL_library_init() -> ::core::ffi::c_int;
26558}
26559unsafe extern "C" {
26560 pub fn SSL_CIPHER_description(
26561 cipher: *const SSL_CIPHER,
26562 buf: *mut ::core::ffi::c_char,
26563 len: ::core::ffi::c_int,
26564 ) -> *const ::core::ffi::c_char;
26565}
26566unsafe extern "C" {
26567 pub fn SSL_CIPHER_get_version(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26568}
26569unsafe extern "C" {
26570 pub fn SSL_CIPHER_get_id(cipher: *const SSL_CIPHER) -> u32;
26571}
26572unsafe extern "C" {
26573 pub fn SSL_CIPHER_get_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26574}
26575pub type COMP_METHOD = ::core::ffi::c_void;
26576pub type SSL_COMP = ssl_comp_st;
26577#[repr(C)]
26578#[derive(Debug)]
26579pub struct stack_st_SSL_COMP {
26580 _unused: [u8; 0],
26581}
26582unsafe extern "C" {
26583 pub fn SSL_COMP_get_compression_methods() -> *mut stack_st_SSL_COMP;
26584}
26585unsafe extern "C" {
26586 pub fn SSL_COMP_add_compression_method(
26587 id: ::core::ffi::c_int,
26588 cm: *mut COMP_METHOD,
26589 ) -> ::core::ffi::c_int;
26590}
26591unsafe extern "C" {
26592 pub fn SSL_COMP_get_name(comp: *const COMP_METHOD) -> *const ::core::ffi::c_char;
26593}
26594unsafe extern "C" {
26595 pub fn SSL_COMP_get0_name(comp: *const SSL_COMP) -> *const ::core::ffi::c_char;
26596}
26597unsafe extern "C" {
26598 pub fn SSL_COMP_get_id(comp: *const SSL_COMP) -> ::core::ffi::c_int;
26599}
26600unsafe extern "C" {
26601 pub fn SSL_COMP_free_compression_methods();
26602}
26603unsafe extern "C" {
26604 pub fn SSLv23_method() -> *const SSL_METHOD;
26605}
26606unsafe extern "C" {
26607 pub fn TLSv1_method() -> *const SSL_METHOD;
26608}
26609unsafe extern "C" {
26610 pub fn TLSv1_1_method() -> *const SSL_METHOD;
26611}
26612unsafe extern "C" {
26613 pub fn TLSv1_2_method() -> *const SSL_METHOD;
26614}
26615unsafe extern "C" {
26616 pub fn DTLSv1_method() -> *const SSL_METHOD;
26617}
26618unsafe extern "C" {
26619 pub fn DTLSv1_2_method() -> *const SSL_METHOD;
26620}
26621unsafe extern "C" {
26622 pub fn TLS_server_method() -> *const SSL_METHOD;
26623}
26624unsafe extern "C" {
26625 pub fn TLS_client_method() -> *const SSL_METHOD;
26626}
26627unsafe extern "C" {
26628 pub fn SSLv23_server_method() -> *const SSL_METHOD;
26629}
26630unsafe extern "C" {
26631 pub fn SSLv23_client_method() -> *const SSL_METHOD;
26632}
26633unsafe extern "C" {
26634 pub fn TLSv1_server_method() -> *const SSL_METHOD;
26635}
26636unsafe extern "C" {
26637 pub fn TLSv1_client_method() -> *const SSL_METHOD;
26638}
26639unsafe extern "C" {
26640 pub fn TLSv1_1_server_method() -> *const SSL_METHOD;
26641}
26642unsafe extern "C" {
26643 pub fn TLSv1_1_client_method() -> *const SSL_METHOD;
26644}
26645unsafe extern "C" {
26646 pub fn TLSv1_2_server_method() -> *const SSL_METHOD;
26647}
26648unsafe extern "C" {
26649 pub fn TLSv1_2_client_method() -> *const SSL_METHOD;
26650}
26651unsafe extern "C" {
26652 pub fn DTLS_server_method() -> *const SSL_METHOD;
26653}
26654unsafe extern "C" {
26655 pub fn DTLS_client_method() -> *const SSL_METHOD;
26656}
26657unsafe extern "C" {
26658 pub fn DTLSv1_server_method() -> *const SSL_METHOD;
26659}
26660unsafe extern "C" {
26661 pub fn DTLSv1_client_method() -> *const SSL_METHOD;
26662}
26663unsafe extern "C" {
26664 pub fn DTLSv1_2_server_method() -> *const SSL_METHOD;
26665}
26666unsafe extern "C" {
26667 pub fn DTLSv1_2_client_method() -> *const SSL_METHOD;
26668}
26669unsafe extern "C" {
26670 pub fn SSL_clear(ssl: *mut SSL) -> ::core::ffi::c_int;
26671}
26672unsafe extern "C" {
26673 pub fn SSL_CTX_set_tmp_rsa_callback(
26674 ctx: *mut SSL_CTX,
26675 cb: ::core::option::Option<
26676 unsafe extern "C" fn(
26677 ssl: *mut SSL,
26678 is_export: ::core::ffi::c_int,
26679 keylength: ::core::ffi::c_int,
26680 ) -> *mut RSA,
26681 >,
26682 );
26683}
26684unsafe extern "C" {
26685 pub fn SSL_set_tmp_rsa_callback(
26686 ssl: *mut SSL,
26687 cb: ::core::option::Option<
26688 unsafe extern "C" fn(
26689 ssl: *mut SSL,
26690 is_export: ::core::ffi::c_int,
26691 keylength: ::core::ffi::c_int,
26692 ) -> *mut RSA,
26693 >,
26694 );
26695}
26696unsafe extern "C" {
26697 pub fn SSL_CTX_sess_connect(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26698}
26699unsafe extern "C" {
26700 pub fn SSL_CTX_sess_connect_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26701}
26702unsafe extern "C" {
26703 pub fn SSL_CTX_sess_connect_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26704}
26705unsafe extern "C" {
26706 pub fn SSL_CTX_sess_accept(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26707}
26708unsafe extern "C" {
26709 pub fn SSL_CTX_sess_accept_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26710}
26711unsafe extern "C" {
26712 pub fn SSL_CTX_sess_accept_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26713}
26714unsafe extern "C" {
26715 pub fn SSL_CTX_sess_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26716}
26717unsafe extern "C" {
26718 pub fn SSL_CTX_sess_cb_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26719}
26720unsafe extern "C" {
26721 pub fn SSL_CTX_sess_misses(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26722}
26723unsafe extern "C" {
26724 pub fn SSL_CTX_sess_timeouts(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26725}
26726unsafe extern "C" {
26727 pub fn SSL_CTX_sess_cache_full(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26728}
26729unsafe extern "C" {
26730 pub fn SSL_cutthrough_complete(ssl: *const SSL) -> ::core::ffi::c_int;
26731}
26732unsafe extern "C" {
26733 pub fn SSL_num_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26734}
26735unsafe extern "C" {
26736 pub fn SSL_CTX_need_tmp_RSA(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26737}
26738unsafe extern "C" {
26739 pub fn SSL_need_tmp_RSA(ssl: *const SSL) -> ::core::ffi::c_int;
26740}
26741unsafe extern "C" {
26742 pub fn SSL_CTX_set_tmp_rsa(ctx: *mut SSL_CTX, rsa: *const RSA) -> ::core::ffi::c_int;
26743}
26744unsafe extern "C" {
26745 pub fn SSL_set_tmp_rsa(ssl: *mut SSL, rsa: *const RSA) -> ::core::ffi::c_int;
26746}
26747unsafe extern "C" {
26748 pub fn SSL_CTX_get_read_ahead(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26749}
26750unsafe extern "C" {
26751 pub fn SSL_CTX_set_read_ahead(ctx: *mut SSL_CTX, yes: ::core::ffi::c_int)
26752 -> ::core::ffi::c_int;
26753}
26754unsafe extern "C" {
26755 pub fn SSL_get_read_ahead(ssl: *const SSL) -> ::core::ffi::c_int;
26756}
26757unsafe extern "C" {
26758 pub fn SSL_set_read_ahead(ssl: *mut SSL, yes: ::core::ffi::c_int) -> ::core::ffi::c_int;
26759}
26760unsafe extern "C" {
26761 pub fn SSL_set_state(ssl: *mut SSL, state: ::core::ffi::c_int);
26762}
26763unsafe extern "C" {
26764 pub fn SSL_get_shared_ciphers(
26765 ssl: *const SSL,
26766 buf: *mut ::core::ffi::c_char,
26767 len: ::core::ffi::c_int,
26768 ) -> *mut ::core::ffi::c_char;
26769}
26770unsafe extern "C" {
26771 pub fn SSL_get_shared_sigalgs(
26772 ssl: *mut SSL,
26773 idx: ::core::ffi::c_int,
26774 psign: *mut ::core::ffi::c_int,
26775 phash: *mut ::core::ffi::c_int,
26776 psignandhash: *mut ::core::ffi::c_int,
26777 rsig: *mut u8,
26778 rhash: *mut u8,
26779 ) -> ::core::ffi::c_int;
26780}
26781unsafe extern "C" {
26782 pub fn i2d_SSL_SESSION(in_: *const SSL_SESSION, pp: *mut *mut u8) -> ::core::ffi::c_int;
26783}
26784unsafe extern "C" {
26785 pub fn d2i_SSL_SESSION(
26786 out: *mut *mut SSL_SESSION,
26787 inp: *mut *const u8,
26788 len: ::core::ffi::c_long,
26789 ) -> *mut SSL_SESSION;
26790}
26791unsafe extern "C" {
26792 pub fn i2d_SSL_SESSION_bio(bio: *mut BIO, session: *const SSL_SESSION) -> ::core::ffi::c_int;
26793}
26794unsafe extern "C" {
26795 pub fn d2i_SSL_SESSION_bio(bio: *mut BIO, out: *mut *mut SSL_SESSION) -> *mut SSL_SESSION;
26796}
26797unsafe extern "C" {
26798 pub fn ERR_load_SSL_strings();
26799}
26800unsafe extern "C" {
26801 pub fn SSL_load_error_strings();
26802}
26803unsafe extern "C" {
26804 pub fn SSL_CTX_set_tlsext_use_srtp(
26805 ctx: *mut SSL_CTX,
26806 profiles: *const ::core::ffi::c_char,
26807 ) -> ::core::ffi::c_int;
26808}
26809unsafe extern "C" {
26810 pub fn SSL_set_tlsext_use_srtp(
26811 ssl: *mut SSL,
26812 profiles: *const ::core::ffi::c_char,
26813 ) -> ::core::ffi::c_int;
26814}
26815unsafe extern "C" {
26816 pub fn SSL_get_current_compression(ssl: *mut SSL) -> *const COMP_METHOD;
26817}
26818unsafe extern "C" {
26819 pub fn SSL_get_current_expansion(ssl: *mut SSL) -> *const COMP_METHOD;
26820}
26821unsafe extern "C" {
26822 pub fn SSL_get_server_tmp_key(ssl: *mut SSL, out_key: *mut *mut EVP_PKEY)
26823 -> ::core::ffi::c_int;
26824}
26825unsafe extern "C" {
26826 pub fn SSL_get_peer_tmp_key(ssl: *mut SSL, out_key: *mut *mut EVP_PKEY) -> ::core::ffi::c_int;
26827}
26828unsafe extern "C" {
26829 pub fn SSL_CTX_set_tmp_dh(ctx: *mut SSL_CTX, dh: *const DH) -> ::core::ffi::c_int;
26830}
26831unsafe extern "C" {
26832 pub fn SSL_set_tmp_dh(ssl: *mut SSL, dh: *const DH) -> ::core::ffi::c_int;
26833}
26834unsafe extern "C" {
26835 pub fn SSL_CTX_set_tmp_dh_callback(
26836 ctx: *mut SSL_CTX,
26837 cb: ::core::option::Option<
26838 unsafe extern "C" fn(
26839 ssl: *mut SSL,
26840 is_export: ::core::ffi::c_int,
26841 keylength: ::core::ffi::c_int,
26842 ) -> *mut DH,
26843 >,
26844 );
26845}
26846unsafe extern "C" {
26847 pub fn SSL_set_tmp_dh_callback(
26848 ssl: *mut SSL,
26849 cb: ::core::option::Option<
26850 unsafe extern "C" fn(
26851 ssl: *mut SSL,
26852 is_export: ::core::ffi::c_int,
26853 keylength: ::core::ffi::c_int,
26854 ) -> *mut DH,
26855 >,
26856 );
26857}
26858unsafe extern "C" {
26859 pub fn SSL_CTX_set1_sigalgs(
26860 ctx: *mut SSL_CTX,
26861 values: *const ::core::ffi::c_int,
26862 num_values: usize,
26863 ) -> ::core::ffi::c_int;
26864}
26865unsafe extern "C" {
26866 pub fn SSL_set1_sigalgs(
26867 ssl: *mut SSL,
26868 values: *const ::core::ffi::c_int,
26869 num_values: usize,
26870 ) -> ::core::ffi::c_int;
26871}
26872unsafe extern "C" {
26873 pub fn SSL_CTX_set1_sigalgs_list(
26874 ctx: *mut SSL_CTX,
26875 str_: *const ::core::ffi::c_char,
26876 ) -> ::core::ffi::c_int;
26877}
26878unsafe extern "C" {
26879 pub fn SSL_set1_sigalgs_list(
26880 ssl: *mut SSL,
26881 str_: *const ::core::ffi::c_char,
26882 ) -> ::core::ffi::c_int;
26883}
26884#[repr(C)]
26885#[derive(Debug, Copy, Clone)]
26886pub struct ssl_comp_st {
26887 pub id: ::core::ffi::c_int,
26888 pub name: *const ::core::ffi::c_char,
26889 pub method: *mut ::core::ffi::c_char,
26890}
26891pub type sk_SSL_COMP_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut SSL_COMP)>;
26892pub type sk_SSL_COMP_copy_func =
26893 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_COMP) -> *mut SSL_COMP>;
26894pub type sk_SSL_COMP_cmp_func = ::core::option::Option<
26895 unsafe extern "C" fn(
26896 arg1: *const *const SSL_COMP,
26897 arg2: *const *const SSL_COMP,
26898 ) -> ::core::ffi::c_int,
26899>;
26900pub type sk_SSL_COMP_delete_if_func = ::core::option::Option<
26901 unsafe extern "C" fn(arg1: *mut SSL_COMP, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
26902>;
26903unsafe extern "C" {
26904 #[link_name = "sk_SSL_COMP_call_free_func__extern"]
26905 pub fn sk_SSL_COMP_call_free_func(
26906 free_func: OPENSSL_sk_free_func,
26907 ptr: *mut ::core::ffi::c_void,
26908 );
26909}
26910unsafe extern "C" {
26911 #[link_name = "sk_SSL_COMP_call_copy_func__extern"]
26912 pub fn sk_SSL_COMP_call_copy_func(
26913 copy_func: OPENSSL_sk_copy_func,
26914 ptr: *const ::core::ffi::c_void,
26915 ) -> *mut ::core::ffi::c_void;
26916}
26917unsafe extern "C" {
26918 #[link_name = "sk_SSL_COMP_call_cmp_func__extern"]
26919 pub fn sk_SSL_COMP_call_cmp_func(
26920 cmp_func: OPENSSL_sk_cmp_func,
26921 a: *const ::core::ffi::c_void,
26922 b: *const ::core::ffi::c_void,
26923 ) -> ::core::ffi::c_int;
26924}
26925unsafe extern "C" {
26926 #[link_name = "sk_SSL_COMP_call_delete_if_func__extern"]
26927 pub fn sk_SSL_COMP_call_delete_if_func(
26928 func: OPENSSL_sk_delete_if_func,
26929 obj: *mut ::core::ffi::c_void,
26930 data: *mut ::core::ffi::c_void,
26931 ) -> ::core::ffi::c_int;
26932}
26933unsafe extern "C" {
26934 #[link_name = "sk_SSL_COMP_new__extern"]
26935 pub fn sk_SSL_COMP_new(comp: sk_SSL_COMP_cmp_func) -> *mut stack_st_SSL_COMP;
26936}
26937unsafe extern "C" {
26938 #[link_name = "sk_SSL_COMP_new_null__extern"]
26939 pub fn sk_SSL_COMP_new_null() -> *mut stack_st_SSL_COMP;
26940}
26941unsafe extern "C" {
26942 #[link_name = "sk_SSL_COMP_num__extern"]
26943 pub fn sk_SSL_COMP_num(sk: *const stack_st_SSL_COMP) -> usize;
26944}
26945unsafe extern "C" {
26946 #[link_name = "sk_SSL_COMP_zero__extern"]
26947 pub fn sk_SSL_COMP_zero(sk: *mut stack_st_SSL_COMP);
26948}
26949unsafe extern "C" {
26950 #[link_name = "sk_SSL_COMP_value__extern"]
26951 pub fn sk_SSL_COMP_value(sk: *const stack_st_SSL_COMP, i: usize) -> *mut SSL_COMP;
26952}
26953unsafe extern "C" {
26954 #[link_name = "sk_SSL_COMP_set__extern"]
26955 pub fn sk_SSL_COMP_set(sk: *mut stack_st_SSL_COMP, i: usize, p: *mut SSL_COMP)
26956 -> *mut SSL_COMP;
26957}
26958unsafe extern "C" {
26959 #[link_name = "sk_SSL_COMP_free__extern"]
26960 pub fn sk_SSL_COMP_free(sk: *mut stack_st_SSL_COMP);
26961}
26962unsafe extern "C" {
26963 #[link_name = "sk_SSL_COMP_pop_free__extern"]
26964 pub fn sk_SSL_COMP_pop_free(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
26965}
26966unsafe extern "C" {
26967 #[link_name = "sk_SSL_COMP_insert__extern"]
26968 pub fn sk_SSL_COMP_insert(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP, where_: usize)
26969 -> usize;
26970}
26971unsafe extern "C" {
26972 #[link_name = "sk_SSL_COMP_delete__extern"]
26973 pub fn sk_SSL_COMP_delete(sk: *mut stack_st_SSL_COMP, where_: usize) -> *mut SSL_COMP;
26974}
26975unsafe extern "C" {
26976 #[link_name = "sk_SSL_COMP_delete_ptr__extern"]
26977 pub fn sk_SSL_COMP_delete_ptr(sk: *mut stack_st_SSL_COMP, p: *const SSL_COMP) -> *mut SSL_COMP;
26978}
26979unsafe extern "C" {
26980 #[link_name = "sk_SSL_COMP_delete_if__extern"]
26981 pub fn sk_SSL_COMP_delete_if(
26982 sk: *mut stack_st_SSL_COMP,
26983 func: sk_SSL_COMP_delete_if_func,
26984 data: *mut ::core::ffi::c_void,
26985 );
26986}
26987unsafe extern "C" {
26988 #[link_name = "sk_SSL_COMP_find__extern"]
26989 pub fn sk_SSL_COMP_find(
26990 sk: *const stack_st_SSL_COMP,
26991 out_index: *mut usize,
26992 p: *const SSL_COMP,
26993 ) -> ::core::ffi::c_int;
26994}
26995unsafe extern "C" {
26996 #[link_name = "sk_SSL_COMP_shift__extern"]
26997 pub fn sk_SSL_COMP_shift(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
26998}
26999unsafe extern "C" {
27000 #[link_name = "sk_SSL_COMP_push__extern"]
27001 pub fn sk_SSL_COMP_push(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP) -> usize;
27002}
27003unsafe extern "C" {
27004 #[link_name = "sk_SSL_COMP_pop__extern"]
27005 pub fn sk_SSL_COMP_pop(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
27006}
27007unsafe extern "C" {
27008 #[link_name = "sk_SSL_COMP_dup__extern"]
27009 pub fn sk_SSL_COMP_dup(sk: *const stack_st_SSL_COMP) -> *mut stack_st_SSL_COMP;
27010}
27011unsafe extern "C" {
27012 #[link_name = "sk_SSL_COMP_sort__extern"]
27013 pub fn sk_SSL_COMP_sort(sk: *mut stack_st_SSL_COMP);
27014}
27015unsafe extern "C" {
27016 #[link_name = "sk_SSL_COMP_sort_and_dedup__extern"]
27017 pub fn sk_SSL_COMP_sort_and_dedup(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
27018}
27019unsafe extern "C" {
27020 #[link_name = "sk_SSL_COMP_is_sorted__extern"]
27021 pub fn sk_SSL_COMP_is_sorted(sk: *const stack_st_SSL_COMP) -> ::core::ffi::c_int;
27022}
27023unsafe extern "C" {
27024 #[link_name = "sk_SSL_COMP_set_cmp_func__extern"]
27025 pub fn sk_SSL_COMP_set_cmp_func(
27026 sk: *mut stack_st_SSL_COMP,
27027 comp: sk_SSL_COMP_cmp_func,
27028 ) -> sk_SSL_COMP_cmp_func;
27029}
27030unsafe extern "C" {
27031 #[link_name = "sk_SSL_COMP_deep_copy__extern"]
27032 pub fn sk_SSL_COMP_deep_copy(
27033 sk: *const stack_st_SSL_COMP,
27034 copy_func: sk_SSL_COMP_copy_func,
27035 free_func: sk_SSL_COMP_free_func,
27036 ) -> *mut stack_st_SSL_COMP;
27037}
27038unsafe extern "C" {
27039 pub fn SSL_cache_hit(ssl: *mut SSL) -> ::core::ffi::c_int;
27040}
27041unsafe extern "C" {
27042 pub fn SSL_get_default_timeout(ssl: *const SSL) -> ::core::ffi::c_long;
27043}
27044unsafe extern "C" {
27045 pub fn SSL_get_version(ssl: *const SSL) -> *const ::core::ffi::c_char;
27046}
27047unsafe extern "C" {
27048 pub fn SSL_get_all_version_names(out: *mut *const ::core::ffi::c_char, max_out: usize)
27049 -> usize;
27050}
27051unsafe extern "C" {
27052 pub fn SSL_get_cipher_list(
27053 ssl: *const SSL,
27054 n: ::core::ffi::c_int,
27055 ) -> *const ::core::ffi::c_char;
27056}
27057unsafe extern "C" {
27058 pub fn SSL_CTX_set_client_cert_cb(
27059 ctx: *mut SSL_CTX,
27060 cb: ::core::option::Option<
27061 unsafe extern "C" fn(
27062 ssl: *mut SSL,
27063 out_x509: *mut *mut X509,
27064 out_pkey: *mut *mut EVP_PKEY,
27065 ) -> ::core::ffi::c_int,
27066 >,
27067 );
27068}
27069unsafe extern "C" {
27070 pub fn SSL_want(ssl: *const SSL) -> ::core::ffi::c_int;
27071}
27072unsafe extern "C" {
27073 pub fn SSL_get_finished(ssl: *const SSL, buf: *mut ::core::ffi::c_void, count: usize) -> usize;
27074}
27075unsafe extern "C" {
27076 pub fn SSL_get_peer_finished(
27077 ssl: *const SSL,
27078 buf: *mut ::core::ffi::c_void,
27079 count: usize,
27080 ) -> usize;
27081}
27082unsafe extern "C" {
27083 pub fn SSL_alert_type_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
27084}
27085unsafe extern "C" {
27086 pub fn SSL_alert_desc_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
27087}
27088unsafe extern "C" {
27089 pub fn SSL_state_string(ssl: *const SSL) -> *const ::core::ffi::c_char;
27090}
27091#[repr(C)]
27092#[derive(Debug)]
27093pub struct ssl_conf_ctx_st {
27094 _unused: [u8; 0],
27095}
27096pub type SSL_CONF_CTX = ssl_conf_ctx_st;
27097unsafe extern "C" {
27098 pub fn SSL_state(ssl: *const SSL) -> ::core::ffi::c_int;
27099}
27100unsafe extern "C" {
27101 pub fn SSL_set_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
27102}
27103unsafe extern "C" {
27104 pub fn SSL_CTX_set_tmp_ecdh(ctx: *mut SSL_CTX, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
27105}
27106unsafe extern "C" {
27107 pub fn SSL_set_tmp_ecdh(ssl: *mut SSL, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
27108}
27109unsafe extern "C" {
27110 pub fn SSL_add_dir_cert_subjects_to_stack(
27111 out: *mut stack_st_X509_NAME,
27112 dir: *const ::core::ffi::c_char,
27113 ) -> ::core::ffi::c_int;
27114}
27115unsafe extern "C" {
27116 pub fn SSL_CTX_enable_tls_channel_id(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
27117}
27118unsafe extern "C" {
27119 pub fn SSL_enable_tls_channel_id(ssl: *mut SSL) -> ::core::ffi::c_int;
27120}
27121unsafe extern "C" {
27122 pub fn BIO_f_ssl() -> *const BIO_METHOD;
27123}
27124unsafe extern "C" {
27125 pub fn BIO_set_ssl(
27126 bio: *mut BIO,
27127 ssl: *mut SSL,
27128 take_owership: ::core::ffi::c_int,
27129 ) -> ::core::ffi::c_long;
27130}
27131unsafe extern "C" {
27132 pub fn SSL_get_session(ssl: *const SSL) -> *mut SSL_SESSION;
27133}
27134unsafe extern "C" {
27135 pub fn SSL_get1_session(ssl: *mut SSL) -> *mut SSL_SESSION;
27136}
27137unsafe extern "C" {
27138 pub fn OPENSSL_init_ssl(
27139 opts: u64,
27140 settings: *const OPENSSL_INIT_SETTINGS,
27141 ) -> ::core::ffi::c_int;
27142}
27143unsafe extern "C" {
27144 pub fn SSL_set_tlsext_status_type(
27145 ssl: *mut SSL,
27146 type_: ::core::ffi::c_int,
27147 ) -> ::core::ffi::c_int;
27148}
27149unsafe extern "C" {
27150 pub fn SSL_get_tlsext_status_type(ssl: *const SSL) -> ::core::ffi::c_int;
27151}
27152unsafe extern "C" {
27153 pub fn SSL_set_tlsext_status_ocsp_resp(
27154 ssl: *mut SSL,
27155 resp: *mut u8,
27156 resp_len: usize,
27157 ) -> ::core::ffi::c_int;
27158}
27159unsafe extern "C" {
27160 pub fn SSL_get_tlsext_status_ocsp_resp(ssl: *const SSL, out: *mut *const u8) -> usize;
27161}
27162unsafe extern "C" {
27163 pub fn SSL_CTX_set_tlsext_status_cb(
27164 ctx: *mut SSL_CTX,
27165 callback: ::core::option::Option<
27166 unsafe extern "C" fn(
27167 ssl: *mut SSL,
27168 arg: *mut ::core::ffi::c_void,
27169 ) -> ::core::ffi::c_int,
27170 >,
27171 ) -> ::core::ffi::c_int;
27172}
27173unsafe extern "C" {
27174 pub fn SSL_CTX_set_tlsext_status_arg(
27175 ctx: *mut SSL_CTX,
27176 arg: *mut ::core::ffi::c_void,
27177 ) -> ::core::ffi::c_int;
27178}
27179unsafe extern "C" {
27180 pub fn SSL_get_curve_id(ssl: *const SSL) -> u16;
27181}
27182unsafe extern "C" {
27183 pub fn SSL_get_curve_name(curve_id: u16) -> *const ::core::ffi::c_char;
27184}
27185unsafe extern "C" {
27186 pub fn SSL_get_all_curve_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
27187}
27188unsafe extern "C" {
27189 pub fn SSL_CTX_set1_curves(
27190 ctx: *mut SSL_CTX,
27191 curves: *const ::core::ffi::c_int,
27192 num_curves: usize,
27193 ) -> ::core::ffi::c_int;
27194}
27195unsafe extern "C" {
27196 pub fn SSL_set1_curves(
27197 ssl: *mut SSL,
27198 curves: *const ::core::ffi::c_int,
27199 num_curves: usize,
27200 ) -> ::core::ffi::c_int;
27201}
27202unsafe extern "C" {
27203 pub fn SSL_CTX_set1_curves_list(
27204 ctx: *mut SSL_CTX,
27205 curves: *const ::core::ffi::c_char,
27206 ) -> ::core::ffi::c_int;
27207}
27208unsafe extern "C" {
27209 pub fn SSL_set1_curves_list(
27210 ssl: *mut SSL,
27211 curves: *const ::core::ffi::c_char,
27212 ) -> ::core::ffi::c_int;
27213}
27214unsafe extern "C" {
27215 pub fn SSL_CTX_check_private_key(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27216}
27217unsafe extern "C" {
27218 pub fn SSL_check_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
27219}
27220unsafe extern "C" {
27221 pub fn SSL_CTX_get_security_level(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27222}
27223unsafe extern "C" {
27224 pub fn SSL_CTX_set0_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
27225}
27226pub const ssl_compliance_policy_t_ssl_compliance_policy_none: ssl_compliance_policy_t = 0;
27227pub const ssl_compliance_policy_t_ssl_compliance_policy_fips_202205: ssl_compliance_policy_t = 1;
27228pub const ssl_compliance_policy_t_ssl_compliance_policy_wpa3_192_202304: ssl_compliance_policy_t =
27229 2;
27230pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa_202407: ssl_compliance_policy_t = 3;
27231pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa1_202603: ssl_compliance_policy_t = 4;
27232pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa2_202603: ssl_compliance_policy_t = 5;
27233pub type ssl_compliance_policy_t = ::core::ffi::c_uint;
27234unsafe extern "C" {
27235 pub fn SSL_CTX_set_compliance_policy(
27236 ctx: *mut SSL_CTX,
27237 policy: ssl_compliance_policy_t,
27238 ) -> ::core::ffi::c_int;
27239}
27240unsafe extern "C" {
27241 pub fn SSL_CTX_get_compliance_policy(ctx: *const SSL_CTX) -> ssl_compliance_policy_t;
27242}
27243unsafe extern "C" {
27244 pub fn SSL_set_compliance_policy(
27245 ssl: *mut SSL,
27246 policy: ssl_compliance_policy_t,
27247 ) -> ::core::ffi::c_int;
27248}
27249unsafe extern "C" {
27250 pub fn SSL_get_compliance_policy(ssl: *const SSL) -> ssl_compliance_policy_t;
27251}
27252unsafe extern "C" {
27253 pub fn SSL_set_server_padding_request(ssl: *mut SSL, num_bytes: u16);
27254}
27255unsafe extern "C" {
27256 pub fn SSL_set_server_padding_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
27257}
27258unsafe extern "C" {
27259 pub fn SSL_server_sent_requested_padding(ssl: *const SSL) -> ::core::ffi::c_int;
27260}
27261unsafe extern "C" {
27262 pub fn CRYPTO_tls1_prf(
27263 digest: *const EVP_MD,
27264 out: *mut u8,
27265 out_len: usize,
27266 secret: *const u8,
27267 secret_len: usize,
27268 label: *const u8,
27269 label_len: usize,
27270 seed1: *const u8,
27271 seed1_len: usize,
27272 seed2: *const u8,
27273 seed2_len: usize,
27274 ) -> ::core::ffi::c_int;
27275}
27276unsafe extern "C" {
27277 pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27278}
27279unsafe extern "C" {
27280 pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27281}
27282unsafe extern "C" {
27283 pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27284}
27285unsafe extern "C" {
27286 pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27287}
27288unsafe extern "C" {
27289 pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27290}
27291#[repr(C)]
27292#[derive(Debug, Copy, Clone)]
27293pub struct trust_token_st {
27294 pub data: *mut u8,
27295 pub len: usize,
27296}
27297#[repr(C)]
27298#[derive(Debug)]
27299pub struct stack_st_TRUST_TOKEN {
27300 _unused: [u8; 0],
27301}
27302pub type sk_TRUST_TOKEN_free_func =
27303 ::core::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27304pub type sk_TRUST_TOKEN_copy_func =
27305 ::core::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27306pub type sk_TRUST_TOKEN_cmp_func = ::core::option::Option<
27307 unsafe extern "C" fn(
27308 arg1: *const *const TRUST_TOKEN,
27309 arg2: *const *const TRUST_TOKEN,
27310 ) -> ::core::ffi::c_int,
27311>;
27312pub type sk_TRUST_TOKEN_delete_if_func = ::core::option::Option<
27313 unsafe extern "C" fn(
27314 arg1: *mut TRUST_TOKEN,
27315 arg2: *mut ::core::ffi::c_void,
27316 ) -> ::core::ffi::c_int,
27317>;
27318unsafe extern "C" {
27319 #[link_name = "sk_TRUST_TOKEN_call_free_func__extern"]
27320 pub fn sk_TRUST_TOKEN_call_free_func(
27321 free_func: OPENSSL_sk_free_func,
27322 ptr: *mut ::core::ffi::c_void,
27323 );
27324}
27325unsafe extern "C" {
27326 #[link_name = "sk_TRUST_TOKEN_call_copy_func__extern"]
27327 pub fn sk_TRUST_TOKEN_call_copy_func(
27328 copy_func: OPENSSL_sk_copy_func,
27329 ptr: *const ::core::ffi::c_void,
27330 ) -> *mut ::core::ffi::c_void;
27331}
27332unsafe extern "C" {
27333 #[link_name = "sk_TRUST_TOKEN_call_cmp_func__extern"]
27334 pub fn sk_TRUST_TOKEN_call_cmp_func(
27335 cmp_func: OPENSSL_sk_cmp_func,
27336 a: *const ::core::ffi::c_void,
27337 b: *const ::core::ffi::c_void,
27338 ) -> ::core::ffi::c_int;
27339}
27340unsafe extern "C" {
27341 #[link_name = "sk_TRUST_TOKEN_call_delete_if_func__extern"]
27342 pub fn sk_TRUST_TOKEN_call_delete_if_func(
27343 func: OPENSSL_sk_delete_if_func,
27344 obj: *mut ::core::ffi::c_void,
27345 data: *mut ::core::ffi::c_void,
27346 ) -> ::core::ffi::c_int;
27347}
27348unsafe extern "C" {
27349 #[link_name = "sk_TRUST_TOKEN_new__extern"]
27350 pub fn sk_TRUST_TOKEN_new(comp: sk_TRUST_TOKEN_cmp_func) -> *mut stack_st_TRUST_TOKEN;
27351}
27352unsafe extern "C" {
27353 #[link_name = "sk_TRUST_TOKEN_new_null__extern"]
27354 pub fn sk_TRUST_TOKEN_new_null() -> *mut stack_st_TRUST_TOKEN;
27355}
27356unsafe extern "C" {
27357 #[link_name = "sk_TRUST_TOKEN_num__extern"]
27358 pub fn sk_TRUST_TOKEN_num(sk: *const stack_st_TRUST_TOKEN) -> usize;
27359}
27360unsafe extern "C" {
27361 #[link_name = "sk_TRUST_TOKEN_zero__extern"]
27362 pub fn sk_TRUST_TOKEN_zero(sk: *mut stack_st_TRUST_TOKEN);
27363}
27364unsafe extern "C" {
27365 #[link_name = "sk_TRUST_TOKEN_value__extern"]
27366 pub fn sk_TRUST_TOKEN_value(sk: *const stack_st_TRUST_TOKEN, i: usize) -> *mut TRUST_TOKEN;
27367}
27368unsafe extern "C" {
27369 #[link_name = "sk_TRUST_TOKEN_set__extern"]
27370 pub fn sk_TRUST_TOKEN_set(
27371 sk: *mut stack_st_TRUST_TOKEN,
27372 i: usize,
27373 p: *mut TRUST_TOKEN,
27374 ) -> *mut TRUST_TOKEN;
27375}
27376unsafe extern "C" {
27377 #[link_name = "sk_TRUST_TOKEN_free__extern"]
27378 pub fn sk_TRUST_TOKEN_free(sk: *mut stack_st_TRUST_TOKEN);
27379}
27380unsafe extern "C" {
27381 #[link_name = "sk_TRUST_TOKEN_pop_free__extern"]
27382 pub fn sk_TRUST_TOKEN_pop_free(
27383 sk: *mut stack_st_TRUST_TOKEN,
27384 free_func: sk_TRUST_TOKEN_free_func,
27385 );
27386}
27387unsafe extern "C" {
27388 #[link_name = "sk_TRUST_TOKEN_insert__extern"]
27389 pub fn sk_TRUST_TOKEN_insert(
27390 sk: *mut stack_st_TRUST_TOKEN,
27391 p: *mut TRUST_TOKEN,
27392 where_: usize,
27393 ) -> usize;
27394}
27395unsafe extern "C" {
27396 #[link_name = "sk_TRUST_TOKEN_delete__extern"]
27397 pub fn sk_TRUST_TOKEN_delete(sk: *mut stack_st_TRUST_TOKEN, where_: usize) -> *mut TRUST_TOKEN;
27398}
27399unsafe extern "C" {
27400 #[link_name = "sk_TRUST_TOKEN_delete_ptr__extern"]
27401 pub fn sk_TRUST_TOKEN_delete_ptr(
27402 sk: *mut stack_st_TRUST_TOKEN,
27403 p: *const TRUST_TOKEN,
27404 ) -> *mut TRUST_TOKEN;
27405}
27406unsafe extern "C" {
27407 #[link_name = "sk_TRUST_TOKEN_delete_if__extern"]
27408 pub fn sk_TRUST_TOKEN_delete_if(
27409 sk: *mut stack_st_TRUST_TOKEN,
27410 func: sk_TRUST_TOKEN_delete_if_func,
27411 data: *mut ::core::ffi::c_void,
27412 );
27413}
27414unsafe extern "C" {
27415 #[link_name = "sk_TRUST_TOKEN_find__extern"]
27416 pub fn sk_TRUST_TOKEN_find(
27417 sk: *const stack_st_TRUST_TOKEN,
27418 out_index: *mut usize,
27419 p: *const TRUST_TOKEN,
27420 ) -> ::core::ffi::c_int;
27421}
27422unsafe extern "C" {
27423 #[link_name = "sk_TRUST_TOKEN_shift__extern"]
27424 pub fn sk_TRUST_TOKEN_shift(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27425}
27426unsafe extern "C" {
27427 #[link_name = "sk_TRUST_TOKEN_push__extern"]
27428 pub fn sk_TRUST_TOKEN_push(sk: *mut stack_st_TRUST_TOKEN, p: *mut TRUST_TOKEN) -> usize;
27429}
27430unsafe extern "C" {
27431 #[link_name = "sk_TRUST_TOKEN_pop__extern"]
27432 pub fn sk_TRUST_TOKEN_pop(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27433}
27434unsafe extern "C" {
27435 #[link_name = "sk_TRUST_TOKEN_dup__extern"]
27436 pub fn sk_TRUST_TOKEN_dup(sk: *const stack_st_TRUST_TOKEN) -> *mut stack_st_TRUST_TOKEN;
27437}
27438unsafe extern "C" {
27439 #[link_name = "sk_TRUST_TOKEN_sort__extern"]
27440 pub fn sk_TRUST_TOKEN_sort(sk: *mut stack_st_TRUST_TOKEN);
27441}
27442unsafe extern "C" {
27443 #[link_name = "sk_TRUST_TOKEN_sort_and_dedup__extern"]
27444 pub fn sk_TRUST_TOKEN_sort_and_dedup(
27445 sk: *mut stack_st_TRUST_TOKEN,
27446 free_func: sk_TRUST_TOKEN_free_func,
27447 );
27448}
27449unsafe extern "C" {
27450 #[link_name = "sk_TRUST_TOKEN_is_sorted__extern"]
27451 pub fn sk_TRUST_TOKEN_is_sorted(sk: *const stack_st_TRUST_TOKEN) -> ::core::ffi::c_int;
27452}
27453unsafe extern "C" {
27454 #[link_name = "sk_TRUST_TOKEN_set_cmp_func__extern"]
27455 pub fn sk_TRUST_TOKEN_set_cmp_func(
27456 sk: *mut stack_st_TRUST_TOKEN,
27457 comp: sk_TRUST_TOKEN_cmp_func,
27458 ) -> sk_TRUST_TOKEN_cmp_func;
27459}
27460unsafe extern "C" {
27461 #[link_name = "sk_TRUST_TOKEN_deep_copy__extern"]
27462 pub fn sk_TRUST_TOKEN_deep_copy(
27463 sk: *const stack_st_TRUST_TOKEN,
27464 copy_func: sk_TRUST_TOKEN_copy_func,
27465 free_func: sk_TRUST_TOKEN_free_func,
27466 ) -> *mut stack_st_TRUST_TOKEN;
27467}
27468unsafe extern "C" {
27469 pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27470}
27471unsafe extern "C" {
27472 pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27473}
27474unsafe extern "C" {
27475 pub fn TRUST_TOKEN_generate_key(
27476 method: *const TRUST_TOKEN_METHOD,
27477 out_priv_key: *mut u8,
27478 out_priv_key_len: *mut usize,
27479 max_priv_key_len: usize,
27480 out_pub_key: *mut u8,
27481 out_pub_key_len: *mut usize,
27482 max_pub_key_len: usize,
27483 id: u32,
27484 ) -> ::core::ffi::c_int;
27485}
27486unsafe extern "C" {
27487 pub fn TRUST_TOKEN_derive_key_from_secret(
27488 method: *const TRUST_TOKEN_METHOD,
27489 out_priv_key: *mut u8,
27490 out_priv_key_len: *mut usize,
27491 max_priv_key_len: usize,
27492 out_pub_key: *mut u8,
27493 out_pub_key_len: *mut usize,
27494 max_pub_key_len: usize,
27495 id: u32,
27496 secret: *const u8,
27497 secret_len: usize,
27498 ) -> ::core::ffi::c_int;
27499}
27500unsafe extern "C" {
27501 pub fn TRUST_TOKEN_CLIENT_new(
27502 method: *const TRUST_TOKEN_METHOD,
27503 max_batchsize: usize,
27504 ) -> *mut TRUST_TOKEN_CLIENT;
27505}
27506unsafe extern "C" {
27507 pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27508}
27509unsafe extern "C" {
27510 pub fn TRUST_TOKEN_CLIENT_dup_for_testing(
27511 ctx: *const TRUST_TOKEN_CLIENT,
27512 ) -> *mut TRUST_TOKEN_CLIENT;
27513}
27514unsafe extern "C" {
27515 pub fn TRUST_TOKEN_CLIENT_add_key(
27516 ctx: *mut TRUST_TOKEN_CLIENT,
27517 out_key_index: *mut usize,
27518 key: *const u8,
27519 key_len: usize,
27520 ) -> ::core::ffi::c_int;
27521}
27522unsafe extern "C" {
27523 pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27524 ctx: *mut TRUST_TOKEN_CLIENT,
27525 key: *mut EVP_PKEY,
27526 ) -> ::core::ffi::c_int;
27527}
27528unsafe extern "C" {
27529 pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27530 ctx: *mut TRUST_TOKEN_CLIENT,
27531 out: *mut *mut u8,
27532 out_len: *mut usize,
27533 count: usize,
27534 ) -> ::core::ffi::c_int;
27535}
27536unsafe extern "C" {
27537 pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27538 ctx: *mut TRUST_TOKEN_CLIENT,
27539 out: *mut *mut u8,
27540 out_len: *mut usize,
27541 count: usize,
27542 msg: *const u8,
27543 msg_len: usize,
27544 ) -> ::core::ffi::c_int;
27545}
27546unsafe extern "C" {
27547 pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27548 ctx: *mut TRUST_TOKEN_CLIENT,
27549 out_key_index: *mut usize,
27550 response: *const u8,
27551 response_len: usize,
27552 ) -> *mut stack_st_TRUST_TOKEN;
27553}
27554unsafe extern "C" {
27555 pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27556 ctx: *mut TRUST_TOKEN_CLIENT,
27557 out: *mut *mut u8,
27558 out_len: *mut usize,
27559 token: *const TRUST_TOKEN,
27560 data: *const u8,
27561 data_len: usize,
27562 time: u64,
27563 ) -> ::core::ffi::c_int;
27564}
27565unsafe extern "C" {
27566 pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27567 ctx: *mut TRUST_TOKEN_CLIENT,
27568 out_rr: *mut *mut u8,
27569 out_rr_len: *mut usize,
27570 out_sig: *mut *mut u8,
27571 out_sig_len: *mut usize,
27572 response: *const u8,
27573 response_len: usize,
27574 ) -> ::core::ffi::c_int;
27575}
27576unsafe extern "C" {
27577 pub fn TRUST_TOKEN_ISSUER_new(
27578 method: *const TRUST_TOKEN_METHOD,
27579 max_batchsize: usize,
27580 ) -> *mut TRUST_TOKEN_ISSUER;
27581}
27582unsafe extern "C" {
27583 pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27584}
27585unsafe extern "C" {
27586 pub fn TRUST_TOKEN_ISSUER_add_key(
27587 ctx: *mut TRUST_TOKEN_ISSUER,
27588 key: *const u8,
27589 key_len: usize,
27590 ) -> ::core::ffi::c_int;
27591}
27592unsafe extern "C" {
27593 pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27594 ctx: *mut TRUST_TOKEN_ISSUER,
27595 key: *mut EVP_PKEY,
27596 ) -> ::core::ffi::c_int;
27597}
27598unsafe extern "C" {
27599 pub fn TRUST_TOKEN_ISSUER_issue(
27600 ctx: *const TRUST_TOKEN_ISSUER,
27601 out: *mut *mut u8,
27602 out_len: *mut usize,
27603 out_tokens_issued: *mut usize,
27604 request: *const u8,
27605 request_len: usize,
27606 public_metadata: u32,
27607 private_metadata: u8,
27608 max_issuance: usize,
27609 ) -> ::core::ffi::c_int;
27610}
27611unsafe extern "C" {
27612 pub fn TRUST_TOKEN_ISSUER_redeem(
27613 ctx: *const TRUST_TOKEN_ISSUER,
27614 out_public: *mut u32,
27615 out_private: *mut u8,
27616 out_token: *mut *mut TRUST_TOKEN,
27617 out_client_data: *mut *mut u8,
27618 out_client_data_len: *mut usize,
27619 request: *const u8,
27620 request_len: usize,
27621 ) -> ::core::ffi::c_int;
27622}
27623unsafe extern "C" {
27624 pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27625 ctx: *const TRUST_TOKEN_ISSUER,
27626 out_public: *mut u32,
27627 out_private: *mut u8,
27628 out_token: *mut *mut TRUST_TOKEN,
27629 out_client_data: *mut *mut u8,
27630 out_client_data_len: *mut usize,
27631 request: *const u8,
27632 request_len: usize,
27633 msg: *const u8,
27634 msg_len: usize,
27635 ) -> ::core::ffi::c_int;
27636}
27637unsafe extern "C" {
27638 pub fn TRUST_TOKEN_decode_private_metadata(
27639 method: *const TRUST_TOKEN_METHOD,
27640 out_value: *mut u8,
27641 key: *const u8,
27642 key_len: usize,
27643 nonce: *const u8,
27644 nonce_len: usize,
27645 encrypted_bit: u8,
27646 ) -> ::core::ffi::c_int;
27647}
27648pub type __builtin_va_list = [__va_list_tag; 1usize];
27649#[repr(C)]
27650#[derive(Debug, Copy, Clone)]
27651pub struct __va_list_tag {
27652 pub gp_offset: ::core::ffi::c_uint,
27653 pub fp_offset: ::core::ffi::c_uint,
27654 pub overflow_arg_area: *mut ::core::ffi::c_void,
27655 pub reg_save_area: *mut ::core::ffi::c_void,
27656}
27657#[repr(C)]
27658#[derive(Debug, Copy, Clone)]
27659pub struct CRYPTO_dynlock_value {
27660 pub _address: u8,
27661}
27662
27663