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 = 42;
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 CRYPTO_IOVEC_MAX: i32 = 16;
1219pub const SN_undef: &[u8; 6] = b"UNDEF\0";
1220pub const LN_undef: &[u8; 10] = b"undefined\0";
1221pub const NID_undef: i32 = 0;
1222pub const OBJ_undef: i32 = 0;
1223pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
1224pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
1225pub const NID_rsadsi: i32 = 1;
1226pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
1227pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
1228pub const NID_pkcs: i32 = 2;
1229pub const SN_md2: &[u8; 4] = b"MD2\0";
1230pub const LN_md2: &[u8; 4] = b"md2\0";
1231pub const NID_md2: i32 = 3;
1232pub const SN_md5: &[u8; 4] = b"MD5\0";
1233pub const LN_md5: &[u8; 4] = b"md5\0";
1234pub const NID_md5: i32 = 4;
1235pub const SN_rc4: &[u8; 4] = b"RC4\0";
1236pub const LN_rc4: &[u8; 4] = b"rc4\0";
1237pub const NID_rc4: i32 = 5;
1238pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
1239pub const NID_rsaEncryption: i32 = 6;
1240pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
1241pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
1242pub const NID_md2WithRSAEncryption: i32 = 7;
1243pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
1244pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
1245pub const NID_md5WithRSAEncryption: i32 = 8;
1246pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
1247pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
1248pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
1249pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
1250pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
1251pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
1252pub const SN_X500: &[u8; 5] = b"X500\0";
1253pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
1254pub const NID_X500: i32 = 11;
1255pub const OBJ_ENC_X500: i32 = 85;
1256pub const SN_X509: &[u8; 5] = b"X509\0";
1257pub const NID_X509: i32 = 12;
1258pub const SN_commonName: &[u8; 3] = b"CN\0";
1259pub const LN_commonName: &[u8; 11] = b"commonName\0";
1260pub const NID_commonName: i32 = 13;
1261pub const SN_countryName: &[u8; 2] = b"C\0";
1262pub const LN_countryName: &[u8; 12] = b"countryName\0";
1263pub const NID_countryName: i32 = 14;
1264pub const SN_localityName: &[u8; 2] = b"L\0";
1265pub const LN_localityName: &[u8; 13] = b"localityName\0";
1266pub const NID_localityName: i32 = 15;
1267pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
1268pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
1269pub const NID_stateOrProvinceName: i32 = 16;
1270pub const SN_organizationName: &[u8; 2] = b"O\0";
1271pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
1272pub const NID_organizationName: i32 = 17;
1273pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
1274pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
1275pub const NID_organizationalUnitName: i32 = 18;
1276pub const SN_rsa: &[u8; 4] = b"RSA\0";
1277pub const LN_rsa: &[u8; 4] = b"rsa\0";
1278pub const NID_rsa: i32 = 19;
1279pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
1280pub const NID_pkcs7: i32 = 20;
1281pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
1282pub const NID_pkcs7_data: i32 = 21;
1283pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
1284pub const NID_pkcs7_signed: i32 = 22;
1285pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1286pub const NID_pkcs7_enveloped: i32 = 23;
1287pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1288pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1289pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1290pub const NID_pkcs7_digest: i32 = 25;
1291pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1292pub const NID_pkcs7_encrypted: i32 = 26;
1293pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1294pub const NID_pkcs3: i32 = 27;
1295pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1296pub const NID_dhKeyAgreement: i32 = 28;
1297pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1298pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1299pub const NID_des_ecb: i32 = 29;
1300pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1301pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1302pub const NID_des_cfb64: i32 = 30;
1303pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1304pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1305pub const NID_des_cbc: i32 = 31;
1306pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1307pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1308pub const NID_des_ede_ecb: i32 = 32;
1309pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1310pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1311pub const NID_des_ede3_ecb: i32 = 33;
1312pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1313pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1314pub const NID_idea_cbc: i32 = 34;
1315pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1316pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1317pub const NID_idea_cfb64: i32 = 35;
1318pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1319pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1320pub const NID_idea_ecb: i32 = 36;
1321pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1322pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1323pub const NID_rc2_cbc: i32 = 37;
1324pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1325pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1326pub const NID_rc2_ecb: i32 = 38;
1327pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1328pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1329pub const NID_rc2_cfb64: i32 = 39;
1330pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1331pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1332pub const NID_rc2_ofb64: i32 = 40;
1333pub const SN_sha: &[u8; 4] = b"SHA\0";
1334pub const LN_sha: &[u8; 4] = b"sha\0";
1335pub const NID_sha: i32 = 41;
1336pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1337pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1338pub const NID_shaWithRSAEncryption: i32 = 42;
1339pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1340pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1341pub const NID_des_ede_cbc: i32 = 43;
1342pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1343pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1344pub const NID_des_ede3_cbc: i32 = 44;
1345pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1346pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1347pub const NID_des_ofb64: i32 = 45;
1348pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1349pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1350pub const NID_idea_ofb64: i32 = 46;
1351pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1352pub const NID_pkcs9: i32 = 47;
1353pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1354pub const NID_pkcs9_emailAddress: i32 = 48;
1355pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1356pub const NID_pkcs9_unstructuredName: i32 = 49;
1357pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1358pub const NID_pkcs9_contentType: i32 = 50;
1359pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1360pub const NID_pkcs9_messageDigest: i32 = 51;
1361pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1362pub const NID_pkcs9_signingTime: i32 = 52;
1363pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1364pub const NID_pkcs9_countersignature: i32 = 53;
1365pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1366pub const NID_pkcs9_challengePassword: i32 = 54;
1367pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1368pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1369pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1370pub const NID_pkcs9_extCertAttributes: i32 = 56;
1371pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1372pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1373pub const NID_netscape: i32 = 57;
1374pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1375pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1376pub const NID_netscape_cert_extension: i32 = 58;
1377pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1378pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1379pub const NID_netscape_data_type: i32 = 59;
1380pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1381pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1382pub const NID_des_ede_cfb64: i32 = 60;
1383pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1384pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1385pub const NID_des_ede3_cfb64: i32 = 61;
1386pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1387pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1388pub const NID_des_ede_ofb64: i32 = 62;
1389pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1390pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1391pub const NID_des_ede3_ofb64: i32 = 63;
1392pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1393pub const LN_sha1: &[u8; 5] = b"sha1\0";
1394pub const NID_sha1: i32 = 64;
1395pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1396pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1397pub const NID_sha1WithRSAEncryption: i32 = 65;
1398pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1399pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1400pub const NID_dsaWithSHA: i32 = 66;
1401pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1402pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1403pub const NID_dsa_2: i32 = 67;
1404pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1405pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1406pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1407pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1408pub const NID_id_pbkdf2: i32 = 69;
1409pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1410pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1411pub const NID_dsaWithSHA1_2: i32 = 70;
1412pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1413pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1414pub const NID_netscape_cert_type: i32 = 71;
1415pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1416pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1417pub const NID_netscape_base_url: i32 = 72;
1418pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1419pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1420pub const NID_netscape_revocation_url: i32 = 73;
1421pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1422pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1423pub const NID_netscape_ca_revocation_url: i32 = 74;
1424pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1425pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1426pub const NID_netscape_renewal_url: i32 = 75;
1427pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1428pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1429pub const NID_netscape_ca_policy_url: i32 = 76;
1430pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1431pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1432pub const NID_netscape_ssl_server_name: i32 = 77;
1433pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1434pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1435pub const NID_netscape_comment: i32 = 78;
1436pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1437pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1438pub const NID_netscape_cert_sequence: i32 = 79;
1439pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1440pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1441pub const NID_desx_cbc: i32 = 80;
1442pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1443pub const NID_id_ce: i32 = 81;
1444pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1445pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1446pub const NID_subject_key_identifier: i32 = 82;
1447pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1448pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1449pub const NID_key_usage: i32 = 83;
1450pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1451pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1452pub const NID_private_key_usage_period: i32 = 84;
1453pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1454pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1455pub const NID_subject_alt_name: i32 = 85;
1456pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1457pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1458pub const NID_issuer_alt_name: i32 = 86;
1459pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1460pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1461pub const NID_basic_constraints: i32 = 87;
1462pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1463pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1464pub const NID_crl_number: i32 = 88;
1465pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1466pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1467pub const NID_certificate_policies: i32 = 89;
1468pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1469pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1470pub const NID_authority_key_identifier: i32 = 90;
1471pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1472pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1473pub const NID_bf_cbc: i32 = 91;
1474pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1475pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1476pub const NID_bf_ecb: i32 = 92;
1477pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1478pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1479pub const NID_bf_cfb64: i32 = 93;
1480pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1481pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1482pub const NID_bf_ofb64: i32 = 94;
1483pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1484pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1485pub const NID_mdc2: i32 = 95;
1486pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1487pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1488pub const NID_mdc2WithRSA: i32 = 96;
1489pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1490pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1491pub const NID_rc4_40: i32 = 97;
1492pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1493pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1494pub const NID_rc2_40_cbc: i32 = 98;
1495pub const SN_givenName: &[u8; 3] = b"GN\0";
1496pub const LN_givenName: &[u8; 10] = b"givenName\0";
1497pub const NID_givenName: i32 = 99;
1498pub const SN_surname: &[u8; 3] = b"SN\0";
1499pub const LN_surname: &[u8; 8] = b"surname\0";
1500pub const NID_surname: i32 = 100;
1501pub const SN_initials: &[u8; 9] = b"initials\0";
1502pub const LN_initials: &[u8; 9] = b"initials\0";
1503pub const NID_initials: i32 = 101;
1504pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1505pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1506pub const NID_crl_distribution_points: i32 = 103;
1507pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1508pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1509pub const NID_md5WithRSA: i32 = 104;
1510pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1511pub const NID_serialNumber: i32 = 105;
1512pub const SN_title: &[u8; 6] = b"title\0";
1513pub const LN_title: &[u8; 6] = b"title\0";
1514pub const NID_title: i32 = 106;
1515pub const LN_description: &[u8; 12] = b"description\0";
1516pub const NID_description: i32 = 107;
1517pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1518pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1519pub const NID_cast5_cbc: i32 = 108;
1520pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1521pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1522pub const NID_cast5_ecb: i32 = 109;
1523pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1524pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1525pub const NID_cast5_cfb64: i32 = 110;
1526pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1527pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1528pub const NID_cast5_ofb64: i32 = 111;
1529pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1530pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1531pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1532pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1533pub const NID_dsaWithSHA1: i32 = 113;
1534pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1535pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1536pub const NID_md5_sha1: i32 = 114;
1537pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1538pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1539pub const NID_sha1WithRSA: i32 = 115;
1540pub const SN_dsa: &[u8; 4] = b"DSA\0";
1541pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1542pub const NID_dsa: i32 = 116;
1543pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1544pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1545pub const NID_ripemd160: i32 = 117;
1546pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1547pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1548pub const NID_ripemd160WithRSA: i32 = 119;
1549pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1550pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1551pub const NID_rc5_cbc: i32 = 120;
1552pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1553pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1554pub const NID_rc5_ecb: i32 = 121;
1555pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1556pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1557pub const NID_rc5_cfb64: i32 = 122;
1558pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1559pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1560pub const NID_rc5_ofb64: i32 = 123;
1561pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1562pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1563pub const NID_zlib_compression: i32 = 125;
1564pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1565pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1566pub const NID_ext_key_usage: i32 = 126;
1567pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1568pub const NID_id_pkix: i32 = 127;
1569pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1570pub const NID_id_kp: i32 = 128;
1571pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1572pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1573pub const NID_server_auth: i32 = 129;
1574pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1575pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1576pub const NID_client_auth: i32 = 130;
1577pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1578pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1579pub const NID_code_sign: i32 = 131;
1580pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1581pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1582pub const NID_email_protect: i32 = 132;
1583pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1584pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1585pub const NID_time_stamp: i32 = 133;
1586pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1587pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1588pub const NID_ms_code_ind: i32 = 134;
1589pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1590pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1591pub const NID_ms_code_com: i32 = 135;
1592pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1593pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1594pub const NID_ms_ctl_sign: i32 = 136;
1595pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1596pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1597pub const NID_ms_sgc: i32 = 137;
1598pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1599pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1600pub const NID_ms_efs: i32 = 138;
1601pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1602pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1603pub const NID_ns_sgc: i32 = 139;
1604pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1605pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1606pub const NID_delta_crl: i32 = 140;
1607pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1608pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1609pub const NID_crl_reason: i32 = 141;
1610pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1611pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1612pub const NID_invalidity_date: i32 = 142;
1613pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1614pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1615pub const NID_sxnet: i32 = 143;
1616pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1617pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1618pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1619pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1620pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1621pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1622pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1623pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1624pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1625pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1626pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1627pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1628pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1629pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1630pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1631pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1632pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1633pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1634pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1635pub const NID_keyBag: i32 = 150;
1636pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1637pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1638pub const LN_certBag: &[u8; 8] = b"certBag\0";
1639pub const NID_certBag: i32 = 152;
1640pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1641pub const NID_crlBag: i32 = 153;
1642pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1643pub const NID_secretBag: i32 = 154;
1644pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1645pub const NID_safeContentsBag: i32 = 155;
1646pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1647pub const NID_friendlyName: i32 = 156;
1648pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1649pub const NID_localKeyID: i32 = 157;
1650pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1651pub const NID_x509Certificate: i32 = 158;
1652pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1653pub const NID_sdsiCertificate: i32 = 159;
1654pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1655pub const NID_x509Crl: i32 = 160;
1656pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1657pub const NID_pbes2: i32 = 161;
1658pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1659pub const NID_pbmac1: i32 = 162;
1660pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1661pub const NID_hmacWithSHA1: i32 = 163;
1662pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1663pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1664pub const NID_id_qt_cps: i32 = 164;
1665pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1666pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1667pub const NID_id_qt_unotice: i32 = 165;
1668pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1669pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1670pub const NID_rc2_64_cbc: i32 = 166;
1671pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1672pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1673pub const NID_SMIMECapabilities: i32 = 167;
1674pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1675pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1676pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1677pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1678pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1679pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1680pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1681pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1682pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1683pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1684pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1685pub const NID_ms_ext_req: i32 = 171;
1686pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1687pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1688pub const NID_ext_req: i32 = 172;
1689pub const SN_name: &[u8; 5] = b"name\0";
1690pub const LN_name: &[u8; 5] = b"name\0";
1691pub const NID_name: i32 = 173;
1692pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1693pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1694pub const NID_dnQualifier: i32 = 174;
1695pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1696pub const NID_id_pe: i32 = 175;
1697pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1698pub const NID_id_ad: i32 = 176;
1699pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1700pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1701pub const NID_info_access: i32 = 177;
1702pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1703pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1704pub const NID_ad_OCSP: i32 = 178;
1705pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1706pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1707pub const NID_ad_ca_issuers: i32 = 179;
1708pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1709pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1710pub const NID_OCSP_sign: i32 = 180;
1711pub const SN_iso: &[u8; 4] = b"ISO\0";
1712pub const LN_iso: &[u8; 4] = b"iso\0";
1713pub const NID_iso: i32 = 181;
1714pub const OBJ_iso: i32 = 1;
1715pub const SN_member_body: &[u8; 12] = b"member-body\0";
1716pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1717pub const NID_member_body: i32 = 182;
1718pub const OBJ_ENC_member_body: i32 = 42;
1719pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1720pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1721pub const NID_ISO_US: i32 = 183;
1722pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1723pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1724pub const NID_X9_57: i32 = 184;
1725pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1726pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1727pub const NID_X9cm: i32 = 185;
1728pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1729pub const NID_pkcs1: i32 = 186;
1730pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1731pub const NID_pkcs5: i32 = 187;
1732pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1733pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1734pub const NID_SMIME: i32 = 188;
1735pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1736pub const NID_id_smime_mod: i32 = 189;
1737pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1738pub const NID_id_smime_ct: i32 = 190;
1739pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1740pub const NID_id_smime_aa: i32 = 191;
1741pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1742pub const NID_id_smime_alg: i32 = 192;
1743pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1744pub const NID_id_smime_cd: i32 = 193;
1745pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1746pub const NID_id_smime_spq: i32 = 194;
1747pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1748pub const NID_id_smime_cti: i32 = 195;
1749pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1750pub const NID_id_smime_mod_cms: i32 = 196;
1751pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1752pub const NID_id_smime_mod_ess: i32 = 197;
1753pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1754pub const NID_id_smime_mod_oid: i32 = 198;
1755pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1756pub const NID_id_smime_mod_msg_v3: i32 = 199;
1757pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1758pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1759pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1760pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1761pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1762pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1763pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1764pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1765pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1766pub const NID_id_smime_ct_receipt: i32 = 204;
1767pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1768pub const NID_id_smime_ct_authData: i32 = 205;
1769pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1770pub const NID_id_smime_ct_publishCert: i32 = 206;
1771pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1772pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1773pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1774pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1775pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1776pub const NID_id_smime_ct_contentInfo: i32 = 209;
1777pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1778pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1779pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1780pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1781pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1782pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1783pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1784pub const NID_id_smime_aa_securityLabel: i32 = 213;
1785pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1786pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1787pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1788pub const NID_id_smime_aa_contentHint: i32 = 215;
1789pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1790pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1791pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1792pub const NID_id_smime_aa_encapContentType: i32 = 217;
1793pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1794pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1795pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1796pub const NID_id_smime_aa_macValue: i32 = 219;
1797pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1798pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1799pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1800pub const NID_id_smime_aa_contentReference: i32 = 221;
1801pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1802pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1803pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1804pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1805pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1806pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1807pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1808pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1809pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1810pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1811pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1812pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1813pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1814pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1815pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1816pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1817pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1818pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1819pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1820pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1821pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1822pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1823pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1824pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1825pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1826pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1827pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1828pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1829pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1830pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1831pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1832pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1833pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1834pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1835pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1836pub const NID_id_smime_aa_signatureType: i32 = 239;
1837pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1838pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1839pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1840pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1841pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1842pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1843pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1844pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1845pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1846pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1847pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1848pub const NID_id_smime_alg_ESDH: i32 = 245;
1849pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1850pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1851pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1852pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1853pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1854pub const NID_id_smime_cd_ldap: i32 = 248;
1855pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1856pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1857pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1858pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1859pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1860pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1861pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1862pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1863pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1864pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1865pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1866pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1867pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1868pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1869pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1870pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1871pub const SN_md4: &[u8; 4] = b"MD4\0";
1872pub const LN_md4: &[u8; 4] = b"md4\0";
1873pub const NID_md4: i32 = 257;
1874pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1875pub const NID_id_pkix_mod: i32 = 258;
1876pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1877pub const NID_id_qt: i32 = 259;
1878pub const SN_id_it: &[u8; 6] = b"id-it\0";
1879pub const NID_id_it: i32 = 260;
1880pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1881pub const NID_id_pkip: i32 = 261;
1882pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1883pub const NID_id_alg: i32 = 262;
1884pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1885pub const NID_id_cmc: i32 = 263;
1886pub const SN_id_on: &[u8; 6] = b"id-on\0";
1887pub const NID_id_on: i32 = 264;
1888pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1889pub const NID_id_pda: i32 = 265;
1890pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1891pub const NID_id_aca: i32 = 266;
1892pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1893pub const NID_id_qcs: i32 = 267;
1894pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1895pub const NID_id_cct: i32 = 268;
1896pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1897pub const NID_id_pkix1_explicit_88: i32 = 269;
1898pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1899pub const NID_id_pkix1_implicit_88: i32 = 270;
1900pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1901pub const NID_id_pkix1_explicit_93: i32 = 271;
1902pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1903pub const NID_id_pkix1_implicit_93: i32 = 272;
1904pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1905pub const NID_id_mod_crmf: i32 = 273;
1906pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1907pub const NID_id_mod_cmc: i32 = 274;
1908pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1909pub const NID_id_mod_kea_profile_88: i32 = 275;
1910pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1911pub const NID_id_mod_kea_profile_93: i32 = 276;
1912pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1913pub const NID_id_mod_cmp: i32 = 277;
1914pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1915pub const NID_id_mod_qualified_cert_88: i32 = 278;
1916pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1917pub const NID_id_mod_qualified_cert_93: i32 = 279;
1918pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1919pub const NID_id_mod_attribute_cert: i32 = 280;
1920pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1921pub const NID_id_mod_timestamp_protocol: i32 = 281;
1922pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1923pub const NID_id_mod_ocsp: i32 = 282;
1924pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1925pub const NID_id_mod_dvcs: i32 = 283;
1926pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1927pub const NID_id_mod_cmp2000: i32 = 284;
1928pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1929pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1930pub const NID_biometricInfo: i32 = 285;
1931pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1932pub const NID_qcStatements: i32 = 286;
1933pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1934pub const NID_ac_auditEntity: i32 = 287;
1935pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1936pub const NID_ac_targeting: i32 = 288;
1937pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1938pub const NID_aaControls: i32 = 289;
1939pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1940pub const NID_sbgp_ipAddrBlock: i32 = 290;
1941pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1942pub const NID_sbgp_autonomousSysNum: i32 = 291;
1943pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1944pub const NID_sbgp_routerIdentifier: i32 = 292;
1945pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1946pub const NID_textNotice: i32 = 293;
1947pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1948pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1949pub const NID_ipsecEndSystem: i32 = 294;
1950pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1951pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1952pub const NID_ipsecTunnel: i32 = 295;
1953pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1954pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1955pub const NID_ipsecUser: i32 = 296;
1956pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1957pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1958pub const NID_dvcs: i32 = 297;
1959pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1960pub const NID_id_it_caProtEncCert: i32 = 298;
1961pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1962pub const NID_id_it_signKeyPairTypes: i32 = 299;
1963pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1964pub const NID_id_it_encKeyPairTypes: i32 = 300;
1965pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1966pub const NID_id_it_preferredSymmAlg: i32 = 301;
1967pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1968pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1969pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1970pub const NID_id_it_currentCRL: i32 = 303;
1971pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1972pub const NID_id_it_unsupportedOIDs: i32 = 304;
1973pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1974pub const NID_id_it_subscriptionRequest: i32 = 305;
1975pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1976pub const NID_id_it_subscriptionResponse: i32 = 306;
1977pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1978pub const NID_id_it_keyPairParamReq: i32 = 307;
1979pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1980pub const NID_id_it_keyPairParamRep: i32 = 308;
1981pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1982pub const NID_id_it_revPassphrase: i32 = 309;
1983pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1984pub const NID_id_it_implicitConfirm: i32 = 310;
1985pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1986pub const NID_id_it_confirmWaitTime: i32 = 311;
1987pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1988pub const NID_id_it_origPKIMessage: i32 = 312;
1989pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1990pub const NID_id_regCtrl: i32 = 313;
1991pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1992pub const NID_id_regInfo: i32 = 314;
1993pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1994pub const NID_id_regCtrl_regToken: i32 = 315;
1995pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1996pub const NID_id_regCtrl_authenticator: i32 = 316;
1997pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1998pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1999pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
2000pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
2001pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
2002pub const NID_id_regCtrl_oldCertID: i32 = 319;
2003pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
2004pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
2005pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
2006pub const NID_id_regInfo_utf8Pairs: i32 = 321;
2007pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
2008pub const NID_id_regInfo_certReq: i32 = 322;
2009pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
2010pub const NID_id_alg_des40: i32 = 323;
2011pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
2012pub const NID_id_alg_noSignature: i32 = 324;
2013pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
2014pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
2015pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
2016pub const NID_id_alg_dh_pop: i32 = 326;
2017pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
2018pub const NID_id_cmc_statusInfo: i32 = 327;
2019pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
2020pub const NID_id_cmc_identification: i32 = 328;
2021pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
2022pub const NID_id_cmc_identityProof: i32 = 329;
2023pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
2024pub const NID_id_cmc_dataReturn: i32 = 330;
2025pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
2026pub const NID_id_cmc_transactionId: i32 = 331;
2027pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
2028pub const NID_id_cmc_senderNonce: i32 = 332;
2029pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
2030pub const NID_id_cmc_recipientNonce: i32 = 333;
2031pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
2032pub const NID_id_cmc_addExtensions: i32 = 334;
2033pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
2034pub const NID_id_cmc_encryptedPOP: i32 = 335;
2035pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
2036pub const NID_id_cmc_decryptedPOP: i32 = 336;
2037pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
2038pub const NID_id_cmc_lraPOPWitness: i32 = 337;
2039pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
2040pub const NID_id_cmc_getCert: i32 = 338;
2041pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
2042pub const NID_id_cmc_getCRL: i32 = 339;
2043pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
2044pub const NID_id_cmc_revokeRequest: i32 = 340;
2045pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
2046pub const NID_id_cmc_regInfo: i32 = 341;
2047pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
2048pub const NID_id_cmc_responseInfo: i32 = 342;
2049pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
2050pub const NID_id_cmc_queryPending: i32 = 343;
2051pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
2052pub const NID_id_cmc_popLinkRandom: i32 = 344;
2053pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
2054pub const NID_id_cmc_popLinkWitness: i32 = 345;
2055pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
2056pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
2057pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
2058pub const NID_id_on_personalData: i32 = 347;
2059pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
2060pub const NID_id_pda_dateOfBirth: i32 = 348;
2061pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
2062pub const NID_id_pda_placeOfBirth: i32 = 349;
2063pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
2064pub const NID_id_pda_gender: i32 = 351;
2065pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
2066pub const NID_id_pda_countryOfCitizenship: i32 = 352;
2067pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
2068pub const NID_id_pda_countryOfResidence: i32 = 353;
2069pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
2070pub const NID_id_aca_authenticationInfo: i32 = 354;
2071pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
2072pub const NID_id_aca_accessIdentity: i32 = 355;
2073pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
2074pub const NID_id_aca_chargingIdentity: i32 = 356;
2075pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
2076pub const NID_id_aca_group: i32 = 357;
2077pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
2078pub const NID_id_aca_role: i32 = 358;
2079pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
2080pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
2081pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
2082pub const NID_id_cct_crs: i32 = 360;
2083pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
2084pub const NID_id_cct_PKIData: i32 = 361;
2085pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
2086pub const NID_id_cct_PKIResponse: i32 = 362;
2087pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
2088pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
2089pub const NID_ad_timeStamping: i32 = 363;
2090pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
2091pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
2092pub const NID_ad_dvcs: i32 = 364;
2093pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
2094pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
2095pub const NID_id_pkix_OCSP_basic: i32 = 365;
2096pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
2097pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
2098pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
2099pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
2100pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
2101pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
2102pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
2103pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
2104pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
2105pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
2106pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
2107pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
2108pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
2109pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
2110pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
2111pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
2112pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
2113pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
2114pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
2115pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
2116pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
2117pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
2118pub const NID_id_pkix_OCSP_valid: i32 = 373;
2119pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
2120pub const NID_id_pkix_OCSP_path: i32 = 374;
2121pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
2122pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
2123pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
2124pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
2125pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
2126pub const NID_algorithm: i32 = 376;
2127pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
2128pub const NID_rsaSignature: i32 = 377;
2129pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
2130pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
2131pub const NID_X500algorithms: i32 = 378;
2132pub const SN_org: &[u8; 4] = b"ORG\0";
2133pub const LN_org: &[u8; 4] = b"org\0";
2134pub const NID_org: i32 = 379;
2135pub const OBJ_ENC_org: i32 = 43;
2136pub const SN_dod: &[u8; 4] = b"DOD\0";
2137pub const LN_dod: &[u8; 4] = b"dod\0";
2138pub const NID_dod: i32 = 380;
2139pub const SN_iana: &[u8; 5] = b"IANA\0";
2140pub const LN_iana: &[u8; 5] = b"iana\0";
2141pub const NID_iana: i32 = 381;
2142pub const SN_Directory: &[u8; 10] = b"directory\0";
2143pub const LN_Directory: &[u8; 10] = b"Directory\0";
2144pub const NID_Directory: i32 = 382;
2145pub const SN_Management: &[u8; 5] = b"mgmt\0";
2146pub const LN_Management: &[u8; 11] = b"Management\0";
2147pub const NID_Management: i32 = 383;
2148pub const SN_Experimental: &[u8; 13] = b"experimental\0";
2149pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
2150pub const NID_Experimental: i32 = 384;
2151pub const SN_Private: &[u8; 8] = b"private\0";
2152pub const LN_Private: &[u8; 8] = b"Private\0";
2153pub const NID_Private: i32 = 385;
2154pub const SN_Security: &[u8; 9] = b"security\0";
2155pub const LN_Security: &[u8; 9] = b"Security\0";
2156pub const NID_Security: i32 = 386;
2157pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
2158pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
2159pub const NID_SNMPv2: i32 = 387;
2160pub const LN_Mail: &[u8; 5] = b"Mail\0";
2161pub const NID_Mail: i32 = 388;
2162pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
2163pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
2164pub const NID_Enterprises: i32 = 389;
2165pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
2166pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
2167pub const NID_dcObject: i32 = 390;
2168pub const SN_domainComponent: &[u8; 3] = b"DC\0";
2169pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
2170pub const NID_domainComponent: i32 = 391;
2171pub const SN_Domain: &[u8; 7] = b"domain\0";
2172pub const LN_Domain: &[u8; 7] = b"Domain\0";
2173pub const NID_Domain: i32 = 392;
2174pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
2175pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
2176pub const NID_selected_attribute_types: i32 = 394;
2177pub const SN_clearance: &[u8; 10] = b"clearance\0";
2178pub const NID_clearance: i32 = 395;
2179pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
2180pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
2181pub const NID_md4WithRSAEncryption: i32 = 396;
2182pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
2183pub const NID_ac_proxying: i32 = 397;
2184pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
2185pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
2186pub const NID_sinfo_access: i32 = 398;
2187pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
2188pub const NID_id_aca_encAttrs: i32 = 399;
2189pub const SN_role: &[u8; 5] = b"role\0";
2190pub const LN_role: &[u8; 5] = b"role\0";
2191pub const NID_role: i32 = 400;
2192pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
2193pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
2194pub const NID_policy_constraints: i32 = 401;
2195pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
2196pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
2197pub const NID_target_information: i32 = 402;
2198pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
2199pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
2200pub const NID_no_rev_avail: i32 = 403;
2201pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
2202pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
2203pub const NID_ansi_X9_62: i32 = 405;
2204pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
2205pub const NID_X9_62_prime_field: i32 = 406;
2206pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
2207pub const NID_X9_62_characteristic_two_field: i32 = 407;
2208pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
2209pub const NID_X9_62_id_ecPublicKey: i32 = 408;
2210pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
2211pub const NID_X9_62_prime192v1: i32 = 409;
2212pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
2213pub const NID_X9_62_prime192v2: i32 = 410;
2214pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
2215pub const NID_X9_62_prime192v3: i32 = 411;
2216pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
2217pub const NID_X9_62_prime239v1: i32 = 412;
2218pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
2219pub const NID_X9_62_prime239v2: i32 = 413;
2220pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
2221pub const NID_X9_62_prime239v3: i32 = 414;
2222pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
2223pub const NID_X9_62_prime256v1: i32 = 415;
2224pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
2225pub const NID_ecdsa_with_SHA1: i32 = 416;
2226pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
2227pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
2228pub const NID_ms_csp_name: i32 = 417;
2229pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
2230pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
2231pub const NID_aes_128_ecb: i32 = 418;
2232pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
2233pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
2234pub const NID_aes_128_cbc: i32 = 419;
2235pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
2236pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
2237pub const NID_aes_128_ofb128: i32 = 420;
2238pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
2239pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
2240pub const NID_aes_128_cfb128: i32 = 421;
2241pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
2242pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
2243pub const NID_aes_192_ecb: i32 = 422;
2244pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
2245pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
2246pub const NID_aes_192_cbc: i32 = 423;
2247pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
2248pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
2249pub const NID_aes_192_ofb128: i32 = 424;
2250pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
2251pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
2252pub const NID_aes_192_cfb128: i32 = 425;
2253pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
2254pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
2255pub const NID_aes_256_ecb: i32 = 426;
2256pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
2257pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
2258pub const NID_aes_256_cbc: i32 = 427;
2259pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
2260pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
2261pub const NID_aes_256_ofb128: i32 = 428;
2262pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
2263pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
2264pub const NID_aes_256_cfb128: i32 = 429;
2265pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
2266pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
2267pub const NID_hold_instruction_code: i32 = 430;
2268pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
2269pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
2270pub const NID_hold_instruction_none: i32 = 431;
2271pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
2272pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
2273pub const NID_hold_instruction_call_issuer: i32 = 432;
2274pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
2275pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
2276pub const NID_hold_instruction_reject: i32 = 433;
2277pub const SN_data: &[u8; 5] = b"data\0";
2278pub const NID_data: i32 = 434;
2279pub const OBJ_ENC_data: i32 = 9;
2280pub const SN_pss: &[u8; 4] = b"pss\0";
2281pub const NID_pss: i32 = 435;
2282pub const SN_ucl: &[u8; 4] = b"ucl\0";
2283pub const NID_ucl: i32 = 436;
2284pub const SN_pilot: &[u8; 6] = b"pilot\0";
2285pub const NID_pilot: i32 = 437;
2286pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
2287pub const NID_pilotAttributeType: i32 = 438;
2288pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2289pub const NID_pilotAttributeSyntax: i32 = 439;
2290pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2291pub const NID_pilotObjectClass: i32 = 440;
2292pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2293pub const NID_pilotGroups: i32 = 441;
2294pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2295pub const NID_iA5StringSyntax: i32 = 442;
2296pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2297pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2298pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2299pub const NID_pilotObject: i32 = 444;
2300pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2301pub const NID_pilotPerson: i32 = 445;
2302pub const SN_account: &[u8; 8] = b"account\0";
2303pub const NID_account: i32 = 446;
2304pub const SN_document: &[u8; 9] = b"document\0";
2305pub const NID_document: i32 = 447;
2306pub const SN_room: &[u8; 5] = b"room\0";
2307pub const NID_room: i32 = 448;
2308pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2309pub const NID_documentSeries: i32 = 449;
2310pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2311pub const NID_rFC822localPart: i32 = 450;
2312pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2313pub const NID_dNSDomain: i32 = 451;
2314pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2315pub const NID_domainRelatedObject: i32 = 452;
2316pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2317pub const NID_friendlyCountry: i32 = 453;
2318pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2319pub const NID_simpleSecurityObject: i32 = 454;
2320pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2321pub const NID_pilotOrganization: i32 = 455;
2322pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2323pub const NID_pilotDSA: i32 = 456;
2324pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2325pub const NID_qualityLabelledData: i32 = 457;
2326pub const SN_userId: &[u8; 4] = b"UID\0";
2327pub const LN_userId: &[u8; 7] = b"userId\0";
2328pub const NID_userId: i32 = 458;
2329pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2330pub const NID_textEncodedORAddress: i32 = 459;
2331pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2332pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2333pub const NID_rfc822Mailbox: i32 = 460;
2334pub const SN_info: &[u8; 5] = b"info\0";
2335pub const NID_info: i32 = 461;
2336pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2337pub const NID_favouriteDrink: i32 = 462;
2338pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2339pub const NID_roomNumber: i32 = 463;
2340pub const SN_photo: &[u8; 6] = b"photo\0";
2341pub const NID_photo: i32 = 464;
2342pub const LN_userClass: &[u8; 10] = b"userClass\0";
2343pub const NID_userClass: i32 = 465;
2344pub const SN_host: &[u8; 5] = b"host\0";
2345pub const NID_host: i32 = 466;
2346pub const SN_manager: &[u8; 8] = b"manager\0";
2347pub const NID_manager: i32 = 467;
2348pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2349pub const NID_documentIdentifier: i32 = 468;
2350pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2351pub const NID_documentTitle: i32 = 469;
2352pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2353pub const NID_documentVersion: i32 = 470;
2354pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2355pub const NID_documentAuthor: i32 = 471;
2356pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2357pub const NID_documentLocation: i32 = 472;
2358pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2359pub const NID_homeTelephoneNumber: i32 = 473;
2360pub const SN_secretary: &[u8; 10] = b"secretary\0";
2361pub const NID_secretary: i32 = 474;
2362pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2363pub const NID_otherMailbox: i32 = 475;
2364pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2365pub const NID_lastModifiedTime: i32 = 476;
2366pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2367pub const NID_lastModifiedBy: i32 = 477;
2368pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2369pub const NID_aRecord: i32 = 478;
2370pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2371pub const NID_pilotAttributeType27: i32 = 479;
2372pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2373pub const NID_mXRecord: i32 = 480;
2374pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2375pub const NID_nSRecord: i32 = 481;
2376pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2377pub const NID_sOARecord: i32 = 482;
2378pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2379pub const NID_cNAMERecord: i32 = 483;
2380pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2381pub const NID_associatedDomain: i32 = 484;
2382pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2383pub const NID_associatedName: i32 = 485;
2384pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2385pub const NID_homePostalAddress: i32 = 486;
2386pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2387pub const NID_personalTitle: i32 = 487;
2388pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2389pub const NID_mobileTelephoneNumber: i32 = 488;
2390pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2391pub const NID_pagerTelephoneNumber: i32 = 489;
2392pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2393pub const NID_friendlyCountryName: i32 = 490;
2394pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2395pub const NID_organizationalStatus: i32 = 491;
2396pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2397pub const NID_janetMailbox: i32 = 492;
2398pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2399pub const NID_mailPreferenceOption: i32 = 493;
2400pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2401pub const NID_buildingName: i32 = 494;
2402pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2403pub const NID_dSAQuality: i32 = 495;
2404pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2405pub const NID_singleLevelQuality: i32 = 496;
2406pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2407pub const NID_subtreeMinimumQuality: i32 = 497;
2408pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2409pub const NID_subtreeMaximumQuality: i32 = 498;
2410pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2411pub const NID_personalSignature: i32 = 499;
2412pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2413pub const NID_dITRedirect: i32 = 500;
2414pub const SN_audio: &[u8; 6] = b"audio\0";
2415pub const NID_audio: i32 = 501;
2416pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2417pub const NID_documentPublisher: i32 = 502;
2418pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2419pub const NID_x500UniqueIdentifier: i32 = 503;
2420pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2421pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2422pub const NID_mime_mhs: i32 = 504;
2423pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2424pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2425pub const NID_mime_mhs_headings: i32 = 505;
2426pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2427pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2428pub const NID_mime_mhs_bodies: i32 = 506;
2429pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2430pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2431pub const NID_id_hex_partial_message: i32 = 507;
2432pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2433pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2434pub const NID_id_hex_multipart_message: i32 = 508;
2435pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2436pub const NID_generationQualifier: i32 = 509;
2437pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2438pub const NID_pseudonym: i32 = 510;
2439pub const SN_id_set: &[u8; 7] = b"id-set\0";
2440pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2441pub const NID_id_set: i32 = 512;
2442pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2443pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2444pub const NID_set_ctype: i32 = 513;
2445pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2446pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2447pub const NID_set_msgExt: i32 = 514;
2448pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2449pub const NID_set_attr: i32 = 515;
2450pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2451pub const NID_set_policy: i32 = 516;
2452pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2453pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2454pub const NID_set_certExt: i32 = 517;
2455pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2456pub const NID_set_brand: i32 = 518;
2457pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2458pub const NID_setct_PANData: i32 = 519;
2459pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2460pub const NID_setct_PANToken: i32 = 520;
2461pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2462pub const NID_setct_PANOnly: i32 = 521;
2463pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2464pub const NID_setct_OIData: i32 = 522;
2465pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2466pub const NID_setct_PI: i32 = 523;
2467pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2468pub const NID_setct_PIData: i32 = 524;
2469pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2470pub const NID_setct_PIDataUnsigned: i32 = 525;
2471pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2472pub const NID_setct_HODInput: i32 = 526;
2473pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2474pub const NID_setct_AuthResBaggage: i32 = 527;
2475pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2476pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2477pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2478pub const NID_setct_AuthRevResBaggage: i32 = 529;
2479pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2480pub const NID_setct_CapTokenSeq: i32 = 530;
2481pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2482pub const NID_setct_PInitResData: i32 = 531;
2483pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2484pub const NID_setct_PI_TBS: i32 = 532;
2485pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2486pub const NID_setct_PResData: i32 = 533;
2487pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2488pub const NID_setct_AuthReqTBS: i32 = 534;
2489pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2490pub const NID_setct_AuthResTBS: i32 = 535;
2491pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2492pub const NID_setct_AuthResTBSX: i32 = 536;
2493pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2494pub const NID_setct_AuthTokenTBS: i32 = 537;
2495pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2496pub const NID_setct_CapTokenData: i32 = 538;
2497pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2498pub const NID_setct_CapTokenTBS: i32 = 539;
2499pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2500pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2501pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2502pub const NID_setct_AuthRevReqTBS: i32 = 541;
2503pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2504pub const NID_setct_AuthRevResData: i32 = 542;
2505pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2506pub const NID_setct_AuthRevResTBS: i32 = 543;
2507pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2508pub const NID_setct_CapReqTBS: i32 = 544;
2509pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2510pub const NID_setct_CapReqTBSX: i32 = 545;
2511pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2512pub const NID_setct_CapResData: i32 = 546;
2513pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2514pub const NID_setct_CapRevReqTBS: i32 = 547;
2515pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2516pub const NID_setct_CapRevReqTBSX: i32 = 548;
2517pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2518pub const NID_setct_CapRevResData: i32 = 549;
2519pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2520pub const NID_setct_CredReqTBS: i32 = 550;
2521pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2522pub const NID_setct_CredReqTBSX: i32 = 551;
2523pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2524pub const NID_setct_CredResData: i32 = 552;
2525pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2526pub const NID_setct_CredRevReqTBS: i32 = 553;
2527pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2528pub const NID_setct_CredRevReqTBSX: i32 = 554;
2529pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2530pub const NID_setct_CredRevResData: i32 = 555;
2531pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2532pub const NID_setct_PCertReqData: i32 = 556;
2533pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2534pub const NID_setct_PCertResTBS: i32 = 557;
2535pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2536pub const NID_setct_BatchAdminReqData: i32 = 558;
2537pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2538pub const NID_setct_BatchAdminResData: i32 = 559;
2539pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2540pub const NID_setct_CardCInitResTBS: i32 = 560;
2541pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2542pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2543pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2544pub const NID_setct_RegFormResTBS: i32 = 562;
2545pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2546pub const NID_setct_CertReqData: i32 = 563;
2547pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2548pub const NID_setct_CertReqTBS: i32 = 564;
2549pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2550pub const NID_setct_CertResData: i32 = 565;
2551pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2552pub const NID_setct_CertInqReqTBS: i32 = 566;
2553pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2554pub const NID_setct_ErrorTBS: i32 = 567;
2555pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2556pub const NID_setct_PIDualSignedTBE: i32 = 568;
2557pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2558pub const NID_setct_PIUnsignedTBE: i32 = 569;
2559pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2560pub const NID_setct_AuthReqTBE: i32 = 570;
2561pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2562pub const NID_setct_AuthResTBE: i32 = 571;
2563pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2564pub const NID_setct_AuthResTBEX: i32 = 572;
2565pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2566pub const NID_setct_AuthTokenTBE: i32 = 573;
2567pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2568pub const NID_setct_CapTokenTBE: i32 = 574;
2569pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2570pub const NID_setct_CapTokenTBEX: i32 = 575;
2571pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2572pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2573pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2574pub const NID_setct_AuthRevReqTBE: i32 = 577;
2575pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2576pub const NID_setct_AuthRevResTBE: i32 = 578;
2577pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2578pub const NID_setct_AuthRevResTBEB: i32 = 579;
2579pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2580pub const NID_setct_CapReqTBE: i32 = 580;
2581pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2582pub const NID_setct_CapReqTBEX: i32 = 581;
2583pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2584pub const NID_setct_CapResTBE: i32 = 582;
2585pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2586pub const NID_setct_CapRevReqTBE: i32 = 583;
2587pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2588pub const NID_setct_CapRevReqTBEX: i32 = 584;
2589pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2590pub const NID_setct_CapRevResTBE: i32 = 585;
2591pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2592pub const NID_setct_CredReqTBE: i32 = 586;
2593pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2594pub const NID_setct_CredReqTBEX: i32 = 587;
2595pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2596pub const NID_setct_CredResTBE: i32 = 588;
2597pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2598pub const NID_setct_CredRevReqTBE: i32 = 589;
2599pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2600pub const NID_setct_CredRevReqTBEX: i32 = 590;
2601pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2602pub const NID_setct_CredRevResTBE: i32 = 591;
2603pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2604pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2605pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2606pub const NID_setct_BatchAdminResTBE: i32 = 593;
2607pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2608pub const NID_setct_RegFormReqTBE: i32 = 594;
2609pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2610pub const NID_setct_CertReqTBE: i32 = 595;
2611pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2612pub const NID_setct_CertReqTBEX: i32 = 596;
2613pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2614pub const NID_setct_CertResTBE: i32 = 597;
2615pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2616pub const NID_setct_CRLNotificationTBS: i32 = 598;
2617pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2618pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2619pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2620pub const NID_setct_BCIDistributionTBS: i32 = 600;
2621pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2622pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2623pub const NID_setext_genCrypt: i32 = 601;
2624pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2625pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2626pub const NID_setext_miAuth: i32 = 602;
2627pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2628pub const NID_setext_pinSecure: i32 = 603;
2629pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2630pub const NID_setext_pinAny: i32 = 604;
2631pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2632pub const NID_setext_track2: i32 = 605;
2633pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2634pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2635pub const NID_setext_cv: i32 = 606;
2636pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2637pub const NID_set_policy_root: i32 = 607;
2638pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2639pub const NID_setCext_hashedRoot: i32 = 608;
2640pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2641pub const NID_setCext_certType: i32 = 609;
2642pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2643pub const NID_setCext_merchData: i32 = 610;
2644pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2645pub const NID_setCext_cCertRequired: i32 = 611;
2646pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2647pub const NID_setCext_tunneling: i32 = 612;
2648pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2649pub const NID_setCext_setExt: i32 = 613;
2650pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2651pub const NID_setCext_setQualf: i32 = 614;
2652pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2653pub const NID_setCext_PGWYcapabilities: i32 = 615;
2654pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2655pub const NID_setCext_TokenIdentifier: i32 = 616;
2656pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2657pub const NID_setCext_Track2Data: i32 = 617;
2658pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2659pub const NID_setCext_TokenType: i32 = 618;
2660pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2661pub const NID_setCext_IssuerCapabilities: i32 = 619;
2662pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2663pub const NID_setAttr_Cert: i32 = 620;
2664pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2665pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2666pub const NID_setAttr_PGWYcap: i32 = 621;
2667pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2668pub const NID_setAttr_TokenType: i32 = 622;
2669pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2670pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2671pub const NID_setAttr_IssCap: i32 = 623;
2672pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2673pub const NID_set_rootKeyThumb: i32 = 624;
2674pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2675pub const NID_set_addPolicy: i32 = 625;
2676pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2677pub const NID_setAttr_Token_EMV: i32 = 626;
2678pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2679pub const NID_setAttr_Token_B0Prime: i32 = 627;
2680pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2681pub const NID_setAttr_IssCap_CVM: i32 = 628;
2682pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2683pub const NID_setAttr_IssCap_T2: i32 = 629;
2684pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2685pub const NID_setAttr_IssCap_Sig: i32 = 630;
2686pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2687pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2688pub const NID_setAttr_GenCryptgrm: i32 = 631;
2689pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2690pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2691pub const NID_setAttr_T2Enc: i32 = 632;
2692pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2693pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2694pub const NID_setAttr_T2cleartxt: i32 = 633;
2695pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2696pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2697pub const NID_setAttr_TokICCsig: i32 = 634;
2698pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2699pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2700pub const NID_setAttr_SecDevSig: i32 = 635;
2701pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2702pub const NID_set_brand_IATA_ATA: i32 = 636;
2703pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2704pub const NID_set_brand_Diners: i32 = 637;
2705pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2706pub const NID_set_brand_AmericanExpress: i32 = 638;
2707pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2708pub const NID_set_brand_JCB: i32 = 639;
2709pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2710pub const NID_set_brand_Visa: i32 = 640;
2711pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2712pub const NID_set_brand_MasterCard: i32 = 641;
2713pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2714pub const NID_set_brand_Novus: i32 = 642;
2715pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2716pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2717pub const NID_des_cdmf: i32 = 643;
2718pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2719pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2720pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2721pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2722pub const NID_itu_t: i32 = 645;
2723pub const OBJ_itu_t: i32 = 0;
2724pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2725pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2726pub const NID_joint_iso_itu_t: i32 = 646;
2727pub const OBJ_joint_iso_itu_t: i32 = 2;
2728pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2729pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2730pub const NID_international_organizations: i32 = 647;
2731pub const OBJ_ENC_international_organizations: i32 = 103;
2732pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2733pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2734pub const NID_ms_smartcard_login: i32 = 648;
2735pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2736pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2737pub const NID_ms_upn: i32 = 649;
2738pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2739pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2740pub const NID_aes_128_cfb1: i32 = 650;
2741pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2742pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2743pub const NID_aes_192_cfb1: i32 = 651;
2744pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2745pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2746pub const NID_aes_256_cfb1: i32 = 652;
2747pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2748pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2749pub const NID_aes_128_cfb8: i32 = 653;
2750pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2751pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2752pub const NID_aes_192_cfb8: i32 = 654;
2753pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2754pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2755pub const NID_aes_256_cfb8: i32 = 655;
2756pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2757pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2758pub const NID_des_cfb1: i32 = 656;
2759pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2760pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2761pub const NID_des_cfb8: i32 = 657;
2762pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2763pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2764pub const NID_des_ede3_cfb1: i32 = 658;
2765pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2766pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2767pub const NID_des_ede3_cfb8: i32 = 659;
2768pub const SN_streetAddress: &[u8; 7] = b"street\0";
2769pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2770pub const NID_streetAddress: i32 = 660;
2771pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2772pub const NID_postalCode: i32 = 661;
2773pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2774pub const NID_id_ppl: i32 = 662;
2775pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2776pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2777pub const NID_proxyCertInfo: i32 = 663;
2778pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2779pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2780pub const NID_id_ppl_anyLanguage: i32 = 664;
2781pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2782pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2783pub const NID_id_ppl_inheritAll: i32 = 665;
2784pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2785pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2786pub const NID_name_constraints: i32 = 666;
2787pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2788pub const LN_Independent: &[u8; 12] = b"Independent\0";
2789pub const NID_Independent: i32 = 667;
2790pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2791pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2792pub const NID_sha256WithRSAEncryption: i32 = 668;
2793pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2794pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2795pub const NID_sha384WithRSAEncryption: i32 = 669;
2796pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2797pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2798pub const NID_sha512WithRSAEncryption: i32 = 670;
2799pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2800pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2801pub const NID_sha224WithRSAEncryption: i32 = 671;
2802pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2803pub const LN_sha256: &[u8; 7] = b"sha256\0";
2804pub const NID_sha256: i32 = 672;
2805pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2806pub const LN_sha384: &[u8; 7] = b"sha384\0";
2807pub const NID_sha384: i32 = 673;
2808pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2809pub const LN_sha512: &[u8; 7] = b"sha512\0";
2810pub const NID_sha512: i32 = 674;
2811pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2812pub const LN_sha224: &[u8; 7] = b"sha224\0";
2813pub const NID_sha224: i32 = 675;
2814pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2815pub const NID_identified_organization: i32 = 676;
2816pub const OBJ_ENC_identified_organization: i32 = 43;
2817pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2818pub const NID_certicom_arc: i32 = 677;
2819pub const SN_wap: &[u8; 4] = b"wap\0";
2820pub const NID_wap: i32 = 678;
2821pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2822pub const NID_wap_wsg: i32 = 679;
2823pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2824pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2825pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2826pub const NID_X9_62_onBasis: i32 = 681;
2827pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2828pub const NID_X9_62_tpBasis: i32 = 682;
2829pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2830pub const NID_X9_62_ppBasis: i32 = 683;
2831pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2832pub const NID_X9_62_c2pnb163v1: i32 = 684;
2833pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2834pub const NID_X9_62_c2pnb163v2: i32 = 685;
2835pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2836pub const NID_X9_62_c2pnb163v3: i32 = 686;
2837pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2838pub const NID_X9_62_c2pnb176v1: i32 = 687;
2839pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2840pub const NID_X9_62_c2tnb191v1: i32 = 688;
2841pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2842pub const NID_X9_62_c2tnb191v2: i32 = 689;
2843pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2844pub const NID_X9_62_c2tnb191v3: i32 = 690;
2845pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2846pub const NID_X9_62_c2onb191v4: i32 = 691;
2847pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2848pub const NID_X9_62_c2onb191v5: i32 = 692;
2849pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2850pub const NID_X9_62_c2pnb208w1: i32 = 693;
2851pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2852pub const NID_X9_62_c2tnb239v1: i32 = 694;
2853pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2854pub const NID_X9_62_c2tnb239v2: i32 = 695;
2855pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2856pub const NID_X9_62_c2tnb239v3: i32 = 696;
2857pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2858pub const NID_X9_62_c2onb239v4: i32 = 697;
2859pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2860pub const NID_X9_62_c2onb239v5: i32 = 698;
2861pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2862pub const NID_X9_62_c2pnb272w1: i32 = 699;
2863pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2864pub const NID_X9_62_c2pnb304w1: i32 = 700;
2865pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2866pub const NID_X9_62_c2tnb359v1: i32 = 701;
2867pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2868pub const NID_X9_62_c2pnb368w1: i32 = 702;
2869pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2870pub const NID_X9_62_c2tnb431r1: i32 = 703;
2871pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2872pub const NID_secp112r1: i32 = 704;
2873pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2874pub const NID_secp112r2: i32 = 705;
2875pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2876pub const NID_secp128r1: i32 = 706;
2877pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2878pub const NID_secp128r2: i32 = 707;
2879pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2880pub const NID_secp160k1: i32 = 708;
2881pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2882pub const NID_secp160r1: i32 = 709;
2883pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2884pub const NID_secp160r2: i32 = 710;
2885pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2886pub const NID_secp192k1: i32 = 711;
2887pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2888pub const NID_secp224k1: i32 = 712;
2889pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2890pub const NID_secp224r1: i32 = 713;
2891pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2892pub const NID_secp256k1: i32 = 714;
2893pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2894pub const NID_secp384r1: i32 = 715;
2895pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2896pub const NID_secp521r1: i32 = 716;
2897pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2898pub const NID_sect113r1: i32 = 717;
2899pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2900pub const NID_sect113r2: i32 = 718;
2901pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2902pub const NID_sect131r1: i32 = 719;
2903pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2904pub const NID_sect131r2: i32 = 720;
2905pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2906pub const NID_sect163k1: i32 = 721;
2907pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2908pub const NID_sect163r1: i32 = 722;
2909pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2910pub const NID_sect163r2: i32 = 723;
2911pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2912pub const NID_sect193r1: i32 = 724;
2913pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2914pub const NID_sect193r2: i32 = 725;
2915pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2916pub const NID_sect233k1: i32 = 726;
2917pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2918pub const NID_sect233r1: i32 = 727;
2919pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2920pub const NID_sect239k1: i32 = 728;
2921pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2922pub const NID_sect283k1: i32 = 729;
2923pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2924pub const NID_sect283r1: i32 = 730;
2925pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2926pub const NID_sect409k1: i32 = 731;
2927pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2928pub const NID_sect409r1: i32 = 732;
2929pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2930pub const NID_sect571k1: i32 = 733;
2931pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2932pub const NID_sect571r1: i32 = 734;
2933pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2934pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2935pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2936pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2937pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2938pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2939pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2940pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2941pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2942pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2943pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2944pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2945pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2946pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2947pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2948pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2949pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2950pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2951pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2952pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2953pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2954pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2955pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2956pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2957pub const NID_any_policy: i32 = 746;
2958pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2959pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2960pub const NID_policy_mappings: i32 = 747;
2961pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2962pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2963pub const NID_inhibit_any_policy: i32 = 748;
2964pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2965pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2966pub const NID_ipsec3: i32 = 749;
2967pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2968pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2969pub const NID_ipsec4: i32 = 750;
2970pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2971pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2972pub const NID_camellia_128_cbc: i32 = 751;
2973pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2974pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2975pub const NID_camellia_192_cbc: i32 = 752;
2976pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2977pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2978pub const NID_camellia_256_cbc: i32 = 753;
2979pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2980pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2981pub const NID_camellia_128_ecb: i32 = 754;
2982pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2983pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2984pub const NID_camellia_192_ecb: i32 = 755;
2985pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2986pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2987pub const NID_camellia_256_ecb: i32 = 756;
2988pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2989pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2990pub const NID_camellia_128_cfb128: i32 = 757;
2991pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2992pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2993pub const NID_camellia_192_cfb128: i32 = 758;
2994pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2995pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2996pub const NID_camellia_256_cfb128: i32 = 759;
2997pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2998pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2999pub const NID_camellia_128_cfb1: i32 = 760;
3000pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
3001pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
3002pub const NID_camellia_192_cfb1: i32 = 761;
3003pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
3004pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
3005pub const NID_camellia_256_cfb1: i32 = 762;
3006pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
3007pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
3008pub const NID_camellia_128_cfb8: i32 = 763;
3009pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
3010pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
3011pub const NID_camellia_192_cfb8: i32 = 764;
3012pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
3013pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
3014pub const NID_camellia_256_cfb8: i32 = 765;
3015pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
3016pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
3017pub const NID_camellia_128_ofb128: i32 = 766;
3018pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
3019pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
3020pub const NID_camellia_192_ofb128: i32 = 767;
3021pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
3022pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
3023pub const NID_camellia_256_ofb128: i32 = 768;
3024pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
3025pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
3026pub const NID_subject_directory_attributes: i32 = 769;
3027pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
3028pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
3029pub const NID_issuing_distribution_point: i32 = 770;
3030pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
3031pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
3032pub const NID_certificate_issuer: i32 = 771;
3033pub const SN_kisa: &[u8; 5] = b"KISA\0";
3034pub const LN_kisa: &[u8; 5] = b"kisa\0";
3035pub const NID_kisa: i32 = 773;
3036pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
3037pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
3038pub const NID_seed_ecb: i32 = 776;
3039pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
3040pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
3041pub const NID_seed_cbc: i32 = 777;
3042pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
3043pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
3044pub const NID_seed_ofb128: i32 = 778;
3045pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
3046pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
3047pub const NID_seed_cfb128: i32 = 779;
3048pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
3049pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
3050pub const NID_hmac_md5: i32 = 780;
3051pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
3052pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
3053pub const NID_hmac_sha1: i32 = 781;
3054pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
3055pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
3056pub const NID_id_PasswordBasedMAC: i32 = 782;
3057pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
3058pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
3059pub const NID_id_DHBasedMac: i32 = 783;
3060pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
3061pub const NID_id_it_suppLangTags: i32 = 784;
3062pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
3063pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
3064pub const NID_caRepository: i32 = 785;
3065pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
3066pub const NID_id_smime_ct_compressedData: i32 = 786;
3067pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
3068pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
3069pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
3070pub const NID_id_aes128_wrap: i32 = 788;
3071pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
3072pub const NID_id_aes192_wrap: i32 = 789;
3073pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
3074pub const NID_id_aes256_wrap: i32 = 790;
3075pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
3076pub const NID_ecdsa_with_Recommended: i32 = 791;
3077pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
3078pub const NID_ecdsa_with_Specified: i32 = 792;
3079pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
3080pub const NID_ecdsa_with_SHA224: i32 = 793;
3081pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
3082pub const NID_ecdsa_with_SHA256: i32 = 794;
3083pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
3084pub const NID_ecdsa_with_SHA384: i32 = 795;
3085pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
3086pub const NID_ecdsa_with_SHA512: i32 = 796;
3087pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
3088pub const NID_hmacWithMD5: i32 = 797;
3089pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
3090pub const NID_hmacWithSHA224: i32 = 798;
3091pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
3092pub const NID_hmacWithSHA256: i32 = 799;
3093pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
3094pub const NID_hmacWithSHA384: i32 = 800;
3095pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
3096pub const NID_hmacWithSHA512: i32 = 801;
3097pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
3098pub const NID_dsa_with_SHA224: i32 = 802;
3099pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
3100pub const NID_dsa_with_SHA256: i32 = 803;
3101pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
3102pub const NID_whirlpool: i32 = 804;
3103pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
3104pub const NID_cryptopro: i32 = 805;
3105pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
3106pub const NID_cryptocom: i32 = 806;
3107pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
3108 b"id-GostR3411-94-with-GostR3410-2001\0";
3109pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
3110 b"GOST R 34.11-94 with GOST R 34.10-2001\0";
3111pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
3112pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
3113pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
3114 b"GOST R 34.11-94 with GOST R 34.10-94\0";
3115pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
3116pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
3117pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
3118pub const NID_id_GostR3411_94: i32 = 809;
3119pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
3120pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
3121pub const NID_id_HMACGostR3411_94: i32 = 810;
3122pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
3123pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
3124pub const NID_id_GostR3410_2001: i32 = 811;
3125pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
3126pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
3127pub const NID_id_GostR3410_94: i32 = 812;
3128pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
3129pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
3130pub const NID_id_Gost28147_89: i32 = 813;
3131pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
3132pub const NID_gost89_cnt: i32 = 814;
3133pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
3134pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
3135pub const NID_id_Gost28147_89_MAC: i32 = 815;
3136pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
3137pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
3138pub const NID_id_GostR3411_94_prf: i32 = 816;
3139pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
3140pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
3141pub const NID_id_GostR3410_2001DH: i32 = 817;
3142pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
3143pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
3144pub const NID_id_GostR3410_94DH: i32 = 818;
3145pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
3146 b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
3147pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
3148pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
3149pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
3150pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
3151pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
3152pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
3153pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
3154pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
3155pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
3156pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
3157 b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
3158pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
3159pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
3160 b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
3161pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
3162pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
3163 b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
3164pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
3165pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
3166 b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
3167pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
3168pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
3169 b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
3170pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
3171pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
3172 b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
3173pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
3174pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
3175 b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
3176pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
3177pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
3178pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
3179pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
3180 b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
3181pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
3182pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
3183 b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
3184pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
3185pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
3186 b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
3187pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
3188pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
3189 b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
3190pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
3191pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
3192 b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
3193pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
3194pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
3195 b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
3196pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
3197pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
3198 b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
3199pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
3200pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
3201pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
3202pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
3203 b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
3204pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
3205pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
3206 b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
3207pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
3208pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
3209 b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
3210pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
3211pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
3212 b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
3213pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
3214pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
3215 b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
3216pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
3217pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
3218pub const NID_id_GostR3410_94_a: i32 = 845;
3219pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
3220pub const NID_id_GostR3410_94_aBis: i32 = 846;
3221pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
3222pub const NID_id_GostR3410_94_b: i32 = 847;
3223pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
3224pub const NID_id_GostR3410_94_bBis: i32 = 848;
3225pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
3226pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
3227pub const NID_id_Gost28147_89_cc: i32 = 849;
3228pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
3229pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
3230pub const NID_id_GostR3410_94_cc: i32 = 850;
3231pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
3232pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
3233pub const NID_id_GostR3410_2001_cc: i32 = 851;
3234pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
3235 b"id-GostR3411-94-with-GostR3410-94-cc\0";
3236pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
3237 b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
3238pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
3239pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
3240 b"id-GostR3411-94-with-GostR3410-2001-cc\0";
3241pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
3242 b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
3243pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
3244pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
3245pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
3246 b"GOST R 3410-2001 Parameter Set Cryptocom\0";
3247pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
3248pub const SN_hmac: &[u8; 5] = b"HMAC\0";
3249pub const LN_hmac: &[u8; 5] = b"hmac\0";
3250pub const NID_hmac: i32 = 855;
3251pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
3252pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
3253pub const NID_LocalKeySet: i32 = 856;
3254pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
3255pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
3256pub const NID_freshest_crl: i32 = 857;
3257pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
3258pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
3259pub const NID_id_on_permanentIdentifier: i32 = 858;
3260pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
3261pub const NID_searchGuide: i32 = 859;
3262pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
3263pub const NID_businessCategory: i32 = 860;
3264pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
3265pub const NID_postalAddress: i32 = 861;
3266pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
3267pub const NID_postOfficeBox: i32 = 862;
3268pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
3269pub const NID_physicalDeliveryOfficeName: i32 = 863;
3270pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
3271pub const NID_telephoneNumber: i32 = 864;
3272pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
3273pub const NID_telexNumber: i32 = 865;
3274pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
3275pub const NID_teletexTerminalIdentifier: i32 = 866;
3276pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
3277pub const NID_facsimileTelephoneNumber: i32 = 867;
3278pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
3279pub const NID_x121Address: i32 = 868;
3280pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
3281pub const NID_internationaliSDNNumber: i32 = 869;
3282pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
3283pub const NID_registeredAddress: i32 = 870;
3284pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
3285pub const NID_destinationIndicator: i32 = 871;
3286pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
3287pub const NID_preferredDeliveryMethod: i32 = 872;
3288pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
3289pub const NID_presentationAddress: i32 = 873;
3290pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3291pub const NID_supportedApplicationContext: i32 = 874;
3292pub const SN_member: &[u8; 7] = b"member\0";
3293pub const NID_member: i32 = 875;
3294pub const SN_owner: &[u8; 6] = b"owner\0";
3295pub const NID_owner: i32 = 876;
3296pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3297pub const NID_roleOccupant: i32 = 877;
3298pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3299pub const NID_seeAlso: i32 = 878;
3300pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3301pub const NID_userPassword: i32 = 879;
3302pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3303pub const NID_userCertificate: i32 = 880;
3304pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3305pub const NID_cACertificate: i32 = 881;
3306pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3307pub const NID_authorityRevocationList: i32 = 882;
3308pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3309pub const NID_certificateRevocationList: i32 = 883;
3310pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3311pub const NID_crossCertificatePair: i32 = 884;
3312pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3313pub const NID_enhancedSearchGuide: i32 = 885;
3314pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3315pub const NID_protocolInformation: i32 = 886;
3316pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3317pub const NID_distinguishedName: i32 = 887;
3318pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3319pub const NID_uniqueMember: i32 = 888;
3320pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3321pub const NID_houseIdentifier: i32 = 889;
3322pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3323pub const NID_supportedAlgorithms: i32 = 890;
3324pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3325pub const NID_deltaRevocationList: i32 = 891;
3326pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3327pub const NID_dmdName: i32 = 892;
3328pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3329pub const NID_id_alg_PWRI_KEK: i32 = 893;
3330pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3331pub const LN_cmac: &[u8; 5] = b"cmac\0";
3332pub const NID_cmac: i32 = 894;
3333pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3334pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3335pub const NID_aes_128_gcm: i32 = 895;
3336pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3337pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3338pub const NID_aes_128_ccm: i32 = 896;
3339pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3340pub const NID_id_aes128_wrap_pad: i32 = 897;
3341pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3342pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3343pub const NID_aes_192_gcm: i32 = 898;
3344pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3345pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3346pub const NID_aes_192_ccm: i32 = 899;
3347pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3348pub const NID_id_aes192_wrap_pad: i32 = 900;
3349pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3350pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3351pub const NID_aes_256_gcm: i32 = 901;
3352pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3353pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3354pub const NID_aes_256_ccm: i32 = 902;
3355pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3356pub const NID_id_aes256_wrap_pad: i32 = 903;
3357pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3358pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3359pub const NID_aes_128_ctr: i32 = 904;
3360pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3361pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3362pub const NID_aes_192_ctr: i32 = 905;
3363pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3364pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3365pub const NID_aes_256_ctr: i32 = 906;
3366pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3367pub const NID_id_camellia128_wrap: i32 = 907;
3368pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3369pub const NID_id_camellia192_wrap: i32 = 908;
3370pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3371pub const NID_id_camellia256_wrap: i32 = 909;
3372pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3373pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3374pub const NID_anyExtendedKeyUsage: i32 = 910;
3375pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3376pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3377pub const NID_mgf1: i32 = 911;
3378pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3379pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3380pub const NID_rsassaPss: i32 = 912;
3381pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3382pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3383pub const NID_aes_128_xts: i32 = 913;
3384pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3385pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3386pub const NID_aes_256_xts: i32 = 914;
3387pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3388pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3389pub const NID_rc4_hmac_md5: i32 = 915;
3390pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3391pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3392pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3393pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3394pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3395pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3396pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3397pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3398pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3399pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3400pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3401pub const NID_rsaesOaep: i32 = 919;
3402pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3403pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3404pub const NID_dhpublicnumber: i32 = 920;
3405pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3406pub const NID_brainpoolP160r1: i32 = 921;
3407pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3408pub const NID_brainpoolP160t1: i32 = 922;
3409pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3410pub const NID_brainpoolP192r1: i32 = 923;
3411pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3412pub const NID_brainpoolP192t1: i32 = 924;
3413pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3414pub const NID_brainpoolP224r1: i32 = 925;
3415pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3416pub const NID_brainpoolP224t1: i32 = 926;
3417pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3418pub const NID_brainpoolP256r1: i32 = 927;
3419pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3420pub const NID_brainpoolP256t1: i32 = 928;
3421pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3422pub const NID_brainpoolP320r1: i32 = 929;
3423pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3424pub const NID_brainpoolP320t1: i32 = 930;
3425pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3426pub const NID_brainpoolP384r1: i32 = 931;
3427pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3428pub const NID_brainpoolP384t1: i32 = 932;
3429pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3430pub const NID_brainpoolP512r1: i32 = 933;
3431pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3432pub const NID_brainpoolP512t1: i32 = 934;
3433pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3434pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3435pub const NID_pSpecified: i32 = 935;
3436pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3437pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3438pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3439 b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3440pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3441pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3442 b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3443pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3444pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3445 b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3446pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3447pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3448 b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3449pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3450pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3451 b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3452pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3453pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3454 b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3455pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3456pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3457 b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3458pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3459pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3460 b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3461pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3462pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3463 b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3464pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3465pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3466pub const NID_dh_std_kdf: i32 = 946;
3467pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3468pub const NID_dh_cofactor_kdf: i32 = 947;
3469pub const SN_X25519: &[u8; 7] = b"X25519\0";
3470pub const NID_X25519: i32 = 948;
3471pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3472pub const NID_ED25519: i32 = 949;
3473pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3474pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3475pub const NID_chacha20_poly1305: i32 = 950;
3476pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3477pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3478pub const NID_kx_rsa: i32 = 951;
3479pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3480pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3481pub const NID_kx_ecdhe: i32 = 952;
3482pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3483pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3484pub const NID_kx_psk: i32 = 953;
3485pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3486pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3487pub const NID_auth_rsa: i32 = 954;
3488pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3489pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3490pub const NID_auth_ecdsa: i32 = 955;
3491pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3492pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3493pub const NID_auth_psk: i32 = 956;
3494pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3495pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3496pub const NID_kx_any: i32 = 957;
3497pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3498pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3499pub const NID_auth_any: i32 = 958;
3500pub const SN_ED448: &[u8; 6] = b"ED448\0";
3501pub const NID_ED448: i32 = 960;
3502pub const SN_X448: &[u8; 5] = b"X448\0";
3503pub const NID_X448: i32 = 961;
3504pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3505pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3506pub const NID_sha512_256: i32 = 962;
3507pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3508pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3509pub const NID_hkdf: i32 = 963;
3510pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3511pub const NID_X25519Kyber768Draft00: i32 = 964;
3512pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3513pub const NID_X25519MLKEM768: i32 = 965;
3514pub const SN_ML_KEM_1024: &[u8; 19] = b"id-alg-ml-kem-1024\0";
3515pub const LN_ML_KEM_1024: &[u8; 12] = b"ML-KEM-1024\0";
3516pub const NID_ML_KEM_1024: i32 = 966;
3517pub const SN_ML_DSA_44: &[u8; 13] = b"id-ml-dsa-44\0";
3518pub const LN_ML_DSA_44: &[u8; 10] = b"ML-DSA-44\0";
3519pub const NID_ML_DSA_44: i32 = 967;
3520pub const SN_ML_DSA_65: &[u8; 13] = b"id-ml-dsa-65\0";
3521pub const LN_ML_DSA_65: &[u8; 10] = b"ML-DSA-65\0";
3522pub const NID_ML_DSA_65: i32 = 968;
3523pub const SN_ML_DSA_87: &[u8; 13] = b"id-ml-dsa-87\0";
3524pub const LN_ML_DSA_87: &[u8; 10] = b"ML-DSA-87\0";
3525pub const NID_ML_DSA_87: i32 = 969;
3526pub const SN_ML_KEM_768: &[u8; 18] = b"id-alg-ml-kem-768\0";
3527pub const LN_ML_KEM_768: &[u8; 11] = b"ML-KEM-768\0";
3528pub const NID_ML_KEM_768: i32 = 970;
3529pub const SN_X_Wing: &[u8; 7] = b"X-Wing\0";
3530pub const NID_X_Wing: i32 = 972;
3531pub const EVP_PKEY_NONE: i32 = 0;
3532pub const EVP_PKEY_RSA: i32 = 6;
3533pub const EVP_PKEY_RSA_PSS: i32 = 912;
3534pub const EVP_PKEY_DSA: i32 = 116;
3535pub const EVP_PKEY_EC: i32 = 408;
3536pub const EVP_PKEY_ED25519: i32 = 949;
3537pub const EVP_PKEY_X25519: i32 = 948;
3538pub const EVP_PKEY_HKDF: i32 = 963;
3539pub const EVP_PKEY_DH: i32 = 28;
3540pub const EVP_PKEY_ML_DSA_44: i32 = 967;
3541pub const EVP_PKEY_ML_DSA_65: i32 = 968;
3542pub const EVP_PKEY_ML_DSA_87: i32 = 969;
3543pub const EVP_PKEY_ML_KEM_768: i32 = 970;
3544pub const EVP_PKEY_ML_KEM_1024: i32 = 966;
3545pub const EVP_PKEY_XWING: i32 = 972;
3546pub const EVP_PKEY_RSA2: i32 = 19;
3547pub const EVP_PKEY_X448: i32 = 961;
3548pub const EVP_PKEY_ED448: i32 = 960;
3549pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3550pub const EVP_HPKE_DHKEM_P256_HKDF_SHA256: i32 = 16;
3551pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3552pub const EVP_HPKE_XWING: i32 = 25722;
3553pub const EVP_HPKE_MLKEM768: i32 = 65;
3554pub const EVP_HPKE_MLKEM1024: i32 = 66;
3555pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 1568;
3556pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 64;
3557pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 1568;
3558pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3559pub const EVP_HPKE_HKDF_SHA384: i32 = 2;
3560pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3561pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3562pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3563pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3564pub const HRSS_SAMPLE_BYTES: i32 = 700;
3565pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3566pub const HRSS_ENCAP_BYTES: i32 = 1400;
3567pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3568pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3569pub const HRSS_KEY_BYTES: i32 = 32;
3570pub const HRSS_POLY3_BYTES: i32 = 140;
3571pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3572pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3573pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3574pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3575pub const MD4_CBLOCK: i32 = 64;
3576pub const MD4_DIGEST_LENGTH: i32 = 16;
3577pub const MD5_CBLOCK: i32 = 64;
3578pub const MD5_DIGEST_LENGTH: i32 = 16;
3579pub const MLDSA_SEED_BYTES: i32 = 32;
3580pub const MLDSA_MU_BYTES: i32 = 64;
3581pub const MLDSA65_PUBLIC_KEY_BYTES: i32 = 1952;
3582pub const MLDSA65_SIGNATURE_BYTES: i32 = 3309;
3583pub const MLDSA87_PUBLIC_KEY_BYTES: i32 = 2592;
3584pub const MLDSA87_SIGNATURE_BYTES: i32 = 4627;
3585pub const MLDSA44_PUBLIC_KEY_BYTES: i32 = 1312;
3586pub const MLDSA44_SIGNATURE_BYTES: i32 = 2420;
3587pub const MLKEM768_PUBLIC_KEY_BYTES: i32 = 1184;
3588pub const MLKEM_SEED_BYTES: i32 = 64;
3589pub const MLKEM768_CIPHERTEXT_BYTES: i32 = 1088;
3590pub const MLKEM_SHARED_SECRET_BYTES: i32 = 32;
3591pub const MLKEM1024_PUBLIC_KEY_BYTES: i32 = 1568;
3592pub const MLKEM1024_CIPHERTEXT_BYTES: i32 = 1568;
3593pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3594pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3595pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3596pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3597pub const PKCS7_DETACHED: i32 = 64;
3598pub const PKCS7_TEXT: i32 = 1;
3599pub const PKCS7_NOCERTS: i32 = 2;
3600pub const PKCS7_NOSIGS: i32 = 4;
3601pub const PKCS7_NOCHAIN: i32 = 8;
3602pub const PKCS7_NOINTERN: i32 = 16;
3603pub const PKCS7_NOVERIFY: i32 = 32;
3604pub const PKCS7_BINARY: i32 = 128;
3605pub const PKCS7_NOATTR: i32 = 256;
3606pub const PKCS7_NOSMIMECAP: i32 = 512;
3607pub const PKCS7_STREAM: i32 = 4096;
3608pub const PKCS7_PARTIAL: i32 = 16384;
3609pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3610pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3611pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3612pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3613pub const OPENSSL_RSA_MAX_MODULUS_BITS: i32 = 16384;
3614pub const RSA_PKCS1_PADDING: i32 = 1;
3615pub const RSA_NO_PADDING: i32 = 3;
3616pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3617pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3618pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3619pub const RSA_PSS_SALTLEN_AUTO: i32 = -2;
3620pub const RSA_FLAG_OPAQUE: i32 = 1;
3621pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3622pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3623pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3624pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3625pub const RSA_3: i32 = 3;
3626pub const RSA_F4: i32 = 65537;
3627pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3628pub const RSA_R_BAD_ENCODING: i32 = 100;
3629pub const RSA_R_BAD_E_VALUE: i32 = 101;
3630pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3631pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3632pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3633pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3634pub const RSA_R_BAD_VERSION: i32 = 106;
3635pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3636pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3637pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3638pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3639pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3640pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3641pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3642pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3643pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3644pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3645pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3646pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3647pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3648pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3649pub const RSA_R_ENCODE_ERROR: i32 = 121;
3650pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3651pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3652pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3653pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3654pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3655pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3656pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3657pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3658pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3659pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3660pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3661pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3662pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3663pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3664pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3665pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3666pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3667pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3668pub const RSA_R_TOO_LONG: i32 = 140;
3669pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3670pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3671pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3672pub const RSA_R_VALUE_MISSING: i32 = 144;
3673pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3674pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3675pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3676pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3677pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3678pub const X509V3_R_BAD_OBJECT: i32 = 101;
3679pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3680pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3681pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3682pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3683pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3684pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3685pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3686pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3687pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3688pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3689pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3690pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3691pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3692pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3693pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3694pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3695pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3696pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3697pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3698pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3699pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3700pub const X509V3_R_INVALID_NAME: i32 = 123;
3701pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3702pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3703pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3704pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3705pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3706pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3707pub const X509V3_R_INVALID_OPTION: i32 = 130;
3708pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3709pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3710pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3711pub const X509V3_R_INVALID_SECTION: i32 = 134;
3712pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3713pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3714pub const X509V3_R_MISSING_VALUE: i32 = 137;
3715pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3716pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3717pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3718pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3719pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3720pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3721pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3722pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3723pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3724pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3725pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3726pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3727pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3728pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3729pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3730pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3731pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3732pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3733pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3734pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3735pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3736pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3737pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3738pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3739pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3740pub const X509V3_R_INVALID_VALUE: i32 = 163;
3741pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3742pub const X509_VERSION_1: i32 = 0;
3743pub const X509_VERSION_2: i32 = 1;
3744pub const X509_VERSION_3: i32 = 2;
3745pub const EXFLAG_BCONS: i32 = 1;
3746pub const EXFLAG_KUSAGE: i32 = 2;
3747pub const EXFLAG_XKUSAGE: i32 = 4;
3748pub const EXFLAG_CA: i32 = 16;
3749pub const EXFLAG_SI: i32 = 32;
3750pub const EXFLAG_V1: i32 = 64;
3751pub const EXFLAG_INVALID: i32 = 128;
3752pub const EXFLAG_SET: i32 = 256;
3753pub const EXFLAG_CRITICAL: i32 = 512;
3754pub const EXFLAG_SS: i32 = 8192;
3755pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3756pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3757pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3758pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3759pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3760pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3761pub const X509v3_KU_CRL_SIGN: i32 = 2;
3762pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3763pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3764pub const XKU_SSL_SERVER: i32 = 1;
3765pub const XKU_SSL_CLIENT: i32 = 2;
3766pub const XKU_SMIME: i32 = 4;
3767pub const XKU_CODE_SIGN: i32 = 8;
3768pub const XKU_SGC: i32 = 16;
3769pub const XKU_OCSP_SIGN: i32 = 32;
3770pub const XKU_TIMESTAMP: i32 = 64;
3771pub const XKU_DVCS: i32 = 128;
3772pub const XKU_ANYEKU: i32 = 256;
3773pub const X509_CRL_VERSION_1: i32 = 0;
3774pub const X509_CRL_VERSION_2: i32 = 1;
3775pub const X509_REQ_VERSION_1: i32 = 0;
3776pub const X509V3_ADD_OP_MASK: i32 = 15;
3777pub const X509V3_ADD_DEFAULT: i32 = 0;
3778pub const X509V3_ADD_APPEND: i32 = 1;
3779pub const X509V3_ADD_REPLACE: i32 = 2;
3780pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3781pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3782pub const X509V3_ADD_DELETE: i32 = 5;
3783pub const X509V3_ADD_SILENT: i32 = 16;
3784pub const GEN_OTHERNAME: i32 = 0;
3785pub const GEN_EMAIL: i32 = 1;
3786pub const GEN_DNS: i32 = 2;
3787pub const GEN_X400: i32 = 3;
3788pub const GEN_DIRNAME: i32 = 4;
3789pub const GEN_EDIPARTY: i32 = 5;
3790pub const GEN_URI: i32 = 6;
3791pub const GEN_IPADD: i32 = 7;
3792pub const GEN_RID: i32 = 8;
3793pub const X509_LU_NONE: i32 = 0;
3794pub const X509_LU_X509: i32 = 1;
3795pub const X509_LU_CRL: i32 = 2;
3796pub const X509_LU_PKEY: i32 = 3;
3797pub const X509_V_OK: i32 = 0;
3798pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3799pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3800pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3801pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3802pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3803pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3804pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3805pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3806pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3807pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3808pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3809pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3810pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3811pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3812pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3813pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3814pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3815pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3816pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3817pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3818pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3819pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3820pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3821pub const X509_V_ERR_INVALID_CA: i32 = 24;
3822pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3823pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3824pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3825pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3826pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3827pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3828pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3829pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3830pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3831pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3832pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3833pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3834pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3835pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3836pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3837pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3838pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3839pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3840pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3841pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3842pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3843pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3844pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3845pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3846pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3847pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3848pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3849pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3850pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3851pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3852pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3853pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3854pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3855pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3856pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3857pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3858pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3859pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3860pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3861pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3862pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3863pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3864pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3865pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3866pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3867pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3868pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3869pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3870pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3871pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3872pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3873pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
3874pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3875pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
3876pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3877pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3878pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3879pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3880pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3881pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3882pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3883pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3884pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3885pub const X509_PURPOSE_ANY: i32 = 7;
3886pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3887pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3888pub const X509_TRUST_COMPAT: i32 = 1;
3889pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3890pub const X509_TRUST_SSL_SERVER: i32 = 3;
3891pub const X509_TRUST_EMAIL: i32 = 4;
3892pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3893pub const X509_TRUST_TSA: i32 = 8;
3894pub const X509_FILETYPE_PEM: i32 = 1;
3895pub const X509_FILETYPE_ASN1: i32 = 2;
3896pub const X509_FILETYPE_DEFAULT: i32 = 3;
3897pub const X509_L_FILE_LOAD: i32 = 1;
3898pub const X509_L_ADD_DIR: i32 = 2;
3899pub const X509_FLAG_COMPAT: i32 = 0;
3900pub const X509_FLAG_NO_HEADER: i32 = 1;
3901pub const X509_FLAG_NO_VERSION: i32 = 2;
3902pub const X509_FLAG_NO_SERIAL: i32 = 4;
3903pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3904pub const X509_FLAG_NO_ISSUER: i32 = 16;
3905pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3906pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3907pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3908pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3909pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3910pub const X509_FLAG_NO_AUX: i32 = 1024;
3911pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3912pub const X509_FLAG_NO_IDS: i32 = 4096;
3913pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3914pub const X509V3_EXT_DEFAULT: i32 = 0;
3915pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3916pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3917pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3918pub const XN_FLAG_COMPAT: i32 = 0;
3919pub const XN_FLAG_SEP_MASK: i32 = 983040;
3920pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3921pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3922pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3923pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3924pub const XN_FLAG_DN_REV: i32 = 1048576;
3925pub const XN_FLAG_FN_MASK: i32 = 6291456;
3926pub const XN_FLAG_FN_SN: i32 = 0;
3927pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3928pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3929pub const XN_FLAG_RFC2253: i32 = 17892119;
3930pub const XN_FLAG_ONELINE: i32 = 8520479;
3931pub const X509_TRUST_TRUSTED: i32 = 1;
3932pub const X509_TRUST_REJECTED: i32 = 2;
3933pub const X509_TRUST_UNTRUSTED: i32 = 3;
3934pub const X509V3_EXT_MULTILINE: i32 = 4;
3935pub const X509V3_CTX_TEST: i32 = 1;
3936pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3937pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3938pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3939pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3940pub const NS_SSL_CLIENT: i32 = 128;
3941pub const NS_SSL_SERVER: i32 = 64;
3942pub const NS_SMIME: i32 = 32;
3943pub const NS_OBJSIGN: i32 = 16;
3944pub const NS_SSL_CA: i32 = 4;
3945pub const NS_SMIME_CA: i32 = 2;
3946pub const NS_OBJSIGN_CA: i32 = 1;
3947pub const NS_ANY_CA: i32 = 7;
3948pub const X509_R_AKID_MISMATCH: i32 = 100;
3949pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3950pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3951pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3952pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3953pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3954pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3955pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3956pub const X509_R_IDP_MISMATCH: i32 = 108;
3957pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3958pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3959pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3960pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3961pub const X509_R_INVALID_TRUST: i32 = 113;
3962pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3963pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3964pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3965pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3966pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3967pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3968pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3969pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3970pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3971pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3972pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3973pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3974pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3975pub const X509_R_SHOULD_RETRY: i32 = 127;
3976pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3977pub const X509_R_UNKNOWN_NID: i32 = 129;
3978pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3979pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3980pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3981pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3982pub const X509_R_WRONG_TYPE: i32 = 134;
3983pub const X509_R_NAME_TOO_LONG: i32 = 135;
3984pub const X509_R_INVALID_PARAMETER: i32 = 136;
3985pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3986pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3987pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3988pub const X509_R_INVALID_VERSION: i32 = 140;
3989pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3990pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3991pub const X509_R_NO_CRL_FOUND: i32 = 143;
3992pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3993pub const PEM_BUFSIZE: i32 = 1024;
3994pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3995pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3996pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3997pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3998pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3999pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
4000pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
4001pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
4002pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
4003pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
4004pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
4005pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
4006pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
4007pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
4008pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
4009pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
4010pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
4011pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
4012pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
4013pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
4014pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
4015pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
4016pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
4017pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
4018pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
4019pub const PEM_R_BAD_DECRYPT: i32 = 101;
4020pub const PEM_R_BAD_END_LINE: i32 = 102;
4021pub const PEM_R_BAD_IV_CHARS: i32 = 103;
4022pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
4023pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
4024pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
4025pub const PEM_R_NOT_DEK_INFO: i32 = 107;
4026pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
4027pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
4028pub const PEM_R_NO_START_LINE: i32 = 110;
4029pub const PEM_R_READ_KEY: i32 = 111;
4030pub const PEM_R_SHORT_HEADER: i32 = 112;
4031pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4032pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4033pub const PEM_R_UNSUPPORTED_PROC_TYPE_VERSION: i32 = 115;
4034pub const PEM_R_NO_DATA: i32 = 116;
4035pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4036pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4037pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4038pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4039pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4040pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4041pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4042pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4043pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4044pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4045pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4046pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4047pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4048pub const PKCS8_R_MISSING_MAC: i32 = 112;
4049pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4050pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4051pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4052pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4053pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4054pub const PKCS8_R_TOO_LONG: i32 = 118;
4055pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4056pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4057pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4058pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4059pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4060pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4061pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4062pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4063pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4064pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4065pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4066pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4067pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4068pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4069pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4070pub const RIPEMD160_CBLOCK: i32 = 64;
4071pub const RIPEMD160_LBLOCK: i32 = 16;
4072pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4073pub const SLHDSA_SHA2_128S_PUBLIC_KEY_BYTES: i32 = 32;
4074pub const SLHDSA_SHA2_128S_PRIVATE_KEY_BYTES: i32 = 64;
4075pub const SLHDSA_SHA2_128S_SIGNATURE_BYTES: i32 = 7856;
4076pub const SLHDSA_SHAKE_256F_PUBLIC_KEY_BYTES: i32 = 64;
4077pub const SLHDSA_SHAKE_256F_PRIVATE_KEY_BYTES: i32 = 128;
4078pub const SLHDSA_SHAKE_256F_SIGNATURE_BYTES: i32 = 49856;
4079pub const SSL2_MT_CLIENT_HELLO: i32 = 1;
4080pub const SSL2_VERSION: i32 = 2;
4081pub const SSL3_CK_RSA_DES_192_CBC3_SHA: i32 = 50331658;
4082pub const SSL3_CK_SCSV: i32 = 50331903;
4083pub const SSL3_CK_FALLBACK_SCSV: i32 = 50353664;
4084pub const SSL3_TXT_RSA_DES_192_CBC3_SHA: &[u8; 13] = b"DES-CBC3-SHA\0";
4085pub const SSL3_SSL_SESSION_ID_LENGTH: i32 = 32;
4086pub const SSL3_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4087pub const SSL3_MASTER_SECRET_SIZE: i32 = 48;
4088pub const SSL3_RANDOM_SIZE: i32 = 32;
4089pub const SSL3_SESSION_ID_SIZE: i32 = 32;
4090pub const SSL3_RT_HEADER_LENGTH: i32 = 5;
4091pub const SSL3_HM_HEADER_LENGTH: i32 = 4;
4092pub const SSL3_ALIGN_PAYLOAD: i32 = 8;
4093pub const SSL3_RT_MAX_MD_SIZE: i32 = 64;
4094pub const SSL_RT_MAX_CIPHER_BLOCK_SIZE: i32 = 16;
4095pub const SSL3_RT_MAX_PLAIN_LENGTH: i32 = 16384;
4096pub const SSL3_RT_MAX_COMPRESSED_OVERHEAD: i32 = 1024;
4097pub const SSL3_RT_MAX_ENCRYPTED_OVERHEAD: i32 = 320;
4098pub const SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD: i32 = 88;
4099pub const SSL3_RT_MAX_COMPRESSED_LENGTH: i32 = 16384;
4100pub const SSL3_RT_MAX_ENCRYPTED_LENGTH: i32 = 16704;
4101pub const SSL3_RT_MAX_PACKET_SIZE: i32 = 16709;
4102pub const SSL3_RT_CHANGE_CIPHER_SPEC: i32 = 20;
4103pub const SSL3_RT_ALERT: i32 = 21;
4104pub const SSL3_RT_HANDSHAKE: i32 = 22;
4105pub const SSL3_RT_APPLICATION_DATA: i32 = 23;
4106pub const SSL3_RT_ACK: i32 = 26;
4107pub const SSL3_RT_HEADER: i32 = 256;
4108pub const SSL3_RT_CLIENT_HELLO_INNER: i32 = 257;
4109pub const SSL3_AL_WARNING: i32 = 1;
4110pub const SSL3_AL_FATAL: i32 = 2;
4111pub const SSL3_AD_CLOSE_NOTIFY: i32 = 0;
4112pub const SSL3_AD_UNEXPECTED_MESSAGE: i32 = 10;
4113pub const SSL3_AD_BAD_RECORD_MAC: i32 = 20;
4114pub const SSL3_AD_DECOMPRESSION_FAILURE: i32 = 30;
4115pub const SSL3_AD_HANDSHAKE_FAILURE: i32 = 40;
4116pub const SSL3_AD_NO_CERTIFICATE: i32 = 41;
4117pub const SSL3_AD_BAD_CERTIFICATE: i32 = 42;
4118pub const SSL3_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4119pub const SSL3_AD_CERTIFICATE_REVOKED: i32 = 44;
4120pub const SSL3_AD_CERTIFICATE_EXPIRED: i32 = 45;
4121pub const SSL3_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4122pub const SSL3_AD_ILLEGAL_PARAMETER: i32 = 47;
4123pub const SSL3_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4124pub const SSL3_CT_RSA_SIGN: i32 = 1;
4125pub const SSL3_MT_HELLO_REQUEST: i32 = 0;
4126pub const SSL3_MT_CLIENT_HELLO: i32 = 1;
4127pub const SSL3_MT_SERVER_HELLO: i32 = 2;
4128pub const SSL3_MT_NEW_SESSION_TICKET: i32 = 4;
4129pub const SSL3_MT_END_OF_EARLY_DATA: i32 = 5;
4130pub const SSL3_MT_ENCRYPTED_EXTENSIONS: i32 = 8;
4131pub const SSL3_MT_CERTIFICATE: i32 = 11;
4132pub const SSL3_MT_SERVER_KEY_EXCHANGE: i32 = 12;
4133pub const SSL3_MT_CERTIFICATE_REQUEST: i32 = 13;
4134pub const SSL3_MT_SERVER_HELLO_DONE: i32 = 14;
4135pub const SSL3_MT_CERTIFICATE_VERIFY: i32 = 15;
4136pub const SSL3_MT_CLIENT_KEY_EXCHANGE: i32 = 16;
4137pub const SSL3_MT_FINISHED: i32 = 20;
4138pub const SSL3_MT_CERTIFICATE_STATUS: i32 = 22;
4139pub const SSL3_MT_SUPPLEMENTAL_DATA: i32 = 23;
4140pub const SSL3_MT_KEY_UPDATE: i32 = 24;
4141pub const SSL3_MT_COMPRESSED_CERTIFICATE: i32 = 25;
4142pub const SSL3_MT_NEXT_PROTO: i32 = 67;
4143pub const SSL3_MT_CHANNEL_ID: i32 = 203;
4144pub const SSL3_MT_MESSAGE_HASH: i32 = 254;
4145pub const DTLS1_MT_HELLO_VERIFY_REQUEST: i32 = 3;
4146pub const SSL3_MT_SERVER_DONE: i32 = 14;
4147pub const SSL3_MT_NEWSESSION_TICKET: i32 = 4;
4148pub const SSL3_MT_CCS: i32 = 1;
4149pub const TLS1_AD_END_OF_EARLY_DATA: i32 = 1;
4150pub const TLS1_AD_DECRYPTION_FAILED: i32 = 21;
4151pub const TLS1_AD_RECORD_OVERFLOW: i32 = 22;
4152pub const TLS1_AD_UNKNOWN_CA: i32 = 48;
4153pub const TLS1_AD_ACCESS_DENIED: i32 = 49;
4154pub const TLS1_AD_DECODE_ERROR: i32 = 50;
4155pub const TLS1_AD_DECRYPT_ERROR: i32 = 51;
4156pub const TLS1_AD_EXPORT_RESTRICTION: i32 = 60;
4157pub const TLS1_AD_PROTOCOL_VERSION: i32 = 70;
4158pub const TLS1_AD_INSUFFICIENT_SECURITY: i32 = 71;
4159pub const TLS1_AD_INTERNAL_ERROR: i32 = 80;
4160pub const TLS1_AD_USER_CANCELLED: i32 = 90;
4161pub const TLS1_AD_NO_RENEGOTIATION: i32 = 100;
4162pub const TLS1_AD_MISSING_EXTENSION: i32 = 109;
4163pub const TLS1_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4164pub const TLS1_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4165pub const TLS1_AD_UNRECOGNIZED_NAME: i32 = 112;
4166pub const TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4167pub const TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4168pub const TLS1_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4169pub const TLS1_AD_CERTIFICATE_REQUIRED: i32 = 116;
4170pub const TLS1_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4171pub const TLS1_AD_ECH_REQUIRED: i32 = 121;
4172pub const TLSEXT_TYPE_server_name: i32 = 0;
4173pub const TLSEXT_TYPE_status_request: i32 = 5;
4174pub const TLSEXT_TYPE_ec_point_formats: i32 = 11;
4175pub const TLSEXT_TYPE_signature_algorithms: i32 = 13;
4176pub const TLSEXT_TYPE_srtp: i32 = 14;
4177pub const TLSEXT_TYPE_application_layer_protocol_negotiation: i32 = 16;
4178pub const TLSEXT_TYPE_client_cert_type: i32 = 19;
4179pub const TLSEXT_TYPE_server_cert_type: i32 = 20;
4180pub const TLSEXT_TYPE_padding: i32 = 21;
4181pub const TLSEXT_TYPE_extended_master_secret: i32 = 23;
4182pub const TLSEXT_TYPE_quic_transport_parameters_legacy: i32 = 65445;
4183pub const TLSEXT_TYPE_quic_transport_parameters: i32 = 57;
4184pub const TLSEXT_TYPE_quic_transport_parameters_standard: i32 = 57;
4185pub const TLSEXT_TYPE_cert_compression: i32 = 27;
4186pub const TLSEXT_TYPE_session_ticket: i32 = 35;
4187pub const TLSEXT_TYPE_supported_groups: i32 = 10;
4188pub const TLSEXT_TYPE_pre_shared_key: i32 = 41;
4189pub const TLSEXT_TYPE_early_data: i32 = 42;
4190pub const TLSEXT_TYPE_supported_versions: i32 = 43;
4191pub const TLSEXT_TYPE_cookie: i32 = 44;
4192pub const TLSEXT_TYPE_psk_key_exchange_modes: i32 = 45;
4193pub const TLSEXT_TYPE_certificate_authorities: i32 = 47;
4194pub const TLSEXT_TYPE_signature_algorithms_cert: i32 = 50;
4195pub const TLSEXT_TYPE_key_share: i32 = 51;
4196pub const TLSEXT_TYPE_renegotiate: i32 = 65281;
4197pub const TLSEXT_TYPE_delegated_credential: i32 = 34;
4198pub const TLSEXT_TYPE_application_settings_old: i32 = 17513;
4199pub const TLSEXT_TYPE_application_settings: i32 = 17613;
4200pub const TLSEXT_TYPE_encrypted_client_hello: i32 = 65037;
4201pub const TLSEXT_TYPE_ech_outer_extensions: i32 = 64768;
4202pub const TLSEXT_TYPE_pake: i32 = 35387;
4203pub const TLSEXT_TYPE_certificate_timestamp: i32 = 18;
4204pub const TLSEXT_TYPE_next_proto_neg: i32 = 13172;
4205pub const TLSEXT_TYPE_channel_id: i32 = 30032;
4206pub const TLSEXT_TYPE_trust_anchors: i32 = 51764;
4207pub const TLSEXT_TYPE_server_padding: i32 = 4832;
4208pub const TLSEXT_TYPE_tls_flags: i32 = 62;
4209pub const TLSEXT_STATUSTYPE_nothing: i32 = -1;
4210pub const TLSEXT_STATUSTYPE_ocsp: i32 = 1;
4211pub const TLSEXT_ECPOINTFORMAT_uncompressed: i32 = 0;
4212pub const TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime: i32 = 1;
4213pub const TLSEXT_signature_anonymous: i32 = 0;
4214pub const TLSEXT_signature_rsa: i32 = 1;
4215pub const TLSEXT_signature_dsa: i32 = 2;
4216pub const TLSEXT_signature_ecdsa: i32 = 3;
4217pub const TLSEXT_hash_none: i32 = 0;
4218pub const TLSEXT_hash_md5: i32 = 1;
4219pub const TLSEXT_hash_sha1: i32 = 2;
4220pub const TLSEXT_hash_sha224: i32 = 3;
4221pub const TLSEXT_hash_sha256: i32 = 4;
4222pub const TLSEXT_hash_sha384: i32 = 5;
4223pub const TLSEXT_hash_sha512: i32 = 6;
4224pub const TLSEXT_cert_compression_zlib: i32 = 1;
4225pub const TLSEXT_cert_compression_brotli: i32 = 2;
4226pub const TLSEXT_MAXLEN_host_name: i32 = 255;
4227pub const TLS1_CK_PSK_WITH_AES_128_CBC_SHA: i32 = 50331788;
4228pub const TLS1_CK_PSK_WITH_AES_256_CBC_SHA: i32 = 50331789;
4229pub const TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 50380853;
4230pub const TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 50380854;
4231pub const TLS1_CK_RSA_WITH_AES_128_SHA: i32 = 50331695;
4232pub const TLS1_CK_RSA_WITH_AES_256_SHA: i32 = 50331701;
4233pub const TLS1_CK_RSA_WITH_AES_128_GCM_SHA256: i32 = 50331804;
4234pub const TLS1_CK_RSA_WITH_AES_256_GCM_SHA384: i32 = 50331805;
4235pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 50380809;
4236pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 50380810;
4237pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 50380819;
4238pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 50380820;
4239pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 50380835;
4240pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 50380839;
4241pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 50380843;
4242pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 50380844;
4243pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 50380847;
4244pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 50380848;
4245pub const TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384040;
4246pub const TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384041;
4247pub const TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384044;
4248pub const TLS1_3_CK_AES_128_GCM_SHA256: i32 = 50336513;
4249pub const TLS1_3_CK_AES_256_GCM_SHA384: i32 = 50336514;
4250pub const TLS1_3_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4251pub const TLS1_CK_AES_128_GCM_SHA256: i32 = 50336513;
4252pub const TLS1_CK_AES_256_GCM_SHA384: i32 = 50336514;
4253pub const TLS1_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4254pub const TLS1_TXT_PSK_WITH_AES_128_CBC_SHA: &[u8; 19] = b"PSK-AES128-CBC-SHA\0";
4255pub const TLS1_TXT_PSK_WITH_AES_256_CBC_SHA: &[u8; 19] = b"PSK-AES256-CBC-SHA\0";
4256pub const TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES128-CBC-SHA\0";
4257pub const TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES256-CBC-SHA\0";
4258pub const TLS1_TXT_RSA_WITH_AES_128_SHA: &[u8; 11] = b"AES128-SHA\0";
4259pub const TLS1_TXT_RSA_WITH_AES_256_SHA: &[u8; 11] = b"AES256-SHA\0";
4260pub const TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256: &[u8; 18] = b"AES128-GCM-SHA256\0";
4261pub const TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384: &[u8; 18] = b"AES256-GCM-SHA384\0";
4262pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES128-SHA\0";
4263pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES256-SHA\0";
4264pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES128-SHA\0";
4265pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES256-SHA\0";
4266pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: &[u8; 26] = b"ECDHE-ECDSA-AES128-SHA256\0";
4267pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA256: &[u8; 24] = b"ECDHE-RSA-AES128-SHA256\0";
4268pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: &[u8; 30] =
4269 b"ECDHE-ECDSA-AES128-GCM-SHA256\0";
4270pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: &[u8; 30] =
4271 b"ECDHE-ECDSA-AES256-GCM-SHA384\0";
4272pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256: &[u8; 28] = b"ECDHE-RSA-AES128-GCM-SHA256\0";
4273pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384: &[u8; 28] = b"ECDHE-RSA-AES256-GCM-SHA384\0";
4274pub const TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4275 b"ECDHE-RSA-CHACHA20-POLY1305\0";
4276pub const TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 30] =
4277 b"ECDHE-ECDSA-CHACHA20-POLY1305\0";
4278pub const TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4279 b"ECDHE-PSK-CHACHA20-POLY1305\0";
4280pub const TLS1_3_RFC_AES_128_GCM_SHA256: &[u8; 23] = b"TLS_AES_128_GCM_SHA256\0";
4281pub const TLS1_3_RFC_AES_256_GCM_SHA384: &[u8; 23] = b"TLS_AES_256_GCM_SHA384\0";
4282pub const TLS1_3_RFC_CHACHA20_POLY1305_SHA256: &[u8; 29] = b"TLS_CHACHA20_POLY1305_SHA256\0";
4283pub const TLS_CT_RSA_SIGN: i32 = 1;
4284pub const TLS_CT_DSS_SIGN: i32 = 2;
4285pub const TLS_CT_RSA_FIXED_DH: i32 = 3;
4286pub const TLS_CT_DSS_FIXED_DH: i32 = 4;
4287pub const TLS_CT_ECDSA_SIGN: i32 = 64;
4288pub const TLS_CT_RSA_FIXED_ECDH: i32 = 65;
4289pub const TLS_CT_ECDSA_FIXED_ECDH: i32 = 66;
4290pub const SSL_KEY_UPDATE_REQUESTED: i32 = 1;
4291pub const SSL_KEY_UPDATE_NOT_REQUESTED: i32 = 0;
4292pub const SSL_ERROR_NONE: i32 = 0;
4293pub const SSL_ERROR_SSL: i32 = 1;
4294pub const SSL_ERROR_WANT_READ: i32 = 2;
4295pub const SSL_ERROR_WANT_WRITE: i32 = 3;
4296pub const SSL_ERROR_WANT_X509_LOOKUP: i32 = 4;
4297pub const SSL_ERROR_SYSCALL: i32 = 5;
4298pub const SSL_ERROR_ZERO_RETURN: i32 = 6;
4299pub const SSL_ERROR_WANT_CONNECT: i32 = 7;
4300pub const SSL_ERROR_WANT_ACCEPT: i32 = 8;
4301pub const SSL_ERROR_WANT_CHANNEL_ID_LOOKUP: i32 = 9;
4302pub const SSL_ERROR_PENDING_SESSION: i32 = 11;
4303pub const SSL_ERROR_PENDING_CERTIFICATE: i32 = 12;
4304pub const SSL_ERROR_WANT_PRIVATE_KEY_OPERATION: i32 = 13;
4305pub const SSL_ERROR_PENDING_TICKET: i32 = 14;
4306pub const SSL_ERROR_EARLY_DATA_REJECTED: i32 = 15;
4307pub const SSL_ERROR_WANT_CERTIFICATE_VERIFY: i32 = 16;
4308pub const SSL_ERROR_HANDOFF: i32 = 17;
4309pub const SSL_ERROR_HANDBACK: i32 = 18;
4310pub const SSL_ERROR_WANT_RENEGOTIATE: i32 = 19;
4311pub const SSL_ERROR_HANDSHAKE_HINTS_READY: i32 = 20;
4312pub const DTLS1_VERSION_MAJOR: i32 = 254;
4313pub const SSL3_VERSION_MAJOR: i32 = 3;
4314pub const SSL3_VERSION: i32 = 768;
4315pub const TLS1_VERSION: i32 = 769;
4316pub const TLS1_1_VERSION: i32 = 770;
4317pub const TLS1_2_VERSION: i32 = 771;
4318pub const TLS1_3_VERSION: i32 = 772;
4319pub const DTLS1_VERSION: i32 = 65279;
4320pub const DTLS1_2_VERSION: i32 = 65277;
4321pub const DTLS1_3_VERSION: i32 = 65276;
4322pub const SSL_OP_LEGACY_SERVER_CONNECT: i32 = 4;
4323pub const SSL_OP_NO_QUERY_MTU: i32 = 4096;
4324pub const SSL_OP_NO_TICKET: i32 = 16384;
4325pub const SSL_OP_CIPHER_SERVER_PREFERENCE: i32 = 4194304;
4326pub const SSL_OP_ALL: i32 = 4;
4327pub const SSL_OP_NO_TLSv1: i32 = 67108864;
4328pub const SSL_OP_NO_TLSv1_2: i32 = 134217728;
4329pub const SSL_OP_NO_TLSv1_1: i32 = 268435456;
4330pub const SSL_OP_NO_TLSv1_3: i32 = 536870912;
4331pub const SSL_OP_NO_DTLSv1: i32 = 67108864;
4332pub const SSL_OP_NO_DTLSv1_2: i32 = 134217728;
4333pub const SSL_MODE_ENABLE_PARTIAL_WRITE: i32 = 1;
4334pub const SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER: i32 = 2;
4335pub const SSL_MODE_NO_AUTO_CHAIN: i32 = 8;
4336pub const SSL_MODE_ENABLE_FALSE_START: i32 = 128;
4337pub const SSL_MODE_CBC_RECORD_SPLITTING: i32 = 256;
4338pub const SSL_MODE_NO_SESSION_CREATION: i32 = 512;
4339pub const SSL_MODE_SEND_FALLBACK_SCSV: i32 = 1024;
4340pub const SSL_SIGN_RSA_PKCS1_SHA1: i32 = 513;
4341pub const SSL_SIGN_RSA_PKCS1_SHA256: i32 = 1025;
4342pub const SSL_SIGN_RSA_PKCS1_SHA384: i32 = 1281;
4343pub const SSL_SIGN_RSA_PKCS1_SHA512: i32 = 1537;
4344pub const SSL_SIGN_ECDSA_SHA1: i32 = 515;
4345pub const SSL_SIGN_ECDSA_SECP256R1_SHA256: i32 = 1027;
4346pub const SSL_SIGN_ECDSA_SECP384R1_SHA384: i32 = 1283;
4347pub const SSL_SIGN_ECDSA_SECP521R1_SHA512: i32 = 1539;
4348pub const SSL_SIGN_RSA_PSS_RSAE_SHA256: i32 = 2052;
4349pub const SSL_SIGN_RSA_PSS_RSAE_SHA384: i32 = 2053;
4350pub const SSL_SIGN_RSA_PSS_RSAE_SHA512: i32 = 2054;
4351pub const SSL_SIGN_ED25519: i32 = 2055;
4352pub const SSL_SIGN_ML_DSA_44: i32 = 2308;
4353pub const SSL_SIGN_ML_DSA_65: i32 = 2309;
4354pub const SSL_SIGN_ML_DSA_87: i32 = 2310;
4355pub const SSL_SIGN_RSA_PKCS1_SHA256_LEGACY: i32 = 1056;
4356pub const SSL_SIGN_RSA_PKCS1_MD5_SHA1: i32 = 65281;
4357pub const SSL_FILETYPE_PEM: i32 = 1;
4358pub const SSL_FILETYPE_ASN1: i32 = 2;
4359pub const SSL_CIPHER_AES_128_GCM_SHA256: i32 = 4865;
4360pub const SSL_CIPHER_AES_256_GCM_SHA384: i32 = 4866;
4361pub const SSL_CIPHER_CHACHA20_POLY1305_SHA256: i32 = 4867;
4362pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 49195;
4363pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 49196;
4364pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 49199;
4365pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 49200;
4366pub const SSL_CIPHER_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52392;
4367pub const SSL_CIPHER_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52393;
4368pub const SSL_CIPHER_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 52396;
4369pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 49161;
4370pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 49162;
4371pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 49171;
4372pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 49172;
4373pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 49205;
4374pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 49206;
4375pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 49187;
4376pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 49191;
4377pub const SSL_CIPHER_RSA_WITH_AES_128_GCM_SHA256: i32 = 156;
4378pub const SSL_CIPHER_RSA_WITH_AES_256_GCM_SHA384: i32 = 157;
4379pub const SSL_CIPHER_RSA_WITH_AES_128_CBC_SHA: i32 = 47;
4380pub const SSL_CIPHER_RSA_WITH_AES_256_CBC_SHA: i32 = 53;
4381pub const SSL_CIPHER_PSK_WITH_AES_128_CBC_SHA: i32 = 140;
4382pub const SSL_CIPHER_PSK_WITH_AES_256_CBC_SHA: i32 = 141;
4383pub const SSL_CIPHER_RSA_WITH_3DES_EDE_CBC_SHA: i32 = 10;
4384pub const SSL_CIPHER_EMPTY_RENEGOTIATION_INFO_SCSV: i32 = 255;
4385pub const SSL_CIPHER_FALLBACK_SCSV: i32 = 22016;
4386pub const SSL_DEFAULT_CIPHER_LIST: &[u8; 4] = b"ALL\0";
4387pub const SSL_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4388pub const SSL_MAX_MASTER_KEY_LENGTH: i32 = 48;
4389pub const SSL_SESS_CACHE_OFF: i32 = 0;
4390pub const SSL_SESS_CACHE_CLIENT: i32 = 1;
4391pub const SSL_SESS_CACHE_SERVER: i32 = 2;
4392pub const SSL_SESS_CACHE_BOTH: i32 = 3;
4393pub const SSL_SESS_CACHE_NO_AUTO_CLEAR: i32 = 128;
4394pub const SSL_SESS_CACHE_NO_INTERNAL_LOOKUP: i32 = 256;
4395pub const SSL_SESS_CACHE_NO_INTERNAL_STORE: i32 = 512;
4396pub const SSL_SESS_CACHE_NO_INTERNAL: i32 = 768;
4397pub const SSL_DEFAULT_SESSION_TIMEOUT: i32 = 7200;
4398pub const SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT: i32 = 172800;
4399pub const SSL_DEFAULT_SESSION_AUTH_TIMEOUT: i32 = 604800;
4400pub const SSL_MAX_SID_CTX_LENGTH: i32 = 32;
4401pub const SSL_SESSION_CACHE_MAX_SIZE_DEFAULT: i32 = 20480;
4402pub const SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL: i32 = 172800;
4403pub const SSL_TICKET_KEY_NAME_LEN: i32 = 16;
4404pub const SSL_GROUP_SECP256R1: i32 = 23;
4405pub const SSL_GROUP_SECP384R1: i32 = 24;
4406pub const SSL_GROUP_SECP521R1: i32 = 25;
4407pub const SSL_GROUP_X25519: i32 = 29;
4408pub const SSL_GROUP_X25519_MLKEM768: i32 = 4588;
4409pub const SSL_GROUP_X25519_KYBER768_DRAFT00: i32 = 25497;
4410pub const SSL_GROUP_MLKEM1024: i32 = 514;
4411pub const SSL_GROUP_FLAG_EQUAL_PREFERENCE_WITH_NEXT: i32 = 1;
4412pub const SSL_VERIFY_NONE: i32 = 0;
4413pub const SSL_VERIFY_PEER: i32 = 1;
4414pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: i32 = 2;
4415pub const TLSEXT_NAMETYPE_host_name: i32 = 0;
4416pub const SSL_TLSEXT_ERR_OK: i32 = 0;
4417pub const SSL_TLSEXT_ERR_ALERT_WARNING: i32 = 1;
4418pub const SSL_TLSEXT_ERR_ALERT_FATAL: i32 = 2;
4419pub const SSL_TLSEXT_ERR_NOACK: i32 = 3;
4420pub const OPENSSL_NPN_UNSUPPORTED: i32 = 0;
4421pub const OPENSSL_NPN_NEGOTIATED: i32 = 1;
4422pub const OPENSSL_NPN_NO_OVERLAP: i32 = 2;
4423pub const SRTP_AES128_CM_SHA1_80: i32 = 1;
4424pub const SRTP_AES128_CM_SHA1_32: i32 = 2;
4425pub const SRTP_AES128_F8_SHA1_80: i32 = 3;
4426pub const SRTP_AES128_F8_SHA1_32: i32 = 4;
4427pub const SRTP_NULL_SHA1_80: i32 = 5;
4428pub const SRTP_NULL_SHA1_32: i32 = 6;
4429pub const SRTP_AEAD_AES_128_GCM: i32 = 7;
4430pub const SRTP_AEAD_AES_256_GCM: i32 = 8;
4431pub const PSK_MAX_IDENTITY_LEN: i32 = 128;
4432pub const PSK_MAX_PSK_LEN: i32 = 256;
4433pub const TLSEXT_cert_type_x509: i32 = 0;
4434pub const TLSEXT_cert_type_rpk: i32 = 2;
4435pub const SSL_PAKE_SPAKE2PLUSV1: i32 = 32150;
4436pub const SSL_AD_REASON_OFFSET: i32 = 1000;
4437pub const SSL_AD_CLOSE_NOTIFY: i32 = 0;
4438pub const SSL_AD_UNEXPECTED_MESSAGE: i32 = 10;
4439pub const SSL_AD_BAD_RECORD_MAC: i32 = 20;
4440pub const SSL_AD_DECRYPTION_FAILED: i32 = 21;
4441pub const SSL_AD_RECORD_OVERFLOW: i32 = 22;
4442pub const SSL_AD_DECOMPRESSION_FAILURE: i32 = 30;
4443pub const SSL_AD_HANDSHAKE_FAILURE: i32 = 40;
4444pub const SSL_AD_NO_CERTIFICATE: i32 = 41;
4445pub const SSL_AD_BAD_CERTIFICATE: i32 = 42;
4446pub const SSL_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4447pub const SSL_AD_CERTIFICATE_REVOKED: i32 = 44;
4448pub const SSL_AD_CERTIFICATE_EXPIRED: i32 = 45;
4449pub const SSL_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4450pub const SSL_AD_ILLEGAL_PARAMETER: i32 = 47;
4451pub const SSL_AD_UNKNOWN_CA: i32 = 48;
4452pub const SSL_AD_ACCESS_DENIED: i32 = 49;
4453pub const SSL_AD_DECODE_ERROR: i32 = 50;
4454pub const SSL_AD_DECRYPT_ERROR: i32 = 51;
4455pub const SSL_AD_EXPORT_RESTRICTION: i32 = 60;
4456pub const SSL_AD_PROTOCOL_VERSION: i32 = 70;
4457pub const SSL_AD_INSUFFICIENT_SECURITY: i32 = 71;
4458pub const SSL_AD_INTERNAL_ERROR: i32 = 80;
4459pub const SSL_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4460pub const SSL_AD_USER_CANCELLED: i32 = 90;
4461pub const SSL_AD_NO_RENEGOTIATION: i32 = 100;
4462pub const SSL_AD_MISSING_EXTENSION: i32 = 109;
4463pub const SSL_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4464pub const SSL_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4465pub const SSL_AD_UNRECOGNIZED_NAME: i32 = 112;
4466pub const SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4467pub const SSL_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4468pub const SSL_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4469pub const SSL_AD_CERTIFICATE_REQUIRED: i32 = 116;
4470pub const SSL_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4471pub const SSL_AD_ECH_REQUIRED: i32 = 121;
4472pub const SSL_MAX_CERT_LIST_DEFAULT: i32 = 102400;
4473pub const SSL_ST_CONNECT: i32 = 4096;
4474pub const SSL_ST_ACCEPT: i32 = 8192;
4475pub const SSL_ST_MASK: i32 = 4095;
4476pub const SSL_ST_INIT: i32 = 12288;
4477pub const SSL_ST_OK: i32 = 3;
4478pub const SSL_ST_RENEGOTIATE: i32 = 12292;
4479pub const SSL_ST_BEFORE: i32 = 12293;
4480pub const TLS_ST_OK: i32 = 3;
4481pub const TLS_ST_BEFORE: i32 = 12293;
4482pub const SSL_CB_LOOP: i32 = 1;
4483pub const SSL_CB_EXIT: i32 = 2;
4484pub const SSL_CB_READ: i32 = 4;
4485pub const SSL_CB_WRITE: i32 = 8;
4486pub const SSL_CB_ALERT: i32 = 16384;
4487pub const SSL_CB_READ_ALERT: i32 = 16388;
4488pub const SSL_CB_WRITE_ALERT: i32 = 16392;
4489pub const SSL_CB_ACCEPT_LOOP: i32 = 8193;
4490pub const SSL_CB_ACCEPT_EXIT: i32 = 8194;
4491pub const SSL_CB_CONNECT_LOOP: i32 = 4097;
4492pub const SSL_CB_CONNECT_EXIT: i32 = 4098;
4493pub const SSL_CB_HANDSHAKE_START: i32 = 16;
4494pub const SSL_CB_HANDSHAKE_DONE: i32 = 32;
4495pub const SSL_SENT_SHUTDOWN: i32 = 1;
4496pub const SSL_RECEIVED_SHUTDOWN: i32 = 2;
4497pub const SSL_MODE_HANDSHAKE_CUTTHROUGH: i32 = 128;
4498pub const SSL_MODE_AUTO_RETRY: i32 = 0;
4499pub const SSL_MODE_RELEASE_BUFFERS: i32 = 0;
4500pub const SSL_MODE_SEND_CLIENTHELLO_TIME: i32 = 0;
4501pub const SSL_MODE_SEND_SERVERHELLO_TIME: i32 = 0;
4502pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: i32 = 0;
4503pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: i32 = 0;
4504pub const SSL_OP_EPHEMERAL_RSA: i32 = 0;
4505pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: i32 = 0;
4506pub const SSL_OP_MICROSOFT_SESS_ID_BUG: i32 = 0;
4507pub const SSL_OP_MSIE_SSLV2_RSA_PADDING: i32 = 0;
4508pub const SSL_OP_NETSCAPE_CA_DN_BUG: i32 = 0;
4509pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: i32 = 0;
4510pub const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: i32 = 0;
4511pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: i32 = 0;
4512pub const SSL_OP_NO_COMPRESSION: i32 = 0;
4513pub const SSL_OP_NO_RENEGOTIATION: i32 = 0;
4514pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: i32 = 0;
4515pub const SSL_OP_NO_SSLv2: i32 = 0;
4516pub const SSL_OP_NO_SSLv3: i32 = 0;
4517pub const SSL_OP_PKCS1_CHECK_1: i32 = 0;
4518pub const SSL_OP_PKCS1_CHECK_2: i32 = 0;
4519pub const SSL_OP_SINGLE_DH_USE: i32 = 0;
4520pub const SSL_OP_SINGLE_ECDH_USE: i32 = 0;
4521pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: i32 = 0;
4522pub const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: i32 = 0;
4523pub const SSL_OP_TLS_BLOCK_PADDING_BUG: i32 = 0;
4524pub const SSL_OP_TLS_D5_BUG: i32 = 0;
4525pub const SSL_OP_TLS_ROLLBACK_BUG: i32 = 0;
4526pub const SSL_VERIFY_CLIENT_ONCE: i32 = 0;
4527pub const SSL_NOTHING: i32 = 0;
4528pub const SSL_WRITING: i32 = 3;
4529pub const SSL_READING: i32 = 2;
4530pub const SSL_TXT_MEDIUM: &[u8; 7] = b"MEDIUM\0";
4531pub const SSL_TXT_HIGH: &[u8; 5] = b"HIGH\0";
4532pub const SSL_TXT_FIPS: &[u8; 5] = b"FIPS\0";
4533pub const SSL_TXT_kRSA: &[u8; 5] = b"kRSA\0";
4534pub const SSL_TXT_kDHE: &[u8; 5] = b"kDHE\0";
4535pub const SSL_TXT_kEDH: &[u8; 5] = b"kEDH\0";
4536pub const SSL_TXT_kECDHE: &[u8; 7] = b"kECDHE\0";
4537pub const SSL_TXT_kEECDH: &[u8; 7] = b"kEECDH\0";
4538pub const SSL_TXT_kPSK: &[u8; 5] = b"kPSK\0";
4539pub const SSL_TXT_aRSA: &[u8; 5] = b"aRSA\0";
4540pub const SSL_TXT_aECDSA: &[u8; 7] = b"aECDSA\0";
4541pub const SSL_TXT_aPSK: &[u8; 5] = b"aPSK\0";
4542pub const SSL_TXT_DH: &[u8; 3] = b"DH\0";
4543pub const SSL_TXT_DHE: &[u8; 4] = b"DHE\0";
4544pub const SSL_TXT_EDH: &[u8; 4] = b"EDH\0";
4545pub const SSL_TXT_RSA: &[u8; 4] = b"RSA\0";
4546pub const SSL_TXT_ECDH: &[u8; 5] = b"ECDH\0";
4547pub const SSL_TXT_ECDHE: &[u8; 6] = b"ECDHE\0";
4548pub const SSL_TXT_EECDH: &[u8; 6] = b"EECDH\0";
4549pub const SSL_TXT_ECDSA: &[u8; 6] = b"ECDSA\0";
4550pub const SSL_TXT_PSK: &[u8; 4] = b"PSK\0";
4551pub const SSL_TXT_3DES: &[u8; 5] = b"3DES\0";
4552pub const SSL_TXT_RC4: &[u8; 4] = b"RC4\0";
4553pub const SSL_TXT_AES128: &[u8; 7] = b"AES128\0";
4554pub const SSL_TXT_AES256: &[u8; 7] = b"AES256\0";
4555pub const SSL_TXT_AES: &[u8; 4] = b"AES\0";
4556pub const SSL_TXT_AES_GCM: &[u8; 7] = b"AESGCM\0";
4557pub const SSL_TXT_CHACHA20: &[u8; 9] = b"CHACHA20\0";
4558pub const SSL_TXT_MD5: &[u8; 4] = b"MD5\0";
4559pub const SSL_TXT_SHA1: &[u8; 5] = b"SHA1\0";
4560pub const SSL_TXT_SHA: &[u8; 4] = b"SHA\0";
4561pub const SSL_TXT_SHA256: &[u8; 7] = b"SHA256\0";
4562pub const SSL_TXT_SHA384: &[u8; 7] = b"SHA384\0";
4563pub const SSL_TXT_SSLV3: &[u8; 6] = b"SSLv3\0";
4564pub const SSL_TXT_TLSV1: &[u8; 6] = b"TLSv1\0";
4565pub const SSL_TXT_TLSV1_1: &[u8; 8] = b"TLSv1.1\0";
4566pub const SSL_TXT_TLSV1_2: &[u8; 8] = b"TLSv1.2\0";
4567pub const SSL_TXT_TLSV1_3: &[u8; 8] = b"TLSv1.3\0";
4568pub const SSL_TXT_ALL: &[u8; 4] = b"ALL\0";
4569pub const SSL_TXT_CMPDEF: &[u8; 20] = b"COMPLEMENTOFDEFAULT\0";
4570pub const OPENSSL_INIT_NO_LOAD_SSL_STRINGS: i32 = 0;
4571pub const OPENSSL_INIT_LOAD_SSL_STRINGS: i32 = 0;
4572pub const OPENSSL_INIT_SSL_DEFAULT: i32 = 0;
4573pub const SSL_SIGN_RSA_PSS_SHA256: i32 = 2052;
4574pub const SSL_SIGN_RSA_PSS_SHA384: i32 = 2053;
4575pub const SSL_SIGN_RSA_PSS_SHA512: i32 = 2054;
4576pub const SSL_CURVE_SECP256R1: i32 = 23;
4577pub const SSL_CURVE_SECP384R1: i32 = 24;
4578pub const SSL_CURVE_SECP521R1: i32 = 25;
4579pub const SSL_CURVE_X25519: i32 = 29;
4580pub const SSL_CURVE_X25519_KYBER768_DRAFT00: i32 = 25497;
4581pub const TLSEXT_nid_unknown: i32 = 16777216;
4582pub const SSL_R_APP_DATA_IN_HANDSHAKE: i32 = 100;
4583pub const SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT: i32 = 101;
4584pub const SSL_R_BAD_ALERT: i32 = 102;
4585pub const SSL_R_BAD_CHANGE_CIPHER_SPEC: i32 = 103;
4586pub const SSL_R_BAD_DATA_RETURNED_BY_CALLBACK: i32 = 104;
4587pub const SSL_R_BAD_DH_P_LENGTH: i32 = 105;
4588pub const SSL_R_BAD_DIGEST_LENGTH: i32 = 106;
4589pub const SSL_R_BAD_ECC_CERT: i32 = 107;
4590pub const SSL_R_BAD_ECPOINT: i32 = 108;
4591pub const SSL_R_BAD_HANDSHAKE_RECORD: i32 = 109;
4592pub const SSL_R_BAD_HELLO_REQUEST: i32 = 110;
4593pub const SSL_R_BAD_LENGTH: i32 = 111;
4594pub const SSL_R_BAD_PACKET_LENGTH: i32 = 112;
4595pub const SSL_R_BAD_RSA_ENCRYPT: i32 = 113;
4596pub const SSL_R_BAD_SIGNATURE: i32 = 114;
4597pub const SSL_R_BAD_SRTP_MKI_VALUE: i32 = 115;
4598pub const SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST: i32 = 116;
4599pub const SSL_R_BAD_SSL_FILETYPE: i32 = 117;
4600pub const SSL_R_BAD_WRITE_RETRY: i32 = 118;
4601pub const SSL_R_BIO_NOT_SET: i32 = 119;
4602pub const SSL_R_BN_LIB: i32 = 120;
4603pub const SSL_R_BUFFER_TOO_SMALL: i32 = 121;
4604pub const SSL_R_CA_DN_LENGTH_MISMATCH: i32 = 122;
4605pub const SSL_R_CA_DN_TOO_LONG: i32 = 123;
4606pub const SSL_R_CCS_RECEIVED_EARLY: i32 = 124;
4607pub const SSL_R_CERTIFICATE_VERIFY_FAILED: i32 = 125;
4608pub const SSL_R_CERT_CB_ERROR: i32 = 126;
4609pub const SSL_R_CERT_LENGTH_MISMATCH: i32 = 127;
4610pub const SSL_R_CHANNEL_ID_NOT_P256: i32 = 128;
4611pub const SSL_R_CHANNEL_ID_SIGNATURE_INVALID: i32 = 129;
4612pub const SSL_R_CIPHER_OR_HASH_UNAVAILABLE: i32 = 130;
4613pub const SSL_R_CLIENTHELLO_PARSE_FAILED: i32 = 131;
4614pub const SSL_R_CLIENTHELLO_TLSEXT: i32 = 132;
4615pub const SSL_R_CONNECTION_REJECTED: i32 = 133;
4616pub const SSL_R_CONNECTION_TYPE_NOT_SET: i32 = 134;
4617pub const SSL_R_CUSTOM_EXTENSION_ERROR: i32 = 135;
4618pub const SSL_R_DATA_LENGTH_TOO_LONG: i32 = 136;
4619pub const SSL_R_DECODE_ERROR: i32 = 137;
4620pub const SSL_R_DECRYPTION_FAILED: i32 = 138;
4621pub const SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC: i32 = 139;
4622pub const SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG: i32 = 140;
4623pub const SSL_R_DH_P_TOO_LONG: i32 = 141;
4624pub const SSL_R_DIGEST_CHECK_FAILED: i32 = 142;
4625pub const SSL_R_DTLS_MESSAGE_TOO_BIG: i32 = 143;
4626pub const SSL_R_ECC_CERT_NOT_FOR_SIGNING: i32 = 144;
4627pub const SSL_R_EMS_STATE_INCONSISTENT: i32 = 145;
4628pub const SSL_R_ENCRYPTED_LENGTH_TOO_LONG: i32 = 146;
4629pub const SSL_R_ERROR_ADDING_EXTENSION: i32 = 147;
4630pub const SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST: i32 = 148;
4631pub const SSL_R_ERROR_PARSING_EXTENSION: i32 = 149;
4632pub const SSL_R_EXCESSIVE_MESSAGE_SIZE: i32 = 150;
4633pub const SSL_R_EXTRA_DATA_IN_MESSAGE: i32 = 151;
4634pub const SSL_R_FRAGMENT_MISMATCH: i32 = 152;
4635pub const SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION: i32 = 153;
4636pub const SSL_R_HANDSHAKE_FAILURE_ON_CLIENT_HELLO: i32 = 154;
4637pub const SSL_R_HTTPS_PROXY_REQUEST: i32 = 155;
4638pub const SSL_R_HTTP_REQUEST: i32 = 156;
4639pub const SSL_R_INAPPROPRIATE_FALLBACK: i32 = 157;
4640pub const SSL_R_INVALID_COMMAND: i32 = 158;
4641pub const SSL_R_INVALID_MESSAGE: i32 = 159;
4642pub const SSL_R_INVALID_SSL_SESSION: i32 = 160;
4643pub const SSL_R_INVALID_TICKET_KEYS_LENGTH: i32 = 161;
4644pub const SSL_R_LENGTH_MISMATCH: i32 = 162;
4645pub const SSL_R_MISSING_EXTENSION: i32 = 164;
4646pub const SSL_R_MISSING_RSA_CERTIFICATE: i32 = 165;
4647pub const SSL_R_MISSING_TMP_DH_KEY: i32 = 166;
4648pub const SSL_R_MISSING_TMP_ECDH_KEY: i32 = 167;
4649pub const SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS: i32 = 168;
4650pub const SSL_R_MTU_TOO_SMALL: i32 = 169;
4651pub const SSL_R_NEGOTIATED_BOTH_NPN_AND_ALPN: i32 = 170;
4652pub const SSL_R_NESTED_GROUP: i32 = 171;
4653pub const SSL_R_NO_CERTIFICATES_RETURNED: i32 = 172;
4654pub const SSL_R_NO_CERTIFICATE_ASSIGNED: i32 = 173;
4655pub const SSL_R_NO_CERTIFICATE_SET: i32 = 174;
4656pub const SSL_R_NO_CIPHERS_AVAILABLE: i32 = 175;
4657pub const SSL_R_NO_CIPHERS_PASSED: i32 = 176;
4658pub const SSL_R_NO_CIPHER_MATCH: i32 = 177;
4659pub const SSL_R_NO_COMPRESSION_SPECIFIED: i32 = 178;
4660pub const SSL_R_NO_METHOD_SPECIFIED: i32 = 179;
4661pub const SSL_R_NO_PRIVATE_KEY_ASSIGNED: i32 = 181;
4662pub const SSL_R_NO_RENEGOTIATION: i32 = 182;
4663pub const SSL_R_NO_REQUIRED_DIGEST: i32 = 183;
4664pub const SSL_R_NO_SHARED_CIPHER: i32 = 184;
4665pub const SSL_R_NULL_SSL_CTX: i32 = 185;
4666pub const SSL_R_NULL_SSL_METHOD_PASSED: i32 = 186;
4667pub const SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED: i32 = 187;
4668pub const SSL_R_OLD_SESSION_VERSION_NOT_RETURNED: i32 = 188;
4669pub const SSL_R_OUTPUT_ALIASES_INPUT: i32 = 189;
4670pub const SSL_R_PARSE_TLSEXT: i32 = 190;
4671pub const SSL_R_PATH_TOO_LONG: i32 = 191;
4672pub const SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE: i32 = 192;
4673pub const SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE: i32 = 193;
4674pub const SSL_R_PROTOCOL_IS_SHUTDOWN: i32 = 194;
4675pub const SSL_R_PSK_IDENTITY_NOT_FOUND: i32 = 195;
4676pub const SSL_R_PSK_NO_CLIENT_CB: i32 = 196;
4677pub const SSL_R_PSK_NO_SERVER_CB: i32 = 197;
4678pub const SSL_R_READ_TIMEOUT_EXPIRED: i32 = 198;
4679pub const SSL_R_RECORD_LENGTH_MISMATCH: i32 = 199;
4680pub const SSL_R_RECORD_TOO_LARGE: i32 = 200;
4681pub const SSL_R_RENEGOTIATION_ENCODING_ERR: i32 = 201;
4682pub const SSL_R_RENEGOTIATION_MISMATCH: i32 = 202;
4683pub const SSL_R_REQUIRED_CIPHER_MISSING: i32 = 203;
4684pub const SSL_R_RESUMED_EMS_SESSION_WITHOUT_EMS_EXTENSION: i32 = 204;
4685pub const SSL_R_RESUMED_NON_EMS_SESSION_WITH_EMS_EXTENSION: i32 = 205;
4686pub const SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING: i32 = 206;
4687pub const SSL_R_SERVERHELLO_TLSEXT: i32 = 207;
4688pub const SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED: i32 = 208;
4689pub const SSL_R_SESSION_MAY_NOT_BE_CREATED: i32 = 209;
4690pub const SSL_R_SIGNATURE_ALGORITHMS_EXTENSION_SENT_BY_SERVER: i32 = 210;
4691pub const SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES: i32 = 211;
4692pub const SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE: i32 = 212;
4693pub const SSL_R_SSL3_EXT_INVALID_SERVERNAME: i32 = 213;
4694pub const SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION: i32 = 214;
4695pub const SSL_R_SSL_HANDSHAKE_FAILURE: i32 = 215;
4696pub const SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG: i32 = 216;
4697pub const SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST: i32 = 217;
4698pub const SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG: i32 = 218;
4699pub const SSL_R_TOO_MANY_EMPTY_FRAGMENTS: i32 = 219;
4700pub const SSL_R_TOO_MANY_WARNING_ALERTS: i32 = 220;
4701pub const SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS: i32 = 221;
4702pub const SSL_R_UNEXPECTED_EXTENSION: i32 = 222;
4703pub const SSL_R_UNEXPECTED_MESSAGE: i32 = 223;
4704pub const SSL_R_UNEXPECTED_OPERATOR_IN_GROUP: i32 = 224;
4705pub const SSL_R_UNEXPECTED_RECORD: i32 = 225;
4706pub const SSL_R_UNINITIALIZED: i32 = 226;
4707pub const SSL_R_UNKNOWN_ALERT_TYPE: i32 = 227;
4708pub const SSL_R_UNKNOWN_CERTIFICATE_TYPE: i32 = 228;
4709pub const SSL_R_UNKNOWN_CIPHER_RETURNED: i32 = 229;
4710pub const SSL_R_UNKNOWN_CIPHER_TYPE: i32 = 230;
4711pub const SSL_R_UNKNOWN_DIGEST: i32 = 231;
4712pub const SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE: i32 = 232;
4713pub const SSL_R_UNKNOWN_PROTOCOL: i32 = 233;
4714pub const SSL_R_UNKNOWN_SSL_VERSION: i32 = 234;
4715pub const SSL_R_UNKNOWN_STATE: i32 = 235;
4716pub const SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED: i32 = 236;
4717pub const SSL_R_UNSUPPORTED_CIPHER: i32 = 237;
4718pub const SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM: i32 = 238;
4719pub const SSL_R_UNSUPPORTED_ELLIPTIC_CURVE: i32 = 239;
4720pub const SSL_R_UNSUPPORTED_PROTOCOL: i32 = 240;
4721pub const SSL_R_WRONG_CERTIFICATE_TYPE: i32 = 241;
4722pub const SSL_R_WRONG_CIPHER_RETURNED: i32 = 242;
4723pub const SSL_R_WRONG_CURVE: i32 = 243;
4724pub const SSL_R_WRONG_MESSAGE_TYPE: i32 = 244;
4725pub const SSL_R_WRONG_SIGNATURE_TYPE: i32 = 245;
4726pub const SSL_R_WRONG_SSL_VERSION: i32 = 246;
4727pub const SSL_R_WRONG_VERSION_NUMBER: i32 = 247;
4728pub const SSL_R_X509_LIB: i32 = 248;
4729pub const SSL_R_X509_VERIFICATION_SETUP_PROBLEMS: i32 = 249;
4730pub const SSL_R_SHUTDOWN_WHILE_IN_INIT: i32 = 250;
4731pub const SSL_R_INVALID_OUTER_RECORD_TYPE: i32 = 251;
4732pub const SSL_R_UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY: i32 = 252;
4733pub const SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS: i32 = 253;
4734pub const SSL_R_DOWNGRADE_DETECTED: i32 = 254;
4735pub const SSL_R_EXCESS_HANDSHAKE_DATA: i32 = 255;
4736pub const SSL_R_INVALID_COMPRESSION_LIST: i32 = 256;
4737pub const SSL_R_DUPLICATE_EXTENSION: i32 = 257;
4738pub const SSL_R_MISSING_KEY_SHARE: i32 = 258;
4739pub const SSL_R_INVALID_ALPN_PROTOCOL: i32 = 259;
4740pub const SSL_R_TOO_MANY_KEY_UPDATES: i32 = 260;
4741pub const SSL_R_BLOCK_CIPHER_PAD_IS_WRONG: i32 = 261;
4742pub const SSL_R_NO_CIPHERS_SPECIFIED: i32 = 262;
4743pub const SSL_R_RENEGOTIATION_EMS_MISMATCH: i32 = 263;
4744pub const SSL_R_DUPLICATE_KEY_SHARE: i32 = 264;
4745pub const SSL_R_NO_GROUPS_SPECIFIED: i32 = 265;
4746pub const SSL_R_NO_SHARED_GROUP: i32 = 266;
4747pub const SSL_R_PRE_SHARED_KEY_MUST_BE_LAST: i32 = 267;
4748pub const SSL_R_OLD_SESSION_PRF_HASH_MISMATCH: i32 = 268;
4749pub const SSL_R_INVALID_SCT_LIST: i32 = 269;
4750pub const SSL_R_TOO_MUCH_SKIPPED_EARLY_DATA: i32 = 270;
4751pub const SSL_R_PSK_IDENTITY_BINDER_COUNT_MISMATCH: i32 = 271;
4752pub const SSL_R_CANNOT_PARSE_LEAF_CERT: i32 = 272;
4753pub const SSL_R_SERVER_CERT_CHANGED: i32 = 273;
4754pub const SSL_R_CERTIFICATE_AND_PRIVATE_KEY_MISMATCH: i32 = 274;
4755pub const SSL_R_CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD: i32 = 275;
4756pub const SSL_R_TICKET_ENCRYPTION_FAILED: i32 = 276;
4757pub const SSL_R_ALPN_MISMATCH_ON_EARLY_DATA: i32 = 277;
4758pub const SSL_R_WRONG_VERSION_ON_EARLY_DATA: i32 = 278;
4759pub const SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA: i32 = 279;
4760pub const SSL_R_NO_SUPPORTED_VERSIONS_ENABLED: i32 = 280;
4761pub const SSL_R_EMPTY_HELLO_RETRY_REQUEST: i32 = 282;
4762pub const SSL_R_EARLY_DATA_NOT_IN_USE: i32 = 283;
4763pub const SSL_R_HANDSHAKE_NOT_COMPLETE: i32 = 284;
4764pub const SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI: i32 = 285;
4765pub const SSL_R_SERVER_ECHOED_INVALID_SESSION_ID: i32 = 286;
4766pub const SSL_R_PRIVATE_KEY_OPERATION_FAILED: i32 = 287;
4767pub const SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH: i32 = 288;
4768pub const SSL_R_OCSP_CB_ERROR: i32 = 289;
4769pub const SSL_R_SSL_SESSION_ID_TOO_LONG: i32 = 290;
4770pub const SSL_R_APPLICATION_DATA_ON_SHUTDOWN: i32 = 291;
4771pub const SSL_R_CERT_DECOMPRESSION_FAILED: i32 = 292;
4772pub const SSL_R_UNCOMPRESSED_CERT_TOO_LARGE: i32 = 293;
4773pub const SSL_R_UNKNOWN_CERT_COMPRESSION_ALG: i32 = 294;
4774pub const SSL_R_INVALID_SIGNATURE_ALGORITHM: i32 = 295;
4775pub const SSL_R_DUPLICATE_SIGNATURE_ALGORITHM: i32 = 296;
4776pub const SSL_R_TLS13_DOWNGRADE: i32 = 297;
4777pub const SSL_R_QUIC_INTERNAL_ERROR: i32 = 298;
4778pub const SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED: i32 = 299;
4779pub const SSL_R_TOO_MUCH_READ_EARLY_DATA: i32 = 300;
4780pub const SSL_R_INVALID_DELEGATED_CREDENTIAL: i32 = 301;
4781pub const SSL_R_KEY_USAGE_BIT_INCORRECT: i32 = 302;
4782pub const SSL_R_INCONSISTENT_CLIENT_HELLO: i32 = 303;
4783pub const SSL_R_CIPHER_MISMATCH_ON_EARLY_DATA: i32 = 304;
4784pub const SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED: i32 = 305;
4785pub const SSL_R_UNEXPECTED_COMPATIBILITY_MODE: i32 = 306;
4786pub const SSL_R_NO_APPLICATION_PROTOCOL: i32 = 307;
4787pub const SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN: i32 = 308;
4788pub const SSL_R_ALPS_MISMATCH_ON_EARLY_DATA: i32 = 309;
4789pub const SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH: i32 = 310;
4790pub const SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION: i32 = 311;
4791pub const SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG: i32 = 312;
4792pub const SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS: i32 = 313;
4793pub const SSL_R_INVALID_CLIENT_HELLO_INNER: i32 = 314;
4794pub const SSL_R_INVALID_ALPN_PROTOCOL_LIST: i32 = 315;
4795pub const SSL_R_COULD_NOT_PARSE_HINTS: i32 = 316;
4796pub const SSL_R_INVALID_ECH_PUBLIC_NAME: i32 = 317;
4797pub const SSL_R_INVALID_ECH_CONFIG_LIST: i32 = 318;
4798pub const SSL_R_ECH_REJECTED: i32 = 319;
4799pub const SSL_R_INVALID_OUTER_EXTENSION: i32 = 320;
4800pub const SSL_R_INCONSISTENT_ECH_NEGOTIATION: i32 = 321;
4801pub const SSL_R_INVALID_ALPS_CODEPOINT: i32 = 322;
4802pub const SSL_R_NO_MATCHING_ISSUER: i32 = 323;
4803pub const SSL_R_INVALID_SPAKE2PLUSV1_VALUE: i32 = 324;
4804pub const SSL_R_PAKE_EXHAUSTED: i32 = 325;
4805pub const SSL_R_PEER_PAKE_MISMATCH: i32 = 326;
4806pub const SSL_R_UNSUPPORTED_CREDENTIAL_LIST: i32 = 327;
4807pub const SSL_R_INVALID_TRUST_ANCHOR_LIST: i32 = 328;
4808pub const SSL_R_INVALID_CERTIFICATE_PROPERTY_LIST: i32 = 329;
4809pub const SSL_R_DUPLICATE_GROUP: i32 = 330;
4810pub const SSL_R_INVALID_PSK_FOR_CONNECTION: i32 = 331;
4811pub const SSL_R_NO_SUPPORTED_PSK_MODE: i32 = 332;
4812pub const SSL_R_INVALID_CERT_TYPES_LIST: i32 = 333;
4813pub const SSL_R_UNSUPPORTED_CERTIFICATE: i32 = 334;
4814pub const SSL_R_MISSING_KEY: i32 = 335;
4815pub const SSL_R_INVALID_RAW_PUBLIC_KEY: i32 = 336;
4816pub const SSL_R_SSLV3_ALERT_CLOSE_NOTIFY: i32 = 1000;
4817pub const SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE: i32 = 1010;
4818pub const SSL_R_SSLV3_ALERT_BAD_RECORD_MAC: i32 = 1020;
4819pub const SSL_R_TLSV1_ALERT_DECRYPTION_FAILED: i32 = 1021;
4820pub const SSL_R_TLSV1_ALERT_RECORD_OVERFLOW: i32 = 1022;
4821pub const SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE: i32 = 1030;
4822pub const SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE: i32 = 1040;
4823pub const SSL_R_SSLV3_ALERT_NO_CERTIFICATE: i32 = 1041;
4824pub const SSL_R_SSLV3_ALERT_BAD_CERTIFICATE: i32 = 1042;
4825pub const SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE: i32 = 1043;
4826pub const SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED: i32 = 1044;
4827pub const SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED: i32 = 1045;
4828pub const SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN: i32 = 1046;
4829pub const SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER: i32 = 1047;
4830pub const SSL_R_TLSV1_ALERT_UNKNOWN_CA: i32 = 1048;
4831pub const SSL_R_TLSV1_ALERT_ACCESS_DENIED: i32 = 1049;
4832pub const SSL_R_TLSV1_ALERT_DECODE_ERROR: i32 = 1050;
4833pub const SSL_R_TLSV1_ALERT_DECRYPT_ERROR: i32 = 1051;
4834pub const SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION: i32 = 1060;
4835pub const SSL_R_TLSV1_ALERT_PROTOCOL_VERSION: i32 = 1070;
4836pub const SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY: i32 = 1071;
4837pub const SSL_R_TLSV1_ALERT_INTERNAL_ERROR: i32 = 1080;
4838pub const SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK: i32 = 1086;
4839pub const SSL_R_TLSV1_ALERT_USER_CANCELLED: i32 = 1090;
4840pub const SSL_R_TLSV1_ALERT_NO_RENEGOTIATION: i32 = 1100;
4841pub const SSL_R_TLSV1_ALERT_UNSUPPORTED_EXTENSION: i32 = 1110;
4842pub const SSL_R_TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE: i32 = 1111;
4843pub const SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME: i32 = 1112;
4844pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 1113;
4845pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE: i32 = 1114;
4846pub const SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY: i32 = 1115;
4847pub const SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED: i32 = 1116;
4848pub const SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL: i32 = 1120;
4849pub const SSL_R_TLSV1_ALERT_ECH_REQUIRED: i32 = 1121;
4850pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4851pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4852pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4853pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4854pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4855pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4856pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4857pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4858pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4859pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4860pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4861pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4862pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4863pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4864pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4865pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4866pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4867pub const CRL_REASON_NONE: i32 = -1;
4868pub const CRL_REASON_UNSPECIFIED: i32 = 0;
4869pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
4870pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
4871pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
4872pub const CRL_REASON_SUPERSEDED: i32 = 4;
4873pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
4874pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
4875pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
4876pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
4877pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
4878pub const KU_DIGITAL_SIGNATURE: i32 = 128;
4879pub const KU_NON_REPUDIATION: i32 = 64;
4880pub const KU_KEY_ENCIPHERMENT: i32 = 32;
4881pub const KU_DATA_ENCIPHERMENT: i32 = 16;
4882pub const KU_KEY_AGREEMENT: i32 = 8;
4883pub const KU_KEY_CERT_SIGN: i32 = 4;
4884pub const KU_CRL_SIGN: i32 = 2;
4885pub const KU_ENCIPHER_ONLY: i32 = 1;
4886pub const KU_DECIPHER_ONLY: i32 = 32768;
4887pub type __uint64_t = ::core::ffi::c_ulong;
4888pub type __off_t = ::core::ffi::c_long;
4889pub type __off64_t = ::core::ffi::c_long;
4890pub type __time_t = ::core::ffi::c_long;
4891pub type __suseconds_t = ::core::ffi::c_long;
4892pub type time_t = __time_t;
4893#[repr(C)]
4894#[derive(Debug, Copy, Clone)]
4895pub struct timeval {
4896 pub tv_sec: __time_t,
4897 pub tv_usec: __suseconds_t,
4898}
4899pub type ossl_ssize_t = isize;
4900pub type CBS_ASN1_TAG = u32;
4901pub type CRYPTO_THREADID = ::core::ffi::c_int;
4902#[repr(C)]
4903#[derive(Debug)]
4904pub struct asn1_null_st {
4905 _unused: [u8; 0],
4906}
4907pub type ASN1_NULL = asn1_null_st;
4908#[repr(C)]
4909#[derive(Debug)]
4910pub struct crypto_must_be_null_st {
4911 _unused: [u8; 0],
4912}
4913pub type CRYPTO_MUST_BE_NULL = crypto_must_be_null_st;
4914pub type ASN1_BOOLEAN = ::core::ffi::c_int;
4915pub type ASN1_ITEM = ASN1_ITEM_st;
4916#[repr(C)]
4917#[derive(Debug)]
4918pub struct asn1_object_st {
4919 _unused: [u8; 0],
4920}
4921pub type ASN1_OBJECT = asn1_object_st;
4922#[repr(C)]
4923#[derive(Debug)]
4924pub struct asn1_pctx_st {
4925 _unused: [u8; 0],
4926}
4927pub type ASN1_PCTX = asn1_pctx_st;
4928pub type ASN1_BIT_STRING = asn1_string_st;
4929pub type ASN1_BMPSTRING = asn1_string_st;
4930pub type ASN1_ENUMERATED = asn1_string_st;
4931pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4932pub type ASN1_GENERALSTRING = asn1_string_st;
4933pub type ASN1_IA5STRING = asn1_string_st;
4934pub type ASN1_INTEGER = asn1_string_st;
4935pub type ASN1_OCTET_STRING = asn1_string_st;
4936pub type ASN1_PRINTABLESTRING = asn1_string_st;
4937pub type ASN1_STRING = asn1_string_st;
4938pub type ASN1_T61STRING = asn1_string_st;
4939pub type ASN1_TIME = asn1_string_st;
4940pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4941pub type ASN1_UTCTIME = asn1_string_st;
4942pub type ASN1_UTF8STRING = asn1_string_st;
4943pub type ASN1_VISIBLESTRING = asn1_string_st;
4944pub type ASN1_TYPE = asn1_type_st;
4945pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4946pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4947#[repr(C)]
4948#[derive(Debug)]
4949pub struct CMS_ContentInfo_st {
4950 _unused: [u8; 0],
4951}
4952pub type CMS_ContentInfo = CMS_ContentInfo_st;
4953#[repr(C)]
4954#[derive(Debug)]
4955pub struct CMS_SignerInfo_st {
4956 _unused: [u8; 0],
4957}
4958pub type CMS_SignerInfo = CMS_SignerInfo_st;
4959pub type DIST_POINT = DIST_POINT_st;
4960pub type DSA_SIG = DSA_SIG_st;
4961pub type GENERAL_NAME = GENERAL_NAME_st;
4962pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4963pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4964pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4965pub type NETSCAPE_SPKI = Netscape_spki_st;
4966pub type RIPEMD160_CTX = RIPEMD160state_st;
4967#[repr(C)]
4968#[derive(Debug)]
4969pub struct X509_VERIFY_PARAM_st {
4970 _unused: [u8; 0],
4971}
4972pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4973pub type X509_ALGOR = X509_algor_st;
4974#[repr(C)]
4975#[derive(Debug)]
4976pub struct X509_crl_st {
4977 _unused: [u8; 0],
4978}
4979pub type X509_CRL = X509_crl_st;
4980#[repr(C)]
4981#[derive(Debug)]
4982pub struct X509_extension_st {
4983 _unused: [u8; 0],
4984}
4985pub type X509_EXTENSION = X509_extension_st;
4986pub type X509_INFO = X509_info_st;
4987#[repr(C)]
4988#[derive(Debug)]
4989pub struct X509_name_entry_st {
4990 _unused: [u8; 0],
4991}
4992pub type X509_NAME_ENTRY = X509_name_entry_st;
4993#[repr(C)]
4994#[derive(Debug)]
4995pub struct X509_name_st {
4996 _unused: [u8; 0],
4997}
4998pub type X509_NAME = X509_name_st;
4999#[repr(C)]
5000#[derive(Debug)]
5001pub struct X509_pubkey_st {
5002 _unused: [u8; 0],
5003}
5004pub type X509_PUBKEY = X509_pubkey_st;
5005#[repr(C)]
5006#[derive(Debug)]
5007pub struct X509_req_st {
5008 _unused: [u8; 0],
5009}
5010pub type X509_REQ = X509_req_st;
5011#[repr(C)]
5012#[derive(Debug)]
5013pub struct X509_sig_st {
5014 _unused: [u8; 0],
5015}
5016pub type X509_SIG = X509_sig_st;
5017#[repr(C)]
5018#[derive(Debug)]
5019pub struct bignum_ctx {
5020 _unused: [u8; 0],
5021}
5022pub type BN_CTX = bignum_ctx;
5023pub type BIGNUM = bignum_st;
5024#[repr(C)]
5025#[derive(Debug)]
5026pub struct bio_method_st {
5027 _unused: [u8; 0],
5028}
5029pub type BIO_METHOD = bio_method_st;
5030#[repr(C)]
5031#[derive(Debug)]
5032pub struct bio_st {
5033 _unused: [u8; 0],
5034}
5035pub type BIO = bio_st;
5036pub type BLAKE2B_CTX = blake2b_state_st;
5037pub type BN_GENCB = bn_gencb_st;
5038#[repr(C)]
5039#[derive(Debug)]
5040pub struct bn_mont_ctx_st {
5041 _unused: [u8; 0],
5042}
5043pub type BN_MONT_CTX = bn_mont_ctx_st;
5044pub type BUF_MEM = buf_mem_st;
5045pub type CBB = cbb_st;
5046pub type CBS = cbs_st;
5047#[repr(C)]
5048#[derive(Debug)]
5049pub struct cmac_ctx_st {
5050 _unused: [u8; 0],
5051}
5052pub type CMAC_CTX = cmac_ctx_st;
5053#[repr(C)]
5054#[derive(Debug)]
5055pub struct conf_st {
5056 _unused: [u8; 0],
5057}
5058pub type CONF = conf_st;
5059pub type CONF_VALUE = conf_value_st;
5060#[repr(C)]
5061#[derive(Debug)]
5062pub struct crypto_buffer_pool_st {
5063 _unused: [u8; 0],
5064}
5065pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
5066#[repr(C)]
5067#[derive(Debug)]
5068pub struct crypto_buffer_st {
5069 _unused: [u8; 0],
5070}
5071pub type CRYPTO_BUFFER = crypto_buffer_st;
5072pub type CRYPTO_IVEC = crypto_ivec_st;
5073pub type CRYPTO_IOVEC = crypto_iovec_st;
5074#[repr(C)]
5075#[derive(Debug)]
5076pub struct ctr_drbg_state_st {
5077 _unused: [u8; 0],
5078}
5079pub type CTR_DRBG_STATE = ctr_drbg_state_st;
5080#[repr(C)]
5081#[derive(Debug)]
5082pub struct dh_st {
5083 _unused: [u8; 0],
5084}
5085pub type DH = dh_st;
5086#[repr(C)]
5087#[derive(Debug)]
5088pub struct dsa_st {
5089 _unused: [u8; 0],
5090}
5091pub type DSA = dsa_st;
5092#[repr(C)]
5093#[derive(Debug)]
5094pub struct ec_group_st {
5095 _unused: [u8; 0],
5096}
5097pub type EC_GROUP = ec_group_st;
5098#[repr(C)]
5099#[derive(Debug)]
5100pub struct ec_key_st {
5101 _unused: [u8; 0],
5102}
5103pub type EC_KEY = ec_key_st;
5104#[repr(C)]
5105#[derive(Debug)]
5106pub struct ec_point_st {
5107 _unused: [u8; 0],
5108}
5109pub type EC_POINT = ec_point_st;
5110pub type ECDSA_METHOD = ecdsa_method_st;
5111pub type ECDSA_SIG = ecdsa_sig_st;
5112#[repr(C)]
5113#[derive(Debug)]
5114pub struct engine_st {
5115 _unused: [u8; 0],
5116}
5117pub type ENGINE = engine_st;
5118pub type EVP_MD_CTX = env_md_ctx_st;
5119#[repr(C)]
5120#[derive(Debug)]
5121pub struct env_md_st {
5122 _unused: [u8; 0],
5123}
5124pub type EVP_MD = env_md_st;
5125#[repr(C)]
5126#[derive(Debug)]
5127pub struct evp_aead_st {
5128 _unused: [u8; 0],
5129}
5130pub type EVP_AEAD = evp_aead_st;
5131pub type EVP_AEAD_CTX = evp_aead_ctx_st;
5132pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
5133#[repr(C)]
5134#[derive(Debug)]
5135pub struct evp_cipher_st {
5136 _unused: [u8; 0],
5137}
5138pub type EVP_CIPHER = evp_cipher_st;
5139pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
5140#[repr(C)]
5141#[derive(Debug)]
5142pub struct evp_hpke_aead_st {
5143 _unused: [u8; 0],
5144}
5145pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
5146pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
5147#[repr(C)]
5148#[derive(Debug)]
5149pub struct evp_hpke_kdf_st {
5150 _unused: [u8; 0],
5151}
5152pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
5153#[repr(C)]
5154#[derive(Debug)]
5155pub struct evp_hpke_kem_st {
5156 _unused: [u8; 0],
5157}
5158pub type EVP_HPKE_KEM = evp_hpke_kem_st;
5159pub type EVP_HPKE_KEY = evp_hpke_key_st;
5160#[repr(C)]
5161#[derive(Debug)]
5162pub struct evp_kem_st {
5163 _unused: [u8; 0],
5164}
5165pub type EVP_KEM = evp_kem_st;
5166#[repr(C)]
5167#[derive(Debug)]
5168pub struct evp_pkey_alg_st {
5169 _unused: [u8; 0],
5170}
5171pub type EVP_PKEY_ALG = evp_pkey_alg_st;
5172#[repr(C)]
5173#[derive(Debug)]
5174pub struct evp_pkey_ctx_st {
5175 _unused: [u8; 0],
5176}
5177pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
5178#[repr(C)]
5179#[derive(Debug)]
5180pub struct evp_pkey_st {
5181 _unused: [u8; 0],
5182}
5183pub type EVP_PKEY = evp_pkey_st;
5184pub type HMAC_CTX = hmac_ctx_st;
5185pub type MD4_CTX = md4_state_st;
5186pub type MD5_CTX = md5_state_st;
5187#[repr(C)]
5188#[derive(Debug)]
5189pub struct ossl_init_settings_st {
5190 _unused: [u8; 0],
5191}
5192pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
5193#[repr(C)]
5194#[derive(Debug)]
5195pub struct ossl_lib_ctx_st {
5196 _unused: [u8; 0],
5197}
5198pub type OSSL_LIB_CTX = ossl_lib_ctx_st;
5199#[repr(C)]
5200#[derive(Debug)]
5201pub struct ossl_param_st {
5202 _unused: [u8; 0],
5203}
5204pub type OSSL_PARAM = ossl_param_st;
5205#[repr(C)]
5206#[derive(Debug)]
5207pub struct pkcs12_st {
5208 _unused: [u8; 0],
5209}
5210pub type PKCS12 = pkcs12_st;
5211#[repr(C)]
5212#[derive(Debug)]
5213pub struct pkcs8_priv_key_info_st {
5214 _unused: [u8; 0],
5215}
5216pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
5217pub type X509_PKEY = private_key_st;
5218pub type RAND_METHOD = rand_meth_st;
5219pub type RC4_KEY = rc4_key_st;
5220pub type RSA_METHOD = rsa_meth_st;
5221pub type RSA_PSS_PARAMS = rsa_pss_params_st;
5222#[repr(C)]
5223#[derive(Debug)]
5224pub struct rsa_st {
5225 _unused: [u8; 0],
5226}
5227pub type RSA = rsa_st;
5228pub type SHA256_CTX = sha256_state_st;
5229pub type SHA512_CTX = sha512_state_st;
5230pub type SHA_CTX = sha_state_st;
5231#[repr(C)]
5232#[derive(Debug)]
5233pub struct spake2_ctx_st {
5234 _unused: [u8; 0],
5235}
5236pub type SPAKE2_CTX = spake2_ctx_st;
5237pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
5238#[repr(C)]
5239#[derive(Debug)]
5240pub struct ssl_cipher_st {
5241 _unused: [u8; 0],
5242}
5243pub type SSL_CIPHER = ssl_cipher_st;
5244#[repr(C)]
5245#[derive(Debug)]
5246pub struct ssl_credential_st {
5247 _unused: [u8; 0],
5248}
5249pub type SSL_CREDENTIAL = ssl_credential_st;
5250#[repr(C)]
5251#[derive(Debug)]
5252pub struct ssl_ctx_st {
5253 _unused: [u8; 0],
5254}
5255pub type SSL_CTX = ssl_ctx_st;
5256pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
5257#[repr(C)]
5258#[derive(Debug)]
5259pub struct ssl_ech_keys_st {
5260 _unused: [u8; 0],
5261}
5262pub type SSL_ECH_KEYS = ssl_ech_keys_st;
5263#[repr(C)]
5264#[derive(Debug)]
5265pub struct ssl_method_st {
5266 _unused: [u8; 0],
5267}
5268pub type SSL_METHOD = ssl_method_st;
5269pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
5270pub type SSL_QUIC_METHOD = ssl_quic_method_st;
5271#[repr(C)]
5272#[derive(Debug)]
5273pub struct ssl_session_st {
5274 _unused: [u8; 0],
5275}
5276pub type SSL_SESSION = ssl_session_st;
5277#[repr(C)]
5278#[derive(Debug)]
5279pub struct ssl_st {
5280 _unused: [u8; 0],
5281}
5282pub type SSL = ssl_st;
5283pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
5284#[repr(C)]
5285#[derive(Debug)]
5286pub struct st_ERR_FNS {
5287 _unused: [u8; 0],
5288}
5289pub type ERR_FNS = st_ERR_FNS;
5290pub type TRUST_TOKEN = trust_token_st;
5291#[repr(C)]
5292#[derive(Debug)]
5293pub struct trust_token_client_st {
5294 _unused: [u8; 0],
5295}
5296pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
5297#[repr(C)]
5298#[derive(Debug)]
5299pub struct trust_token_issuer_st {
5300 _unused: [u8; 0],
5301}
5302pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
5303#[repr(C)]
5304#[derive(Debug)]
5305pub struct trust_token_method_st {
5306 _unused: [u8; 0],
5307}
5308pub type TRUST_TOKEN_METHOD = trust_token_method_st;
5309pub type X509V3_CTX = v3_ext_ctx;
5310pub type X509V3_EXT_METHOD = v3_ext_method;
5311#[repr(C)]
5312#[derive(Debug)]
5313pub struct x509_attributes_st {
5314 _unused: [u8; 0],
5315}
5316pub type X509_ATTRIBUTE = x509_attributes_st;
5317#[repr(C)]
5318#[derive(Debug)]
5319pub struct x509_lookup_st {
5320 _unused: [u8; 0],
5321}
5322pub type X509_LOOKUP = x509_lookup_st;
5323#[repr(C)]
5324#[derive(Debug)]
5325pub struct x509_lookup_method_st {
5326 _unused: [u8; 0],
5327}
5328pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
5329#[repr(C)]
5330#[derive(Debug)]
5331pub struct x509_object_st {
5332 _unused: [u8; 0],
5333}
5334pub type X509_OBJECT = x509_object_st;
5335#[repr(C)]
5336#[derive(Debug)]
5337pub struct x509_purpose_st {
5338 _unused: [u8; 0],
5339}
5340pub type X509_PURPOSE = x509_purpose_st;
5341#[repr(C)]
5342#[derive(Debug)]
5343pub struct x509_revoked_st {
5344 _unused: [u8; 0],
5345}
5346pub type X509_REVOKED = x509_revoked_st;
5347#[repr(C)]
5348#[derive(Debug)]
5349pub struct x509_st {
5350 _unused: [u8; 0],
5351}
5352pub type X509 = x509_st;
5353#[repr(C)]
5354#[derive(Debug)]
5355pub struct x509_store_ctx_st {
5356 _unused: [u8; 0],
5357}
5358pub type X509_STORE_CTX = x509_store_ctx_st;
5359#[repr(C)]
5360#[derive(Debug)]
5361pub struct x509_store_st {
5362 _unused: [u8; 0],
5363}
5364pub type X509_STORE = x509_store_st;
5365pub type OPENSSL_BLOCK = *mut ::core::ffi::c_void;
5366#[repr(C)]
5367#[derive(Debug, Copy, Clone)]
5368pub struct aes_key_st {
5369 pub rd_key: [u32; 60usize],
5370 pub rounds: ::core::ffi::c_uint,
5371}
5372pub type AES_KEY = aes_key_st;
5373unsafe extern "C" {
5374 pub fn AES_set_encrypt_key(
5375 key: *const u8,
5376 bits: ::core::ffi::c_uint,
5377 aeskey: *mut AES_KEY,
5378 ) -> ::core::ffi::c_int;
5379}
5380unsafe extern "C" {
5381 pub fn AES_set_decrypt_key(
5382 key: *const u8,
5383 bits: ::core::ffi::c_uint,
5384 aeskey: *mut AES_KEY,
5385 ) -> ::core::ffi::c_int;
5386}
5387unsafe extern "C" {
5388 pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5389}
5390unsafe extern "C" {
5391 pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5392}
5393unsafe extern "C" {
5394 pub fn AES_ctr128_encrypt(
5395 in_: *const u8,
5396 out: *mut u8,
5397 len: usize,
5398 key: *const AES_KEY,
5399 ivec: *mut u8,
5400 ecount_buf: *mut u8,
5401 num: *mut ::core::ffi::c_uint,
5402 );
5403}
5404unsafe extern "C" {
5405 pub fn AES_ecb_encrypt(
5406 in_: *const u8,
5407 out: *mut u8,
5408 key: *const AES_KEY,
5409 enc: ::core::ffi::c_int,
5410 );
5411}
5412unsafe extern "C" {
5413 pub fn AES_cbc_encrypt(
5414 in_: *const u8,
5415 out: *mut u8,
5416 len: usize,
5417 key: *const AES_KEY,
5418 ivec: *mut u8,
5419 enc: ::core::ffi::c_int,
5420 );
5421}
5422unsafe extern "C" {
5423 pub fn AES_ofb128_encrypt(
5424 in_: *const u8,
5425 out: *mut u8,
5426 len: usize,
5427 key: *const AES_KEY,
5428 ivec: *mut u8,
5429 num: *mut ::core::ffi::c_int,
5430 );
5431}
5432unsafe extern "C" {
5433 pub fn AES_cfb128_encrypt(
5434 in_: *const u8,
5435 out: *mut u8,
5436 len: usize,
5437 key: *const AES_KEY,
5438 ivec: *mut u8,
5439 num: *mut ::core::ffi::c_int,
5440 enc: ::core::ffi::c_int,
5441 );
5442}
5443unsafe extern "C" {
5444 pub fn AES_wrap_key(
5445 key: *const AES_KEY,
5446 iv: *const u8,
5447 out: *mut u8,
5448 in_: *const u8,
5449 in_len: usize,
5450 ) -> ::core::ffi::c_int;
5451}
5452unsafe extern "C" {
5453 pub fn AES_unwrap_key(
5454 key: *const AES_KEY,
5455 iv: *const u8,
5456 out: *mut u8,
5457 in_: *const u8,
5458 in_len: usize,
5459 ) -> ::core::ffi::c_int;
5460}
5461unsafe extern "C" {
5462 pub fn AES_wrap_key_padded(
5463 key: *const AES_KEY,
5464 out: *mut u8,
5465 out_len: *mut usize,
5466 max_out: usize,
5467 in_: *const u8,
5468 in_len: usize,
5469 ) -> ::core::ffi::c_int;
5470}
5471unsafe extern "C" {
5472 pub fn AES_unwrap_key_padded(
5473 key: *const AES_KEY,
5474 out: *mut u8,
5475 out_len: *mut usize,
5476 max_out: usize,
5477 in_: *const u8,
5478 in_len: usize,
5479 ) -> ::core::ffi::c_int;
5480}
5481#[repr(C)]
5482#[derive(Debug, Copy, Clone)]
5483pub struct tm {
5484 pub tm_sec: ::core::ffi::c_int,
5485 pub tm_min: ::core::ffi::c_int,
5486 pub tm_hour: ::core::ffi::c_int,
5487 pub tm_mday: ::core::ffi::c_int,
5488 pub tm_mon: ::core::ffi::c_int,
5489 pub tm_year: ::core::ffi::c_int,
5490 pub tm_wday: ::core::ffi::c_int,
5491 pub tm_yday: ::core::ffi::c_int,
5492 pub tm_isdst: ::core::ffi::c_int,
5493 pub tm_gmtoff: ::core::ffi::c_long,
5494 pub tm_zone: *const ::core::ffi::c_char,
5495}
5496pub type __gnuc_va_list = __builtin_va_list;
5497pub type FILE = _IO_FILE;
5498#[repr(C)]
5499#[derive(Debug)]
5500pub struct _IO_marker {
5501 _unused: [u8; 0],
5502}
5503#[repr(C)]
5504#[derive(Debug)]
5505pub struct _IO_codecvt {
5506 _unused: [u8; 0],
5507}
5508#[repr(C)]
5509#[derive(Debug)]
5510pub struct _IO_wide_data {
5511 _unused: [u8; 0],
5512}
5513pub type _IO_lock_t = ::core::ffi::c_void;
5514#[repr(C)]
5515#[derive(Debug, Copy, Clone)]
5516pub struct _IO_FILE {
5517 pub _flags: ::core::ffi::c_int,
5518 pub _IO_read_ptr: *mut ::core::ffi::c_char,
5519 pub _IO_read_end: *mut ::core::ffi::c_char,
5520 pub _IO_read_base: *mut ::core::ffi::c_char,
5521 pub _IO_write_base: *mut ::core::ffi::c_char,
5522 pub _IO_write_ptr: *mut ::core::ffi::c_char,
5523 pub _IO_write_end: *mut ::core::ffi::c_char,
5524 pub _IO_buf_base: *mut ::core::ffi::c_char,
5525 pub _IO_buf_end: *mut ::core::ffi::c_char,
5526 pub _IO_save_base: *mut ::core::ffi::c_char,
5527 pub _IO_backup_base: *mut ::core::ffi::c_char,
5528 pub _IO_save_end: *mut ::core::ffi::c_char,
5529 pub _markers: *mut _IO_marker,
5530 pub _chain: *mut _IO_FILE,
5531 pub _fileno: ::core::ffi::c_int,
5532 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
5533 pub _short_backupbuf: [::core::ffi::c_char; 1usize],
5534 pub _old_offset: __off_t,
5535 pub _cur_column: ::core::ffi::c_ushort,
5536 pub _vtable_offset: ::core::ffi::c_schar,
5537 pub _shortbuf: [::core::ffi::c_char; 1usize],
5538 pub _lock: *mut _IO_lock_t,
5539 pub _offset: __off64_t,
5540 pub _codecvt: *mut _IO_codecvt,
5541 pub _wide_data: *mut _IO_wide_data,
5542 pub _freeres_list: *mut _IO_FILE,
5543 pub _freeres_buf: *mut ::core::ffi::c_void,
5544 pub _prevchain: *mut *mut _IO_FILE,
5545 pub _mode: ::core::ffi::c_int,
5546 pub _unused3: ::core::ffi::c_int,
5547 pub _total_written: __uint64_t,
5548 pub _unused2: [::core::ffi::c_char; 8usize],
5549}
5550impl _IO_FILE {
5551 #[inline]
5552 pub fn _flags2(&self) -> ::core::ffi::c_int {
5553 self._bitfield_1.get_const::<0usize, 24u8>() as u32 as _
5554 }
5555 #[inline]
5556 pub fn set__flags2(&mut self, val: ::core::ffi::c_int) {
5557 let val: u32 = val as _;
5558 self._bitfield_1.set_const::<0usize, 24u8>(val as u64)
5559 }
5560 #[inline]
5561 pub unsafe fn _flags2_raw(this: *const Self) -> ::core::ffi::c_int {
5562 unsafe {
5563 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get_const::<0usize, 24u8>(
5564 ::core::ptr::addr_of!((*this)._bitfield_1),
5565 ) as u32 as _
5566 }
5567 }
5568 #[inline]
5569 pub unsafe fn set__flags2_raw(this: *mut Self, val: ::core::ffi::c_int) {
5570 unsafe {
5571 let val: u32 = val as _;
5572 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set_const::<0usize, 24u8>(
5573 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
5574 val as u64,
5575 )
5576 }
5577 }
5578 #[inline]
5579 pub fn new_bitfield_1(_flags2: ::core::ffi::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> {
5580 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
5581 __bindgen_bitfield_unit.set_const::<0usize, 24u8>({
5582 let _flags2: u32 = _flags2 as _;
5583 _flags2 as u64
5584 });
5585 __bindgen_bitfield_unit
5586 }
5587}
5588pub type va_list = __gnuc_va_list;
5589#[repr(C)]
5590#[derive(Debug, Copy, Clone)]
5591pub struct buf_mem_st {
5592 pub length: usize,
5593 pub data: *mut ::core::ffi::c_char,
5594 pub max: usize,
5595}
5596unsafe extern "C" {
5597 pub fn BUF_MEM_new() -> *mut BUF_MEM;
5598}
5599unsafe extern "C" {
5600 pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5601}
5602unsafe extern "C" {
5603 pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::core::ffi::c_int;
5604}
5605unsafe extern "C" {
5606 pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5607}
5608unsafe extern "C" {
5609 pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5610}
5611unsafe extern "C" {
5612 pub fn BUF_MEM_append(
5613 buf: *mut BUF_MEM,
5614 in_: *const ::core::ffi::c_void,
5615 len: usize,
5616 ) -> ::core::ffi::c_int;
5617}
5618unsafe extern "C" {
5619 pub fn BUF_strdup(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
5620}
5621unsafe extern "C" {
5622 pub fn BUF_strnlen(str_: *const ::core::ffi::c_char, max_len: usize) -> usize;
5623}
5624unsafe extern "C" {
5625 pub fn BUF_strndup(str_: *const ::core::ffi::c_char, size: usize) -> *mut ::core::ffi::c_char;
5626}
5627unsafe extern "C" {
5628 pub fn BUF_memdup(data: *const ::core::ffi::c_void, size: usize) -> *mut ::core::ffi::c_void;
5629}
5630unsafe extern "C" {
5631 pub fn BUF_strlcpy(
5632 dst: *mut ::core::ffi::c_char,
5633 src: *const ::core::ffi::c_char,
5634 dst_size: usize,
5635 ) -> usize;
5636}
5637unsafe extern "C" {
5638 pub fn BUF_strlcat(
5639 dst: *mut ::core::ffi::c_char,
5640 src: *const ::core::ffi::c_char,
5641 dst_size: usize,
5642 ) -> usize;
5643}
5644unsafe extern "C" {
5645 #[link_name = "ERR_GET_LIB__extern"]
5646 pub fn ERR_GET_LIB(packed_error: u32) -> ::core::ffi::c_int;
5647}
5648unsafe extern "C" {
5649 #[link_name = "ERR_GET_REASON__extern"]
5650 pub fn ERR_GET_REASON(packed_error: u32) -> ::core::ffi::c_int;
5651}
5652unsafe extern "C" {
5653 #[link_name = "ERR_equals__extern"]
5654 pub fn ERR_equals(
5655 packed_error: u32,
5656 lib: ::core::ffi::c_int,
5657 reason: ::core::ffi::c_int,
5658 ) -> ::core::ffi::c_int;
5659}
5660unsafe extern "C" {
5661 pub fn ERR_get_error() -> u32;
5662}
5663unsafe extern "C" {
5664 pub fn ERR_get_error_line(
5665 file: *mut *const ::core::ffi::c_char,
5666 line: *mut ::core::ffi::c_int,
5667 ) -> u32;
5668}
5669unsafe extern "C" {
5670 pub fn ERR_get_error_line_data(
5671 file: *mut *const ::core::ffi::c_char,
5672 line: *mut ::core::ffi::c_int,
5673 data: *mut *const ::core::ffi::c_char,
5674 flags: *mut ::core::ffi::c_int,
5675 ) -> u32;
5676}
5677unsafe extern "C" {
5678 pub fn ERR_peek_error() -> u32;
5679}
5680unsafe extern "C" {
5681 pub fn ERR_peek_error_line(
5682 file: *mut *const ::core::ffi::c_char,
5683 line: *mut ::core::ffi::c_int,
5684 ) -> u32;
5685}
5686unsafe extern "C" {
5687 pub fn ERR_peek_error_line_data(
5688 file: *mut *const ::core::ffi::c_char,
5689 line: *mut ::core::ffi::c_int,
5690 data: *mut *const ::core::ffi::c_char,
5691 flags: *mut ::core::ffi::c_int,
5692 ) -> u32;
5693}
5694unsafe extern "C" {
5695 pub fn ERR_peek_last_error() -> u32;
5696}
5697unsafe extern "C" {
5698 pub fn ERR_peek_last_error_line(
5699 file: *mut *const ::core::ffi::c_char,
5700 line: *mut ::core::ffi::c_int,
5701 ) -> u32;
5702}
5703unsafe extern "C" {
5704 pub fn ERR_peek_last_error_line_data(
5705 file: *mut *const ::core::ffi::c_char,
5706 line: *mut ::core::ffi::c_int,
5707 data: *mut *const ::core::ffi::c_char,
5708 flags: *mut ::core::ffi::c_int,
5709 ) -> u32;
5710}
5711unsafe extern "C" {
5712 pub fn ERR_error_string_n(
5713 packed_error: u32,
5714 buf: *mut ::core::ffi::c_char,
5715 len: usize,
5716 ) -> *mut ::core::ffi::c_char;
5717}
5718unsafe extern "C" {
5719 pub fn ERR_lib_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5720}
5721unsafe extern "C" {
5722 pub fn ERR_reason_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5723}
5724unsafe extern "C" {
5725 pub fn ERR_lib_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5726}
5727unsafe extern "C" {
5728 pub fn ERR_reason_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5729}
5730pub type ERR_print_errors_callback_t = ::core::option::Option<
5731 unsafe extern "C" fn(
5732 str_: *const ::core::ffi::c_char,
5733 len: usize,
5734 ctx: *mut ::core::ffi::c_void,
5735 ) -> ::core::ffi::c_int,
5736>;
5737unsafe extern "C" {
5738 pub fn ERR_print_errors_cb(
5739 callback: ERR_print_errors_callback_t,
5740 ctx: *mut ::core::ffi::c_void,
5741 );
5742}
5743unsafe extern "C" {
5744 pub fn ERR_print_errors_fp(file: *mut FILE);
5745}
5746unsafe extern "C" {
5747 pub fn ERR_clear_error();
5748}
5749unsafe extern "C" {
5750 pub fn ERR_set_mark() -> ::core::ffi::c_int;
5751}
5752unsafe extern "C" {
5753 pub fn ERR_pop_to_mark() -> ::core::ffi::c_int;
5754}
5755unsafe extern "C" {
5756 pub fn ERR_get_next_error_library() -> ::core::ffi::c_int;
5757}
5758pub const ERR_LIB_NONE: _bindgen_ty_1 = 1;
5759pub const ERR_LIB_SYS: _bindgen_ty_1 = 2;
5760pub const ERR_LIB_BN: _bindgen_ty_1 = 3;
5761pub const ERR_LIB_RSA: _bindgen_ty_1 = 4;
5762pub const ERR_LIB_DH: _bindgen_ty_1 = 5;
5763pub const ERR_LIB_EVP: _bindgen_ty_1 = 6;
5764pub const ERR_LIB_BUF: _bindgen_ty_1 = 7;
5765pub const ERR_LIB_OBJ: _bindgen_ty_1 = 8;
5766pub const ERR_LIB_PEM: _bindgen_ty_1 = 9;
5767pub const ERR_LIB_DSA: _bindgen_ty_1 = 10;
5768pub const ERR_LIB_X509: _bindgen_ty_1 = 11;
5769pub const ERR_LIB_ASN1: _bindgen_ty_1 = 12;
5770pub const ERR_LIB_CONF: _bindgen_ty_1 = 13;
5771pub const ERR_LIB_CRYPTO: _bindgen_ty_1 = 14;
5772pub const ERR_LIB_EC: _bindgen_ty_1 = 15;
5773pub const ERR_LIB_SSL: _bindgen_ty_1 = 16;
5774pub const ERR_LIB_BIO: _bindgen_ty_1 = 17;
5775pub const ERR_LIB_PKCS7: _bindgen_ty_1 = 18;
5776pub const ERR_LIB_PKCS8: _bindgen_ty_1 = 19;
5777pub const ERR_LIB_X509V3: _bindgen_ty_1 = 20;
5778pub const ERR_LIB_RAND: _bindgen_ty_1 = 21;
5779pub const ERR_LIB_ENGINE: _bindgen_ty_1 = 22;
5780pub const ERR_LIB_OCSP: _bindgen_ty_1 = 23;
5781pub const ERR_LIB_UI: _bindgen_ty_1 = 24;
5782pub const ERR_LIB_COMP: _bindgen_ty_1 = 25;
5783pub const ERR_LIB_ECDSA: _bindgen_ty_1 = 26;
5784pub const ERR_LIB_ECDH: _bindgen_ty_1 = 27;
5785pub const ERR_LIB_HMAC: _bindgen_ty_1 = 28;
5786pub const ERR_LIB_DIGEST: _bindgen_ty_1 = 29;
5787pub const ERR_LIB_CIPHER: _bindgen_ty_1 = 30;
5788pub const ERR_LIB_HKDF: _bindgen_ty_1 = 31;
5789pub const ERR_LIB_TRUST_TOKEN: _bindgen_ty_1 = 32;
5790pub const ERR_LIB_CMS: _bindgen_ty_1 = 33;
5791pub const ERR_LIB_USER: _bindgen_ty_1 = 34;
5792pub const ERR_NUM_LIBS: _bindgen_ty_1 = 35;
5793pub type _bindgen_ty_1 = ::core::ffi::c_uint;
5794unsafe extern "C" {
5795 pub fn ERR_load_BIO_strings();
5796}
5797unsafe extern "C" {
5798 pub fn ERR_load_ERR_strings();
5799}
5800unsafe extern "C" {
5801 pub fn ERR_load_crypto_strings();
5802}
5803unsafe extern "C" {
5804 pub fn ERR_load_RAND_strings();
5805}
5806unsafe extern "C" {
5807 pub fn ERR_free_strings();
5808}
5809unsafe extern "C" {
5810 pub fn ERR_remove_state(pid: ::core::ffi::c_ulong);
5811}
5812unsafe extern "C" {
5813 pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
5814}
5815unsafe extern "C" {
5816 pub fn ERR_func_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5817}
5818unsafe extern "C" {
5819 pub fn ERR_error_string(
5820 packed_error: u32,
5821 buf: *mut ::core::ffi::c_char,
5822 ) -> *mut ::core::ffi::c_char;
5823}
5824unsafe extern "C" {
5825 #[link_name = "ERR_GET_FUNC__extern"]
5826 pub fn ERR_GET_FUNC(packed_error: u32) -> ::core::ffi::c_int;
5827}
5828unsafe extern "C" {
5829 pub fn ERR_clear_system_error();
5830}
5831unsafe extern "C" {
5832 pub fn ERR_put_error(
5833 library: ::core::ffi::c_int,
5834 unused: ::core::ffi::c_int,
5835 reason: ::core::ffi::c_int,
5836 file: *const ::core::ffi::c_char,
5837 line: ::core::ffi::c_uint,
5838 );
5839}
5840unsafe extern "C" {
5841 pub fn ERR_add_error_data(count: ::core::ffi::c_uint, ...);
5842}
5843unsafe extern "C" {
5844 pub fn ERR_add_error_dataf(format: *const ::core::ffi::c_char, ...);
5845}
5846unsafe extern "C" {
5847 pub fn ERR_set_error_data(data: *mut ::core::ffi::c_char, flags: ::core::ffi::c_int);
5848}
5849#[repr(C)]
5850#[derive(Debug)]
5851pub struct crypto_ex_data_st {
5852 _unused: [u8; 0],
5853}
5854pub type CRYPTO_EX_DATA = crypto_ex_data_st;
5855pub type CRYPTO_EX_free = ::core::option::Option<
5856 unsafe extern "C" fn(
5857 parent: *mut ::core::ffi::c_void,
5858 ptr: *mut ::core::ffi::c_void,
5859 ad: *mut CRYPTO_EX_DATA,
5860 index: ::core::ffi::c_int,
5861 argl: ::core::ffi::c_long,
5862 argp: *mut ::core::ffi::c_void,
5863 ),
5864>;
5865unsafe extern "C" {
5866 pub fn CRYPTO_cleanup_all_ex_data();
5867}
5868pub type CRYPTO_EX_dup = ::core::option::Option<
5869 unsafe extern "C" fn(
5870 to: *mut CRYPTO_EX_DATA,
5871 from: *const CRYPTO_EX_DATA,
5872 from_d: *mut *mut ::core::ffi::c_void,
5873 index: ::core::ffi::c_int,
5874 argl: ::core::ffi::c_long,
5875 argp: *mut ::core::ffi::c_void,
5876 ) -> ::core::ffi::c_int,
5877>;
5878pub type CRYPTO_EX_unused = ::core::ffi::c_int;
5879pub type OPENSSL_sk_free_func =
5880 ::core::option::Option<unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void)>;
5881pub type OPENSSL_sk_copy_func = ::core::option::Option<
5882 unsafe extern "C" fn(ptr: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
5883>;
5884pub type OPENSSL_sk_cmp_func = ::core::option::Option<
5885 unsafe extern "C" fn(
5886 a: *const *const ::core::ffi::c_void,
5887 b: *const *const ::core::ffi::c_void,
5888 ) -> ::core::ffi::c_int,
5889>;
5890pub type OPENSSL_sk_delete_if_func = ::core::option::Option<
5891 unsafe extern "C" fn(
5892 obj: *mut ::core::ffi::c_void,
5893 data: *mut ::core::ffi::c_void,
5894 ) -> ::core::ffi::c_int,
5895>;
5896pub type OPENSSL_sk_call_free_func = ::core::option::Option<
5897 unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::core::ffi::c_void),
5898>;
5899pub type OPENSSL_sk_call_copy_func = ::core::option::Option<
5900 unsafe extern "C" fn(
5901 arg1: OPENSSL_sk_copy_func,
5902 arg2: *const ::core::ffi::c_void,
5903 ) -> *mut ::core::ffi::c_void,
5904>;
5905pub type OPENSSL_sk_call_cmp_func = ::core::option::Option<
5906 unsafe extern "C" fn(
5907 arg1: OPENSSL_sk_cmp_func,
5908 arg2: *const ::core::ffi::c_void,
5909 arg3: *const ::core::ffi::c_void,
5910 ) -> ::core::ffi::c_int,
5911>;
5912pub type OPENSSL_sk_call_delete_if_func = ::core::option::Option<
5913 unsafe extern "C" fn(
5914 arg1: OPENSSL_sk_delete_if_func,
5915 arg2: *mut ::core::ffi::c_void,
5916 arg3: *mut ::core::ffi::c_void,
5917 ) -> ::core::ffi::c_int,
5918>;
5919#[repr(C)]
5920#[derive(Debug)]
5921pub struct stack_st {
5922 _unused: [u8; 0],
5923}
5924pub type OPENSSL_STACK = stack_st;
5925unsafe extern "C" {
5926 pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
5927}
5928unsafe extern "C" {
5929 pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
5930}
5931unsafe extern "C" {
5932 pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
5933}
5934unsafe extern "C" {
5935 pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
5936}
5937unsafe extern "C" {
5938 pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
5939}
5940unsafe extern "C" {
5941 pub fn OPENSSL_sk_set(
5942 sk: *mut OPENSSL_STACK,
5943 i: usize,
5944 p: *mut ::core::ffi::c_void,
5945 ) -> *mut ::core::ffi::c_void;
5946}
5947unsafe extern "C" {
5948 pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
5949}
5950unsafe extern "C" {
5951 pub fn OPENSSL_sk_pop_free_ex(
5952 sk: *mut OPENSSL_STACK,
5953 call_free_func: OPENSSL_sk_call_free_func,
5954 free_func: OPENSSL_sk_free_func,
5955 );
5956}
5957unsafe extern "C" {
5958 pub fn OPENSSL_sk_insert(
5959 sk: *mut OPENSSL_STACK,
5960 p: *mut ::core::ffi::c_void,
5961 where_: usize,
5962 ) -> usize;
5963}
5964unsafe extern "C" {
5965 pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::core::ffi::c_void;
5966}
5967unsafe extern "C" {
5968 pub fn OPENSSL_sk_delete_ptr(
5969 sk: *mut OPENSSL_STACK,
5970 p: *const ::core::ffi::c_void,
5971 ) -> *mut ::core::ffi::c_void;
5972}
5973unsafe extern "C" {
5974 pub fn OPENSSL_sk_delete_if(
5975 sk: *mut OPENSSL_STACK,
5976 call_func: OPENSSL_sk_call_delete_if_func,
5977 func: OPENSSL_sk_delete_if_func,
5978 data: *mut ::core::ffi::c_void,
5979 );
5980}
5981unsafe extern "C" {
5982 pub fn OPENSSL_sk_find(
5983 sk: *const OPENSSL_STACK,
5984 out_index: *mut usize,
5985 p: *const ::core::ffi::c_void,
5986 call_cmp_func: OPENSSL_sk_call_cmp_func,
5987 ) -> ::core::ffi::c_int;
5988}
5989unsafe extern "C" {
5990 pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
5991}
5992unsafe extern "C" {
5993 pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
5994}
5995unsafe extern "C" {
5996 pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
5997}
5998unsafe extern "C" {
5999 pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6000}
6001unsafe extern "C" {
6002 pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6003}
6004unsafe extern "C" {
6005 pub fn OPENSSL_sk_sort_and_dedup(
6006 sk: *mut OPENSSL_STACK,
6007 call_cmp_func: OPENSSL_sk_call_cmp_func,
6008 call_free_func: OPENSSL_sk_call_free_func,
6009 free_func: OPENSSL_sk_free_func,
6010 );
6011}
6012unsafe extern "C" {
6013 pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::core::ffi::c_int;
6014}
6015unsafe extern "C" {
6016 pub fn OPENSSL_sk_set_cmp_func(
6017 sk: *mut OPENSSL_STACK,
6018 comp: OPENSSL_sk_cmp_func,
6019 ) -> OPENSSL_sk_cmp_func;
6020}
6021unsafe extern "C" {
6022 pub fn OPENSSL_sk_deep_copy(
6023 sk: *const OPENSSL_STACK,
6024 call_copy_func: OPENSSL_sk_call_copy_func,
6025 copy_func: OPENSSL_sk_copy_func,
6026 call_free_func: OPENSSL_sk_call_free_func,
6027 free_func: OPENSSL_sk_free_func,
6028 ) -> *mut OPENSSL_STACK;
6029}
6030pub type _STACK = OPENSSL_STACK;
6031unsafe extern "C" {
6032 pub fn sk_new_null() -> *mut OPENSSL_STACK;
6033}
6034unsafe extern "C" {
6035 pub fn sk_num(sk: *const OPENSSL_STACK) -> usize;
6036}
6037unsafe extern "C" {
6038 pub fn sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
6039}
6040unsafe extern "C" {
6041 pub fn sk_free(sk: *mut OPENSSL_STACK);
6042}
6043unsafe extern "C" {
6044 pub fn sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
6045}
6046unsafe extern "C" {
6047 pub fn sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6048}
6049unsafe extern "C" {
6050 pub fn sk_pop_free_ex(
6051 sk: *mut OPENSSL_STACK,
6052 call_free_func: OPENSSL_sk_call_free_func,
6053 free_func: OPENSSL_sk_free_func,
6054 );
6055}
6056unsafe extern "C" {
6057 pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6058}
6059pub type OPENSSL_STRING = *mut ::core::ffi::c_char;
6060#[repr(C)]
6061#[derive(Debug)]
6062pub struct stack_st_void {
6063 _unused: [u8; 0],
6064}
6065pub type sk_void_free_func =
6066 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>;
6067pub type sk_void_copy_func = ::core::option::Option<
6068 unsafe extern "C" fn(arg1: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
6069>;
6070pub type sk_void_cmp_func = ::core::option::Option<
6071 unsafe extern "C" fn(
6072 arg1: *const *const ::core::ffi::c_void,
6073 arg2: *const *const ::core::ffi::c_void,
6074 ) -> ::core::ffi::c_int,
6075>;
6076pub type sk_void_delete_if_func = ::core::option::Option<
6077 unsafe extern "C" fn(
6078 arg1: *mut ::core::ffi::c_void,
6079 arg2: *mut ::core::ffi::c_void,
6080 ) -> ::core::ffi::c_int,
6081>;
6082unsafe extern "C" {
6083 #[link_name = "sk_void_call_free_func__extern"]
6084 pub fn sk_void_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6085}
6086unsafe extern "C" {
6087 #[link_name = "sk_void_call_copy_func__extern"]
6088 pub fn sk_void_call_copy_func(
6089 copy_func: OPENSSL_sk_copy_func,
6090 ptr: *const ::core::ffi::c_void,
6091 ) -> *mut ::core::ffi::c_void;
6092}
6093unsafe extern "C" {
6094 #[link_name = "sk_void_call_cmp_func__extern"]
6095 pub fn sk_void_call_cmp_func(
6096 cmp_func: OPENSSL_sk_cmp_func,
6097 a: *const ::core::ffi::c_void,
6098 b: *const ::core::ffi::c_void,
6099 ) -> ::core::ffi::c_int;
6100}
6101unsafe extern "C" {
6102 #[link_name = "sk_void_call_delete_if_func__extern"]
6103 pub fn sk_void_call_delete_if_func(
6104 func: OPENSSL_sk_delete_if_func,
6105 obj: *mut ::core::ffi::c_void,
6106 data: *mut ::core::ffi::c_void,
6107 ) -> ::core::ffi::c_int;
6108}
6109unsafe extern "C" {
6110 #[link_name = "sk_void_new__extern"]
6111 pub fn sk_void_new(comp: sk_void_cmp_func) -> *mut stack_st_void;
6112}
6113unsafe extern "C" {
6114 #[link_name = "sk_void_new_null__extern"]
6115 pub fn sk_void_new_null() -> *mut stack_st_void;
6116}
6117unsafe extern "C" {
6118 #[link_name = "sk_void_num__extern"]
6119 pub fn sk_void_num(sk: *const stack_st_void) -> usize;
6120}
6121unsafe extern "C" {
6122 #[link_name = "sk_void_zero__extern"]
6123 pub fn sk_void_zero(sk: *mut stack_st_void);
6124}
6125unsafe extern "C" {
6126 #[link_name = "sk_void_value__extern"]
6127 pub fn sk_void_value(sk: *const stack_st_void, i: usize) -> *mut ::core::ffi::c_void;
6128}
6129unsafe extern "C" {
6130 #[link_name = "sk_void_set__extern"]
6131 pub fn sk_void_set(
6132 sk: *mut stack_st_void,
6133 i: usize,
6134 p: *mut ::core::ffi::c_void,
6135 ) -> *mut ::core::ffi::c_void;
6136}
6137unsafe extern "C" {
6138 #[link_name = "sk_void_free__extern"]
6139 pub fn sk_void_free(sk: *mut stack_st_void);
6140}
6141unsafe extern "C" {
6142 #[link_name = "sk_void_pop_free__extern"]
6143 pub fn sk_void_pop_free(sk: *mut stack_st_void, free_func: sk_void_free_func);
6144}
6145unsafe extern "C" {
6146 #[link_name = "sk_void_insert__extern"]
6147 pub fn sk_void_insert(
6148 sk: *mut stack_st_void,
6149 p: *mut ::core::ffi::c_void,
6150 where_: usize,
6151 ) -> usize;
6152}
6153unsafe extern "C" {
6154 #[link_name = "sk_void_delete__extern"]
6155 pub fn sk_void_delete(sk: *mut stack_st_void, where_: usize) -> *mut ::core::ffi::c_void;
6156}
6157unsafe extern "C" {
6158 #[link_name = "sk_void_delete_ptr__extern"]
6159 pub fn sk_void_delete_ptr(
6160 sk: *mut stack_st_void,
6161 p: *const ::core::ffi::c_void,
6162 ) -> *mut ::core::ffi::c_void;
6163}
6164unsafe extern "C" {
6165 #[link_name = "sk_void_delete_if__extern"]
6166 pub fn sk_void_delete_if(
6167 sk: *mut stack_st_void,
6168 func: sk_void_delete_if_func,
6169 data: *mut ::core::ffi::c_void,
6170 );
6171}
6172unsafe extern "C" {
6173 #[link_name = "sk_void_find__extern"]
6174 pub fn sk_void_find(
6175 sk: *const stack_st_void,
6176 out_index: *mut usize,
6177 p: *const ::core::ffi::c_void,
6178 ) -> ::core::ffi::c_int;
6179}
6180unsafe extern "C" {
6181 #[link_name = "sk_void_shift__extern"]
6182 pub fn sk_void_shift(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6183}
6184unsafe extern "C" {
6185 #[link_name = "sk_void_push__extern"]
6186 pub fn sk_void_push(sk: *mut stack_st_void, p: *mut ::core::ffi::c_void) -> usize;
6187}
6188unsafe extern "C" {
6189 #[link_name = "sk_void_pop__extern"]
6190 pub fn sk_void_pop(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6191}
6192unsafe extern "C" {
6193 #[link_name = "sk_void_dup__extern"]
6194 pub fn sk_void_dup(sk: *const stack_st_void) -> *mut stack_st_void;
6195}
6196unsafe extern "C" {
6197 #[link_name = "sk_void_sort__extern"]
6198 pub fn sk_void_sort(sk: *mut stack_st_void);
6199}
6200unsafe extern "C" {
6201 #[link_name = "sk_void_sort_and_dedup__extern"]
6202 pub fn sk_void_sort_and_dedup(sk: *mut stack_st_void, free_func: sk_void_free_func);
6203}
6204unsafe extern "C" {
6205 #[link_name = "sk_void_is_sorted__extern"]
6206 pub fn sk_void_is_sorted(sk: *const stack_st_void) -> ::core::ffi::c_int;
6207}
6208unsafe extern "C" {
6209 #[link_name = "sk_void_set_cmp_func__extern"]
6210 pub fn sk_void_set_cmp_func(sk: *mut stack_st_void, comp: sk_void_cmp_func)
6211 -> sk_void_cmp_func;
6212}
6213unsafe extern "C" {
6214 #[link_name = "sk_void_deep_copy__extern"]
6215 pub fn sk_void_deep_copy(
6216 sk: *const stack_st_void,
6217 copy_func: sk_void_copy_func,
6218 free_func: sk_void_free_func,
6219 ) -> *mut stack_st_void;
6220}
6221#[repr(C)]
6222#[derive(Debug)]
6223pub struct stack_st_OPENSSL_STRING {
6224 _unused: [u8; 0],
6225}
6226pub type sk_OPENSSL_STRING_free_func =
6227 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_char)>;
6228pub type sk_OPENSSL_STRING_copy_func = ::core::option::Option<
6229 unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char,
6230>;
6231pub type sk_OPENSSL_STRING_cmp_func = ::core::option::Option<
6232 unsafe extern "C" fn(
6233 arg1: *const *const ::core::ffi::c_char,
6234 arg2: *const *const ::core::ffi::c_char,
6235 ) -> ::core::ffi::c_int,
6236>;
6237pub type sk_OPENSSL_STRING_delete_if_func = ::core::option::Option<
6238 unsafe extern "C" fn(
6239 arg1: *mut ::core::ffi::c_char,
6240 arg2: *mut ::core::ffi::c_void,
6241 ) -> ::core::ffi::c_int,
6242>;
6243unsafe extern "C" {
6244 #[link_name = "sk_OPENSSL_STRING_call_free_func__extern"]
6245 pub fn sk_OPENSSL_STRING_call_free_func(
6246 free_func: OPENSSL_sk_free_func,
6247 ptr: *mut ::core::ffi::c_void,
6248 );
6249}
6250unsafe extern "C" {
6251 #[link_name = "sk_OPENSSL_STRING_call_copy_func__extern"]
6252 pub fn sk_OPENSSL_STRING_call_copy_func(
6253 copy_func: OPENSSL_sk_copy_func,
6254 ptr: *const ::core::ffi::c_void,
6255 ) -> *mut ::core::ffi::c_void;
6256}
6257unsafe extern "C" {
6258 #[link_name = "sk_OPENSSL_STRING_call_cmp_func__extern"]
6259 pub fn sk_OPENSSL_STRING_call_cmp_func(
6260 cmp_func: OPENSSL_sk_cmp_func,
6261 a: *const ::core::ffi::c_void,
6262 b: *const ::core::ffi::c_void,
6263 ) -> ::core::ffi::c_int;
6264}
6265unsafe extern "C" {
6266 #[link_name = "sk_OPENSSL_STRING_call_delete_if_func__extern"]
6267 pub fn sk_OPENSSL_STRING_call_delete_if_func(
6268 func: OPENSSL_sk_delete_if_func,
6269 obj: *mut ::core::ffi::c_void,
6270 data: *mut ::core::ffi::c_void,
6271 ) -> ::core::ffi::c_int;
6272}
6273unsafe extern "C" {
6274 #[link_name = "sk_OPENSSL_STRING_new__extern"]
6275 pub fn sk_OPENSSL_STRING_new(comp: sk_OPENSSL_STRING_cmp_func) -> *mut stack_st_OPENSSL_STRING;
6276}
6277unsafe extern "C" {
6278 #[link_name = "sk_OPENSSL_STRING_new_null__extern"]
6279 pub fn sk_OPENSSL_STRING_new_null() -> *mut stack_st_OPENSSL_STRING;
6280}
6281unsafe extern "C" {
6282 #[link_name = "sk_OPENSSL_STRING_num__extern"]
6283 pub fn sk_OPENSSL_STRING_num(sk: *const stack_st_OPENSSL_STRING) -> usize;
6284}
6285unsafe extern "C" {
6286 #[link_name = "sk_OPENSSL_STRING_zero__extern"]
6287 pub fn sk_OPENSSL_STRING_zero(sk: *mut stack_st_OPENSSL_STRING);
6288}
6289unsafe extern "C" {
6290 #[link_name = "sk_OPENSSL_STRING_value__extern"]
6291 pub fn sk_OPENSSL_STRING_value(
6292 sk: *const stack_st_OPENSSL_STRING,
6293 i: usize,
6294 ) -> *mut ::core::ffi::c_char;
6295}
6296unsafe extern "C" {
6297 #[link_name = "sk_OPENSSL_STRING_set__extern"]
6298 pub fn sk_OPENSSL_STRING_set(
6299 sk: *mut stack_st_OPENSSL_STRING,
6300 i: usize,
6301 p: *mut ::core::ffi::c_char,
6302 ) -> *mut ::core::ffi::c_char;
6303}
6304unsafe extern "C" {
6305 #[link_name = "sk_OPENSSL_STRING_free__extern"]
6306 pub fn sk_OPENSSL_STRING_free(sk: *mut stack_st_OPENSSL_STRING);
6307}
6308unsafe extern "C" {
6309 #[link_name = "sk_OPENSSL_STRING_pop_free__extern"]
6310 pub fn sk_OPENSSL_STRING_pop_free(
6311 sk: *mut stack_st_OPENSSL_STRING,
6312 free_func: sk_OPENSSL_STRING_free_func,
6313 );
6314}
6315unsafe extern "C" {
6316 #[link_name = "sk_OPENSSL_STRING_insert__extern"]
6317 pub fn sk_OPENSSL_STRING_insert(
6318 sk: *mut stack_st_OPENSSL_STRING,
6319 p: *mut ::core::ffi::c_char,
6320 where_: usize,
6321 ) -> usize;
6322}
6323unsafe extern "C" {
6324 #[link_name = "sk_OPENSSL_STRING_delete__extern"]
6325 pub fn sk_OPENSSL_STRING_delete(
6326 sk: *mut stack_st_OPENSSL_STRING,
6327 where_: usize,
6328 ) -> *mut ::core::ffi::c_char;
6329}
6330unsafe extern "C" {
6331 #[link_name = "sk_OPENSSL_STRING_delete_ptr__extern"]
6332 pub fn sk_OPENSSL_STRING_delete_ptr(
6333 sk: *mut stack_st_OPENSSL_STRING,
6334 p: *const ::core::ffi::c_char,
6335 ) -> *mut ::core::ffi::c_char;
6336}
6337unsafe extern "C" {
6338 #[link_name = "sk_OPENSSL_STRING_delete_if__extern"]
6339 pub fn sk_OPENSSL_STRING_delete_if(
6340 sk: *mut stack_st_OPENSSL_STRING,
6341 func: sk_OPENSSL_STRING_delete_if_func,
6342 data: *mut ::core::ffi::c_void,
6343 );
6344}
6345unsafe extern "C" {
6346 #[link_name = "sk_OPENSSL_STRING_find__extern"]
6347 pub fn sk_OPENSSL_STRING_find(
6348 sk: *const stack_st_OPENSSL_STRING,
6349 out_index: *mut usize,
6350 p: *const ::core::ffi::c_char,
6351 ) -> ::core::ffi::c_int;
6352}
6353unsafe extern "C" {
6354 #[link_name = "sk_OPENSSL_STRING_shift__extern"]
6355 pub fn sk_OPENSSL_STRING_shift(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6356}
6357unsafe extern "C" {
6358 #[link_name = "sk_OPENSSL_STRING_push__extern"]
6359 pub fn sk_OPENSSL_STRING_push(
6360 sk: *mut stack_st_OPENSSL_STRING,
6361 p: *mut ::core::ffi::c_char,
6362 ) -> usize;
6363}
6364unsafe extern "C" {
6365 #[link_name = "sk_OPENSSL_STRING_pop__extern"]
6366 pub fn sk_OPENSSL_STRING_pop(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6367}
6368unsafe extern "C" {
6369 #[link_name = "sk_OPENSSL_STRING_dup__extern"]
6370 pub fn sk_OPENSSL_STRING_dup(
6371 sk: *const stack_st_OPENSSL_STRING,
6372 ) -> *mut stack_st_OPENSSL_STRING;
6373}
6374unsafe extern "C" {
6375 #[link_name = "sk_OPENSSL_STRING_sort__extern"]
6376 pub fn sk_OPENSSL_STRING_sort(sk: *mut stack_st_OPENSSL_STRING);
6377}
6378unsafe extern "C" {
6379 #[link_name = "sk_OPENSSL_STRING_sort_and_dedup__extern"]
6380 pub fn sk_OPENSSL_STRING_sort_and_dedup(
6381 sk: *mut stack_st_OPENSSL_STRING,
6382 free_func: sk_OPENSSL_STRING_free_func,
6383 );
6384}
6385unsafe extern "C" {
6386 #[link_name = "sk_OPENSSL_STRING_is_sorted__extern"]
6387 pub fn sk_OPENSSL_STRING_is_sorted(sk: *const stack_st_OPENSSL_STRING) -> ::core::ffi::c_int;
6388}
6389unsafe extern "C" {
6390 #[link_name = "sk_OPENSSL_STRING_set_cmp_func__extern"]
6391 pub fn sk_OPENSSL_STRING_set_cmp_func(
6392 sk: *mut stack_st_OPENSSL_STRING,
6393 comp: sk_OPENSSL_STRING_cmp_func,
6394 ) -> sk_OPENSSL_STRING_cmp_func;
6395}
6396unsafe extern "C" {
6397 #[link_name = "sk_OPENSSL_STRING_deep_copy__extern"]
6398 pub fn sk_OPENSSL_STRING_deep_copy(
6399 sk: *const stack_st_OPENSSL_STRING,
6400 copy_func: sk_OPENSSL_STRING_copy_func,
6401 free_func: sk_OPENSSL_STRING_free_func,
6402 ) -> *mut stack_st_OPENSSL_STRING;
6403}
6404#[repr(C)]
6405#[derive(Debug)]
6406pub struct stack_st_BIO {
6407 _unused: [u8; 0],
6408}
6409pub type sk_BIO_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6410pub type sk_BIO_copy_func =
6411 ::core::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6412pub type sk_BIO_cmp_func = ::core::option::Option<
6413 unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::core::ffi::c_int,
6414>;
6415pub type sk_BIO_delete_if_func = ::core::option::Option<
6416 unsafe extern "C" fn(arg1: *mut BIO, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
6417>;
6418unsafe extern "C" {
6419 #[link_name = "sk_BIO_call_free_func__extern"]
6420 pub fn sk_BIO_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6421}
6422unsafe extern "C" {
6423 #[link_name = "sk_BIO_call_copy_func__extern"]
6424 pub fn sk_BIO_call_copy_func(
6425 copy_func: OPENSSL_sk_copy_func,
6426 ptr: *const ::core::ffi::c_void,
6427 ) -> *mut ::core::ffi::c_void;
6428}
6429unsafe extern "C" {
6430 #[link_name = "sk_BIO_call_cmp_func__extern"]
6431 pub fn sk_BIO_call_cmp_func(
6432 cmp_func: OPENSSL_sk_cmp_func,
6433 a: *const ::core::ffi::c_void,
6434 b: *const ::core::ffi::c_void,
6435 ) -> ::core::ffi::c_int;
6436}
6437unsafe extern "C" {
6438 #[link_name = "sk_BIO_call_delete_if_func__extern"]
6439 pub fn sk_BIO_call_delete_if_func(
6440 func: OPENSSL_sk_delete_if_func,
6441 obj: *mut ::core::ffi::c_void,
6442 data: *mut ::core::ffi::c_void,
6443 ) -> ::core::ffi::c_int;
6444}
6445unsafe extern "C" {
6446 #[link_name = "sk_BIO_new__extern"]
6447 pub fn sk_BIO_new(comp: sk_BIO_cmp_func) -> *mut stack_st_BIO;
6448}
6449unsafe extern "C" {
6450 #[link_name = "sk_BIO_new_null__extern"]
6451 pub fn sk_BIO_new_null() -> *mut stack_st_BIO;
6452}
6453unsafe extern "C" {
6454 #[link_name = "sk_BIO_num__extern"]
6455 pub fn sk_BIO_num(sk: *const stack_st_BIO) -> usize;
6456}
6457unsafe extern "C" {
6458 #[link_name = "sk_BIO_zero__extern"]
6459 pub fn sk_BIO_zero(sk: *mut stack_st_BIO);
6460}
6461unsafe extern "C" {
6462 #[link_name = "sk_BIO_value__extern"]
6463 pub fn sk_BIO_value(sk: *const stack_st_BIO, i: usize) -> *mut BIO;
6464}
6465unsafe extern "C" {
6466 #[link_name = "sk_BIO_set__extern"]
6467 pub fn sk_BIO_set(sk: *mut stack_st_BIO, i: usize, p: *mut BIO) -> *mut BIO;
6468}
6469unsafe extern "C" {
6470 #[link_name = "sk_BIO_free__extern"]
6471 pub fn sk_BIO_free(sk: *mut stack_st_BIO);
6472}
6473unsafe extern "C" {
6474 #[link_name = "sk_BIO_pop_free__extern"]
6475 pub fn sk_BIO_pop_free(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6476}
6477unsafe extern "C" {
6478 #[link_name = "sk_BIO_insert__extern"]
6479 pub fn sk_BIO_insert(sk: *mut stack_st_BIO, p: *mut BIO, where_: usize) -> usize;
6480}
6481unsafe extern "C" {
6482 #[link_name = "sk_BIO_delete__extern"]
6483 pub fn sk_BIO_delete(sk: *mut stack_st_BIO, where_: usize) -> *mut BIO;
6484}
6485unsafe extern "C" {
6486 #[link_name = "sk_BIO_delete_ptr__extern"]
6487 pub fn sk_BIO_delete_ptr(sk: *mut stack_st_BIO, p: *const BIO) -> *mut BIO;
6488}
6489unsafe extern "C" {
6490 #[link_name = "sk_BIO_delete_if__extern"]
6491 pub fn sk_BIO_delete_if(
6492 sk: *mut stack_st_BIO,
6493 func: sk_BIO_delete_if_func,
6494 data: *mut ::core::ffi::c_void,
6495 );
6496}
6497unsafe extern "C" {
6498 #[link_name = "sk_BIO_find__extern"]
6499 pub fn sk_BIO_find(
6500 sk: *const stack_st_BIO,
6501 out_index: *mut usize,
6502 p: *const BIO,
6503 ) -> ::core::ffi::c_int;
6504}
6505unsafe extern "C" {
6506 #[link_name = "sk_BIO_shift__extern"]
6507 pub fn sk_BIO_shift(sk: *mut stack_st_BIO) -> *mut BIO;
6508}
6509unsafe extern "C" {
6510 #[link_name = "sk_BIO_push__extern"]
6511 pub fn sk_BIO_push(sk: *mut stack_st_BIO, p: *mut BIO) -> usize;
6512}
6513unsafe extern "C" {
6514 #[link_name = "sk_BIO_pop__extern"]
6515 pub fn sk_BIO_pop(sk: *mut stack_st_BIO) -> *mut BIO;
6516}
6517unsafe extern "C" {
6518 #[link_name = "sk_BIO_dup__extern"]
6519 pub fn sk_BIO_dup(sk: *const stack_st_BIO) -> *mut stack_st_BIO;
6520}
6521unsafe extern "C" {
6522 #[link_name = "sk_BIO_sort__extern"]
6523 pub fn sk_BIO_sort(sk: *mut stack_st_BIO);
6524}
6525unsafe extern "C" {
6526 #[link_name = "sk_BIO_sort_and_dedup__extern"]
6527 pub fn sk_BIO_sort_and_dedup(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6528}
6529unsafe extern "C" {
6530 #[link_name = "sk_BIO_is_sorted__extern"]
6531 pub fn sk_BIO_is_sorted(sk: *const stack_st_BIO) -> ::core::ffi::c_int;
6532}
6533unsafe extern "C" {
6534 #[link_name = "sk_BIO_set_cmp_func__extern"]
6535 pub fn sk_BIO_set_cmp_func(sk: *mut stack_st_BIO, comp: sk_BIO_cmp_func) -> sk_BIO_cmp_func;
6536}
6537unsafe extern "C" {
6538 #[link_name = "sk_BIO_deep_copy__extern"]
6539 pub fn sk_BIO_deep_copy(
6540 sk: *const stack_st_BIO,
6541 copy_func: sk_BIO_copy_func,
6542 free_func: sk_BIO_free_func,
6543 ) -> *mut stack_st_BIO;
6544}
6545unsafe extern "C" {
6546 pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6547}
6548unsafe extern "C" {
6549 pub fn BIO_free(bio: *mut BIO) -> ::core::ffi::c_int;
6550}
6551unsafe extern "C" {
6552 pub fn BIO_vfree(bio: *mut BIO);
6553}
6554unsafe extern "C" {
6555 pub fn BIO_up_ref(bio: *mut BIO) -> ::core::ffi::c_int;
6556}
6557unsafe extern "C" {
6558 pub fn BIO_read(
6559 bio: *mut BIO,
6560 data: *mut ::core::ffi::c_void,
6561 len: ::core::ffi::c_int,
6562 ) -> ::core::ffi::c_int;
6563}
6564unsafe extern "C" {
6565 pub fn BIO_gets(
6566 bio: *mut BIO,
6567 buf: *mut ::core::ffi::c_char,
6568 size: ::core::ffi::c_int,
6569 ) -> ::core::ffi::c_int;
6570}
6571unsafe extern "C" {
6572 pub fn BIO_write_ex(
6573 bio: *mut BIO,
6574 data: *const ::core::ffi::c_void,
6575 len: usize,
6576 out_written: *mut usize,
6577 ) -> ::core::ffi::c_int;
6578}
6579unsafe extern "C" {
6580 pub fn BIO_write(
6581 bio: *mut BIO,
6582 data: *const ::core::ffi::c_void,
6583 len: ::core::ffi::c_int,
6584 ) -> ::core::ffi::c_int;
6585}
6586unsafe extern "C" {
6587 pub fn BIO_write_all(
6588 bio: *mut BIO,
6589 data: *const ::core::ffi::c_void,
6590 len: usize,
6591 ) -> ::core::ffi::c_int;
6592}
6593unsafe extern "C" {
6594 pub fn BIO_puts(bio: *mut BIO, buf: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
6595}
6596unsafe extern "C" {
6597 pub fn BIO_flush(bio: *mut BIO) -> ::core::ffi::c_int;
6598}
6599unsafe extern "C" {
6600 pub fn BIO_ctrl(
6601 bio: *mut BIO,
6602 cmd: ::core::ffi::c_int,
6603 larg: ::core::ffi::c_long,
6604 parg: *mut ::core::ffi::c_void,
6605 ) -> ::core::ffi::c_long;
6606}
6607unsafe extern "C" {
6608 pub fn BIO_ptr_ctrl(
6609 bp: *mut BIO,
6610 cmd: ::core::ffi::c_int,
6611 larg: ::core::ffi::c_long,
6612 ) -> *mut ::core::ffi::c_char;
6613}
6614unsafe extern "C" {
6615 pub fn BIO_int_ctrl(
6616 bp: *mut BIO,
6617 cmd: ::core::ffi::c_int,
6618 larg: ::core::ffi::c_long,
6619 iarg: ::core::ffi::c_int,
6620 ) -> ::core::ffi::c_long;
6621}
6622unsafe extern "C" {
6623 pub fn BIO_reset(bio: *mut BIO) -> ::core::ffi::c_int;
6624}
6625unsafe extern "C" {
6626 pub fn BIO_eof(bio: *mut BIO) -> ::core::ffi::c_int;
6627}
6628unsafe extern "C" {
6629 pub fn BIO_set_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6630}
6631unsafe extern "C" {
6632 pub fn BIO_clear_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6633}
6634unsafe extern "C" {
6635 pub fn BIO_test_flags(bio: *const BIO, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
6636}
6637unsafe extern "C" {
6638 pub fn BIO_should_read(bio: *const BIO) -> ::core::ffi::c_int;
6639}
6640unsafe extern "C" {
6641 pub fn BIO_should_write(bio: *const BIO) -> ::core::ffi::c_int;
6642}
6643unsafe extern "C" {
6644 pub fn BIO_should_retry(bio: *const BIO) -> ::core::ffi::c_int;
6645}
6646unsafe extern "C" {
6647 pub fn BIO_should_io_special(bio: *const BIO) -> ::core::ffi::c_int;
6648}
6649unsafe extern "C" {
6650 pub fn BIO_get_retry_reason(bio: *const BIO) -> ::core::ffi::c_int;
6651}
6652unsafe extern "C" {
6653 pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::core::ffi::c_int);
6654}
6655unsafe extern "C" {
6656 pub fn BIO_set_retry_read(bio: *mut BIO);
6657}
6658unsafe extern "C" {
6659 pub fn BIO_set_retry_write(bio: *mut BIO);
6660}
6661unsafe extern "C" {
6662 pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::core::ffi::c_int;
6663}
6664unsafe extern "C" {
6665 pub fn BIO_clear_retry_flags(bio: *mut BIO);
6666}
6667unsafe extern "C" {
6668 pub fn BIO_method_type(bio: *const BIO) -> ::core::ffi::c_int;
6669}
6670pub type BIO_info_cb = ::core::option::Option<
6671 unsafe extern "C" fn(
6672 arg1: *mut BIO,
6673 arg2: ::core::ffi::c_int,
6674 arg3: ::core::ffi::c_int,
6675 ) -> ::core::ffi::c_int,
6676>;
6677unsafe extern "C" {
6678 pub fn BIO_callback_ctrl(
6679 bio: *mut BIO,
6680 cmd: ::core::ffi::c_int,
6681 fp: BIO_info_cb,
6682 ) -> ::core::ffi::c_long;
6683}
6684unsafe extern "C" {
6685 pub fn BIO_pending(bio: *const BIO) -> usize;
6686}
6687unsafe extern "C" {
6688 pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6689}
6690unsafe extern "C" {
6691 pub fn BIO_wpending(bio: *const BIO) -> usize;
6692}
6693unsafe extern "C" {
6694 pub fn BIO_set_close(bio: *mut BIO, close_flag: ::core::ffi::c_int) -> ::core::ffi::c_int;
6695}
6696unsafe extern "C" {
6697 pub fn BIO_number_read(bio: *const BIO) -> u64;
6698}
6699unsafe extern "C" {
6700 pub fn BIO_number_written(bio: *const BIO) -> u64;
6701}
6702unsafe extern "C" {
6703 pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6704}
6705unsafe extern "C" {
6706 pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6707}
6708unsafe extern "C" {
6709 pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6710}
6711unsafe extern "C" {
6712 pub fn BIO_find_type(bio: *mut BIO, type_: ::core::ffi::c_int) -> *mut BIO;
6713}
6714unsafe extern "C" {
6715 pub fn BIO_copy_next_retry(bio: *mut BIO);
6716}
6717unsafe extern "C" {
6718 pub fn BIO_printf(bio: *mut BIO, format: *const ::core::ffi::c_char, ...)
6719 -> ::core::ffi::c_int;
6720}
6721unsafe extern "C" {
6722 pub fn BIO_indent(
6723 bio: *mut BIO,
6724 indent: ::core::ffi::c_uint,
6725 max_indent: ::core::ffi::c_uint,
6726 ) -> ::core::ffi::c_int;
6727}
6728unsafe extern "C" {
6729 pub fn BIO_hexdump(
6730 bio: *mut BIO,
6731 data: *const u8,
6732 len: usize,
6733 indent: ::core::ffi::c_uint,
6734 ) -> ::core::ffi::c_int;
6735}
6736unsafe extern "C" {
6737 pub fn ERR_print_errors(bio: *mut BIO);
6738}
6739unsafe extern "C" {
6740 pub fn BIO_read_asn1(
6741 bio: *mut BIO,
6742 out: *mut *mut u8,
6743 out_len: *mut usize,
6744 max_len: usize,
6745 ) -> ::core::ffi::c_int;
6746}
6747unsafe extern "C" {
6748 pub fn BIO_s_mem() -> *const BIO_METHOD;
6749}
6750unsafe extern "C" {
6751 pub fn BIO_new_mem_buf(buf: *const ::core::ffi::c_void, len: ossl_ssize_t) -> *mut BIO;
6752}
6753unsafe extern "C" {
6754 pub fn BIO_mem_contents(
6755 bio: *const BIO,
6756 out_contents: *mut *const u8,
6757 out_len: *mut usize,
6758 ) -> ::core::ffi::c_int;
6759}
6760unsafe extern "C" {
6761 pub fn BIO_get_mem_data(
6762 bio: *mut BIO,
6763 contents: *mut *mut ::core::ffi::c_char,
6764 ) -> ::core::ffi::c_long;
6765}
6766unsafe extern "C" {
6767 pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::core::ffi::c_int;
6768}
6769unsafe extern "C" {
6770 pub fn BIO_set_mem_buf(
6771 bio: *mut BIO,
6772 b: *mut BUF_MEM,
6773 take_ownership: ::core::ffi::c_int,
6774 ) -> ::core::ffi::c_int;
6775}
6776unsafe extern "C" {
6777 pub fn BIO_set_mem_eof_return(
6778 bio: *mut BIO,
6779 eof_value: ::core::ffi::c_int,
6780 ) -> ::core::ffi::c_int;
6781}
6782unsafe extern "C" {
6783 pub fn BIO_s_fd() -> *const BIO_METHOD;
6784}
6785unsafe extern "C" {
6786 pub fn BIO_new_fd(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6787}
6788unsafe extern "C" {
6789 pub fn BIO_set_fd(
6790 bio: *mut BIO,
6791 fd: ::core::ffi::c_int,
6792 close_flag: ::core::ffi::c_int,
6793 ) -> ::core::ffi::c_int;
6794}
6795unsafe extern "C" {
6796 pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
6797}
6798unsafe extern "C" {
6799 pub fn BIO_s_file() -> *const BIO_METHOD;
6800}
6801unsafe extern "C" {
6802 pub fn BIO_new_file(
6803 filename: *const ::core::ffi::c_char,
6804 mode: *const ::core::ffi::c_char,
6805 ) -> *mut BIO;
6806}
6807unsafe extern "C" {
6808 pub fn BIO_new_fp(file: *mut FILE, flags: ::core::ffi::c_int) -> *mut BIO;
6809}
6810unsafe extern "C" {
6811 pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::core::ffi::c_int;
6812}
6813unsafe extern "C" {
6814 pub fn BIO_set_fp(
6815 bio: *mut BIO,
6816 file: *mut FILE,
6817 flags: ::core::ffi::c_int,
6818 ) -> ::core::ffi::c_int;
6819}
6820unsafe extern "C" {
6821 pub fn BIO_read_filename(
6822 bio: *mut BIO,
6823 filename: *const ::core::ffi::c_char,
6824 ) -> ::core::ffi::c_int;
6825}
6826unsafe extern "C" {
6827 pub fn BIO_write_filename(
6828 bio: *mut BIO,
6829 filename: *const ::core::ffi::c_char,
6830 ) -> ::core::ffi::c_int;
6831}
6832unsafe extern "C" {
6833 pub fn BIO_append_filename(
6834 bio: *mut BIO,
6835 filename: *const ::core::ffi::c_char,
6836 ) -> ::core::ffi::c_int;
6837}
6838unsafe extern "C" {
6839 pub fn BIO_rw_filename(
6840 bio: *mut BIO,
6841 filename: *const ::core::ffi::c_char,
6842 ) -> ::core::ffi::c_int;
6843}
6844unsafe extern "C" {
6845 pub fn BIO_tell(bio: *mut BIO) -> ::core::ffi::c_long;
6846}
6847unsafe extern "C" {
6848 pub fn BIO_seek(bio: *mut BIO, offset: ::core::ffi::c_long) -> ::core::ffi::c_long;
6849}
6850unsafe extern "C" {
6851 pub fn BIO_s_socket() -> *const BIO_METHOD;
6852}
6853unsafe extern "C" {
6854 pub fn BIO_new_socket(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6855}
6856unsafe extern "C" {
6857 pub fn BIO_s_connect() -> *const BIO_METHOD;
6858}
6859unsafe extern "C" {
6860 pub fn BIO_new_connect(host_and_optional_port: *const ::core::ffi::c_char) -> *mut BIO;
6861}
6862unsafe extern "C" {
6863 pub fn BIO_set_conn_hostname(
6864 bio: *mut BIO,
6865 host_and_optional_port: *const ::core::ffi::c_char,
6866 ) -> ::core::ffi::c_int;
6867}
6868unsafe extern "C" {
6869 pub fn BIO_set_conn_port(
6870 bio: *mut BIO,
6871 port_str: *const ::core::ffi::c_char,
6872 ) -> ::core::ffi::c_int;
6873}
6874unsafe extern "C" {
6875 pub fn BIO_set_conn_int_port(
6876 bio: *mut BIO,
6877 port: *const ::core::ffi::c_int,
6878 ) -> ::core::ffi::c_int;
6879}
6880unsafe extern "C" {
6881 pub fn BIO_set_nbio(bio: *mut BIO, on: ::core::ffi::c_int) -> ::core::ffi::c_int;
6882}
6883unsafe extern "C" {
6884 pub fn BIO_do_connect(bio: *mut BIO) -> ::core::ffi::c_int;
6885}
6886unsafe extern "C" {
6887 pub fn BIO_new_bio_pair(
6888 out1: *mut *mut BIO,
6889 writebuf1: usize,
6890 out2: *mut *mut BIO,
6891 writebuf2: usize,
6892 ) -> ::core::ffi::c_int;
6893}
6894unsafe extern "C" {
6895 pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
6896}
6897unsafe extern "C" {
6898 pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
6899}
6900unsafe extern "C" {
6901 pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::core::ffi::c_int;
6902}
6903unsafe extern "C" {
6904 pub fn BIO_get_new_index() -> ::core::ffi::c_int;
6905}
6906unsafe extern "C" {
6907 pub fn BIO_meth_new(
6908 type_: ::core::ffi::c_int,
6909 name: *const ::core::ffi::c_char,
6910 ) -> *mut BIO_METHOD;
6911}
6912unsafe extern "C" {
6913 pub fn BIO_meth_free(method: *mut BIO_METHOD);
6914}
6915unsafe extern "C" {
6916 pub fn BIO_meth_set_create(
6917 method: *mut BIO_METHOD,
6918 create_func: ::core::option::Option<
6919 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6920 >,
6921 ) -> ::core::ffi::c_int;
6922}
6923unsafe extern "C" {
6924 pub fn BIO_meth_set_destroy(
6925 method: *mut BIO_METHOD,
6926 destroy_func: ::core::option::Option<
6927 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6928 >,
6929 ) -> ::core::ffi::c_int;
6930}
6931unsafe extern "C" {
6932 pub fn BIO_meth_set_write_ex(
6933 method: *mut BIO_METHOD,
6934 write_ex_func: ::core::option::Option<
6935 unsafe extern "C" fn(
6936 arg1: *mut BIO,
6937 arg2: *const ::core::ffi::c_char,
6938 arg3: usize,
6939 arg4: *mut usize,
6940 ) -> ::core::ffi::c_int,
6941 >,
6942 ) -> ::core::ffi::c_int;
6943}
6944unsafe extern "C" {
6945 pub fn BIO_meth_set_write(
6946 method: *mut BIO_METHOD,
6947 write_func: ::core::option::Option<
6948 unsafe extern "C" fn(
6949 arg1: *mut BIO,
6950 arg2: *const ::core::ffi::c_char,
6951 arg3: ::core::ffi::c_int,
6952 ) -> ::core::ffi::c_int,
6953 >,
6954 ) -> ::core::ffi::c_int;
6955}
6956unsafe extern "C" {
6957 pub fn BIO_meth_set_read(
6958 method: *mut BIO_METHOD,
6959 read_func: ::core::option::Option<
6960 unsafe extern "C" fn(
6961 arg1: *mut BIO,
6962 arg2: *mut ::core::ffi::c_char,
6963 arg3: ::core::ffi::c_int,
6964 ) -> ::core::ffi::c_int,
6965 >,
6966 ) -> ::core::ffi::c_int;
6967}
6968unsafe extern "C" {
6969 pub fn BIO_meth_set_gets(
6970 method: *mut BIO_METHOD,
6971 gets_func: ::core::option::Option<
6972 unsafe extern "C" fn(
6973 arg1: *mut BIO,
6974 arg2: *mut ::core::ffi::c_char,
6975 arg3: ::core::ffi::c_int,
6976 ) -> ::core::ffi::c_int,
6977 >,
6978 ) -> ::core::ffi::c_int;
6979}
6980unsafe extern "C" {
6981 pub fn BIO_meth_set_ctrl(
6982 method: *mut BIO_METHOD,
6983 ctrl_func: ::core::option::Option<
6984 unsafe extern "C" fn(
6985 arg1: *mut BIO,
6986 arg2: ::core::ffi::c_int,
6987 arg3: ::core::ffi::c_long,
6988 arg4: *mut ::core::ffi::c_void,
6989 ) -> ::core::ffi::c_long,
6990 >,
6991 ) -> ::core::ffi::c_int;
6992}
6993unsafe extern "C" {
6994 pub fn BIO_meth_set_callback_ctrl(
6995 method: *mut BIO_METHOD,
6996 callback_ctrl_func: ::core::option::Option<
6997 unsafe extern "C" fn(
6998 arg1: *mut BIO,
6999 arg2: ::core::ffi::c_int,
7000 arg3: BIO_info_cb,
7001 ) -> ::core::ffi::c_long,
7002 >,
7003 ) -> ::core::ffi::c_int;
7004}
7005unsafe extern "C" {
7006 pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::core::ffi::c_void);
7007}
7008unsafe extern "C" {
7009 pub fn BIO_get_data(bio: *mut BIO) -> *mut ::core::ffi::c_void;
7010}
7011unsafe extern "C" {
7012 pub fn BIO_set_init(bio: *mut BIO, init: ::core::ffi::c_int);
7013}
7014unsafe extern "C" {
7015 pub fn BIO_get_init(bio: *mut BIO) -> ::core::ffi::c_int;
7016}
7017unsafe extern "C" {
7018 pub fn BIO_get_ex_new_index(
7019 argl: ::core::ffi::c_long,
7020 argp: *mut ::core::ffi::c_void,
7021 unused: *mut CRYPTO_EX_unused,
7022 dup_unused: CRYPTO_EX_dup,
7023 free_func: CRYPTO_EX_free,
7024 ) -> ::core::ffi::c_int;
7025}
7026unsafe extern "C" {
7027 pub fn BIO_set_ex_data(
7028 bio: *mut BIO,
7029 idx: ::core::ffi::c_int,
7030 arg: *mut ::core::ffi::c_void,
7031 ) -> ::core::ffi::c_int;
7032}
7033unsafe extern "C" {
7034 pub fn BIO_get_ex_data(bio: *const BIO, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
7035}
7036unsafe extern "C" {
7037 pub fn BIO_free_all(bio: *mut BIO);
7038}
7039pub type bio_info_cb = BIO_info_cb;
7040unsafe extern "C" {
7041 pub fn BIO_f_base64() -> *const BIO_METHOD;
7042}
7043unsafe extern "C" {
7044 pub fn BIO_set_retry_special(bio: *mut BIO);
7045}
7046unsafe extern "C" {
7047 pub fn BIO_set_write_buffer_size(
7048 bio: *mut BIO,
7049 buffer_size: ::core::ffi::c_int,
7050 ) -> ::core::ffi::c_int;
7051}
7052unsafe extern "C" {
7053 pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::core::ffi::c_int);
7054}
7055unsafe extern "C" {
7056 pub fn BIO_get_shutdown(bio: *mut BIO) -> ::core::ffi::c_int;
7057}
7058unsafe extern "C" {
7059 pub fn BIO_meth_set_puts(
7060 method: *mut BIO_METHOD,
7061 puts: ::core::option::Option<
7062 unsafe extern "C" fn(
7063 arg1: *mut BIO,
7064 arg2: *const ::core::ffi::c_char,
7065 ) -> ::core::ffi::c_int,
7066 >,
7067 ) -> ::core::ffi::c_int;
7068}
7069unsafe extern "C" {
7070 pub fn BIO_meth_get_write(
7071 method: *const BIO_METHOD,
7072 ) -> ::core::option::Option<
7073 unsafe extern "C" fn(
7074 method: *mut BIO,
7075 arg1: *const ::core::ffi::c_char,
7076 arg2: ::core::ffi::c_int,
7077 ) -> ::core::ffi::c_int,
7078 >;
7079}
7080unsafe extern "C" {
7081 pub fn BIO_meth_get_read(
7082 method: *const BIO_METHOD,
7083 ) -> ::core::option::Option<
7084 unsafe extern "C" fn(
7085 method: *mut BIO,
7086 arg1: *mut ::core::ffi::c_char,
7087 arg2: ::core::ffi::c_int,
7088 ) -> ::core::ffi::c_int,
7089 >;
7090}
7091unsafe extern "C" {
7092 pub fn BIO_meth_get_gets(
7093 method: *const BIO_METHOD,
7094 ) -> ::core::option::Option<
7095 unsafe extern "C" fn(
7096 method: *mut BIO,
7097 arg1: *mut ::core::ffi::c_char,
7098 arg2: ::core::ffi::c_int,
7099 ) -> ::core::ffi::c_int,
7100 >;
7101}
7102unsafe extern "C" {
7103 pub fn BIO_meth_get_puts(
7104 method: *const BIO_METHOD,
7105 ) -> ::core::option::Option<
7106 unsafe extern "C" fn(
7107 method: *mut BIO,
7108 arg1: *const ::core::ffi::c_char,
7109 ) -> ::core::ffi::c_int,
7110 >;
7111}
7112unsafe extern "C" {
7113 pub fn BIO_meth_get_ctrl(
7114 method: *const BIO_METHOD,
7115 ) -> ::core::option::Option<
7116 unsafe extern "C" fn(
7117 method: *mut BIO,
7118 arg1: ::core::ffi::c_int,
7119 arg2: ::core::ffi::c_long,
7120 arg3: *mut ::core::ffi::c_void,
7121 ) -> ::core::ffi::c_long,
7122 >;
7123}
7124unsafe extern "C" {
7125 pub fn BIO_meth_get_create(
7126 method: *const BIO_METHOD,
7127 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7128}
7129unsafe extern "C" {
7130 pub fn BIO_meth_get_destroy(
7131 method: *const BIO_METHOD,
7132 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7133}
7134unsafe extern "C" {
7135 pub fn BIO_meth_get_callback_ctrl(
7136 method: *const BIO_METHOD,
7137 ) -> ::core::option::Option<
7138 unsafe extern "C" fn(
7139 method: *mut BIO,
7140 arg1: ::core::ffi::c_int,
7141 arg2: BIO_info_cb,
7142 ) -> ::core::ffi::c_long,
7143 >;
7144}
7145pub type BN_ULONG = u64;
7146unsafe extern "C" {
7147 pub fn BN_new() -> *mut BIGNUM;
7148}
7149unsafe extern "C" {
7150 pub fn BN_init(bn: *mut BIGNUM);
7151}
7152unsafe extern "C" {
7153 pub fn BN_free(bn: *mut BIGNUM);
7154}
7155unsafe extern "C" {
7156 pub fn BN_clear_free(bn: *mut BIGNUM);
7157}
7158unsafe extern "C" {
7159 pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7160}
7161unsafe extern "C" {
7162 pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7163}
7164unsafe extern "C" {
7165 pub fn BN_clear(bn: *mut BIGNUM);
7166}
7167unsafe extern "C" {
7168 pub fn BN_value_one() -> *const BIGNUM;
7169}
7170unsafe extern "C" {
7171 pub fn BN_num_bits(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7172}
7173unsafe extern "C" {
7174 pub fn BN_num_bytes(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7175}
7176unsafe extern "C" {
7177 pub fn BN_zero(bn: *mut BIGNUM);
7178}
7179unsafe extern "C" {
7180 pub fn BN_one(bn: *mut BIGNUM) -> ::core::ffi::c_int;
7181}
7182unsafe extern "C" {
7183 pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::core::ffi::c_int;
7184}
7185unsafe extern "C" {
7186 pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::core::ffi::c_int;
7187}
7188unsafe extern "C" {
7189 pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::core::ffi::c_int);
7190}
7191unsafe extern "C" {
7192 pub fn BN_is_negative(bn: *const BIGNUM) -> ::core::ffi::c_int;
7193}
7194unsafe extern "C" {
7195 pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7196}
7197unsafe extern "C" {
7198 pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7199}
7200unsafe extern "C" {
7201 pub fn BN_lebin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7202}
7203unsafe extern "C" {
7204 pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7205}
7206unsafe extern "C" {
7207 pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7208}
7209unsafe extern "C" {
7210 pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7211}
7212unsafe extern "C" {
7213 pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::core::ffi::c_char;
7214}
7215unsafe extern "C" {
7216 pub fn BN_hex2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7217 -> ::core::ffi::c_int;
7218}
7219unsafe extern "C" {
7220 pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::core::ffi::c_char;
7221}
7222unsafe extern "C" {
7223 pub fn BN_dec2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7224 -> ::core::ffi::c_int;
7225}
7226unsafe extern "C" {
7227 pub fn BN_asc2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7228 -> ::core::ffi::c_int;
7229}
7230unsafe extern "C" {
7231 pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::core::ffi::c_int;
7232}
7233unsafe extern "C" {
7234 pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::core::ffi::c_int;
7235}
7236unsafe extern "C" {
7237 pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7238}
7239unsafe extern "C" {
7240 pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::core::ffi::c_int;
7241}
7242unsafe extern "C" {
7243 pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::core::ffi::c_int;
7244}
7245unsafe extern "C" {
7246 pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::core::ffi::c_int;
7247}
7248unsafe extern "C" {
7249 pub fn BN_CTX_new() -> *mut BN_CTX;
7250}
7251unsafe extern "C" {
7252 pub fn BN_CTX_free(ctx: *mut BN_CTX);
7253}
7254unsafe extern "C" {
7255 pub fn BN_CTX_start(ctx: *mut BN_CTX);
7256}
7257unsafe extern "C" {
7258 pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7259}
7260unsafe extern "C" {
7261 pub fn BN_CTX_end(ctx: *mut BN_CTX);
7262}
7263unsafe extern "C" {
7264 pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7265}
7266unsafe extern "C" {
7267 pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7268}
7269unsafe extern "C" {
7270 pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7271}
7272unsafe extern "C" {
7273 pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7274}
7275unsafe extern "C" {
7276 pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7277}
7278unsafe extern "C" {
7279 pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7280}
7281unsafe extern "C" {
7282 pub fn BN_mul(
7283 r: *mut BIGNUM,
7284 a: *const BIGNUM,
7285 b: *const BIGNUM,
7286 ctx: *mut BN_CTX,
7287 ) -> ::core::ffi::c_int;
7288}
7289unsafe extern "C" {
7290 pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7291}
7292unsafe extern "C" {
7293 pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
7294}
7295unsafe extern "C" {
7296 pub fn BN_div(
7297 quotient: *mut BIGNUM,
7298 rem: *mut BIGNUM,
7299 numerator: *const BIGNUM,
7300 divisor: *const BIGNUM,
7301 ctx: *mut BN_CTX,
7302 ) -> ::core::ffi::c_int;
7303}
7304unsafe extern "C" {
7305 pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7306}
7307unsafe extern "C" {
7308 pub fn BN_sqrt(
7309 out_sqrt: *mut BIGNUM,
7310 in_: *const BIGNUM,
7311 ctx: *mut BN_CTX,
7312 ) -> ::core::ffi::c_int;
7313}
7314unsafe extern "C" {
7315 pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7316}
7317unsafe extern "C" {
7318 pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::core::ffi::c_int;
7319}
7320unsafe extern "C" {
7321 pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7322}
7323unsafe extern "C" {
7324 pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7325}
7326unsafe extern "C" {
7327 pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7328}
7329unsafe extern "C" {
7330 pub fn BN_is_zero(bn: *const BIGNUM) -> ::core::ffi::c_int;
7331}
7332unsafe extern "C" {
7333 pub fn BN_is_one(bn: *const BIGNUM) -> ::core::ffi::c_int;
7334}
7335unsafe extern "C" {
7336 pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7337}
7338unsafe extern "C" {
7339 pub fn BN_is_odd(bn: *const BIGNUM) -> ::core::ffi::c_int;
7340}
7341unsafe extern "C" {
7342 pub fn BN_is_pow2(a: *const BIGNUM) -> ::core::ffi::c_int;
7343}
7344unsafe extern "C" {
7345 pub fn BN_lshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7346 -> ::core::ffi::c_int;
7347}
7348unsafe extern "C" {
7349 pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7350}
7351unsafe extern "C" {
7352 pub fn BN_rshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7353 -> ::core::ffi::c_int;
7354}
7355unsafe extern "C" {
7356 pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7357}
7358unsafe extern "C" {
7359 pub fn BN_set_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7360}
7361unsafe extern "C" {
7362 pub fn BN_clear_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7363}
7364unsafe extern "C" {
7365 pub fn BN_is_bit_set(a: *const BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7366}
7367unsafe extern "C" {
7368 pub fn BN_mask_bits(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7369}
7370unsafe extern "C" {
7371 pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::core::ffi::c_int;
7372}
7373unsafe extern "C" {
7374 pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7375}
7376unsafe extern "C" {
7377 pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7378}
7379unsafe extern "C" {
7380 pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7381}
7382unsafe extern "C" {
7383 pub fn BN_nnmod(
7384 rem: *mut BIGNUM,
7385 numerator: *const BIGNUM,
7386 divisor: *const BIGNUM,
7387 ctx: *mut BN_CTX,
7388 ) -> ::core::ffi::c_int;
7389}
7390unsafe extern "C" {
7391 pub fn BN_mod_add(
7392 r: *mut BIGNUM,
7393 a: *const BIGNUM,
7394 b: *const BIGNUM,
7395 m: *const BIGNUM,
7396 ctx: *mut BN_CTX,
7397 ) -> ::core::ffi::c_int;
7398}
7399unsafe extern "C" {
7400 pub fn BN_mod_add_quick(
7401 r: *mut BIGNUM,
7402 a: *const BIGNUM,
7403 b: *const BIGNUM,
7404 m: *const BIGNUM,
7405 ) -> ::core::ffi::c_int;
7406}
7407unsafe extern "C" {
7408 pub fn BN_mod_sub(
7409 r: *mut BIGNUM,
7410 a: *const BIGNUM,
7411 b: *const BIGNUM,
7412 m: *const BIGNUM,
7413 ctx: *mut BN_CTX,
7414 ) -> ::core::ffi::c_int;
7415}
7416unsafe extern "C" {
7417 pub fn BN_mod_sub_quick(
7418 r: *mut BIGNUM,
7419 a: *const BIGNUM,
7420 b: *const BIGNUM,
7421 m: *const BIGNUM,
7422 ) -> ::core::ffi::c_int;
7423}
7424unsafe extern "C" {
7425 pub fn BN_mod_mul(
7426 r: *mut BIGNUM,
7427 a: *const BIGNUM,
7428 b: *const BIGNUM,
7429 m: *const BIGNUM,
7430 ctx: *mut BN_CTX,
7431 ) -> ::core::ffi::c_int;
7432}
7433unsafe extern "C" {
7434 pub fn BN_mod_sqr(
7435 r: *mut BIGNUM,
7436 a: *const BIGNUM,
7437 m: *const BIGNUM,
7438 ctx: *mut BN_CTX,
7439 ) -> ::core::ffi::c_int;
7440}
7441unsafe extern "C" {
7442 pub fn BN_mod_lshift(
7443 r: *mut BIGNUM,
7444 a: *const BIGNUM,
7445 n: ::core::ffi::c_int,
7446 m: *const BIGNUM,
7447 ctx: *mut BN_CTX,
7448 ) -> ::core::ffi::c_int;
7449}
7450unsafe extern "C" {
7451 pub fn BN_mod_lshift_quick(
7452 r: *mut BIGNUM,
7453 a: *const BIGNUM,
7454 n: ::core::ffi::c_int,
7455 m: *const BIGNUM,
7456 ) -> ::core::ffi::c_int;
7457}
7458unsafe extern "C" {
7459 pub fn BN_mod_lshift1(
7460 r: *mut BIGNUM,
7461 a: *const BIGNUM,
7462 m: *const BIGNUM,
7463 ctx: *mut BN_CTX,
7464 ) -> ::core::ffi::c_int;
7465}
7466unsafe extern "C" {
7467 pub fn BN_mod_lshift1_quick(
7468 r: *mut BIGNUM,
7469 a: *const BIGNUM,
7470 m: *const BIGNUM,
7471 ) -> ::core::ffi::c_int;
7472}
7473unsafe extern "C" {
7474 pub fn BN_mod_sqrt(
7475 in_: *mut BIGNUM,
7476 a: *const BIGNUM,
7477 p: *const BIGNUM,
7478 ctx: *mut BN_CTX,
7479 ) -> *mut BIGNUM;
7480}
7481unsafe extern "C" {
7482 pub fn BN_rand(
7483 rnd: *mut BIGNUM,
7484 bits: ::core::ffi::c_int,
7485 top: ::core::ffi::c_int,
7486 bottom: ::core::ffi::c_int,
7487 ) -> ::core::ffi::c_int;
7488}
7489unsafe extern "C" {
7490 pub fn BN_pseudo_rand(
7491 rnd: *mut BIGNUM,
7492 bits: ::core::ffi::c_int,
7493 top: ::core::ffi::c_int,
7494 bottom: ::core::ffi::c_int,
7495 ) -> ::core::ffi::c_int;
7496}
7497unsafe extern "C" {
7498 pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7499}
7500unsafe extern "C" {
7501 pub fn BN_rand_range_ex(
7502 r: *mut BIGNUM,
7503 min_inclusive: BN_ULONG,
7504 max_exclusive: *const BIGNUM,
7505 ) -> ::core::ffi::c_int;
7506}
7507unsafe extern "C" {
7508 pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7509}
7510#[repr(C)]
7511#[derive(Debug, Copy, Clone)]
7512pub struct bn_gencb_st {
7513 pub arg: *mut ::core::ffi::c_void,
7514 pub callback: ::core::option::Option<
7515 unsafe extern "C" fn(
7516 event: ::core::ffi::c_int,
7517 n: ::core::ffi::c_int,
7518 arg1: *mut bn_gencb_st,
7519 ) -> ::core::ffi::c_int,
7520 >,
7521}
7522unsafe extern "C" {
7523 pub fn BN_GENCB_new() -> *mut BN_GENCB;
7524}
7525unsafe extern "C" {
7526 pub fn BN_GENCB_free(callback: *mut BN_GENCB);
7527}
7528unsafe extern "C" {
7529 pub fn BN_GENCB_set(
7530 callback: *mut BN_GENCB,
7531 f: ::core::option::Option<
7532 unsafe extern "C" fn(
7533 event: ::core::ffi::c_int,
7534 n: ::core::ffi::c_int,
7535 arg1: *mut BN_GENCB,
7536 ) -> ::core::ffi::c_int,
7537 >,
7538 arg: *mut ::core::ffi::c_void,
7539 );
7540}
7541unsafe extern "C" {
7542 pub fn BN_GENCB_call(
7543 callback: *mut BN_GENCB,
7544 event: ::core::ffi::c_int,
7545 n: ::core::ffi::c_int,
7546 ) -> ::core::ffi::c_int;
7547}
7548unsafe extern "C" {
7549 pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::core::ffi::c_void;
7550}
7551unsafe extern "C" {
7552 pub fn BN_generate_prime_ex(
7553 ret: *mut BIGNUM,
7554 bits: ::core::ffi::c_int,
7555 safe: ::core::ffi::c_int,
7556 add: *const BIGNUM,
7557 rem: *const BIGNUM,
7558 cb: *mut BN_GENCB,
7559 ) -> ::core::ffi::c_int;
7560}
7561pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
7562pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
7563pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
7564pub type bn_primality_result_t = ::core::ffi::c_uint;
7565unsafe extern "C" {
7566 pub fn BN_enhanced_miller_rabin_primality_test(
7567 out_result: *mut bn_primality_result_t,
7568 w: *const BIGNUM,
7569 checks: ::core::ffi::c_int,
7570 ctx: *mut BN_CTX,
7571 cb: *mut BN_GENCB,
7572 ) -> ::core::ffi::c_int;
7573}
7574unsafe extern "C" {
7575 pub fn BN_primality_test(
7576 is_probably_prime: *mut ::core::ffi::c_int,
7577 candidate: *const BIGNUM,
7578 checks: ::core::ffi::c_int,
7579 ctx: *mut BN_CTX,
7580 do_trial_division: ::core::ffi::c_int,
7581 cb: *mut BN_GENCB,
7582 ) -> ::core::ffi::c_int;
7583}
7584unsafe extern "C" {
7585 pub fn BN_is_prime_fasttest_ex(
7586 candidate: *const BIGNUM,
7587 checks: ::core::ffi::c_int,
7588 ctx: *mut BN_CTX,
7589 do_trial_division: ::core::ffi::c_int,
7590 cb: *mut BN_GENCB,
7591 ) -> ::core::ffi::c_int;
7592}
7593unsafe extern "C" {
7594 pub fn BN_is_prime_ex(
7595 candidate: *const BIGNUM,
7596 checks: ::core::ffi::c_int,
7597 ctx: *mut BN_CTX,
7598 cb: *mut BN_GENCB,
7599 ) -> ::core::ffi::c_int;
7600}
7601unsafe extern "C" {
7602 pub fn BN_gcd(
7603 r: *mut BIGNUM,
7604 a: *const BIGNUM,
7605 b: *const BIGNUM,
7606 ctx: *mut BN_CTX,
7607 ) -> ::core::ffi::c_int;
7608}
7609unsafe extern "C" {
7610 pub fn BN_mod_inverse(
7611 out: *mut BIGNUM,
7612 a: *const BIGNUM,
7613 n: *const BIGNUM,
7614 ctx: *mut BN_CTX,
7615 ) -> *mut BIGNUM;
7616}
7617unsafe extern "C" {
7618 pub fn BN_mod_inverse_blinded(
7619 out: *mut BIGNUM,
7620 out_no_inverse: *mut ::core::ffi::c_int,
7621 a: *const BIGNUM,
7622 mont: *const BN_MONT_CTX,
7623 ctx: *mut BN_CTX,
7624 ) -> ::core::ffi::c_int;
7625}
7626unsafe extern "C" {
7627 pub fn BN_mod_inverse_odd(
7628 out: *mut BIGNUM,
7629 out_no_inverse: *mut ::core::ffi::c_int,
7630 a: *const BIGNUM,
7631 n: *const BIGNUM,
7632 ctx: *mut BN_CTX,
7633 ) -> ::core::ffi::c_int;
7634}
7635unsafe extern "C" {
7636 pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7637}
7638unsafe extern "C" {
7639 pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7640}
7641unsafe extern "C" {
7642 pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
7643}
7644unsafe extern "C" {
7645 pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
7646}
7647unsafe extern "C" {
7648 pub fn BN_to_montgomery(
7649 ret: *mut BIGNUM,
7650 a: *const BIGNUM,
7651 mont: *const BN_MONT_CTX,
7652 ctx: *mut BN_CTX,
7653 ) -> ::core::ffi::c_int;
7654}
7655unsafe extern "C" {
7656 pub fn BN_from_montgomery(
7657 ret: *mut BIGNUM,
7658 a: *const BIGNUM,
7659 mont: *const BN_MONT_CTX,
7660 ctx: *mut BN_CTX,
7661 ) -> ::core::ffi::c_int;
7662}
7663unsafe extern "C" {
7664 pub fn BN_mod_mul_montgomery(
7665 r: *mut BIGNUM,
7666 a: *const BIGNUM,
7667 b: *const BIGNUM,
7668 mont: *const BN_MONT_CTX,
7669 ctx: *mut BN_CTX,
7670 ) -> ::core::ffi::c_int;
7671}
7672unsafe extern "C" {
7673 pub fn BN_exp(
7674 r: *mut BIGNUM,
7675 a: *const BIGNUM,
7676 p: *const BIGNUM,
7677 ctx: *mut BN_CTX,
7678 ) -> ::core::ffi::c_int;
7679}
7680unsafe extern "C" {
7681 pub fn BN_mod_exp(
7682 r: *mut BIGNUM,
7683 a: *const BIGNUM,
7684 p: *const BIGNUM,
7685 m: *const BIGNUM,
7686 ctx: *mut BN_CTX,
7687 ) -> ::core::ffi::c_int;
7688}
7689unsafe extern "C" {
7690 pub fn BN_mod_exp_mont(
7691 r: *mut BIGNUM,
7692 a: *const BIGNUM,
7693 p: *const BIGNUM,
7694 m: *const BIGNUM,
7695 ctx: *mut BN_CTX,
7696 mont: *const BN_MONT_CTX,
7697 ) -> ::core::ffi::c_int;
7698}
7699unsafe extern "C" {
7700 pub fn BN_mod_exp_mont_consttime(
7701 rr: *mut BIGNUM,
7702 a: *const BIGNUM,
7703 p: *const BIGNUM,
7704 m: *const BIGNUM,
7705 ctx: *mut BN_CTX,
7706 mont: *const BN_MONT_CTX,
7707 ) -> ::core::ffi::c_int;
7708}
7709unsafe extern "C" {
7710 pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
7711}
7712unsafe extern "C" {
7713 pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
7714}
7715unsafe extern "C" {
7716 pub fn BN_mod_exp_mont_word(
7717 r: *mut BIGNUM,
7718 a: BN_ULONG,
7719 p: *const BIGNUM,
7720 m: *const BIGNUM,
7721 ctx: *mut BN_CTX,
7722 mont: *const BN_MONT_CTX,
7723 ) -> ::core::ffi::c_int;
7724}
7725unsafe extern "C" {
7726 pub fn BN_mod_exp2_mont(
7727 r: *mut BIGNUM,
7728 a1: *const BIGNUM,
7729 p1: *const BIGNUM,
7730 a2: *const BIGNUM,
7731 p2: *const BIGNUM,
7732 m: *const BIGNUM,
7733 ctx: *mut BN_CTX,
7734 mont: *const BN_MONT_CTX,
7735 ) -> ::core::ffi::c_int;
7736}
7737unsafe extern "C" {
7738 pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
7739}
7740unsafe extern "C" {
7741 pub fn BN_MONT_CTX_set(
7742 mont: *mut BN_MONT_CTX,
7743 mod_: *const BIGNUM,
7744 ctx: *mut BN_CTX,
7745 ) -> ::core::ffi::c_int;
7746}
7747unsafe extern "C" {
7748 pub fn BN_bn2binpad(
7749 in_: *const BIGNUM,
7750 out: *mut u8,
7751 len: ::core::ffi::c_int,
7752 ) -> ::core::ffi::c_int;
7753}
7754unsafe extern "C" {
7755 pub fn BN_bn2lebinpad(
7756 in_: *const BIGNUM,
7757 out: *mut u8,
7758 len: ::core::ffi::c_int,
7759 ) -> ::core::ffi::c_int;
7760}
7761unsafe extern "C" {
7762 pub fn BN_secure_new() -> *mut BIGNUM;
7763}
7764unsafe extern "C" {
7765 pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7766}
7767#[repr(C)]
7768#[derive(Debug, Copy, Clone)]
7769pub struct bignum_st {
7770 pub d: *mut BN_ULONG,
7771 pub width: ::core::ffi::c_int,
7772 pub dmax: ::core::ffi::c_int,
7773 pub neg: ::core::ffi::c_int,
7774 pub flags: ::core::ffi::c_int,
7775}
7776unsafe extern "C" {
7777 pub fn BN_num_bits_word(l: BN_ULONG) -> ::core::ffi::c_uint;
7778}
7779unsafe extern "C" {
7780 pub fn ASN1_tag2bit(tag: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
7781}
7782unsafe extern "C" {
7783 pub fn ASN1_tag2str(tag: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
7784}
7785pub type d2i_of_void = ::core::option::Option<
7786 unsafe extern "C" fn(
7787 arg1: *mut *mut ::core::ffi::c_void,
7788 arg2: *mut *const ::core::ffi::c_uchar,
7789 arg3: ::core::ffi::c_long,
7790 ) -> *mut ::core::ffi::c_void,
7791>;
7792pub type i2d_of_void = ::core::option::Option<
7793 unsafe extern "C" fn(
7794 arg1: *const ::core::ffi::c_void,
7795 arg2: *mut *mut ::core::ffi::c_uchar,
7796 ) -> ::core::ffi::c_int,
7797>;
7798pub type ASN1_ITEM_EXP = ASN1_ITEM;
7799#[repr(C)]
7800#[derive(Debug)]
7801pub struct ASN1_VALUE_st {
7802 _unused: [u8; 0],
7803}
7804pub type ASN1_VALUE = ASN1_VALUE_st;
7805unsafe extern "C" {
7806 pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
7807}
7808unsafe extern "C" {
7809 pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
7810}
7811unsafe extern "C" {
7812 pub fn ASN1_item_d2i(
7813 out: *mut *mut ASN1_VALUE,
7814 inp: *mut *const ::core::ffi::c_uchar,
7815 len: ::core::ffi::c_long,
7816 it: *const ASN1_ITEM,
7817 ) -> *mut ASN1_VALUE;
7818}
7819unsafe extern "C" {
7820 pub fn ASN1_item_i2d(
7821 val: *mut ASN1_VALUE,
7822 outp: *mut *mut ::core::ffi::c_uchar,
7823 it: *const ASN1_ITEM,
7824 ) -> ::core::ffi::c_int;
7825}
7826unsafe extern "C" {
7827 pub fn ASN1_item_dup(
7828 it: *const ASN1_ITEM,
7829 x: *mut ::core::ffi::c_void,
7830 ) -> *mut ::core::ffi::c_void;
7831}
7832unsafe extern "C" {
7833 pub fn ASN1_item_d2i_fp(
7834 it: *const ASN1_ITEM,
7835 in_: *mut FILE,
7836 out: *mut ::core::ffi::c_void,
7837 ) -> *mut ::core::ffi::c_void;
7838}
7839unsafe extern "C" {
7840 pub fn ASN1_item_d2i_bio(
7841 it: *const ASN1_ITEM,
7842 in_: *mut BIO,
7843 out: *mut ::core::ffi::c_void,
7844 ) -> *mut ::core::ffi::c_void;
7845}
7846unsafe extern "C" {
7847 pub fn ASN1_item_i2d_fp(
7848 it: *const ASN1_ITEM,
7849 out: *mut FILE,
7850 in_: *const ::core::ffi::c_void,
7851 ) -> ::core::ffi::c_int;
7852}
7853unsafe extern "C" {
7854 pub fn ASN1_item_i2d_bio(
7855 it: *const ASN1_ITEM,
7856 out: *mut BIO,
7857 in_: *const ::core::ffi::c_void,
7858 ) -> ::core::ffi::c_int;
7859}
7860unsafe extern "C" {
7861 pub fn ASN1_item_unpack(
7862 oct: *const ASN1_STRING,
7863 it: *const ASN1_ITEM,
7864 ) -> *mut ::core::ffi::c_void;
7865}
7866unsafe extern "C" {
7867 pub fn ASN1_item_pack(
7868 obj: *mut ::core::ffi::c_void,
7869 it: *const ASN1_ITEM,
7870 out: *mut *mut ASN1_STRING,
7871 ) -> *mut ASN1_STRING;
7872}
7873unsafe extern "C" {
7874 pub fn d2i_ASN1_BOOLEAN(
7875 out: *mut ASN1_BOOLEAN,
7876 inp: *mut *const ::core::ffi::c_uchar,
7877 len: ::core::ffi::c_long,
7878 ) -> ASN1_BOOLEAN;
7879}
7880unsafe extern "C" {
7881 pub fn i2d_ASN1_BOOLEAN(
7882 a: ASN1_BOOLEAN,
7883 outp: *mut *mut ::core::ffi::c_uchar,
7884 ) -> ::core::ffi::c_int;
7885}
7886unsafe extern "C" {
7887 pub static ASN1_BOOLEAN_it: ASN1_ITEM;
7888}
7889unsafe extern "C" {
7890 pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
7891}
7892unsafe extern "C" {
7893 pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
7894}
7895#[repr(C)]
7896#[derive(Debug, Copy, Clone)]
7897pub struct asn1_string_st {
7898 pub length: ::core::ffi::c_int,
7899 pub type_: ::core::ffi::c_int,
7900 pub data: *mut ::core::ffi::c_uchar,
7901 pub flags: ::core::ffi::c_long,
7902}
7903unsafe extern "C" {
7904 pub fn ASN1_STRING_type_new(type_: ::core::ffi::c_int) -> *mut ASN1_STRING;
7905}
7906unsafe extern "C" {
7907 pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
7908}
7909unsafe extern "C" {
7910 pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
7911}
7912unsafe extern "C" {
7913 pub fn ASN1_STRING_copy(dst: *mut ASN1_STRING, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7914}
7915unsafe extern "C" {
7916 pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
7917}
7918unsafe extern "C" {
7919 pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7920}
7921unsafe extern "C" {
7922 pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::core::ffi::c_uchar;
7923}
7924unsafe extern "C" {
7925 pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::core::ffi::c_uchar;
7926}
7927unsafe extern "C" {
7928 pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7929}
7930unsafe extern "C" {
7931 pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::core::ffi::c_int;
7932}
7933unsafe extern "C" {
7934 pub fn ASN1_STRING_set(
7935 str_: *mut ASN1_STRING,
7936 data: *const ::core::ffi::c_void,
7937 len: ossl_ssize_t,
7938 ) -> ::core::ffi::c_int;
7939}
7940unsafe extern "C" {
7941 pub fn ASN1_STRING_set0(
7942 str_: *mut ASN1_STRING,
7943 data: *mut ::core::ffi::c_void,
7944 len: ::core::ffi::c_int,
7945 );
7946}
7947unsafe extern "C" {
7948 pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
7949}
7950unsafe extern "C" {
7951 pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
7952}
7953unsafe extern "C" {
7954 pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
7955}
7956unsafe extern "C" {
7957 pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
7958}
7959unsafe extern "C" {
7960 pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
7961}
7962unsafe extern "C" {
7963 pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
7964}
7965unsafe extern "C" {
7966 pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
7967}
7968unsafe extern "C" {
7969 pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
7970}
7971unsafe extern "C" {
7972 pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
7973}
7974unsafe extern "C" {
7975 pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
7976}
7977unsafe extern "C" {
7978 pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
7979}
7980unsafe extern "C" {
7981 pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
7982}
7983unsafe extern "C" {
7984 pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
7985}
7986unsafe extern "C" {
7987 pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
7988}
7989unsafe extern "C" {
7990 pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
7991}
7992unsafe extern "C" {
7993 pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
7994}
7995unsafe extern "C" {
7996 pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
7997}
7998unsafe extern "C" {
7999 pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8000}
8001unsafe extern "C" {
8002 pub fn d2i_ASN1_BMPSTRING(
8003 out: *mut *mut ASN1_BMPSTRING,
8004 inp: *mut *const u8,
8005 len: ::core::ffi::c_long,
8006 ) -> *mut ASN1_BMPSTRING;
8007}
8008unsafe extern "C" {
8009 pub fn d2i_ASN1_GENERALSTRING(
8010 out: *mut *mut ASN1_GENERALSTRING,
8011 inp: *mut *const u8,
8012 len: ::core::ffi::c_long,
8013 ) -> *mut ASN1_GENERALSTRING;
8014}
8015unsafe extern "C" {
8016 pub fn d2i_ASN1_IA5STRING(
8017 out: *mut *mut ASN1_IA5STRING,
8018 inp: *mut *const u8,
8019 len: ::core::ffi::c_long,
8020 ) -> *mut ASN1_IA5STRING;
8021}
8022unsafe extern "C" {
8023 pub fn d2i_ASN1_OCTET_STRING(
8024 out: *mut *mut ASN1_OCTET_STRING,
8025 inp: *mut *const u8,
8026 len: ::core::ffi::c_long,
8027 ) -> *mut ASN1_OCTET_STRING;
8028}
8029unsafe extern "C" {
8030 pub fn d2i_ASN1_PRINTABLESTRING(
8031 out: *mut *mut ASN1_PRINTABLESTRING,
8032 inp: *mut *const u8,
8033 len: ::core::ffi::c_long,
8034 ) -> *mut ASN1_PRINTABLESTRING;
8035}
8036unsafe extern "C" {
8037 pub fn d2i_ASN1_T61STRING(
8038 out: *mut *mut ASN1_T61STRING,
8039 inp: *mut *const u8,
8040 len: ::core::ffi::c_long,
8041 ) -> *mut ASN1_T61STRING;
8042}
8043unsafe extern "C" {
8044 pub fn d2i_ASN1_UNIVERSALSTRING(
8045 out: *mut *mut ASN1_UNIVERSALSTRING,
8046 inp: *mut *const u8,
8047 len: ::core::ffi::c_long,
8048 ) -> *mut ASN1_UNIVERSALSTRING;
8049}
8050unsafe extern "C" {
8051 pub fn d2i_ASN1_UTF8STRING(
8052 out: *mut *mut ASN1_UTF8STRING,
8053 inp: *mut *const u8,
8054 len: ::core::ffi::c_long,
8055 ) -> *mut ASN1_UTF8STRING;
8056}
8057unsafe extern "C" {
8058 pub fn d2i_ASN1_VISIBLESTRING(
8059 out: *mut *mut ASN1_VISIBLESTRING,
8060 inp: *mut *const u8,
8061 len: ::core::ffi::c_long,
8062 ) -> *mut ASN1_VISIBLESTRING;
8063}
8064unsafe extern "C" {
8065 pub fn i2d_ASN1_BMPSTRING(in_: *const ASN1_BMPSTRING, outp: *mut *mut u8)
8066 -> ::core::ffi::c_int;
8067}
8068unsafe extern "C" {
8069 pub fn i2d_ASN1_GENERALSTRING(
8070 in_: *const ASN1_GENERALSTRING,
8071 outp: *mut *mut u8,
8072 ) -> ::core::ffi::c_int;
8073}
8074unsafe extern "C" {
8075 pub fn i2d_ASN1_IA5STRING(in_: *const ASN1_IA5STRING, outp: *mut *mut u8)
8076 -> ::core::ffi::c_int;
8077}
8078unsafe extern "C" {
8079 pub fn i2d_ASN1_OCTET_STRING(
8080 in_: *const ASN1_OCTET_STRING,
8081 outp: *mut *mut u8,
8082 ) -> ::core::ffi::c_int;
8083}
8084unsafe extern "C" {
8085 pub fn i2d_ASN1_PRINTABLESTRING(
8086 in_: *const ASN1_PRINTABLESTRING,
8087 outp: *mut *mut u8,
8088 ) -> ::core::ffi::c_int;
8089}
8090unsafe extern "C" {
8091 pub fn i2d_ASN1_T61STRING(in_: *const ASN1_T61STRING, outp: *mut *mut u8)
8092 -> ::core::ffi::c_int;
8093}
8094unsafe extern "C" {
8095 pub fn i2d_ASN1_UNIVERSALSTRING(
8096 in_: *const ASN1_UNIVERSALSTRING,
8097 outp: *mut *mut u8,
8098 ) -> ::core::ffi::c_int;
8099}
8100unsafe extern "C" {
8101 pub fn i2d_ASN1_UTF8STRING(
8102 in_: *const ASN1_UTF8STRING,
8103 outp: *mut *mut u8,
8104 ) -> ::core::ffi::c_int;
8105}
8106unsafe extern "C" {
8107 pub fn i2d_ASN1_VISIBLESTRING(
8108 in_: *const ASN1_VISIBLESTRING,
8109 outp: *mut *mut u8,
8110 ) -> ::core::ffi::c_int;
8111}
8112unsafe extern "C" {
8113 pub static ASN1_BMPSTRING_it: ASN1_ITEM;
8114}
8115unsafe extern "C" {
8116 pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
8117}
8118unsafe extern "C" {
8119 pub static ASN1_IA5STRING_it: ASN1_ITEM;
8120}
8121unsafe extern "C" {
8122 pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
8123}
8124unsafe extern "C" {
8125 pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
8126}
8127unsafe extern "C" {
8128 pub static ASN1_T61STRING_it: ASN1_ITEM;
8129}
8130unsafe extern "C" {
8131 pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
8132}
8133unsafe extern "C" {
8134 pub static ASN1_UTF8STRING_it: ASN1_ITEM;
8135}
8136unsafe extern "C" {
8137 pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
8138}
8139unsafe extern "C" {
8140 pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
8141}
8142unsafe extern "C" {
8143 pub fn ASN1_OCTET_STRING_cmp(
8144 a: *const ASN1_OCTET_STRING,
8145 b: *const ASN1_OCTET_STRING,
8146 ) -> ::core::ffi::c_int;
8147}
8148unsafe extern "C" {
8149 pub fn ASN1_OCTET_STRING_set(
8150 str_: *mut ASN1_OCTET_STRING,
8151 data: *const ::core::ffi::c_uchar,
8152 len: ::core::ffi::c_int,
8153 ) -> ::core::ffi::c_int;
8154}
8155unsafe extern "C" {
8156 pub fn ASN1_STRING_to_UTF8(
8157 out: *mut *mut ::core::ffi::c_uchar,
8158 in_: *const ASN1_STRING,
8159 ) -> ::core::ffi::c_int;
8160}
8161unsafe extern "C" {
8162 pub fn ASN1_mbstring_copy(
8163 out: *mut *mut ASN1_STRING,
8164 in_: *const u8,
8165 len: ossl_ssize_t,
8166 inform: ::core::ffi::c_int,
8167 mask: ::core::ffi::c_ulong,
8168 ) -> ::core::ffi::c_int;
8169}
8170unsafe extern "C" {
8171 pub fn ASN1_mbstring_ncopy(
8172 out: *mut *mut ASN1_STRING,
8173 in_: *const u8,
8174 len: ossl_ssize_t,
8175 inform: ::core::ffi::c_int,
8176 mask: ::core::ffi::c_ulong,
8177 minsize: ossl_ssize_t,
8178 maxsize: ossl_ssize_t,
8179 ) -> ::core::ffi::c_int;
8180}
8181unsafe extern "C" {
8182 pub fn ASN1_STRING_set_by_NID(
8183 out: *mut *mut ASN1_STRING,
8184 in_: *const ::core::ffi::c_uchar,
8185 len: ossl_ssize_t,
8186 inform: ::core::ffi::c_int,
8187 nid: ::core::ffi::c_int,
8188 ) -> *mut ASN1_STRING;
8189}
8190unsafe extern "C" {
8191 pub fn ASN1_STRING_TABLE_add(
8192 nid: ::core::ffi::c_int,
8193 minsize: ::core::ffi::c_long,
8194 maxsize: ::core::ffi::c_long,
8195 mask: ::core::ffi::c_ulong,
8196 flags: ::core::ffi::c_ulong,
8197 ) -> ::core::ffi::c_int;
8198}
8199unsafe extern "C" {
8200 pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
8201}
8202unsafe extern "C" {
8203 pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
8204}
8205unsafe extern "C" {
8206 pub fn d2i_DIRECTORYSTRING(
8207 out: *mut *mut ASN1_STRING,
8208 inp: *mut *const u8,
8209 len: ::core::ffi::c_long,
8210 ) -> *mut ASN1_STRING;
8211}
8212unsafe extern "C" {
8213 pub fn i2d_DIRECTORYSTRING(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8214}
8215unsafe extern "C" {
8216 pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
8217}
8218unsafe extern "C" {
8219 pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
8220}
8221unsafe extern "C" {
8222 pub fn d2i_DISPLAYTEXT(
8223 out: *mut *mut ASN1_STRING,
8224 inp: *mut *const u8,
8225 len: ::core::ffi::c_long,
8226 ) -> *mut ASN1_STRING;
8227}
8228unsafe extern "C" {
8229 pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8230}
8231unsafe extern "C" {
8232 pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
8233}
8234unsafe extern "C" {
8235 pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
8236}
8237unsafe extern "C" {
8238 pub fn d2i_ASN1_BIT_STRING(
8239 out: *mut *mut ASN1_BIT_STRING,
8240 inp: *mut *const u8,
8241 len: ::core::ffi::c_long,
8242 ) -> *mut ASN1_BIT_STRING;
8243}
8244unsafe extern "C" {
8245 pub fn i2d_ASN1_BIT_STRING(
8246 in_: *const ASN1_BIT_STRING,
8247 outp: *mut *mut u8,
8248 ) -> ::core::ffi::c_int;
8249}
8250unsafe extern "C" {
8251 pub fn c2i_ASN1_BIT_STRING(
8252 out: *mut *mut ASN1_BIT_STRING,
8253 inp: *mut *const u8,
8254 len: ::core::ffi::c_long,
8255 ) -> *mut ASN1_BIT_STRING;
8256}
8257unsafe extern "C" {
8258 pub fn i2c_ASN1_BIT_STRING(
8259 in_: *const ASN1_BIT_STRING,
8260 outp: *mut *mut u8,
8261 ) -> ::core::ffi::c_int;
8262}
8263unsafe extern "C" {
8264 pub static ASN1_BIT_STRING_it: ASN1_ITEM;
8265}
8266unsafe extern "C" {
8267 pub fn ASN1_BIT_STRING_unused_bits(str_: *const ASN1_BIT_STRING) -> u8;
8268}
8269unsafe extern "C" {
8270 pub fn ASN1_BIT_STRING_set(
8271 str_: *mut ASN1_BIT_STRING,
8272 data: *const u8,
8273 length: ossl_ssize_t,
8274 ) -> ::core::ffi::c_int;
8275}
8276unsafe extern "C" {
8277 pub fn ASN1_BIT_STRING_set1(
8278 str_: *mut ASN1_BIT_STRING,
8279 data: *const u8,
8280 length: usize,
8281 unused_bits: ::core::ffi::c_int,
8282 ) -> ::core::ffi::c_int;
8283}
8284unsafe extern "C" {
8285 pub fn ASN1_BIT_STRING_set_bit(
8286 str_: *mut ASN1_BIT_STRING,
8287 n: ::core::ffi::c_int,
8288 value: ::core::ffi::c_int,
8289 ) -> ::core::ffi::c_int;
8290}
8291unsafe extern "C" {
8292 pub fn ASN1_BIT_STRING_get_bit(
8293 str_: *const ASN1_BIT_STRING,
8294 n: ::core::ffi::c_int,
8295 ) -> ::core::ffi::c_int;
8296}
8297unsafe extern "C" {
8298 pub fn ASN1_BIT_STRING_check(
8299 str_: *const ASN1_BIT_STRING,
8300 flags: *const ::core::ffi::c_uchar,
8301 flags_len: ::core::ffi::c_int,
8302 ) -> ::core::ffi::c_int;
8303}
8304#[repr(C)]
8305#[derive(Debug)]
8306pub struct stack_st_ASN1_INTEGER {
8307 _unused: [u8; 0],
8308}
8309pub type sk_ASN1_INTEGER_free_func =
8310 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
8311pub type sk_ASN1_INTEGER_copy_func =
8312 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
8313pub type sk_ASN1_INTEGER_cmp_func = ::core::option::Option<
8314 unsafe extern "C" fn(
8315 arg1: *const *const ASN1_INTEGER,
8316 arg2: *const *const ASN1_INTEGER,
8317 ) -> ::core::ffi::c_int,
8318>;
8319pub type sk_ASN1_INTEGER_delete_if_func = ::core::option::Option<
8320 unsafe extern "C" fn(
8321 arg1: *mut ASN1_INTEGER,
8322 arg2: *mut ::core::ffi::c_void,
8323 ) -> ::core::ffi::c_int,
8324>;
8325unsafe extern "C" {
8326 #[link_name = "sk_ASN1_INTEGER_call_free_func__extern"]
8327 pub fn sk_ASN1_INTEGER_call_free_func(
8328 free_func: OPENSSL_sk_free_func,
8329 ptr: *mut ::core::ffi::c_void,
8330 );
8331}
8332unsafe extern "C" {
8333 #[link_name = "sk_ASN1_INTEGER_call_copy_func__extern"]
8334 pub fn sk_ASN1_INTEGER_call_copy_func(
8335 copy_func: OPENSSL_sk_copy_func,
8336 ptr: *const ::core::ffi::c_void,
8337 ) -> *mut ::core::ffi::c_void;
8338}
8339unsafe extern "C" {
8340 #[link_name = "sk_ASN1_INTEGER_call_cmp_func__extern"]
8341 pub fn sk_ASN1_INTEGER_call_cmp_func(
8342 cmp_func: OPENSSL_sk_cmp_func,
8343 a: *const ::core::ffi::c_void,
8344 b: *const ::core::ffi::c_void,
8345 ) -> ::core::ffi::c_int;
8346}
8347unsafe extern "C" {
8348 #[link_name = "sk_ASN1_INTEGER_call_delete_if_func__extern"]
8349 pub fn sk_ASN1_INTEGER_call_delete_if_func(
8350 func: OPENSSL_sk_delete_if_func,
8351 obj: *mut ::core::ffi::c_void,
8352 data: *mut ::core::ffi::c_void,
8353 ) -> ::core::ffi::c_int;
8354}
8355unsafe extern "C" {
8356 #[link_name = "sk_ASN1_INTEGER_new__extern"]
8357 pub fn sk_ASN1_INTEGER_new(comp: sk_ASN1_INTEGER_cmp_func) -> *mut stack_st_ASN1_INTEGER;
8358}
8359unsafe extern "C" {
8360 #[link_name = "sk_ASN1_INTEGER_new_null__extern"]
8361 pub fn sk_ASN1_INTEGER_new_null() -> *mut stack_st_ASN1_INTEGER;
8362}
8363unsafe extern "C" {
8364 #[link_name = "sk_ASN1_INTEGER_num__extern"]
8365 pub fn sk_ASN1_INTEGER_num(sk: *const stack_st_ASN1_INTEGER) -> usize;
8366}
8367unsafe extern "C" {
8368 #[link_name = "sk_ASN1_INTEGER_zero__extern"]
8369 pub fn sk_ASN1_INTEGER_zero(sk: *mut stack_st_ASN1_INTEGER);
8370}
8371unsafe extern "C" {
8372 #[link_name = "sk_ASN1_INTEGER_value__extern"]
8373 pub fn sk_ASN1_INTEGER_value(sk: *const stack_st_ASN1_INTEGER, i: usize) -> *mut ASN1_INTEGER;
8374}
8375unsafe extern "C" {
8376 #[link_name = "sk_ASN1_INTEGER_set__extern"]
8377 pub fn sk_ASN1_INTEGER_set(
8378 sk: *mut stack_st_ASN1_INTEGER,
8379 i: usize,
8380 p: *mut ASN1_INTEGER,
8381 ) -> *mut ASN1_INTEGER;
8382}
8383unsafe extern "C" {
8384 #[link_name = "sk_ASN1_INTEGER_free__extern"]
8385 pub fn sk_ASN1_INTEGER_free(sk: *mut stack_st_ASN1_INTEGER);
8386}
8387unsafe extern "C" {
8388 #[link_name = "sk_ASN1_INTEGER_pop_free__extern"]
8389 pub fn sk_ASN1_INTEGER_pop_free(
8390 sk: *mut stack_st_ASN1_INTEGER,
8391 free_func: sk_ASN1_INTEGER_free_func,
8392 );
8393}
8394unsafe extern "C" {
8395 #[link_name = "sk_ASN1_INTEGER_insert__extern"]
8396 pub fn sk_ASN1_INTEGER_insert(
8397 sk: *mut stack_st_ASN1_INTEGER,
8398 p: *mut ASN1_INTEGER,
8399 where_: usize,
8400 ) -> usize;
8401}
8402unsafe extern "C" {
8403 #[link_name = "sk_ASN1_INTEGER_delete__extern"]
8404 pub fn sk_ASN1_INTEGER_delete(
8405 sk: *mut stack_st_ASN1_INTEGER,
8406 where_: usize,
8407 ) -> *mut ASN1_INTEGER;
8408}
8409unsafe extern "C" {
8410 #[link_name = "sk_ASN1_INTEGER_delete_ptr__extern"]
8411 pub fn sk_ASN1_INTEGER_delete_ptr(
8412 sk: *mut stack_st_ASN1_INTEGER,
8413 p: *const ASN1_INTEGER,
8414 ) -> *mut ASN1_INTEGER;
8415}
8416unsafe extern "C" {
8417 #[link_name = "sk_ASN1_INTEGER_delete_if__extern"]
8418 pub fn sk_ASN1_INTEGER_delete_if(
8419 sk: *mut stack_st_ASN1_INTEGER,
8420 func: sk_ASN1_INTEGER_delete_if_func,
8421 data: *mut ::core::ffi::c_void,
8422 );
8423}
8424unsafe extern "C" {
8425 #[link_name = "sk_ASN1_INTEGER_find__extern"]
8426 pub fn sk_ASN1_INTEGER_find(
8427 sk: *const stack_st_ASN1_INTEGER,
8428 out_index: *mut usize,
8429 p: *const ASN1_INTEGER,
8430 ) -> ::core::ffi::c_int;
8431}
8432unsafe extern "C" {
8433 #[link_name = "sk_ASN1_INTEGER_shift__extern"]
8434 pub fn sk_ASN1_INTEGER_shift(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8435}
8436unsafe extern "C" {
8437 #[link_name = "sk_ASN1_INTEGER_push__extern"]
8438 pub fn sk_ASN1_INTEGER_push(sk: *mut stack_st_ASN1_INTEGER, p: *mut ASN1_INTEGER) -> usize;
8439}
8440unsafe extern "C" {
8441 #[link_name = "sk_ASN1_INTEGER_pop__extern"]
8442 pub fn sk_ASN1_INTEGER_pop(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8443}
8444unsafe extern "C" {
8445 #[link_name = "sk_ASN1_INTEGER_dup__extern"]
8446 pub fn sk_ASN1_INTEGER_dup(sk: *const stack_st_ASN1_INTEGER) -> *mut stack_st_ASN1_INTEGER;
8447}
8448unsafe extern "C" {
8449 #[link_name = "sk_ASN1_INTEGER_sort__extern"]
8450 pub fn sk_ASN1_INTEGER_sort(sk: *mut stack_st_ASN1_INTEGER);
8451}
8452unsafe extern "C" {
8453 #[link_name = "sk_ASN1_INTEGER_sort_and_dedup__extern"]
8454 pub fn sk_ASN1_INTEGER_sort_and_dedup(
8455 sk: *mut stack_st_ASN1_INTEGER,
8456 free_func: sk_ASN1_INTEGER_free_func,
8457 );
8458}
8459unsafe extern "C" {
8460 #[link_name = "sk_ASN1_INTEGER_is_sorted__extern"]
8461 pub fn sk_ASN1_INTEGER_is_sorted(sk: *const stack_st_ASN1_INTEGER) -> ::core::ffi::c_int;
8462}
8463unsafe extern "C" {
8464 #[link_name = "sk_ASN1_INTEGER_set_cmp_func__extern"]
8465 pub fn sk_ASN1_INTEGER_set_cmp_func(
8466 sk: *mut stack_st_ASN1_INTEGER,
8467 comp: sk_ASN1_INTEGER_cmp_func,
8468 ) -> sk_ASN1_INTEGER_cmp_func;
8469}
8470unsafe extern "C" {
8471 #[link_name = "sk_ASN1_INTEGER_deep_copy__extern"]
8472 pub fn sk_ASN1_INTEGER_deep_copy(
8473 sk: *const stack_st_ASN1_INTEGER,
8474 copy_func: sk_ASN1_INTEGER_copy_func,
8475 free_func: sk_ASN1_INTEGER_free_func,
8476 ) -> *mut stack_st_ASN1_INTEGER;
8477}
8478unsafe extern "C" {
8479 pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
8480}
8481unsafe extern "C" {
8482 pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
8483}
8484unsafe extern "C" {
8485 pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
8486}
8487unsafe extern "C" {
8488 pub fn d2i_ASN1_INTEGER(
8489 out: *mut *mut ASN1_INTEGER,
8490 inp: *mut *const u8,
8491 len: ::core::ffi::c_long,
8492 ) -> *mut ASN1_INTEGER;
8493}
8494unsafe extern "C" {
8495 pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8496}
8497unsafe extern "C" {
8498 pub fn c2i_ASN1_INTEGER(
8499 in_: *mut *mut ASN1_INTEGER,
8500 outp: *mut *const u8,
8501 len: ::core::ffi::c_long,
8502 ) -> *mut ASN1_INTEGER;
8503}
8504unsafe extern "C" {
8505 pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8506}
8507unsafe extern "C" {
8508 pub static ASN1_INTEGER_it: ASN1_ITEM;
8509}
8510unsafe extern "C" {
8511 pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::core::ffi::c_int;
8512}
8513unsafe extern "C" {
8514 pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::core::ffi::c_int;
8515}
8516unsafe extern "C" {
8517 pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8518}
8519unsafe extern "C" {
8520 pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8521}
8522unsafe extern "C" {
8523 pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
8524}
8525unsafe extern "C" {
8526 pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
8527}
8528unsafe extern "C" {
8529 pub fn ASN1_INTEGER_cmp(x: *const ASN1_INTEGER, y: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8530}
8531unsafe extern "C" {
8532 pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
8533}
8534unsafe extern "C" {
8535 pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
8536}
8537unsafe extern "C" {
8538 pub fn d2i_ASN1_ENUMERATED(
8539 out: *mut *mut ASN1_ENUMERATED,
8540 inp: *mut *const u8,
8541 len: ::core::ffi::c_long,
8542 ) -> *mut ASN1_ENUMERATED;
8543}
8544unsafe extern "C" {
8545 pub fn i2d_ASN1_ENUMERATED(
8546 in_: *const ASN1_ENUMERATED,
8547 outp: *mut *mut u8,
8548 ) -> ::core::ffi::c_int;
8549}
8550unsafe extern "C" {
8551 pub static ASN1_ENUMERATED_it: ASN1_ITEM;
8552}
8553unsafe extern "C" {
8554 pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::core::ffi::c_int;
8555}
8556unsafe extern "C" {
8557 pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::core::ffi::c_int;
8558}
8559unsafe extern "C" {
8560 pub fn ASN1_ENUMERATED_get_uint64(
8561 out: *mut u64,
8562 a: *const ASN1_ENUMERATED,
8563 ) -> ::core::ffi::c_int;
8564}
8565unsafe extern "C" {
8566 pub fn ASN1_ENUMERATED_get_int64(
8567 out: *mut i64,
8568 a: *const ASN1_ENUMERATED,
8569 ) -> ::core::ffi::c_int;
8570}
8571unsafe extern "C" {
8572 pub fn BN_to_ASN1_ENUMERATED(
8573 bn: *const BIGNUM,
8574 ai: *mut ASN1_ENUMERATED,
8575 ) -> *mut ASN1_ENUMERATED;
8576}
8577unsafe extern "C" {
8578 pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
8579}
8580unsafe extern "C" {
8581 pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
8582}
8583unsafe extern "C" {
8584 pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
8585}
8586unsafe extern "C" {
8587 pub fn d2i_ASN1_UTCTIME(
8588 out: *mut *mut ASN1_UTCTIME,
8589 inp: *mut *const u8,
8590 len: ::core::ffi::c_long,
8591 ) -> *mut ASN1_UTCTIME;
8592}
8593unsafe extern "C" {
8594 pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8595}
8596unsafe extern "C" {
8597 pub static ASN1_UTCTIME_it: ASN1_ITEM;
8598}
8599unsafe extern "C" {
8600 pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
8601}
8602unsafe extern "C" {
8603 pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
8604}
8605unsafe extern "C" {
8606 pub fn ASN1_UTCTIME_adj(
8607 s: *mut ASN1_UTCTIME,
8608 posix_time: i64,
8609 offset_day: ::core::ffi::c_int,
8610 offset_sec: ::core::ffi::c_long,
8611 ) -> *mut ASN1_UTCTIME;
8612}
8613unsafe extern "C" {
8614 pub fn ASN1_UTCTIME_set_string(
8615 s: *mut ASN1_UTCTIME,
8616 str_: *const ::core::ffi::c_char,
8617 ) -> ::core::ffi::c_int;
8618}
8619unsafe extern "C" {
8620 pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
8621}
8622unsafe extern "C" {
8623 pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
8624}
8625unsafe extern "C" {
8626 pub fn d2i_ASN1_GENERALIZEDTIME(
8627 out: *mut *mut ASN1_GENERALIZEDTIME,
8628 inp: *mut *const u8,
8629 len: ::core::ffi::c_long,
8630 ) -> *mut ASN1_GENERALIZEDTIME;
8631}
8632unsafe extern "C" {
8633 pub fn i2d_ASN1_GENERALIZEDTIME(
8634 in_: *const ASN1_GENERALIZEDTIME,
8635 outp: *mut *mut u8,
8636 ) -> ::core::ffi::c_int;
8637}
8638unsafe extern "C" {
8639 pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
8640}
8641unsafe extern "C" {
8642 pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::core::ffi::c_int;
8643}
8644unsafe extern "C" {
8645 pub fn ASN1_GENERALIZEDTIME_set(
8646 s: *mut ASN1_GENERALIZEDTIME,
8647 posix_time: i64,
8648 ) -> *mut ASN1_GENERALIZEDTIME;
8649}
8650unsafe extern "C" {
8651 pub fn ASN1_GENERALIZEDTIME_adj(
8652 s: *mut ASN1_GENERALIZEDTIME,
8653 posix_time: i64,
8654 offset_day: ::core::ffi::c_int,
8655 offset_sec: ::core::ffi::c_long,
8656 ) -> *mut ASN1_GENERALIZEDTIME;
8657}
8658unsafe extern "C" {
8659 pub fn ASN1_GENERALIZEDTIME_set_string(
8660 s: *mut ASN1_GENERALIZEDTIME,
8661 str_: *const ::core::ffi::c_char,
8662 ) -> ::core::ffi::c_int;
8663}
8664unsafe extern "C" {
8665 pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
8666}
8667unsafe extern "C" {
8668 pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
8669}
8670unsafe extern "C" {
8671 pub fn d2i_ASN1_TIME(
8672 out: *mut *mut ASN1_TIME,
8673 inp: *mut *const u8,
8674 len: ::core::ffi::c_long,
8675 ) -> *mut ASN1_TIME;
8676}
8677unsafe extern "C" {
8678 pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8679}
8680unsafe extern "C" {
8681 pub fn ASN1_TIME_diff(
8682 out_days: *mut ::core::ffi::c_int,
8683 out_seconds: *mut ::core::ffi::c_int,
8684 from: *const ASN1_TIME,
8685 to: *const ASN1_TIME,
8686 ) -> ::core::ffi::c_int;
8687}
8688unsafe extern "C" {
8689 pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
8690}
8691unsafe extern "C" {
8692 pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
8693}
8694unsafe extern "C" {
8695 pub fn ASN1_TIME_adj(
8696 s: *mut ASN1_TIME,
8697 posix_time: i64,
8698 offset_day: ::core::ffi::c_int,
8699 offset_sec: ::core::ffi::c_long,
8700 ) -> *mut ASN1_TIME;
8701}
8702unsafe extern "C" {
8703 pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::core::ffi::c_int;
8704}
8705unsafe extern "C" {
8706 pub fn ASN1_TIME_to_generalizedtime(
8707 t: *const ASN1_TIME,
8708 out: *mut *mut ASN1_GENERALIZEDTIME,
8709 ) -> *mut ASN1_GENERALIZEDTIME;
8710}
8711unsafe extern "C" {
8712 pub fn ASN1_TIME_set_string(
8713 s: *mut ASN1_TIME,
8714 str_: *const ::core::ffi::c_char,
8715 ) -> ::core::ffi::c_int;
8716}
8717unsafe extern "C" {
8718 pub fn ASN1_TIME_set_string_X509(
8719 s: *mut ASN1_TIME,
8720 str_: *const ::core::ffi::c_char,
8721 ) -> ::core::ffi::c_int;
8722}
8723unsafe extern "C" {
8724 pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::core::ffi::c_int;
8725}
8726unsafe extern "C" {
8727 pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::core::ffi::c_int;
8728}
8729unsafe extern "C" {
8730 pub fn ASN1_TIME_to_posix_nonstandard(t: *const ASN1_TIME, out: *mut i64)
8731 -> ::core::ffi::c_int;
8732}
8733unsafe extern "C" {
8734 pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
8735}
8736unsafe extern "C" {
8737 pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
8738}
8739unsafe extern "C" {
8740 pub fn d2i_ASN1_NULL(
8741 out: *mut *mut ASN1_NULL,
8742 inp: *mut *const u8,
8743 len: ::core::ffi::c_long,
8744 ) -> *mut ASN1_NULL;
8745}
8746unsafe extern "C" {
8747 pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::core::ffi::c_int;
8748}
8749unsafe extern "C" {
8750 pub static ASN1_NULL_it: ASN1_ITEM;
8751}
8752#[repr(C)]
8753#[derive(Debug)]
8754pub struct stack_st_ASN1_OBJECT {
8755 _unused: [u8; 0],
8756}
8757pub type sk_ASN1_OBJECT_free_func =
8758 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
8759pub type sk_ASN1_OBJECT_copy_func =
8760 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
8761pub type sk_ASN1_OBJECT_cmp_func = ::core::option::Option<
8762 unsafe extern "C" fn(
8763 arg1: *const *const ASN1_OBJECT,
8764 arg2: *const *const ASN1_OBJECT,
8765 ) -> ::core::ffi::c_int,
8766>;
8767pub type sk_ASN1_OBJECT_delete_if_func = ::core::option::Option<
8768 unsafe extern "C" fn(
8769 arg1: *mut ASN1_OBJECT,
8770 arg2: *mut ::core::ffi::c_void,
8771 ) -> ::core::ffi::c_int,
8772>;
8773unsafe extern "C" {
8774 #[link_name = "sk_ASN1_OBJECT_call_free_func__extern"]
8775 pub fn sk_ASN1_OBJECT_call_free_func(
8776 free_func: OPENSSL_sk_free_func,
8777 ptr: *mut ::core::ffi::c_void,
8778 );
8779}
8780unsafe extern "C" {
8781 #[link_name = "sk_ASN1_OBJECT_call_copy_func__extern"]
8782 pub fn sk_ASN1_OBJECT_call_copy_func(
8783 copy_func: OPENSSL_sk_copy_func,
8784 ptr: *const ::core::ffi::c_void,
8785 ) -> *mut ::core::ffi::c_void;
8786}
8787unsafe extern "C" {
8788 #[link_name = "sk_ASN1_OBJECT_call_cmp_func__extern"]
8789 pub fn sk_ASN1_OBJECT_call_cmp_func(
8790 cmp_func: OPENSSL_sk_cmp_func,
8791 a: *const ::core::ffi::c_void,
8792 b: *const ::core::ffi::c_void,
8793 ) -> ::core::ffi::c_int;
8794}
8795unsafe extern "C" {
8796 #[link_name = "sk_ASN1_OBJECT_call_delete_if_func__extern"]
8797 pub fn sk_ASN1_OBJECT_call_delete_if_func(
8798 func: OPENSSL_sk_delete_if_func,
8799 obj: *mut ::core::ffi::c_void,
8800 data: *mut ::core::ffi::c_void,
8801 ) -> ::core::ffi::c_int;
8802}
8803unsafe extern "C" {
8804 #[link_name = "sk_ASN1_OBJECT_new__extern"]
8805 pub fn sk_ASN1_OBJECT_new(comp: sk_ASN1_OBJECT_cmp_func) -> *mut stack_st_ASN1_OBJECT;
8806}
8807unsafe extern "C" {
8808 #[link_name = "sk_ASN1_OBJECT_new_null__extern"]
8809 pub fn sk_ASN1_OBJECT_new_null() -> *mut stack_st_ASN1_OBJECT;
8810}
8811unsafe extern "C" {
8812 #[link_name = "sk_ASN1_OBJECT_num__extern"]
8813 pub fn sk_ASN1_OBJECT_num(sk: *const stack_st_ASN1_OBJECT) -> usize;
8814}
8815unsafe extern "C" {
8816 #[link_name = "sk_ASN1_OBJECT_zero__extern"]
8817 pub fn sk_ASN1_OBJECT_zero(sk: *mut stack_st_ASN1_OBJECT);
8818}
8819unsafe extern "C" {
8820 #[link_name = "sk_ASN1_OBJECT_value__extern"]
8821 pub fn sk_ASN1_OBJECT_value(sk: *const stack_st_ASN1_OBJECT, i: usize) -> *mut ASN1_OBJECT;
8822}
8823unsafe extern "C" {
8824 #[link_name = "sk_ASN1_OBJECT_set__extern"]
8825 pub fn sk_ASN1_OBJECT_set(
8826 sk: *mut stack_st_ASN1_OBJECT,
8827 i: usize,
8828 p: *mut ASN1_OBJECT,
8829 ) -> *mut ASN1_OBJECT;
8830}
8831unsafe extern "C" {
8832 #[link_name = "sk_ASN1_OBJECT_free__extern"]
8833 pub fn sk_ASN1_OBJECT_free(sk: *mut stack_st_ASN1_OBJECT);
8834}
8835unsafe extern "C" {
8836 #[link_name = "sk_ASN1_OBJECT_pop_free__extern"]
8837 pub fn sk_ASN1_OBJECT_pop_free(
8838 sk: *mut stack_st_ASN1_OBJECT,
8839 free_func: sk_ASN1_OBJECT_free_func,
8840 );
8841}
8842unsafe extern "C" {
8843 #[link_name = "sk_ASN1_OBJECT_insert__extern"]
8844 pub fn sk_ASN1_OBJECT_insert(
8845 sk: *mut stack_st_ASN1_OBJECT,
8846 p: *mut ASN1_OBJECT,
8847 where_: usize,
8848 ) -> usize;
8849}
8850unsafe extern "C" {
8851 #[link_name = "sk_ASN1_OBJECT_delete__extern"]
8852 pub fn sk_ASN1_OBJECT_delete(sk: *mut stack_st_ASN1_OBJECT, where_: usize) -> *mut ASN1_OBJECT;
8853}
8854unsafe extern "C" {
8855 #[link_name = "sk_ASN1_OBJECT_delete_ptr__extern"]
8856 pub fn sk_ASN1_OBJECT_delete_ptr(
8857 sk: *mut stack_st_ASN1_OBJECT,
8858 p: *const ASN1_OBJECT,
8859 ) -> *mut ASN1_OBJECT;
8860}
8861unsafe extern "C" {
8862 #[link_name = "sk_ASN1_OBJECT_delete_if__extern"]
8863 pub fn sk_ASN1_OBJECT_delete_if(
8864 sk: *mut stack_st_ASN1_OBJECT,
8865 func: sk_ASN1_OBJECT_delete_if_func,
8866 data: *mut ::core::ffi::c_void,
8867 );
8868}
8869unsafe extern "C" {
8870 #[link_name = "sk_ASN1_OBJECT_find__extern"]
8871 pub fn sk_ASN1_OBJECT_find(
8872 sk: *const stack_st_ASN1_OBJECT,
8873 out_index: *mut usize,
8874 p: *const ASN1_OBJECT,
8875 ) -> ::core::ffi::c_int;
8876}
8877unsafe extern "C" {
8878 #[link_name = "sk_ASN1_OBJECT_shift__extern"]
8879 pub fn sk_ASN1_OBJECT_shift(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8880}
8881unsafe extern "C" {
8882 #[link_name = "sk_ASN1_OBJECT_push__extern"]
8883 pub fn sk_ASN1_OBJECT_push(sk: *mut stack_st_ASN1_OBJECT, p: *mut ASN1_OBJECT) -> usize;
8884}
8885unsafe extern "C" {
8886 #[link_name = "sk_ASN1_OBJECT_pop__extern"]
8887 pub fn sk_ASN1_OBJECT_pop(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8888}
8889unsafe extern "C" {
8890 #[link_name = "sk_ASN1_OBJECT_dup__extern"]
8891 pub fn sk_ASN1_OBJECT_dup(sk: *const stack_st_ASN1_OBJECT) -> *mut stack_st_ASN1_OBJECT;
8892}
8893unsafe extern "C" {
8894 #[link_name = "sk_ASN1_OBJECT_sort__extern"]
8895 pub fn sk_ASN1_OBJECT_sort(sk: *mut stack_st_ASN1_OBJECT);
8896}
8897unsafe extern "C" {
8898 #[link_name = "sk_ASN1_OBJECT_sort_and_dedup__extern"]
8899 pub fn sk_ASN1_OBJECT_sort_and_dedup(
8900 sk: *mut stack_st_ASN1_OBJECT,
8901 free_func: sk_ASN1_OBJECT_free_func,
8902 );
8903}
8904unsafe extern "C" {
8905 #[link_name = "sk_ASN1_OBJECT_is_sorted__extern"]
8906 pub fn sk_ASN1_OBJECT_is_sorted(sk: *const stack_st_ASN1_OBJECT) -> ::core::ffi::c_int;
8907}
8908unsafe extern "C" {
8909 #[link_name = "sk_ASN1_OBJECT_set_cmp_func__extern"]
8910 pub fn sk_ASN1_OBJECT_set_cmp_func(
8911 sk: *mut stack_st_ASN1_OBJECT,
8912 comp: sk_ASN1_OBJECT_cmp_func,
8913 ) -> sk_ASN1_OBJECT_cmp_func;
8914}
8915unsafe extern "C" {
8916 #[link_name = "sk_ASN1_OBJECT_deep_copy__extern"]
8917 pub fn sk_ASN1_OBJECT_deep_copy(
8918 sk: *const stack_st_ASN1_OBJECT,
8919 copy_func: sk_ASN1_OBJECT_copy_func,
8920 free_func: sk_ASN1_OBJECT_free_func,
8921 ) -> *mut stack_st_ASN1_OBJECT;
8922}
8923unsafe extern "C" {
8924 pub fn ASN1_OBJECT_create(
8925 nid: ::core::ffi::c_int,
8926 data: *const u8,
8927 len: usize,
8928 sn: *const ::core::ffi::c_char,
8929 ln: *const ::core::ffi::c_char,
8930 ) -> *mut ASN1_OBJECT;
8931}
8932unsafe extern "C" {
8933 pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
8934}
8935unsafe extern "C" {
8936 pub fn d2i_ASN1_OBJECT(
8937 out: *mut *mut ASN1_OBJECT,
8938 inp: *mut *const u8,
8939 len: ::core::ffi::c_long,
8940 ) -> *mut ASN1_OBJECT;
8941}
8942unsafe extern "C" {
8943 pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::core::ffi::c_int;
8944}
8945unsafe extern "C" {
8946 pub fn c2i_ASN1_OBJECT(
8947 out: *mut *mut ASN1_OBJECT,
8948 inp: *mut *const u8,
8949 len: ::core::ffi::c_long,
8950 ) -> *mut ASN1_OBJECT;
8951}
8952unsafe extern "C" {
8953 pub static ASN1_OBJECT_it: ASN1_ITEM;
8954}
8955#[repr(C)]
8956#[derive(Copy, Clone)]
8957pub struct asn1_type_st {
8958 pub type_: ::core::ffi::c_int,
8959 pub value: asn1_type_st__bindgen_ty_1,
8960}
8961#[repr(C)]
8962#[derive(Copy, Clone)]
8963pub union asn1_type_st__bindgen_ty_1 {
8964 pub ptr: *mut ::core::ffi::c_char,
8965 pub boolean: ASN1_BOOLEAN,
8966 pub asn1_string: *mut ASN1_STRING,
8967 pub object: *mut ASN1_OBJECT,
8968 pub integer: *mut ASN1_INTEGER,
8969 pub enumerated: *mut ASN1_ENUMERATED,
8970 pub bit_string: *mut ASN1_BIT_STRING,
8971 pub octet_string: *mut ASN1_OCTET_STRING,
8972 pub printablestring: *mut ASN1_PRINTABLESTRING,
8973 pub t61string: *mut ASN1_T61STRING,
8974 pub ia5string: *mut ASN1_IA5STRING,
8975 pub generalstring: *mut ASN1_GENERALSTRING,
8976 pub bmpstring: *mut ASN1_BMPSTRING,
8977 pub universalstring: *mut ASN1_UNIVERSALSTRING,
8978 pub utctime: *mut ASN1_UTCTIME,
8979 pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
8980 pub visiblestring: *mut ASN1_VISIBLESTRING,
8981 pub utf8string: *mut ASN1_UTF8STRING,
8982 pub set: *mut ASN1_STRING,
8983 pub sequence: *mut ASN1_STRING,
8984 pub asn1_value: *mut ASN1_VALUE,
8985}
8986#[repr(C)]
8987#[derive(Debug)]
8988pub struct stack_st_ASN1_TYPE {
8989 _unused: [u8; 0],
8990}
8991pub type sk_ASN1_TYPE_free_func =
8992 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
8993pub type sk_ASN1_TYPE_copy_func =
8994 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
8995pub type sk_ASN1_TYPE_cmp_func = ::core::option::Option<
8996 unsafe extern "C" fn(
8997 arg1: *const *const ASN1_TYPE,
8998 arg2: *const *const ASN1_TYPE,
8999 ) -> ::core::ffi::c_int,
9000>;
9001pub type sk_ASN1_TYPE_delete_if_func = ::core::option::Option<
9002 unsafe extern "C" fn(
9003 arg1: *mut ASN1_TYPE,
9004 arg2: *mut ::core::ffi::c_void,
9005 ) -> ::core::ffi::c_int,
9006>;
9007unsafe extern "C" {
9008 #[link_name = "sk_ASN1_TYPE_call_free_func__extern"]
9009 pub fn sk_ASN1_TYPE_call_free_func(
9010 free_func: OPENSSL_sk_free_func,
9011 ptr: *mut ::core::ffi::c_void,
9012 );
9013}
9014unsafe extern "C" {
9015 #[link_name = "sk_ASN1_TYPE_call_copy_func__extern"]
9016 pub fn sk_ASN1_TYPE_call_copy_func(
9017 copy_func: OPENSSL_sk_copy_func,
9018 ptr: *const ::core::ffi::c_void,
9019 ) -> *mut ::core::ffi::c_void;
9020}
9021unsafe extern "C" {
9022 #[link_name = "sk_ASN1_TYPE_call_cmp_func__extern"]
9023 pub fn sk_ASN1_TYPE_call_cmp_func(
9024 cmp_func: OPENSSL_sk_cmp_func,
9025 a: *const ::core::ffi::c_void,
9026 b: *const ::core::ffi::c_void,
9027 ) -> ::core::ffi::c_int;
9028}
9029unsafe extern "C" {
9030 #[link_name = "sk_ASN1_TYPE_call_delete_if_func__extern"]
9031 pub fn sk_ASN1_TYPE_call_delete_if_func(
9032 func: OPENSSL_sk_delete_if_func,
9033 obj: *mut ::core::ffi::c_void,
9034 data: *mut ::core::ffi::c_void,
9035 ) -> ::core::ffi::c_int;
9036}
9037unsafe extern "C" {
9038 #[link_name = "sk_ASN1_TYPE_new__extern"]
9039 pub fn sk_ASN1_TYPE_new(comp: sk_ASN1_TYPE_cmp_func) -> *mut stack_st_ASN1_TYPE;
9040}
9041unsafe extern "C" {
9042 #[link_name = "sk_ASN1_TYPE_new_null__extern"]
9043 pub fn sk_ASN1_TYPE_new_null() -> *mut stack_st_ASN1_TYPE;
9044}
9045unsafe extern "C" {
9046 #[link_name = "sk_ASN1_TYPE_num__extern"]
9047 pub fn sk_ASN1_TYPE_num(sk: *const stack_st_ASN1_TYPE) -> usize;
9048}
9049unsafe extern "C" {
9050 #[link_name = "sk_ASN1_TYPE_zero__extern"]
9051 pub fn sk_ASN1_TYPE_zero(sk: *mut stack_st_ASN1_TYPE);
9052}
9053unsafe extern "C" {
9054 #[link_name = "sk_ASN1_TYPE_value__extern"]
9055 pub fn sk_ASN1_TYPE_value(sk: *const stack_st_ASN1_TYPE, i: usize) -> *mut ASN1_TYPE;
9056}
9057unsafe extern "C" {
9058 #[link_name = "sk_ASN1_TYPE_set__extern"]
9059 pub fn sk_ASN1_TYPE_set(
9060 sk: *mut stack_st_ASN1_TYPE,
9061 i: usize,
9062 p: *mut ASN1_TYPE,
9063 ) -> *mut ASN1_TYPE;
9064}
9065unsafe extern "C" {
9066 #[link_name = "sk_ASN1_TYPE_free__extern"]
9067 pub fn sk_ASN1_TYPE_free(sk: *mut stack_st_ASN1_TYPE);
9068}
9069unsafe extern "C" {
9070 #[link_name = "sk_ASN1_TYPE_pop_free__extern"]
9071 pub fn sk_ASN1_TYPE_pop_free(sk: *mut stack_st_ASN1_TYPE, free_func: sk_ASN1_TYPE_free_func);
9072}
9073unsafe extern "C" {
9074 #[link_name = "sk_ASN1_TYPE_insert__extern"]
9075 pub fn sk_ASN1_TYPE_insert(
9076 sk: *mut stack_st_ASN1_TYPE,
9077 p: *mut ASN1_TYPE,
9078 where_: usize,
9079 ) -> usize;
9080}
9081unsafe extern "C" {
9082 #[link_name = "sk_ASN1_TYPE_delete__extern"]
9083 pub fn sk_ASN1_TYPE_delete(sk: *mut stack_st_ASN1_TYPE, where_: usize) -> *mut ASN1_TYPE;
9084}
9085unsafe extern "C" {
9086 #[link_name = "sk_ASN1_TYPE_delete_ptr__extern"]
9087 pub fn sk_ASN1_TYPE_delete_ptr(
9088 sk: *mut stack_st_ASN1_TYPE,
9089 p: *const ASN1_TYPE,
9090 ) -> *mut ASN1_TYPE;
9091}
9092unsafe extern "C" {
9093 #[link_name = "sk_ASN1_TYPE_delete_if__extern"]
9094 pub fn sk_ASN1_TYPE_delete_if(
9095 sk: *mut stack_st_ASN1_TYPE,
9096 func: sk_ASN1_TYPE_delete_if_func,
9097 data: *mut ::core::ffi::c_void,
9098 );
9099}
9100unsafe extern "C" {
9101 #[link_name = "sk_ASN1_TYPE_find__extern"]
9102 pub fn sk_ASN1_TYPE_find(
9103 sk: *const stack_st_ASN1_TYPE,
9104 out_index: *mut usize,
9105 p: *const ASN1_TYPE,
9106 ) -> ::core::ffi::c_int;
9107}
9108unsafe extern "C" {
9109 #[link_name = "sk_ASN1_TYPE_shift__extern"]
9110 pub fn sk_ASN1_TYPE_shift(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9111}
9112unsafe extern "C" {
9113 #[link_name = "sk_ASN1_TYPE_push__extern"]
9114 pub fn sk_ASN1_TYPE_push(sk: *mut stack_st_ASN1_TYPE, p: *mut ASN1_TYPE) -> usize;
9115}
9116unsafe extern "C" {
9117 #[link_name = "sk_ASN1_TYPE_pop__extern"]
9118 pub fn sk_ASN1_TYPE_pop(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9119}
9120unsafe extern "C" {
9121 #[link_name = "sk_ASN1_TYPE_dup__extern"]
9122 pub fn sk_ASN1_TYPE_dup(sk: *const stack_st_ASN1_TYPE) -> *mut stack_st_ASN1_TYPE;
9123}
9124unsafe extern "C" {
9125 #[link_name = "sk_ASN1_TYPE_sort__extern"]
9126 pub fn sk_ASN1_TYPE_sort(sk: *mut stack_st_ASN1_TYPE);
9127}
9128unsafe extern "C" {
9129 #[link_name = "sk_ASN1_TYPE_sort_and_dedup__extern"]
9130 pub fn sk_ASN1_TYPE_sort_and_dedup(
9131 sk: *mut stack_st_ASN1_TYPE,
9132 free_func: sk_ASN1_TYPE_free_func,
9133 );
9134}
9135unsafe extern "C" {
9136 #[link_name = "sk_ASN1_TYPE_is_sorted__extern"]
9137 pub fn sk_ASN1_TYPE_is_sorted(sk: *const stack_st_ASN1_TYPE) -> ::core::ffi::c_int;
9138}
9139unsafe extern "C" {
9140 #[link_name = "sk_ASN1_TYPE_set_cmp_func__extern"]
9141 pub fn sk_ASN1_TYPE_set_cmp_func(
9142 sk: *mut stack_st_ASN1_TYPE,
9143 comp: sk_ASN1_TYPE_cmp_func,
9144 ) -> sk_ASN1_TYPE_cmp_func;
9145}
9146unsafe extern "C" {
9147 #[link_name = "sk_ASN1_TYPE_deep_copy__extern"]
9148 pub fn sk_ASN1_TYPE_deep_copy(
9149 sk: *const stack_st_ASN1_TYPE,
9150 copy_func: sk_ASN1_TYPE_copy_func,
9151 free_func: sk_ASN1_TYPE_free_func,
9152 ) -> *mut stack_st_ASN1_TYPE;
9153}
9154unsafe extern "C" {
9155 pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
9156}
9157unsafe extern "C" {
9158 pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
9159}
9160unsafe extern "C" {
9161 pub fn d2i_ASN1_TYPE(
9162 out: *mut *mut ASN1_TYPE,
9163 inp: *mut *const u8,
9164 len: ::core::ffi::c_long,
9165 ) -> *mut ASN1_TYPE;
9166}
9167unsafe extern "C" {
9168 pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::core::ffi::c_int;
9169}
9170unsafe extern "C" {
9171 pub static ASN1_ANY_it: ASN1_ITEM;
9172}
9173unsafe extern "C" {
9174 pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::core::ffi::c_int;
9175}
9176unsafe extern "C" {
9177 pub fn ASN1_TYPE_set(
9178 a: *mut ASN1_TYPE,
9179 type_: ::core::ffi::c_int,
9180 value: *mut ::core::ffi::c_void,
9181 );
9182}
9183unsafe extern "C" {
9184 pub fn ASN1_TYPE_set1(
9185 a: *mut ASN1_TYPE,
9186 type_: ::core::ffi::c_int,
9187 value: *const ::core::ffi::c_void,
9188 ) -> ::core::ffi::c_int;
9189}
9190unsafe extern "C" {
9191 pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::core::ffi::c_int;
9192}
9193pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
9194unsafe extern "C" {
9195 pub fn d2i_ASN1_SEQUENCE_ANY(
9196 out: *mut *mut ASN1_SEQUENCE_ANY,
9197 inp: *mut *const u8,
9198 len: ::core::ffi::c_long,
9199 ) -> *mut ASN1_SEQUENCE_ANY;
9200}
9201unsafe extern "C" {
9202 pub fn i2d_ASN1_SEQUENCE_ANY(
9203 in_: *const ASN1_SEQUENCE_ANY,
9204 outp: *mut *mut u8,
9205 ) -> ::core::ffi::c_int;
9206}
9207unsafe extern "C" {
9208 pub fn d2i_ASN1_SET_ANY(
9209 out: *mut *mut ASN1_SEQUENCE_ANY,
9210 inp: *mut *const u8,
9211 len: ::core::ffi::c_long,
9212 ) -> *mut ASN1_SEQUENCE_ANY;
9213}
9214unsafe extern "C" {
9215 pub fn i2d_ASN1_SET_ANY(
9216 in_: *const ASN1_SEQUENCE_ANY,
9217 outp: *mut *mut u8,
9218 ) -> ::core::ffi::c_int;
9219}
9220unsafe extern "C" {
9221 pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
9222}
9223unsafe extern "C" {
9224 pub fn ASN1_GENERALIZEDTIME_print(
9225 out: *mut BIO,
9226 a: *const ASN1_GENERALIZEDTIME,
9227 ) -> ::core::ffi::c_int;
9228}
9229unsafe extern "C" {
9230 pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::core::ffi::c_int;
9231}
9232unsafe extern "C" {
9233 pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
9234}
9235unsafe extern "C" {
9236 pub fn ASN1_STRING_print_ex(
9237 out: *mut BIO,
9238 str_: *const ASN1_STRING,
9239 flags: ::core::ffi::c_ulong,
9240 ) -> ::core::ffi::c_int;
9241}
9242unsafe extern "C" {
9243 pub fn ASN1_STRING_print_ex_fp(
9244 fp: *mut FILE,
9245 str_: *const ASN1_STRING,
9246 flags: ::core::ffi::c_ulong,
9247 ) -> ::core::ffi::c_int;
9248}
9249unsafe extern "C" {
9250 pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
9251}
9252unsafe extern "C" {
9253 pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::core::ffi::c_int;
9254}
9255unsafe extern "C" {
9256 pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::core::ffi::c_int;
9257}
9258unsafe extern "C" {
9259 pub fn i2a_ASN1_STRING(
9260 bp: *mut BIO,
9261 a: *const ASN1_STRING,
9262 type_: ::core::ffi::c_int,
9263 ) -> ::core::ffi::c_int;
9264}
9265unsafe extern "C" {
9266 pub fn i2t_ASN1_OBJECT(
9267 buf: *mut ::core::ffi::c_char,
9268 buf_len: ::core::ffi::c_int,
9269 a: *const ASN1_OBJECT,
9270 ) -> ::core::ffi::c_int;
9271}
9272unsafe extern "C" {
9273 pub fn ASN1_get_object(
9274 inp: *mut *const ::core::ffi::c_uchar,
9275 out_length: *mut ::core::ffi::c_long,
9276 out_tag: *mut ::core::ffi::c_int,
9277 out_class: *mut ::core::ffi::c_int,
9278 max_len: ::core::ffi::c_long,
9279 ) -> ::core::ffi::c_int;
9280}
9281unsafe extern "C" {
9282 pub fn ASN1_put_object(
9283 outp: *mut *mut ::core::ffi::c_uchar,
9284 constructed: ::core::ffi::c_int,
9285 length: ::core::ffi::c_int,
9286 tag: ::core::ffi::c_int,
9287 xclass: ::core::ffi::c_int,
9288 );
9289}
9290unsafe extern "C" {
9291 pub fn ASN1_put_eoc(outp: *mut *mut ::core::ffi::c_uchar) -> ::core::ffi::c_int;
9292}
9293unsafe extern "C" {
9294 pub fn ASN1_object_size(
9295 constructed: ::core::ffi::c_int,
9296 length: ::core::ffi::c_int,
9297 tag: ::core::ffi::c_int,
9298 ) -> ::core::ffi::c_int;
9299}
9300unsafe extern "C" {
9301 pub fn ASN1_BIT_STRING_num_bytes(
9302 str_: *const ASN1_BIT_STRING,
9303 out: *mut usize,
9304 ) -> ::core::ffi::c_int;
9305}
9306unsafe extern "C" {
9307 pub fn ASN1_STRING_set_default_mask(mask: ::core::ffi::c_ulong);
9308}
9309unsafe extern "C" {
9310 pub fn ASN1_STRING_set_default_mask_asc(p: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
9311}
9312unsafe extern "C" {
9313 pub fn ASN1_STRING_get_default_mask() -> ::core::ffi::c_ulong;
9314}
9315unsafe extern "C" {
9316 pub fn ASN1_STRING_TABLE_cleanup();
9317}
9318unsafe extern "C" {
9319 pub fn ASN1_INTEGER_set(a: *mut ASN1_INTEGER, v: ::core::ffi::c_long) -> ::core::ffi::c_int;
9320}
9321unsafe extern "C" {
9322 pub fn ASN1_ENUMERATED_set(
9323 a: *mut ASN1_ENUMERATED,
9324 v: ::core::ffi::c_long,
9325 ) -> ::core::ffi::c_int;
9326}
9327unsafe extern "C" {
9328 pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::core::ffi::c_long;
9329}
9330unsafe extern "C" {
9331 pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::core::ffi::c_long;
9332}
9333pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
9334#[repr(C)]
9335#[derive(Debug)]
9336pub struct ASN1_TLC_st {
9337 _unused: [u8; 0],
9338}
9339pub type ASN1_TLC = ASN1_TLC_st;
9340#[repr(C)]
9341#[derive(Debug, Copy, Clone)]
9342pub struct ASN1_TEMPLATE_st {
9343 pub flags: u32,
9344 pub tag: ::core::ffi::c_int,
9345 pub offset: ::core::ffi::c_ulong,
9346 pub field_name: *const ::core::ffi::c_char,
9347 pub item: *const ASN1_ITEM_st,
9348}
9349pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
9350pub type ASN1_ADB = ASN1_ADB_st;
9351#[repr(C)]
9352#[derive(Debug, Copy, Clone)]
9353pub struct ASN1_ADB_st {
9354 pub flags: u32,
9355 pub offset: ::core::ffi::c_ulong,
9356 pub unused: *mut CRYPTO_MUST_BE_NULL,
9357 pub tbl: *const ASN1_ADB_TABLE,
9358 pub tblcount: ::core::ffi::c_long,
9359 pub default_tt: *const ASN1_TEMPLATE,
9360 pub null_tt: *const ASN1_TEMPLATE,
9361}
9362#[repr(C)]
9363#[derive(Debug, Copy, Clone)]
9364pub struct ASN1_ADB_TABLE_st {
9365 pub value: ::core::ffi::c_int,
9366 pub tt: ASN1_TEMPLATE,
9367}
9368#[repr(C)]
9369#[derive(Debug, Copy, Clone)]
9370pub struct ASN1_ITEM_st {
9371 pub itype: ::core::ffi::c_char,
9372 pub utype: ::core::ffi::c_int,
9373 pub templates: *const ASN1_TEMPLATE,
9374 pub tcount: ::core::ffi::c_long,
9375 pub funcs: *const ::core::ffi::c_void,
9376 pub size: ::core::ffi::c_long,
9377 pub sname: *const ::core::ffi::c_char,
9378}
9379pub type ASN1_aux_cb = ::core::option::Option<
9380 unsafe extern "C" fn(
9381 operation: ::core::ffi::c_int,
9382 in_: *mut *mut ASN1_VALUE,
9383 it: *const ASN1_ITEM,
9384 exarg: *mut ::core::ffi::c_void,
9385 ) -> ::core::ffi::c_int,
9386>;
9387#[repr(C)]
9388#[derive(Debug, Copy, Clone)]
9389pub struct ASN1_AUX_st {
9390 pub app_data: *mut ::core::ffi::c_void,
9391 pub flags: u32,
9392 pub ref_offset: ::core::ffi::c_int,
9393 pub asn1_cb: ASN1_aux_cb,
9394 pub enc_offset: ::core::ffi::c_int,
9395}
9396pub type ASN1_AUX = ASN1_AUX_st;
9397unsafe extern "C" {
9398 pub static ASN1_SEQUENCE_it: ASN1_ITEM;
9399}
9400#[repr(C)]
9401#[derive(Debug)]
9402pub struct stack_st_ASN1_VALUE {
9403 _unused: [u8; 0],
9404}
9405pub type sk_ASN1_VALUE_free_func =
9406 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
9407pub type sk_ASN1_VALUE_copy_func =
9408 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
9409pub type sk_ASN1_VALUE_cmp_func = ::core::option::Option<
9410 unsafe extern "C" fn(
9411 arg1: *const *const ASN1_VALUE,
9412 arg2: *const *const ASN1_VALUE,
9413 ) -> ::core::ffi::c_int,
9414>;
9415pub type sk_ASN1_VALUE_delete_if_func = ::core::option::Option<
9416 unsafe extern "C" fn(
9417 arg1: *mut ASN1_VALUE,
9418 arg2: *mut ::core::ffi::c_void,
9419 ) -> ::core::ffi::c_int,
9420>;
9421unsafe extern "C" {
9422 #[link_name = "sk_ASN1_VALUE_call_free_func__extern"]
9423 pub fn sk_ASN1_VALUE_call_free_func(
9424 free_func: OPENSSL_sk_free_func,
9425 ptr: *mut ::core::ffi::c_void,
9426 );
9427}
9428unsafe extern "C" {
9429 #[link_name = "sk_ASN1_VALUE_call_copy_func__extern"]
9430 pub fn sk_ASN1_VALUE_call_copy_func(
9431 copy_func: OPENSSL_sk_copy_func,
9432 ptr: *const ::core::ffi::c_void,
9433 ) -> *mut ::core::ffi::c_void;
9434}
9435unsafe extern "C" {
9436 #[link_name = "sk_ASN1_VALUE_call_cmp_func__extern"]
9437 pub fn sk_ASN1_VALUE_call_cmp_func(
9438 cmp_func: OPENSSL_sk_cmp_func,
9439 a: *const ::core::ffi::c_void,
9440 b: *const ::core::ffi::c_void,
9441 ) -> ::core::ffi::c_int;
9442}
9443unsafe extern "C" {
9444 #[link_name = "sk_ASN1_VALUE_call_delete_if_func__extern"]
9445 pub fn sk_ASN1_VALUE_call_delete_if_func(
9446 func: OPENSSL_sk_delete_if_func,
9447 obj: *mut ::core::ffi::c_void,
9448 data: *mut ::core::ffi::c_void,
9449 ) -> ::core::ffi::c_int;
9450}
9451unsafe extern "C" {
9452 #[link_name = "sk_ASN1_VALUE_new__extern"]
9453 pub fn sk_ASN1_VALUE_new(comp: sk_ASN1_VALUE_cmp_func) -> *mut stack_st_ASN1_VALUE;
9454}
9455unsafe extern "C" {
9456 #[link_name = "sk_ASN1_VALUE_new_null__extern"]
9457 pub fn sk_ASN1_VALUE_new_null() -> *mut stack_st_ASN1_VALUE;
9458}
9459unsafe extern "C" {
9460 #[link_name = "sk_ASN1_VALUE_num__extern"]
9461 pub fn sk_ASN1_VALUE_num(sk: *const stack_st_ASN1_VALUE) -> usize;
9462}
9463unsafe extern "C" {
9464 #[link_name = "sk_ASN1_VALUE_zero__extern"]
9465 pub fn sk_ASN1_VALUE_zero(sk: *mut stack_st_ASN1_VALUE);
9466}
9467unsafe extern "C" {
9468 #[link_name = "sk_ASN1_VALUE_value__extern"]
9469 pub fn sk_ASN1_VALUE_value(sk: *const stack_st_ASN1_VALUE, i: usize) -> *mut ASN1_VALUE;
9470}
9471unsafe extern "C" {
9472 #[link_name = "sk_ASN1_VALUE_set__extern"]
9473 pub fn sk_ASN1_VALUE_set(
9474 sk: *mut stack_st_ASN1_VALUE,
9475 i: usize,
9476 p: *mut ASN1_VALUE,
9477 ) -> *mut ASN1_VALUE;
9478}
9479unsafe extern "C" {
9480 #[link_name = "sk_ASN1_VALUE_free__extern"]
9481 pub fn sk_ASN1_VALUE_free(sk: *mut stack_st_ASN1_VALUE);
9482}
9483unsafe extern "C" {
9484 #[link_name = "sk_ASN1_VALUE_pop_free__extern"]
9485 pub fn sk_ASN1_VALUE_pop_free(sk: *mut stack_st_ASN1_VALUE, free_func: sk_ASN1_VALUE_free_func);
9486}
9487unsafe extern "C" {
9488 #[link_name = "sk_ASN1_VALUE_insert__extern"]
9489 pub fn sk_ASN1_VALUE_insert(
9490 sk: *mut stack_st_ASN1_VALUE,
9491 p: *mut ASN1_VALUE,
9492 where_: usize,
9493 ) -> usize;
9494}
9495unsafe extern "C" {
9496 #[link_name = "sk_ASN1_VALUE_delete__extern"]
9497 pub fn sk_ASN1_VALUE_delete(sk: *mut stack_st_ASN1_VALUE, where_: usize) -> *mut ASN1_VALUE;
9498}
9499unsafe extern "C" {
9500 #[link_name = "sk_ASN1_VALUE_delete_ptr__extern"]
9501 pub fn sk_ASN1_VALUE_delete_ptr(
9502 sk: *mut stack_st_ASN1_VALUE,
9503 p: *const ASN1_VALUE,
9504 ) -> *mut ASN1_VALUE;
9505}
9506unsafe extern "C" {
9507 #[link_name = "sk_ASN1_VALUE_delete_if__extern"]
9508 pub fn sk_ASN1_VALUE_delete_if(
9509 sk: *mut stack_st_ASN1_VALUE,
9510 func: sk_ASN1_VALUE_delete_if_func,
9511 data: *mut ::core::ffi::c_void,
9512 );
9513}
9514unsafe extern "C" {
9515 #[link_name = "sk_ASN1_VALUE_find__extern"]
9516 pub fn sk_ASN1_VALUE_find(
9517 sk: *const stack_st_ASN1_VALUE,
9518 out_index: *mut usize,
9519 p: *const ASN1_VALUE,
9520 ) -> ::core::ffi::c_int;
9521}
9522unsafe extern "C" {
9523 #[link_name = "sk_ASN1_VALUE_shift__extern"]
9524 pub fn sk_ASN1_VALUE_shift(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9525}
9526unsafe extern "C" {
9527 #[link_name = "sk_ASN1_VALUE_push__extern"]
9528 pub fn sk_ASN1_VALUE_push(sk: *mut stack_st_ASN1_VALUE, p: *mut ASN1_VALUE) -> usize;
9529}
9530unsafe extern "C" {
9531 #[link_name = "sk_ASN1_VALUE_pop__extern"]
9532 pub fn sk_ASN1_VALUE_pop(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9533}
9534unsafe extern "C" {
9535 #[link_name = "sk_ASN1_VALUE_dup__extern"]
9536 pub fn sk_ASN1_VALUE_dup(sk: *const stack_st_ASN1_VALUE) -> *mut stack_st_ASN1_VALUE;
9537}
9538unsafe extern "C" {
9539 #[link_name = "sk_ASN1_VALUE_sort__extern"]
9540 pub fn sk_ASN1_VALUE_sort(sk: *mut stack_st_ASN1_VALUE);
9541}
9542unsafe extern "C" {
9543 #[link_name = "sk_ASN1_VALUE_sort_and_dedup__extern"]
9544 pub fn sk_ASN1_VALUE_sort_and_dedup(
9545 sk: *mut stack_st_ASN1_VALUE,
9546 free_func: sk_ASN1_VALUE_free_func,
9547 );
9548}
9549unsafe extern "C" {
9550 #[link_name = "sk_ASN1_VALUE_is_sorted__extern"]
9551 pub fn sk_ASN1_VALUE_is_sorted(sk: *const stack_st_ASN1_VALUE) -> ::core::ffi::c_int;
9552}
9553unsafe extern "C" {
9554 #[link_name = "sk_ASN1_VALUE_set_cmp_func__extern"]
9555 pub fn sk_ASN1_VALUE_set_cmp_func(
9556 sk: *mut stack_st_ASN1_VALUE,
9557 comp: sk_ASN1_VALUE_cmp_func,
9558 ) -> sk_ASN1_VALUE_cmp_func;
9559}
9560unsafe extern "C" {
9561 #[link_name = "sk_ASN1_VALUE_deep_copy__extern"]
9562 pub fn sk_ASN1_VALUE_deep_copy(
9563 sk: *const stack_st_ASN1_VALUE,
9564 copy_func: sk_ASN1_VALUE_copy_func,
9565 free_func: sk_ASN1_VALUE_free_func,
9566 ) -> *mut stack_st_ASN1_VALUE;
9567}
9568unsafe extern "C" {
9569 pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
9570}
9571unsafe extern "C" {
9572 pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9573}
9574unsafe extern "C" {
9575 pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9576}
9577unsafe extern "C" {
9578 pub fn EVP_DecodeBase64(
9579 out: *mut u8,
9580 out_len: *mut usize,
9581 max_out: usize,
9582 in_: *const u8,
9583 in_len: usize,
9584 ) -> ::core::ffi::c_int;
9585}
9586unsafe extern "C" {
9587 pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
9588}
9589unsafe extern "C" {
9590 pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
9591}
9592unsafe extern "C" {
9593 pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
9594}
9595unsafe extern "C" {
9596 pub fn EVP_EncodeUpdate(
9597 ctx: *mut EVP_ENCODE_CTX,
9598 out: *mut u8,
9599 out_len: *mut ::core::ffi::c_int,
9600 in_: *const u8,
9601 in_len: usize,
9602 );
9603}
9604unsafe extern "C" {
9605 pub fn EVP_EncodeFinal(
9606 ctx: *mut EVP_ENCODE_CTX,
9607 out: *mut u8,
9608 out_len: *mut ::core::ffi::c_int,
9609 );
9610}
9611unsafe extern "C" {
9612 pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
9613}
9614unsafe extern "C" {
9615 pub fn EVP_DecodeUpdate(
9616 ctx: *mut EVP_ENCODE_CTX,
9617 out: *mut u8,
9618 out_len: *mut ::core::ffi::c_int,
9619 in_: *const u8,
9620 in_len: usize,
9621 ) -> ::core::ffi::c_int;
9622}
9623unsafe extern "C" {
9624 pub fn EVP_DecodeFinal(
9625 ctx: *mut EVP_ENCODE_CTX,
9626 out: *mut u8,
9627 out_len: *mut ::core::ffi::c_int,
9628 ) -> ::core::ffi::c_int;
9629}
9630unsafe extern "C" {
9631 pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::core::ffi::c_int;
9632}
9633#[repr(C)]
9634#[derive(Debug, Copy, Clone)]
9635pub struct evp_encode_ctx_st {
9636 pub data_used: ::core::ffi::c_uint,
9637 pub data: [u8; 48usize],
9638 pub eof_seen: ::core::ffi::c_char,
9639 pub error_encountered: ::core::ffi::c_char,
9640}
9641#[repr(C)]
9642#[derive(Debug, Copy, Clone)]
9643pub struct blake2b_state_st {
9644 pub h: [u64; 8usize],
9645 pub t_low: u64,
9646 pub t_high: u32,
9647 pub block_used: u32,
9648 pub block: [u8; 128usize],
9649}
9650unsafe extern "C" {
9651 pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
9652}
9653unsafe extern "C" {
9654 pub fn BLAKE2B256_Update(b2b: *mut BLAKE2B_CTX, data: *const ::core::ffi::c_void, len: usize);
9655}
9656unsafe extern "C" {
9657 pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
9658}
9659unsafe extern "C" {
9660 pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
9661}
9662#[repr(C)]
9663#[derive(Debug, Copy, Clone)]
9664pub struct bf_key_st {
9665 pub P: [u32; 18usize],
9666 pub S: [u32; 1024usize],
9667}
9668pub type BF_KEY = bf_key_st;
9669unsafe extern "C" {
9670 pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
9671}
9672unsafe extern "C" {
9673 pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
9674}
9675unsafe extern "C" {
9676 pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
9677}
9678unsafe extern "C" {
9679 pub fn BF_ecb_encrypt(
9680 in_: *const u8,
9681 out: *mut u8,
9682 key: *const BF_KEY,
9683 enc: ::core::ffi::c_int,
9684 );
9685}
9686unsafe extern "C" {
9687 pub fn BF_cbc_encrypt(
9688 in_: *const u8,
9689 out: *mut u8,
9690 length: usize,
9691 schedule: *const BF_KEY,
9692 ivec: *mut u8,
9693 enc: ::core::ffi::c_int,
9694 );
9695}
9696#[repr(C)]
9697#[derive(Debug, Copy, Clone)]
9698pub struct cbs_st {
9699 pub data: *const u8,
9700 pub len: usize,
9701}
9702unsafe extern "C" {
9703 #[link_name = "CBS_init__extern"]
9704 pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
9705}
9706unsafe extern "C" {
9707 pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::core::ffi::c_int;
9708}
9709unsafe extern "C" {
9710 #[link_name = "CBS_data__extern"]
9711 pub fn CBS_data(cbs: *const CBS) -> *const u8;
9712}
9713unsafe extern "C" {
9714 #[link_name = "CBS_len__extern"]
9715 pub fn CBS_len(cbs: *const CBS) -> usize;
9716}
9717unsafe extern "C" {
9718 pub fn CBS_stow(
9719 cbs: *const CBS,
9720 out_ptr: *mut *mut u8,
9721 out_len: *mut usize,
9722 ) -> ::core::ffi::c_int;
9723}
9724unsafe extern "C" {
9725 pub fn CBS_strdup(
9726 cbs: *const CBS,
9727 out_ptr: *mut *mut ::core::ffi::c_char,
9728 ) -> ::core::ffi::c_int;
9729}
9730unsafe extern "C" {
9731 pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::core::ffi::c_int;
9732}
9733unsafe extern "C" {
9734 pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::core::ffi::c_int;
9735}
9736unsafe extern "C" {
9737 pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9738}
9739unsafe extern "C" {
9740 pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9741}
9742unsafe extern "C" {
9743 pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9744}
9745unsafe extern "C" {
9746 pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9747}
9748unsafe extern "C" {
9749 pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9750}
9751unsafe extern "C" {
9752 pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9753}
9754unsafe extern "C" {
9755 pub fn CBS_get_u48(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9756}
9757unsafe extern "C" {
9758 pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9759}
9760unsafe extern "C" {
9761 pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9762}
9763unsafe extern "C" {
9764 pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9765}
9766unsafe extern "C" {
9767 pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::core::ffi::c_int;
9768}
9769unsafe extern "C" {
9770 pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::core::ffi::c_int;
9771}
9772unsafe extern "C" {
9773 pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9774}
9775unsafe extern "C" {
9776 pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9777}
9778unsafe extern "C" {
9779 pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9780}
9781unsafe extern "C" {
9782 pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::core::ffi::c_int;
9783}
9784unsafe extern "C" {
9785 pub fn CBS_get_until_first_of(
9786 cbs: *mut CBS,
9787 out: *mut CBS,
9788 chars: *const ::core::ffi::c_char,
9789 ) -> ::core::ffi::c_int;
9790}
9791unsafe extern "C" {
9792 pub fn CBS_get_until_first_not_of(
9793 cbs: *mut CBS,
9794 out: *mut CBS,
9795 chars: *const ::core::ffi::c_char,
9796 ) -> ::core::ffi::c_int;
9797}
9798unsafe extern "C" {
9799 pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9800}
9801unsafe extern "C" {
9802 pub fn CBS_get_asn1(
9803 cbs: *mut CBS,
9804 out: *mut CBS,
9805 tag_value: CBS_ASN1_TAG,
9806 ) -> ::core::ffi::c_int;
9807}
9808unsafe extern "C" {
9809 pub fn CBS_get_asn1_element(
9810 cbs: *mut CBS,
9811 out: *mut CBS,
9812 tag_value: CBS_ASN1_TAG,
9813 ) -> ::core::ffi::c_int;
9814}
9815unsafe extern "C" {
9816 pub fn CBS_peek_any_asn1_tag(cbs: *const CBS) -> CBS_ASN1_TAG;
9817}
9818unsafe extern "C" {
9819 pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::core::ffi::c_int;
9820}
9821unsafe extern "C" {
9822 pub fn CBS_get_any_asn1(
9823 cbs: *mut CBS,
9824 out: *mut CBS,
9825 out_tag: *mut CBS_ASN1_TAG,
9826 ) -> ::core::ffi::c_int;
9827}
9828unsafe extern "C" {
9829 pub fn CBS_get_any_asn1_element(
9830 cbs: *mut CBS,
9831 out: *mut CBS,
9832 out_tag: *mut CBS_ASN1_TAG,
9833 out_header_len: *mut usize,
9834 ) -> ::core::ffi::c_int;
9835}
9836unsafe extern "C" {
9837 pub fn CBS_get_any_ber_asn1_element(
9838 cbs: *mut CBS,
9839 out: *mut CBS,
9840 out_tag: *mut CBS_ASN1_TAG,
9841 out_header_len: *mut usize,
9842 out_ber_found: *mut ::core::ffi::c_int,
9843 out_indefinite: *mut ::core::ffi::c_int,
9844 ) -> ::core::ffi::c_int;
9845}
9846unsafe extern "C" {
9847 pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9848}
9849unsafe extern "C" {
9850 pub fn CBS_get_asn1_uint64_with_tag(
9851 cbs: *mut CBS,
9852 out: *mut u64,
9853 tag: CBS_ASN1_TAG,
9854 ) -> ::core::ffi::c_int;
9855}
9856unsafe extern "C" {
9857 pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::core::ffi::c_int;
9858}
9859unsafe extern "C" {
9860 pub fn CBS_get_asn1_int64_with_tag(
9861 cbs: *mut CBS,
9862 out: *mut i64,
9863 tag: CBS_ASN1_TAG,
9864 ) -> ::core::ffi::c_int;
9865}
9866unsafe extern "C" {
9867 pub fn CBS_get_asn1_bool(cbs: *mut CBS, out: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
9868}
9869unsafe extern "C" {
9870 pub fn CBS_get_optional_asn1(
9871 cbs: *mut CBS,
9872 out: *mut CBS,
9873 out_present: *mut ::core::ffi::c_int,
9874 tag: CBS_ASN1_TAG,
9875 ) -> ::core::ffi::c_int;
9876}
9877unsafe extern "C" {
9878 pub fn CBS_get_optional_asn1_octet_string(
9879 cbs: *mut CBS,
9880 out: *mut CBS,
9881 out_present: *mut ::core::ffi::c_int,
9882 tag: CBS_ASN1_TAG,
9883 ) -> ::core::ffi::c_int;
9884}
9885unsafe extern "C" {
9886 pub fn CBS_get_optional_asn1_uint64(
9887 cbs: *mut CBS,
9888 out: *mut u64,
9889 tag: CBS_ASN1_TAG,
9890 default_value: u64,
9891 ) -> ::core::ffi::c_int;
9892}
9893unsafe extern "C" {
9894 pub fn CBS_get_optional_asn1_bool(
9895 cbs: *mut CBS,
9896 out: *mut ::core::ffi::c_int,
9897 tag: CBS_ASN1_TAG,
9898 default_value: ::core::ffi::c_int,
9899 ) -> ::core::ffi::c_int;
9900}
9901unsafe extern "C" {
9902 pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::core::ffi::c_int;
9903}
9904unsafe extern "C" {
9905 pub fn CBS_asn1_bitstring_has_bit(
9906 cbs: *const CBS,
9907 bit: ::core::ffi::c_uint,
9908 ) -> ::core::ffi::c_int;
9909}
9910unsafe extern "C" {
9911 pub fn CBS_is_valid_asn1_integer(
9912 cbs: *const CBS,
9913 out_is_negative: *mut ::core::ffi::c_int,
9914 ) -> ::core::ffi::c_int;
9915}
9916unsafe extern "C" {
9917 pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::core::ffi::c_int;
9918}
9919unsafe extern "C" {
9920 pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9921}
9922unsafe extern "C" {
9923 pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9924}
9925unsafe extern "C" {
9926 pub fn CBS_is_valid_asn1_relative_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9927}
9928unsafe extern "C" {
9929 pub fn CBS_asn1_relative_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9930}
9931unsafe extern "C" {
9932 pub fn CBS_parse_generalized_time(
9933 cbs: *const CBS,
9934 out_tm: *mut tm,
9935 allow_timezone_offset: ::core::ffi::c_int,
9936 ) -> ::core::ffi::c_int;
9937}
9938unsafe extern "C" {
9939 pub fn CBS_parse_utc_time(
9940 cbs: *const CBS,
9941 out_tm: *mut tm,
9942 allow_timezone_offset: ::core::ffi::c_int,
9943 ) -> ::core::ffi::c_int;
9944}
9945#[repr(C)]
9946#[derive(Debug, Copy, Clone)]
9947pub struct cbb_buffer_st {
9948 pub buf: *mut u8,
9949 pub len: usize,
9950 pub cap: usize,
9951 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
9952 pub __bindgen_padding_0: [u8; 7usize],
9953}
9954impl cbb_buffer_st {
9955 #[inline]
9956 pub fn can_resize(&self) -> ::core::ffi::c_uint {
9957 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
9958 }
9959 #[inline]
9960 pub fn set_can_resize(&mut self, val: ::core::ffi::c_uint) {
9961 let val: u32 = val as _;
9962 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
9963 }
9964 #[inline]
9965 pub unsafe fn can_resize_raw(this: *const Self) -> ::core::ffi::c_uint {
9966 unsafe {
9967 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
9968 ::core::ptr::addr_of!((*this)._bitfield_1),
9969 ) as u32 as _
9970 }
9971 }
9972 #[inline]
9973 pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::core::ffi::c_uint) {
9974 unsafe {
9975 let val: u32 = val as _;
9976 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
9977 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9978 val as u64,
9979 )
9980 }
9981 }
9982 #[inline]
9983 pub fn error(&self) -> ::core::ffi::c_uint {
9984 self._bitfield_1.get_const::<1usize, 1u8>() as u32 as _
9985 }
9986 #[inline]
9987 pub fn set_error(&mut self, val: ::core::ffi::c_uint) {
9988 let val: u32 = val as _;
9989 self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
9990 }
9991 #[inline]
9992 pub unsafe fn error_raw(this: *const Self) -> ::core::ffi::c_uint {
9993 unsafe {
9994 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
9995 ::core::ptr::addr_of!((*this)._bitfield_1),
9996 ) as u32 as _
9997 }
9998 }
9999 #[inline]
10000 pub unsafe fn set_error_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10001 unsafe {
10002 let val: u32 = val as _;
10003 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
10004 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10005 val as u64,
10006 )
10007 }
10008 }
10009 #[inline]
10010 pub fn new_bitfield_1(
10011 can_resize: ::core::ffi::c_uint,
10012 error: ::core::ffi::c_uint,
10013 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10014 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10015 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10016 let can_resize: u32 = can_resize as _;
10017 can_resize as u64
10018 });
10019 __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
10020 let error: u32 = error as _;
10021 error as u64
10022 });
10023 __bindgen_bitfield_unit
10024 }
10025}
10026#[repr(C)]
10027#[derive(Debug, Copy, Clone)]
10028pub struct cbb_child_st {
10029 pub base: *mut cbb_buffer_st,
10030 pub offset: usize,
10031 pub pending_len_len: u8,
10032 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
10033 pub __bindgen_padding_0: [u16; 3usize],
10034}
10035impl cbb_child_st {
10036 #[inline]
10037 pub fn pending_is_asn1(&self) -> ::core::ffi::c_uint {
10038 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
10039 }
10040 #[inline]
10041 pub fn set_pending_is_asn1(&mut self, val: ::core::ffi::c_uint) {
10042 let val: u32 = val as _;
10043 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
10044 }
10045 #[inline]
10046 pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::core::ffi::c_uint {
10047 unsafe {
10048 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
10049 ::core::ptr::addr_of!((*this)._bitfield_1),
10050 ) as u32 as _
10051 }
10052 }
10053 #[inline]
10054 pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10055 unsafe {
10056 let val: u32 = val as _;
10057 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
10058 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10059 val as u64,
10060 )
10061 }
10062 }
10063 #[inline]
10064 pub fn new_bitfield_1(
10065 pending_is_asn1: ::core::ffi::c_uint,
10066 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10067 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10068 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10069 let pending_is_asn1: u32 = pending_is_asn1 as _;
10070 pending_is_asn1 as u64
10071 });
10072 __bindgen_bitfield_unit
10073 }
10074}
10075#[repr(C)]
10076#[derive(Copy, Clone)]
10077pub struct cbb_st {
10078 pub child: *mut CBB,
10079 pub is_child: ::core::ffi::c_char,
10080 pub u: cbb_st__bindgen_ty_1,
10081}
10082#[repr(C)]
10083#[derive(Copy, Clone)]
10084pub union cbb_st__bindgen_ty_1 {
10085 pub base: cbb_buffer_st,
10086 pub child: cbb_child_st,
10087}
10088unsafe extern "C" {
10089 pub fn CBB_zero(cbb: *mut CBB);
10090}
10091unsafe extern "C" {
10092 pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::core::ffi::c_int;
10093}
10094unsafe extern "C" {
10095 pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::core::ffi::c_int;
10096}
10097unsafe extern "C" {
10098 pub fn CBB_cleanup(cbb: *mut CBB);
10099}
10100unsafe extern "C" {
10101 pub fn CBB_finish(
10102 cbb: *mut CBB,
10103 out_data: *mut *mut u8,
10104 out_len: *mut usize,
10105 ) -> ::core::ffi::c_int;
10106}
10107unsafe extern "C" {
10108 pub fn CBB_flush(cbb: *mut CBB) -> ::core::ffi::c_int;
10109}
10110unsafe extern "C" {
10111 pub fn CBB_data(cbb: *const CBB) -> *mut u8;
10112}
10113unsafe extern "C" {
10114 pub fn CBB_len(cbb: *const CBB) -> usize;
10115}
10116unsafe extern "C" {
10117 pub fn CBB_add_u8_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB) -> ::core::ffi::c_int;
10118}
10119unsafe extern "C" {
10120 pub fn CBB_add_u16_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10121 -> ::core::ffi::c_int;
10122}
10123unsafe extern "C" {
10124 pub fn CBB_add_u24_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10125 -> ::core::ffi::c_int;
10126}
10127unsafe extern "C" {
10128 pub fn CBB_add_asn1(
10129 cbb: *mut CBB,
10130 out_contents: *mut CBB,
10131 tag: CBS_ASN1_TAG,
10132 ) -> ::core::ffi::c_int;
10133}
10134unsafe extern "C" {
10135 pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::core::ffi::c_int;
10136}
10137unsafe extern "C" {
10138 pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10139}
10140unsafe extern "C" {
10141 pub fn CBB_add_space(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10142}
10143unsafe extern "C" {
10144 pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10145}
10146unsafe extern "C" {
10147 pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10148}
10149unsafe extern "C" {
10150 pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::core::ffi::c_int;
10151}
10152unsafe extern "C" {
10153 pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10154}
10155unsafe extern "C" {
10156 pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10157}
10158unsafe extern "C" {
10159 pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10160}
10161unsafe extern "C" {
10162 pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10163}
10164unsafe extern "C" {
10165 pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10166}
10167unsafe extern "C" {
10168 pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10169}
10170unsafe extern "C" {
10171 pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10172}
10173unsafe extern "C" {
10174 pub fn CBB_discard(cbb: *mut CBB, len: usize);
10175}
10176unsafe extern "C" {
10177 pub fn CBB_discard_child(cbb: *mut CBB);
10178}
10179unsafe extern "C" {
10180 pub fn CBB_add_asn1_element(
10181 cbb: *mut CBB,
10182 tag: CBS_ASN1_TAG,
10183 data: *const u8,
10184 data_len: usize,
10185 ) -> ::core::ffi::c_int;
10186}
10187unsafe extern "C" {
10188 pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10189}
10190unsafe extern "C" {
10191 pub fn CBB_add_asn1_uint64_with_tag(
10192 cbb: *mut CBB,
10193 value: u64,
10194 tag: CBS_ASN1_TAG,
10195 ) -> ::core::ffi::c_int;
10196}
10197unsafe extern "C" {
10198 pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::core::ffi::c_int;
10199}
10200unsafe extern "C" {
10201 pub fn CBB_add_asn1_int64_with_tag(
10202 cbb: *mut CBB,
10203 value: i64,
10204 tag: CBS_ASN1_TAG,
10205 ) -> ::core::ffi::c_int;
10206}
10207unsafe extern "C" {
10208 pub fn CBB_add_asn1_octet_string(
10209 cbb: *mut CBB,
10210 data: *const u8,
10211 data_len: usize,
10212 ) -> ::core::ffi::c_int;
10213}
10214unsafe extern "C" {
10215 pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::core::ffi::c_int) -> ::core::ffi::c_int;
10216}
10217unsafe extern "C" {
10218 pub fn CBB_add_asn1_oid_from_text(
10219 cbb: *mut CBB,
10220 text: *const ::core::ffi::c_char,
10221 len: usize,
10222 ) -> ::core::ffi::c_int;
10223}
10224unsafe extern "C" {
10225 pub fn CBB_add_asn1_relative_oid_from_text(
10226 cbb: *mut CBB,
10227 text: *const ::core::ffi::c_char,
10228 len: usize,
10229 ) -> ::core::ffi::c_int;
10230}
10231unsafe extern "C" {
10232 pub fn CBB_add_asn1_oid_component(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10233}
10234unsafe extern "C" {
10235 pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::core::ffi::c_int;
10236}
10237unsafe extern "C" {
10238 pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10239}
10240unsafe extern "C" {
10241 pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10242}
10243unsafe extern "C" {
10244 pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10245}
10246unsafe extern "C" {
10247 pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10248}
10249unsafe extern "C" {
10250 pub fn CBB_get_utf8_len(u: u32) -> usize;
10251}
10252unsafe extern "C" {
10253 pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10254}
10255unsafe extern "C" {
10256 pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10257}
10258unsafe extern "C" {
10259 pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10260}
10261unsafe extern "C" {
10262 pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10263}
10264#[repr(C)]
10265#[derive(Debug, Copy, Clone)]
10266pub struct cast_key_st {
10267 pub data: [u32; 32usize],
10268 pub short_key: ::core::ffi::c_int,
10269}
10270pub type CAST_KEY = cast_key_st;
10271unsafe extern "C" {
10272 pub fn CAST_set_key(key: *mut CAST_KEY, len: usize, data: *const u8);
10273}
10274unsafe extern "C" {
10275 pub fn CAST_ecb_encrypt(
10276 in_: *const u8,
10277 out: *mut u8,
10278 key: *const CAST_KEY,
10279 enc: ::core::ffi::c_int,
10280 );
10281}
10282unsafe extern "C" {
10283 pub fn CAST_encrypt(data: *mut u32, key: *const CAST_KEY);
10284}
10285unsafe extern "C" {
10286 pub fn CAST_decrypt(data: *mut u32, key: *const CAST_KEY);
10287}
10288unsafe extern "C" {
10289 pub fn CAST_cbc_encrypt(
10290 in_: *const u8,
10291 out: *mut u8,
10292 length: usize,
10293 ks: *const CAST_KEY,
10294 iv: *mut u8,
10295 enc: ::core::ffi::c_int,
10296 );
10297}
10298unsafe extern "C" {
10299 pub fn CAST_cfb64_encrypt(
10300 in_: *const u8,
10301 out: *mut u8,
10302 length: usize,
10303 schedule: *const CAST_KEY,
10304 ivec: *mut u8,
10305 num: *mut ::core::ffi::c_int,
10306 enc: ::core::ffi::c_int,
10307 );
10308}
10309unsafe extern "C" {
10310 pub fn CRYPTO_chacha_20(
10311 out: *mut u8,
10312 in_: *const u8,
10313 in_len: usize,
10314 key: *const u8,
10315 nonce: *const u8,
10316 counter: u32,
10317 );
10318}
10319unsafe extern "C" {
10320 pub fn EVP_rc4() -> *const EVP_CIPHER;
10321}
10322unsafe extern "C" {
10323 pub fn EVP_des_cbc() -> *const EVP_CIPHER;
10324}
10325unsafe extern "C" {
10326 pub fn EVP_des_ecb() -> *const EVP_CIPHER;
10327}
10328unsafe extern "C" {
10329 pub fn EVP_des_ede() -> *const EVP_CIPHER;
10330}
10331unsafe extern "C" {
10332 pub fn EVP_des_ede3() -> *const EVP_CIPHER;
10333}
10334unsafe extern "C" {
10335 pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
10336}
10337unsafe extern "C" {
10338 pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
10339}
10340unsafe extern "C" {
10341 pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
10342}
10343unsafe extern "C" {
10344 pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
10345}
10346unsafe extern "C" {
10347 pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
10348}
10349unsafe extern "C" {
10350 pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
10351}
10352unsafe extern "C" {
10353 pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
10354}
10355unsafe extern "C" {
10356 pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
10357}
10358unsafe extern "C" {
10359 pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
10360}
10361unsafe extern "C" {
10362 pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
10363}
10364unsafe extern "C" {
10365 pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
10366}
10367unsafe extern "C" {
10368 pub fn EVP_enc_null() -> *const EVP_CIPHER;
10369}
10370unsafe extern "C" {
10371 pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
10372}
10373unsafe extern "C" {
10374 pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
10375}
10376unsafe extern "C" {
10377 pub fn EVP_get_cipherbynid(nid: ::core::ffi::c_int) -> *const EVP_CIPHER;
10378}
10379unsafe extern "C" {
10380 pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
10381}
10382unsafe extern "C" {
10383 pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
10384}
10385unsafe extern "C" {
10386 pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10387}
10388unsafe extern "C" {
10389 pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
10390}
10391unsafe extern "C" {
10392 pub fn EVP_CIPHER_CTX_copy(
10393 out: *mut EVP_CIPHER_CTX,
10394 in_: *const EVP_CIPHER_CTX,
10395 ) -> ::core::ffi::c_int;
10396}
10397unsafe extern "C" {
10398 pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10399}
10400unsafe extern "C" {
10401 pub fn EVP_CipherInit_ex(
10402 ctx: *mut EVP_CIPHER_CTX,
10403 cipher: *const EVP_CIPHER,
10404 engine: *mut ENGINE,
10405 key: *const u8,
10406 iv: *const u8,
10407 enc: ::core::ffi::c_int,
10408 ) -> ::core::ffi::c_int;
10409}
10410unsafe extern "C" {
10411 pub fn EVP_EncryptInit_ex(
10412 ctx: *mut EVP_CIPHER_CTX,
10413 cipher: *const EVP_CIPHER,
10414 impl_: *mut ENGINE,
10415 key: *const u8,
10416 iv: *const u8,
10417 ) -> ::core::ffi::c_int;
10418}
10419unsafe extern "C" {
10420 pub fn EVP_DecryptInit_ex(
10421 ctx: *mut EVP_CIPHER_CTX,
10422 cipher: *const EVP_CIPHER,
10423 impl_: *mut ENGINE,
10424 key: *const u8,
10425 iv: *const u8,
10426 ) -> ::core::ffi::c_int;
10427}
10428unsafe extern "C" {
10429 pub fn EVP_EncryptUpdate_ex(
10430 ctx: *mut EVP_CIPHER_CTX,
10431 out: *mut u8,
10432 out_len: *mut usize,
10433 max_out_len: usize,
10434 in_: *const u8,
10435 in_len: usize,
10436 ) -> ::core::ffi::c_int;
10437}
10438unsafe extern "C" {
10439 pub fn EVP_EncryptFinal_ex2(
10440 ctx: *mut EVP_CIPHER_CTX,
10441 out: *mut u8,
10442 out_len: *mut usize,
10443 max_out_len: usize,
10444 ) -> ::core::ffi::c_int;
10445}
10446unsafe extern "C" {
10447 pub fn EVP_DecryptUpdate_ex(
10448 ctx: *mut EVP_CIPHER_CTX,
10449 out: *mut u8,
10450 out_len: *mut usize,
10451 max_out_len: usize,
10452 in_: *const u8,
10453 in_len: usize,
10454 ) -> ::core::ffi::c_int;
10455}
10456unsafe extern "C" {
10457 pub fn EVP_DecryptFinal_ex2(
10458 ctx: *mut EVP_CIPHER_CTX,
10459 out: *mut u8,
10460 out_len: *mut usize,
10461 max_out_len: usize,
10462 ) -> ::core::ffi::c_int;
10463}
10464unsafe extern "C" {
10465 pub fn EVP_CipherUpdate_ex(
10466 ctx: *mut EVP_CIPHER_CTX,
10467 out: *mut u8,
10468 out_len: *mut usize,
10469 max_out_len: usize,
10470 in_: *const u8,
10471 in_len: usize,
10472 ) -> ::core::ffi::c_int;
10473}
10474unsafe extern "C" {
10475 pub fn EVP_CipherUpdateAAD(
10476 ctx: *mut EVP_CIPHER_CTX,
10477 in_: *const u8,
10478 in_len: usize,
10479 ) -> ::core::ffi::c_int;
10480}
10481unsafe extern "C" {
10482 pub fn EVP_CipherFinal_ex2(
10483 ctx: *mut EVP_CIPHER_CTX,
10484 out: *mut u8,
10485 out_len: *mut usize,
10486 max_out_len: usize,
10487 ) -> ::core::ffi::c_int;
10488}
10489unsafe extern "C" {
10490 pub fn EVP_CIPHER_CTX_max_next_update(ctx: *const EVP_CIPHER_CTX, in_len: usize) -> usize;
10491}
10492unsafe extern "C" {
10493 pub fn EVP_CIPHER_CTX_max_final(ctx: *const EVP_CIPHER_CTX) -> usize;
10494}
10495unsafe extern "C" {
10496 pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
10497}
10498unsafe extern "C" {
10499 pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10500}
10501unsafe extern "C" {
10502 pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10503}
10504unsafe extern "C" {
10505 pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10506}
10507unsafe extern "C" {
10508 pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10509}
10510unsafe extern "C" {
10511 pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10512}
10513unsafe extern "C" {
10514 pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::core::ffi::c_void;
10515}
10516unsafe extern "C" {
10517 pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::core::ffi::c_void);
10518}
10519unsafe extern "C" {
10520 pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
10521}
10522unsafe extern "C" {
10523 pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
10524}
10525unsafe extern "C" {
10526 pub fn EVP_CIPHER_CTX_ctrl(
10527 ctx: *mut EVP_CIPHER_CTX,
10528 command: ::core::ffi::c_int,
10529 arg: ::core::ffi::c_int,
10530 ptr: *mut ::core::ffi::c_void,
10531 ) -> ::core::ffi::c_int;
10532}
10533unsafe extern "C" {
10534 pub fn EVP_CIPHER_CTX_set_padding(
10535 ctx: *mut EVP_CIPHER_CTX,
10536 pad: ::core::ffi::c_int,
10537 ) -> ::core::ffi::c_int;
10538}
10539unsafe extern "C" {
10540 pub fn EVP_CIPHER_CTX_set_key_length(
10541 ctx: *mut EVP_CIPHER_CTX,
10542 key_len: ::core::ffi::c_uint,
10543 ) -> ::core::ffi::c_int;
10544}
10545unsafe extern "C" {
10546 pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::core::ffi::c_int;
10547}
10548unsafe extern "C" {
10549 pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10550}
10551unsafe extern "C" {
10552 pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10553}
10554unsafe extern "C" {
10555 pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10556}
10557unsafe extern "C" {
10558 pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
10559}
10560unsafe extern "C" {
10561 pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
10562}
10563unsafe extern "C" {
10564 pub fn EVP_BytesToKey(
10565 type_: *const EVP_CIPHER,
10566 md: *const EVP_MD,
10567 salt: *const u8,
10568 data: *const u8,
10569 data_len: usize,
10570 count: ::core::ffi::c_uint,
10571 key: *mut u8,
10572 iv: *mut u8,
10573 ) -> ::core::ffi::c_int;
10574}
10575unsafe extern "C" {
10576 pub fn EVP_CipherInit(
10577 ctx: *mut EVP_CIPHER_CTX,
10578 cipher: *const EVP_CIPHER,
10579 key: *const u8,
10580 iv: *const u8,
10581 enc: ::core::ffi::c_int,
10582 ) -> ::core::ffi::c_int;
10583}
10584unsafe extern "C" {
10585 pub fn EVP_EncryptInit(
10586 ctx: *mut EVP_CIPHER_CTX,
10587 cipher: *const EVP_CIPHER,
10588 key: *const u8,
10589 iv: *const u8,
10590 ) -> ::core::ffi::c_int;
10591}
10592unsafe extern "C" {
10593 pub fn EVP_DecryptInit(
10594 ctx: *mut EVP_CIPHER_CTX,
10595 cipher: *const EVP_CIPHER,
10596 key: *const u8,
10597 iv: *const u8,
10598 ) -> ::core::ffi::c_int;
10599}
10600unsafe extern "C" {
10601 pub fn EVP_CipherUpdate(
10602 ctx: *mut EVP_CIPHER_CTX,
10603 out: *mut u8,
10604 out_len: *mut ::core::ffi::c_int,
10605 in_: *const u8,
10606 in_len: ::core::ffi::c_int,
10607 ) -> ::core::ffi::c_int;
10608}
10609unsafe extern "C" {
10610 pub fn EVP_EncryptUpdate(
10611 ctx: *mut EVP_CIPHER_CTX,
10612 out: *mut u8,
10613 out_len: *mut ::core::ffi::c_int,
10614 in_: *const u8,
10615 in_len: ::core::ffi::c_int,
10616 ) -> ::core::ffi::c_int;
10617}
10618unsafe extern "C" {
10619 pub fn EVP_DecryptUpdate(
10620 ctx: *mut EVP_CIPHER_CTX,
10621 out: *mut u8,
10622 out_len: *mut ::core::ffi::c_int,
10623 in_: *const u8,
10624 in_len: ::core::ffi::c_int,
10625 ) -> ::core::ffi::c_int;
10626}
10627unsafe extern "C" {
10628 pub fn EVP_CipherFinal(
10629 ctx: *mut EVP_CIPHER_CTX,
10630 out: *mut u8,
10631 out_len: *mut ::core::ffi::c_int,
10632 ) -> ::core::ffi::c_int;
10633}
10634unsafe extern "C" {
10635 pub fn EVP_CipherFinal_ex(
10636 ctx: *mut EVP_CIPHER_CTX,
10637 out: *mut u8,
10638 out_len: *mut ::core::ffi::c_int,
10639 ) -> ::core::ffi::c_int;
10640}
10641unsafe extern "C" {
10642 pub fn EVP_EncryptFinal(
10643 ctx: *mut EVP_CIPHER_CTX,
10644 out: *mut u8,
10645 out_len: *mut ::core::ffi::c_int,
10646 ) -> ::core::ffi::c_int;
10647}
10648unsafe extern "C" {
10649 pub fn EVP_EncryptFinal_ex(
10650 ctx: *mut EVP_CIPHER_CTX,
10651 out: *mut u8,
10652 out_len: *mut ::core::ffi::c_int,
10653 ) -> ::core::ffi::c_int;
10654}
10655unsafe extern "C" {
10656 pub fn EVP_DecryptFinal(
10657 ctx: *mut EVP_CIPHER_CTX,
10658 out: *mut u8,
10659 out_len: *mut ::core::ffi::c_int,
10660 ) -> ::core::ffi::c_int;
10661}
10662unsafe extern "C" {
10663 pub fn EVP_DecryptFinal_ex(
10664 ctx: *mut EVP_CIPHER_CTX,
10665 out: *mut u8,
10666 out_len: *mut ::core::ffi::c_int,
10667 ) -> ::core::ffi::c_int;
10668}
10669unsafe extern "C" {
10670 pub fn EVP_Cipher(
10671 ctx: *mut EVP_CIPHER_CTX,
10672 out: *mut u8,
10673 in_: *const u8,
10674 in_len: usize,
10675 ) -> ::core::ffi::c_int;
10676}
10677unsafe extern "C" {
10678 pub fn EVP_add_cipher_alias(
10679 a: *const ::core::ffi::c_char,
10680 b: *const ::core::ffi::c_char,
10681 ) -> ::core::ffi::c_int;
10682}
10683unsafe extern "C" {
10684 pub fn EVP_get_cipherbyname(name: *const ::core::ffi::c_char) -> *const EVP_CIPHER;
10685}
10686unsafe extern "C" {
10687 pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
10688}
10689unsafe extern "C" {
10690 pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
10691}
10692unsafe extern "C" {
10693 pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
10694}
10695unsafe extern "C" {
10696 pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
10697}
10698unsafe extern "C" {
10699 pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
10700}
10701unsafe extern "C" {
10702 pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
10703}
10704unsafe extern "C" {
10705 pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
10706}
10707unsafe extern "C" {
10708 pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
10709}
10710unsafe extern "C" {
10711 pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
10712}
10713unsafe extern "C" {
10714 pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
10715}
10716unsafe extern "C" {
10717 pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
10718}
10719unsafe extern "C" {
10720 pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
10721}
10722unsafe extern "C" {
10723 pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
10724}
10725unsafe extern "C" {
10726 pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
10727}
10728unsafe extern "C" {
10729 pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
10730}
10731unsafe extern "C" {
10732 pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
10733}
10734unsafe extern "C" {
10735 pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
10736}
10737unsafe extern "C" {
10738 pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
10739}
10740unsafe extern "C" {
10741 pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
10742}
10743unsafe extern "C" {
10744 pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
10745}
10746#[repr(C)]
10747#[derive(Debug, Copy, Clone)]
10748pub struct evp_cipher_ctx_st {
10749 pub cipher: *const EVP_CIPHER,
10750 pub app_data: *mut ::core::ffi::c_void,
10751 pub cipher_data: *mut ::core::ffi::c_void,
10752 pub key_len: ::core::ffi::c_uint,
10753 pub encrypt: ::core::ffi::c_int,
10754 pub flags: u32,
10755 pub oiv: [u8; 16usize],
10756 pub iv: [u8; 16usize],
10757 pub buf: [u8; 32usize],
10758 pub buf_len: ::core::ffi::c_int,
10759 pub num: ::core::ffi::c_uint,
10760 pub final_used: ::core::ffi::c_int,
10761 pub final_: [u8; 32usize],
10762 pub poisoned: ::core::ffi::c_int,
10763}
10764#[repr(C)]
10765#[derive(Debug, Copy, Clone)]
10766pub struct evp_cipher_info_st {
10767 pub cipher: *const EVP_CIPHER,
10768 pub iv: [::core::ffi::c_uchar; 16usize],
10769}
10770pub type EVP_CIPHER_INFO = evp_cipher_info_st;
10771unsafe extern "C" {
10772 pub fn AES_CMAC(
10773 out: *mut u8,
10774 key: *const u8,
10775 key_len: usize,
10776 in_: *const u8,
10777 in_len: usize,
10778 ) -> ::core::ffi::c_int;
10779}
10780unsafe extern "C" {
10781 pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
10782}
10783unsafe extern "C" {
10784 pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
10785}
10786unsafe extern "C" {
10787 pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::core::ffi::c_int;
10788}
10789unsafe extern "C" {
10790 pub fn CMAC_Init(
10791 ctx: *mut CMAC_CTX,
10792 key: *const ::core::ffi::c_void,
10793 key_len: usize,
10794 cipher: *const EVP_CIPHER,
10795 engine: *mut ENGINE,
10796 ) -> ::core::ffi::c_int;
10797}
10798unsafe extern "C" {
10799 pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::core::ffi::c_int;
10800}
10801unsafe extern "C" {
10802 pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::core::ffi::c_int;
10803}
10804unsafe extern "C" {
10805 pub fn CMAC_Final(ctx: *mut CMAC_CTX, out: *mut u8, out_len: *mut usize) -> ::core::ffi::c_int;
10806}
10807#[repr(C)]
10808#[derive(Debug, Copy, Clone)]
10809pub struct conf_value_st {
10810 pub section: *mut ::core::ffi::c_char,
10811 pub name: *mut ::core::ffi::c_char,
10812 pub value: *mut ::core::ffi::c_char,
10813}
10814#[repr(C)]
10815#[derive(Debug)]
10816pub struct stack_st_CONF_VALUE {
10817 _unused: [u8; 0],
10818}
10819pub type sk_CONF_VALUE_free_func =
10820 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
10821pub type sk_CONF_VALUE_copy_func =
10822 ::core::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
10823pub type sk_CONF_VALUE_cmp_func = ::core::option::Option<
10824 unsafe extern "C" fn(
10825 arg1: *const *const CONF_VALUE,
10826 arg2: *const *const CONF_VALUE,
10827 ) -> ::core::ffi::c_int,
10828>;
10829pub type sk_CONF_VALUE_delete_if_func = ::core::option::Option<
10830 unsafe extern "C" fn(
10831 arg1: *mut CONF_VALUE,
10832 arg2: *mut ::core::ffi::c_void,
10833 ) -> ::core::ffi::c_int,
10834>;
10835unsafe extern "C" {
10836 #[link_name = "sk_CONF_VALUE_call_free_func__extern"]
10837 pub fn sk_CONF_VALUE_call_free_func(
10838 free_func: OPENSSL_sk_free_func,
10839 ptr: *mut ::core::ffi::c_void,
10840 );
10841}
10842unsafe extern "C" {
10843 #[link_name = "sk_CONF_VALUE_call_copy_func__extern"]
10844 pub fn sk_CONF_VALUE_call_copy_func(
10845 copy_func: OPENSSL_sk_copy_func,
10846 ptr: *const ::core::ffi::c_void,
10847 ) -> *mut ::core::ffi::c_void;
10848}
10849unsafe extern "C" {
10850 #[link_name = "sk_CONF_VALUE_call_cmp_func__extern"]
10851 pub fn sk_CONF_VALUE_call_cmp_func(
10852 cmp_func: OPENSSL_sk_cmp_func,
10853 a: *const ::core::ffi::c_void,
10854 b: *const ::core::ffi::c_void,
10855 ) -> ::core::ffi::c_int;
10856}
10857unsafe extern "C" {
10858 #[link_name = "sk_CONF_VALUE_call_delete_if_func__extern"]
10859 pub fn sk_CONF_VALUE_call_delete_if_func(
10860 func: OPENSSL_sk_delete_if_func,
10861 obj: *mut ::core::ffi::c_void,
10862 data: *mut ::core::ffi::c_void,
10863 ) -> ::core::ffi::c_int;
10864}
10865unsafe extern "C" {
10866 #[link_name = "sk_CONF_VALUE_new__extern"]
10867 pub fn sk_CONF_VALUE_new(comp: sk_CONF_VALUE_cmp_func) -> *mut stack_st_CONF_VALUE;
10868}
10869unsafe extern "C" {
10870 #[link_name = "sk_CONF_VALUE_new_null__extern"]
10871 pub fn sk_CONF_VALUE_new_null() -> *mut stack_st_CONF_VALUE;
10872}
10873unsafe extern "C" {
10874 #[link_name = "sk_CONF_VALUE_num__extern"]
10875 pub fn sk_CONF_VALUE_num(sk: *const stack_st_CONF_VALUE) -> usize;
10876}
10877unsafe extern "C" {
10878 #[link_name = "sk_CONF_VALUE_zero__extern"]
10879 pub fn sk_CONF_VALUE_zero(sk: *mut stack_st_CONF_VALUE);
10880}
10881unsafe extern "C" {
10882 #[link_name = "sk_CONF_VALUE_value__extern"]
10883 pub fn sk_CONF_VALUE_value(sk: *const stack_st_CONF_VALUE, i: usize) -> *mut CONF_VALUE;
10884}
10885unsafe extern "C" {
10886 #[link_name = "sk_CONF_VALUE_set__extern"]
10887 pub fn sk_CONF_VALUE_set(
10888 sk: *mut stack_st_CONF_VALUE,
10889 i: usize,
10890 p: *mut CONF_VALUE,
10891 ) -> *mut CONF_VALUE;
10892}
10893unsafe extern "C" {
10894 #[link_name = "sk_CONF_VALUE_free__extern"]
10895 pub fn sk_CONF_VALUE_free(sk: *mut stack_st_CONF_VALUE);
10896}
10897unsafe extern "C" {
10898 #[link_name = "sk_CONF_VALUE_pop_free__extern"]
10899 pub fn sk_CONF_VALUE_pop_free(sk: *mut stack_st_CONF_VALUE, free_func: sk_CONF_VALUE_free_func);
10900}
10901unsafe extern "C" {
10902 #[link_name = "sk_CONF_VALUE_insert__extern"]
10903 pub fn sk_CONF_VALUE_insert(
10904 sk: *mut stack_st_CONF_VALUE,
10905 p: *mut CONF_VALUE,
10906 where_: usize,
10907 ) -> usize;
10908}
10909unsafe extern "C" {
10910 #[link_name = "sk_CONF_VALUE_delete__extern"]
10911 pub fn sk_CONF_VALUE_delete(sk: *mut stack_st_CONF_VALUE, where_: usize) -> *mut CONF_VALUE;
10912}
10913unsafe extern "C" {
10914 #[link_name = "sk_CONF_VALUE_delete_ptr__extern"]
10915 pub fn sk_CONF_VALUE_delete_ptr(
10916 sk: *mut stack_st_CONF_VALUE,
10917 p: *const CONF_VALUE,
10918 ) -> *mut CONF_VALUE;
10919}
10920unsafe extern "C" {
10921 #[link_name = "sk_CONF_VALUE_delete_if__extern"]
10922 pub fn sk_CONF_VALUE_delete_if(
10923 sk: *mut stack_st_CONF_VALUE,
10924 func: sk_CONF_VALUE_delete_if_func,
10925 data: *mut ::core::ffi::c_void,
10926 );
10927}
10928unsafe extern "C" {
10929 #[link_name = "sk_CONF_VALUE_find__extern"]
10930 pub fn sk_CONF_VALUE_find(
10931 sk: *const stack_st_CONF_VALUE,
10932 out_index: *mut usize,
10933 p: *const CONF_VALUE,
10934 ) -> ::core::ffi::c_int;
10935}
10936unsafe extern "C" {
10937 #[link_name = "sk_CONF_VALUE_shift__extern"]
10938 pub fn sk_CONF_VALUE_shift(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
10939}
10940unsafe extern "C" {
10941 #[link_name = "sk_CONF_VALUE_push__extern"]
10942 pub fn sk_CONF_VALUE_push(sk: *mut stack_st_CONF_VALUE, p: *mut CONF_VALUE) -> usize;
10943}
10944unsafe extern "C" {
10945 #[link_name = "sk_CONF_VALUE_pop__extern"]
10946 pub fn sk_CONF_VALUE_pop(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
10947}
10948unsafe extern "C" {
10949 #[link_name = "sk_CONF_VALUE_dup__extern"]
10950 pub fn sk_CONF_VALUE_dup(sk: *const stack_st_CONF_VALUE) -> *mut stack_st_CONF_VALUE;
10951}
10952unsafe extern "C" {
10953 #[link_name = "sk_CONF_VALUE_sort__extern"]
10954 pub fn sk_CONF_VALUE_sort(sk: *mut stack_st_CONF_VALUE);
10955}
10956unsafe extern "C" {
10957 #[link_name = "sk_CONF_VALUE_sort_and_dedup__extern"]
10958 pub fn sk_CONF_VALUE_sort_and_dedup(
10959 sk: *mut stack_st_CONF_VALUE,
10960 free_func: sk_CONF_VALUE_free_func,
10961 );
10962}
10963unsafe extern "C" {
10964 #[link_name = "sk_CONF_VALUE_is_sorted__extern"]
10965 pub fn sk_CONF_VALUE_is_sorted(sk: *const stack_st_CONF_VALUE) -> ::core::ffi::c_int;
10966}
10967unsafe extern "C" {
10968 #[link_name = "sk_CONF_VALUE_set_cmp_func__extern"]
10969 pub fn sk_CONF_VALUE_set_cmp_func(
10970 sk: *mut stack_st_CONF_VALUE,
10971 comp: sk_CONF_VALUE_cmp_func,
10972 ) -> sk_CONF_VALUE_cmp_func;
10973}
10974unsafe extern "C" {
10975 #[link_name = "sk_CONF_VALUE_deep_copy__extern"]
10976 pub fn sk_CONF_VALUE_deep_copy(
10977 sk: *const stack_st_CONF_VALUE,
10978 copy_func: sk_CONF_VALUE_copy_func,
10979 free_func: sk_CONF_VALUE_free_func,
10980 ) -> *mut stack_st_CONF_VALUE;
10981}
10982unsafe extern "C" {
10983 pub fn NCONF_new(method: *mut ::core::ffi::c_void) -> *mut CONF;
10984}
10985unsafe extern "C" {
10986 pub fn NCONF_free(conf: *mut CONF);
10987}
10988unsafe extern "C" {
10989 pub fn NCONF_load(
10990 conf: *mut CONF,
10991 filename: *const ::core::ffi::c_char,
10992 out_error_line: *mut ::core::ffi::c_long,
10993 ) -> ::core::ffi::c_int;
10994}
10995unsafe extern "C" {
10996 pub fn NCONF_load_bio(
10997 conf: *mut CONF,
10998 bio: *mut BIO,
10999 out_error_line: *mut ::core::ffi::c_long,
11000 ) -> ::core::ffi::c_int;
11001}
11002unsafe extern "C" {
11003 pub fn NCONF_get_section(
11004 conf: *const CONF,
11005 section: *const ::core::ffi::c_char,
11006 ) -> *const stack_st_CONF_VALUE;
11007}
11008unsafe extern "C" {
11009 pub fn NCONF_get_string(
11010 conf: *const CONF,
11011 section: *const ::core::ffi::c_char,
11012 name: *const ::core::ffi::c_char,
11013 ) -> *const ::core::ffi::c_char;
11014}
11015unsafe extern "C" {
11016 pub fn CONF_modules_load_file(
11017 filename: *const ::core::ffi::c_char,
11018 appname: *const ::core::ffi::c_char,
11019 flags: ::core::ffi::c_ulong,
11020 ) -> ::core::ffi::c_int;
11021}
11022unsafe extern "C" {
11023 pub fn CONF_modules_unload(all: ::core::ffi::c_int);
11024}
11025unsafe extern "C" {
11026 pub fn CONF_modules_free();
11027}
11028unsafe extern "C" {
11029 pub fn OPENSSL_config(config_name: *const ::core::ffi::c_char);
11030}
11031unsafe extern "C" {
11032 pub fn OPENSSL_no_config();
11033}
11034unsafe extern "C" {
11035 pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11036}
11037unsafe extern "C" {
11038 pub fn SHA224_Update(
11039 sha: *mut SHA256_CTX,
11040 data: *const ::core::ffi::c_void,
11041 len: usize,
11042 ) -> ::core::ffi::c_int;
11043}
11044unsafe extern "C" {
11045 pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11046}
11047unsafe extern "C" {
11048 pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11049}
11050unsafe extern "C" {
11051 pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11052}
11053unsafe extern "C" {
11054 pub fn SHA256_Update(
11055 sha: *mut SHA256_CTX,
11056 data: *const ::core::ffi::c_void,
11057 len: usize,
11058 ) -> ::core::ffi::c_int;
11059}
11060unsafe extern "C" {
11061 pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11062}
11063unsafe extern "C" {
11064 pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11065}
11066unsafe extern "C" {
11067 pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
11068}
11069unsafe extern "C" {
11070 pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
11071}
11072#[repr(C)]
11073#[derive(Debug, Copy, Clone)]
11074pub struct sha256_state_st {
11075 pub h: [u32; 8usize],
11076 pub Nl: u32,
11077 pub Nh: u32,
11078 pub data: [u8; 64usize],
11079 pub num: ::core::ffi::c_uint,
11080 pub md_len: ::core::ffi::c_uint,
11081}
11082unsafe extern "C" {
11083 pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11084}
11085unsafe extern "C" {
11086 pub fn SHA384_Update(
11087 sha: *mut SHA512_CTX,
11088 data: *const ::core::ffi::c_void,
11089 len: usize,
11090 ) -> ::core::ffi::c_int;
11091}
11092unsafe extern "C" {
11093 pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11094}
11095unsafe extern "C" {
11096 pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11097}
11098unsafe extern "C" {
11099 pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11100}
11101unsafe extern "C" {
11102 pub fn SHA512_Update(
11103 sha: *mut SHA512_CTX,
11104 data: *const ::core::ffi::c_void,
11105 len: usize,
11106 ) -> ::core::ffi::c_int;
11107}
11108unsafe extern "C" {
11109 pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11110}
11111unsafe extern "C" {
11112 pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11113}
11114unsafe extern "C" {
11115 pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
11116}
11117#[repr(C)]
11118#[derive(Debug, Copy, Clone)]
11119pub struct sha512_state_st {
11120 pub h: [u64; 8usize],
11121 pub num: u16,
11122 pub md_len: u16,
11123 pub bytes_so_far_high: u32,
11124 pub bytes_so_far_low: u64,
11125 pub p: [u8; 128usize],
11126}
11127unsafe extern "C" {
11128 pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11129}
11130unsafe extern "C" {
11131 pub fn SHA512_256_Update(
11132 sha: *mut SHA512_CTX,
11133 data: *const ::core::ffi::c_void,
11134 len: usize,
11135 ) -> ::core::ffi::c_int;
11136}
11137unsafe extern "C" {
11138 pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11139}
11140unsafe extern "C" {
11141 pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11142}
11143unsafe extern "C" {
11144 pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11145}
11146unsafe extern "C" {
11147 pub fn SHA1_Update(
11148 sha: *mut SHA_CTX,
11149 data: *const ::core::ffi::c_void,
11150 len: usize,
11151 ) -> ::core::ffi::c_int;
11152}
11153unsafe extern "C" {
11154 pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11155}
11156unsafe extern "C" {
11157 pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11158}
11159unsafe extern "C" {
11160 pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
11161}
11162#[repr(C)]
11163#[derive(Copy, Clone)]
11164pub struct sha_state_st {
11165 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1,
11166 pub Nl: u32,
11167 pub Nh: u32,
11168 pub data: [u8; 64usize],
11169 pub num: ::core::ffi::c_uint,
11170}
11171#[repr(C)]
11172#[derive(Copy, Clone)]
11173pub union sha_state_st__bindgen_ty_1 {
11174 pub h: [u32; 5usize],
11175 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1__bindgen_ty_1,
11176}
11177#[repr(C)]
11178#[derive(Debug, Copy, Clone)]
11179pub struct sha_state_st__bindgen_ty_1__bindgen_ty_1 {
11180 pub h0: u32,
11181 pub h1: u32,
11182 pub h2: u32,
11183 pub h3: u32,
11184 pub h4: u32,
11185}
11186unsafe extern "C" {
11187 pub fn CRYPTO_fips_186_2_prf(out: *mut u8, out_len: usize, xkey: *const u8);
11188}
11189unsafe extern "C" {
11190 pub fn OPENSSL_malloc(size: usize) -> *mut ::core::ffi::c_void;
11191}
11192unsafe extern "C" {
11193 pub fn OPENSSL_zalloc(size: usize) -> *mut ::core::ffi::c_void;
11194}
11195unsafe extern "C" {
11196 pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::core::ffi::c_void;
11197}
11198unsafe extern "C" {
11199 pub fn OPENSSL_realloc(
11200 ptr: *mut ::core::ffi::c_void,
11201 new_size: usize,
11202 ) -> *mut ::core::ffi::c_void;
11203}
11204unsafe extern "C" {
11205 pub fn OPENSSL_free(ptr: *mut ::core::ffi::c_void);
11206}
11207unsafe extern "C" {
11208 pub fn OPENSSL_cleanse(ptr: *mut ::core::ffi::c_void, len: usize);
11209}
11210unsafe extern "C" {
11211 pub fn CRYPTO_memcmp(
11212 a: *const ::core::ffi::c_void,
11213 b: *const ::core::ffi::c_void,
11214 len: usize,
11215 ) -> ::core::ffi::c_int;
11216}
11217unsafe extern "C" {
11218 pub fn OPENSSL_hash32(ptr: *const ::core::ffi::c_void, len: usize) -> u32;
11219}
11220unsafe extern "C" {
11221 pub fn OPENSSL_strhash(s: *const ::core::ffi::c_char) -> u32;
11222}
11223unsafe extern "C" {
11224 pub fn OPENSSL_strdup(s: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
11225}
11226unsafe extern "C" {
11227 pub fn OPENSSL_strnlen(s: *const ::core::ffi::c_char, len: usize) -> usize;
11228}
11229unsafe extern "C" {
11230 pub fn OPENSSL_isalpha(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11231}
11232unsafe extern "C" {
11233 pub fn OPENSSL_isdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11234}
11235unsafe extern "C" {
11236 pub fn OPENSSL_isxdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11237}
11238unsafe extern "C" {
11239 pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11240}
11241unsafe extern "C" {
11242 pub fn OPENSSL_isalnum(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11243}
11244unsafe extern "C" {
11245 pub fn OPENSSL_tolower(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11246}
11247unsafe extern "C" {
11248 pub fn OPENSSL_isspace(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11249}
11250unsafe extern "C" {
11251 pub fn OPENSSL_strcasecmp(
11252 a: *const ::core::ffi::c_char,
11253 b: *const ::core::ffi::c_char,
11254 ) -> ::core::ffi::c_int;
11255}
11256unsafe extern "C" {
11257 pub fn OPENSSL_strncasecmp(
11258 a: *const ::core::ffi::c_char,
11259 b: *const ::core::ffi::c_char,
11260 n: usize,
11261 ) -> ::core::ffi::c_int;
11262}
11263unsafe extern "C" {
11264 pub fn BIO_snprintf(
11265 buf: *mut ::core::ffi::c_char,
11266 n: usize,
11267 format: *const ::core::ffi::c_char,
11268 ...
11269 ) -> ::core::ffi::c_int;
11270}
11271unsafe extern "C" {
11272 pub fn BIO_vsnprintf(
11273 buf: *mut ::core::ffi::c_char,
11274 n: usize,
11275 format: *const ::core::ffi::c_char,
11276 args: *mut __va_list_tag,
11277 ) -> ::core::ffi::c_int;
11278}
11279unsafe extern "C" {
11280 pub fn OPENSSL_vasprintf(
11281 str_: *mut *mut ::core::ffi::c_char,
11282 format: *const ::core::ffi::c_char,
11283 args: *mut __va_list_tag,
11284 ) -> ::core::ffi::c_int;
11285}
11286unsafe extern "C" {
11287 pub fn OPENSSL_asprintf(
11288 str_: *mut *mut ::core::ffi::c_char,
11289 format: *const ::core::ffi::c_char,
11290 ...
11291 ) -> ::core::ffi::c_int;
11292}
11293unsafe extern "C" {
11294 pub fn OPENSSL_strndup(
11295 str_: *const ::core::ffi::c_char,
11296 size: usize,
11297 ) -> *mut ::core::ffi::c_char;
11298}
11299unsafe extern "C" {
11300 pub fn OPENSSL_memdup(
11301 data: *const ::core::ffi::c_void,
11302 size: usize,
11303 ) -> *mut ::core::ffi::c_void;
11304}
11305unsafe extern "C" {
11306 pub fn OPENSSL_strlcpy(
11307 dst: *mut ::core::ffi::c_char,
11308 src: *const ::core::ffi::c_char,
11309 dst_size: usize,
11310 ) -> usize;
11311}
11312unsafe extern "C" {
11313 pub fn OPENSSL_strlcat(
11314 dst: *mut ::core::ffi::c_char,
11315 src: *const ::core::ffi::c_char,
11316 dst_size: usize,
11317 ) -> usize;
11318}
11319unsafe extern "C" {
11320 pub fn CRYPTO_malloc(
11321 size: usize,
11322 file: *const ::core::ffi::c_char,
11323 line: ::core::ffi::c_int,
11324 ) -> *mut ::core::ffi::c_void;
11325}
11326unsafe extern "C" {
11327 pub fn CRYPTO_realloc(
11328 ptr: *mut ::core::ffi::c_void,
11329 new_size: usize,
11330 file: *const ::core::ffi::c_char,
11331 line: ::core::ffi::c_int,
11332 ) -> *mut ::core::ffi::c_void;
11333}
11334unsafe extern "C" {
11335 pub fn CRYPTO_free(
11336 ptr: *mut ::core::ffi::c_void,
11337 file: *const ::core::ffi::c_char,
11338 line: ::core::ffi::c_int,
11339 );
11340}
11341unsafe extern "C" {
11342 pub fn OPENSSL_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11343}
11344unsafe extern "C" {
11345 pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::core::ffi::c_int;
11346}
11347unsafe extern "C" {
11348 pub fn CRYPTO_secure_malloc_initialized() -> ::core::ffi::c_int;
11349}
11350unsafe extern "C" {
11351 pub fn CRYPTO_secure_used() -> usize;
11352}
11353unsafe extern "C" {
11354 pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::core::ffi::c_void;
11355}
11356unsafe extern "C" {
11357 pub fn OPENSSL_secure_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11358}
11359unsafe extern "C" {
11360 pub fn CRYPTO_num_locks() -> ::core::ffi::c_int;
11361}
11362unsafe extern "C" {
11363 pub fn CRYPTO_set_locking_callback(
11364 func: ::core::option::Option<
11365 unsafe extern "C" fn(
11366 mode: ::core::ffi::c_int,
11367 lock_num: ::core::ffi::c_int,
11368 file: *const ::core::ffi::c_char,
11369 line: ::core::ffi::c_int,
11370 ),
11371 >,
11372 );
11373}
11374unsafe extern "C" {
11375 pub fn CRYPTO_set_add_lock_callback(
11376 func: ::core::option::Option<
11377 unsafe extern "C" fn(
11378 num: *mut ::core::ffi::c_int,
11379 amount: ::core::ffi::c_int,
11380 lock_num: ::core::ffi::c_int,
11381 file: *const ::core::ffi::c_char,
11382 line: ::core::ffi::c_int,
11383 ) -> ::core::ffi::c_int,
11384 >,
11385 );
11386}
11387unsafe extern "C" {
11388 pub fn CRYPTO_get_locking_callback() -> ::core::option::Option<
11389 unsafe extern "C" fn(
11390 arg1: ::core::ffi::c_int,
11391 arg2: ::core::ffi::c_int,
11392 arg3: *const ::core::ffi::c_char,
11393 arg4: ::core::ffi::c_int,
11394 ),
11395 >;
11396}
11397unsafe extern "C" {
11398 pub fn CRYPTO_get_lock_name(lock_num: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11399}
11400unsafe extern "C" {
11401 pub fn CRYPTO_THREADID_set_callback(
11402 threadid_func: ::core::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
11403 ) -> ::core::ffi::c_int;
11404}
11405unsafe extern "C" {
11406 pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::core::ffi::c_ulong);
11407}
11408unsafe extern "C" {
11409 pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::core::ffi::c_void);
11410}
11411unsafe extern "C" {
11412 pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
11413}
11414unsafe extern "C" {
11415 pub fn CRYPTO_set_id_callback(
11416 func: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_ulong>,
11417 );
11418}
11419#[repr(C)]
11420#[derive(Debug, Copy, Clone)]
11421pub struct CRYPTO_dynlock {
11422 pub references: ::core::ffi::c_int,
11423 pub data: *mut CRYPTO_dynlock_value,
11424}
11425unsafe extern "C" {
11426 pub fn CRYPTO_set_dynlock_create_callback(
11427 dyn_create_function: ::core::option::Option<
11428 unsafe extern "C" fn(
11429 file: *const ::core::ffi::c_char,
11430 line: ::core::ffi::c_int,
11431 ) -> *mut CRYPTO_dynlock_value,
11432 >,
11433 );
11434}
11435unsafe extern "C" {
11436 pub fn CRYPTO_set_dynlock_lock_callback(
11437 dyn_lock_function: ::core::option::Option<
11438 unsafe extern "C" fn(
11439 mode: ::core::ffi::c_int,
11440 l: *mut CRYPTO_dynlock_value,
11441 file: *const ::core::ffi::c_char,
11442 line: ::core::ffi::c_int,
11443 ),
11444 >,
11445 );
11446}
11447unsafe extern "C" {
11448 pub fn CRYPTO_set_dynlock_destroy_callback(
11449 dyn_destroy_function: ::core::option::Option<
11450 unsafe extern "C" fn(
11451 l: *mut CRYPTO_dynlock_value,
11452 file: *const ::core::ffi::c_char,
11453 line: ::core::ffi::c_int,
11454 ),
11455 >,
11456 );
11457}
11458unsafe extern "C" {
11459 pub fn CRYPTO_get_dynlock_create_callback() -> ::core::option::Option<
11460 unsafe extern "C" fn(
11461 arg1: *const ::core::ffi::c_char,
11462 arg2: ::core::ffi::c_int,
11463 ) -> *mut CRYPTO_dynlock_value,
11464 >;
11465}
11466unsafe extern "C" {
11467 pub fn CRYPTO_get_dynlock_lock_callback() -> ::core::option::Option<
11468 unsafe extern "C" fn(
11469 arg1: ::core::ffi::c_int,
11470 arg2: *mut CRYPTO_dynlock_value,
11471 arg3: *const ::core::ffi::c_char,
11472 arg4: ::core::ffi::c_int,
11473 ),
11474 >;
11475}
11476unsafe extern "C" {
11477 pub fn CRYPTO_get_dynlock_destroy_callback() -> ::core::option::Option<
11478 unsafe extern "C" fn(
11479 arg1: *mut CRYPTO_dynlock_value,
11480 arg2: *const ::core::ffi::c_char,
11481 arg3: ::core::ffi::c_int,
11482 ),
11483 >;
11484}
11485unsafe extern "C" {
11486 pub fn CRYPTO_is_confidential_build() -> ::core::ffi::c_int;
11487}
11488unsafe extern "C" {
11489 pub fn CRYPTO_has_asm() -> ::core::ffi::c_int;
11490}
11491unsafe extern "C" {
11492 pub fn BORINGSSL_self_test() -> ::core::ffi::c_int;
11493}
11494unsafe extern "C" {
11495 pub fn BORINGSSL_self_test_all() -> ::core::ffi::c_int;
11496}
11497unsafe extern "C" {
11498 pub fn BORINGSSL_integrity_test() -> ::core::ffi::c_int;
11499}
11500unsafe extern "C" {
11501 pub fn CRYPTO_pre_sandbox_init();
11502}
11503unsafe extern "C" {
11504 pub fn FIPS_mode() -> ::core::ffi::c_int;
11505}
11506pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
11507pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
11508pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
11509pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
11510pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
11511pub type fips_counter_t = ::core::ffi::c_uint;
11512unsafe extern "C" {
11513 pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
11514}
11515unsafe extern "C" {
11516 pub fn OpenSSL_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11517}
11518unsafe extern "C" {
11519 pub fn SSLeay_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11520}
11521unsafe extern "C" {
11522 pub fn SSLeay() -> ::core::ffi::c_ulong;
11523}
11524unsafe extern "C" {
11525 pub fn OpenSSL_version_num() -> ::core::ffi::c_ulong;
11526}
11527unsafe extern "C" {
11528 pub fn CRYPTO_malloc_init() -> ::core::ffi::c_int;
11529}
11530unsafe extern "C" {
11531 pub fn OPENSSL_malloc_init() -> ::core::ffi::c_int;
11532}
11533unsafe extern "C" {
11534 pub fn ENGINE_load_builtin_engines();
11535}
11536unsafe extern "C" {
11537 pub fn ENGINE_register_all_complete() -> ::core::ffi::c_int;
11538}
11539unsafe extern "C" {
11540 pub fn ENGINE_cleanup();
11541}
11542unsafe extern "C" {
11543 pub fn OPENSSL_load_builtin_modules();
11544}
11545unsafe extern "C" {
11546 pub fn OPENSSL_init_crypto(
11547 opts: u64,
11548 settings: *const OPENSSL_INIT_SETTINGS,
11549 ) -> ::core::ffi::c_int;
11550}
11551unsafe extern "C" {
11552 pub fn OPENSSL_cleanup();
11553}
11554unsafe extern "C" {
11555 pub fn FIPS_mode_set(on: ::core::ffi::c_int) -> ::core::ffi::c_int;
11556}
11557unsafe extern "C" {
11558 pub fn FIPS_module_name() -> *const ::core::ffi::c_char;
11559}
11560unsafe extern "C" {
11561 pub fn FIPS_module_hash() -> *const u8;
11562}
11563unsafe extern "C" {
11564 pub fn FIPS_version() -> u32;
11565}
11566unsafe extern "C" {
11567 pub fn FIPS_query_algorithm_status(algorithm: *const ::core::ffi::c_char)
11568 -> ::core::ffi::c_int;
11569}
11570unsafe extern "C" {
11571 pub fn CRYPTO_library_init();
11572}
11573unsafe extern "C" {
11574 pub fn CTR_DRBG_new(
11575 entropy: *const u8,
11576 personalization: *const u8,
11577 personalization_len: usize,
11578 ) -> *mut CTR_DRBG_STATE;
11579}
11580unsafe extern "C" {
11581 pub fn CTR_DRBG_new_df(
11582 entropy: *const u8,
11583 entropy_len: usize,
11584 nonce: *const u8,
11585 personalization: *const u8,
11586 personalization_len: usize,
11587 ) -> *mut CTR_DRBG_STATE;
11588}
11589unsafe extern "C" {
11590 pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
11591}
11592unsafe extern "C" {
11593 pub fn CTR_DRBG_reseed(
11594 drbg: *mut CTR_DRBG_STATE,
11595 entropy: *const u8,
11596 additional_data: *const u8,
11597 additional_data_len: usize,
11598 ) -> ::core::ffi::c_int;
11599}
11600unsafe extern "C" {
11601 pub fn CTR_DRBG_reseed_ex(
11602 drbg: *mut CTR_DRBG_STATE,
11603 entropy: *const u8,
11604 entropy_len: usize,
11605 additional_data: *const u8,
11606 additional_data_len: usize,
11607 ) -> ::core::ffi::c_int;
11608}
11609unsafe extern "C" {
11610 pub fn CTR_DRBG_generate(
11611 drbg: *mut CTR_DRBG_STATE,
11612 out: *mut u8,
11613 out_len: usize,
11614 additional_data: *const u8,
11615 additional_data_len: usize,
11616 ) -> ::core::ffi::c_int;
11617}
11618unsafe extern "C" {
11619 pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
11620}
11621unsafe extern "C" {
11622 pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
11623}
11624unsafe extern "C" {
11625 pub fn X25519(
11626 out_shared_key: *mut u8,
11627 private_key: *const u8,
11628 peer_public_value: *const u8,
11629 ) -> ::core::ffi::c_int;
11630}
11631unsafe extern "C" {
11632 pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
11633}
11634unsafe extern "C" {
11635 pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
11636}
11637unsafe extern "C" {
11638 pub fn ED25519_sign(
11639 out_sig: *mut u8,
11640 message: *const u8,
11641 message_len: usize,
11642 private_key: *const u8,
11643 ) -> ::core::ffi::c_int;
11644}
11645unsafe extern "C" {
11646 pub fn ED25519_verify(
11647 message: *const u8,
11648 message_len: usize,
11649 signature: *const u8,
11650 public_key: *const u8,
11651 ) -> ::core::ffi::c_int;
11652}
11653unsafe extern "C" {
11654 pub fn ED25519_keypair_from_seed(
11655 out_public_key: *mut u8,
11656 out_private_key: *mut u8,
11657 seed: *const u8,
11658 );
11659}
11660pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
11661pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
11662pub type spake2_role_t = ::core::ffi::c_uint;
11663unsafe extern "C" {
11664 pub fn SPAKE2_CTX_new(
11665 my_role: spake2_role_t,
11666 my_name: *const u8,
11667 my_name_len: usize,
11668 their_name: *const u8,
11669 their_name_len: usize,
11670 ) -> *mut SPAKE2_CTX;
11671}
11672unsafe extern "C" {
11673 pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
11674}
11675unsafe extern "C" {
11676 pub fn SPAKE2_generate_msg(
11677 ctx: *mut SPAKE2_CTX,
11678 out: *mut u8,
11679 out_len: *mut usize,
11680 max_out_len: usize,
11681 password: *const u8,
11682 password_len: usize,
11683 ) -> ::core::ffi::c_int;
11684}
11685unsafe extern "C" {
11686 pub fn SPAKE2_process_msg(
11687 ctx: *mut SPAKE2_CTX,
11688 out_key: *mut u8,
11689 out_key_len: *mut usize,
11690 max_out_key_len: usize,
11691 their_msg: *const u8,
11692 their_msg_len: usize,
11693 ) -> ::core::ffi::c_int;
11694}
11695#[repr(C)]
11696#[derive(Debug, Copy, Clone)]
11697pub struct DES_cblock_st {
11698 pub bytes: [u8; 8usize],
11699}
11700pub type DES_cblock = DES_cblock_st;
11701#[repr(C)]
11702#[derive(Debug, Copy, Clone)]
11703pub struct DES_ks {
11704 pub subkeys: [[u32; 2usize]; 16usize],
11705}
11706pub type DES_key_schedule = DES_ks;
11707unsafe extern "C" {
11708 pub fn DES_set_key(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11709}
11710unsafe extern "C" {
11711 pub fn DES_set_odd_parity(key: *mut DES_cblock);
11712}
11713unsafe extern "C" {
11714 pub fn DES_ecb_encrypt(
11715 in_: *const DES_cblock,
11716 out: *mut DES_cblock,
11717 schedule: *const DES_key_schedule,
11718 is_encrypt: ::core::ffi::c_int,
11719 );
11720}
11721unsafe extern "C" {
11722 pub fn DES_ncbc_encrypt(
11723 in_: *const u8,
11724 out: *mut u8,
11725 len: usize,
11726 schedule: *const DES_key_schedule,
11727 ivec: *mut DES_cblock,
11728 enc: ::core::ffi::c_int,
11729 );
11730}
11731unsafe extern "C" {
11732 pub fn DES_ecb3_encrypt(
11733 input: *const DES_cblock,
11734 output: *mut DES_cblock,
11735 ks1: *const DES_key_schedule,
11736 ks2: *const DES_key_schedule,
11737 ks3: *const DES_key_schedule,
11738 enc: ::core::ffi::c_int,
11739 );
11740}
11741unsafe extern "C" {
11742 pub fn DES_ede3_cbc_encrypt(
11743 in_: *const u8,
11744 out: *mut u8,
11745 len: usize,
11746 ks1: *const DES_key_schedule,
11747 ks2: *const DES_key_schedule,
11748 ks3: *const DES_key_schedule,
11749 ivec: *mut DES_cblock,
11750 enc: ::core::ffi::c_int,
11751 );
11752}
11753unsafe extern "C" {
11754 pub fn DES_ede2_cbc_encrypt(
11755 in_: *const u8,
11756 out: *mut u8,
11757 len: usize,
11758 ks1: *const DES_key_schedule,
11759 ks2: *const DES_key_schedule,
11760 ivec: *mut DES_cblock,
11761 enc: ::core::ffi::c_int,
11762 );
11763}
11764unsafe extern "C" {
11765 pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11766}
11767unsafe extern "C" {
11768 pub fn DES_ede3_cfb64_encrypt(
11769 in_: *const u8,
11770 out: *mut u8,
11771 length: ::core::ffi::c_long,
11772 ks1: *mut DES_key_schedule,
11773 ks2: *mut DES_key_schedule,
11774 ks3: *mut DES_key_schedule,
11775 ivec: *mut DES_cblock,
11776 num: *mut ::core::ffi::c_int,
11777 enc: ::core::ffi::c_int,
11778 );
11779}
11780unsafe extern "C" {
11781 pub fn DES_ede3_cfb_encrypt(
11782 in_: *const u8,
11783 out: *mut u8,
11784 numbits: ::core::ffi::c_int,
11785 length: ::core::ffi::c_long,
11786 ks1: *mut DES_key_schedule,
11787 ks2: *mut DES_key_schedule,
11788 ks3: *mut DES_key_schedule,
11789 ivec: *mut DES_cblock,
11790 enc: ::core::ffi::c_int,
11791 );
11792}
11793unsafe extern "C" {
11794 pub fn DH_new() -> *mut DH;
11795}
11796unsafe extern "C" {
11797 pub fn DH_free(dh: *mut DH);
11798}
11799unsafe extern "C" {
11800 pub fn DH_up_ref(dh: *mut DH) -> ::core::ffi::c_int;
11801}
11802unsafe extern "C" {
11803 pub fn DH_bits(dh: *const DH) -> ::core::ffi::c_uint;
11804}
11805unsafe extern "C" {
11806 pub fn DH_size(dh: *const DH) -> ::core::ffi::c_int;
11807}
11808unsafe extern "C" {
11809 pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
11810}
11811unsafe extern "C" {
11812 pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
11813}
11814unsafe extern "C" {
11815 pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
11816}
11817unsafe extern "C" {
11818 pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
11819}
11820unsafe extern "C" {
11821 pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
11822}
11823unsafe extern "C" {
11824 pub fn DH_get0_key(
11825 dh: *const DH,
11826 out_pub_key: *mut *const BIGNUM,
11827 out_priv_key: *mut *const BIGNUM,
11828 );
11829}
11830unsafe extern "C" {
11831 pub fn DH_set0_key(
11832 dh: *mut DH,
11833 pub_key: *mut BIGNUM,
11834 priv_key: *mut BIGNUM,
11835 ) -> ::core::ffi::c_int;
11836}
11837unsafe extern "C" {
11838 pub fn DH_get0_pqg(
11839 dh: *const DH,
11840 out_p: *mut *const BIGNUM,
11841 out_q: *mut *const BIGNUM,
11842 out_g: *mut *const BIGNUM,
11843 );
11844}
11845unsafe extern "C" {
11846 pub fn DH_set0_pqg(
11847 dh: *mut DH,
11848 p: *mut BIGNUM,
11849 q: *mut BIGNUM,
11850 g: *mut BIGNUM,
11851 ) -> ::core::ffi::c_int;
11852}
11853unsafe extern "C" {
11854 pub fn DH_set_length(dh: *mut DH, priv_length: ::core::ffi::c_uint) -> ::core::ffi::c_int;
11855}
11856unsafe extern "C" {
11857 pub fn DH_get_rfc7919_2048() -> *mut DH;
11858}
11859unsafe extern "C" {
11860 pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
11861}
11862unsafe extern "C" {
11863 pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
11864}
11865unsafe extern "C" {
11866 pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
11867}
11868unsafe extern "C" {
11869 pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
11870}
11871unsafe extern "C" {
11872 pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
11873}
11874unsafe extern "C" {
11875 pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
11876}
11877unsafe extern "C" {
11878 pub fn DH_generate_parameters_ex(
11879 dh: *mut DH,
11880 prime_bits: ::core::ffi::c_int,
11881 generator: ::core::ffi::c_int,
11882 cb: *mut BN_GENCB,
11883 ) -> ::core::ffi::c_int;
11884}
11885unsafe extern "C" {
11886 pub fn DH_generate_key(dh: *mut DH) -> ::core::ffi::c_int;
11887}
11888unsafe extern "C" {
11889 pub fn DH_compute_key_padded(
11890 out: *mut u8,
11891 peers_key: *const BIGNUM,
11892 dh: *mut DH,
11893 ) -> ::core::ffi::c_int;
11894}
11895unsafe extern "C" {
11896 pub fn DH_compute_key_hashed(
11897 dh: *mut DH,
11898 out: *mut u8,
11899 out_len: *mut usize,
11900 max_out_len: usize,
11901 peers_key: *const BIGNUM,
11902 digest: *const EVP_MD,
11903 ) -> ::core::ffi::c_int;
11904}
11905unsafe extern "C" {
11906 pub fn DH_check(dh: *const DH, out_flags: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
11907}
11908unsafe extern "C" {
11909 pub fn DH_check_pub_key(
11910 dh: *const DH,
11911 pub_key: *const BIGNUM,
11912 out_flags: *mut ::core::ffi::c_int,
11913 ) -> ::core::ffi::c_int;
11914}
11915unsafe extern "C" {
11916 pub fn DHparams_dup(dh: *const DH) -> *mut DH;
11917}
11918unsafe extern "C" {
11919 pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
11920}
11921unsafe extern "C" {
11922 pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::core::ffi::c_int;
11923}
11924unsafe extern "C" {
11925 pub fn DH_generate_parameters(
11926 prime_len: ::core::ffi::c_int,
11927 generator: ::core::ffi::c_int,
11928 callback: ::core::option::Option<
11929 unsafe extern "C" fn(
11930 arg1: ::core::ffi::c_int,
11931 arg2: ::core::ffi::c_int,
11932 arg3: *mut ::core::ffi::c_void,
11933 ),
11934 >,
11935 cb_arg: *mut ::core::ffi::c_void,
11936 ) -> *mut DH;
11937}
11938unsafe extern "C" {
11939 pub fn d2i_DHparams(
11940 ret: *mut *mut DH,
11941 inp: *mut *const ::core::ffi::c_uchar,
11942 len: ::core::ffi::c_long,
11943 ) -> *mut DH;
11944}
11945unsafe extern "C" {
11946 pub fn i2d_DHparams(in_: *const DH, outp: *mut *mut ::core::ffi::c_uchar)
11947 -> ::core::ffi::c_int;
11948}
11949unsafe extern "C" {
11950 pub fn DH_compute_key(
11951 out: *mut u8,
11952 peers_key: *const BIGNUM,
11953 dh: *mut DH,
11954 ) -> ::core::ffi::c_int;
11955}
11956unsafe extern "C" {
11957 pub fn EVP_md4() -> *const EVP_MD;
11958}
11959unsafe extern "C" {
11960 pub fn EVP_md5() -> *const EVP_MD;
11961}
11962unsafe extern "C" {
11963 pub fn EVP_sha1() -> *const EVP_MD;
11964}
11965unsafe extern "C" {
11966 pub fn EVP_sha224() -> *const EVP_MD;
11967}
11968unsafe extern "C" {
11969 pub fn EVP_sha256() -> *const EVP_MD;
11970}
11971unsafe extern "C" {
11972 pub fn EVP_sha384() -> *const EVP_MD;
11973}
11974unsafe extern "C" {
11975 pub fn EVP_sha512() -> *const EVP_MD;
11976}
11977unsafe extern "C" {
11978 pub fn EVP_sha512_256() -> *const EVP_MD;
11979}
11980unsafe extern "C" {
11981 pub fn EVP_blake2b256() -> *const EVP_MD;
11982}
11983unsafe extern "C" {
11984 pub fn EVP_md5_sha1() -> *const EVP_MD;
11985}
11986unsafe extern "C" {
11987 pub fn EVP_get_digestbynid(nid: ::core::ffi::c_int) -> *const EVP_MD;
11988}
11989unsafe extern "C" {
11990 pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
11991}
11992unsafe extern "C" {
11993 pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
11994}
11995unsafe extern "C" {
11996 pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
11997}
11998unsafe extern "C" {
11999 pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12000}
12001unsafe extern "C" {
12002 pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
12003}
12004unsafe extern "C" {
12005 pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
12006}
12007unsafe extern "C" {
12008 pub fn EVP_MD_CTX_copy_ex(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12009}
12010unsafe extern "C" {
12011 pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
12012}
12013unsafe extern "C" {
12014 pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12015}
12016unsafe extern "C" {
12017 pub fn EVP_DigestInit_ex(
12018 ctx: *mut EVP_MD_CTX,
12019 type_: *const EVP_MD,
12020 engine: *mut ENGINE,
12021 ) -> ::core::ffi::c_int;
12022}
12023unsafe extern "C" {
12024 pub fn EVP_DigestUpdate(
12025 ctx: *mut EVP_MD_CTX,
12026 data: *const ::core::ffi::c_void,
12027 len: usize,
12028 ) -> ::core::ffi::c_int;
12029}
12030unsafe extern "C" {
12031 pub fn EVP_DigestFinal_ex(
12032 ctx: *mut EVP_MD_CTX,
12033 md_out: *mut u8,
12034 out_size: *mut ::core::ffi::c_uint,
12035 ) -> ::core::ffi::c_int;
12036}
12037unsafe extern "C" {
12038 pub fn EVP_DigestFinal(
12039 ctx: *mut EVP_MD_CTX,
12040 md_out: *mut u8,
12041 out_size: *mut ::core::ffi::c_uint,
12042 ) -> ::core::ffi::c_int;
12043}
12044unsafe extern "C" {
12045 pub fn EVP_Digest(
12046 data: *const ::core::ffi::c_void,
12047 len: usize,
12048 md_out: *mut u8,
12049 md_out_size: *mut ::core::ffi::c_uint,
12050 type_: *const EVP_MD,
12051 impl_: *mut ENGINE,
12052 ) -> ::core::ffi::c_int;
12053}
12054unsafe extern "C" {
12055 pub fn EVP_MD_type(md: *const EVP_MD) -> ::core::ffi::c_int;
12056}
12057unsafe extern "C" {
12058 pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
12059}
12060unsafe extern "C" {
12061 pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
12062}
12063unsafe extern "C" {
12064 pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
12065}
12066unsafe extern "C" {
12067 pub fn EVP_MD_CTX_get0_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12068}
12069unsafe extern "C" {
12070 pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12071}
12072unsafe extern "C" {
12073 pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
12074}
12075unsafe extern "C" {
12076 pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
12077}
12078unsafe extern "C" {
12079 pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12080}
12081unsafe extern "C" {
12082 pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
12083}
12084unsafe extern "C" {
12085 pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
12086}
12087unsafe extern "C" {
12088 pub fn EVP_parse_digest_algorithm_nid(cbs: *mut CBS) -> ::core::ffi::c_int;
12089}
12090unsafe extern "C" {
12091 pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::core::ffi::c_int;
12092}
12093unsafe extern "C" {
12094 pub fn EVP_marshal_digest_algorithm_no_params(
12095 cbb: *mut CBB,
12096 md: *const EVP_MD,
12097 ) -> ::core::ffi::c_int;
12098}
12099unsafe extern "C" {
12100 pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
12101}
12102unsafe extern "C" {
12103 pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12104}
12105unsafe extern "C" {
12106 pub fn EVP_add_digest(digest: *const EVP_MD) -> ::core::ffi::c_int;
12107}
12108unsafe extern "C" {
12109 pub fn EVP_get_digestbyname(name: *const ::core::ffi::c_char) -> *const EVP_MD;
12110}
12111unsafe extern "C" {
12112 pub fn EVP_dss1() -> *const EVP_MD;
12113}
12114unsafe extern "C" {
12115 pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
12116}
12117unsafe extern "C" {
12118 pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
12119}
12120unsafe extern "C" {
12121 pub fn EVP_DigestFinalXOF(ctx: *mut EVP_MD_CTX, out: *mut u8, len: usize)
12122 -> ::core::ffi::c_int;
12123}
12124unsafe extern "C" {
12125 pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
12126}
12127unsafe extern "C" {
12128 pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::core::ffi::c_int);
12129}
12130unsafe extern "C" {
12131 pub fn EVP_MD_nid(md: *const EVP_MD) -> ::core::ffi::c_int;
12132}
12133unsafe extern "C" {
12134 pub fn EVP_MD_fetch(
12135 libctx: *mut OSSL_LIB_CTX,
12136 name: *const ::core::ffi::c_char,
12137 propq: *const ::core::ffi::c_char,
12138 ) -> *mut EVP_MD;
12139}
12140unsafe extern "C" {
12141 pub fn EVP_MD_up_ref(md: *mut EVP_MD) -> ::core::ffi::c_int;
12142}
12143unsafe extern "C" {
12144 pub fn EVP_MD_free(md: *mut EVP_MD);
12145}
12146unsafe extern "C" {
12147 pub fn EVP_Q_digest(
12148 libctx: *mut OSSL_LIB_CTX,
12149 name: *const ::core::ffi::c_char,
12150 propq: *const ::core::ffi::c_char,
12151 in_: *const ::core::ffi::c_void,
12152 in_len: usize,
12153 out: *mut u8,
12154 out_len: *mut usize,
12155 ) -> ::core::ffi::c_int;
12156}
12157#[repr(C)]
12158#[derive(Debug)]
12159pub struct evp_md_pctx_ops {
12160 _unused: [u8; 0],
12161}
12162#[repr(C)]
12163#[derive(Copy, Clone)]
12164pub struct env_md_ctx_st {
12165 pub __bindgen_anon_1: env_md_ctx_st__bindgen_ty_1,
12166 pub digest: *const EVP_MD,
12167 pub pctx: *mut EVP_PKEY_CTX,
12168 pub pctx_ops: *const evp_md_pctx_ops,
12169}
12170#[repr(C)]
12171#[derive(Copy, Clone)]
12172pub union env_md_ctx_st__bindgen_ty_1 {
12173 pub md_data: [u8; 208usize],
12174 pub alignment: u64,
12175}
12176unsafe extern "C" {
12177 pub fn DSA_new() -> *mut DSA;
12178}
12179unsafe extern "C" {
12180 pub fn DSA_free(dsa: *mut DSA);
12181}
12182unsafe extern "C" {
12183 pub fn DSA_up_ref(dsa: *mut DSA) -> ::core::ffi::c_int;
12184}
12185unsafe extern "C" {
12186 pub fn DSA_bits(dsa: *const DSA) -> ::core::ffi::c_uint;
12187}
12188unsafe extern "C" {
12189 pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
12190}
12191unsafe extern "C" {
12192 pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
12193}
12194unsafe extern "C" {
12195 pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
12196}
12197unsafe extern "C" {
12198 pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
12199}
12200unsafe extern "C" {
12201 pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
12202}
12203unsafe extern "C" {
12204 pub fn DSA_get0_key(
12205 dsa: *const DSA,
12206 out_pub_key: *mut *const BIGNUM,
12207 out_priv_key: *mut *const BIGNUM,
12208 );
12209}
12210unsafe extern "C" {
12211 pub fn DSA_get0_pqg(
12212 dsa: *const DSA,
12213 out_p: *mut *const BIGNUM,
12214 out_q: *mut *const BIGNUM,
12215 out_g: *mut *const BIGNUM,
12216 );
12217}
12218unsafe extern "C" {
12219 pub fn DSA_set0_key(
12220 dsa: *mut DSA,
12221 pub_key: *mut BIGNUM,
12222 priv_key: *mut BIGNUM,
12223 ) -> ::core::ffi::c_int;
12224}
12225unsafe extern "C" {
12226 pub fn DSA_set0_pqg(
12227 dsa: *mut DSA,
12228 p: *mut BIGNUM,
12229 q: *mut BIGNUM,
12230 g: *mut BIGNUM,
12231 ) -> ::core::ffi::c_int;
12232}
12233unsafe extern "C" {
12234 pub fn DSA_generate_parameters_ex(
12235 dsa: *mut DSA,
12236 bits: ::core::ffi::c_uint,
12237 seed: *const u8,
12238 seed_len: usize,
12239 out_counter: *mut ::core::ffi::c_int,
12240 out_h: *mut ::core::ffi::c_ulong,
12241 cb: *mut BN_GENCB,
12242 ) -> ::core::ffi::c_int;
12243}
12244unsafe extern "C" {
12245 pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
12246}
12247unsafe extern "C" {
12248 pub fn DSA_generate_key(dsa: *mut DSA) -> ::core::ffi::c_int;
12249}
12250#[repr(C)]
12251#[derive(Debug, Copy, Clone)]
12252pub struct DSA_SIG_st {
12253 pub r: *mut BIGNUM,
12254 pub s: *mut BIGNUM,
12255}
12256unsafe extern "C" {
12257 pub fn DSA_SIG_new() -> *mut DSA_SIG;
12258}
12259unsafe extern "C" {
12260 pub fn DSA_SIG_free(sig: *mut DSA_SIG);
12261}
12262unsafe extern "C" {
12263 pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
12264}
12265unsafe extern "C" {
12266 pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM) -> ::core::ffi::c_int;
12267}
12268unsafe extern "C" {
12269 pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
12270}
12271unsafe extern "C" {
12272 pub fn DSA_do_verify(
12273 digest: *const u8,
12274 digest_len: usize,
12275 sig: *const DSA_SIG,
12276 dsa: *const DSA,
12277 ) -> ::core::ffi::c_int;
12278}
12279unsafe extern "C" {
12280 pub fn DSA_do_check_signature(
12281 out_valid: *mut ::core::ffi::c_int,
12282 digest: *const u8,
12283 digest_len: usize,
12284 sig: *const DSA_SIG,
12285 dsa: *const DSA,
12286 ) -> ::core::ffi::c_int;
12287}
12288unsafe extern "C" {
12289 pub fn DSA_sign(
12290 type_: ::core::ffi::c_int,
12291 digest: *const u8,
12292 digest_len: usize,
12293 out_sig: *mut u8,
12294 out_siglen: *mut ::core::ffi::c_uint,
12295 dsa: *const DSA,
12296 ) -> ::core::ffi::c_int;
12297}
12298unsafe extern "C" {
12299 pub fn DSA_verify(
12300 type_: ::core::ffi::c_int,
12301 digest: *const u8,
12302 digest_len: usize,
12303 sig: *const u8,
12304 sig_len: usize,
12305 dsa: *const DSA,
12306 ) -> ::core::ffi::c_int;
12307}
12308unsafe extern "C" {
12309 pub fn DSA_check_signature(
12310 out_valid: *mut ::core::ffi::c_int,
12311 digest: *const u8,
12312 digest_len: usize,
12313 sig: *const u8,
12314 sig_len: usize,
12315 dsa: *const DSA,
12316 ) -> ::core::ffi::c_int;
12317}
12318unsafe extern "C" {
12319 pub fn DSA_size(dsa: *const DSA) -> ::core::ffi::c_int;
12320}
12321unsafe extern "C" {
12322 pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
12323}
12324unsafe extern "C" {
12325 pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::core::ffi::c_int;
12326}
12327unsafe extern "C" {
12328 pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
12329}
12330unsafe extern "C" {
12331 pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12332}
12333unsafe extern "C" {
12334 pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
12335}
12336unsafe extern "C" {
12337 pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12338}
12339unsafe extern "C" {
12340 pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
12341}
12342unsafe extern "C" {
12343 pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12344}
12345unsafe extern "C" {
12346 pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
12347}
12348unsafe extern "C" {
12349 pub fn DSA_get_ex_new_index(
12350 argl: ::core::ffi::c_long,
12351 argp: *mut ::core::ffi::c_void,
12352 unused: *mut CRYPTO_EX_unused,
12353 dup_unused: CRYPTO_EX_dup,
12354 free_func: CRYPTO_EX_free,
12355 ) -> ::core::ffi::c_int;
12356}
12357unsafe extern "C" {
12358 pub fn DSA_set_ex_data(
12359 dsa: *mut DSA,
12360 idx: ::core::ffi::c_int,
12361 arg: *mut ::core::ffi::c_void,
12362 ) -> ::core::ffi::c_int;
12363}
12364unsafe extern "C" {
12365 pub fn DSA_get_ex_data(dsa: *const DSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
12366}
12367unsafe extern "C" {
12368 pub fn d2i_DSA_SIG(
12369 out_sig: *mut *mut DSA_SIG,
12370 inp: *mut *const u8,
12371 len: ::core::ffi::c_long,
12372 ) -> *mut DSA_SIG;
12373}
12374unsafe extern "C" {
12375 pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
12376}
12377unsafe extern "C" {
12378 pub fn d2i_DSAPublicKey(
12379 out: *mut *mut DSA,
12380 inp: *mut *const u8,
12381 len: ::core::ffi::c_long,
12382 ) -> *mut DSA;
12383}
12384unsafe extern "C" {
12385 pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12386}
12387unsafe extern "C" {
12388 pub fn d2i_DSAPrivateKey(
12389 out: *mut *mut DSA,
12390 inp: *mut *const u8,
12391 len: ::core::ffi::c_long,
12392 ) -> *mut DSA;
12393}
12394unsafe extern "C" {
12395 pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12396}
12397unsafe extern "C" {
12398 pub fn d2i_DSAparams(
12399 out: *mut *mut DSA,
12400 inp: *mut *const u8,
12401 len: ::core::ffi::c_long,
12402 ) -> *mut DSA;
12403}
12404unsafe extern "C" {
12405 pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12406}
12407unsafe extern "C" {
12408 pub fn DSA_generate_parameters(
12409 bits: ::core::ffi::c_int,
12410 seed: *mut ::core::ffi::c_uchar,
12411 seed_len: ::core::ffi::c_int,
12412 counter_ret: *mut ::core::ffi::c_int,
12413 h_ret: *mut ::core::ffi::c_ulong,
12414 callback: ::core::option::Option<
12415 unsafe extern "C" fn(
12416 arg1: ::core::ffi::c_int,
12417 arg2: ::core::ffi::c_int,
12418 arg3: *mut ::core::ffi::c_void,
12419 ),
12420 >,
12421 cb_arg: *mut ::core::ffi::c_void,
12422 ) -> *mut DSA;
12423}
12424#[repr(u32)]
12425#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12426pub enum point_conversion_form_t {
12427 POINT_CONVERSION_COMPRESSED = 2,
12428 POINT_CONVERSION_UNCOMPRESSED = 4,
12429 POINT_CONVERSION_HYBRID = 6,
12430}
12431unsafe extern "C" {
12432 pub fn EC_group_p224() -> *const EC_GROUP;
12433}
12434unsafe extern "C" {
12435 pub fn EC_group_p256() -> *const EC_GROUP;
12436}
12437unsafe extern "C" {
12438 pub fn EC_group_p384() -> *const EC_GROUP;
12439}
12440unsafe extern "C" {
12441 pub fn EC_group_p521() -> *const EC_GROUP;
12442}
12443unsafe extern "C" {
12444 pub fn EC_GROUP_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_GROUP;
12445}
12446unsafe extern "C" {
12447 pub fn EC_GROUP_cmp(
12448 a: *const EC_GROUP,
12449 b: *const EC_GROUP,
12450 ignored: *mut BN_CTX,
12451 ) -> ::core::ffi::c_int;
12452}
12453unsafe extern "C" {
12454 pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
12455}
12456unsafe extern "C" {
12457 pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
12458}
12459unsafe extern "C" {
12460 pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::core::ffi::c_int;
12461}
12462unsafe extern "C" {
12463 pub fn EC_GROUP_get_cofactor(
12464 group: *const EC_GROUP,
12465 cofactor: *mut BIGNUM,
12466 ctx: *mut BN_CTX,
12467 ) -> ::core::ffi::c_int;
12468}
12469unsafe extern "C" {
12470 pub fn EC_GROUP_get_curve_GFp(
12471 group: *const EC_GROUP,
12472 out_p: *mut BIGNUM,
12473 out_a: *mut BIGNUM,
12474 out_b: *mut BIGNUM,
12475 ctx: *mut BN_CTX,
12476 ) -> ::core::ffi::c_int;
12477}
12478unsafe extern "C" {
12479 pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::core::ffi::c_int;
12480}
12481unsafe extern "C" {
12482 pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::core::ffi::c_uint;
12483}
12484unsafe extern "C" {
12485 pub fn EC_curve_nid2nist(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
12486}
12487unsafe extern "C" {
12488 pub fn EC_curve_nist2nid(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
12489}
12490unsafe extern "C" {
12491 pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
12492}
12493unsafe extern "C" {
12494 pub fn EC_POINT_free(point: *mut EC_POINT);
12495}
12496unsafe extern "C" {
12497 pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::core::ffi::c_int;
12498}
12499unsafe extern "C" {
12500 pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
12501}
12502unsafe extern "C" {
12503 pub fn EC_POINT_set_to_infinity(
12504 group: *const EC_GROUP,
12505 point: *mut EC_POINT,
12506 ) -> ::core::ffi::c_int;
12507}
12508unsafe extern "C" {
12509 pub fn EC_POINT_is_at_infinity(
12510 group: *const EC_GROUP,
12511 point: *const EC_POINT,
12512 ) -> ::core::ffi::c_int;
12513}
12514unsafe extern "C" {
12515 pub fn EC_POINT_is_on_curve(
12516 group: *const EC_GROUP,
12517 point: *const EC_POINT,
12518 ctx: *mut BN_CTX,
12519 ) -> ::core::ffi::c_int;
12520}
12521unsafe extern "C" {
12522 pub fn EC_POINT_cmp(
12523 group: *const EC_GROUP,
12524 a: *const EC_POINT,
12525 b: *const EC_POINT,
12526 ctx: *mut BN_CTX,
12527 ) -> ::core::ffi::c_int;
12528}
12529unsafe extern "C" {
12530 pub fn EC_POINT_get_affine_coordinates_GFp(
12531 group: *const EC_GROUP,
12532 point: *const EC_POINT,
12533 x: *mut BIGNUM,
12534 y: *mut BIGNUM,
12535 ctx: *mut BN_CTX,
12536 ) -> ::core::ffi::c_int;
12537}
12538unsafe extern "C" {
12539 pub fn EC_POINT_get_affine_coordinates(
12540 group: *const EC_GROUP,
12541 point: *const EC_POINT,
12542 x: *mut BIGNUM,
12543 y: *mut BIGNUM,
12544 ctx: *mut BN_CTX,
12545 ) -> ::core::ffi::c_int;
12546}
12547unsafe extern "C" {
12548 pub fn EC_POINT_set_affine_coordinates_GFp(
12549 group: *const EC_GROUP,
12550 point: *mut EC_POINT,
12551 x: *const BIGNUM,
12552 y: *const BIGNUM,
12553 ctx: *mut BN_CTX,
12554 ) -> ::core::ffi::c_int;
12555}
12556unsafe extern "C" {
12557 pub fn EC_POINT_set_affine_coordinates(
12558 group: *const EC_GROUP,
12559 point: *mut EC_POINT,
12560 x: *const BIGNUM,
12561 y: *const BIGNUM,
12562 ctx: *mut BN_CTX,
12563 ) -> ::core::ffi::c_int;
12564}
12565unsafe extern "C" {
12566 pub fn EC_POINT_point2oct(
12567 group: *const EC_GROUP,
12568 point: *const EC_POINT,
12569 form: point_conversion_form_t,
12570 buf: *mut u8,
12571 max_out: usize,
12572 ctx: *mut BN_CTX,
12573 ) -> usize;
12574}
12575unsafe extern "C" {
12576 pub fn EC_POINT_point2buf(
12577 group: *const EC_GROUP,
12578 point: *const EC_POINT,
12579 form: point_conversion_form_t,
12580 out_buf: *mut *mut u8,
12581 ctx: *mut BN_CTX,
12582 ) -> usize;
12583}
12584unsafe extern "C" {
12585 pub fn EC_POINT_point2cbb(
12586 out: *mut CBB,
12587 group: *const EC_GROUP,
12588 point: *const EC_POINT,
12589 form: point_conversion_form_t,
12590 ctx: *mut BN_CTX,
12591 ) -> ::core::ffi::c_int;
12592}
12593unsafe extern "C" {
12594 pub fn EC_POINT_oct2point(
12595 group: *const EC_GROUP,
12596 point: *mut EC_POINT,
12597 buf: *const u8,
12598 len: usize,
12599 ctx: *mut BN_CTX,
12600 ) -> ::core::ffi::c_int;
12601}
12602unsafe extern "C" {
12603 pub fn EC_POINT_set_compressed_coordinates_GFp(
12604 group: *const EC_GROUP,
12605 point: *mut EC_POINT,
12606 x: *const BIGNUM,
12607 y_bit: ::core::ffi::c_int,
12608 ctx: *mut BN_CTX,
12609 ) -> ::core::ffi::c_int;
12610}
12611unsafe extern "C" {
12612 pub fn EC_POINT_add(
12613 group: *const EC_GROUP,
12614 r: *mut EC_POINT,
12615 a: *const EC_POINT,
12616 b: *const EC_POINT,
12617 ctx: *mut BN_CTX,
12618 ) -> ::core::ffi::c_int;
12619}
12620unsafe extern "C" {
12621 pub fn EC_POINT_dbl(
12622 group: *const EC_GROUP,
12623 r: *mut EC_POINT,
12624 a: *const EC_POINT,
12625 ctx: *mut BN_CTX,
12626 ) -> ::core::ffi::c_int;
12627}
12628unsafe extern "C" {
12629 pub fn EC_POINT_invert(
12630 group: *const EC_GROUP,
12631 a: *mut EC_POINT,
12632 ctx: *mut BN_CTX,
12633 ) -> ::core::ffi::c_int;
12634}
12635unsafe extern "C" {
12636 pub fn EC_POINT_mul(
12637 group: *const EC_GROUP,
12638 r: *mut EC_POINT,
12639 n: *const BIGNUM,
12640 q: *const EC_POINT,
12641 m: *const BIGNUM,
12642 ctx: *mut BN_CTX,
12643 ) -> ::core::ffi::c_int;
12644}
12645unsafe extern "C" {
12646 pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
12647 group: *const EC_GROUP,
12648 out: *mut EC_POINT,
12649 dst: *const u8,
12650 dst_len: usize,
12651 msg: *const u8,
12652 msg_len: usize,
12653 ) -> ::core::ffi::c_int;
12654}
12655unsafe extern "C" {
12656 pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
12657 group: *const EC_GROUP,
12658 out: *mut EC_POINT,
12659 dst: *const u8,
12660 dst_len: usize,
12661 msg: *const u8,
12662 msg_len: usize,
12663 ) -> ::core::ffi::c_int;
12664}
12665unsafe extern "C" {
12666 pub fn EC_encode_to_curve_p256_xmd_sha256_sswu(
12667 group: *const EC_GROUP,
12668 out: *mut EC_POINT,
12669 dst: *const u8,
12670 dst_len: usize,
12671 msg: *const u8,
12672 msg_len: usize,
12673 ) -> ::core::ffi::c_int;
12674}
12675unsafe extern "C" {
12676 pub fn EC_encode_to_curve_p384_xmd_sha384_sswu(
12677 group: *const EC_GROUP,
12678 out: *mut EC_POINT,
12679 dst: *const u8,
12680 dst_len: usize,
12681 msg: *const u8,
12682 msg_len: usize,
12683 ) -> ::core::ffi::c_int;
12684}
12685unsafe extern "C" {
12686 pub fn EC_wpa3_sae_hash_to_curve_p256(
12687 group: *const EC_GROUP,
12688 out: *mut EC_POINT,
12689 salt: *const u8,
12690 salt_len: usize,
12691 ikm: *const u8,
12692 ikm_len: usize,
12693 ) -> ::core::ffi::c_int;
12694}
12695unsafe extern "C" {
12696 pub fn EC_GROUP_free(group: *mut EC_GROUP);
12697}
12698unsafe extern "C" {
12699 pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
12700}
12701unsafe extern "C" {
12702 pub fn EC_GROUP_new_curve_GFp(
12703 p: *const BIGNUM,
12704 a: *const BIGNUM,
12705 b: *const BIGNUM,
12706 ctx: *mut BN_CTX,
12707 ) -> *mut EC_GROUP;
12708}
12709unsafe extern "C" {
12710 pub fn EC_GROUP_set_generator(
12711 group: *mut EC_GROUP,
12712 generator: *const EC_POINT,
12713 order: *const BIGNUM,
12714 cofactor: *const BIGNUM,
12715 ) -> ::core::ffi::c_int;
12716}
12717unsafe extern "C" {
12718 pub fn EC_GROUP_get_order(
12719 group: *const EC_GROUP,
12720 order: *mut BIGNUM,
12721 ctx: *mut BN_CTX,
12722 ) -> ::core::ffi::c_int;
12723}
12724unsafe extern "C" {
12725 pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::core::ffi::c_int);
12726}
12727unsafe extern "C" {
12728 pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::core::ffi::c_int;
12729}
12730#[repr(C)]
12731#[derive(Debug)]
12732pub struct ec_method_st {
12733 _unused: [u8; 0],
12734}
12735pub type EC_METHOD = ec_method_st;
12736unsafe extern "C" {
12737 pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
12738}
12739unsafe extern "C" {
12740 pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::core::ffi::c_int;
12741}
12742unsafe extern "C" {
12743 pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
12744}
12745#[repr(C)]
12746#[derive(Debug, Copy, Clone)]
12747pub struct EC_builtin_curve {
12748 pub nid: ::core::ffi::c_int,
12749 pub comment: *const ::core::ffi::c_char,
12750}
12751unsafe extern "C" {
12752 pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
12753 -> usize;
12754}
12755unsafe extern "C" {
12756 pub fn EC_POINT_clear_free(point: *mut EC_POINT);
12757}
12758unsafe extern "C" {
12759 pub fn ENGINE_new() -> *mut ENGINE;
12760}
12761unsafe extern "C" {
12762 pub fn ENGINE_free(engine: *mut ENGINE) -> ::core::ffi::c_int;
12763}
12764unsafe extern "C" {
12765 pub fn ENGINE_set_RSA_method(
12766 engine: *mut ENGINE,
12767 method: *const RSA_METHOD,
12768 method_size: usize,
12769 ) -> ::core::ffi::c_int;
12770}
12771unsafe extern "C" {
12772 pub fn ENGINE_get_RSA_method(engine: *const ENGINE) -> *mut RSA_METHOD;
12773}
12774unsafe extern "C" {
12775 pub fn ENGINE_set_ECDSA_method(
12776 engine: *mut ENGINE,
12777 method: *const ECDSA_METHOD,
12778 method_size: usize,
12779 ) -> ::core::ffi::c_int;
12780}
12781unsafe extern "C" {
12782 pub fn ENGINE_get_ECDSA_method(engine: *const ENGINE) -> *mut ECDSA_METHOD;
12783}
12784unsafe extern "C" {
12785 pub fn METHOD_ref(method: *mut ::core::ffi::c_void);
12786}
12787unsafe extern "C" {
12788 pub fn METHOD_unref(method: *mut ::core::ffi::c_void);
12789}
12790#[repr(C)]
12791#[derive(Debug, Copy, Clone)]
12792pub struct openssl_method_common_st {
12793 pub references: ::core::ffi::c_int,
12794 pub is_static: ::core::ffi::c_char,
12795}
12796unsafe extern "C" {
12797 pub fn EC_KEY_new() -> *mut EC_KEY;
12798}
12799unsafe extern "C" {
12800 pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
12801}
12802unsafe extern "C" {
12803 pub fn EC_KEY_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_KEY;
12804}
12805unsafe extern "C" {
12806 pub fn EC_KEY_free(key: *mut EC_KEY);
12807}
12808unsafe extern "C" {
12809 pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
12810}
12811unsafe extern "C" {
12812 pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::core::ffi::c_int;
12813}
12814unsafe extern "C" {
12815 pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::core::ffi::c_int;
12816}
12817unsafe extern "C" {
12818 pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
12819}
12820unsafe extern "C" {
12821 pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::core::ffi::c_int;
12822}
12823unsafe extern "C" {
12824 pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
12825}
12826unsafe extern "C" {
12827 pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::core::ffi::c_int;
12828}
12829unsafe extern "C" {
12830 pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
12831}
12832unsafe extern "C" {
12833 pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::core::ffi::c_int;
12834}
12835unsafe extern "C" {
12836 pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::core::ffi::c_uint;
12837}
12838unsafe extern "C" {
12839 pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::core::ffi::c_uint);
12840}
12841unsafe extern "C" {
12842 pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
12843}
12844unsafe extern "C" {
12845 pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
12846}
12847unsafe extern "C" {
12848 pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::core::ffi::c_int;
12849}
12850unsafe extern "C" {
12851 pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::core::ffi::c_int;
12852}
12853unsafe extern "C" {
12854 pub fn EC_KEY_set_public_key_affine_coordinates(
12855 key: *mut EC_KEY,
12856 x: *const BIGNUM,
12857 y: *const BIGNUM,
12858 ) -> ::core::ffi::c_int;
12859}
12860unsafe extern "C" {
12861 pub fn EC_KEY_oct2key(
12862 key: *mut EC_KEY,
12863 in_: *const u8,
12864 len: usize,
12865 ctx: *mut BN_CTX,
12866 ) -> ::core::ffi::c_int;
12867}
12868unsafe extern "C" {
12869 pub fn EC_KEY_key2buf(
12870 key: *const EC_KEY,
12871 form: point_conversion_form_t,
12872 out_buf: *mut *mut u8,
12873 ctx: *mut BN_CTX,
12874 ) -> usize;
12875}
12876unsafe extern "C" {
12877 pub fn EC_KEY_oct2priv(key: *mut EC_KEY, in_: *const u8, len: usize) -> ::core::ffi::c_int;
12878}
12879unsafe extern "C" {
12880 pub fn EC_KEY_priv2oct(key: *const EC_KEY, out: *mut u8, max_out: usize) -> usize;
12881}
12882unsafe extern "C" {
12883 pub fn EC_KEY_priv2buf(key: *const EC_KEY, out_buf: *mut *mut u8) -> usize;
12884}
12885unsafe extern "C" {
12886 pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::core::ffi::c_int;
12887}
12888unsafe extern "C" {
12889 pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::core::ffi::c_int;
12890}
12891unsafe extern "C" {
12892 pub fn EC_KEY_derive_from_secret(
12893 group: *const EC_GROUP,
12894 secret: *const u8,
12895 secret_len: usize,
12896 ) -> *mut EC_KEY;
12897}
12898unsafe extern "C" {
12899 pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
12900}
12901unsafe extern "C" {
12902 pub fn EC_KEY_marshal_private_key(
12903 cbb: *mut CBB,
12904 key: *const EC_KEY,
12905 enc_flags: ::core::ffi::c_uint,
12906 ) -> ::core::ffi::c_int;
12907}
12908unsafe extern "C" {
12909 pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
12910}
12911unsafe extern "C" {
12912 pub fn EC_KEY_marshal_curve_name(cbb: *mut CBB, group: *const EC_GROUP) -> ::core::ffi::c_int;
12913}
12914unsafe extern "C" {
12915 pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
12916}
12917unsafe extern "C" {
12918 pub fn EC_KEY_get_ex_new_index(
12919 argl: ::core::ffi::c_long,
12920 argp: *mut ::core::ffi::c_void,
12921 unused: *mut CRYPTO_EX_unused,
12922 dup_unused: CRYPTO_EX_dup,
12923 free_func: CRYPTO_EX_free,
12924 ) -> ::core::ffi::c_int;
12925}
12926unsafe extern "C" {
12927 pub fn EC_KEY_set_ex_data(
12928 r: *mut EC_KEY,
12929 idx: ::core::ffi::c_int,
12930 arg: *mut ::core::ffi::c_void,
12931 ) -> ::core::ffi::c_int;
12932}
12933unsafe extern "C" {
12934 pub fn EC_KEY_get_ex_data(
12935 r: *const EC_KEY,
12936 idx: ::core::ffi::c_int,
12937 ) -> *mut ::core::ffi::c_void;
12938}
12939#[repr(C)]
12940#[derive(Debug, Copy, Clone)]
12941pub struct ecdsa_method_st {
12942 pub common: openssl_method_common_st,
12943 pub app_data: *mut ::core::ffi::c_void,
12944 pub init: ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
12945 pub finish:
12946 ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
12947 pub sign: ::core::option::Option<
12948 unsafe extern "C" fn(
12949 digest: *const u8,
12950 digest_len: usize,
12951 sig: *mut u8,
12952 sig_len: *mut ::core::ffi::c_uint,
12953 eckey: *mut EC_KEY,
12954 ) -> ::core::ffi::c_int,
12955 >,
12956 pub flags: ::core::ffi::c_int,
12957}
12958unsafe extern "C" {
12959 pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::core::ffi::c_int);
12960}
12961unsafe extern "C" {
12962 pub fn d2i_ECPrivateKey(
12963 out_key: *mut *mut EC_KEY,
12964 inp: *mut *const u8,
12965 len: ::core::ffi::c_long,
12966 ) -> *mut EC_KEY;
12967}
12968unsafe extern "C" {
12969 pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
12970}
12971unsafe extern "C" {
12972 pub fn d2i_ECPKParameters(
12973 out: *mut *mut EC_GROUP,
12974 inp: *mut *const u8,
12975 len: ::core::ffi::c_long,
12976 ) -> *mut EC_GROUP;
12977}
12978unsafe extern "C" {
12979 pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::core::ffi::c_int;
12980}
12981unsafe extern "C" {
12982 pub fn d2i_ECParameters(
12983 out_key: *mut *mut EC_KEY,
12984 inp: *mut *const u8,
12985 len: ::core::ffi::c_long,
12986 ) -> *mut EC_KEY;
12987}
12988unsafe extern "C" {
12989 pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
12990}
12991unsafe extern "C" {
12992 pub fn o2i_ECPublicKey(
12993 out_key: *mut *mut EC_KEY,
12994 inp: *mut *const u8,
12995 len: ::core::ffi::c_long,
12996 ) -> *mut EC_KEY;
12997}
12998unsafe extern "C" {
12999 pub fn i2o_ECPublicKey(
13000 key: *const EC_KEY,
13001 outp: *mut *mut ::core::ffi::c_uchar,
13002 ) -> ::core::ffi::c_int;
13003}
13004unsafe extern "C" {
13005 pub fn ECDH_compute_key(
13006 out: *mut ::core::ffi::c_void,
13007 outlen: usize,
13008 pub_key: *const EC_POINT,
13009 priv_key: *const EC_KEY,
13010 kdf: ::core::option::Option<
13011 unsafe extern "C" fn(
13012 in_: *const ::core::ffi::c_void,
13013 inlen: usize,
13014 out: *mut ::core::ffi::c_void,
13015 outlen: *mut usize,
13016 ) -> *mut ::core::ffi::c_void,
13017 >,
13018 ) -> ::core::ffi::c_int;
13019}
13020unsafe extern "C" {
13021 pub fn ECDH_compute_key_fips(
13022 out: *mut u8,
13023 out_len: usize,
13024 pub_key: *const EC_POINT,
13025 priv_key: *const EC_KEY,
13026 ) -> ::core::ffi::c_int;
13027}
13028unsafe extern "C" {
13029 pub fn ECDSA_sign(
13030 type_: ::core::ffi::c_int,
13031 digest: *const u8,
13032 digest_len: usize,
13033 sig: *mut u8,
13034 sig_len: *mut ::core::ffi::c_uint,
13035 key: *const EC_KEY,
13036 ) -> ::core::ffi::c_int;
13037}
13038unsafe extern "C" {
13039 pub fn ECDSA_verify(
13040 type_: ::core::ffi::c_int,
13041 digest: *const u8,
13042 digest_len: usize,
13043 sig: *const u8,
13044 sig_len: usize,
13045 key: *const EC_KEY,
13046 ) -> ::core::ffi::c_int;
13047}
13048unsafe extern "C" {
13049 pub fn ECDSA_size(key: *const EC_KEY) -> usize;
13050}
13051#[repr(C)]
13052#[derive(Debug, Copy, Clone)]
13053pub struct ecdsa_sig_st {
13054 pub r: *mut BIGNUM,
13055 pub s: *mut BIGNUM,
13056}
13057unsafe extern "C" {
13058 pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
13059}
13060unsafe extern "C" {
13061 pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
13062}
13063unsafe extern "C" {
13064 pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
13065}
13066unsafe extern "C" {
13067 pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
13068}
13069unsafe extern "C" {
13070 pub fn ECDSA_SIG_get0(
13071 sig: *const ECDSA_SIG,
13072 out_r: *mut *const BIGNUM,
13073 out_s: *mut *const BIGNUM,
13074 );
13075}
13076unsafe extern "C" {
13077 pub fn ECDSA_SIG_set0(
13078 sig: *mut ECDSA_SIG,
13079 r: *mut BIGNUM,
13080 s: *mut BIGNUM,
13081 ) -> ::core::ffi::c_int;
13082}
13083unsafe extern "C" {
13084 pub fn ECDSA_do_sign(
13085 digest: *const u8,
13086 digest_len: usize,
13087 key: *const EC_KEY,
13088 ) -> *mut ECDSA_SIG;
13089}
13090unsafe extern "C" {
13091 pub fn ECDSA_do_verify(
13092 digest: *const u8,
13093 digest_len: usize,
13094 sig: *const ECDSA_SIG,
13095 key: *const EC_KEY,
13096 ) -> ::core::ffi::c_int;
13097}
13098unsafe extern "C" {
13099 pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
13100}
13101unsafe extern "C" {
13102 pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
13103}
13104unsafe extern "C" {
13105 pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::core::ffi::c_int;
13106}
13107unsafe extern "C" {
13108 pub fn ECDSA_SIG_to_bytes(
13109 out_bytes: *mut *mut u8,
13110 out_len: *mut usize,
13111 sig: *const ECDSA_SIG,
13112 ) -> ::core::ffi::c_int;
13113}
13114unsafe extern "C" {
13115 pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
13116}
13117unsafe extern "C" {
13118 pub fn ECDSA_sign_p1363(
13119 digest: *const u8,
13120 digest_len: usize,
13121 sig: *mut u8,
13122 out_sig_len: *mut usize,
13123 max_sig_len: usize,
13124 key: *const EC_KEY,
13125 ) -> ::core::ffi::c_int;
13126}
13127unsafe extern "C" {
13128 pub fn ECDSA_verify_p1363(
13129 digest: *const u8,
13130 digest_len: usize,
13131 sig: *const u8,
13132 sig_len: usize,
13133 key: *const EC_KEY,
13134 ) -> ::core::ffi::c_int;
13135}
13136unsafe extern "C" {
13137 pub fn ECDSA_size_p1363(key: *const EC_KEY) -> usize;
13138}
13139unsafe extern "C" {
13140 pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
13141 digest: *const u8,
13142 digest_len: usize,
13143 eckey: *const EC_KEY,
13144 nonce: *const u8,
13145 nonce_len: usize,
13146 ) -> *mut ECDSA_SIG;
13147}
13148unsafe extern "C" {
13149 pub fn d2i_ECDSA_SIG(
13150 out: *mut *mut ECDSA_SIG,
13151 inp: *mut *const u8,
13152 len: ::core::ffi::c_long,
13153 ) -> *mut ECDSA_SIG;
13154}
13155unsafe extern "C" {
13156 pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
13157}
13158unsafe extern "C" {
13159 pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
13160}
13161unsafe extern "C" {
13162 pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
13163}
13164unsafe extern "C" {
13165 pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
13166}
13167unsafe extern "C" {
13168 pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
13169}
13170unsafe extern "C" {
13171 pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
13172}
13173unsafe extern "C" {
13174 pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
13175}
13176unsafe extern "C" {
13177 pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
13178}
13179unsafe extern "C" {
13180 pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
13181}
13182unsafe extern "C" {
13183 pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
13184}
13185unsafe extern "C" {
13186 pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
13187}
13188unsafe extern "C" {
13189 pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
13190}
13191unsafe extern "C" {
13192 pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
13193}
13194unsafe extern "C" {
13195 pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
13196}
13197unsafe extern "C" {
13198 pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
13199}
13200unsafe extern "C" {
13201 pub fn EVP_has_aes_hardware() -> ::core::ffi::c_int;
13202}
13203unsafe extern "C" {
13204 pub fn EVP_aead_aes_128_eax() -> *const EVP_AEAD;
13205}
13206unsafe extern "C" {
13207 pub fn EVP_aead_aes_256_eax() -> *const EVP_AEAD;
13208}
13209unsafe extern "C" {
13210 pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
13211}
13212unsafe extern "C" {
13213 pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
13214}
13215unsafe extern "C" {
13216 pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
13217}
13218unsafe extern "C" {
13219 pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
13220}
13221#[repr(C)]
13222#[derive(Copy, Clone)]
13223pub union evp_aead_ctx_st_state {
13224 pub opaque: [u8; 560usize],
13225 pub alignment: u64,
13226}
13227#[repr(C)]
13228#[derive(Copy, Clone)]
13229pub struct evp_aead_ctx_st {
13230 pub aead: *const EVP_AEAD,
13231 pub state: evp_aead_ctx_st_state,
13232 pub tag_len: u8,
13233}
13234unsafe extern "C" {
13235 pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
13236}
13237unsafe extern "C" {
13238 pub fn EVP_AEAD_CTX_new(
13239 aead: *const EVP_AEAD,
13240 key: *const u8,
13241 key_len: usize,
13242 tag_len: usize,
13243 ) -> *mut EVP_AEAD_CTX;
13244}
13245unsafe extern "C" {
13246 pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
13247}
13248unsafe extern "C" {
13249 pub fn EVP_AEAD_CTX_init(
13250 ctx: *mut EVP_AEAD_CTX,
13251 aead: *const EVP_AEAD,
13252 key: *const u8,
13253 key_len: usize,
13254 tag_len: usize,
13255 impl_: *mut ENGINE,
13256 ) -> ::core::ffi::c_int;
13257}
13258unsafe extern "C" {
13259 pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
13260}
13261unsafe extern "C" {
13262 pub fn EVP_AEAD_CTX_seal(
13263 ctx: *const EVP_AEAD_CTX,
13264 out: *mut u8,
13265 out_len: *mut usize,
13266 max_out_len: usize,
13267 nonce: *const u8,
13268 nonce_len: usize,
13269 in_: *const u8,
13270 in_len: usize,
13271 ad: *const u8,
13272 ad_len: usize,
13273 ) -> ::core::ffi::c_int;
13274}
13275unsafe extern "C" {
13276 pub fn EVP_AEAD_CTX_open(
13277 ctx: *const EVP_AEAD_CTX,
13278 out: *mut u8,
13279 out_len: *mut usize,
13280 max_out_len: usize,
13281 nonce: *const u8,
13282 nonce_len: usize,
13283 in_: *const u8,
13284 in_len: usize,
13285 ad: *const u8,
13286 ad_len: usize,
13287 ) -> ::core::ffi::c_int;
13288}
13289unsafe extern "C" {
13290 pub fn EVP_AEAD_CTX_seal_scatter(
13291 ctx: *const EVP_AEAD_CTX,
13292 out: *mut u8,
13293 out_tag: *mut u8,
13294 out_tag_len: *mut usize,
13295 max_out_tag_len: usize,
13296 nonce: *const u8,
13297 nonce_len: usize,
13298 in_: *const u8,
13299 in_len: usize,
13300 extra_in: *const u8,
13301 extra_in_len: usize,
13302 ad: *const u8,
13303 ad_len: usize,
13304 ) -> ::core::ffi::c_int;
13305}
13306unsafe extern "C" {
13307 pub fn EVP_AEAD_CTX_open_gather(
13308 ctx: *const EVP_AEAD_CTX,
13309 out: *mut u8,
13310 nonce: *const u8,
13311 nonce_len: usize,
13312 in_: *const u8,
13313 in_len: usize,
13314 in_tag: *const u8,
13315 in_tag_len: usize,
13316 ad: *const u8,
13317 ad_len: usize,
13318 ) -> ::core::ffi::c_int;
13319}
13320#[repr(C)]
13321#[derive(Debug, Copy, Clone)]
13322pub struct crypto_ivec_st {
13323 pub in_: *const u8,
13324 pub len: usize,
13325}
13326#[repr(C)]
13327#[derive(Debug, Copy, Clone)]
13328pub struct crypto_iovec_st {
13329 pub out: *mut u8,
13330 pub in_: *const u8,
13331 pub len: usize,
13332}
13333unsafe extern "C" {
13334 pub fn EVP_AEAD_CTX_sealv(
13335 ctx: *const EVP_AEAD_CTX,
13336 iovec: *const CRYPTO_IOVEC,
13337 num_iovec: usize,
13338 out_tag: *mut u8,
13339 out_tag_len: *mut usize,
13340 max_out_tag_len: usize,
13341 nonce: *const u8,
13342 nonce_len: usize,
13343 aadvec: *const CRYPTO_IVEC,
13344 num_aadvec: usize,
13345 ) -> ::core::ffi::c_int;
13346}
13347unsafe extern "C" {
13348 pub fn EVP_AEAD_CTX_openv(
13349 ctx: *const EVP_AEAD_CTX,
13350 iovec: *const CRYPTO_IOVEC,
13351 num_iovec: usize,
13352 out_total_bytes: *mut usize,
13353 nonce: *const u8,
13354 nonce_len: usize,
13355 aadvec: *const CRYPTO_IVEC,
13356 num_aadvec: usize,
13357 ) -> ::core::ffi::c_int;
13358}
13359unsafe extern "C" {
13360 pub fn EVP_AEAD_CTX_openv_detached(
13361 ctx: *const EVP_AEAD_CTX,
13362 iovec: *const CRYPTO_IOVEC,
13363 num_iovec: usize,
13364 nonce: *const u8,
13365 nonce_len: usize,
13366 in_tag: *const u8,
13367 in_tag_len: usize,
13368 aadvec: *const CRYPTO_IVEC,
13369 num_aadvec: usize,
13370 ) -> ::core::ffi::c_int;
13371}
13372unsafe extern "C" {
13373 pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
13374}
13375unsafe extern "C" {
13376 pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
13377}
13378unsafe extern "C" {
13379 pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13380}
13381unsafe extern "C" {
13382 pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
13383}
13384unsafe extern "C" {
13385 pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
13386}
13387unsafe extern "C" {
13388 pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13389}
13390unsafe extern "C" {
13391 pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
13392}
13393unsafe extern "C" {
13394 pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13395}
13396unsafe extern "C" {
13397 pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
13398}
13399unsafe extern "C" {
13400 pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
13401}
13402unsafe extern "C" {
13403 pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
13404}
13405unsafe extern "C" {
13406 pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
13407}
13408pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
13409pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
13410pub type evp_aead_direction_t = ::core::ffi::c_uint;
13411unsafe extern "C" {
13412 pub fn EVP_AEAD_CTX_init_with_direction(
13413 ctx: *mut EVP_AEAD_CTX,
13414 aead: *const EVP_AEAD,
13415 key: *const u8,
13416 key_len: usize,
13417 tag_len: usize,
13418 dir: evp_aead_direction_t,
13419 ) -> ::core::ffi::c_int;
13420}
13421unsafe extern "C" {
13422 pub fn EVP_AEAD_CTX_get_iv(
13423 ctx: *const EVP_AEAD_CTX,
13424 out_iv: *mut *const u8,
13425 out_len: *mut usize,
13426 ) -> ::core::ffi::c_int;
13427}
13428unsafe extern "C" {
13429 pub fn EVP_AEAD_CTX_tag_len(
13430 ctx: *const EVP_AEAD_CTX,
13431 out_tag_len: *mut usize,
13432 in_len: usize,
13433 extra_in_len: usize,
13434 ) -> ::core::ffi::c_int;
13435}
13436unsafe extern "C" {
13437 pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
13438}
13439unsafe extern "C" {
13440 pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
13441}
13442unsafe extern "C" {
13443 pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
13444}
13445unsafe extern "C" {
13446 pub fn EVP_PKEY_dup_ref(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13447}
13448unsafe extern "C" {
13449 pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13450}
13451unsafe extern "C" {
13452 pub fn EVP_PKEY_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13453}
13454unsafe extern "C" {
13455 pub fn EVP_PKEY_copy_parameters(to: *mut EVP_PKEY, from: *const EVP_PKEY)
13456 -> ::core::ffi::c_int;
13457}
13458unsafe extern "C" {
13459 pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13460}
13461unsafe extern "C" {
13462 pub fn EVP_PKEY_parameters_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13463}
13464unsafe extern "C" {
13465 pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13466}
13467unsafe extern "C" {
13468 pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13469}
13470unsafe extern "C" {
13471 pub fn EVP_PKEY_has_public(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13472}
13473unsafe extern "C" {
13474 pub fn EVP_PKEY_has_private(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13475}
13476unsafe extern "C" {
13477 pub fn EVP_PKEY_copy_public(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13478}
13479unsafe extern "C" {
13480 pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13481}
13482unsafe extern "C" {
13483 pub fn EVP_pkey_rsa() -> *const EVP_PKEY_ALG;
13484}
13485unsafe extern "C" {
13486 pub fn EVP_pkey_ec_p224() -> *const EVP_PKEY_ALG;
13487}
13488unsafe extern "C" {
13489 pub fn EVP_pkey_ec_p256() -> *const EVP_PKEY_ALG;
13490}
13491unsafe extern "C" {
13492 pub fn EVP_pkey_ec_p384() -> *const EVP_PKEY_ALG;
13493}
13494unsafe extern "C" {
13495 pub fn EVP_pkey_ec_p521() -> *const EVP_PKEY_ALG;
13496}
13497unsafe extern "C" {
13498 pub fn EVP_pkey_x25519() -> *const EVP_PKEY_ALG;
13499}
13500unsafe extern "C" {
13501 pub fn EVP_pkey_ed25519() -> *const EVP_PKEY_ALG;
13502}
13503unsafe extern "C" {
13504 pub fn EVP_pkey_ml_dsa_44() -> *const EVP_PKEY_ALG;
13505}
13506unsafe extern "C" {
13507 pub fn EVP_pkey_ml_dsa_65() -> *const EVP_PKEY_ALG;
13508}
13509unsafe extern "C" {
13510 pub fn EVP_pkey_ml_dsa_87() -> *const EVP_PKEY_ALG;
13511}
13512unsafe extern "C" {
13513 pub fn EVP_pkey_ml_kem_768() -> *const EVP_PKEY_ALG;
13514}
13515unsafe extern "C" {
13516 pub fn EVP_pkey_ml_kem_1024() -> *const EVP_PKEY_ALG;
13517}
13518unsafe extern "C" {
13519 pub fn EVP_pkey_xwing() -> *const EVP_PKEY_ALG;
13520}
13521unsafe extern "C" {
13522 pub fn EVP_pkey_dsa() -> *const EVP_PKEY_ALG;
13523}
13524unsafe extern "C" {
13525 pub fn EVP_pkey_rsa_pss_sha256() -> *const EVP_PKEY_ALG;
13526}
13527unsafe extern "C" {
13528 pub fn EVP_pkey_rsa_pss_sha384() -> *const EVP_PKEY_ALG;
13529}
13530unsafe extern "C" {
13531 pub fn EVP_pkey_rsa_pss_sha512() -> *const EVP_PKEY_ALG;
13532}
13533unsafe extern "C" {
13534 pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13535}
13536unsafe extern "C" {
13537 pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13538}
13539unsafe extern "C" {
13540 pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13541}
13542unsafe extern "C" {
13543 pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13544}
13545unsafe extern "C" {
13546 pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13547}
13548unsafe extern "C" {
13549 pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13550}
13551unsafe extern "C" {
13552 pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13553}
13554unsafe extern "C" {
13555 pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13556}
13557unsafe extern "C" {
13558 pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13559}
13560unsafe extern "C" {
13561 pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13562}
13563unsafe extern "C" {
13564 pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13565}
13566unsafe extern "C" {
13567 pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13568}
13569unsafe extern "C" {
13570 pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13571}
13572unsafe extern "C" {
13573 pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13574}
13575unsafe extern "C" {
13576 pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
13577}
13578unsafe extern "C" {
13579 pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
13580}
13581unsafe extern "C" {
13582 pub fn EVP_PKEY_from_subject_public_key_info(
13583 in_: *const u8,
13584 len: usize,
13585 algs: *const *const EVP_PKEY_ALG,
13586 num_algs: usize,
13587 ) -> *mut EVP_PKEY;
13588}
13589unsafe extern "C" {
13590 pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13591}
13592unsafe extern "C" {
13593 pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13594}
13595unsafe extern "C" {
13596 pub fn EVP_PKEY_from_private_key_info(
13597 in_: *const u8,
13598 len: usize,
13599 algs: *const *const EVP_PKEY_ALG,
13600 num_algs: usize,
13601 ) -> *mut EVP_PKEY;
13602}
13603unsafe extern "C" {
13604 pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13605}
13606unsafe extern "C" {
13607 pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13608}
13609unsafe extern "C" {
13610 pub fn EVP_PKEY_from_raw_private_key(
13611 alg: *const EVP_PKEY_ALG,
13612 in_: *const u8,
13613 len: usize,
13614 ) -> *mut EVP_PKEY;
13615}
13616unsafe extern "C" {
13617 pub fn EVP_PKEY_from_private_seed(
13618 alg: *const EVP_PKEY_ALG,
13619 in_: *const u8,
13620 len: usize,
13621 ) -> *mut EVP_PKEY;
13622}
13623unsafe extern "C" {
13624 pub fn EVP_PKEY_from_raw_public_key(
13625 alg: *const EVP_PKEY_ALG,
13626 in_: *const u8,
13627 len: usize,
13628 ) -> *mut EVP_PKEY;
13629}
13630unsafe extern "C" {
13631 pub fn EVP_PKEY_get_raw_private_key(
13632 pkey: *const EVP_PKEY,
13633 out: *mut u8,
13634 out_len: *mut usize,
13635 ) -> ::core::ffi::c_int;
13636}
13637unsafe extern "C" {
13638 pub fn EVP_PKEY_get_private_seed(
13639 pkey: *const EVP_PKEY,
13640 out: *mut u8,
13641 out_len: *mut usize,
13642 ) -> ::core::ffi::c_int;
13643}
13644unsafe extern "C" {
13645 pub fn EVP_PKEY_get_raw_public_key(
13646 pkey: *const EVP_PKEY,
13647 out: *mut u8,
13648 out_len: *mut usize,
13649 ) -> ::core::ffi::c_int;
13650}
13651unsafe extern "C" {
13652 pub fn EVP_PKEY_generate_from_alg(alg: *const EVP_PKEY_ALG) -> *mut EVP_PKEY;
13653}
13654unsafe extern "C" {
13655 pub fn EVP_DigestSignInit(
13656 ctx: *mut EVP_MD_CTX,
13657 pctx: *mut *mut EVP_PKEY_CTX,
13658 type_: *const EVP_MD,
13659 e: *mut ENGINE,
13660 pkey: *mut EVP_PKEY,
13661 ) -> ::core::ffi::c_int;
13662}
13663unsafe extern "C" {
13664 pub fn EVP_DigestSignUpdate(
13665 ctx: *mut EVP_MD_CTX,
13666 data: *const ::core::ffi::c_void,
13667 len: usize,
13668 ) -> ::core::ffi::c_int;
13669}
13670unsafe extern "C" {
13671 pub fn EVP_DigestSignFinal(
13672 ctx: *mut EVP_MD_CTX,
13673 out_sig: *mut u8,
13674 out_sig_len: *mut usize,
13675 ) -> ::core::ffi::c_int;
13676}
13677unsafe extern "C" {
13678 pub fn EVP_DigestSign(
13679 ctx: *mut EVP_MD_CTX,
13680 out_sig: *mut u8,
13681 out_sig_len: *mut usize,
13682 data: *const u8,
13683 data_len: usize,
13684 ) -> ::core::ffi::c_int;
13685}
13686unsafe extern "C" {
13687 pub fn EVP_DigestVerifyInit(
13688 ctx: *mut EVP_MD_CTX,
13689 pctx: *mut *mut EVP_PKEY_CTX,
13690 type_: *const EVP_MD,
13691 e: *mut ENGINE,
13692 pkey: *mut EVP_PKEY,
13693 ) -> ::core::ffi::c_int;
13694}
13695unsafe extern "C" {
13696 pub fn EVP_DigestVerifyUpdate(
13697 ctx: *mut EVP_MD_CTX,
13698 data: *const ::core::ffi::c_void,
13699 len: usize,
13700 ) -> ::core::ffi::c_int;
13701}
13702unsafe extern "C" {
13703 pub fn EVP_DigestVerifyFinal(
13704 ctx: *mut EVP_MD_CTX,
13705 sig: *const u8,
13706 sig_len: usize,
13707 ) -> ::core::ffi::c_int;
13708}
13709unsafe extern "C" {
13710 pub fn EVP_DigestVerify(
13711 ctx: *mut EVP_MD_CTX,
13712 sig: *const u8,
13713 sig_len: usize,
13714 data: *const u8,
13715 len: usize,
13716 ) -> ::core::ffi::c_int;
13717}
13718unsafe extern "C" {
13719 pub fn EVP_SignInit_ex(
13720 ctx: *mut EVP_MD_CTX,
13721 type_: *const EVP_MD,
13722 impl_: *mut ENGINE,
13723 ) -> ::core::ffi::c_int;
13724}
13725unsafe extern "C" {
13726 pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13727}
13728unsafe extern "C" {
13729 pub fn EVP_SignUpdate(
13730 ctx: *mut EVP_MD_CTX,
13731 data: *const ::core::ffi::c_void,
13732 len: usize,
13733 ) -> ::core::ffi::c_int;
13734}
13735unsafe extern "C" {
13736 pub fn EVP_SignFinal(
13737 ctx: *const EVP_MD_CTX,
13738 sig: *mut u8,
13739 out_sig_len: *mut ::core::ffi::c_uint,
13740 pkey: *mut EVP_PKEY,
13741 ) -> ::core::ffi::c_int;
13742}
13743unsafe extern "C" {
13744 pub fn EVP_VerifyInit_ex(
13745 ctx: *mut EVP_MD_CTX,
13746 type_: *const EVP_MD,
13747 impl_: *mut ENGINE,
13748 ) -> ::core::ffi::c_int;
13749}
13750unsafe extern "C" {
13751 pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13752}
13753unsafe extern "C" {
13754 pub fn EVP_VerifyUpdate(
13755 ctx: *mut EVP_MD_CTX,
13756 data: *const ::core::ffi::c_void,
13757 len: usize,
13758 ) -> ::core::ffi::c_int;
13759}
13760unsafe extern "C" {
13761 pub fn EVP_VerifyFinal(
13762 ctx: *mut EVP_MD_CTX,
13763 sig: *const u8,
13764 sig_len: usize,
13765 pkey: *mut EVP_PKEY,
13766 ) -> ::core::ffi::c_int;
13767}
13768unsafe extern "C" {
13769 pub fn EVP_PKEY_print_public(
13770 out: *mut BIO,
13771 pkey: *const EVP_PKEY,
13772 indent: ::core::ffi::c_int,
13773 pctx: *mut ASN1_PCTX,
13774 ) -> ::core::ffi::c_int;
13775}
13776unsafe extern "C" {
13777 pub fn EVP_PKEY_print_private(
13778 out: *mut BIO,
13779 pkey: *const EVP_PKEY,
13780 indent: ::core::ffi::c_int,
13781 pctx: *mut ASN1_PCTX,
13782 ) -> ::core::ffi::c_int;
13783}
13784unsafe extern "C" {
13785 pub fn EVP_PKEY_print_params(
13786 out: *mut BIO,
13787 pkey: *const EVP_PKEY,
13788 indent: ::core::ffi::c_int,
13789 pctx: *mut ASN1_PCTX,
13790 ) -> ::core::ffi::c_int;
13791}
13792unsafe extern "C" {
13793 pub fn PKCS5_PBKDF2_HMAC(
13794 password: *const ::core::ffi::c_char,
13795 password_len: usize,
13796 salt: *const u8,
13797 salt_len: usize,
13798 iterations: u32,
13799 digest: *const EVP_MD,
13800 key_len: usize,
13801 out_key: *mut u8,
13802 ) -> ::core::ffi::c_int;
13803}
13804unsafe extern "C" {
13805 pub fn PKCS5_PBKDF2_HMAC_SHA1(
13806 password: *const ::core::ffi::c_char,
13807 password_len: usize,
13808 salt: *const u8,
13809 salt_len: usize,
13810 iterations: u32,
13811 key_len: usize,
13812 out_key: *mut u8,
13813 ) -> ::core::ffi::c_int;
13814}
13815unsafe extern "C" {
13816 pub fn EVP_PBE_scrypt(
13817 password: *const ::core::ffi::c_char,
13818 password_len: usize,
13819 salt: *const u8,
13820 salt_len: usize,
13821 N: u64,
13822 r: u64,
13823 p: u64,
13824 max_mem: usize,
13825 out_key: *mut u8,
13826 key_len: usize,
13827 ) -> ::core::ffi::c_int;
13828}
13829unsafe extern "C" {
13830 pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13831}
13832unsafe extern "C" {
13833 pub fn EVP_PKEY_CTX_new_id(id: ::core::ffi::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13834}
13835unsafe extern "C" {
13836 pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
13837}
13838unsafe extern "C" {
13839 pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
13840}
13841unsafe extern "C" {
13842 pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
13843}
13844unsafe extern "C" {
13845 pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13846}
13847unsafe extern "C" {
13848 pub fn EVP_PKEY_sign(
13849 ctx: *mut EVP_PKEY_CTX,
13850 sig: *mut u8,
13851 sig_len: *mut usize,
13852 digest: *const u8,
13853 digest_len: usize,
13854 ) -> ::core::ffi::c_int;
13855}
13856unsafe extern "C" {
13857 pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13858}
13859unsafe extern "C" {
13860 pub fn EVP_PKEY_verify(
13861 ctx: *mut EVP_PKEY_CTX,
13862 sig: *const u8,
13863 sig_len: usize,
13864 digest: *const u8,
13865 digest_len: usize,
13866 ) -> ::core::ffi::c_int;
13867}
13868unsafe extern "C" {
13869 pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13870}
13871unsafe extern "C" {
13872 pub fn EVP_PKEY_encrypt(
13873 ctx: *mut EVP_PKEY_CTX,
13874 out: *mut u8,
13875 out_len: *mut usize,
13876 in_: *const u8,
13877 in_len: usize,
13878 ) -> ::core::ffi::c_int;
13879}
13880unsafe extern "C" {
13881 pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13882}
13883unsafe extern "C" {
13884 pub fn EVP_PKEY_decrypt(
13885 ctx: *mut EVP_PKEY_CTX,
13886 out: *mut u8,
13887 out_len: *mut usize,
13888 in_: *const u8,
13889 in_len: usize,
13890 ) -> ::core::ffi::c_int;
13891}
13892unsafe extern "C" {
13893 pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13894}
13895unsafe extern "C" {
13896 pub fn EVP_PKEY_verify_recover(
13897 ctx: *mut EVP_PKEY_CTX,
13898 out: *mut u8,
13899 out_len: *mut usize,
13900 sig: *const u8,
13901 siglen: usize,
13902 ) -> ::core::ffi::c_int;
13903}
13904unsafe extern "C" {
13905 pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13906}
13907unsafe extern "C" {
13908 pub fn EVP_PKEY_derive_set_peer(
13909 ctx: *mut EVP_PKEY_CTX,
13910 peer: *mut EVP_PKEY,
13911 ) -> ::core::ffi::c_int;
13912}
13913unsafe extern "C" {
13914 pub fn EVP_PKEY_derive(
13915 ctx: *mut EVP_PKEY_CTX,
13916 key: *mut u8,
13917 out_key_len: *mut usize,
13918 ) -> ::core::ffi::c_int;
13919}
13920unsafe extern "C" {
13921 pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13922}
13923unsafe extern "C" {
13924 pub fn EVP_PKEY_keygen(
13925 ctx: *mut EVP_PKEY_CTX,
13926 out_pkey: *mut *mut EVP_PKEY,
13927 ) -> ::core::ffi::c_int;
13928}
13929unsafe extern "C" {
13930 pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13931}
13932unsafe extern "C" {
13933 pub fn EVP_PKEY_paramgen(
13934 ctx: *mut EVP_PKEY_CTX,
13935 out_pkey: *mut *mut EVP_PKEY,
13936 ) -> ::core::ffi::c_int;
13937}
13938unsafe extern "C" {
13939 pub fn EVP_PKEY_encapsulate_init(
13940 ctx: *mut EVP_PKEY_CTX,
13941 params: *const OSSL_PARAM,
13942 ) -> ::core::ffi::c_int;
13943}
13944unsafe extern "C" {
13945 pub fn EVP_PKEY_encapsulate(
13946 ctx: *mut EVP_PKEY_CTX,
13947 out_ciphertext: *mut u8,
13948 out_ciphertext_len: *mut usize,
13949 out_secret: *mut u8,
13950 out_secret_len: *mut usize,
13951 ) -> ::core::ffi::c_int;
13952}
13953unsafe extern "C" {
13954 pub fn EVP_PKEY_decapsulate_init(
13955 ctx: *mut EVP_PKEY_CTX,
13956 params: *const OSSL_PARAM,
13957 ) -> ::core::ffi::c_int;
13958}
13959unsafe extern "C" {
13960 pub fn EVP_PKEY_decapsulate(
13961 ctx: *mut EVP_PKEY_CTX,
13962 out_secret: *mut u8,
13963 out_secret_len: *mut usize,
13964 ciphertext: *const u8,
13965 ciphertext_len: usize,
13966 ) -> ::core::ffi::c_int;
13967}
13968unsafe extern "C" {
13969 pub fn EVP_PKEY_CTX_set_signature_md(
13970 ctx: *mut EVP_PKEY_CTX,
13971 md: *const EVP_MD,
13972 ) -> ::core::ffi::c_int;
13973}
13974unsafe extern "C" {
13975 pub fn EVP_PKEY_CTX_get_signature_md(
13976 ctx: *mut EVP_PKEY_CTX,
13977 out_md: *mut *const EVP_MD,
13978 ) -> ::core::ffi::c_int;
13979}
13980unsafe extern "C" {
13981 pub fn EVP_PKEY_CTX_set1_signature_context_string(
13982 ctx: *mut EVP_PKEY_CTX,
13983 context: *const u8,
13984 context_len: usize,
13985 ) -> ::core::ffi::c_int;
13986}
13987unsafe extern "C" {
13988 pub fn EVP_RSA_gen(bits: ::core::ffi::c_uint) -> *mut EVP_PKEY;
13989}
13990unsafe extern "C" {
13991 pub fn EVP_PKEY_CTX_set_rsa_padding(
13992 ctx: *mut EVP_PKEY_CTX,
13993 padding: ::core::ffi::c_int,
13994 ) -> ::core::ffi::c_int;
13995}
13996unsafe extern "C" {
13997 pub fn EVP_PKEY_CTX_get_rsa_padding(
13998 ctx: *mut EVP_PKEY_CTX,
13999 out_padding: *mut ::core::ffi::c_int,
14000 ) -> ::core::ffi::c_int;
14001}
14002unsafe extern "C" {
14003 pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
14004 ctx: *mut EVP_PKEY_CTX,
14005 salt_len: ::core::ffi::c_int,
14006 ) -> ::core::ffi::c_int;
14007}
14008unsafe extern "C" {
14009 pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
14010 ctx: *mut EVP_PKEY_CTX,
14011 out_salt_len: *mut ::core::ffi::c_int,
14012 ) -> ::core::ffi::c_int;
14013}
14014unsafe extern "C" {
14015 pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
14016 ctx: *mut EVP_PKEY_CTX,
14017 bits: ::core::ffi::c_int,
14018 ) -> ::core::ffi::c_int;
14019}
14020unsafe extern "C" {
14021 pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
14022 ctx: *mut EVP_PKEY_CTX,
14023 e: *mut BIGNUM,
14024 ) -> ::core::ffi::c_int;
14025}
14026unsafe extern "C" {
14027 pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
14028 ctx: *mut EVP_PKEY_CTX,
14029 md: *const EVP_MD,
14030 ) -> ::core::ffi::c_int;
14031}
14032unsafe extern "C" {
14033 pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
14034 ctx: *mut EVP_PKEY_CTX,
14035 out_md: *mut *const EVP_MD,
14036 ) -> ::core::ffi::c_int;
14037}
14038unsafe extern "C" {
14039 pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
14040 ctx: *mut EVP_PKEY_CTX,
14041 md: *const EVP_MD,
14042 ) -> ::core::ffi::c_int;
14043}
14044unsafe extern "C" {
14045 pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
14046 ctx: *mut EVP_PKEY_CTX,
14047 out_md: *mut *const EVP_MD,
14048 ) -> ::core::ffi::c_int;
14049}
14050unsafe extern "C" {
14051 pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
14052 ctx: *mut EVP_PKEY_CTX,
14053 label: *mut u8,
14054 label_len: usize,
14055 ) -> ::core::ffi::c_int;
14056}
14057unsafe extern "C" {
14058 pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
14059 ctx: *mut EVP_PKEY_CTX,
14060 out_label: *mut *const u8,
14061 ) -> ::core::ffi::c_int;
14062}
14063unsafe extern "C" {
14064 pub fn EVP_PKEY_get_ec_curve_nid(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14065}
14066unsafe extern "C" {
14067 pub fn EVP_PKEY_get_ec_point_conv_form(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14068}
14069unsafe extern "C" {
14070 pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
14071 ctx: *mut EVP_PKEY_CTX,
14072 nid: ::core::ffi::c_int,
14073 ) -> ::core::ffi::c_int;
14074}
14075unsafe extern "C" {
14076 pub fn EVP_PKEY_CTX_set_dh_pad(
14077 ctx: *mut EVP_PKEY_CTX,
14078 pad: ::core::ffi::c_int,
14079 ) -> ::core::ffi::c_int;
14080}
14081unsafe extern "C" {
14082 pub fn EVP_kem_ml_kem_768() -> *const EVP_KEM;
14083}
14084unsafe extern "C" {
14085 pub fn EVP_kem_ml_kem_1024() -> *const EVP_KEM;
14086}
14087unsafe extern "C" {
14088 pub fn EVP_kem_xwing() -> *const EVP_KEM;
14089}
14090unsafe extern "C" {
14091 pub fn EVP_KEM_ciphertext_len(kem: *const EVP_KEM) -> usize;
14092}
14093unsafe extern "C" {
14094 pub fn EVP_KEM_secret_len(kem: *const EVP_KEM) -> usize;
14095}
14096unsafe extern "C" {
14097 pub fn EVP_KEM_encap(
14098 kem: *const EVP_KEM,
14099 out_ciphertext: *mut u8,
14100 ciphertext_len: usize,
14101 out_secret: *mut u8,
14102 secret_len: usize,
14103 peer_key: *const EVP_PKEY,
14104 ) -> ::core::ffi::c_int;
14105}
14106unsafe extern "C" {
14107 pub fn EVP_KEM_decap(
14108 kem: *const EVP_KEM,
14109 out_secret: *mut u8,
14110 secret_len: usize,
14111 ciphertext: *const u8,
14112 ciphertext_len: usize,
14113 key: *const EVP_PKEY,
14114 ) -> ::core::ffi::c_int;
14115}
14116unsafe extern "C" {
14117 pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::core::ffi::c_void;
14118}
14119unsafe extern "C" {
14120 pub fn OpenSSL_add_all_algorithms();
14121}
14122unsafe extern "C" {
14123 pub fn OPENSSL_add_all_algorithms_conf();
14124}
14125unsafe extern "C" {
14126 pub fn OpenSSL_add_all_ciphers();
14127}
14128unsafe extern "C" {
14129 pub fn OpenSSL_add_all_digests();
14130}
14131unsafe extern "C" {
14132 pub fn EVP_cleanup();
14133}
14134unsafe extern "C" {
14135 pub fn EVP_default_properties_is_fips_enabled(libctx: *mut OSSL_LIB_CTX) -> ::core::ffi::c_int;
14136}
14137unsafe extern "C" {
14138 pub fn EVP_CIPHER_do_all_sorted(
14139 callback: ::core::option::Option<
14140 unsafe extern "C" fn(
14141 cipher: *const EVP_CIPHER,
14142 name: *const ::core::ffi::c_char,
14143 unused: *const ::core::ffi::c_char,
14144 arg: *mut ::core::ffi::c_void,
14145 ),
14146 >,
14147 arg: *mut ::core::ffi::c_void,
14148 );
14149}
14150unsafe extern "C" {
14151 pub fn EVP_MD_do_all_sorted(
14152 callback: ::core::option::Option<
14153 unsafe extern "C" fn(
14154 md: *const EVP_MD,
14155 name: *const ::core::ffi::c_char,
14156 unused: *const ::core::ffi::c_char,
14157 arg: *mut ::core::ffi::c_void,
14158 ),
14159 >,
14160 arg: *mut ::core::ffi::c_void,
14161 );
14162}
14163unsafe extern "C" {
14164 pub fn EVP_MD_do_all(
14165 callback: ::core::option::Option<
14166 unsafe extern "C" fn(
14167 md: *const EVP_MD,
14168 name: *const ::core::ffi::c_char,
14169 unused: *const ::core::ffi::c_char,
14170 arg: *mut ::core::ffi::c_void,
14171 ),
14172 >,
14173 arg: *mut ::core::ffi::c_void,
14174 );
14175}
14176unsafe extern "C" {
14177 pub fn EVP_MD_do_all_provided(
14178 libctx: *mut OSSL_LIB_CTX,
14179 callback: ::core::option::Option<
14180 unsafe extern "C" fn(md: *mut EVP_MD, arg: *mut ::core::ffi::c_void),
14181 >,
14182 arg: *mut ::core::ffi::c_void,
14183 );
14184}
14185unsafe extern "C" {
14186 pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14187}
14188unsafe extern "C" {
14189 pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14190}
14191unsafe extern "C" {
14192 pub fn d2i_PrivateKey(
14193 type_: ::core::ffi::c_int,
14194 out: *mut *mut EVP_PKEY,
14195 inp: *mut *const u8,
14196 len: ::core::ffi::c_long,
14197 ) -> *mut EVP_PKEY;
14198}
14199unsafe extern "C" {
14200 pub fn d2i_AutoPrivateKey(
14201 out: *mut *mut EVP_PKEY,
14202 inp: *mut *const u8,
14203 len: ::core::ffi::c_long,
14204 ) -> *mut EVP_PKEY;
14205}
14206unsafe extern "C" {
14207 pub fn d2i_PublicKey(
14208 type_: ::core::ffi::c_int,
14209 out: *mut *mut EVP_PKEY,
14210 inp: *mut *const u8,
14211 len: ::core::ffi::c_long,
14212 ) -> *mut EVP_PKEY;
14213}
14214unsafe extern "C" {
14215 pub fn EVP_PKEY_CTX_set_ec_param_enc(
14216 ctx: *mut EVP_PKEY_CTX,
14217 encoding: ::core::ffi::c_int,
14218 ) -> ::core::ffi::c_int;
14219}
14220unsafe extern "C" {
14221 pub fn EVP_PKEY_set_type(pkey: *mut EVP_PKEY, type_: ::core::ffi::c_int) -> ::core::ffi::c_int;
14222}
14223unsafe extern "C" {
14224 pub fn EVP_PKEY_set1_tls_encodedpoint(
14225 pkey: *mut EVP_PKEY,
14226 in_: *const u8,
14227 len: usize,
14228 ) -> ::core::ffi::c_int;
14229}
14230unsafe extern "C" {
14231 pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
14232}
14233unsafe extern "C" {
14234 pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14235}
14236unsafe extern "C" {
14237 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
14238 ctx: *mut EVP_PKEY_CTX,
14239 md: *const EVP_MD,
14240 ) -> ::core::ffi::c_int;
14241}
14242unsafe extern "C" {
14243 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
14244 ctx: *mut EVP_PKEY_CTX,
14245 salt_len: ::core::ffi::c_int,
14246 ) -> ::core::ffi::c_int;
14247}
14248unsafe extern "C" {
14249 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
14250 ctx: *mut EVP_PKEY_CTX,
14251 md: *const EVP_MD,
14252 ) -> ::core::ffi::c_int;
14253}
14254unsafe extern "C" {
14255 pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14256}
14257unsafe extern "C" {
14258 pub fn d2i_PUBKEY(
14259 out: *mut *mut EVP_PKEY,
14260 inp: *mut *const u8,
14261 len: ::core::ffi::c_long,
14262 ) -> *mut EVP_PKEY;
14263}
14264unsafe extern "C" {
14265 pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14266}
14267unsafe extern "C" {
14268 pub fn d2i_RSA_PUBKEY(
14269 out: *mut *mut RSA,
14270 inp: *mut *const u8,
14271 len: ::core::ffi::c_long,
14272 ) -> *mut RSA;
14273}
14274unsafe extern "C" {
14275 pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14276}
14277unsafe extern "C" {
14278 pub fn d2i_DSA_PUBKEY(
14279 out: *mut *mut DSA,
14280 inp: *mut *const u8,
14281 len: ::core::ffi::c_long,
14282 ) -> *mut DSA;
14283}
14284unsafe extern "C" {
14285 pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14286}
14287unsafe extern "C" {
14288 pub fn d2i_EC_PUBKEY(
14289 out: *mut *mut EC_KEY,
14290 inp: *mut *const u8,
14291 len: ::core::ffi::c_long,
14292 ) -> *mut EC_KEY;
14293}
14294unsafe extern "C" {
14295 pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
14296 ctx: *mut EVP_PKEY_CTX,
14297 nbits: ::core::ffi::c_int,
14298 ) -> ::core::ffi::c_int;
14299}
14300unsafe extern "C" {
14301 pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
14302 ctx: *mut EVP_PKEY_CTX,
14303 qbits: ::core::ffi::c_int,
14304 ) -> ::core::ffi::c_int;
14305}
14306unsafe extern "C" {
14307 pub fn EVP_PKEY_assign(
14308 pkey: *mut EVP_PKEY,
14309 type_: ::core::ffi::c_int,
14310 key: *mut ::core::ffi::c_void,
14311 ) -> ::core::ffi::c_int;
14312}
14313unsafe extern "C" {
14314 pub fn EVP_PKEY_type(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
14315}
14316unsafe extern "C" {
14317 pub fn EVP_PKEY_new_raw_private_key(
14318 type_: ::core::ffi::c_int,
14319 unused: *mut ENGINE,
14320 in_: *const u8,
14321 len: usize,
14322 ) -> *mut EVP_PKEY;
14323}
14324unsafe extern "C" {
14325 pub fn EVP_PKEY_new_raw_public_key(
14326 type_: ::core::ffi::c_int,
14327 unused: *mut ENGINE,
14328 in_: *const u8,
14329 len: usize,
14330 ) -> *mut EVP_PKEY;
14331}
14332unsafe extern "C" {
14333 pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14334}
14335unsafe extern "C" {
14336 pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14337}
14338unsafe extern "C" {
14339 pub fn HKDF(
14340 out_key: *mut u8,
14341 out_len: usize,
14342 digest: *const EVP_MD,
14343 secret: *const u8,
14344 secret_len: usize,
14345 salt: *const u8,
14346 salt_len: usize,
14347 info: *const u8,
14348 info_len: usize,
14349 ) -> ::core::ffi::c_int;
14350}
14351unsafe extern "C" {
14352 pub fn HKDF_extract(
14353 out_key: *mut u8,
14354 out_len: *mut usize,
14355 digest: *const EVP_MD,
14356 secret: *const u8,
14357 secret_len: usize,
14358 salt: *const u8,
14359 salt_len: usize,
14360 ) -> ::core::ffi::c_int;
14361}
14362unsafe extern "C" {
14363 pub fn HKDF_expand(
14364 out_key: *mut u8,
14365 out_len: usize,
14366 digest: *const EVP_MD,
14367 prk: *const u8,
14368 prk_len: usize,
14369 info: *const u8,
14370 info_len: usize,
14371 ) -> ::core::ffi::c_int;
14372}
14373unsafe extern "C" {
14374 pub fn HMAC(
14375 evp_md: *const EVP_MD,
14376 key: *const ::core::ffi::c_void,
14377 key_len: usize,
14378 data: *const u8,
14379 data_len: usize,
14380 out: *mut u8,
14381 out_len: *mut ::core::ffi::c_uint,
14382 ) -> *mut u8;
14383}
14384unsafe extern "C" {
14385 pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
14386}
14387unsafe extern "C" {
14388 pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
14389}
14390unsafe extern "C" {
14391 pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
14392}
14393unsafe extern "C" {
14394 pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
14395}
14396unsafe extern "C" {
14397 pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
14398}
14399unsafe extern "C" {
14400 pub fn HMAC_Init_ex(
14401 ctx: *mut HMAC_CTX,
14402 key: *const ::core::ffi::c_void,
14403 key_len: usize,
14404 md: *const EVP_MD,
14405 impl_: *mut ENGINE,
14406 ) -> ::core::ffi::c_int;
14407}
14408unsafe extern "C" {
14409 pub fn HMAC_Update(ctx: *mut HMAC_CTX, data: *const u8, data_len: usize) -> ::core::ffi::c_int;
14410}
14411unsafe extern "C" {
14412 pub fn HMAC_Final(
14413 ctx: *mut HMAC_CTX,
14414 out: *mut u8,
14415 out_len: *mut ::core::ffi::c_uint,
14416 ) -> ::core::ffi::c_int;
14417}
14418unsafe extern "C" {
14419 pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
14420}
14421unsafe extern "C" {
14422 pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
14423}
14424unsafe extern "C" {
14425 pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14426}
14427unsafe extern "C" {
14428 pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
14429}
14430unsafe extern "C" {
14431 pub fn HMAC_Init(
14432 ctx: *mut HMAC_CTX,
14433 key: *const ::core::ffi::c_void,
14434 key_len: ::core::ffi::c_int,
14435 md: *const EVP_MD,
14436 ) -> ::core::ffi::c_int;
14437}
14438unsafe extern "C" {
14439 pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14440}
14441#[repr(C)]
14442#[derive(Copy, Clone)]
14443pub struct hmac_ctx_st {
14444 pub md: *const EVP_MD,
14445 pub md_ctx: EVP_MD_CTX,
14446 pub i_ctx: EVP_MD_CTX,
14447 pub o_ctx: EVP_MD_CTX,
14448}
14449unsafe extern "C" {
14450 pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
14451}
14452unsafe extern "C" {
14453 pub fn EVP_hpke_p256_hkdf_sha256() -> *const EVP_HPKE_KEM;
14454}
14455unsafe extern "C" {
14456 pub fn EVP_hpke_xwing() -> *const EVP_HPKE_KEM;
14457}
14458unsafe extern "C" {
14459 pub fn EVP_hpke_mlkem768() -> *const EVP_HPKE_KEM;
14460}
14461unsafe extern "C" {
14462 pub fn EVP_hpke_mlkem1024() -> *const EVP_HPKE_KEM;
14463}
14464unsafe extern "C" {
14465 pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
14466}
14467unsafe extern "C" {
14468 pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14469}
14470unsafe extern "C" {
14471 pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14472}
14473unsafe extern "C" {
14474 pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
14475}
14476unsafe extern "C" {
14477 pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
14478}
14479unsafe extern "C" {
14480 pub fn EVP_hpke_hkdf_sha384() -> *const EVP_HPKE_KDF;
14481}
14482unsafe extern "C" {
14483 pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
14484}
14485unsafe extern "C" {
14486 pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
14487}
14488unsafe extern "C" {
14489 pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
14490}
14491unsafe extern "C" {
14492 pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
14493}
14494unsafe extern "C" {
14495 pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
14496}
14497unsafe extern "C" {
14498 pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
14499}
14500unsafe extern "C" {
14501 pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
14502}
14503unsafe extern "C" {
14504 pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
14505}
14506unsafe extern "C" {
14507 pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
14508}
14509unsafe extern "C" {
14510 pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
14511}
14512unsafe extern "C" {
14513 pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
14514}
14515unsafe extern "C" {
14516 pub fn EVP_HPKE_KEY_copy(
14517 dst: *mut EVP_HPKE_KEY,
14518 src: *const EVP_HPKE_KEY,
14519 ) -> ::core::ffi::c_int;
14520}
14521unsafe extern "C" {
14522 pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
14523}
14524unsafe extern "C" {
14525 pub fn EVP_HPKE_KEY_init(
14526 key: *mut EVP_HPKE_KEY,
14527 kem: *const EVP_HPKE_KEM,
14528 priv_key: *const u8,
14529 priv_key_len: usize,
14530 ) -> ::core::ffi::c_int;
14531}
14532unsafe extern "C" {
14533 pub fn EVP_HPKE_KEY_generate(
14534 key: *mut EVP_HPKE_KEY,
14535 kem: *const EVP_HPKE_KEM,
14536 ) -> ::core::ffi::c_int;
14537}
14538unsafe extern "C" {
14539 pub fn EVP_HPKE_KEY_derive(
14540 key: *mut EVP_HPKE_KEY,
14541 kem: *const EVP_HPKE_KEM,
14542 ikm: *const u8,
14543 ikm_len: usize,
14544 ) -> ::core::ffi::c_int;
14545}
14546unsafe extern "C" {
14547 pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
14548}
14549unsafe extern "C" {
14550 pub fn EVP_HPKE_KEY_public_key(
14551 key: *const EVP_HPKE_KEY,
14552 out: *mut u8,
14553 out_len: *mut usize,
14554 max_out: usize,
14555 ) -> ::core::ffi::c_int;
14556}
14557unsafe extern "C" {
14558 pub fn EVP_HPKE_KEY_private_key(
14559 key: *const EVP_HPKE_KEY,
14560 out: *mut u8,
14561 out_len: *mut usize,
14562 max_out: usize,
14563 ) -> ::core::ffi::c_int;
14564}
14565unsafe extern "C" {
14566 pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
14567}
14568unsafe extern "C" {
14569 pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
14570}
14571unsafe extern "C" {
14572 pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
14573}
14574unsafe extern "C" {
14575 pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
14576}
14577unsafe extern "C" {
14578 pub fn EVP_HPKE_CTX_setup_sender(
14579 ctx: *mut EVP_HPKE_CTX,
14580 out_enc: *mut u8,
14581 out_enc_len: *mut usize,
14582 max_enc: usize,
14583 kem: *const EVP_HPKE_KEM,
14584 kdf: *const EVP_HPKE_KDF,
14585 aead: *const EVP_HPKE_AEAD,
14586 peer_public_key: *const u8,
14587 peer_public_key_len: usize,
14588 info: *const u8,
14589 info_len: usize,
14590 ) -> ::core::ffi::c_int;
14591}
14592unsafe extern "C" {
14593 pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
14594 ctx: *mut EVP_HPKE_CTX,
14595 out_enc: *mut u8,
14596 out_enc_len: *mut usize,
14597 max_enc: usize,
14598 kem: *const EVP_HPKE_KEM,
14599 kdf: *const EVP_HPKE_KDF,
14600 aead: *const EVP_HPKE_AEAD,
14601 peer_public_key: *const u8,
14602 peer_public_key_len: usize,
14603 info: *const u8,
14604 info_len: usize,
14605 seed: *const u8,
14606 seed_len: usize,
14607 ) -> ::core::ffi::c_int;
14608}
14609unsafe extern "C" {
14610 pub fn EVP_HPKE_CTX_setup_recipient(
14611 ctx: *mut EVP_HPKE_CTX,
14612 key: *const EVP_HPKE_KEY,
14613 kdf: *const EVP_HPKE_KDF,
14614 aead: *const EVP_HPKE_AEAD,
14615 enc: *const u8,
14616 enc_len: usize,
14617 info: *const u8,
14618 info_len: usize,
14619 ) -> ::core::ffi::c_int;
14620}
14621unsafe extern "C" {
14622 pub fn EVP_HPKE_CTX_setup_auth_sender(
14623 ctx: *mut EVP_HPKE_CTX,
14624 out_enc: *mut u8,
14625 out_enc_len: *mut usize,
14626 max_enc: usize,
14627 key: *const EVP_HPKE_KEY,
14628 kdf: *const EVP_HPKE_KDF,
14629 aead: *const EVP_HPKE_AEAD,
14630 peer_public_key: *const u8,
14631 peer_public_key_len: usize,
14632 info: *const u8,
14633 info_len: usize,
14634 ) -> ::core::ffi::c_int;
14635}
14636unsafe extern "C" {
14637 pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
14638 ctx: *mut EVP_HPKE_CTX,
14639 out_enc: *mut u8,
14640 out_enc_len: *mut usize,
14641 max_enc: usize,
14642 key: *const EVP_HPKE_KEY,
14643 kdf: *const EVP_HPKE_KDF,
14644 aead: *const EVP_HPKE_AEAD,
14645 peer_public_key: *const u8,
14646 peer_public_key_len: usize,
14647 info: *const u8,
14648 info_len: usize,
14649 seed: *const u8,
14650 seed_len: usize,
14651 ) -> ::core::ffi::c_int;
14652}
14653unsafe extern "C" {
14654 pub fn EVP_HPKE_CTX_setup_auth_recipient(
14655 ctx: *mut EVP_HPKE_CTX,
14656 key: *const EVP_HPKE_KEY,
14657 kdf: *const EVP_HPKE_KDF,
14658 aead: *const EVP_HPKE_AEAD,
14659 enc: *const u8,
14660 enc_len: usize,
14661 info: *const u8,
14662 info_len: usize,
14663 peer_public_key: *const u8,
14664 peer_public_key_len: usize,
14665 ) -> ::core::ffi::c_int;
14666}
14667unsafe extern "C" {
14668 pub fn EVP_HPKE_CTX_open(
14669 ctx: *mut EVP_HPKE_CTX,
14670 out: *mut u8,
14671 out_len: *mut usize,
14672 max_out_len: usize,
14673 in_: *const u8,
14674 in_len: usize,
14675 ad: *const u8,
14676 ad_len: usize,
14677 ) -> ::core::ffi::c_int;
14678}
14679unsafe extern "C" {
14680 pub fn EVP_HPKE_CTX_seal(
14681 ctx: *mut EVP_HPKE_CTX,
14682 out: *mut u8,
14683 out_len: *mut usize,
14684 max_out_len: usize,
14685 in_: *const u8,
14686 in_len: usize,
14687 ad: *const u8,
14688 ad_len: usize,
14689 ) -> ::core::ffi::c_int;
14690}
14691unsafe extern "C" {
14692 pub fn EVP_HPKE_CTX_export(
14693 ctx: *const EVP_HPKE_CTX,
14694 out: *mut u8,
14695 secret_len: usize,
14696 context: *const u8,
14697 context_len: usize,
14698 ) -> ::core::ffi::c_int;
14699}
14700unsafe extern "C" {
14701 pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
14702}
14703unsafe extern "C" {
14704 pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
14705}
14706unsafe extern "C" {
14707 pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
14708}
14709unsafe extern "C" {
14710 pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
14711}
14712#[repr(C)]
14713#[derive(Copy, Clone)]
14714pub struct evp_hpke_ctx_st {
14715 pub kem: *const EVP_HPKE_KEM,
14716 pub aead: *const EVP_HPKE_AEAD,
14717 pub kdf: *const EVP_HPKE_KDF,
14718 pub aead_ctx: EVP_AEAD_CTX,
14719 pub base_nonce: [u8; 24usize],
14720 pub exporter_secret: [u8; 64usize],
14721 pub seq: u64,
14722 pub is_sender: ::core::ffi::c_int,
14723}
14724#[repr(C)]
14725#[derive(Debug, Copy, Clone)]
14726pub struct evp_hpke_key_st {
14727 pub kem: *const EVP_HPKE_KEM,
14728 pub private_key: [u8; 64usize],
14729 pub public_key: [u8; 1568usize],
14730}
14731#[repr(C)]
14732#[derive(Debug, Copy, Clone)]
14733pub struct HRSS_private_key {
14734 pub opaque: [u8; 1808usize],
14735}
14736#[repr(C)]
14737#[derive(Debug, Copy, Clone)]
14738pub struct HRSS_public_key {
14739 pub opaque: [u8; 1424usize],
14740}
14741unsafe extern "C" {
14742 pub fn HRSS_generate_key(
14743 out_pub: *mut HRSS_public_key,
14744 out_priv: *mut HRSS_private_key,
14745 input: *const u8,
14746 ) -> ::core::ffi::c_int;
14747}
14748unsafe extern "C" {
14749 pub fn HRSS_encap(
14750 out_ciphertext: *mut u8,
14751 out_shared_key: *mut u8,
14752 in_pub: *const HRSS_public_key,
14753 in_: *const u8,
14754 ) -> ::core::ffi::c_int;
14755}
14756unsafe extern "C" {
14757 pub fn HRSS_decap(
14758 out_shared_key: *mut u8,
14759 in_priv: *const HRSS_private_key,
14760 ciphertext: *const u8,
14761 ciphertext_len: usize,
14762 ) -> ::core::ffi::c_int;
14763}
14764unsafe extern "C" {
14765 pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
14766}
14767unsafe extern "C" {
14768 pub fn HRSS_parse_public_key(out: *mut HRSS_public_key, in_: *const u8) -> ::core::ffi::c_int;
14769}
14770unsafe extern "C" {
14771 pub fn EVP_PKEY_CTX_hkdf_mode(
14772 ctx: *mut EVP_PKEY_CTX,
14773 mode: ::core::ffi::c_int,
14774 ) -> ::core::ffi::c_int;
14775}
14776unsafe extern "C" {
14777 pub fn EVP_PKEY_CTX_set_hkdf_md(
14778 ctx: *mut EVP_PKEY_CTX,
14779 md: *const EVP_MD,
14780 ) -> ::core::ffi::c_int;
14781}
14782unsafe extern "C" {
14783 pub fn EVP_PKEY_CTX_set1_hkdf_key(
14784 ctx: *mut EVP_PKEY_CTX,
14785 key: *const u8,
14786 key_len: usize,
14787 ) -> ::core::ffi::c_int;
14788}
14789unsafe extern "C" {
14790 pub fn EVP_PKEY_CTX_set1_hkdf_salt(
14791 ctx: *mut EVP_PKEY_CTX,
14792 salt: *const u8,
14793 salt_len: usize,
14794 ) -> ::core::ffi::c_int;
14795}
14796unsafe extern "C" {
14797 pub fn EVP_PKEY_CTX_add1_hkdf_info(
14798 ctx: *mut EVP_PKEY_CTX,
14799 info: *const u8,
14800 info_len: usize,
14801 ) -> ::core::ffi::c_int;
14802}
14803unsafe extern "C" {
14804 pub fn MD4_Init(md4: *mut MD4_CTX) -> ::core::ffi::c_int;
14805}
14806unsafe extern "C" {
14807 pub fn MD4_Update(
14808 md4: *mut MD4_CTX,
14809 data: *const ::core::ffi::c_void,
14810 len: usize,
14811 ) -> ::core::ffi::c_int;
14812}
14813unsafe extern "C" {
14814 pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::core::ffi::c_int;
14815}
14816unsafe extern "C" {
14817 pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
14818}
14819unsafe extern "C" {
14820 pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
14821}
14822#[repr(C)]
14823#[derive(Debug, Copy, Clone)]
14824pub struct md4_state_st {
14825 pub h: [u32; 4usize],
14826 pub Nl: u32,
14827 pub Nh: u32,
14828 pub data: [u8; 64usize],
14829 pub num: ::core::ffi::c_uint,
14830}
14831unsafe extern "C" {
14832 pub fn MD5_Init(md5: *mut MD5_CTX) -> ::core::ffi::c_int;
14833}
14834unsafe extern "C" {
14835 pub fn MD5_Update(
14836 md5: *mut MD5_CTX,
14837 data: *const ::core::ffi::c_void,
14838 len: usize,
14839 ) -> ::core::ffi::c_int;
14840}
14841unsafe extern "C" {
14842 pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::core::ffi::c_int;
14843}
14844unsafe extern "C" {
14845 pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
14846}
14847unsafe extern "C" {
14848 pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
14849}
14850#[repr(C)]
14851#[derive(Debug, Copy, Clone)]
14852pub struct md5_state_st {
14853 pub h: [u32; 4usize],
14854 pub Nl: u32,
14855 pub Nh: u32,
14856 pub data: [u8; 64usize],
14857 pub num: ::core::ffi::c_uint,
14858}
14859#[repr(C)]
14860#[derive(Copy, Clone)]
14861pub struct MLDSA65_private_key {
14862 pub opaque: MLDSA65_private_key__bindgen_ty_1,
14863}
14864#[repr(C)]
14865#[derive(Copy, Clone)]
14866pub union MLDSA65_private_key__bindgen_ty_1 {
14867 pub bytes: [u8; 23680usize],
14868 pub alignment: u32,
14869}
14870#[repr(C)]
14871#[derive(Copy, Clone)]
14872pub struct MLDSA65_public_key {
14873 pub opaque: MLDSA65_public_key__bindgen_ty_1,
14874}
14875#[repr(C)]
14876#[derive(Copy, Clone)]
14877pub union MLDSA65_public_key__bindgen_ty_1 {
14878 pub bytes: [u8; 6240usize],
14879 pub alignment: u32,
14880}
14881#[repr(C)]
14882#[derive(Copy, Clone)]
14883pub struct MLDSA65_prehash {
14884 pub opaque: MLDSA65_prehash__bindgen_ty_1,
14885}
14886#[repr(C)]
14887#[derive(Copy, Clone)]
14888pub union MLDSA65_prehash__bindgen_ty_1 {
14889 pub bytes: [u8; 240usize],
14890 pub alignment: u64,
14891}
14892unsafe extern "C" {
14893 pub fn MLDSA65_generate_key(
14894 out_encoded_public_key: *mut u8,
14895 out_seed: *mut u8,
14896 out_private_key: *mut MLDSA65_private_key,
14897 ) -> ::core::ffi::c_int;
14898}
14899unsafe extern "C" {
14900 pub fn MLDSA65_private_key_from_seed(
14901 out_private_key: *mut MLDSA65_private_key,
14902 seed: *const u8,
14903 seed_len: usize,
14904 ) -> ::core::ffi::c_int;
14905}
14906unsafe extern "C" {
14907 pub fn MLDSA65_public_from_private(
14908 out_public_key: *mut MLDSA65_public_key,
14909 private_key: *const MLDSA65_private_key,
14910 ) -> ::core::ffi::c_int;
14911}
14912unsafe extern "C" {
14913 pub fn MLDSA65_sign(
14914 out_encoded_signature: *mut u8,
14915 private_key: *const MLDSA65_private_key,
14916 msg: *const u8,
14917 msg_len: usize,
14918 context: *const u8,
14919 context_len: usize,
14920 ) -> ::core::ffi::c_int;
14921}
14922unsafe extern "C" {
14923 pub fn MLDSA65_verify(
14924 public_key: *const MLDSA65_public_key,
14925 signature: *const u8,
14926 signature_len: usize,
14927 msg: *const u8,
14928 msg_len: usize,
14929 context: *const u8,
14930 context_len: usize,
14931 ) -> ::core::ffi::c_int;
14932}
14933unsafe extern "C" {
14934 pub fn MLDSA65_prehash_init(
14935 out_state: *mut MLDSA65_prehash,
14936 public_key: *const MLDSA65_public_key,
14937 context: *const u8,
14938 context_len: usize,
14939 ) -> ::core::ffi::c_int;
14940}
14941unsafe extern "C" {
14942 pub fn MLDSA65_prehash_update(
14943 inout_state: *mut MLDSA65_prehash,
14944 msg: *const u8,
14945 msg_len: usize,
14946 );
14947}
14948unsafe extern "C" {
14949 pub fn MLDSA65_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA65_prehash);
14950}
14951unsafe extern "C" {
14952 pub fn MLDSA65_sign_message_representative(
14953 out_encoded_signature: *mut u8,
14954 private_key: *const MLDSA65_private_key,
14955 msg_rep: *const u8,
14956 ) -> ::core::ffi::c_int;
14957}
14958unsafe extern "C" {
14959 pub fn MLDSA65_verify_message_representative(
14960 public_key: *const MLDSA65_public_key,
14961 signature: *const u8,
14962 signature_len: usize,
14963 msg_rep: *const u8,
14964 ) -> ::core::ffi::c_int;
14965}
14966unsafe extern "C" {
14967 pub fn MLDSA65_marshal_public_key(
14968 out: *mut CBB,
14969 public_key: *const MLDSA65_public_key,
14970 ) -> ::core::ffi::c_int;
14971}
14972unsafe extern "C" {
14973 pub fn MLDSA65_parse_public_key(
14974 public_key: *mut MLDSA65_public_key,
14975 in_: *mut CBS,
14976 ) -> ::core::ffi::c_int;
14977}
14978#[repr(C)]
14979#[derive(Copy, Clone)]
14980pub struct MLDSA87_private_key {
14981 pub opaque: MLDSA87_private_key__bindgen_ty_1,
14982}
14983#[repr(C)]
14984#[derive(Copy, Clone)]
14985pub union MLDSA87_private_key__bindgen_ty_1 {
14986 pub bytes: [u8; 31872usize],
14987 pub alignment: u32,
14988}
14989#[repr(C)]
14990#[derive(Copy, Clone)]
14991pub struct MLDSA87_public_key {
14992 pub opaque: MLDSA87_public_key__bindgen_ty_1,
14993}
14994#[repr(C)]
14995#[derive(Copy, Clone)]
14996pub union MLDSA87_public_key__bindgen_ty_1 {
14997 pub bytes: [u8; 8288usize],
14998 pub alignment: u32,
14999}
15000#[repr(C)]
15001#[derive(Copy, Clone)]
15002pub struct MLDSA87_prehash {
15003 pub opaque: MLDSA87_prehash__bindgen_ty_1,
15004}
15005#[repr(C)]
15006#[derive(Copy, Clone)]
15007pub union MLDSA87_prehash__bindgen_ty_1 {
15008 pub bytes: [u8; 240usize],
15009 pub alignment: u64,
15010}
15011unsafe extern "C" {
15012 pub fn MLDSA87_generate_key(
15013 out_encoded_public_key: *mut u8,
15014 out_seed: *mut u8,
15015 out_private_key: *mut MLDSA87_private_key,
15016 ) -> ::core::ffi::c_int;
15017}
15018unsafe extern "C" {
15019 pub fn MLDSA87_private_key_from_seed(
15020 out_private_key: *mut MLDSA87_private_key,
15021 seed: *const u8,
15022 seed_len: usize,
15023 ) -> ::core::ffi::c_int;
15024}
15025unsafe extern "C" {
15026 pub fn MLDSA87_public_from_private(
15027 out_public_key: *mut MLDSA87_public_key,
15028 private_key: *const MLDSA87_private_key,
15029 ) -> ::core::ffi::c_int;
15030}
15031unsafe extern "C" {
15032 pub fn MLDSA87_sign(
15033 out_encoded_signature: *mut u8,
15034 private_key: *const MLDSA87_private_key,
15035 msg: *const u8,
15036 msg_len: usize,
15037 context: *const u8,
15038 context_len: usize,
15039 ) -> ::core::ffi::c_int;
15040}
15041unsafe extern "C" {
15042 pub fn MLDSA87_verify(
15043 public_key: *const MLDSA87_public_key,
15044 signature: *const u8,
15045 signature_len: usize,
15046 msg: *const u8,
15047 msg_len: usize,
15048 context: *const u8,
15049 context_len: usize,
15050 ) -> ::core::ffi::c_int;
15051}
15052unsafe extern "C" {
15053 pub fn MLDSA87_prehash_init(
15054 out_state: *mut MLDSA87_prehash,
15055 public_key: *const MLDSA87_public_key,
15056 context: *const u8,
15057 context_len: usize,
15058 ) -> ::core::ffi::c_int;
15059}
15060unsafe extern "C" {
15061 pub fn MLDSA87_prehash_update(
15062 inout_state: *mut MLDSA87_prehash,
15063 msg: *const u8,
15064 msg_len: usize,
15065 );
15066}
15067unsafe extern "C" {
15068 pub fn MLDSA87_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA87_prehash);
15069}
15070unsafe extern "C" {
15071 pub fn MLDSA87_sign_message_representative(
15072 out_encoded_signature: *mut u8,
15073 private_key: *const MLDSA87_private_key,
15074 msg_rep: *const u8,
15075 ) -> ::core::ffi::c_int;
15076}
15077unsafe extern "C" {
15078 pub fn MLDSA87_verify_message_representative(
15079 public_key: *const MLDSA87_public_key,
15080 signature: *const u8,
15081 signature_len: usize,
15082 msg_rep: *const u8,
15083 ) -> ::core::ffi::c_int;
15084}
15085unsafe extern "C" {
15086 pub fn MLDSA87_marshal_public_key(
15087 out: *mut CBB,
15088 public_key: *const MLDSA87_public_key,
15089 ) -> ::core::ffi::c_int;
15090}
15091unsafe extern "C" {
15092 pub fn MLDSA87_parse_public_key(
15093 public_key: *mut MLDSA87_public_key,
15094 in_: *mut CBS,
15095 ) -> ::core::ffi::c_int;
15096}
15097#[repr(C)]
15098#[derive(Copy, Clone)]
15099pub struct MLDSA44_private_key {
15100 pub opaque: MLDSA44_private_key__bindgen_ty_1,
15101}
15102#[repr(C)]
15103#[derive(Copy, Clone)]
15104pub union MLDSA44_private_key__bindgen_ty_1 {
15105 pub bytes: [u8; 16512usize],
15106 pub alignment: u32,
15107}
15108#[repr(C)]
15109#[derive(Copy, Clone)]
15110pub struct MLDSA44_public_key {
15111 pub opaque: MLDSA44_public_key__bindgen_ty_1,
15112}
15113#[repr(C)]
15114#[derive(Copy, Clone)]
15115pub union MLDSA44_public_key__bindgen_ty_1 {
15116 pub bytes: [u8; 4192usize],
15117 pub alignment: u32,
15118}
15119#[repr(C)]
15120#[derive(Copy, Clone)]
15121pub struct MLDSA44_prehash {
15122 pub opaque: MLDSA44_prehash__bindgen_ty_1,
15123}
15124#[repr(C)]
15125#[derive(Copy, Clone)]
15126pub union MLDSA44_prehash__bindgen_ty_1 {
15127 pub bytes: [u8; 240usize],
15128 pub alignment: u64,
15129}
15130unsafe extern "C" {
15131 pub fn MLDSA44_generate_key(
15132 out_encoded_public_key: *mut u8,
15133 out_seed: *mut u8,
15134 out_private_key: *mut MLDSA44_private_key,
15135 ) -> ::core::ffi::c_int;
15136}
15137unsafe extern "C" {
15138 pub fn MLDSA44_private_key_from_seed(
15139 out_private_key: *mut MLDSA44_private_key,
15140 seed: *const u8,
15141 seed_len: usize,
15142 ) -> ::core::ffi::c_int;
15143}
15144unsafe extern "C" {
15145 pub fn MLDSA44_public_from_private(
15146 out_public_key: *mut MLDSA44_public_key,
15147 private_key: *const MLDSA44_private_key,
15148 ) -> ::core::ffi::c_int;
15149}
15150unsafe extern "C" {
15151 pub fn MLDSA44_sign(
15152 out_encoded_signature: *mut u8,
15153 private_key: *const MLDSA44_private_key,
15154 msg: *const u8,
15155 msg_len: usize,
15156 context: *const u8,
15157 context_len: usize,
15158 ) -> ::core::ffi::c_int;
15159}
15160unsafe extern "C" {
15161 pub fn MLDSA44_verify(
15162 public_key: *const MLDSA44_public_key,
15163 signature: *const u8,
15164 signature_len: usize,
15165 msg: *const u8,
15166 msg_len: usize,
15167 context: *const u8,
15168 context_len: usize,
15169 ) -> ::core::ffi::c_int;
15170}
15171unsafe extern "C" {
15172 pub fn MLDSA44_prehash_init(
15173 out_state: *mut MLDSA44_prehash,
15174 public_key: *const MLDSA44_public_key,
15175 context: *const u8,
15176 context_len: usize,
15177 ) -> ::core::ffi::c_int;
15178}
15179unsafe extern "C" {
15180 pub fn MLDSA44_prehash_update(
15181 inout_state: *mut MLDSA44_prehash,
15182 msg: *const u8,
15183 msg_len: usize,
15184 );
15185}
15186unsafe extern "C" {
15187 pub fn MLDSA44_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA44_prehash);
15188}
15189unsafe extern "C" {
15190 pub fn MLDSA44_sign_message_representative(
15191 out_encoded_signature: *mut u8,
15192 private_key: *const MLDSA44_private_key,
15193 msg_rep: *const u8,
15194 ) -> ::core::ffi::c_int;
15195}
15196unsafe extern "C" {
15197 pub fn MLDSA44_verify_message_representative(
15198 public_key: *const MLDSA44_public_key,
15199 signature: *const u8,
15200 signature_len: usize,
15201 msg_rep: *const u8,
15202 ) -> ::core::ffi::c_int;
15203}
15204unsafe extern "C" {
15205 pub fn MLDSA44_marshal_public_key(
15206 out: *mut CBB,
15207 public_key: *const MLDSA44_public_key,
15208 ) -> ::core::ffi::c_int;
15209}
15210unsafe extern "C" {
15211 pub fn MLDSA44_parse_public_key(
15212 public_key: *mut MLDSA44_public_key,
15213 in_: *mut CBS,
15214 ) -> ::core::ffi::c_int;
15215}
15216#[repr(C)]
15217#[derive(Copy, Clone)]
15218pub struct MLKEM768_public_key {
15219 pub opaque: MLKEM768_public_key__bindgen_ty_1,
15220}
15221#[repr(C)]
15222#[derive(Copy, Clone)]
15223pub union MLKEM768_public_key__bindgen_ty_1 {
15224 pub bytes: [u8; 6208usize],
15225 pub alignment: u16,
15226}
15227#[repr(C)]
15228#[derive(Copy, Clone)]
15229pub struct MLKEM768_private_key {
15230 pub opaque: MLKEM768_private_key__bindgen_ty_1,
15231}
15232#[repr(C)]
15233#[derive(Copy, Clone)]
15234pub union MLKEM768_private_key__bindgen_ty_1 {
15235 pub bytes: [u8; 7776usize],
15236 pub alignment: u16,
15237}
15238unsafe extern "C" {
15239 pub fn MLKEM768_generate_key(
15240 out_encoded_public_key: *mut u8,
15241 optional_out_seed: *mut u8,
15242 out_private_key: *mut MLKEM768_private_key,
15243 );
15244}
15245unsafe extern "C" {
15246 pub fn MLKEM768_private_key_from_seed(
15247 out_private_key: *mut MLKEM768_private_key,
15248 seed: *const u8,
15249 seed_len: usize,
15250 ) -> ::core::ffi::c_int;
15251}
15252unsafe extern "C" {
15253 pub fn MLKEM768_public_from_private(
15254 out_public_key: *mut MLKEM768_public_key,
15255 private_key: *const MLKEM768_private_key,
15256 );
15257}
15258unsafe extern "C" {
15259 pub fn MLKEM768_encap(
15260 out_ciphertext: *mut u8,
15261 out_shared_secret: *mut u8,
15262 public_key: *const MLKEM768_public_key,
15263 );
15264}
15265unsafe extern "C" {
15266 pub fn MLKEM768_decap(
15267 out_shared_secret: *mut u8,
15268 ciphertext: *const u8,
15269 ciphertext_len: usize,
15270 private_key: *const MLKEM768_private_key,
15271 ) -> ::core::ffi::c_int;
15272}
15273unsafe extern "C" {
15274 pub fn MLKEM768_marshal_public_key(
15275 out: *mut CBB,
15276 public_key: *const MLKEM768_public_key,
15277 ) -> ::core::ffi::c_int;
15278}
15279unsafe extern "C" {
15280 pub fn MLKEM768_parse_public_key(
15281 out_public_key: *mut MLKEM768_public_key,
15282 in_: *mut CBS,
15283 ) -> ::core::ffi::c_int;
15284}
15285#[repr(C)]
15286#[derive(Copy, Clone)]
15287pub struct MLKEM1024_public_key {
15288 pub opaque: MLKEM1024_public_key__bindgen_ty_1,
15289}
15290#[repr(C)]
15291#[derive(Copy, Clone)]
15292pub union MLKEM1024_public_key__bindgen_ty_1 {
15293 pub bytes: [u8; 10304usize],
15294 pub alignment: u16,
15295}
15296#[repr(C)]
15297#[derive(Copy, Clone)]
15298pub struct MLKEM1024_private_key {
15299 pub opaque: MLKEM1024_private_key__bindgen_ty_1,
15300}
15301#[repr(C)]
15302#[derive(Copy, Clone)]
15303pub union MLKEM1024_private_key__bindgen_ty_1 {
15304 pub bytes: [u8; 12384usize],
15305 pub alignment: u16,
15306}
15307unsafe extern "C" {
15308 pub fn MLKEM1024_generate_key(
15309 out_encoded_public_key: *mut u8,
15310 optional_out_seed: *mut u8,
15311 out_private_key: *mut MLKEM1024_private_key,
15312 );
15313}
15314unsafe extern "C" {
15315 pub fn MLKEM1024_private_key_from_seed(
15316 out_private_key: *mut MLKEM1024_private_key,
15317 seed: *const u8,
15318 seed_len: usize,
15319 ) -> ::core::ffi::c_int;
15320}
15321unsafe extern "C" {
15322 pub fn MLKEM1024_public_from_private(
15323 out_public_key: *mut MLKEM1024_public_key,
15324 private_key: *const MLKEM1024_private_key,
15325 );
15326}
15327unsafe extern "C" {
15328 pub fn MLKEM1024_encap(
15329 out_ciphertext: *mut u8,
15330 out_shared_secret: *mut u8,
15331 public_key: *const MLKEM1024_public_key,
15332 );
15333}
15334unsafe extern "C" {
15335 pub fn MLKEM1024_decap(
15336 out_shared_secret: *mut u8,
15337 ciphertext: *const u8,
15338 ciphertext_len: usize,
15339 private_key: *const MLKEM1024_private_key,
15340 ) -> ::core::ffi::c_int;
15341}
15342unsafe extern "C" {
15343 pub fn MLKEM1024_marshal_public_key(
15344 out: *mut CBB,
15345 public_key: *const MLKEM1024_public_key,
15346 ) -> ::core::ffi::c_int;
15347}
15348unsafe extern "C" {
15349 pub fn MLKEM1024_parse_public_key(
15350 out_public_key: *mut MLKEM1024_public_key,
15351 in_: *mut CBS,
15352 ) -> ::core::ffi::c_int;
15353}
15354unsafe extern "C" {
15355 pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15356}
15357unsafe extern "C" {
15358 pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15359}
15360unsafe extern "C" {
15361 pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15362}
15363unsafe extern "C" {
15364 pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15365}
15366unsafe extern "C" {
15367 pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15368}
15369unsafe extern "C" {
15370 pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::core::ffi::c_int;
15371}
15372unsafe extern "C" {
15373 pub fn OBJ_sn2nid(short_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15374}
15375unsafe extern "C" {
15376 pub fn OBJ_ln2nid(long_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15377}
15378unsafe extern "C" {
15379 pub fn OBJ_txt2nid(s: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15380}
15381unsafe extern "C" {
15382 pub fn OBJ_nid2obj(nid: ::core::ffi::c_int) -> *mut ASN1_OBJECT;
15383}
15384unsafe extern "C" {
15385 pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15386}
15387unsafe extern "C" {
15388 pub fn OBJ_nid2sn(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15389}
15390unsafe extern "C" {
15391 pub fn OBJ_nid2ln(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15392}
15393unsafe extern "C" {
15394 pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
15395}
15396unsafe extern "C" {
15397 pub fn OBJ_txt2obj(
15398 s: *const ::core::ffi::c_char,
15399 dont_search_names: ::core::ffi::c_int,
15400 ) -> *mut ASN1_OBJECT;
15401}
15402unsafe extern "C" {
15403 pub fn OBJ_obj2txt(
15404 out: *mut ::core::ffi::c_char,
15405 out_len: ::core::ffi::c_int,
15406 obj: *const ASN1_OBJECT,
15407 always_return_oid: ::core::ffi::c_int,
15408 ) -> ::core::ffi::c_int;
15409}
15410unsafe extern "C" {
15411 pub fn OBJ_create(
15412 oid: *const ::core::ffi::c_char,
15413 short_name: *const ::core::ffi::c_char,
15414 long_name: *const ::core::ffi::c_char,
15415 ) -> ::core::ffi::c_int;
15416}
15417unsafe extern "C" {
15418 pub fn OBJ_find_sigid_algs(
15419 sign_nid: ::core::ffi::c_int,
15420 out_digest_nid: *mut ::core::ffi::c_int,
15421 out_pkey_nid: *mut ::core::ffi::c_int,
15422 ) -> ::core::ffi::c_int;
15423}
15424unsafe extern "C" {
15425 pub fn OBJ_find_sigid_by_algs(
15426 out_sign_nid: *mut ::core::ffi::c_int,
15427 digest_nid: ::core::ffi::c_int,
15428 pkey_nid: ::core::ffi::c_int,
15429 ) -> ::core::ffi::c_int;
15430}
15431#[repr(C)]
15432#[derive(Debug, Copy, Clone)]
15433pub struct obj_name_st {
15434 pub type_: ::core::ffi::c_int,
15435 pub alias: ::core::ffi::c_int,
15436 pub name: *const ::core::ffi::c_char,
15437 pub data: *const ::core::ffi::c_char,
15438}
15439pub type OBJ_NAME = obj_name_st;
15440unsafe extern "C" {
15441 pub fn OBJ_NAME_do_all_sorted(
15442 type_: ::core::ffi::c_int,
15443 callback: ::core::option::Option<
15444 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15445 >,
15446 arg: *mut ::core::ffi::c_void,
15447 );
15448}
15449unsafe extern "C" {
15450 pub fn OBJ_NAME_do_all(
15451 type_: ::core::ffi::c_int,
15452 callback: ::core::option::Option<
15453 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15454 >,
15455 arg: *mut ::core::ffi::c_void,
15456 );
15457}
15458unsafe extern "C" {
15459 pub fn OBJ_cleanup();
15460}
15461#[repr(C)]
15462#[derive(Debug)]
15463pub struct stack_st_CRYPTO_BUFFER {
15464 _unused: [u8; 0],
15465}
15466#[repr(C)]
15467#[derive(Debug)]
15468pub struct stack_st_X509 {
15469 _unused: [u8; 0],
15470}
15471#[repr(C)]
15472#[derive(Debug)]
15473pub struct stack_st_X509_CRL {
15474 _unused: [u8; 0],
15475}
15476unsafe extern "C" {
15477 pub fn PKCS7_get_raw_certificates(
15478 out_certs: *mut stack_st_CRYPTO_BUFFER,
15479 cbs: *mut CBS,
15480 pool: *mut CRYPTO_BUFFER_POOL,
15481 ) -> ::core::ffi::c_int;
15482}
15483unsafe extern "C" {
15484 pub fn PKCS7_get_certificates(
15485 out_certs: *mut stack_st_X509,
15486 cbs: *mut CBS,
15487 ) -> ::core::ffi::c_int;
15488}
15489unsafe extern "C" {
15490 pub fn PKCS7_bundle_raw_certificates(
15491 out: *mut CBB,
15492 certs: *const stack_st_CRYPTO_BUFFER,
15493 ) -> ::core::ffi::c_int;
15494}
15495unsafe extern "C" {
15496 pub fn PKCS7_bundle_certificates(
15497 out: *mut CBB,
15498 certs: *const stack_st_X509,
15499 ) -> ::core::ffi::c_int;
15500}
15501unsafe extern "C" {
15502 pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS) -> ::core::ffi::c_int;
15503}
15504unsafe extern "C" {
15505 pub fn PKCS7_bundle_CRLs(out: *mut CBB, crls: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
15506}
15507unsafe extern "C" {
15508 pub fn PKCS7_get_PEM_certificates(
15509 out_certs: *mut stack_st_X509,
15510 pem_bio: *mut BIO,
15511 ) -> ::core::ffi::c_int;
15512}
15513unsafe extern "C" {
15514 pub fn PKCS7_get_PEM_CRLs(
15515 out_crls: *mut stack_st_X509_CRL,
15516 pem_bio: *mut BIO,
15517 ) -> ::core::ffi::c_int;
15518}
15519#[repr(C)]
15520#[derive(Debug, Copy, Clone)]
15521pub struct PKCS7_SIGNED {
15522 pub cert: *mut stack_st_X509,
15523 pub crl: *mut stack_st_X509_CRL,
15524}
15525#[repr(C)]
15526#[derive(Debug, Copy, Clone)]
15527pub struct PKCS7_SIGN_ENVELOPE {
15528 pub cert: *mut stack_st_X509,
15529 pub crl: *mut stack_st_X509_CRL,
15530}
15531pub type PKCS7_ENVELOPE = ::core::ffi::c_void;
15532pub type PKCS7_DIGEST = ::core::ffi::c_void;
15533pub type PKCS7_ENCRYPT = ::core::ffi::c_void;
15534pub type PKCS7_SIGNER_INFO = ::core::ffi::c_void;
15535#[repr(C)]
15536#[derive(Copy, Clone)]
15537pub struct PKCS7 {
15538 pub ber_bytes: *mut u8,
15539 pub ber_len: usize,
15540 pub type_: *mut ASN1_OBJECT,
15541 pub d: PKCS7__bindgen_ty_1,
15542}
15543#[repr(C)]
15544#[derive(Copy, Clone)]
15545pub union PKCS7__bindgen_ty_1 {
15546 pub ptr: *mut ::core::ffi::c_char,
15547 pub data: *mut ASN1_OCTET_STRING,
15548 pub sign: *mut PKCS7_SIGNED,
15549 pub enveloped: *mut PKCS7_ENVELOPE,
15550 pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
15551 pub digest: *mut PKCS7_DIGEST,
15552 pub encrypted: *mut PKCS7_ENCRYPT,
15553 pub other: *mut ASN1_TYPE,
15554}
15555unsafe extern "C" {
15556 pub fn d2i_PKCS7(out: *mut *mut PKCS7, inp: *mut *const u8, len: usize) -> *mut PKCS7;
15557}
15558unsafe extern "C" {
15559 pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
15560}
15561unsafe extern "C" {
15562 pub fn i2d_PKCS7(p7: *const PKCS7, out: *mut *mut u8) -> ::core::ffi::c_int;
15563}
15564unsafe extern "C" {
15565 pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::core::ffi::c_int;
15566}
15567unsafe extern "C" {
15568 pub fn PKCS7_free(p7: *mut PKCS7);
15569}
15570unsafe extern "C" {
15571 pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::core::ffi::c_int;
15572}
15573unsafe extern "C" {
15574 pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::core::ffi::c_int;
15575}
15576unsafe extern "C" {
15577 pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::core::ffi::c_int;
15578}
15579unsafe extern "C" {
15580 pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15581}
15582unsafe extern "C" {
15583 pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::core::ffi::c_int;
15584}
15585unsafe extern "C" {
15586 pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15587}
15588unsafe extern "C" {
15589 pub fn PKCS7_sign(
15590 sign_cert: *mut X509,
15591 pkey: *mut EVP_PKEY,
15592 certs: *mut stack_st_X509,
15593 data: *mut BIO,
15594 flags: ::core::ffi::c_int,
15595 ) -> *mut PKCS7;
15596}
15597pub type sk_CRYPTO_BUFFER_free_func =
15598 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
15599pub type sk_CRYPTO_BUFFER_copy_func =
15600 ::core::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
15601pub type sk_CRYPTO_BUFFER_cmp_func = ::core::option::Option<
15602 unsafe extern "C" fn(
15603 arg1: *const *const CRYPTO_BUFFER,
15604 arg2: *const *const CRYPTO_BUFFER,
15605 ) -> ::core::ffi::c_int,
15606>;
15607pub type sk_CRYPTO_BUFFER_delete_if_func = ::core::option::Option<
15608 unsafe extern "C" fn(
15609 arg1: *mut CRYPTO_BUFFER,
15610 arg2: *mut ::core::ffi::c_void,
15611 ) -> ::core::ffi::c_int,
15612>;
15613unsafe extern "C" {
15614 #[link_name = "sk_CRYPTO_BUFFER_call_free_func__extern"]
15615 pub fn sk_CRYPTO_BUFFER_call_free_func(
15616 free_func: OPENSSL_sk_free_func,
15617 ptr: *mut ::core::ffi::c_void,
15618 );
15619}
15620unsafe extern "C" {
15621 #[link_name = "sk_CRYPTO_BUFFER_call_copy_func__extern"]
15622 pub fn sk_CRYPTO_BUFFER_call_copy_func(
15623 copy_func: OPENSSL_sk_copy_func,
15624 ptr: *const ::core::ffi::c_void,
15625 ) -> *mut ::core::ffi::c_void;
15626}
15627unsafe extern "C" {
15628 #[link_name = "sk_CRYPTO_BUFFER_call_cmp_func__extern"]
15629 pub fn sk_CRYPTO_BUFFER_call_cmp_func(
15630 cmp_func: OPENSSL_sk_cmp_func,
15631 a: *const ::core::ffi::c_void,
15632 b: *const ::core::ffi::c_void,
15633 ) -> ::core::ffi::c_int;
15634}
15635unsafe extern "C" {
15636 #[link_name = "sk_CRYPTO_BUFFER_call_delete_if_func__extern"]
15637 pub fn sk_CRYPTO_BUFFER_call_delete_if_func(
15638 func: OPENSSL_sk_delete_if_func,
15639 obj: *mut ::core::ffi::c_void,
15640 data: *mut ::core::ffi::c_void,
15641 ) -> ::core::ffi::c_int;
15642}
15643unsafe extern "C" {
15644 #[link_name = "sk_CRYPTO_BUFFER_new__extern"]
15645 pub fn sk_CRYPTO_BUFFER_new(comp: sk_CRYPTO_BUFFER_cmp_func) -> *mut stack_st_CRYPTO_BUFFER;
15646}
15647unsafe extern "C" {
15648 #[link_name = "sk_CRYPTO_BUFFER_new_null__extern"]
15649 pub fn sk_CRYPTO_BUFFER_new_null() -> *mut stack_st_CRYPTO_BUFFER;
15650}
15651unsafe extern "C" {
15652 #[link_name = "sk_CRYPTO_BUFFER_num__extern"]
15653 pub fn sk_CRYPTO_BUFFER_num(sk: *const stack_st_CRYPTO_BUFFER) -> usize;
15654}
15655unsafe extern "C" {
15656 #[link_name = "sk_CRYPTO_BUFFER_zero__extern"]
15657 pub fn sk_CRYPTO_BUFFER_zero(sk: *mut stack_st_CRYPTO_BUFFER);
15658}
15659unsafe extern "C" {
15660 #[link_name = "sk_CRYPTO_BUFFER_value__extern"]
15661 pub fn sk_CRYPTO_BUFFER_value(
15662 sk: *const stack_st_CRYPTO_BUFFER,
15663 i: usize,
15664 ) -> *mut CRYPTO_BUFFER;
15665}
15666unsafe extern "C" {
15667 #[link_name = "sk_CRYPTO_BUFFER_set__extern"]
15668 pub fn sk_CRYPTO_BUFFER_set(
15669 sk: *mut stack_st_CRYPTO_BUFFER,
15670 i: usize,
15671 p: *mut CRYPTO_BUFFER,
15672 ) -> *mut CRYPTO_BUFFER;
15673}
15674unsafe extern "C" {
15675 #[link_name = "sk_CRYPTO_BUFFER_free__extern"]
15676 pub fn sk_CRYPTO_BUFFER_free(sk: *mut stack_st_CRYPTO_BUFFER);
15677}
15678unsafe extern "C" {
15679 #[link_name = "sk_CRYPTO_BUFFER_pop_free__extern"]
15680 pub fn sk_CRYPTO_BUFFER_pop_free(
15681 sk: *mut stack_st_CRYPTO_BUFFER,
15682 free_func: sk_CRYPTO_BUFFER_free_func,
15683 );
15684}
15685unsafe extern "C" {
15686 #[link_name = "sk_CRYPTO_BUFFER_insert__extern"]
15687 pub fn sk_CRYPTO_BUFFER_insert(
15688 sk: *mut stack_st_CRYPTO_BUFFER,
15689 p: *mut CRYPTO_BUFFER,
15690 where_: usize,
15691 ) -> usize;
15692}
15693unsafe extern "C" {
15694 #[link_name = "sk_CRYPTO_BUFFER_delete__extern"]
15695 pub fn sk_CRYPTO_BUFFER_delete(
15696 sk: *mut stack_st_CRYPTO_BUFFER,
15697 where_: usize,
15698 ) -> *mut CRYPTO_BUFFER;
15699}
15700unsafe extern "C" {
15701 #[link_name = "sk_CRYPTO_BUFFER_delete_ptr__extern"]
15702 pub fn sk_CRYPTO_BUFFER_delete_ptr(
15703 sk: *mut stack_st_CRYPTO_BUFFER,
15704 p: *const CRYPTO_BUFFER,
15705 ) -> *mut CRYPTO_BUFFER;
15706}
15707unsafe extern "C" {
15708 #[link_name = "sk_CRYPTO_BUFFER_delete_if__extern"]
15709 pub fn sk_CRYPTO_BUFFER_delete_if(
15710 sk: *mut stack_st_CRYPTO_BUFFER,
15711 func: sk_CRYPTO_BUFFER_delete_if_func,
15712 data: *mut ::core::ffi::c_void,
15713 );
15714}
15715unsafe extern "C" {
15716 #[link_name = "sk_CRYPTO_BUFFER_find__extern"]
15717 pub fn sk_CRYPTO_BUFFER_find(
15718 sk: *const stack_st_CRYPTO_BUFFER,
15719 out_index: *mut usize,
15720 p: *const CRYPTO_BUFFER,
15721 ) -> ::core::ffi::c_int;
15722}
15723unsafe extern "C" {
15724 #[link_name = "sk_CRYPTO_BUFFER_shift__extern"]
15725 pub fn sk_CRYPTO_BUFFER_shift(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15726}
15727unsafe extern "C" {
15728 #[link_name = "sk_CRYPTO_BUFFER_push__extern"]
15729 pub fn sk_CRYPTO_BUFFER_push(sk: *mut stack_st_CRYPTO_BUFFER, p: *mut CRYPTO_BUFFER) -> usize;
15730}
15731unsafe extern "C" {
15732 #[link_name = "sk_CRYPTO_BUFFER_pop__extern"]
15733 pub fn sk_CRYPTO_BUFFER_pop(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15734}
15735unsafe extern "C" {
15736 #[link_name = "sk_CRYPTO_BUFFER_dup__extern"]
15737 pub fn sk_CRYPTO_BUFFER_dup(sk: *const stack_st_CRYPTO_BUFFER) -> *mut stack_st_CRYPTO_BUFFER;
15738}
15739unsafe extern "C" {
15740 #[link_name = "sk_CRYPTO_BUFFER_sort__extern"]
15741 pub fn sk_CRYPTO_BUFFER_sort(sk: *mut stack_st_CRYPTO_BUFFER);
15742}
15743unsafe extern "C" {
15744 #[link_name = "sk_CRYPTO_BUFFER_sort_and_dedup__extern"]
15745 pub fn sk_CRYPTO_BUFFER_sort_and_dedup(
15746 sk: *mut stack_st_CRYPTO_BUFFER,
15747 free_func: sk_CRYPTO_BUFFER_free_func,
15748 );
15749}
15750unsafe extern "C" {
15751 #[link_name = "sk_CRYPTO_BUFFER_is_sorted__extern"]
15752 pub fn sk_CRYPTO_BUFFER_is_sorted(sk: *const stack_st_CRYPTO_BUFFER) -> ::core::ffi::c_int;
15753}
15754unsafe extern "C" {
15755 #[link_name = "sk_CRYPTO_BUFFER_set_cmp_func__extern"]
15756 pub fn sk_CRYPTO_BUFFER_set_cmp_func(
15757 sk: *mut stack_st_CRYPTO_BUFFER,
15758 comp: sk_CRYPTO_BUFFER_cmp_func,
15759 ) -> sk_CRYPTO_BUFFER_cmp_func;
15760}
15761unsafe extern "C" {
15762 #[link_name = "sk_CRYPTO_BUFFER_deep_copy__extern"]
15763 pub fn sk_CRYPTO_BUFFER_deep_copy(
15764 sk: *const stack_st_CRYPTO_BUFFER,
15765 copy_func: sk_CRYPTO_BUFFER_copy_func,
15766 free_func: sk_CRYPTO_BUFFER_free_func,
15767 ) -> *mut stack_st_CRYPTO_BUFFER;
15768}
15769unsafe extern "C" {
15770 pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
15771}
15772unsafe extern "C" {
15773 pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
15774}
15775unsafe extern "C" {
15776 pub fn CRYPTO_BUFFER_POOL_up_ref(pool: *mut CRYPTO_BUFFER_POOL) -> ::core::ffi::c_int;
15777}
15778unsafe extern "C" {
15779 pub fn CRYPTO_BUFFER_new(
15780 data: *const u8,
15781 len: usize,
15782 pool: *mut CRYPTO_BUFFER_POOL,
15783 ) -> *mut CRYPTO_BUFFER;
15784}
15785unsafe extern "C" {
15786 pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
15787}
15788unsafe extern "C" {
15789 pub fn CRYPTO_BUFFER_new_from_CBS(
15790 cbs: *const CBS,
15791 pool: *mut CRYPTO_BUFFER_POOL,
15792 ) -> *mut CRYPTO_BUFFER;
15793}
15794unsafe extern "C" {
15795 pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
15796 data: *const u8,
15797 len: usize,
15798 pool: *mut CRYPTO_BUFFER_POOL,
15799 ) -> *mut CRYPTO_BUFFER;
15800}
15801unsafe extern "C" {
15802 pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
15803}
15804unsafe extern "C" {
15805 pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::core::ffi::c_int;
15806}
15807unsafe extern "C" {
15808 pub fn CRYPTO_BUFFER_dup_ref(buf: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15809}
15810unsafe extern "C" {
15811 pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
15812}
15813unsafe extern "C" {
15814 pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
15815}
15816unsafe extern "C" {
15817 pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
15818}
15819unsafe extern "C" {
15820 pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
15821}
15822unsafe extern "C" {
15823 pub fn RSA_new_private_key(
15824 n: *const BIGNUM,
15825 e: *const BIGNUM,
15826 d: *const BIGNUM,
15827 p: *const BIGNUM,
15828 q: *const BIGNUM,
15829 dmp1: *const BIGNUM,
15830 dmq1: *const BIGNUM,
15831 iqmp: *const BIGNUM,
15832 ) -> *mut RSA;
15833}
15834unsafe extern "C" {
15835 pub fn RSA_new() -> *mut RSA;
15836}
15837unsafe extern "C" {
15838 pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
15839}
15840unsafe extern "C" {
15841 pub fn RSA_free(rsa: *mut RSA);
15842}
15843unsafe extern "C" {
15844 pub fn RSA_up_ref(rsa: *mut RSA) -> ::core::ffi::c_int;
15845}
15846unsafe extern "C" {
15847 pub fn RSA_bits(rsa: *const RSA) -> ::core::ffi::c_uint;
15848}
15849unsafe extern "C" {
15850 pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
15851}
15852unsafe extern "C" {
15853 pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
15854}
15855unsafe extern "C" {
15856 pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
15857}
15858unsafe extern "C" {
15859 pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
15860}
15861unsafe extern "C" {
15862 pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
15863}
15864unsafe extern "C" {
15865 pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
15866}
15867unsafe extern "C" {
15868 pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
15869}
15870unsafe extern "C" {
15871 pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
15872}
15873unsafe extern "C" {
15874 pub fn RSA_get0_key(
15875 rsa: *const RSA,
15876 out_n: *mut *const BIGNUM,
15877 out_e: *mut *const BIGNUM,
15878 out_d: *mut *const BIGNUM,
15879 );
15880}
15881unsafe extern "C" {
15882 pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
15883}
15884unsafe extern "C" {
15885 pub fn RSA_get0_crt_params(
15886 rsa: *const RSA,
15887 out_dmp1: *mut *const BIGNUM,
15888 out_dmq1: *mut *const BIGNUM,
15889 out_iqmp: *mut *const BIGNUM,
15890 );
15891}
15892unsafe extern "C" {
15893 pub fn RSA_set0_key(
15894 rsa: *mut RSA,
15895 n: *mut BIGNUM,
15896 e: *mut BIGNUM,
15897 d: *mut BIGNUM,
15898 ) -> ::core::ffi::c_int;
15899}
15900unsafe extern "C" {
15901 pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM) -> ::core::ffi::c_int;
15902}
15903unsafe extern "C" {
15904 pub fn RSA_set0_crt_params(
15905 rsa: *mut RSA,
15906 dmp1: *mut BIGNUM,
15907 dmq1: *mut BIGNUM,
15908 iqmp: *mut BIGNUM,
15909 ) -> ::core::ffi::c_int;
15910}
15911unsafe extern "C" {
15912 pub fn RSA_generate_key_ex(
15913 rsa: *mut RSA,
15914 bits: ::core::ffi::c_int,
15915 e: *const BIGNUM,
15916 cb: *mut BN_GENCB,
15917 ) -> ::core::ffi::c_int;
15918}
15919unsafe extern "C" {
15920 pub fn RSA_generate_key_fips(
15921 rsa: *mut RSA,
15922 bits: ::core::ffi::c_int,
15923 cb: *mut BN_GENCB,
15924 ) -> ::core::ffi::c_int;
15925}
15926unsafe extern "C" {
15927 pub fn RSA_encrypt(
15928 rsa: *mut RSA,
15929 out_len: *mut usize,
15930 out: *mut u8,
15931 max_out: usize,
15932 in_: *const u8,
15933 in_len: usize,
15934 padding: ::core::ffi::c_int,
15935 ) -> ::core::ffi::c_int;
15936}
15937unsafe extern "C" {
15938 pub fn RSA_decrypt(
15939 rsa: *mut RSA,
15940 out_len: *mut usize,
15941 out: *mut u8,
15942 max_out: usize,
15943 in_: *const u8,
15944 in_len: usize,
15945 padding: ::core::ffi::c_int,
15946 ) -> ::core::ffi::c_int;
15947}
15948unsafe extern "C" {
15949 pub fn RSA_public_encrypt(
15950 flen: usize,
15951 from: *const u8,
15952 to: *mut u8,
15953 rsa: *mut RSA,
15954 padding: ::core::ffi::c_int,
15955 ) -> ::core::ffi::c_int;
15956}
15957unsafe extern "C" {
15958 pub fn RSA_private_decrypt(
15959 flen: usize,
15960 from: *const u8,
15961 to: *mut u8,
15962 rsa: *mut RSA,
15963 padding: ::core::ffi::c_int,
15964 ) -> ::core::ffi::c_int;
15965}
15966unsafe extern "C" {
15967 pub fn RSA_sign(
15968 hash_nid: ::core::ffi::c_int,
15969 digest: *const u8,
15970 digest_len: usize,
15971 out: *mut u8,
15972 out_len: *mut ::core::ffi::c_uint,
15973 rsa: *mut RSA,
15974 ) -> ::core::ffi::c_int;
15975}
15976unsafe extern "C" {
15977 pub fn RSA_sign_pss_mgf1(
15978 rsa: *mut RSA,
15979 out_len: *mut usize,
15980 out: *mut u8,
15981 max_out: usize,
15982 digest: *const u8,
15983 digest_len: usize,
15984 md: *const EVP_MD,
15985 mgf1_md: *const EVP_MD,
15986 salt_len: ::core::ffi::c_int,
15987 ) -> ::core::ffi::c_int;
15988}
15989unsafe extern "C" {
15990 pub fn RSA_sign_raw(
15991 rsa: *mut RSA,
15992 out_len: *mut usize,
15993 out: *mut u8,
15994 max_out: usize,
15995 in_: *const u8,
15996 in_len: usize,
15997 padding: ::core::ffi::c_int,
15998 ) -> ::core::ffi::c_int;
15999}
16000unsafe extern "C" {
16001 pub fn RSA_verify(
16002 hash_nid: ::core::ffi::c_int,
16003 digest: *const u8,
16004 digest_len: usize,
16005 sig: *const u8,
16006 sig_len: usize,
16007 rsa: *mut RSA,
16008 ) -> ::core::ffi::c_int;
16009}
16010unsafe extern "C" {
16011 pub fn RSA_verify_pss_mgf1(
16012 rsa: *mut RSA,
16013 digest: *const u8,
16014 digest_len: usize,
16015 md: *const EVP_MD,
16016 mgf1_md: *const EVP_MD,
16017 salt_len: ::core::ffi::c_int,
16018 sig: *const u8,
16019 sig_len: usize,
16020 ) -> ::core::ffi::c_int;
16021}
16022unsafe extern "C" {
16023 pub fn RSA_verify_raw(
16024 rsa: *mut RSA,
16025 out_len: *mut usize,
16026 out: *mut u8,
16027 max_out: usize,
16028 in_: *const u8,
16029 in_len: usize,
16030 padding: ::core::ffi::c_int,
16031 ) -> ::core::ffi::c_int;
16032}
16033unsafe extern "C" {
16034 pub fn RSA_private_encrypt(
16035 flen: usize,
16036 from: *const u8,
16037 to: *mut u8,
16038 rsa: *mut RSA,
16039 padding: ::core::ffi::c_int,
16040 ) -> ::core::ffi::c_int;
16041}
16042unsafe extern "C" {
16043 pub fn RSA_public_decrypt(
16044 flen: usize,
16045 from: *const u8,
16046 to: *mut u8,
16047 rsa: *mut RSA,
16048 padding: ::core::ffi::c_int,
16049 ) -> ::core::ffi::c_int;
16050}
16051unsafe extern "C" {
16052 pub fn RSA_size(rsa: *const RSA) -> ::core::ffi::c_uint;
16053}
16054unsafe extern "C" {
16055 pub fn RSA_is_opaque(rsa: *const RSA) -> ::core::ffi::c_int;
16056}
16057unsafe extern "C" {
16058 pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
16059}
16060unsafe extern "C" {
16061 pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
16062}
16063unsafe extern "C" {
16064 pub fn RSA_check_key(rsa: *const RSA) -> ::core::ffi::c_int;
16065}
16066unsafe extern "C" {
16067 pub fn RSA_check_fips(key: *mut RSA) -> ::core::ffi::c_int;
16068}
16069unsafe extern "C" {
16070 pub fn RSA_verify_PKCS1_PSS_mgf1(
16071 rsa: *const RSA,
16072 mHash: *const u8,
16073 Hash: *const EVP_MD,
16074 mgf1Hash: *const EVP_MD,
16075 EM: *const u8,
16076 sLen: ::core::ffi::c_int,
16077 ) -> ::core::ffi::c_int;
16078}
16079unsafe extern "C" {
16080 pub fn RSA_padding_add_PKCS1_PSS_mgf1(
16081 rsa: *const RSA,
16082 EM: *mut u8,
16083 mHash: *const u8,
16084 Hash: *const EVP_MD,
16085 mgf1Hash: *const EVP_MD,
16086 sLen: ::core::ffi::c_int,
16087 ) -> ::core::ffi::c_int;
16088}
16089unsafe extern "C" {
16090 pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
16091 to: *mut u8,
16092 to_len: usize,
16093 from: *const u8,
16094 from_len: usize,
16095 param: *const u8,
16096 param_len: usize,
16097 md: *const EVP_MD,
16098 mgf1md: *const EVP_MD,
16099 ) -> ::core::ffi::c_int;
16100}
16101unsafe extern "C" {
16102 pub fn RSA_add_pkcs1_prefix(
16103 out_msg: *mut *mut u8,
16104 out_msg_len: *mut usize,
16105 is_alloced: *mut ::core::ffi::c_int,
16106 hash_nid: ::core::ffi::c_int,
16107 digest: *const u8,
16108 digest_len: usize,
16109 ) -> ::core::ffi::c_int;
16110}
16111unsafe extern "C" {
16112 pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
16113}
16114unsafe extern "C" {
16115 pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16116}
16117unsafe extern "C" {
16118 pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16119}
16120unsafe extern "C" {
16121 pub fn RSA_public_key_to_bytes(
16122 out_bytes: *mut *mut u8,
16123 out_len: *mut usize,
16124 rsa: *const RSA,
16125 ) -> ::core::ffi::c_int;
16126}
16127unsafe extern "C" {
16128 pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
16129}
16130unsafe extern "C" {
16131 pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16132}
16133unsafe extern "C" {
16134 pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16135}
16136unsafe extern "C" {
16137 pub fn RSA_private_key_to_bytes(
16138 out_bytes: *mut *mut u8,
16139 out_len: *mut usize,
16140 rsa: *const RSA,
16141 ) -> ::core::ffi::c_int;
16142}
16143unsafe extern "C" {
16144 pub fn RSA_new_private_key_no_crt(
16145 n: *const BIGNUM,
16146 e: *const BIGNUM,
16147 d: *const BIGNUM,
16148 ) -> *mut RSA;
16149}
16150unsafe extern "C" {
16151 pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
16152}
16153unsafe extern "C" {
16154 pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
16155}
16156unsafe extern "C" {
16157 pub fn RSA_new_private_key_large_e(
16158 n: *const BIGNUM,
16159 e: *const BIGNUM,
16160 d: *const BIGNUM,
16161 p: *const BIGNUM,
16162 q: *const BIGNUM,
16163 dmp1: *const BIGNUM,
16164 dmq1: *const BIGNUM,
16165 iqmp: *const BIGNUM,
16166 ) -> *mut RSA;
16167}
16168unsafe extern "C" {
16169 pub fn RSA_get_ex_new_index(
16170 argl: ::core::ffi::c_long,
16171 argp: *mut ::core::ffi::c_void,
16172 unused: *mut CRYPTO_EX_unused,
16173 dup_unused: CRYPTO_EX_dup,
16174 free_func: CRYPTO_EX_free,
16175 ) -> ::core::ffi::c_int;
16176}
16177unsafe extern "C" {
16178 pub fn RSA_set_ex_data(
16179 rsa: *mut RSA,
16180 idx: ::core::ffi::c_int,
16181 arg: *mut ::core::ffi::c_void,
16182 ) -> ::core::ffi::c_int;
16183}
16184unsafe extern "C" {
16185 pub fn RSA_get_ex_data(rsa: *const RSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
16186}
16187unsafe extern "C" {
16188 pub fn RSA_flags(rsa: *const RSA) -> ::core::ffi::c_int;
16189}
16190unsafe extern "C" {
16191 pub fn RSA_test_flags(rsa: *const RSA, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
16192}
16193unsafe extern "C" {
16194 pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
16195}
16196unsafe extern "C" {
16197 pub fn RSA_blinding_off(rsa: *mut RSA);
16198}
16199unsafe extern "C" {
16200 pub fn RSA_generate_key(
16201 bits: ::core::ffi::c_int,
16202 e: u64,
16203 callback: *mut ::core::ffi::c_void,
16204 cb_arg: *mut ::core::ffi::c_void,
16205 ) -> *mut RSA;
16206}
16207unsafe extern "C" {
16208 pub fn d2i_RSAPublicKey(
16209 out: *mut *mut RSA,
16210 inp: *mut *const u8,
16211 len: ::core::ffi::c_long,
16212 ) -> *mut RSA;
16213}
16214unsafe extern "C" {
16215 pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16216}
16217unsafe extern "C" {
16218 pub fn d2i_RSAPrivateKey(
16219 out: *mut *mut RSA,
16220 inp: *mut *const u8,
16221 len: ::core::ffi::c_long,
16222 ) -> *mut RSA;
16223}
16224unsafe extern "C" {
16225 pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16226}
16227unsafe extern "C" {
16228 pub fn RSA_padding_add_PKCS1_PSS(
16229 rsa: *const RSA,
16230 EM: *mut u8,
16231 mHash: *const u8,
16232 Hash: *const EVP_MD,
16233 sLen: ::core::ffi::c_int,
16234 ) -> ::core::ffi::c_int;
16235}
16236unsafe extern "C" {
16237 pub fn RSA_verify_PKCS1_PSS(
16238 rsa: *const RSA,
16239 mHash: *const u8,
16240 Hash: *const EVP_MD,
16241 EM: *const u8,
16242 sLen: ::core::ffi::c_int,
16243 ) -> ::core::ffi::c_int;
16244}
16245unsafe extern "C" {
16246 pub fn RSA_padding_add_PKCS1_OAEP(
16247 to: *mut u8,
16248 to_len: usize,
16249 from: *const u8,
16250 from_len: usize,
16251 param: *const u8,
16252 param_len: usize,
16253 ) -> ::core::ffi::c_int;
16254}
16255unsafe extern "C" {
16256 pub fn RSA_print(
16257 bio: *mut BIO,
16258 rsa: *const RSA,
16259 indent: ::core::ffi::c_int,
16260 ) -> ::core::ffi::c_int;
16261}
16262unsafe extern "C" {
16263 pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
16264}
16265unsafe extern "C" {
16266 pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
16267}
16268#[repr(C)]
16269#[derive(Debug, Copy, Clone)]
16270pub struct rsa_meth_st {
16271 pub common: openssl_method_common_st,
16272 pub app_data: *mut ::core::ffi::c_void,
16273 pub init: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16274 pub finish: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16275 pub sign: ::core::option::Option<
16276 unsafe extern "C" fn(
16277 type_: ::core::ffi::c_int,
16278 m: *const u8,
16279 m_length: ::core::ffi::c_uint,
16280 sigret: *mut u8,
16281 siglen: *mut ::core::ffi::c_uint,
16282 rsa: *const RSA,
16283 ) -> ::core::ffi::c_int,
16284 >,
16285 pub sign_raw: ::core::option::Option<
16286 unsafe extern "C" fn(
16287 rsa: *mut RSA,
16288 out_len: *mut usize,
16289 out: *mut u8,
16290 max_out: usize,
16291 in_: *const u8,
16292 in_len: usize,
16293 padding: ::core::ffi::c_int,
16294 ) -> ::core::ffi::c_int,
16295 >,
16296 pub decrypt: ::core::option::Option<
16297 unsafe extern "C" fn(
16298 rsa: *mut RSA,
16299 out_len: *mut usize,
16300 out: *mut u8,
16301 max_out: usize,
16302 in_: *const u8,
16303 in_len: usize,
16304 padding: ::core::ffi::c_int,
16305 ) -> ::core::ffi::c_int,
16306 >,
16307 pub private_transform: ::core::option::Option<
16308 unsafe extern "C" fn(
16309 rsa: *mut RSA,
16310 out: *mut u8,
16311 in_: *const u8,
16312 len: usize,
16313 ) -> ::core::ffi::c_int,
16314 >,
16315 pub flags: ::core::ffi::c_int,
16316}
16317pub type sk_X509_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
16318pub type sk_X509_copy_func =
16319 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
16320pub type sk_X509_cmp_func = ::core::option::Option<
16321 unsafe extern "C" fn(arg1: *const *const X509, arg2: *const *const X509) -> ::core::ffi::c_int,
16322>;
16323pub type sk_X509_delete_if_func = ::core::option::Option<
16324 unsafe extern "C" fn(arg1: *mut X509, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
16325>;
16326unsafe extern "C" {
16327 #[link_name = "sk_X509_call_free_func__extern"]
16328 pub fn sk_X509_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
16329}
16330unsafe extern "C" {
16331 #[link_name = "sk_X509_call_copy_func__extern"]
16332 pub fn sk_X509_call_copy_func(
16333 copy_func: OPENSSL_sk_copy_func,
16334 ptr: *const ::core::ffi::c_void,
16335 ) -> *mut ::core::ffi::c_void;
16336}
16337unsafe extern "C" {
16338 #[link_name = "sk_X509_call_cmp_func__extern"]
16339 pub fn sk_X509_call_cmp_func(
16340 cmp_func: OPENSSL_sk_cmp_func,
16341 a: *const ::core::ffi::c_void,
16342 b: *const ::core::ffi::c_void,
16343 ) -> ::core::ffi::c_int;
16344}
16345unsafe extern "C" {
16346 #[link_name = "sk_X509_call_delete_if_func__extern"]
16347 pub fn sk_X509_call_delete_if_func(
16348 func: OPENSSL_sk_delete_if_func,
16349 obj: *mut ::core::ffi::c_void,
16350 data: *mut ::core::ffi::c_void,
16351 ) -> ::core::ffi::c_int;
16352}
16353unsafe extern "C" {
16354 #[link_name = "sk_X509_new__extern"]
16355 pub fn sk_X509_new(comp: sk_X509_cmp_func) -> *mut stack_st_X509;
16356}
16357unsafe extern "C" {
16358 #[link_name = "sk_X509_new_null__extern"]
16359 pub fn sk_X509_new_null() -> *mut stack_st_X509;
16360}
16361unsafe extern "C" {
16362 #[link_name = "sk_X509_num__extern"]
16363 pub fn sk_X509_num(sk: *const stack_st_X509) -> usize;
16364}
16365unsafe extern "C" {
16366 #[link_name = "sk_X509_zero__extern"]
16367 pub fn sk_X509_zero(sk: *mut stack_st_X509);
16368}
16369unsafe extern "C" {
16370 #[link_name = "sk_X509_value__extern"]
16371 pub fn sk_X509_value(sk: *const stack_st_X509, i: usize) -> *mut X509;
16372}
16373unsafe extern "C" {
16374 #[link_name = "sk_X509_set__extern"]
16375 pub fn sk_X509_set(sk: *mut stack_st_X509, i: usize, p: *mut X509) -> *mut X509;
16376}
16377unsafe extern "C" {
16378 #[link_name = "sk_X509_free__extern"]
16379 pub fn sk_X509_free(sk: *mut stack_st_X509);
16380}
16381unsafe extern "C" {
16382 #[link_name = "sk_X509_pop_free__extern"]
16383 pub fn sk_X509_pop_free(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16384}
16385unsafe extern "C" {
16386 #[link_name = "sk_X509_insert__extern"]
16387 pub fn sk_X509_insert(sk: *mut stack_st_X509, p: *mut X509, where_: usize) -> usize;
16388}
16389unsafe extern "C" {
16390 #[link_name = "sk_X509_delete__extern"]
16391 pub fn sk_X509_delete(sk: *mut stack_st_X509, where_: usize) -> *mut X509;
16392}
16393unsafe extern "C" {
16394 #[link_name = "sk_X509_delete_ptr__extern"]
16395 pub fn sk_X509_delete_ptr(sk: *mut stack_st_X509, p: *const X509) -> *mut X509;
16396}
16397unsafe extern "C" {
16398 #[link_name = "sk_X509_delete_if__extern"]
16399 pub fn sk_X509_delete_if(
16400 sk: *mut stack_st_X509,
16401 func: sk_X509_delete_if_func,
16402 data: *mut ::core::ffi::c_void,
16403 );
16404}
16405unsafe extern "C" {
16406 #[link_name = "sk_X509_find__extern"]
16407 pub fn sk_X509_find(
16408 sk: *const stack_st_X509,
16409 out_index: *mut usize,
16410 p: *const X509,
16411 ) -> ::core::ffi::c_int;
16412}
16413unsafe extern "C" {
16414 #[link_name = "sk_X509_shift__extern"]
16415 pub fn sk_X509_shift(sk: *mut stack_st_X509) -> *mut X509;
16416}
16417unsafe extern "C" {
16418 #[link_name = "sk_X509_push__extern"]
16419 pub fn sk_X509_push(sk: *mut stack_st_X509, p: *mut X509) -> usize;
16420}
16421unsafe extern "C" {
16422 #[link_name = "sk_X509_pop__extern"]
16423 pub fn sk_X509_pop(sk: *mut stack_st_X509) -> *mut X509;
16424}
16425unsafe extern "C" {
16426 #[link_name = "sk_X509_dup__extern"]
16427 pub fn sk_X509_dup(sk: *const stack_st_X509) -> *mut stack_st_X509;
16428}
16429unsafe extern "C" {
16430 #[link_name = "sk_X509_sort__extern"]
16431 pub fn sk_X509_sort(sk: *mut stack_st_X509);
16432}
16433unsafe extern "C" {
16434 #[link_name = "sk_X509_sort_and_dedup__extern"]
16435 pub fn sk_X509_sort_and_dedup(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16436}
16437unsafe extern "C" {
16438 #[link_name = "sk_X509_is_sorted__extern"]
16439 pub fn sk_X509_is_sorted(sk: *const stack_st_X509) -> ::core::ffi::c_int;
16440}
16441unsafe extern "C" {
16442 #[link_name = "sk_X509_set_cmp_func__extern"]
16443 pub fn sk_X509_set_cmp_func(sk: *mut stack_st_X509, comp: sk_X509_cmp_func)
16444 -> sk_X509_cmp_func;
16445}
16446unsafe extern "C" {
16447 #[link_name = "sk_X509_deep_copy__extern"]
16448 pub fn sk_X509_deep_copy(
16449 sk: *const stack_st_X509,
16450 copy_func: sk_X509_copy_func,
16451 free_func: sk_X509_free_func,
16452 ) -> *mut stack_st_X509;
16453}
16454unsafe extern "C" {
16455 pub static X509_it: ASN1_ITEM;
16456}
16457unsafe extern "C" {
16458 pub fn X509_up_ref(x509: *mut X509) -> ::core::ffi::c_int;
16459}
16460unsafe extern "C" {
16461 pub fn X509_dup_ref(x509: *const X509) -> *mut X509;
16462}
16463unsafe extern "C" {
16464 pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
16465}
16466unsafe extern "C" {
16467 pub fn X509_dup(x509: *const X509) -> *mut X509;
16468}
16469unsafe extern "C" {
16470 pub fn X509_free(x509: *mut X509);
16471}
16472unsafe extern "C" {
16473 pub fn d2i_X509(
16474 out: *mut *mut X509,
16475 inp: *mut *const u8,
16476 len: ::core::ffi::c_long,
16477 ) -> *mut X509;
16478}
16479unsafe extern "C" {
16480 pub fn X509_parse_with_algorithms(
16481 buf: *mut CRYPTO_BUFFER,
16482 algs: *const *const EVP_PKEY_ALG,
16483 num_algs: usize,
16484 ) -> *mut X509;
16485}
16486unsafe extern "C" {
16487 pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
16488}
16489unsafe extern "C" {
16490 pub fn i2d_X509(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16491}
16492unsafe extern "C" {
16493 pub fn X509_get_version(x509: *const X509) -> ::core::ffi::c_long;
16494}
16495unsafe extern "C" {
16496 pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
16497}
16498unsafe extern "C" {
16499 pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
16500}
16501unsafe extern "C" {
16502 pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
16503}
16504unsafe extern "C" {
16505 pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
16506}
16507unsafe extern "C" {
16508 pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
16509}
16510unsafe extern "C" {
16511 pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
16512}
16513unsafe extern "C" {
16514 pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16515}
16516unsafe extern "C" {
16517 pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16518}
16519unsafe extern "C" {
16520 pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
16521}
16522unsafe extern "C" {
16523 pub fn X509_check_private_key(x509: *const X509, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
16524}
16525unsafe extern "C" {
16526 pub fn X509_get0_uids(
16527 x509: *const X509,
16528 out_issuer_uid: *mut *const ASN1_BIT_STRING,
16529 out_subject_uid: *mut *const ASN1_BIT_STRING,
16530 );
16531}
16532unsafe extern "C" {
16533 pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
16534}
16535unsafe extern "C" {
16536 pub fn X509_get_pathlen(x509: *mut X509) -> ::core::ffi::c_long;
16537}
16538unsafe extern "C" {
16539 pub fn X509_get_key_usage(x509: *mut X509) -> u32;
16540}
16541unsafe extern "C" {
16542 pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
16543}
16544unsafe extern "C" {
16545 pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16546}
16547unsafe extern "C" {
16548 pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16549}
16550#[repr(C)]
16551#[derive(Debug)]
16552pub struct stack_st_GENERAL_NAME {
16553 _unused: [u8; 0],
16554}
16555pub type sk_GENERAL_NAME_free_func =
16556 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
16557pub type sk_GENERAL_NAME_copy_func =
16558 ::core::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
16559pub type sk_GENERAL_NAME_cmp_func = ::core::option::Option<
16560 unsafe extern "C" fn(
16561 arg1: *const *const GENERAL_NAME,
16562 arg2: *const *const GENERAL_NAME,
16563 ) -> ::core::ffi::c_int,
16564>;
16565pub type sk_GENERAL_NAME_delete_if_func = ::core::option::Option<
16566 unsafe extern "C" fn(
16567 arg1: *mut GENERAL_NAME,
16568 arg2: *mut ::core::ffi::c_void,
16569 ) -> ::core::ffi::c_int,
16570>;
16571unsafe extern "C" {
16572 #[link_name = "sk_GENERAL_NAME_call_free_func__extern"]
16573 pub fn sk_GENERAL_NAME_call_free_func(
16574 free_func: OPENSSL_sk_free_func,
16575 ptr: *mut ::core::ffi::c_void,
16576 );
16577}
16578unsafe extern "C" {
16579 #[link_name = "sk_GENERAL_NAME_call_copy_func__extern"]
16580 pub fn sk_GENERAL_NAME_call_copy_func(
16581 copy_func: OPENSSL_sk_copy_func,
16582 ptr: *const ::core::ffi::c_void,
16583 ) -> *mut ::core::ffi::c_void;
16584}
16585unsafe extern "C" {
16586 #[link_name = "sk_GENERAL_NAME_call_cmp_func__extern"]
16587 pub fn sk_GENERAL_NAME_call_cmp_func(
16588 cmp_func: OPENSSL_sk_cmp_func,
16589 a: *const ::core::ffi::c_void,
16590 b: *const ::core::ffi::c_void,
16591 ) -> ::core::ffi::c_int;
16592}
16593unsafe extern "C" {
16594 #[link_name = "sk_GENERAL_NAME_call_delete_if_func__extern"]
16595 pub fn sk_GENERAL_NAME_call_delete_if_func(
16596 func: OPENSSL_sk_delete_if_func,
16597 obj: *mut ::core::ffi::c_void,
16598 data: *mut ::core::ffi::c_void,
16599 ) -> ::core::ffi::c_int;
16600}
16601unsafe extern "C" {
16602 #[link_name = "sk_GENERAL_NAME_new__extern"]
16603 pub fn sk_GENERAL_NAME_new(comp: sk_GENERAL_NAME_cmp_func) -> *mut stack_st_GENERAL_NAME;
16604}
16605unsafe extern "C" {
16606 #[link_name = "sk_GENERAL_NAME_new_null__extern"]
16607 pub fn sk_GENERAL_NAME_new_null() -> *mut stack_st_GENERAL_NAME;
16608}
16609unsafe extern "C" {
16610 #[link_name = "sk_GENERAL_NAME_num__extern"]
16611 pub fn sk_GENERAL_NAME_num(sk: *const stack_st_GENERAL_NAME) -> usize;
16612}
16613unsafe extern "C" {
16614 #[link_name = "sk_GENERAL_NAME_zero__extern"]
16615 pub fn sk_GENERAL_NAME_zero(sk: *mut stack_st_GENERAL_NAME);
16616}
16617unsafe extern "C" {
16618 #[link_name = "sk_GENERAL_NAME_value__extern"]
16619 pub fn sk_GENERAL_NAME_value(sk: *const stack_st_GENERAL_NAME, i: usize) -> *mut GENERAL_NAME;
16620}
16621unsafe extern "C" {
16622 #[link_name = "sk_GENERAL_NAME_set__extern"]
16623 pub fn sk_GENERAL_NAME_set(
16624 sk: *mut stack_st_GENERAL_NAME,
16625 i: usize,
16626 p: *mut GENERAL_NAME,
16627 ) -> *mut GENERAL_NAME;
16628}
16629unsafe extern "C" {
16630 #[link_name = "sk_GENERAL_NAME_free__extern"]
16631 pub fn sk_GENERAL_NAME_free(sk: *mut stack_st_GENERAL_NAME);
16632}
16633unsafe extern "C" {
16634 #[link_name = "sk_GENERAL_NAME_pop_free__extern"]
16635 pub fn sk_GENERAL_NAME_pop_free(
16636 sk: *mut stack_st_GENERAL_NAME,
16637 free_func: sk_GENERAL_NAME_free_func,
16638 );
16639}
16640unsafe extern "C" {
16641 #[link_name = "sk_GENERAL_NAME_insert__extern"]
16642 pub fn sk_GENERAL_NAME_insert(
16643 sk: *mut stack_st_GENERAL_NAME,
16644 p: *mut GENERAL_NAME,
16645 where_: usize,
16646 ) -> usize;
16647}
16648unsafe extern "C" {
16649 #[link_name = "sk_GENERAL_NAME_delete__extern"]
16650 pub fn sk_GENERAL_NAME_delete(
16651 sk: *mut stack_st_GENERAL_NAME,
16652 where_: usize,
16653 ) -> *mut GENERAL_NAME;
16654}
16655unsafe extern "C" {
16656 #[link_name = "sk_GENERAL_NAME_delete_ptr__extern"]
16657 pub fn sk_GENERAL_NAME_delete_ptr(
16658 sk: *mut stack_st_GENERAL_NAME,
16659 p: *const GENERAL_NAME,
16660 ) -> *mut GENERAL_NAME;
16661}
16662unsafe extern "C" {
16663 #[link_name = "sk_GENERAL_NAME_delete_if__extern"]
16664 pub fn sk_GENERAL_NAME_delete_if(
16665 sk: *mut stack_st_GENERAL_NAME,
16666 func: sk_GENERAL_NAME_delete_if_func,
16667 data: *mut ::core::ffi::c_void,
16668 );
16669}
16670unsafe extern "C" {
16671 #[link_name = "sk_GENERAL_NAME_find__extern"]
16672 pub fn sk_GENERAL_NAME_find(
16673 sk: *const stack_st_GENERAL_NAME,
16674 out_index: *mut usize,
16675 p: *const GENERAL_NAME,
16676 ) -> ::core::ffi::c_int;
16677}
16678unsafe extern "C" {
16679 #[link_name = "sk_GENERAL_NAME_shift__extern"]
16680 pub fn sk_GENERAL_NAME_shift(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16681}
16682unsafe extern "C" {
16683 #[link_name = "sk_GENERAL_NAME_push__extern"]
16684 pub fn sk_GENERAL_NAME_push(sk: *mut stack_st_GENERAL_NAME, p: *mut GENERAL_NAME) -> usize;
16685}
16686unsafe extern "C" {
16687 #[link_name = "sk_GENERAL_NAME_pop__extern"]
16688 pub fn sk_GENERAL_NAME_pop(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16689}
16690unsafe extern "C" {
16691 #[link_name = "sk_GENERAL_NAME_dup__extern"]
16692 pub fn sk_GENERAL_NAME_dup(sk: *const stack_st_GENERAL_NAME) -> *mut stack_st_GENERAL_NAME;
16693}
16694unsafe extern "C" {
16695 #[link_name = "sk_GENERAL_NAME_sort__extern"]
16696 pub fn sk_GENERAL_NAME_sort(sk: *mut stack_st_GENERAL_NAME);
16697}
16698unsafe extern "C" {
16699 #[link_name = "sk_GENERAL_NAME_sort_and_dedup__extern"]
16700 pub fn sk_GENERAL_NAME_sort_and_dedup(
16701 sk: *mut stack_st_GENERAL_NAME,
16702 free_func: sk_GENERAL_NAME_free_func,
16703 );
16704}
16705unsafe extern "C" {
16706 #[link_name = "sk_GENERAL_NAME_is_sorted__extern"]
16707 pub fn sk_GENERAL_NAME_is_sorted(sk: *const stack_st_GENERAL_NAME) -> ::core::ffi::c_int;
16708}
16709unsafe extern "C" {
16710 #[link_name = "sk_GENERAL_NAME_set_cmp_func__extern"]
16711 pub fn sk_GENERAL_NAME_set_cmp_func(
16712 sk: *mut stack_st_GENERAL_NAME,
16713 comp: sk_GENERAL_NAME_cmp_func,
16714 ) -> sk_GENERAL_NAME_cmp_func;
16715}
16716unsafe extern "C" {
16717 #[link_name = "sk_GENERAL_NAME_deep_copy__extern"]
16718 pub fn sk_GENERAL_NAME_deep_copy(
16719 sk: *const stack_st_GENERAL_NAME,
16720 copy_func: sk_GENERAL_NAME_copy_func,
16721 free_func: sk_GENERAL_NAME_free_func,
16722 ) -> *mut stack_st_GENERAL_NAME;
16723}
16724pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
16725unsafe extern "C" {
16726 pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
16727}
16728unsafe extern "C" {
16729 pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
16730}
16731#[repr(C)]
16732#[derive(Debug)]
16733pub struct stack_st_X509_EXTENSION {
16734 _unused: [u8; 0],
16735}
16736unsafe extern "C" {
16737 pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
16738}
16739unsafe extern "C" {
16740 pub fn X509_get_ext_count(x: *const X509) -> ::core::ffi::c_int;
16741}
16742unsafe extern "C" {
16743 pub fn X509_get_ext_by_NID(
16744 x: *const X509,
16745 nid: ::core::ffi::c_int,
16746 lastpos: ::core::ffi::c_int,
16747 ) -> ::core::ffi::c_int;
16748}
16749unsafe extern "C" {
16750 pub fn X509_get_ext_by_OBJ(
16751 x: *const X509,
16752 obj: *const ASN1_OBJECT,
16753 lastpos: ::core::ffi::c_int,
16754 ) -> ::core::ffi::c_int;
16755}
16756unsafe extern "C" {
16757 pub fn X509_get_ext_by_critical(
16758 x: *const X509,
16759 crit: ::core::ffi::c_int,
16760 lastpos: ::core::ffi::c_int,
16761 ) -> ::core::ffi::c_int;
16762}
16763unsafe extern "C" {
16764 pub fn X509_get_ext(x: *const X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
16765}
16766unsafe extern "C" {
16767 pub fn X509_get_ext_d2i(
16768 x509: *const X509,
16769 nid: ::core::ffi::c_int,
16770 out_critical: *mut ::core::ffi::c_int,
16771 out_idx: *mut ::core::ffi::c_int,
16772 ) -> *mut ::core::ffi::c_void;
16773}
16774unsafe extern "C" {
16775 pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
16776}
16777unsafe extern "C" {
16778 pub fn X509_get0_signature(
16779 out_sig: *mut *const ASN1_BIT_STRING,
16780 out_alg: *mut *const X509_ALGOR,
16781 x509: *const X509,
16782 );
16783}
16784unsafe extern "C" {
16785 pub fn X509_get_signature_nid(x509: *const X509) -> ::core::ffi::c_int;
16786}
16787unsafe extern "C" {
16788 pub fn i2d_X509_tbs(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16789}
16790unsafe extern "C" {
16791 pub fn X509_verify(x509: *const X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
16792}
16793unsafe extern "C" {
16794 pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
16795}
16796unsafe extern "C" {
16797 pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
16798}
16799unsafe extern "C" {
16800 pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
16801}
16802unsafe extern "C" {
16803 pub fn X509_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
16804}
16805unsafe extern "C" {
16806 pub fn X509_new() -> *mut X509;
16807}
16808unsafe extern "C" {
16809 pub fn X509_set_version(x509: *mut X509, version: ::core::ffi::c_long) -> ::core::ffi::c_int;
16810}
16811unsafe extern "C" {
16812 pub fn X509_set_serialNumber(
16813 x509: *mut X509,
16814 serial: *const ASN1_INTEGER,
16815 ) -> ::core::ffi::c_int;
16816}
16817unsafe extern "C" {
16818 pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
16819}
16820unsafe extern "C" {
16821 pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
16822}
16823unsafe extern "C" {
16824 pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
16825}
16826unsafe extern "C" {
16827 pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
16828}
16829unsafe extern "C" {
16830 pub fn X509_set_issuer_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
16831}
16832unsafe extern "C" {
16833 pub fn X509_set_subject_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
16834}
16835unsafe extern "C" {
16836 pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
16837}
16838unsafe extern "C" {
16839 pub fn X509_delete_ext(x: *mut X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
16840}
16841unsafe extern "C" {
16842 pub fn X509_add_ext(
16843 x: *mut X509,
16844 ex: *const X509_EXTENSION,
16845 loc: ::core::ffi::c_int,
16846 ) -> ::core::ffi::c_int;
16847}
16848unsafe extern "C" {
16849 pub fn X509_add1_ext_i2d(
16850 x: *mut X509,
16851 nid: ::core::ffi::c_int,
16852 value: *mut ::core::ffi::c_void,
16853 crit: ::core::ffi::c_int,
16854 flags: ::core::ffi::c_ulong,
16855 ) -> ::core::ffi::c_int;
16856}
16857unsafe extern "C" {
16858 pub fn X509_sign(x509: *mut X509, pkey: *mut EVP_PKEY, md: *const EVP_MD)
16859 -> ::core::ffi::c_int;
16860}
16861unsafe extern "C" {
16862 pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
16863}
16864unsafe extern "C" {
16865 pub fn i2d_re_X509_tbs(x509: *mut X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16866}
16867unsafe extern "C" {
16868 pub fn X509_set1_signature_algo(x509: *mut X509, algo: *const X509_ALGOR)
16869 -> ::core::ffi::c_int;
16870}
16871unsafe extern "C" {
16872 pub fn X509_set1_signature_value(
16873 x509: *mut X509,
16874 sig: *const u8,
16875 sig_len: usize,
16876 ) -> ::core::ffi::c_int;
16877}
16878unsafe extern "C" {
16879 pub fn i2d_X509_AUX(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16880}
16881unsafe extern "C" {
16882 pub fn d2i_X509_AUX(
16883 x509: *mut *mut X509,
16884 inp: *mut *const u8,
16885 length: ::core::ffi::c_long,
16886 ) -> *mut X509;
16887}
16888unsafe extern "C" {
16889 pub fn X509_alias_set1(
16890 x509: *mut X509,
16891 name: *const u8,
16892 len: ossl_ssize_t,
16893 ) -> ::core::ffi::c_int;
16894}
16895unsafe extern "C" {
16896 pub fn X509_keyid_set1(x509: *mut X509, id: *const u8, len: ossl_ssize_t)
16897 -> ::core::ffi::c_int;
16898}
16899unsafe extern "C" {
16900 pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
16901}
16902unsafe extern "C" {
16903 pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
16904}
16905unsafe extern "C" {
16906 pub fn X509_add1_trust_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
16907}
16908unsafe extern "C" {
16909 pub fn X509_add1_reject_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
16910}
16911unsafe extern "C" {
16912 pub fn X509_trust_clear(x509: *mut X509);
16913}
16914unsafe extern "C" {
16915 pub fn X509_reject_clear(x509: *mut X509);
16916}
16917pub type sk_X509_CRL_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
16918pub type sk_X509_CRL_copy_func =
16919 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
16920pub type sk_X509_CRL_cmp_func = ::core::option::Option<
16921 unsafe extern "C" fn(
16922 arg1: *const *const X509_CRL,
16923 arg2: *const *const X509_CRL,
16924 ) -> ::core::ffi::c_int,
16925>;
16926pub type sk_X509_CRL_delete_if_func = ::core::option::Option<
16927 unsafe extern "C" fn(arg1: *mut X509_CRL, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
16928>;
16929unsafe extern "C" {
16930 #[link_name = "sk_X509_CRL_call_free_func__extern"]
16931 pub fn sk_X509_CRL_call_free_func(
16932 free_func: OPENSSL_sk_free_func,
16933 ptr: *mut ::core::ffi::c_void,
16934 );
16935}
16936unsafe extern "C" {
16937 #[link_name = "sk_X509_CRL_call_copy_func__extern"]
16938 pub fn sk_X509_CRL_call_copy_func(
16939 copy_func: OPENSSL_sk_copy_func,
16940 ptr: *const ::core::ffi::c_void,
16941 ) -> *mut ::core::ffi::c_void;
16942}
16943unsafe extern "C" {
16944 #[link_name = "sk_X509_CRL_call_cmp_func__extern"]
16945 pub fn sk_X509_CRL_call_cmp_func(
16946 cmp_func: OPENSSL_sk_cmp_func,
16947 a: *const ::core::ffi::c_void,
16948 b: *const ::core::ffi::c_void,
16949 ) -> ::core::ffi::c_int;
16950}
16951unsafe extern "C" {
16952 #[link_name = "sk_X509_CRL_call_delete_if_func__extern"]
16953 pub fn sk_X509_CRL_call_delete_if_func(
16954 func: OPENSSL_sk_delete_if_func,
16955 obj: *mut ::core::ffi::c_void,
16956 data: *mut ::core::ffi::c_void,
16957 ) -> ::core::ffi::c_int;
16958}
16959unsafe extern "C" {
16960 #[link_name = "sk_X509_CRL_new__extern"]
16961 pub fn sk_X509_CRL_new(comp: sk_X509_CRL_cmp_func) -> *mut stack_st_X509_CRL;
16962}
16963unsafe extern "C" {
16964 #[link_name = "sk_X509_CRL_new_null__extern"]
16965 pub fn sk_X509_CRL_new_null() -> *mut stack_st_X509_CRL;
16966}
16967unsafe extern "C" {
16968 #[link_name = "sk_X509_CRL_num__extern"]
16969 pub fn sk_X509_CRL_num(sk: *const stack_st_X509_CRL) -> usize;
16970}
16971unsafe extern "C" {
16972 #[link_name = "sk_X509_CRL_zero__extern"]
16973 pub fn sk_X509_CRL_zero(sk: *mut stack_st_X509_CRL);
16974}
16975unsafe extern "C" {
16976 #[link_name = "sk_X509_CRL_value__extern"]
16977 pub fn sk_X509_CRL_value(sk: *const stack_st_X509_CRL, i: usize) -> *mut X509_CRL;
16978}
16979unsafe extern "C" {
16980 #[link_name = "sk_X509_CRL_set__extern"]
16981 pub fn sk_X509_CRL_set(sk: *mut stack_st_X509_CRL, i: usize, p: *mut X509_CRL)
16982 -> *mut X509_CRL;
16983}
16984unsafe extern "C" {
16985 #[link_name = "sk_X509_CRL_free__extern"]
16986 pub fn sk_X509_CRL_free(sk: *mut stack_st_X509_CRL);
16987}
16988unsafe extern "C" {
16989 #[link_name = "sk_X509_CRL_pop_free__extern"]
16990 pub fn sk_X509_CRL_pop_free(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
16991}
16992unsafe extern "C" {
16993 #[link_name = "sk_X509_CRL_insert__extern"]
16994 pub fn sk_X509_CRL_insert(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL, where_: usize)
16995 -> usize;
16996}
16997unsafe extern "C" {
16998 #[link_name = "sk_X509_CRL_delete__extern"]
16999 pub fn sk_X509_CRL_delete(sk: *mut stack_st_X509_CRL, where_: usize) -> *mut X509_CRL;
17000}
17001unsafe extern "C" {
17002 #[link_name = "sk_X509_CRL_delete_ptr__extern"]
17003 pub fn sk_X509_CRL_delete_ptr(sk: *mut stack_st_X509_CRL, p: *const X509_CRL) -> *mut X509_CRL;
17004}
17005unsafe extern "C" {
17006 #[link_name = "sk_X509_CRL_delete_if__extern"]
17007 pub fn sk_X509_CRL_delete_if(
17008 sk: *mut stack_st_X509_CRL,
17009 func: sk_X509_CRL_delete_if_func,
17010 data: *mut ::core::ffi::c_void,
17011 );
17012}
17013unsafe extern "C" {
17014 #[link_name = "sk_X509_CRL_find__extern"]
17015 pub fn sk_X509_CRL_find(
17016 sk: *const stack_st_X509_CRL,
17017 out_index: *mut usize,
17018 p: *const X509_CRL,
17019 ) -> ::core::ffi::c_int;
17020}
17021unsafe extern "C" {
17022 #[link_name = "sk_X509_CRL_shift__extern"]
17023 pub fn sk_X509_CRL_shift(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17024}
17025unsafe extern "C" {
17026 #[link_name = "sk_X509_CRL_push__extern"]
17027 pub fn sk_X509_CRL_push(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL) -> usize;
17028}
17029unsafe extern "C" {
17030 #[link_name = "sk_X509_CRL_pop__extern"]
17031 pub fn sk_X509_CRL_pop(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17032}
17033unsafe extern "C" {
17034 #[link_name = "sk_X509_CRL_dup__extern"]
17035 pub fn sk_X509_CRL_dup(sk: *const stack_st_X509_CRL) -> *mut stack_st_X509_CRL;
17036}
17037unsafe extern "C" {
17038 #[link_name = "sk_X509_CRL_sort__extern"]
17039 pub fn sk_X509_CRL_sort(sk: *mut stack_st_X509_CRL);
17040}
17041unsafe extern "C" {
17042 #[link_name = "sk_X509_CRL_sort_and_dedup__extern"]
17043 pub fn sk_X509_CRL_sort_and_dedup(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
17044}
17045unsafe extern "C" {
17046 #[link_name = "sk_X509_CRL_is_sorted__extern"]
17047 pub fn sk_X509_CRL_is_sorted(sk: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
17048}
17049unsafe extern "C" {
17050 #[link_name = "sk_X509_CRL_set_cmp_func__extern"]
17051 pub fn sk_X509_CRL_set_cmp_func(
17052 sk: *mut stack_st_X509_CRL,
17053 comp: sk_X509_CRL_cmp_func,
17054 ) -> sk_X509_CRL_cmp_func;
17055}
17056unsafe extern "C" {
17057 #[link_name = "sk_X509_CRL_deep_copy__extern"]
17058 pub fn sk_X509_CRL_deep_copy(
17059 sk: *const stack_st_X509_CRL,
17060 copy_func: sk_X509_CRL_copy_func,
17061 free_func: sk_X509_CRL_free_func,
17062 ) -> *mut stack_st_X509_CRL;
17063}
17064#[repr(C)]
17065#[derive(Debug)]
17066pub struct stack_st_X509_REVOKED {
17067 _unused: [u8; 0],
17068}
17069pub type sk_X509_REVOKED_free_func =
17070 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
17071pub type sk_X509_REVOKED_copy_func =
17072 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
17073pub type sk_X509_REVOKED_cmp_func = ::core::option::Option<
17074 unsafe extern "C" fn(
17075 arg1: *const *const X509_REVOKED,
17076 arg2: *const *const X509_REVOKED,
17077 ) -> ::core::ffi::c_int,
17078>;
17079pub type sk_X509_REVOKED_delete_if_func = ::core::option::Option<
17080 unsafe extern "C" fn(
17081 arg1: *mut X509_REVOKED,
17082 arg2: *mut ::core::ffi::c_void,
17083 ) -> ::core::ffi::c_int,
17084>;
17085unsafe extern "C" {
17086 #[link_name = "sk_X509_REVOKED_call_free_func__extern"]
17087 pub fn sk_X509_REVOKED_call_free_func(
17088 free_func: OPENSSL_sk_free_func,
17089 ptr: *mut ::core::ffi::c_void,
17090 );
17091}
17092unsafe extern "C" {
17093 #[link_name = "sk_X509_REVOKED_call_copy_func__extern"]
17094 pub fn sk_X509_REVOKED_call_copy_func(
17095 copy_func: OPENSSL_sk_copy_func,
17096 ptr: *const ::core::ffi::c_void,
17097 ) -> *mut ::core::ffi::c_void;
17098}
17099unsafe extern "C" {
17100 #[link_name = "sk_X509_REVOKED_call_cmp_func__extern"]
17101 pub fn sk_X509_REVOKED_call_cmp_func(
17102 cmp_func: OPENSSL_sk_cmp_func,
17103 a: *const ::core::ffi::c_void,
17104 b: *const ::core::ffi::c_void,
17105 ) -> ::core::ffi::c_int;
17106}
17107unsafe extern "C" {
17108 #[link_name = "sk_X509_REVOKED_call_delete_if_func__extern"]
17109 pub fn sk_X509_REVOKED_call_delete_if_func(
17110 func: OPENSSL_sk_delete_if_func,
17111 obj: *mut ::core::ffi::c_void,
17112 data: *mut ::core::ffi::c_void,
17113 ) -> ::core::ffi::c_int;
17114}
17115unsafe extern "C" {
17116 #[link_name = "sk_X509_REVOKED_new__extern"]
17117 pub fn sk_X509_REVOKED_new(comp: sk_X509_REVOKED_cmp_func) -> *mut stack_st_X509_REVOKED;
17118}
17119unsafe extern "C" {
17120 #[link_name = "sk_X509_REVOKED_new_null__extern"]
17121 pub fn sk_X509_REVOKED_new_null() -> *mut stack_st_X509_REVOKED;
17122}
17123unsafe extern "C" {
17124 #[link_name = "sk_X509_REVOKED_num__extern"]
17125 pub fn sk_X509_REVOKED_num(sk: *const stack_st_X509_REVOKED) -> usize;
17126}
17127unsafe extern "C" {
17128 #[link_name = "sk_X509_REVOKED_zero__extern"]
17129 pub fn sk_X509_REVOKED_zero(sk: *mut stack_st_X509_REVOKED);
17130}
17131unsafe extern "C" {
17132 #[link_name = "sk_X509_REVOKED_value__extern"]
17133 pub fn sk_X509_REVOKED_value(sk: *const stack_st_X509_REVOKED, i: usize) -> *mut X509_REVOKED;
17134}
17135unsafe extern "C" {
17136 #[link_name = "sk_X509_REVOKED_set__extern"]
17137 pub fn sk_X509_REVOKED_set(
17138 sk: *mut stack_st_X509_REVOKED,
17139 i: usize,
17140 p: *mut X509_REVOKED,
17141 ) -> *mut X509_REVOKED;
17142}
17143unsafe extern "C" {
17144 #[link_name = "sk_X509_REVOKED_free__extern"]
17145 pub fn sk_X509_REVOKED_free(sk: *mut stack_st_X509_REVOKED);
17146}
17147unsafe extern "C" {
17148 #[link_name = "sk_X509_REVOKED_pop_free__extern"]
17149 pub fn sk_X509_REVOKED_pop_free(
17150 sk: *mut stack_st_X509_REVOKED,
17151 free_func: sk_X509_REVOKED_free_func,
17152 );
17153}
17154unsafe extern "C" {
17155 #[link_name = "sk_X509_REVOKED_insert__extern"]
17156 pub fn sk_X509_REVOKED_insert(
17157 sk: *mut stack_st_X509_REVOKED,
17158 p: *mut X509_REVOKED,
17159 where_: usize,
17160 ) -> usize;
17161}
17162unsafe extern "C" {
17163 #[link_name = "sk_X509_REVOKED_delete__extern"]
17164 pub fn sk_X509_REVOKED_delete(
17165 sk: *mut stack_st_X509_REVOKED,
17166 where_: usize,
17167 ) -> *mut X509_REVOKED;
17168}
17169unsafe extern "C" {
17170 #[link_name = "sk_X509_REVOKED_delete_ptr__extern"]
17171 pub fn sk_X509_REVOKED_delete_ptr(
17172 sk: *mut stack_st_X509_REVOKED,
17173 p: *const X509_REVOKED,
17174 ) -> *mut X509_REVOKED;
17175}
17176unsafe extern "C" {
17177 #[link_name = "sk_X509_REVOKED_delete_if__extern"]
17178 pub fn sk_X509_REVOKED_delete_if(
17179 sk: *mut stack_st_X509_REVOKED,
17180 func: sk_X509_REVOKED_delete_if_func,
17181 data: *mut ::core::ffi::c_void,
17182 );
17183}
17184unsafe extern "C" {
17185 #[link_name = "sk_X509_REVOKED_find__extern"]
17186 pub fn sk_X509_REVOKED_find(
17187 sk: *const stack_st_X509_REVOKED,
17188 out_index: *mut usize,
17189 p: *const X509_REVOKED,
17190 ) -> ::core::ffi::c_int;
17191}
17192unsafe extern "C" {
17193 #[link_name = "sk_X509_REVOKED_shift__extern"]
17194 pub fn sk_X509_REVOKED_shift(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17195}
17196unsafe extern "C" {
17197 #[link_name = "sk_X509_REVOKED_push__extern"]
17198 pub fn sk_X509_REVOKED_push(sk: *mut stack_st_X509_REVOKED, p: *mut X509_REVOKED) -> usize;
17199}
17200unsafe extern "C" {
17201 #[link_name = "sk_X509_REVOKED_pop__extern"]
17202 pub fn sk_X509_REVOKED_pop(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17203}
17204unsafe extern "C" {
17205 #[link_name = "sk_X509_REVOKED_dup__extern"]
17206 pub fn sk_X509_REVOKED_dup(sk: *const stack_st_X509_REVOKED) -> *mut stack_st_X509_REVOKED;
17207}
17208unsafe extern "C" {
17209 #[link_name = "sk_X509_REVOKED_sort__extern"]
17210 pub fn sk_X509_REVOKED_sort(sk: *mut stack_st_X509_REVOKED);
17211}
17212unsafe extern "C" {
17213 #[link_name = "sk_X509_REVOKED_sort_and_dedup__extern"]
17214 pub fn sk_X509_REVOKED_sort_and_dedup(
17215 sk: *mut stack_st_X509_REVOKED,
17216 free_func: sk_X509_REVOKED_free_func,
17217 );
17218}
17219unsafe extern "C" {
17220 #[link_name = "sk_X509_REVOKED_is_sorted__extern"]
17221 pub fn sk_X509_REVOKED_is_sorted(sk: *const stack_st_X509_REVOKED) -> ::core::ffi::c_int;
17222}
17223unsafe extern "C" {
17224 #[link_name = "sk_X509_REVOKED_set_cmp_func__extern"]
17225 pub fn sk_X509_REVOKED_set_cmp_func(
17226 sk: *mut stack_st_X509_REVOKED,
17227 comp: sk_X509_REVOKED_cmp_func,
17228 ) -> sk_X509_REVOKED_cmp_func;
17229}
17230unsafe extern "C" {
17231 #[link_name = "sk_X509_REVOKED_deep_copy__extern"]
17232 pub fn sk_X509_REVOKED_deep_copy(
17233 sk: *const stack_st_X509_REVOKED,
17234 copy_func: sk_X509_REVOKED_copy_func,
17235 free_func: sk_X509_REVOKED_free_func,
17236 ) -> *mut stack_st_X509_REVOKED;
17237}
17238unsafe extern "C" {
17239 pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17240}
17241unsafe extern "C" {
17242 pub fn X509_CRL_dup(crl: *const X509_CRL) -> *mut X509_CRL;
17243}
17244unsafe extern "C" {
17245 pub fn X509_CRL_free(crl: *mut X509_CRL);
17246}
17247unsafe extern "C" {
17248 pub fn d2i_X509_CRL(
17249 out: *mut *mut X509_CRL,
17250 inp: *mut *const u8,
17251 len: ::core::ffi::c_long,
17252 ) -> *mut X509_CRL;
17253}
17254unsafe extern "C" {
17255 pub fn i2d_X509_CRL(crl: *const X509_CRL, outp: *mut *mut u8) -> ::core::ffi::c_int;
17256}
17257unsafe extern "C" {
17258 pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
17259}
17260unsafe extern "C" {
17261 pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::core::ffi::c_long;
17262}
17263unsafe extern "C" {
17264 pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17265}
17266unsafe extern "C" {
17267 pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17268}
17269unsafe extern "C" {
17270 pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
17271}
17272unsafe extern "C" {
17273 pub fn X509_CRL_get0_by_serial(
17274 crl: *mut X509_CRL,
17275 out: *mut *mut X509_REVOKED,
17276 serial: *const ASN1_INTEGER,
17277 ) -> ::core::ffi::c_int;
17278}
17279unsafe extern "C" {
17280 pub fn X509_CRL_get0_by_cert(
17281 crl: *mut X509_CRL,
17282 out: *mut *mut X509_REVOKED,
17283 x509: *const X509,
17284 ) -> ::core::ffi::c_int;
17285}
17286unsafe extern "C" {
17287 pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
17288}
17289unsafe extern "C" {
17290 pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
17291}
17292unsafe extern "C" {
17293 pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::core::ffi::c_int;
17294}
17295unsafe extern "C" {
17296 pub fn X509_CRL_get_ext_by_NID(
17297 x: *const X509_CRL,
17298 nid: ::core::ffi::c_int,
17299 lastpos: ::core::ffi::c_int,
17300 ) -> ::core::ffi::c_int;
17301}
17302unsafe extern "C" {
17303 pub fn X509_CRL_get_ext_by_OBJ(
17304 x: *const X509_CRL,
17305 obj: *const ASN1_OBJECT,
17306 lastpos: ::core::ffi::c_int,
17307 ) -> ::core::ffi::c_int;
17308}
17309unsafe extern "C" {
17310 pub fn X509_CRL_get_ext_by_critical(
17311 x: *const X509_CRL,
17312 crit: ::core::ffi::c_int,
17313 lastpos: ::core::ffi::c_int,
17314 ) -> ::core::ffi::c_int;
17315}
17316unsafe extern "C" {
17317 pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17318}
17319unsafe extern "C" {
17320 pub fn X509_CRL_get_ext_d2i(
17321 crl: *const X509_CRL,
17322 nid: ::core::ffi::c_int,
17323 out_critical: *mut ::core::ffi::c_int,
17324 out_idx: *mut ::core::ffi::c_int,
17325 ) -> *mut ::core::ffi::c_void;
17326}
17327unsafe extern "C" {
17328 pub fn X509_CRL_get0_signature(
17329 crl: *const X509_CRL,
17330 out_sig: *mut *const ASN1_BIT_STRING,
17331 out_alg: *mut *const X509_ALGOR,
17332 );
17333}
17334unsafe extern "C" {
17335 pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::core::ffi::c_int;
17336}
17337unsafe extern "C" {
17338 pub fn i2d_X509_CRL_tbs(
17339 crl: *const X509_CRL,
17340 outp: *mut *mut ::core::ffi::c_uchar,
17341 ) -> ::core::ffi::c_int;
17342}
17343unsafe extern "C" {
17344 pub fn X509_CRL_verify(crl: *const X509_CRL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17345}
17346unsafe extern "C" {
17347 pub fn X509_CRL_new() -> *mut X509_CRL;
17348}
17349unsafe extern "C" {
17350 pub fn X509_CRL_set_version(
17351 crl: *mut X509_CRL,
17352 version: ::core::ffi::c_long,
17353 ) -> ::core::ffi::c_int;
17354}
17355unsafe extern "C" {
17356 pub fn X509_CRL_set_issuer_name(
17357 crl: *mut X509_CRL,
17358 name: *const X509_NAME,
17359 ) -> ::core::ffi::c_int;
17360}
17361unsafe extern "C" {
17362 pub fn X509_CRL_set1_lastUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17363 -> ::core::ffi::c_int;
17364}
17365unsafe extern "C" {
17366 pub fn X509_CRL_set1_nextUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17367 -> ::core::ffi::c_int;
17368}
17369unsafe extern "C" {
17370 pub fn X509_CRL_add0_revoked(crl: *mut X509_CRL, rev: *mut X509_REVOKED) -> ::core::ffi::c_int;
17371}
17372unsafe extern "C" {
17373 pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17374}
17375unsafe extern "C" {
17376 pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17377}
17378unsafe extern "C" {
17379 pub fn X509_CRL_add_ext(
17380 x: *mut X509_CRL,
17381 ex: *const X509_EXTENSION,
17382 loc: ::core::ffi::c_int,
17383 ) -> ::core::ffi::c_int;
17384}
17385unsafe extern "C" {
17386 pub fn X509_CRL_add1_ext_i2d(
17387 x: *mut X509_CRL,
17388 nid: ::core::ffi::c_int,
17389 value: *mut ::core::ffi::c_void,
17390 crit: ::core::ffi::c_int,
17391 flags: ::core::ffi::c_ulong,
17392 ) -> ::core::ffi::c_int;
17393}
17394unsafe extern "C" {
17395 pub fn X509_CRL_sign(
17396 crl: *mut X509_CRL,
17397 pkey: *mut EVP_PKEY,
17398 md: *const EVP_MD,
17399 ) -> ::core::ffi::c_int;
17400}
17401unsafe extern "C" {
17402 pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17403}
17404unsafe extern "C" {
17405 pub fn i2d_re_X509_CRL_tbs(
17406 crl: *mut X509_CRL,
17407 outp: *mut *mut ::core::ffi::c_uchar,
17408 ) -> ::core::ffi::c_int;
17409}
17410unsafe extern "C" {
17411 pub fn X509_CRL_set1_signature_algo(
17412 crl: *mut X509_CRL,
17413 algo: *const X509_ALGOR,
17414 ) -> ::core::ffi::c_int;
17415}
17416unsafe extern "C" {
17417 pub fn X509_CRL_set1_signature_value(
17418 crl: *mut X509_CRL,
17419 sig: *const u8,
17420 sig_len: usize,
17421 ) -> ::core::ffi::c_int;
17422}
17423unsafe extern "C" {
17424 pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
17425}
17426unsafe extern "C" {
17427 pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
17428}
17429unsafe extern "C" {
17430 pub fn d2i_X509_REVOKED(
17431 out: *mut *mut X509_REVOKED,
17432 inp: *mut *const u8,
17433 len: ::core::ffi::c_long,
17434 ) -> *mut X509_REVOKED;
17435}
17436unsafe extern "C" {
17437 pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::core::ffi::c_int;
17438}
17439unsafe extern "C" {
17440 pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
17441}
17442unsafe extern "C" {
17443 pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
17444}
17445unsafe extern "C" {
17446 pub fn X509_REVOKED_set_serialNumber(
17447 revoked: *mut X509_REVOKED,
17448 serial: *const ASN1_INTEGER,
17449 ) -> ::core::ffi::c_int;
17450}
17451unsafe extern "C" {
17452 pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
17453}
17454unsafe extern "C" {
17455 pub fn X509_REVOKED_set_revocationDate(
17456 revoked: *mut X509_REVOKED,
17457 tm: *const ASN1_TIME,
17458 ) -> ::core::ffi::c_int;
17459}
17460unsafe extern "C" {
17461 pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
17462}
17463unsafe extern "C" {
17464 pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::core::ffi::c_int;
17465}
17466unsafe extern "C" {
17467 pub fn X509_REVOKED_get_ext_by_NID(
17468 x: *const X509_REVOKED,
17469 nid: ::core::ffi::c_int,
17470 lastpos: ::core::ffi::c_int,
17471 ) -> ::core::ffi::c_int;
17472}
17473unsafe extern "C" {
17474 pub fn X509_REVOKED_get_ext_by_OBJ(
17475 x: *const X509_REVOKED,
17476 obj: *const ASN1_OBJECT,
17477 lastpos: ::core::ffi::c_int,
17478 ) -> ::core::ffi::c_int;
17479}
17480unsafe extern "C" {
17481 pub fn X509_REVOKED_get_ext_by_critical(
17482 x: *const X509_REVOKED,
17483 crit: ::core::ffi::c_int,
17484 lastpos: ::core::ffi::c_int,
17485 ) -> ::core::ffi::c_int;
17486}
17487unsafe extern "C" {
17488 pub fn X509_REVOKED_get_ext(
17489 x: *const X509_REVOKED,
17490 loc: ::core::ffi::c_int,
17491 ) -> *mut X509_EXTENSION;
17492}
17493unsafe extern "C" {
17494 pub fn X509_REVOKED_delete_ext(
17495 x: *mut X509_REVOKED,
17496 loc: ::core::ffi::c_int,
17497 ) -> *mut X509_EXTENSION;
17498}
17499unsafe extern "C" {
17500 pub fn X509_REVOKED_add_ext(
17501 x: *mut X509_REVOKED,
17502 ex: *const X509_EXTENSION,
17503 loc: ::core::ffi::c_int,
17504 ) -> ::core::ffi::c_int;
17505}
17506unsafe extern "C" {
17507 pub fn X509_REVOKED_get_ext_d2i(
17508 revoked: *const X509_REVOKED,
17509 nid: ::core::ffi::c_int,
17510 out_critical: *mut ::core::ffi::c_int,
17511 out_idx: *mut ::core::ffi::c_int,
17512 ) -> *mut ::core::ffi::c_void;
17513}
17514unsafe extern "C" {
17515 pub fn X509_REVOKED_add1_ext_i2d(
17516 x: *mut X509_REVOKED,
17517 nid: ::core::ffi::c_int,
17518 value: *mut ::core::ffi::c_void,
17519 crit: ::core::ffi::c_int,
17520 flags: ::core::ffi::c_ulong,
17521 ) -> ::core::ffi::c_int;
17522}
17523unsafe extern "C" {
17524 pub fn X509_REQ_dup(req: *const X509_REQ) -> *mut X509_REQ;
17525}
17526unsafe extern "C" {
17527 pub fn X509_REQ_free(req: *mut X509_REQ);
17528}
17529unsafe extern "C" {
17530 pub fn d2i_X509_REQ(
17531 out: *mut *mut X509_REQ,
17532 inp: *mut *const u8,
17533 len: ::core::ffi::c_long,
17534 ) -> *mut X509_REQ;
17535}
17536unsafe extern "C" {
17537 pub fn i2d_X509_REQ(req: *const X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17538}
17539unsafe extern "C" {
17540 pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::core::ffi::c_long;
17541}
17542unsafe extern "C" {
17543 pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
17544}
17545unsafe extern "C" {
17546 pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17547}
17548unsafe extern "C" {
17549 pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17550}
17551unsafe extern "C" {
17552 pub fn X509_REQ_check_private_key(
17553 req: *const X509_REQ,
17554 pkey: *const EVP_PKEY,
17555 ) -> ::core::ffi::c_int;
17556}
17557unsafe extern "C" {
17558 pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::core::ffi::c_int;
17559}
17560unsafe extern "C" {
17561 pub fn X509_REQ_get_attr(req: *const X509_REQ, loc: ::core::ffi::c_int) -> *mut X509_ATTRIBUTE;
17562}
17563unsafe extern "C" {
17564 pub fn X509_REQ_get_attr_by_NID(
17565 req: *const X509_REQ,
17566 nid: ::core::ffi::c_int,
17567 lastpos: ::core::ffi::c_int,
17568 ) -> ::core::ffi::c_int;
17569}
17570unsafe extern "C" {
17571 pub fn X509_REQ_get_attr_by_OBJ(
17572 req: *const X509_REQ,
17573 obj: *const ASN1_OBJECT,
17574 lastpos: ::core::ffi::c_int,
17575 ) -> ::core::ffi::c_int;
17576}
17577unsafe extern "C" {
17578 pub fn X509_REQ_extension_nid(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
17579}
17580unsafe extern "C" {
17581 pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
17582}
17583unsafe extern "C" {
17584 pub fn X509_REQ_get0_signature(
17585 req: *const X509_REQ,
17586 out_sig: *mut *const ASN1_BIT_STRING,
17587 out_alg: *mut *const X509_ALGOR,
17588 );
17589}
17590unsafe extern "C" {
17591 pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::core::ffi::c_int;
17592}
17593unsafe extern "C" {
17594 pub fn X509_REQ_verify(req: *const X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17595}
17596unsafe extern "C" {
17597 pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
17598}
17599unsafe extern "C" {
17600 pub fn X509_REQ_new() -> *mut X509_REQ;
17601}
17602unsafe extern "C" {
17603 pub fn X509_REQ_set_version(
17604 req: *mut X509_REQ,
17605 version: ::core::ffi::c_long,
17606 ) -> ::core::ffi::c_int;
17607}
17608unsafe extern "C" {
17609 pub fn X509_REQ_set_subject_name(
17610 req: *mut X509_REQ,
17611 name: *mut X509_NAME,
17612 ) -> ::core::ffi::c_int;
17613}
17614unsafe extern "C" {
17615 pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17616}
17617unsafe extern "C" {
17618 pub fn X509_REQ_delete_attr(req: *mut X509_REQ, loc: ::core::ffi::c_int)
17619 -> *mut X509_ATTRIBUTE;
17620}
17621unsafe extern "C" {
17622 pub fn X509_REQ_add1_attr(
17623 req: *mut X509_REQ,
17624 attr: *const X509_ATTRIBUTE,
17625 ) -> ::core::ffi::c_int;
17626}
17627unsafe extern "C" {
17628 pub fn X509_REQ_add1_attr_by_OBJ(
17629 req: *mut X509_REQ,
17630 obj: *const ASN1_OBJECT,
17631 attrtype: ::core::ffi::c_int,
17632 data: *const ::core::ffi::c_uchar,
17633 len: ::core::ffi::c_int,
17634 ) -> ::core::ffi::c_int;
17635}
17636unsafe extern "C" {
17637 pub fn X509_REQ_add1_attr_by_NID(
17638 req: *mut X509_REQ,
17639 nid: ::core::ffi::c_int,
17640 attrtype: ::core::ffi::c_int,
17641 data: *const ::core::ffi::c_uchar,
17642 len: ::core::ffi::c_int,
17643 ) -> ::core::ffi::c_int;
17644}
17645unsafe extern "C" {
17646 pub fn X509_REQ_add1_attr_by_txt(
17647 req: *mut X509_REQ,
17648 attrname: *const ::core::ffi::c_char,
17649 attrtype: ::core::ffi::c_int,
17650 data: *const ::core::ffi::c_uchar,
17651 len: ::core::ffi::c_int,
17652 ) -> ::core::ffi::c_int;
17653}
17654unsafe extern "C" {
17655 pub fn X509_REQ_add_extensions_nid(
17656 req: *mut X509_REQ,
17657 exts: *const stack_st_X509_EXTENSION,
17658 nid: ::core::ffi::c_int,
17659 ) -> ::core::ffi::c_int;
17660}
17661unsafe extern "C" {
17662 pub fn X509_REQ_add_extensions(
17663 req: *mut X509_REQ,
17664 exts: *const stack_st_X509_EXTENSION,
17665 ) -> ::core::ffi::c_int;
17666}
17667unsafe extern "C" {
17668 pub fn X509_REQ_sign(
17669 req: *mut X509_REQ,
17670 pkey: *mut EVP_PKEY,
17671 md: *const EVP_MD,
17672 ) -> ::core::ffi::c_int;
17673}
17674unsafe extern "C" {
17675 pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17676}
17677unsafe extern "C" {
17678 pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17679}
17680unsafe extern "C" {
17681 pub fn X509_REQ_set1_signature_algo(
17682 req: *mut X509_REQ,
17683 algo: *const X509_ALGOR,
17684 ) -> ::core::ffi::c_int;
17685}
17686unsafe extern "C" {
17687 pub fn X509_REQ_set1_signature_value(
17688 req: *mut X509_REQ,
17689 sig: *const u8,
17690 sig_len: usize,
17691 ) -> ::core::ffi::c_int;
17692}
17693#[repr(C)]
17694#[derive(Debug)]
17695pub struct stack_st_X509_NAME_ENTRY {
17696 _unused: [u8; 0],
17697}
17698pub type sk_X509_NAME_ENTRY_free_func =
17699 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
17700pub type sk_X509_NAME_ENTRY_copy_func = ::core::option::Option<
17701 unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
17702>;
17703pub type sk_X509_NAME_ENTRY_cmp_func = ::core::option::Option<
17704 unsafe extern "C" fn(
17705 arg1: *const *const X509_NAME_ENTRY,
17706 arg2: *const *const X509_NAME_ENTRY,
17707 ) -> ::core::ffi::c_int,
17708>;
17709pub type sk_X509_NAME_ENTRY_delete_if_func = ::core::option::Option<
17710 unsafe extern "C" fn(
17711 arg1: *mut X509_NAME_ENTRY,
17712 arg2: *mut ::core::ffi::c_void,
17713 ) -> ::core::ffi::c_int,
17714>;
17715unsafe extern "C" {
17716 #[link_name = "sk_X509_NAME_ENTRY_call_free_func__extern"]
17717 pub fn sk_X509_NAME_ENTRY_call_free_func(
17718 free_func: OPENSSL_sk_free_func,
17719 ptr: *mut ::core::ffi::c_void,
17720 );
17721}
17722unsafe extern "C" {
17723 #[link_name = "sk_X509_NAME_ENTRY_call_copy_func__extern"]
17724 pub fn sk_X509_NAME_ENTRY_call_copy_func(
17725 copy_func: OPENSSL_sk_copy_func,
17726 ptr: *const ::core::ffi::c_void,
17727 ) -> *mut ::core::ffi::c_void;
17728}
17729unsafe extern "C" {
17730 #[link_name = "sk_X509_NAME_ENTRY_call_cmp_func__extern"]
17731 pub fn sk_X509_NAME_ENTRY_call_cmp_func(
17732 cmp_func: OPENSSL_sk_cmp_func,
17733 a: *const ::core::ffi::c_void,
17734 b: *const ::core::ffi::c_void,
17735 ) -> ::core::ffi::c_int;
17736}
17737unsafe extern "C" {
17738 #[link_name = "sk_X509_NAME_ENTRY_call_delete_if_func__extern"]
17739 pub fn sk_X509_NAME_ENTRY_call_delete_if_func(
17740 func: OPENSSL_sk_delete_if_func,
17741 obj: *mut ::core::ffi::c_void,
17742 data: *mut ::core::ffi::c_void,
17743 ) -> ::core::ffi::c_int;
17744}
17745unsafe extern "C" {
17746 #[link_name = "sk_X509_NAME_ENTRY_new__extern"]
17747 pub fn sk_X509_NAME_ENTRY_new(
17748 comp: sk_X509_NAME_ENTRY_cmp_func,
17749 ) -> *mut stack_st_X509_NAME_ENTRY;
17750}
17751unsafe extern "C" {
17752 #[link_name = "sk_X509_NAME_ENTRY_new_null__extern"]
17753 pub fn sk_X509_NAME_ENTRY_new_null() -> *mut stack_st_X509_NAME_ENTRY;
17754}
17755unsafe extern "C" {
17756 #[link_name = "sk_X509_NAME_ENTRY_num__extern"]
17757 pub fn sk_X509_NAME_ENTRY_num(sk: *const stack_st_X509_NAME_ENTRY) -> usize;
17758}
17759unsafe extern "C" {
17760 #[link_name = "sk_X509_NAME_ENTRY_zero__extern"]
17761 pub fn sk_X509_NAME_ENTRY_zero(sk: *mut stack_st_X509_NAME_ENTRY);
17762}
17763unsafe extern "C" {
17764 #[link_name = "sk_X509_NAME_ENTRY_value__extern"]
17765 pub fn sk_X509_NAME_ENTRY_value(
17766 sk: *const stack_st_X509_NAME_ENTRY,
17767 i: usize,
17768 ) -> *mut X509_NAME_ENTRY;
17769}
17770unsafe extern "C" {
17771 #[link_name = "sk_X509_NAME_ENTRY_set__extern"]
17772 pub fn sk_X509_NAME_ENTRY_set(
17773 sk: *mut stack_st_X509_NAME_ENTRY,
17774 i: usize,
17775 p: *mut X509_NAME_ENTRY,
17776 ) -> *mut X509_NAME_ENTRY;
17777}
17778unsafe extern "C" {
17779 #[link_name = "sk_X509_NAME_ENTRY_free__extern"]
17780 pub fn sk_X509_NAME_ENTRY_free(sk: *mut stack_st_X509_NAME_ENTRY);
17781}
17782unsafe extern "C" {
17783 #[link_name = "sk_X509_NAME_ENTRY_pop_free__extern"]
17784 pub fn sk_X509_NAME_ENTRY_pop_free(
17785 sk: *mut stack_st_X509_NAME_ENTRY,
17786 free_func: sk_X509_NAME_ENTRY_free_func,
17787 );
17788}
17789unsafe extern "C" {
17790 #[link_name = "sk_X509_NAME_ENTRY_insert__extern"]
17791 pub fn sk_X509_NAME_ENTRY_insert(
17792 sk: *mut stack_st_X509_NAME_ENTRY,
17793 p: *mut X509_NAME_ENTRY,
17794 where_: usize,
17795 ) -> usize;
17796}
17797unsafe extern "C" {
17798 #[link_name = "sk_X509_NAME_ENTRY_delete__extern"]
17799 pub fn sk_X509_NAME_ENTRY_delete(
17800 sk: *mut stack_st_X509_NAME_ENTRY,
17801 where_: usize,
17802 ) -> *mut X509_NAME_ENTRY;
17803}
17804unsafe extern "C" {
17805 #[link_name = "sk_X509_NAME_ENTRY_delete_ptr__extern"]
17806 pub fn sk_X509_NAME_ENTRY_delete_ptr(
17807 sk: *mut stack_st_X509_NAME_ENTRY,
17808 p: *const X509_NAME_ENTRY,
17809 ) -> *mut X509_NAME_ENTRY;
17810}
17811unsafe extern "C" {
17812 #[link_name = "sk_X509_NAME_ENTRY_delete_if__extern"]
17813 pub fn sk_X509_NAME_ENTRY_delete_if(
17814 sk: *mut stack_st_X509_NAME_ENTRY,
17815 func: sk_X509_NAME_ENTRY_delete_if_func,
17816 data: *mut ::core::ffi::c_void,
17817 );
17818}
17819unsafe extern "C" {
17820 #[link_name = "sk_X509_NAME_ENTRY_find__extern"]
17821 pub fn sk_X509_NAME_ENTRY_find(
17822 sk: *const stack_st_X509_NAME_ENTRY,
17823 out_index: *mut usize,
17824 p: *const X509_NAME_ENTRY,
17825 ) -> ::core::ffi::c_int;
17826}
17827unsafe extern "C" {
17828 #[link_name = "sk_X509_NAME_ENTRY_shift__extern"]
17829 pub fn sk_X509_NAME_ENTRY_shift(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
17830}
17831unsafe extern "C" {
17832 #[link_name = "sk_X509_NAME_ENTRY_push__extern"]
17833 pub fn sk_X509_NAME_ENTRY_push(
17834 sk: *mut stack_st_X509_NAME_ENTRY,
17835 p: *mut X509_NAME_ENTRY,
17836 ) -> usize;
17837}
17838unsafe extern "C" {
17839 #[link_name = "sk_X509_NAME_ENTRY_pop__extern"]
17840 pub fn sk_X509_NAME_ENTRY_pop(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
17841}
17842unsafe extern "C" {
17843 #[link_name = "sk_X509_NAME_ENTRY_dup__extern"]
17844 pub fn sk_X509_NAME_ENTRY_dup(
17845 sk: *const stack_st_X509_NAME_ENTRY,
17846 ) -> *mut stack_st_X509_NAME_ENTRY;
17847}
17848unsafe extern "C" {
17849 #[link_name = "sk_X509_NAME_ENTRY_sort__extern"]
17850 pub fn sk_X509_NAME_ENTRY_sort(sk: *mut stack_st_X509_NAME_ENTRY);
17851}
17852unsafe extern "C" {
17853 #[link_name = "sk_X509_NAME_ENTRY_sort_and_dedup__extern"]
17854 pub fn sk_X509_NAME_ENTRY_sort_and_dedup(
17855 sk: *mut stack_st_X509_NAME_ENTRY,
17856 free_func: sk_X509_NAME_ENTRY_free_func,
17857 );
17858}
17859unsafe extern "C" {
17860 #[link_name = "sk_X509_NAME_ENTRY_is_sorted__extern"]
17861 pub fn sk_X509_NAME_ENTRY_is_sorted(sk: *const stack_st_X509_NAME_ENTRY) -> ::core::ffi::c_int;
17862}
17863unsafe extern "C" {
17864 #[link_name = "sk_X509_NAME_ENTRY_set_cmp_func__extern"]
17865 pub fn sk_X509_NAME_ENTRY_set_cmp_func(
17866 sk: *mut stack_st_X509_NAME_ENTRY,
17867 comp: sk_X509_NAME_ENTRY_cmp_func,
17868 ) -> sk_X509_NAME_ENTRY_cmp_func;
17869}
17870unsafe extern "C" {
17871 #[link_name = "sk_X509_NAME_ENTRY_deep_copy__extern"]
17872 pub fn sk_X509_NAME_ENTRY_deep_copy(
17873 sk: *const stack_st_X509_NAME_ENTRY,
17874 copy_func: sk_X509_NAME_ENTRY_copy_func,
17875 free_func: sk_X509_NAME_ENTRY_free_func,
17876 ) -> *mut stack_st_X509_NAME_ENTRY;
17877}
17878#[repr(C)]
17879#[derive(Debug)]
17880pub struct stack_st_X509_NAME {
17881 _unused: [u8; 0],
17882}
17883pub type sk_X509_NAME_free_func =
17884 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
17885pub type sk_X509_NAME_copy_func =
17886 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
17887pub type sk_X509_NAME_cmp_func = ::core::option::Option<
17888 unsafe extern "C" fn(
17889 arg1: *const *const X509_NAME,
17890 arg2: *const *const X509_NAME,
17891 ) -> ::core::ffi::c_int,
17892>;
17893pub type sk_X509_NAME_delete_if_func = ::core::option::Option<
17894 unsafe extern "C" fn(
17895 arg1: *mut X509_NAME,
17896 arg2: *mut ::core::ffi::c_void,
17897 ) -> ::core::ffi::c_int,
17898>;
17899unsafe extern "C" {
17900 #[link_name = "sk_X509_NAME_call_free_func__extern"]
17901 pub fn sk_X509_NAME_call_free_func(
17902 free_func: OPENSSL_sk_free_func,
17903 ptr: *mut ::core::ffi::c_void,
17904 );
17905}
17906unsafe extern "C" {
17907 #[link_name = "sk_X509_NAME_call_copy_func__extern"]
17908 pub fn sk_X509_NAME_call_copy_func(
17909 copy_func: OPENSSL_sk_copy_func,
17910 ptr: *const ::core::ffi::c_void,
17911 ) -> *mut ::core::ffi::c_void;
17912}
17913unsafe extern "C" {
17914 #[link_name = "sk_X509_NAME_call_cmp_func__extern"]
17915 pub fn sk_X509_NAME_call_cmp_func(
17916 cmp_func: OPENSSL_sk_cmp_func,
17917 a: *const ::core::ffi::c_void,
17918 b: *const ::core::ffi::c_void,
17919 ) -> ::core::ffi::c_int;
17920}
17921unsafe extern "C" {
17922 #[link_name = "sk_X509_NAME_call_delete_if_func__extern"]
17923 pub fn sk_X509_NAME_call_delete_if_func(
17924 func: OPENSSL_sk_delete_if_func,
17925 obj: *mut ::core::ffi::c_void,
17926 data: *mut ::core::ffi::c_void,
17927 ) -> ::core::ffi::c_int;
17928}
17929unsafe extern "C" {
17930 #[link_name = "sk_X509_NAME_new__extern"]
17931 pub fn sk_X509_NAME_new(comp: sk_X509_NAME_cmp_func) -> *mut stack_st_X509_NAME;
17932}
17933unsafe extern "C" {
17934 #[link_name = "sk_X509_NAME_new_null__extern"]
17935 pub fn sk_X509_NAME_new_null() -> *mut stack_st_X509_NAME;
17936}
17937unsafe extern "C" {
17938 #[link_name = "sk_X509_NAME_num__extern"]
17939 pub fn sk_X509_NAME_num(sk: *const stack_st_X509_NAME) -> usize;
17940}
17941unsafe extern "C" {
17942 #[link_name = "sk_X509_NAME_zero__extern"]
17943 pub fn sk_X509_NAME_zero(sk: *mut stack_st_X509_NAME);
17944}
17945unsafe extern "C" {
17946 #[link_name = "sk_X509_NAME_value__extern"]
17947 pub fn sk_X509_NAME_value(sk: *const stack_st_X509_NAME, i: usize) -> *mut X509_NAME;
17948}
17949unsafe extern "C" {
17950 #[link_name = "sk_X509_NAME_set__extern"]
17951 pub fn sk_X509_NAME_set(
17952 sk: *mut stack_st_X509_NAME,
17953 i: usize,
17954 p: *mut X509_NAME,
17955 ) -> *mut X509_NAME;
17956}
17957unsafe extern "C" {
17958 #[link_name = "sk_X509_NAME_free__extern"]
17959 pub fn sk_X509_NAME_free(sk: *mut stack_st_X509_NAME);
17960}
17961unsafe extern "C" {
17962 #[link_name = "sk_X509_NAME_pop_free__extern"]
17963 pub fn sk_X509_NAME_pop_free(sk: *mut stack_st_X509_NAME, free_func: sk_X509_NAME_free_func);
17964}
17965unsafe extern "C" {
17966 #[link_name = "sk_X509_NAME_insert__extern"]
17967 pub fn sk_X509_NAME_insert(
17968 sk: *mut stack_st_X509_NAME,
17969 p: *mut X509_NAME,
17970 where_: usize,
17971 ) -> usize;
17972}
17973unsafe extern "C" {
17974 #[link_name = "sk_X509_NAME_delete__extern"]
17975 pub fn sk_X509_NAME_delete(sk: *mut stack_st_X509_NAME, where_: usize) -> *mut X509_NAME;
17976}
17977unsafe extern "C" {
17978 #[link_name = "sk_X509_NAME_delete_ptr__extern"]
17979 pub fn sk_X509_NAME_delete_ptr(
17980 sk: *mut stack_st_X509_NAME,
17981 p: *const X509_NAME,
17982 ) -> *mut X509_NAME;
17983}
17984unsafe extern "C" {
17985 #[link_name = "sk_X509_NAME_delete_if__extern"]
17986 pub fn sk_X509_NAME_delete_if(
17987 sk: *mut stack_st_X509_NAME,
17988 func: sk_X509_NAME_delete_if_func,
17989 data: *mut ::core::ffi::c_void,
17990 );
17991}
17992unsafe extern "C" {
17993 #[link_name = "sk_X509_NAME_find__extern"]
17994 pub fn sk_X509_NAME_find(
17995 sk: *const stack_st_X509_NAME,
17996 out_index: *mut usize,
17997 p: *const X509_NAME,
17998 ) -> ::core::ffi::c_int;
17999}
18000unsafe extern "C" {
18001 #[link_name = "sk_X509_NAME_shift__extern"]
18002 pub fn sk_X509_NAME_shift(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18003}
18004unsafe extern "C" {
18005 #[link_name = "sk_X509_NAME_push__extern"]
18006 pub fn sk_X509_NAME_push(sk: *mut stack_st_X509_NAME, p: *mut X509_NAME) -> usize;
18007}
18008unsafe extern "C" {
18009 #[link_name = "sk_X509_NAME_pop__extern"]
18010 pub fn sk_X509_NAME_pop(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18011}
18012unsafe extern "C" {
18013 #[link_name = "sk_X509_NAME_dup__extern"]
18014 pub fn sk_X509_NAME_dup(sk: *const stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
18015}
18016unsafe extern "C" {
18017 #[link_name = "sk_X509_NAME_sort__extern"]
18018 pub fn sk_X509_NAME_sort(sk: *mut stack_st_X509_NAME);
18019}
18020unsafe extern "C" {
18021 #[link_name = "sk_X509_NAME_sort_and_dedup__extern"]
18022 pub fn sk_X509_NAME_sort_and_dedup(
18023 sk: *mut stack_st_X509_NAME,
18024 free_func: sk_X509_NAME_free_func,
18025 );
18026}
18027unsafe extern "C" {
18028 #[link_name = "sk_X509_NAME_is_sorted__extern"]
18029 pub fn sk_X509_NAME_is_sorted(sk: *const stack_st_X509_NAME) -> ::core::ffi::c_int;
18030}
18031unsafe extern "C" {
18032 #[link_name = "sk_X509_NAME_set_cmp_func__extern"]
18033 pub fn sk_X509_NAME_set_cmp_func(
18034 sk: *mut stack_st_X509_NAME,
18035 comp: sk_X509_NAME_cmp_func,
18036 ) -> sk_X509_NAME_cmp_func;
18037}
18038unsafe extern "C" {
18039 #[link_name = "sk_X509_NAME_deep_copy__extern"]
18040 pub fn sk_X509_NAME_deep_copy(
18041 sk: *const stack_st_X509_NAME,
18042 copy_func: sk_X509_NAME_copy_func,
18043 free_func: sk_X509_NAME_free_func,
18044 ) -> *mut stack_st_X509_NAME;
18045}
18046unsafe extern "C" {
18047 pub static X509_NAME_it: ASN1_ITEM;
18048}
18049unsafe extern "C" {
18050 pub fn X509_NAME_new() -> *mut X509_NAME;
18051}
18052unsafe extern "C" {
18053 pub fn X509_NAME_free(name: *mut X509_NAME);
18054}
18055unsafe extern "C" {
18056 pub fn d2i_X509_NAME(
18057 out: *mut *mut X509_NAME,
18058 inp: *mut *const u8,
18059 len: ::core::ffi::c_long,
18060 ) -> *mut X509_NAME;
18061}
18062unsafe extern "C" {
18063 pub fn i2d_X509_NAME(in_: *const X509_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18064}
18065unsafe extern "C" {
18066 pub fn X509_NAME_dup(name: *const X509_NAME) -> *mut X509_NAME;
18067}
18068unsafe extern "C" {
18069 pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::core::ffi::c_int;
18070}
18071unsafe extern "C" {
18072 pub fn X509_NAME_get0_der(
18073 name: *const X509_NAME,
18074 out_der: *mut *const u8,
18075 out_der_len: *mut usize,
18076 ) -> ::core::ffi::c_int;
18077}
18078unsafe extern "C" {
18079 pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *const X509_NAME) -> ::core::ffi::c_int;
18080}
18081unsafe extern "C" {
18082 pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::core::ffi::c_int;
18083}
18084unsafe extern "C" {
18085 pub fn X509_NAME_get_index_by_NID(
18086 name: *const X509_NAME,
18087 nid: ::core::ffi::c_int,
18088 lastpos: ::core::ffi::c_int,
18089 ) -> ::core::ffi::c_int;
18090}
18091unsafe extern "C" {
18092 pub fn X509_NAME_get_index_by_OBJ(
18093 name: *const X509_NAME,
18094 obj: *const ASN1_OBJECT,
18095 lastpos: ::core::ffi::c_int,
18096 ) -> ::core::ffi::c_int;
18097}
18098unsafe extern "C" {
18099 pub fn X509_NAME_get_entry(
18100 name: *const X509_NAME,
18101 loc: ::core::ffi::c_int,
18102 ) -> *mut X509_NAME_ENTRY;
18103}
18104unsafe extern "C" {
18105 pub fn X509_NAME_delete_entry(
18106 name: *mut X509_NAME,
18107 loc: ::core::ffi::c_int,
18108 ) -> *mut X509_NAME_ENTRY;
18109}
18110unsafe extern "C" {
18111 pub fn X509_NAME_add_entry(
18112 name: *mut X509_NAME,
18113 entry: *const X509_NAME_ENTRY,
18114 loc: ::core::ffi::c_int,
18115 set: ::core::ffi::c_int,
18116 ) -> ::core::ffi::c_int;
18117}
18118unsafe extern "C" {
18119 pub fn X509_NAME_add_entry_by_OBJ(
18120 name: *mut X509_NAME,
18121 obj: *const ASN1_OBJECT,
18122 type_: ::core::ffi::c_int,
18123 bytes: *const u8,
18124 len: ossl_ssize_t,
18125 loc: ::core::ffi::c_int,
18126 set: ::core::ffi::c_int,
18127 ) -> ::core::ffi::c_int;
18128}
18129unsafe extern "C" {
18130 pub fn X509_NAME_add_entry_by_NID(
18131 name: *mut X509_NAME,
18132 nid: ::core::ffi::c_int,
18133 type_: ::core::ffi::c_int,
18134 bytes: *const u8,
18135 len: ossl_ssize_t,
18136 loc: ::core::ffi::c_int,
18137 set: ::core::ffi::c_int,
18138 ) -> ::core::ffi::c_int;
18139}
18140unsafe extern "C" {
18141 pub fn X509_NAME_add_entry_by_txt(
18142 name: *mut X509_NAME,
18143 field: *const ::core::ffi::c_char,
18144 type_: ::core::ffi::c_int,
18145 bytes: *const u8,
18146 len: ossl_ssize_t,
18147 loc: ::core::ffi::c_int,
18148 set: ::core::ffi::c_int,
18149 ) -> ::core::ffi::c_int;
18150}
18151unsafe extern "C" {
18152 pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
18153}
18154unsafe extern "C" {
18155 pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
18156}
18157unsafe extern "C" {
18158 pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
18159}
18160unsafe extern "C" {
18161 pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
18162}
18163unsafe extern "C" {
18164 pub fn X509_NAME_ENTRY_set_object(
18165 entry: *mut X509_NAME_ENTRY,
18166 obj: *const ASN1_OBJECT,
18167 ) -> ::core::ffi::c_int;
18168}
18169unsafe extern "C" {
18170 pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
18171}
18172unsafe extern "C" {
18173 pub fn X509_NAME_ENTRY_set_data(
18174 entry: *mut X509_NAME_ENTRY,
18175 type_: ::core::ffi::c_int,
18176 bytes: *const u8,
18177 len: ossl_ssize_t,
18178 ) -> ::core::ffi::c_int;
18179}
18180unsafe extern "C" {
18181 pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::core::ffi::c_int;
18182}
18183unsafe extern "C" {
18184 pub fn X509_NAME_ENTRY_create_by_OBJ(
18185 out: *mut *mut X509_NAME_ENTRY,
18186 obj: *const ASN1_OBJECT,
18187 type_: ::core::ffi::c_int,
18188 bytes: *const u8,
18189 len: ossl_ssize_t,
18190 ) -> *mut X509_NAME_ENTRY;
18191}
18192unsafe extern "C" {
18193 pub fn X509_NAME_ENTRY_create_by_NID(
18194 out: *mut *mut X509_NAME_ENTRY,
18195 nid: ::core::ffi::c_int,
18196 type_: ::core::ffi::c_int,
18197 bytes: *const u8,
18198 len: ossl_ssize_t,
18199 ) -> *mut X509_NAME_ENTRY;
18200}
18201unsafe extern "C" {
18202 pub fn X509_NAME_ENTRY_create_by_txt(
18203 out: *mut *mut X509_NAME_ENTRY,
18204 field: *const ::core::ffi::c_char,
18205 type_: ::core::ffi::c_int,
18206 bytes: *const u8,
18207 len: ossl_ssize_t,
18208 ) -> *mut X509_NAME_ENTRY;
18209}
18210unsafe extern "C" {
18211 pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
18212}
18213unsafe extern "C" {
18214 pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
18215}
18216unsafe extern "C" {
18217 pub fn d2i_X509_PUBKEY(
18218 out: *mut *mut X509_PUBKEY,
18219 inp: *mut *const u8,
18220 len: ::core::ffi::c_long,
18221 ) -> *mut X509_PUBKEY;
18222}
18223unsafe extern "C" {
18224 pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
18225}
18226unsafe extern "C" {
18227 pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
18228}
18229unsafe extern "C" {
18230 pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18231}
18232unsafe extern "C" {
18233 pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18234}
18235unsafe extern "C" {
18236 pub fn X509_PUBKEY_set0_param(
18237 pub_: *mut X509_PUBKEY,
18238 obj: *mut ASN1_OBJECT,
18239 param_type: ::core::ffi::c_int,
18240 param_value: *mut ::core::ffi::c_void,
18241 key: *mut u8,
18242 key_len: ::core::ffi::c_int,
18243 ) -> ::core::ffi::c_int;
18244}
18245unsafe extern "C" {
18246 pub fn X509_PUBKEY_get0_param(
18247 out_obj: *mut *mut ASN1_OBJECT,
18248 out_key: *mut *const u8,
18249 out_key_len: *mut ::core::ffi::c_int,
18250 out_alg: *mut *mut X509_ALGOR,
18251 pub_: *mut X509_PUBKEY,
18252 ) -> ::core::ffi::c_int;
18253}
18254unsafe extern "C" {
18255 pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
18256}
18257unsafe extern "C" {
18258 pub static X509_EXTENSION_it: ASN1_ITEM;
18259}
18260unsafe extern "C" {
18261 pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
18262}
18263unsafe extern "C" {
18264 pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
18265}
18266unsafe extern "C" {
18267 pub fn d2i_X509_EXTENSION(
18268 out: *mut *mut X509_EXTENSION,
18269 inp: *mut *const u8,
18270 len: ::core::ffi::c_long,
18271 ) -> *mut X509_EXTENSION;
18272}
18273unsafe extern "C" {
18274 pub fn i2d_X509_EXTENSION(ex: *const X509_EXTENSION, outp: *mut *mut u8) -> ::core::ffi::c_int;
18275}
18276unsafe extern "C" {
18277 pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
18278}
18279unsafe extern "C" {
18280 pub fn X509_EXTENSION_create_by_NID(
18281 ex: *mut *mut X509_EXTENSION,
18282 nid: ::core::ffi::c_int,
18283 crit: ::core::ffi::c_int,
18284 data: *const ASN1_OCTET_STRING,
18285 ) -> *mut X509_EXTENSION;
18286}
18287unsafe extern "C" {
18288 pub fn X509_EXTENSION_create_by_OBJ(
18289 ex: *mut *mut X509_EXTENSION,
18290 obj: *const ASN1_OBJECT,
18291 crit: ::core::ffi::c_int,
18292 data: *const ASN1_OCTET_STRING,
18293 ) -> *mut X509_EXTENSION;
18294}
18295unsafe extern "C" {
18296 pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
18297}
18298unsafe extern "C" {
18299 pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
18300}
18301unsafe extern "C" {
18302 pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
18303}
18304unsafe extern "C" {
18305 pub fn X509_EXTENSION_set_object(
18306 ex: *mut X509_EXTENSION,
18307 obj: *const ASN1_OBJECT,
18308 ) -> ::core::ffi::c_int;
18309}
18310unsafe extern "C" {
18311 pub fn X509_EXTENSION_set_critical(
18312 ex: *mut X509_EXTENSION,
18313 crit: ::core::ffi::c_int,
18314 ) -> ::core::ffi::c_int;
18315}
18316unsafe extern "C" {
18317 pub fn X509_EXTENSION_set_data(
18318 ex: *mut X509_EXTENSION,
18319 data: *const ASN1_OCTET_STRING,
18320 ) -> ::core::ffi::c_int;
18321}
18322pub type sk_X509_EXTENSION_free_func =
18323 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
18324pub type sk_X509_EXTENSION_copy_func = ::core::option::Option<
18325 unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION,
18326>;
18327pub type sk_X509_EXTENSION_cmp_func = ::core::option::Option<
18328 unsafe extern "C" fn(
18329 arg1: *const *const X509_EXTENSION,
18330 arg2: *const *const X509_EXTENSION,
18331 ) -> ::core::ffi::c_int,
18332>;
18333pub type sk_X509_EXTENSION_delete_if_func = ::core::option::Option<
18334 unsafe extern "C" fn(
18335 arg1: *mut X509_EXTENSION,
18336 arg2: *mut ::core::ffi::c_void,
18337 ) -> ::core::ffi::c_int,
18338>;
18339unsafe extern "C" {
18340 #[link_name = "sk_X509_EXTENSION_call_free_func__extern"]
18341 pub fn sk_X509_EXTENSION_call_free_func(
18342 free_func: OPENSSL_sk_free_func,
18343 ptr: *mut ::core::ffi::c_void,
18344 );
18345}
18346unsafe extern "C" {
18347 #[link_name = "sk_X509_EXTENSION_call_copy_func__extern"]
18348 pub fn sk_X509_EXTENSION_call_copy_func(
18349 copy_func: OPENSSL_sk_copy_func,
18350 ptr: *const ::core::ffi::c_void,
18351 ) -> *mut ::core::ffi::c_void;
18352}
18353unsafe extern "C" {
18354 #[link_name = "sk_X509_EXTENSION_call_cmp_func__extern"]
18355 pub fn sk_X509_EXTENSION_call_cmp_func(
18356 cmp_func: OPENSSL_sk_cmp_func,
18357 a: *const ::core::ffi::c_void,
18358 b: *const ::core::ffi::c_void,
18359 ) -> ::core::ffi::c_int;
18360}
18361unsafe extern "C" {
18362 #[link_name = "sk_X509_EXTENSION_call_delete_if_func__extern"]
18363 pub fn sk_X509_EXTENSION_call_delete_if_func(
18364 func: OPENSSL_sk_delete_if_func,
18365 obj: *mut ::core::ffi::c_void,
18366 data: *mut ::core::ffi::c_void,
18367 ) -> ::core::ffi::c_int;
18368}
18369unsafe extern "C" {
18370 #[link_name = "sk_X509_EXTENSION_new__extern"]
18371 pub fn sk_X509_EXTENSION_new(comp: sk_X509_EXTENSION_cmp_func) -> *mut stack_st_X509_EXTENSION;
18372}
18373unsafe extern "C" {
18374 #[link_name = "sk_X509_EXTENSION_new_null__extern"]
18375 pub fn sk_X509_EXTENSION_new_null() -> *mut stack_st_X509_EXTENSION;
18376}
18377unsafe extern "C" {
18378 #[link_name = "sk_X509_EXTENSION_num__extern"]
18379 pub fn sk_X509_EXTENSION_num(sk: *const stack_st_X509_EXTENSION) -> usize;
18380}
18381unsafe extern "C" {
18382 #[link_name = "sk_X509_EXTENSION_zero__extern"]
18383 pub fn sk_X509_EXTENSION_zero(sk: *mut stack_st_X509_EXTENSION);
18384}
18385unsafe extern "C" {
18386 #[link_name = "sk_X509_EXTENSION_value__extern"]
18387 pub fn sk_X509_EXTENSION_value(
18388 sk: *const stack_st_X509_EXTENSION,
18389 i: usize,
18390 ) -> *mut X509_EXTENSION;
18391}
18392unsafe extern "C" {
18393 #[link_name = "sk_X509_EXTENSION_set__extern"]
18394 pub fn sk_X509_EXTENSION_set(
18395 sk: *mut stack_st_X509_EXTENSION,
18396 i: usize,
18397 p: *mut X509_EXTENSION,
18398 ) -> *mut X509_EXTENSION;
18399}
18400unsafe extern "C" {
18401 #[link_name = "sk_X509_EXTENSION_free__extern"]
18402 pub fn sk_X509_EXTENSION_free(sk: *mut stack_st_X509_EXTENSION);
18403}
18404unsafe extern "C" {
18405 #[link_name = "sk_X509_EXTENSION_pop_free__extern"]
18406 pub fn sk_X509_EXTENSION_pop_free(
18407 sk: *mut stack_st_X509_EXTENSION,
18408 free_func: sk_X509_EXTENSION_free_func,
18409 );
18410}
18411unsafe extern "C" {
18412 #[link_name = "sk_X509_EXTENSION_insert__extern"]
18413 pub fn sk_X509_EXTENSION_insert(
18414 sk: *mut stack_st_X509_EXTENSION,
18415 p: *mut X509_EXTENSION,
18416 where_: usize,
18417 ) -> usize;
18418}
18419unsafe extern "C" {
18420 #[link_name = "sk_X509_EXTENSION_delete__extern"]
18421 pub fn sk_X509_EXTENSION_delete(
18422 sk: *mut stack_st_X509_EXTENSION,
18423 where_: usize,
18424 ) -> *mut X509_EXTENSION;
18425}
18426unsafe extern "C" {
18427 #[link_name = "sk_X509_EXTENSION_delete_ptr__extern"]
18428 pub fn sk_X509_EXTENSION_delete_ptr(
18429 sk: *mut stack_st_X509_EXTENSION,
18430 p: *const X509_EXTENSION,
18431 ) -> *mut X509_EXTENSION;
18432}
18433unsafe extern "C" {
18434 #[link_name = "sk_X509_EXTENSION_delete_if__extern"]
18435 pub fn sk_X509_EXTENSION_delete_if(
18436 sk: *mut stack_st_X509_EXTENSION,
18437 func: sk_X509_EXTENSION_delete_if_func,
18438 data: *mut ::core::ffi::c_void,
18439 );
18440}
18441unsafe extern "C" {
18442 #[link_name = "sk_X509_EXTENSION_find__extern"]
18443 pub fn sk_X509_EXTENSION_find(
18444 sk: *const stack_st_X509_EXTENSION,
18445 out_index: *mut usize,
18446 p: *const X509_EXTENSION,
18447 ) -> ::core::ffi::c_int;
18448}
18449unsafe extern "C" {
18450 #[link_name = "sk_X509_EXTENSION_shift__extern"]
18451 pub fn sk_X509_EXTENSION_shift(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18452}
18453unsafe extern "C" {
18454 #[link_name = "sk_X509_EXTENSION_push__extern"]
18455 pub fn sk_X509_EXTENSION_push(
18456 sk: *mut stack_st_X509_EXTENSION,
18457 p: *mut X509_EXTENSION,
18458 ) -> usize;
18459}
18460unsafe extern "C" {
18461 #[link_name = "sk_X509_EXTENSION_pop__extern"]
18462 pub fn sk_X509_EXTENSION_pop(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18463}
18464unsafe extern "C" {
18465 #[link_name = "sk_X509_EXTENSION_dup__extern"]
18466 pub fn sk_X509_EXTENSION_dup(
18467 sk: *const stack_st_X509_EXTENSION,
18468 ) -> *mut stack_st_X509_EXTENSION;
18469}
18470unsafe extern "C" {
18471 #[link_name = "sk_X509_EXTENSION_sort__extern"]
18472 pub fn sk_X509_EXTENSION_sort(sk: *mut stack_st_X509_EXTENSION);
18473}
18474unsafe extern "C" {
18475 #[link_name = "sk_X509_EXTENSION_sort_and_dedup__extern"]
18476 pub fn sk_X509_EXTENSION_sort_and_dedup(
18477 sk: *mut stack_st_X509_EXTENSION,
18478 free_func: sk_X509_EXTENSION_free_func,
18479 );
18480}
18481unsafe extern "C" {
18482 #[link_name = "sk_X509_EXTENSION_is_sorted__extern"]
18483 pub fn sk_X509_EXTENSION_is_sorted(sk: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18484}
18485unsafe extern "C" {
18486 #[link_name = "sk_X509_EXTENSION_set_cmp_func__extern"]
18487 pub fn sk_X509_EXTENSION_set_cmp_func(
18488 sk: *mut stack_st_X509_EXTENSION,
18489 comp: sk_X509_EXTENSION_cmp_func,
18490 ) -> sk_X509_EXTENSION_cmp_func;
18491}
18492unsafe extern "C" {
18493 #[link_name = "sk_X509_EXTENSION_deep_copy__extern"]
18494 pub fn sk_X509_EXTENSION_deep_copy(
18495 sk: *const stack_st_X509_EXTENSION,
18496 copy_func: sk_X509_EXTENSION_copy_func,
18497 free_func: sk_X509_EXTENSION_free_func,
18498 ) -> *mut stack_st_X509_EXTENSION;
18499}
18500pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
18501unsafe extern "C" {
18502 pub fn d2i_X509_EXTENSIONS(
18503 out: *mut *mut X509_EXTENSIONS,
18504 inp: *mut *const u8,
18505 len: ::core::ffi::c_long,
18506 ) -> *mut X509_EXTENSIONS;
18507}
18508unsafe extern "C" {
18509 pub fn i2d_X509_EXTENSIONS(
18510 alg: *const X509_EXTENSIONS,
18511 outp: *mut *mut u8,
18512 ) -> ::core::ffi::c_int;
18513}
18514unsafe extern "C" {
18515 pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18516}
18517unsafe extern "C" {
18518 pub fn X509v3_get_ext_by_NID(
18519 x: *const stack_st_X509_EXTENSION,
18520 nid: ::core::ffi::c_int,
18521 lastpos: ::core::ffi::c_int,
18522 ) -> ::core::ffi::c_int;
18523}
18524unsafe extern "C" {
18525 pub fn X509v3_get_ext_by_OBJ(
18526 x: *const stack_st_X509_EXTENSION,
18527 obj: *const ASN1_OBJECT,
18528 lastpos: ::core::ffi::c_int,
18529 ) -> ::core::ffi::c_int;
18530}
18531unsafe extern "C" {
18532 pub fn X509v3_get_ext_by_critical(
18533 x: *const stack_st_X509_EXTENSION,
18534 crit: ::core::ffi::c_int,
18535 lastpos: ::core::ffi::c_int,
18536 ) -> ::core::ffi::c_int;
18537}
18538unsafe extern "C" {
18539 pub fn X509v3_get_ext(
18540 x: *const stack_st_X509_EXTENSION,
18541 loc: ::core::ffi::c_int,
18542 ) -> *mut X509_EXTENSION;
18543}
18544unsafe extern "C" {
18545 pub fn X509v3_delete_ext(
18546 x: *mut stack_st_X509_EXTENSION,
18547 loc: ::core::ffi::c_int,
18548 ) -> *mut X509_EXTENSION;
18549}
18550unsafe extern "C" {
18551 pub fn X509v3_add_ext(
18552 x: *mut *mut stack_st_X509_EXTENSION,
18553 ex: *const X509_EXTENSION,
18554 loc: ::core::ffi::c_int,
18555 ) -> *mut stack_st_X509_EXTENSION;
18556}
18557unsafe extern "C" {
18558 pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::core::ffi::c_void;
18559}
18560unsafe extern "C" {
18561 pub fn X509V3_get_d2i(
18562 extensions: *const stack_st_X509_EXTENSION,
18563 nid: ::core::ffi::c_int,
18564 out_critical: *mut ::core::ffi::c_int,
18565 out_idx: *mut ::core::ffi::c_int,
18566 ) -> *mut ::core::ffi::c_void;
18567}
18568unsafe extern "C" {
18569 pub fn X509V3_EXT_free(
18570 nid: ::core::ffi::c_int,
18571 ext_data: *mut ::core::ffi::c_void,
18572 ) -> ::core::ffi::c_int;
18573}
18574unsafe extern "C" {
18575 pub fn X509V3_EXT_i2d(
18576 ext_nid: ::core::ffi::c_int,
18577 crit: ::core::ffi::c_int,
18578 ext_struc: *mut ::core::ffi::c_void,
18579 ) -> *mut X509_EXTENSION;
18580}
18581unsafe extern "C" {
18582 pub fn X509V3_add1_i2d(
18583 x: *mut *mut stack_st_X509_EXTENSION,
18584 nid: ::core::ffi::c_int,
18585 value: *mut ::core::ffi::c_void,
18586 crit: ::core::ffi::c_int,
18587 flags: ::core::ffi::c_ulong,
18588 ) -> ::core::ffi::c_int;
18589}
18590#[repr(C)]
18591#[derive(Debug, Copy, Clone)]
18592pub struct BASIC_CONSTRAINTS_st {
18593 pub ca: ASN1_BOOLEAN,
18594 pub pathlen: *mut ASN1_INTEGER,
18595}
18596unsafe extern "C" {
18597 pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
18598}
18599unsafe extern "C" {
18600 pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
18601}
18602unsafe extern "C" {
18603 pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
18604}
18605unsafe extern "C" {
18606 pub fn d2i_BASIC_CONSTRAINTS(
18607 out: *mut *mut BASIC_CONSTRAINTS,
18608 inp: *mut *const u8,
18609 len: ::core::ffi::c_long,
18610 ) -> *mut BASIC_CONSTRAINTS;
18611}
18612unsafe extern "C" {
18613 pub fn i2d_BASIC_CONSTRAINTS(
18614 bcons: *const BASIC_CONSTRAINTS,
18615 outp: *mut *mut u8,
18616 ) -> ::core::ffi::c_int;
18617}
18618pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
18619unsafe extern "C" {
18620 pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
18621}
18622unsafe extern "C" {
18623 pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
18624}
18625unsafe extern "C" {
18626 pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
18627}
18628unsafe extern "C" {
18629 pub fn d2i_EXTENDED_KEY_USAGE(
18630 out: *mut *mut EXTENDED_KEY_USAGE,
18631 inp: *mut *const u8,
18632 len: ::core::ffi::c_long,
18633 ) -> *mut EXTENDED_KEY_USAGE;
18634}
18635unsafe extern "C" {
18636 pub fn i2d_EXTENDED_KEY_USAGE(
18637 eku: *const EXTENDED_KEY_USAGE,
18638 outp: *mut *mut u8,
18639 ) -> ::core::ffi::c_int;
18640}
18641#[repr(C)]
18642#[derive(Debug, Copy, Clone)]
18643pub struct otherName_st {
18644 pub type_id: *mut ASN1_OBJECT,
18645 pub value: *mut ASN1_TYPE,
18646}
18647pub type OTHERNAME = otherName_st;
18648#[repr(C)]
18649#[derive(Debug, Copy, Clone)]
18650pub struct EDIPartyName_st {
18651 pub nameAssigner: *mut ASN1_STRING,
18652 pub partyName: *mut ASN1_STRING,
18653}
18654pub type EDIPARTYNAME = EDIPartyName_st;
18655#[repr(C)]
18656#[derive(Copy, Clone)]
18657pub struct GENERAL_NAME_st {
18658 pub type_: ::core::ffi::c_int,
18659 pub d: GENERAL_NAME_st__bindgen_ty_1,
18660}
18661#[repr(C)]
18662#[derive(Copy, Clone)]
18663pub union GENERAL_NAME_st__bindgen_ty_1 {
18664 pub ptr: *mut ::core::ffi::c_char,
18665 pub otherName: *mut OTHERNAME,
18666 pub rfc822Name: *mut ASN1_IA5STRING,
18667 pub dNSName: *mut ASN1_IA5STRING,
18668 pub x400Address: *mut ASN1_STRING,
18669 pub directoryName: *mut X509_NAME,
18670 pub ediPartyName: *mut EDIPARTYNAME,
18671 pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
18672 pub iPAddress: *mut ASN1_OCTET_STRING,
18673 pub registeredID: *mut ASN1_OBJECT,
18674 pub ip: *mut ASN1_OCTET_STRING,
18675 pub dirn: *mut X509_NAME,
18676 pub ia5: *mut ASN1_IA5STRING,
18677 pub rid: *mut ASN1_OBJECT,
18678}
18679unsafe extern "C" {
18680 pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
18681}
18682unsafe extern "C" {
18683 pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
18684}
18685unsafe extern "C" {
18686 pub fn d2i_GENERAL_NAME(
18687 out: *mut *mut GENERAL_NAME,
18688 inp: *mut *const u8,
18689 len: ::core::ffi::c_long,
18690 ) -> *mut GENERAL_NAME;
18691}
18692unsafe extern "C" {
18693 pub fn i2d_GENERAL_NAME(in_: *const GENERAL_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18694}
18695unsafe extern "C" {
18696 pub fn GENERAL_NAME_dup(gen_: *const GENERAL_NAME) -> *mut GENERAL_NAME;
18697}
18698unsafe extern "C" {
18699 pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
18700}
18701unsafe extern "C" {
18702 pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
18703}
18704unsafe extern "C" {
18705 pub fn d2i_GENERAL_NAMES(
18706 out: *mut *mut GENERAL_NAMES,
18707 inp: *mut *const u8,
18708 len: ::core::ffi::c_long,
18709 ) -> *mut GENERAL_NAMES;
18710}
18711unsafe extern "C" {
18712 pub fn i2d_GENERAL_NAMES(in_: *const GENERAL_NAMES, outp: *mut *mut u8) -> ::core::ffi::c_int;
18713}
18714unsafe extern "C" {
18715 pub fn OTHERNAME_new() -> *mut OTHERNAME;
18716}
18717unsafe extern "C" {
18718 pub fn OTHERNAME_free(name: *mut OTHERNAME);
18719}
18720unsafe extern "C" {
18721 pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
18722}
18723unsafe extern "C" {
18724 pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
18725}
18726unsafe extern "C" {
18727 pub fn GENERAL_NAME_set0_value(
18728 gen_: *mut GENERAL_NAME,
18729 type_: ::core::ffi::c_int,
18730 value: *mut ::core::ffi::c_void,
18731 );
18732}
18733unsafe extern "C" {
18734 pub fn GENERAL_NAME_get0_value(
18735 gen_: *const GENERAL_NAME,
18736 out_type: *mut ::core::ffi::c_int,
18737 ) -> *mut ::core::ffi::c_void;
18738}
18739unsafe extern "C" {
18740 pub fn GENERAL_NAME_set0_othername(
18741 gen_: *mut GENERAL_NAME,
18742 oid: *mut ASN1_OBJECT,
18743 value: *mut ASN1_TYPE,
18744 ) -> ::core::ffi::c_int;
18745}
18746unsafe extern "C" {
18747 pub fn GENERAL_NAME_get0_otherName(
18748 gen_: *const GENERAL_NAME,
18749 out_oid: *mut *mut ASN1_OBJECT,
18750 out_value: *mut *mut ASN1_TYPE,
18751 ) -> ::core::ffi::c_int;
18752}
18753#[repr(C)]
18754#[derive(Debug, Copy, Clone)]
18755pub struct AUTHORITY_KEYID_st {
18756 pub keyid: *mut ASN1_OCTET_STRING,
18757 pub issuer: *mut GENERAL_NAMES,
18758 pub serial: *mut ASN1_INTEGER,
18759}
18760unsafe extern "C" {
18761 pub static AUTHORITY_KEYID_it: ASN1_ITEM;
18762}
18763unsafe extern "C" {
18764 pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
18765}
18766unsafe extern "C" {
18767 pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
18768}
18769unsafe extern "C" {
18770 pub fn d2i_AUTHORITY_KEYID(
18771 out: *mut *mut AUTHORITY_KEYID,
18772 inp: *mut *const u8,
18773 len: ::core::ffi::c_long,
18774 ) -> *mut AUTHORITY_KEYID;
18775}
18776unsafe extern "C" {
18777 pub fn i2d_AUTHORITY_KEYID(
18778 akid: *const AUTHORITY_KEYID,
18779 outp: *mut *mut u8,
18780 ) -> ::core::ffi::c_int;
18781}
18782#[repr(C)]
18783#[derive(Debug, Copy, Clone)]
18784pub struct GENERAL_SUBTREE_st {
18785 pub base: *mut GENERAL_NAME,
18786 pub minimum: *mut ASN1_INTEGER,
18787 pub maximum: *mut ASN1_INTEGER,
18788}
18789pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
18790#[repr(C)]
18791#[derive(Debug)]
18792pub struct stack_st_GENERAL_SUBTREE {
18793 _unused: [u8; 0],
18794}
18795pub type sk_GENERAL_SUBTREE_free_func =
18796 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
18797pub type sk_GENERAL_SUBTREE_copy_func = ::core::option::Option<
18798 unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
18799>;
18800pub type sk_GENERAL_SUBTREE_cmp_func = ::core::option::Option<
18801 unsafe extern "C" fn(
18802 arg1: *const *const GENERAL_SUBTREE,
18803 arg2: *const *const GENERAL_SUBTREE,
18804 ) -> ::core::ffi::c_int,
18805>;
18806pub type sk_GENERAL_SUBTREE_delete_if_func = ::core::option::Option<
18807 unsafe extern "C" fn(
18808 arg1: *mut GENERAL_SUBTREE,
18809 arg2: *mut ::core::ffi::c_void,
18810 ) -> ::core::ffi::c_int,
18811>;
18812unsafe extern "C" {
18813 #[link_name = "sk_GENERAL_SUBTREE_call_free_func__extern"]
18814 pub fn sk_GENERAL_SUBTREE_call_free_func(
18815 free_func: OPENSSL_sk_free_func,
18816 ptr: *mut ::core::ffi::c_void,
18817 );
18818}
18819unsafe extern "C" {
18820 #[link_name = "sk_GENERAL_SUBTREE_call_copy_func__extern"]
18821 pub fn sk_GENERAL_SUBTREE_call_copy_func(
18822 copy_func: OPENSSL_sk_copy_func,
18823 ptr: *const ::core::ffi::c_void,
18824 ) -> *mut ::core::ffi::c_void;
18825}
18826unsafe extern "C" {
18827 #[link_name = "sk_GENERAL_SUBTREE_call_cmp_func__extern"]
18828 pub fn sk_GENERAL_SUBTREE_call_cmp_func(
18829 cmp_func: OPENSSL_sk_cmp_func,
18830 a: *const ::core::ffi::c_void,
18831 b: *const ::core::ffi::c_void,
18832 ) -> ::core::ffi::c_int;
18833}
18834unsafe extern "C" {
18835 #[link_name = "sk_GENERAL_SUBTREE_call_delete_if_func__extern"]
18836 pub fn sk_GENERAL_SUBTREE_call_delete_if_func(
18837 func: OPENSSL_sk_delete_if_func,
18838 obj: *mut ::core::ffi::c_void,
18839 data: *mut ::core::ffi::c_void,
18840 ) -> ::core::ffi::c_int;
18841}
18842unsafe extern "C" {
18843 #[link_name = "sk_GENERAL_SUBTREE_new__extern"]
18844 pub fn sk_GENERAL_SUBTREE_new(
18845 comp: sk_GENERAL_SUBTREE_cmp_func,
18846 ) -> *mut stack_st_GENERAL_SUBTREE;
18847}
18848unsafe extern "C" {
18849 #[link_name = "sk_GENERAL_SUBTREE_new_null__extern"]
18850 pub fn sk_GENERAL_SUBTREE_new_null() -> *mut stack_st_GENERAL_SUBTREE;
18851}
18852unsafe extern "C" {
18853 #[link_name = "sk_GENERAL_SUBTREE_num__extern"]
18854 pub fn sk_GENERAL_SUBTREE_num(sk: *const stack_st_GENERAL_SUBTREE) -> usize;
18855}
18856unsafe extern "C" {
18857 #[link_name = "sk_GENERAL_SUBTREE_zero__extern"]
18858 pub fn sk_GENERAL_SUBTREE_zero(sk: *mut stack_st_GENERAL_SUBTREE);
18859}
18860unsafe extern "C" {
18861 #[link_name = "sk_GENERAL_SUBTREE_value__extern"]
18862 pub fn sk_GENERAL_SUBTREE_value(
18863 sk: *const stack_st_GENERAL_SUBTREE,
18864 i: usize,
18865 ) -> *mut GENERAL_SUBTREE;
18866}
18867unsafe extern "C" {
18868 #[link_name = "sk_GENERAL_SUBTREE_set__extern"]
18869 pub fn sk_GENERAL_SUBTREE_set(
18870 sk: *mut stack_st_GENERAL_SUBTREE,
18871 i: usize,
18872 p: *mut GENERAL_SUBTREE,
18873 ) -> *mut GENERAL_SUBTREE;
18874}
18875unsafe extern "C" {
18876 #[link_name = "sk_GENERAL_SUBTREE_free__extern"]
18877 pub fn sk_GENERAL_SUBTREE_free(sk: *mut stack_st_GENERAL_SUBTREE);
18878}
18879unsafe extern "C" {
18880 #[link_name = "sk_GENERAL_SUBTREE_pop_free__extern"]
18881 pub fn sk_GENERAL_SUBTREE_pop_free(
18882 sk: *mut stack_st_GENERAL_SUBTREE,
18883 free_func: sk_GENERAL_SUBTREE_free_func,
18884 );
18885}
18886unsafe extern "C" {
18887 #[link_name = "sk_GENERAL_SUBTREE_insert__extern"]
18888 pub fn sk_GENERAL_SUBTREE_insert(
18889 sk: *mut stack_st_GENERAL_SUBTREE,
18890 p: *mut GENERAL_SUBTREE,
18891 where_: usize,
18892 ) -> usize;
18893}
18894unsafe extern "C" {
18895 #[link_name = "sk_GENERAL_SUBTREE_delete__extern"]
18896 pub fn sk_GENERAL_SUBTREE_delete(
18897 sk: *mut stack_st_GENERAL_SUBTREE,
18898 where_: usize,
18899 ) -> *mut GENERAL_SUBTREE;
18900}
18901unsafe extern "C" {
18902 #[link_name = "sk_GENERAL_SUBTREE_delete_ptr__extern"]
18903 pub fn sk_GENERAL_SUBTREE_delete_ptr(
18904 sk: *mut stack_st_GENERAL_SUBTREE,
18905 p: *const GENERAL_SUBTREE,
18906 ) -> *mut GENERAL_SUBTREE;
18907}
18908unsafe extern "C" {
18909 #[link_name = "sk_GENERAL_SUBTREE_delete_if__extern"]
18910 pub fn sk_GENERAL_SUBTREE_delete_if(
18911 sk: *mut stack_st_GENERAL_SUBTREE,
18912 func: sk_GENERAL_SUBTREE_delete_if_func,
18913 data: *mut ::core::ffi::c_void,
18914 );
18915}
18916unsafe extern "C" {
18917 #[link_name = "sk_GENERAL_SUBTREE_find__extern"]
18918 pub fn sk_GENERAL_SUBTREE_find(
18919 sk: *const stack_st_GENERAL_SUBTREE,
18920 out_index: *mut usize,
18921 p: *const GENERAL_SUBTREE,
18922 ) -> ::core::ffi::c_int;
18923}
18924unsafe extern "C" {
18925 #[link_name = "sk_GENERAL_SUBTREE_shift__extern"]
18926 pub fn sk_GENERAL_SUBTREE_shift(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
18927}
18928unsafe extern "C" {
18929 #[link_name = "sk_GENERAL_SUBTREE_push__extern"]
18930 pub fn sk_GENERAL_SUBTREE_push(
18931 sk: *mut stack_st_GENERAL_SUBTREE,
18932 p: *mut GENERAL_SUBTREE,
18933 ) -> usize;
18934}
18935unsafe extern "C" {
18936 #[link_name = "sk_GENERAL_SUBTREE_pop__extern"]
18937 pub fn sk_GENERAL_SUBTREE_pop(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
18938}
18939unsafe extern "C" {
18940 #[link_name = "sk_GENERAL_SUBTREE_dup__extern"]
18941 pub fn sk_GENERAL_SUBTREE_dup(
18942 sk: *const stack_st_GENERAL_SUBTREE,
18943 ) -> *mut stack_st_GENERAL_SUBTREE;
18944}
18945unsafe extern "C" {
18946 #[link_name = "sk_GENERAL_SUBTREE_sort__extern"]
18947 pub fn sk_GENERAL_SUBTREE_sort(sk: *mut stack_st_GENERAL_SUBTREE);
18948}
18949unsafe extern "C" {
18950 #[link_name = "sk_GENERAL_SUBTREE_sort_and_dedup__extern"]
18951 pub fn sk_GENERAL_SUBTREE_sort_and_dedup(
18952 sk: *mut stack_st_GENERAL_SUBTREE,
18953 free_func: sk_GENERAL_SUBTREE_free_func,
18954 );
18955}
18956unsafe extern "C" {
18957 #[link_name = "sk_GENERAL_SUBTREE_is_sorted__extern"]
18958 pub fn sk_GENERAL_SUBTREE_is_sorted(sk: *const stack_st_GENERAL_SUBTREE) -> ::core::ffi::c_int;
18959}
18960unsafe extern "C" {
18961 #[link_name = "sk_GENERAL_SUBTREE_set_cmp_func__extern"]
18962 pub fn sk_GENERAL_SUBTREE_set_cmp_func(
18963 sk: *mut stack_st_GENERAL_SUBTREE,
18964 comp: sk_GENERAL_SUBTREE_cmp_func,
18965 ) -> sk_GENERAL_SUBTREE_cmp_func;
18966}
18967unsafe extern "C" {
18968 #[link_name = "sk_GENERAL_SUBTREE_deep_copy__extern"]
18969 pub fn sk_GENERAL_SUBTREE_deep_copy(
18970 sk: *const stack_st_GENERAL_SUBTREE,
18971 copy_func: sk_GENERAL_SUBTREE_copy_func,
18972 free_func: sk_GENERAL_SUBTREE_free_func,
18973 ) -> *mut stack_st_GENERAL_SUBTREE;
18974}
18975unsafe extern "C" {
18976 pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
18977}
18978unsafe extern "C" {
18979 pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
18980}
18981#[repr(C)]
18982#[derive(Debug, Copy, Clone)]
18983pub struct NAME_CONSTRAINTS_st {
18984 pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
18985 pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
18986}
18987unsafe extern "C" {
18988 pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
18989}
18990unsafe extern "C" {
18991 pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
18992}
18993unsafe extern "C" {
18994 pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
18995}
18996#[repr(C)]
18997#[derive(Debug, Copy, Clone)]
18998pub struct ACCESS_DESCRIPTION_st {
18999 pub method: *mut ASN1_OBJECT,
19000 pub location: *mut GENERAL_NAME,
19001}
19002pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
19003#[repr(C)]
19004#[derive(Debug)]
19005pub struct stack_st_ACCESS_DESCRIPTION {
19006 _unused: [u8; 0],
19007}
19008pub type sk_ACCESS_DESCRIPTION_free_func =
19009 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
19010pub type sk_ACCESS_DESCRIPTION_copy_func = ::core::option::Option<
19011 unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
19012>;
19013pub type sk_ACCESS_DESCRIPTION_cmp_func = ::core::option::Option<
19014 unsafe extern "C" fn(
19015 arg1: *const *const ACCESS_DESCRIPTION,
19016 arg2: *const *const ACCESS_DESCRIPTION,
19017 ) -> ::core::ffi::c_int,
19018>;
19019pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::core::option::Option<
19020 unsafe extern "C" fn(
19021 arg1: *mut ACCESS_DESCRIPTION,
19022 arg2: *mut ::core::ffi::c_void,
19023 ) -> ::core::ffi::c_int,
19024>;
19025unsafe extern "C" {
19026 #[link_name = "sk_ACCESS_DESCRIPTION_call_free_func__extern"]
19027 pub fn sk_ACCESS_DESCRIPTION_call_free_func(
19028 free_func: OPENSSL_sk_free_func,
19029 ptr: *mut ::core::ffi::c_void,
19030 );
19031}
19032unsafe extern "C" {
19033 #[link_name = "sk_ACCESS_DESCRIPTION_call_copy_func__extern"]
19034 pub fn sk_ACCESS_DESCRIPTION_call_copy_func(
19035 copy_func: OPENSSL_sk_copy_func,
19036 ptr: *const ::core::ffi::c_void,
19037 ) -> *mut ::core::ffi::c_void;
19038}
19039unsafe extern "C" {
19040 #[link_name = "sk_ACCESS_DESCRIPTION_call_cmp_func__extern"]
19041 pub fn sk_ACCESS_DESCRIPTION_call_cmp_func(
19042 cmp_func: OPENSSL_sk_cmp_func,
19043 a: *const ::core::ffi::c_void,
19044 b: *const ::core::ffi::c_void,
19045 ) -> ::core::ffi::c_int;
19046}
19047unsafe extern "C" {
19048 #[link_name = "sk_ACCESS_DESCRIPTION_call_delete_if_func__extern"]
19049 pub fn sk_ACCESS_DESCRIPTION_call_delete_if_func(
19050 func: OPENSSL_sk_delete_if_func,
19051 obj: *mut ::core::ffi::c_void,
19052 data: *mut ::core::ffi::c_void,
19053 ) -> ::core::ffi::c_int;
19054}
19055unsafe extern "C" {
19056 #[link_name = "sk_ACCESS_DESCRIPTION_new__extern"]
19057 pub fn sk_ACCESS_DESCRIPTION_new(
19058 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19059 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19060}
19061unsafe extern "C" {
19062 #[link_name = "sk_ACCESS_DESCRIPTION_new_null__extern"]
19063 pub fn sk_ACCESS_DESCRIPTION_new_null() -> *mut stack_st_ACCESS_DESCRIPTION;
19064}
19065unsafe extern "C" {
19066 #[link_name = "sk_ACCESS_DESCRIPTION_num__extern"]
19067 pub fn sk_ACCESS_DESCRIPTION_num(sk: *const stack_st_ACCESS_DESCRIPTION) -> usize;
19068}
19069unsafe extern "C" {
19070 #[link_name = "sk_ACCESS_DESCRIPTION_zero__extern"]
19071 pub fn sk_ACCESS_DESCRIPTION_zero(sk: *mut stack_st_ACCESS_DESCRIPTION);
19072}
19073unsafe extern "C" {
19074 #[link_name = "sk_ACCESS_DESCRIPTION_value__extern"]
19075 pub fn sk_ACCESS_DESCRIPTION_value(
19076 sk: *const stack_st_ACCESS_DESCRIPTION,
19077 i: usize,
19078 ) -> *mut ACCESS_DESCRIPTION;
19079}
19080unsafe extern "C" {
19081 #[link_name = "sk_ACCESS_DESCRIPTION_set__extern"]
19082 pub fn sk_ACCESS_DESCRIPTION_set(
19083 sk: *mut stack_st_ACCESS_DESCRIPTION,
19084 i: usize,
19085 p: *mut ACCESS_DESCRIPTION,
19086 ) -> *mut ACCESS_DESCRIPTION;
19087}
19088unsafe extern "C" {
19089 #[link_name = "sk_ACCESS_DESCRIPTION_free__extern"]
19090 pub fn sk_ACCESS_DESCRIPTION_free(sk: *mut stack_st_ACCESS_DESCRIPTION);
19091}
19092unsafe extern "C" {
19093 #[link_name = "sk_ACCESS_DESCRIPTION_pop_free__extern"]
19094 pub fn sk_ACCESS_DESCRIPTION_pop_free(
19095 sk: *mut stack_st_ACCESS_DESCRIPTION,
19096 free_func: sk_ACCESS_DESCRIPTION_free_func,
19097 );
19098}
19099unsafe extern "C" {
19100 #[link_name = "sk_ACCESS_DESCRIPTION_insert__extern"]
19101 pub fn sk_ACCESS_DESCRIPTION_insert(
19102 sk: *mut stack_st_ACCESS_DESCRIPTION,
19103 p: *mut ACCESS_DESCRIPTION,
19104 where_: usize,
19105 ) -> usize;
19106}
19107unsafe extern "C" {
19108 #[link_name = "sk_ACCESS_DESCRIPTION_delete__extern"]
19109 pub fn sk_ACCESS_DESCRIPTION_delete(
19110 sk: *mut stack_st_ACCESS_DESCRIPTION,
19111 where_: usize,
19112 ) -> *mut ACCESS_DESCRIPTION;
19113}
19114unsafe extern "C" {
19115 #[link_name = "sk_ACCESS_DESCRIPTION_delete_ptr__extern"]
19116 pub fn sk_ACCESS_DESCRIPTION_delete_ptr(
19117 sk: *mut stack_st_ACCESS_DESCRIPTION,
19118 p: *const ACCESS_DESCRIPTION,
19119 ) -> *mut ACCESS_DESCRIPTION;
19120}
19121unsafe extern "C" {
19122 #[link_name = "sk_ACCESS_DESCRIPTION_delete_if__extern"]
19123 pub fn sk_ACCESS_DESCRIPTION_delete_if(
19124 sk: *mut stack_st_ACCESS_DESCRIPTION,
19125 func: sk_ACCESS_DESCRIPTION_delete_if_func,
19126 data: *mut ::core::ffi::c_void,
19127 );
19128}
19129unsafe extern "C" {
19130 #[link_name = "sk_ACCESS_DESCRIPTION_find__extern"]
19131 pub fn sk_ACCESS_DESCRIPTION_find(
19132 sk: *const stack_st_ACCESS_DESCRIPTION,
19133 out_index: *mut usize,
19134 p: *const ACCESS_DESCRIPTION,
19135 ) -> ::core::ffi::c_int;
19136}
19137unsafe extern "C" {
19138 #[link_name = "sk_ACCESS_DESCRIPTION_shift__extern"]
19139 pub fn sk_ACCESS_DESCRIPTION_shift(
19140 sk: *mut stack_st_ACCESS_DESCRIPTION,
19141 ) -> *mut ACCESS_DESCRIPTION;
19142}
19143unsafe extern "C" {
19144 #[link_name = "sk_ACCESS_DESCRIPTION_push__extern"]
19145 pub fn sk_ACCESS_DESCRIPTION_push(
19146 sk: *mut stack_st_ACCESS_DESCRIPTION,
19147 p: *mut ACCESS_DESCRIPTION,
19148 ) -> usize;
19149}
19150unsafe extern "C" {
19151 #[link_name = "sk_ACCESS_DESCRIPTION_pop__extern"]
19152 pub fn sk_ACCESS_DESCRIPTION_pop(
19153 sk: *mut stack_st_ACCESS_DESCRIPTION,
19154 ) -> *mut ACCESS_DESCRIPTION;
19155}
19156unsafe extern "C" {
19157 #[link_name = "sk_ACCESS_DESCRIPTION_dup__extern"]
19158 pub fn sk_ACCESS_DESCRIPTION_dup(
19159 sk: *const stack_st_ACCESS_DESCRIPTION,
19160 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19161}
19162unsafe extern "C" {
19163 #[link_name = "sk_ACCESS_DESCRIPTION_sort__extern"]
19164 pub fn sk_ACCESS_DESCRIPTION_sort(sk: *mut stack_st_ACCESS_DESCRIPTION);
19165}
19166unsafe extern "C" {
19167 #[link_name = "sk_ACCESS_DESCRIPTION_sort_and_dedup__extern"]
19168 pub fn sk_ACCESS_DESCRIPTION_sort_and_dedup(
19169 sk: *mut stack_st_ACCESS_DESCRIPTION,
19170 free_func: sk_ACCESS_DESCRIPTION_free_func,
19171 );
19172}
19173unsafe extern "C" {
19174 #[link_name = "sk_ACCESS_DESCRIPTION_is_sorted__extern"]
19175 pub fn sk_ACCESS_DESCRIPTION_is_sorted(
19176 sk: *const stack_st_ACCESS_DESCRIPTION,
19177 ) -> ::core::ffi::c_int;
19178}
19179unsafe extern "C" {
19180 #[link_name = "sk_ACCESS_DESCRIPTION_set_cmp_func__extern"]
19181 pub fn sk_ACCESS_DESCRIPTION_set_cmp_func(
19182 sk: *mut stack_st_ACCESS_DESCRIPTION,
19183 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19184 ) -> sk_ACCESS_DESCRIPTION_cmp_func;
19185}
19186unsafe extern "C" {
19187 #[link_name = "sk_ACCESS_DESCRIPTION_deep_copy__extern"]
19188 pub fn sk_ACCESS_DESCRIPTION_deep_copy(
19189 sk: *const stack_st_ACCESS_DESCRIPTION,
19190 copy_func: sk_ACCESS_DESCRIPTION_copy_func,
19191 free_func: sk_ACCESS_DESCRIPTION_free_func,
19192 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19193}
19194unsafe extern "C" {
19195 pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
19196}
19197unsafe extern "C" {
19198 pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
19199}
19200pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
19201unsafe extern "C" {
19202 pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
19203}
19204unsafe extern "C" {
19205 pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
19206}
19207unsafe extern "C" {
19208 pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
19209}
19210unsafe extern "C" {
19211 pub fn d2i_AUTHORITY_INFO_ACCESS(
19212 out: *mut *mut AUTHORITY_INFO_ACCESS,
19213 inp: *mut *const u8,
19214 len: ::core::ffi::c_long,
19215 ) -> *mut AUTHORITY_INFO_ACCESS;
19216}
19217unsafe extern "C" {
19218 pub fn i2d_AUTHORITY_INFO_ACCESS(
19219 aia: *const AUTHORITY_INFO_ACCESS,
19220 outp: *mut *mut u8,
19221 ) -> ::core::ffi::c_int;
19222}
19223#[repr(C)]
19224#[derive(Copy, Clone)]
19225pub struct DIST_POINT_NAME_st {
19226 pub type_: ::core::ffi::c_int,
19227 pub name: DIST_POINT_NAME_st__bindgen_ty_1,
19228 pub dpname: *mut X509_NAME,
19229}
19230#[repr(C)]
19231#[derive(Copy, Clone)]
19232pub union DIST_POINT_NAME_st__bindgen_ty_1 {
19233 pub fullname: *mut GENERAL_NAMES,
19234 pub relativename: *mut stack_st_X509_NAME_ENTRY,
19235}
19236pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
19237unsafe extern "C" {
19238 pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
19239}
19240unsafe extern "C" {
19241 pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
19242}
19243#[repr(C)]
19244#[derive(Debug, Copy, Clone)]
19245pub struct DIST_POINT_st {
19246 pub distpoint: *mut DIST_POINT_NAME,
19247 pub reasons: *mut ASN1_BIT_STRING,
19248 pub CRLissuer: *mut GENERAL_NAMES,
19249}
19250#[repr(C)]
19251#[derive(Debug)]
19252pub struct stack_st_DIST_POINT {
19253 _unused: [u8; 0],
19254}
19255pub type sk_DIST_POINT_free_func =
19256 ::core::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
19257pub type sk_DIST_POINT_copy_func =
19258 ::core::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
19259pub type sk_DIST_POINT_cmp_func = ::core::option::Option<
19260 unsafe extern "C" fn(
19261 arg1: *const *const DIST_POINT,
19262 arg2: *const *const DIST_POINT,
19263 ) -> ::core::ffi::c_int,
19264>;
19265pub type sk_DIST_POINT_delete_if_func = ::core::option::Option<
19266 unsafe extern "C" fn(
19267 arg1: *mut DIST_POINT,
19268 arg2: *mut ::core::ffi::c_void,
19269 ) -> ::core::ffi::c_int,
19270>;
19271unsafe extern "C" {
19272 #[link_name = "sk_DIST_POINT_call_free_func__extern"]
19273 pub fn sk_DIST_POINT_call_free_func(
19274 free_func: OPENSSL_sk_free_func,
19275 ptr: *mut ::core::ffi::c_void,
19276 );
19277}
19278unsafe extern "C" {
19279 #[link_name = "sk_DIST_POINT_call_copy_func__extern"]
19280 pub fn sk_DIST_POINT_call_copy_func(
19281 copy_func: OPENSSL_sk_copy_func,
19282 ptr: *const ::core::ffi::c_void,
19283 ) -> *mut ::core::ffi::c_void;
19284}
19285unsafe extern "C" {
19286 #[link_name = "sk_DIST_POINT_call_cmp_func__extern"]
19287 pub fn sk_DIST_POINT_call_cmp_func(
19288 cmp_func: OPENSSL_sk_cmp_func,
19289 a: *const ::core::ffi::c_void,
19290 b: *const ::core::ffi::c_void,
19291 ) -> ::core::ffi::c_int;
19292}
19293unsafe extern "C" {
19294 #[link_name = "sk_DIST_POINT_call_delete_if_func__extern"]
19295 pub fn sk_DIST_POINT_call_delete_if_func(
19296 func: OPENSSL_sk_delete_if_func,
19297 obj: *mut ::core::ffi::c_void,
19298 data: *mut ::core::ffi::c_void,
19299 ) -> ::core::ffi::c_int;
19300}
19301unsafe extern "C" {
19302 #[link_name = "sk_DIST_POINT_new__extern"]
19303 pub fn sk_DIST_POINT_new(comp: sk_DIST_POINT_cmp_func) -> *mut stack_st_DIST_POINT;
19304}
19305unsafe extern "C" {
19306 #[link_name = "sk_DIST_POINT_new_null__extern"]
19307 pub fn sk_DIST_POINT_new_null() -> *mut stack_st_DIST_POINT;
19308}
19309unsafe extern "C" {
19310 #[link_name = "sk_DIST_POINT_num__extern"]
19311 pub fn sk_DIST_POINT_num(sk: *const stack_st_DIST_POINT) -> usize;
19312}
19313unsafe extern "C" {
19314 #[link_name = "sk_DIST_POINT_zero__extern"]
19315 pub fn sk_DIST_POINT_zero(sk: *mut stack_st_DIST_POINT);
19316}
19317unsafe extern "C" {
19318 #[link_name = "sk_DIST_POINT_value__extern"]
19319 pub fn sk_DIST_POINT_value(sk: *const stack_st_DIST_POINT, i: usize) -> *mut DIST_POINT;
19320}
19321unsafe extern "C" {
19322 #[link_name = "sk_DIST_POINT_set__extern"]
19323 pub fn sk_DIST_POINT_set(
19324 sk: *mut stack_st_DIST_POINT,
19325 i: usize,
19326 p: *mut DIST_POINT,
19327 ) -> *mut DIST_POINT;
19328}
19329unsafe extern "C" {
19330 #[link_name = "sk_DIST_POINT_free__extern"]
19331 pub fn sk_DIST_POINT_free(sk: *mut stack_st_DIST_POINT);
19332}
19333unsafe extern "C" {
19334 #[link_name = "sk_DIST_POINT_pop_free__extern"]
19335 pub fn sk_DIST_POINT_pop_free(sk: *mut stack_st_DIST_POINT, free_func: sk_DIST_POINT_free_func);
19336}
19337unsafe extern "C" {
19338 #[link_name = "sk_DIST_POINT_insert__extern"]
19339 pub fn sk_DIST_POINT_insert(
19340 sk: *mut stack_st_DIST_POINT,
19341 p: *mut DIST_POINT,
19342 where_: usize,
19343 ) -> usize;
19344}
19345unsafe extern "C" {
19346 #[link_name = "sk_DIST_POINT_delete__extern"]
19347 pub fn sk_DIST_POINT_delete(sk: *mut stack_st_DIST_POINT, where_: usize) -> *mut DIST_POINT;
19348}
19349unsafe extern "C" {
19350 #[link_name = "sk_DIST_POINT_delete_ptr__extern"]
19351 pub fn sk_DIST_POINT_delete_ptr(
19352 sk: *mut stack_st_DIST_POINT,
19353 p: *const DIST_POINT,
19354 ) -> *mut DIST_POINT;
19355}
19356unsafe extern "C" {
19357 #[link_name = "sk_DIST_POINT_delete_if__extern"]
19358 pub fn sk_DIST_POINT_delete_if(
19359 sk: *mut stack_st_DIST_POINT,
19360 func: sk_DIST_POINT_delete_if_func,
19361 data: *mut ::core::ffi::c_void,
19362 );
19363}
19364unsafe extern "C" {
19365 #[link_name = "sk_DIST_POINT_find__extern"]
19366 pub fn sk_DIST_POINT_find(
19367 sk: *const stack_st_DIST_POINT,
19368 out_index: *mut usize,
19369 p: *const DIST_POINT,
19370 ) -> ::core::ffi::c_int;
19371}
19372unsafe extern "C" {
19373 #[link_name = "sk_DIST_POINT_shift__extern"]
19374 pub fn sk_DIST_POINT_shift(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19375}
19376unsafe extern "C" {
19377 #[link_name = "sk_DIST_POINT_push__extern"]
19378 pub fn sk_DIST_POINT_push(sk: *mut stack_st_DIST_POINT, p: *mut DIST_POINT) -> usize;
19379}
19380unsafe extern "C" {
19381 #[link_name = "sk_DIST_POINT_pop__extern"]
19382 pub fn sk_DIST_POINT_pop(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19383}
19384unsafe extern "C" {
19385 #[link_name = "sk_DIST_POINT_dup__extern"]
19386 pub fn sk_DIST_POINT_dup(sk: *const stack_st_DIST_POINT) -> *mut stack_st_DIST_POINT;
19387}
19388unsafe extern "C" {
19389 #[link_name = "sk_DIST_POINT_sort__extern"]
19390 pub fn sk_DIST_POINT_sort(sk: *mut stack_st_DIST_POINT);
19391}
19392unsafe extern "C" {
19393 #[link_name = "sk_DIST_POINT_sort_and_dedup__extern"]
19394 pub fn sk_DIST_POINT_sort_and_dedup(
19395 sk: *mut stack_st_DIST_POINT,
19396 free_func: sk_DIST_POINT_free_func,
19397 );
19398}
19399unsafe extern "C" {
19400 #[link_name = "sk_DIST_POINT_is_sorted__extern"]
19401 pub fn sk_DIST_POINT_is_sorted(sk: *const stack_st_DIST_POINT) -> ::core::ffi::c_int;
19402}
19403unsafe extern "C" {
19404 #[link_name = "sk_DIST_POINT_set_cmp_func__extern"]
19405 pub fn sk_DIST_POINT_set_cmp_func(
19406 sk: *mut stack_st_DIST_POINT,
19407 comp: sk_DIST_POINT_cmp_func,
19408 ) -> sk_DIST_POINT_cmp_func;
19409}
19410unsafe extern "C" {
19411 #[link_name = "sk_DIST_POINT_deep_copy__extern"]
19412 pub fn sk_DIST_POINT_deep_copy(
19413 sk: *const stack_st_DIST_POINT,
19414 copy_func: sk_DIST_POINT_copy_func,
19415 free_func: sk_DIST_POINT_free_func,
19416 ) -> *mut stack_st_DIST_POINT;
19417}
19418unsafe extern "C" {
19419 pub fn DIST_POINT_new() -> *mut DIST_POINT;
19420}
19421unsafe extern "C" {
19422 pub fn DIST_POINT_free(dp: *mut DIST_POINT);
19423}
19424pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
19425unsafe extern "C" {
19426 pub static CRL_DIST_POINTS_it: ASN1_ITEM;
19427}
19428unsafe extern "C" {
19429 pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
19430}
19431unsafe extern "C" {
19432 pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
19433}
19434unsafe extern "C" {
19435 pub fn d2i_CRL_DIST_POINTS(
19436 out: *mut *mut CRL_DIST_POINTS,
19437 inp: *mut *const u8,
19438 len: ::core::ffi::c_long,
19439 ) -> *mut CRL_DIST_POINTS;
19440}
19441unsafe extern "C" {
19442 pub fn i2d_CRL_DIST_POINTS(
19443 crldp: *const CRL_DIST_POINTS,
19444 outp: *mut *mut u8,
19445 ) -> ::core::ffi::c_int;
19446}
19447#[repr(C)]
19448#[derive(Debug, Copy, Clone)]
19449pub struct ISSUING_DIST_POINT_st {
19450 pub distpoint: *mut DIST_POINT_NAME,
19451 pub onlyuser: ASN1_BOOLEAN,
19452 pub onlyCA: ASN1_BOOLEAN,
19453 pub onlysomereasons: *mut ASN1_BIT_STRING,
19454 pub indirectCRL: ASN1_BOOLEAN,
19455 pub onlyattr: ASN1_BOOLEAN,
19456}
19457unsafe extern "C" {
19458 pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
19459}
19460unsafe extern "C" {
19461 pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
19462}
19463unsafe extern "C" {
19464 pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
19465}
19466unsafe extern "C" {
19467 pub fn d2i_ISSUING_DIST_POINT(
19468 out: *mut *mut ISSUING_DIST_POINT,
19469 inp: *mut *const u8,
19470 len: ::core::ffi::c_long,
19471 ) -> *mut ISSUING_DIST_POINT;
19472}
19473unsafe extern "C" {
19474 pub fn i2d_ISSUING_DIST_POINT(
19475 idp: *const ISSUING_DIST_POINT,
19476 outp: *mut *mut u8,
19477 ) -> ::core::ffi::c_int;
19478}
19479#[repr(C)]
19480#[derive(Debug, Copy, Clone)]
19481pub struct NOTICEREF_st {
19482 pub organization: *mut ASN1_STRING,
19483 pub noticenos: *mut stack_st_ASN1_INTEGER,
19484}
19485pub type NOTICEREF = NOTICEREF_st;
19486unsafe extern "C" {
19487 pub fn NOTICEREF_new() -> *mut NOTICEREF;
19488}
19489unsafe extern "C" {
19490 pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
19491}
19492#[repr(C)]
19493#[derive(Debug, Copy, Clone)]
19494pub struct USERNOTICE_st {
19495 pub noticeref: *mut NOTICEREF,
19496 pub exptext: *mut ASN1_STRING,
19497}
19498pub type USERNOTICE = USERNOTICE_st;
19499unsafe extern "C" {
19500 pub fn USERNOTICE_new() -> *mut USERNOTICE;
19501}
19502unsafe extern "C" {
19503 pub fn USERNOTICE_free(notice: *mut USERNOTICE);
19504}
19505#[repr(C)]
19506#[derive(Copy, Clone)]
19507pub struct POLICYQUALINFO_st {
19508 pub pqualid: *mut ASN1_OBJECT,
19509 pub d: POLICYQUALINFO_st__bindgen_ty_1,
19510}
19511#[repr(C)]
19512#[derive(Copy, Clone)]
19513pub union POLICYQUALINFO_st__bindgen_ty_1 {
19514 pub cpsuri: *mut ASN1_IA5STRING,
19515 pub usernotice: *mut USERNOTICE,
19516 pub other: *mut ASN1_TYPE,
19517}
19518pub type POLICYQUALINFO = POLICYQUALINFO_st;
19519#[repr(C)]
19520#[derive(Debug)]
19521pub struct stack_st_POLICYQUALINFO {
19522 _unused: [u8; 0],
19523}
19524pub type sk_POLICYQUALINFO_free_func =
19525 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
19526pub type sk_POLICYQUALINFO_copy_func = ::core::option::Option<
19527 unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO,
19528>;
19529pub type sk_POLICYQUALINFO_cmp_func = ::core::option::Option<
19530 unsafe extern "C" fn(
19531 arg1: *const *const POLICYQUALINFO,
19532 arg2: *const *const POLICYQUALINFO,
19533 ) -> ::core::ffi::c_int,
19534>;
19535pub type sk_POLICYQUALINFO_delete_if_func = ::core::option::Option<
19536 unsafe extern "C" fn(
19537 arg1: *mut POLICYQUALINFO,
19538 arg2: *mut ::core::ffi::c_void,
19539 ) -> ::core::ffi::c_int,
19540>;
19541unsafe extern "C" {
19542 #[link_name = "sk_POLICYQUALINFO_call_free_func__extern"]
19543 pub fn sk_POLICYQUALINFO_call_free_func(
19544 free_func: OPENSSL_sk_free_func,
19545 ptr: *mut ::core::ffi::c_void,
19546 );
19547}
19548unsafe extern "C" {
19549 #[link_name = "sk_POLICYQUALINFO_call_copy_func__extern"]
19550 pub fn sk_POLICYQUALINFO_call_copy_func(
19551 copy_func: OPENSSL_sk_copy_func,
19552 ptr: *const ::core::ffi::c_void,
19553 ) -> *mut ::core::ffi::c_void;
19554}
19555unsafe extern "C" {
19556 #[link_name = "sk_POLICYQUALINFO_call_cmp_func__extern"]
19557 pub fn sk_POLICYQUALINFO_call_cmp_func(
19558 cmp_func: OPENSSL_sk_cmp_func,
19559 a: *const ::core::ffi::c_void,
19560 b: *const ::core::ffi::c_void,
19561 ) -> ::core::ffi::c_int;
19562}
19563unsafe extern "C" {
19564 #[link_name = "sk_POLICYQUALINFO_call_delete_if_func__extern"]
19565 pub fn sk_POLICYQUALINFO_call_delete_if_func(
19566 func: OPENSSL_sk_delete_if_func,
19567 obj: *mut ::core::ffi::c_void,
19568 data: *mut ::core::ffi::c_void,
19569 ) -> ::core::ffi::c_int;
19570}
19571unsafe extern "C" {
19572 #[link_name = "sk_POLICYQUALINFO_new__extern"]
19573 pub fn sk_POLICYQUALINFO_new(comp: sk_POLICYQUALINFO_cmp_func) -> *mut stack_st_POLICYQUALINFO;
19574}
19575unsafe extern "C" {
19576 #[link_name = "sk_POLICYQUALINFO_new_null__extern"]
19577 pub fn sk_POLICYQUALINFO_new_null() -> *mut stack_st_POLICYQUALINFO;
19578}
19579unsafe extern "C" {
19580 #[link_name = "sk_POLICYQUALINFO_num__extern"]
19581 pub fn sk_POLICYQUALINFO_num(sk: *const stack_st_POLICYQUALINFO) -> usize;
19582}
19583unsafe extern "C" {
19584 #[link_name = "sk_POLICYQUALINFO_zero__extern"]
19585 pub fn sk_POLICYQUALINFO_zero(sk: *mut stack_st_POLICYQUALINFO);
19586}
19587unsafe extern "C" {
19588 #[link_name = "sk_POLICYQUALINFO_value__extern"]
19589 pub fn sk_POLICYQUALINFO_value(
19590 sk: *const stack_st_POLICYQUALINFO,
19591 i: usize,
19592 ) -> *mut POLICYQUALINFO;
19593}
19594unsafe extern "C" {
19595 #[link_name = "sk_POLICYQUALINFO_set__extern"]
19596 pub fn sk_POLICYQUALINFO_set(
19597 sk: *mut stack_st_POLICYQUALINFO,
19598 i: usize,
19599 p: *mut POLICYQUALINFO,
19600 ) -> *mut POLICYQUALINFO;
19601}
19602unsafe extern "C" {
19603 #[link_name = "sk_POLICYQUALINFO_free__extern"]
19604 pub fn sk_POLICYQUALINFO_free(sk: *mut stack_st_POLICYQUALINFO);
19605}
19606unsafe extern "C" {
19607 #[link_name = "sk_POLICYQUALINFO_pop_free__extern"]
19608 pub fn sk_POLICYQUALINFO_pop_free(
19609 sk: *mut stack_st_POLICYQUALINFO,
19610 free_func: sk_POLICYQUALINFO_free_func,
19611 );
19612}
19613unsafe extern "C" {
19614 #[link_name = "sk_POLICYQUALINFO_insert__extern"]
19615 pub fn sk_POLICYQUALINFO_insert(
19616 sk: *mut stack_st_POLICYQUALINFO,
19617 p: *mut POLICYQUALINFO,
19618 where_: usize,
19619 ) -> usize;
19620}
19621unsafe extern "C" {
19622 #[link_name = "sk_POLICYQUALINFO_delete__extern"]
19623 pub fn sk_POLICYQUALINFO_delete(
19624 sk: *mut stack_st_POLICYQUALINFO,
19625 where_: usize,
19626 ) -> *mut POLICYQUALINFO;
19627}
19628unsafe extern "C" {
19629 #[link_name = "sk_POLICYQUALINFO_delete_ptr__extern"]
19630 pub fn sk_POLICYQUALINFO_delete_ptr(
19631 sk: *mut stack_st_POLICYQUALINFO,
19632 p: *const POLICYQUALINFO,
19633 ) -> *mut POLICYQUALINFO;
19634}
19635unsafe extern "C" {
19636 #[link_name = "sk_POLICYQUALINFO_delete_if__extern"]
19637 pub fn sk_POLICYQUALINFO_delete_if(
19638 sk: *mut stack_st_POLICYQUALINFO,
19639 func: sk_POLICYQUALINFO_delete_if_func,
19640 data: *mut ::core::ffi::c_void,
19641 );
19642}
19643unsafe extern "C" {
19644 #[link_name = "sk_POLICYQUALINFO_find__extern"]
19645 pub fn sk_POLICYQUALINFO_find(
19646 sk: *const stack_st_POLICYQUALINFO,
19647 out_index: *mut usize,
19648 p: *const POLICYQUALINFO,
19649 ) -> ::core::ffi::c_int;
19650}
19651unsafe extern "C" {
19652 #[link_name = "sk_POLICYQUALINFO_shift__extern"]
19653 pub fn sk_POLICYQUALINFO_shift(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19654}
19655unsafe extern "C" {
19656 #[link_name = "sk_POLICYQUALINFO_push__extern"]
19657 pub fn sk_POLICYQUALINFO_push(
19658 sk: *mut stack_st_POLICYQUALINFO,
19659 p: *mut POLICYQUALINFO,
19660 ) -> usize;
19661}
19662unsafe extern "C" {
19663 #[link_name = "sk_POLICYQUALINFO_pop__extern"]
19664 pub fn sk_POLICYQUALINFO_pop(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19665}
19666unsafe extern "C" {
19667 #[link_name = "sk_POLICYQUALINFO_dup__extern"]
19668 pub fn sk_POLICYQUALINFO_dup(
19669 sk: *const stack_st_POLICYQUALINFO,
19670 ) -> *mut stack_st_POLICYQUALINFO;
19671}
19672unsafe extern "C" {
19673 #[link_name = "sk_POLICYQUALINFO_sort__extern"]
19674 pub fn sk_POLICYQUALINFO_sort(sk: *mut stack_st_POLICYQUALINFO);
19675}
19676unsafe extern "C" {
19677 #[link_name = "sk_POLICYQUALINFO_sort_and_dedup__extern"]
19678 pub fn sk_POLICYQUALINFO_sort_and_dedup(
19679 sk: *mut stack_st_POLICYQUALINFO,
19680 free_func: sk_POLICYQUALINFO_free_func,
19681 );
19682}
19683unsafe extern "C" {
19684 #[link_name = "sk_POLICYQUALINFO_is_sorted__extern"]
19685 pub fn sk_POLICYQUALINFO_is_sorted(sk: *const stack_st_POLICYQUALINFO) -> ::core::ffi::c_int;
19686}
19687unsafe extern "C" {
19688 #[link_name = "sk_POLICYQUALINFO_set_cmp_func__extern"]
19689 pub fn sk_POLICYQUALINFO_set_cmp_func(
19690 sk: *mut stack_st_POLICYQUALINFO,
19691 comp: sk_POLICYQUALINFO_cmp_func,
19692 ) -> sk_POLICYQUALINFO_cmp_func;
19693}
19694unsafe extern "C" {
19695 #[link_name = "sk_POLICYQUALINFO_deep_copy__extern"]
19696 pub fn sk_POLICYQUALINFO_deep_copy(
19697 sk: *const stack_st_POLICYQUALINFO,
19698 copy_func: sk_POLICYQUALINFO_copy_func,
19699 free_func: sk_POLICYQUALINFO_free_func,
19700 ) -> *mut stack_st_POLICYQUALINFO;
19701}
19702unsafe extern "C" {
19703 pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
19704}
19705unsafe extern "C" {
19706 pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
19707}
19708#[repr(C)]
19709#[derive(Debug, Copy, Clone)]
19710pub struct POLICYINFO_st {
19711 pub policyid: *mut ASN1_OBJECT,
19712 pub qualifiers: *mut stack_st_POLICYQUALINFO,
19713}
19714pub type POLICYINFO = POLICYINFO_st;
19715#[repr(C)]
19716#[derive(Debug)]
19717pub struct stack_st_POLICYINFO {
19718 _unused: [u8; 0],
19719}
19720pub type sk_POLICYINFO_free_func =
19721 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
19722pub type sk_POLICYINFO_copy_func =
19723 ::core::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
19724pub type sk_POLICYINFO_cmp_func = ::core::option::Option<
19725 unsafe extern "C" fn(
19726 arg1: *const *const POLICYINFO,
19727 arg2: *const *const POLICYINFO,
19728 ) -> ::core::ffi::c_int,
19729>;
19730pub type sk_POLICYINFO_delete_if_func = ::core::option::Option<
19731 unsafe extern "C" fn(
19732 arg1: *mut POLICYINFO,
19733 arg2: *mut ::core::ffi::c_void,
19734 ) -> ::core::ffi::c_int,
19735>;
19736unsafe extern "C" {
19737 #[link_name = "sk_POLICYINFO_call_free_func__extern"]
19738 pub fn sk_POLICYINFO_call_free_func(
19739 free_func: OPENSSL_sk_free_func,
19740 ptr: *mut ::core::ffi::c_void,
19741 );
19742}
19743unsafe extern "C" {
19744 #[link_name = "sk_POLICYINFO_call_copy_func__extern"]
19745 pub fn sk_POLICYINFO_call_copy_func(
19746 copy_func: OPENSSL_sk_copy_func,
19747 ptr: *const ::core::ffi::c_void,
19748 ) -> *mut ::core::ffi::c_void;
19749}
19750unsafe extern "C" {
19751 #[link_name = "sk_POLICYINFO_call_cmp_func__extern"]
19752 pub fn sk_POLICYINFO_call_cmp_func(
19753 cmp_func: OPENSSL_sk_cmp_func,
19754 a: *const ::core::ffi::c_void,
19755 b: *const ::core::ffi::c_void,
19756 ) -> ::core::ffi::c_int;
19757}
19758unsafe extern "C" {
19759 #[link_name = "sk_POLICYINFO_call_delete_if_func__extern"]
19760 pub fn sk_POLICYINFO_call_delete_if_func(
19761 func: OPENSSL_sk_delete_if_func,
19762 obj: *mut ::core::ffi::c_void,
19763 data: *mut ::core::ffi::c_void,
19764 ) -> ::core::ffi::c_int;
19765}
19766unsafe extern "C" {
19767 #[link_name = "sk_POLICYINFO_new__extern"]
19768 pub fn sk_POLICYINFO_new(comp: sk_POLICYINFO_cmp_func) -> *mut stack_st_POLICYINFO;
19769}
19770unsafe extern "C" {
19771 #[link_name = "sk_POLICYINFO_new_null__extern"]
19772 pub fn sk_POLICYINFO_new_null() -> *mut stack_st_POLICYINFO;
19773}
19774unsafe extern "C" {
19775 #[link_name = "sk_POLICYINFO_num__extern"]
19776 pub fn sk_POLICYINFO_num(sk: *const stack_st_POLICYINFO) -> usize;
19777}
19778unsafe extern "C" {
19779 #[link_name = "sk_POLICYINFO_zero__extern"]
19780 pub fn sk_POLICYINFO_zero(sk: *mut stack_st_POLICYINFO);
19781}
19782unsafe extern "C" {
19783 #[link_name = "sk_POLICYINFO_value__extern"]
19784 pub fn sk_POLICYINFO_value(sk: *const stack_st_POLICYINFO, i: usize) -> *mut POLICYINFO;
19785}
19786unsafe extern "C" {
19787 #[link_name = "sk_POLICYINFO_set__extern"]
19788 pub fn sk_POLICYINFO_set(
19789 sk: *mut stack_st_POLICYINFO,
19790 i: usize,
19791 p: *mut POLICYINFO,
19792 ) -> *mut POLICYINFO;
19793}
19794unsafe extern "C" {
19795 #[link_name = "sk_POLICYINFO_free__extern"]
19796 pub fn sk_POLICYINFO_free(sk: *mut stack_st_POLICYINFO);
19797}
19798unsafe extern "C" {
19799 #[link_name = "sk_POLICYINFO_pop_free__extern"]
19800 pub fn sk_POLICYINFO_pop_free(sk: *mut stack_st_POLICYINFO, free_func: sk_POLICYINFO_free_func);
19801}
19802unsafe extern "C" {
19803 #[link_name = "sk_POLICYINFO_insert__extern"]
19804 pub fn sk_POLICYINFO_insert(
19805 sk: *mut stack_st_POLICYINFO,
19806 p: *mut POLICYINFO,
19807 where_: usize,
19808 ) -> usize;
19809}
19810unsafe extern "C" {
19811 #[link_name = "sk_POLICYINFO_delete__extern"]
19812 pub fn sk_POLICYINFO_delete(sk: *mut stack_st_POLICYINFO, where_: usize) -> *mut POLICYINFO;
19813}
19814unsafe extern "C" {
19815 #[link_name = "sk_POLICYINFO_delete_ptr__extern"]
19816 pub fn sk_POLICYINFO_delete_ptr(
19817 sk: *mut stack_st_POLICYINFO,
19818 p: *const POLICYINFO,
19819 ) -> *mut POLICYINFO;
19820}
19821unsafe extern "C" {
19822 #[link_name = "sk_POLICYINFO_delete_if__extern"]
19823 pub fn sk_POLICYINFO_delete_if(
19824 sk: *mut stack_st_POLICYINFO,
19825 func: sk_POLICYINFO_delete_if_func,
19826 data: *mut ::core::ffi::c_void,
19827 );
19828}
19829unsafe extern "C" {
19830 #[link_name = "sk_POLICYINFO_find__extern"]
19831 pub fn sk_POLICYINFO_find(
19832 sk: *const stack_st_POLICYINFO,
19833 out_index: *mut usize,
19834 p: *const POLICYINFO,
19835 ) -> ::core::ffi::c_int;
19836}
19837unsafe extern "C" {
19838 #[link_name = "sk_POLICYINFO_shift__extern"]
19839 pub fn sk_POLICYINFO_shift(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
19840}
19841unsafe extern "C" {
19842 #[link_name = "sk_POLICYINFO_push__extern"]
19843 pub fn sk_POLICYINFO_push(sk: *mut stack_st_POLICYINFO, p: *mut POLICYINFO) -> usize;
19844}
19845unsafe extern "C" {
19846 #[link_name = "sk_POLICYINFO_pop__extern"]
19847 pub fn sk_POLICYINFO_pop(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
19848}
19849unsafe extern "C" {
19850 #[link_name = "sk_POLICYINFO_dup__extern"]
19851 pub fn sk_POLICYINFO_dup(sk: *const stack_st_POLICYINFO) -> *mut stack_st_POLICYINFO;
19852}
19853unsafe extern "C" {
19854 #[link_name = "sk_POLICYINFO_sort__extern"]
19855 pub fn sk_POLICYINFO_sort(sk: *mut stack_st_POLICYINFO);
19856}
19857unsafe extern "C" {
19858 #[link_name = "sk_POLICYINFO_sort_and_dedup__extern"]
19859 pub fn sk_POLICYINFO_sort_and_dedup(
19860 sk: *mut stack_st_POLICYINFO,
19861 free_func: sk_POLICYINFO_free_func,
19862 );
19863}
19864unsafe extern "C" {
19865 #[link_name = "sk_POLICYINFO_is_sorted__extern"]
19866 pub fn sk_POLICYINFO_is_sorted(sk: *const stack_st_POLICYINFO) -> ::core::ffi::c_int;
19867}
19868unsafe extern "C" {
19869 #[link_name = "sk_POLICYINFO_set_cmp_func__extern"]
19870 pub fn sk_POLICYINFO_set_cmp_func(
19871 sk: *mut stack_st_POLICYINFO,
19872 comp: sk_POLICYINFO_cmp_func,
19873 ) -> sk_POLICYINFO_cmp_func;
19874}
19875unsafe extern "C" {
19876 #[link_name = "sk_POLICYINFO_deep_copy__extern"]
19877 pub fn sk_POLICYINFO_deep_copy(
19878 sk: *const stack_st_POLICYINFO,
19879 copy_func: sk_POLICYINFO_copy_func,
19880 free_func: sk_POLICYINFO_free_func,
19881 ) -> *mut stack_st_POLICYINFO;
19882}
19883unsafe extern "C" {
19884 pub fn POLICYINFO_new() -> *mut POLICYINFO;
19885}
19886unsafe extern "C" {
19887 pub fn POLICYINFO_free(info: *mut POLICYINFO);
19888}
19889pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
19890unsafe extern "C" {
19891 pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
19892}
19893unsafe extern "C" {
19894 pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
19895}
19896unsafe extern "C" {
19897 pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
19898}
19899unsafe extern "C" {
19900 pub fn d2i_CERTIFICATEPOLICIES(
19901 out: *mut *mut CERTIFICATEPOLICIES,
19902 inp: *mut *const u8,
19903 len: ::core::ffi::c_long,
19904 ) -> *mut CERTIFICATEPOLICIES;
19905}
19906unsafe extern "C" {
19907 pub fn i2d_CERTIFICATEPOLICIES(
19908 policies: *const CERTIFICATEPOLICIES,
19909 outp: *mut *mut u8,
19910 ) -> ::core::ffi::c_int;
19911}
19912#[repr(C)]
19913#[derive(Debug, Copy, Clone)]
19914pub struct POLICY_MAPPING_st {
19915 pub issuerDomainPolicy: *mut ASN1_OBJECT,
19916 pub subjectDomainPolicy: *mut ASN1_OBJECT,
19917}
19918pub type POLICY_MAPPING = POLICY_MAPPING_st;
19919#[repr(C)]
19920#[derive(Debug)]
19921pub struct stack_st_POLICY_MAPPING {
19922 _unused: [u8; 0],
19923}
19924pub type sk_POLICY_MAPPING_free_func =
19925 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
19926pub type sk_POLICY_MAPPING_copy_func = ::core::option::Option<
19927 unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING,
19928>;
19929pub type sk_POLICY_MAPPING_cmp_func = ::core::option::Option<
19930 unsafe extern "C" fn(
19931 arg1: *const *const POLICY_MAPPING,
19932 arg2: *const *const POLICY_MAPPING,
19933 ) -> ::core::ffi::c_int,
19934>;
19935pub type sk_POLICY_MAPPING_delete_if_func = ::core::option::Option<
19936 unsafe extern "C" fn(
19937 arg1: *mut POLICY_MAPPING,
19938 arg2: *mut ::core::ffi::c_void,
19939 ) -> ::core::ffi::c_int,
19940>;
19941unsafe extern "C" {
19942 #[link_name = "sk_POLICY_MAPPING_call_free_func__extern"]
19943 pub fn sk_POLICY_MAPPING_call_free_func(
19944 free_func: OPENSSL_sk_free_func,
19945 ptr: *mut ::core::ffi::c_void,
19946 );
19947}
19948unsafe extern "C" {
19949 #[link_name = "sk_POLICY_MAPPING_call_copy_func__extern"]
19950 pub fn sk_POLICY_MAPPING_call_copy_func(
19951 copy_func: OPENSSL_sk_copy_func,
19952 ptr: *const ::core::ffi::c_void,
19953 ) -> *mut ::core::ffi::c_void;
19954}
19955unsafe extern "C" {
19956 #[link_name = "sk_POLICY_MAPPING_call_cmp_func__extern"]
19957 pub fn sk_POLICY_MAPPING_call_cmp_func(
19958 cmp_func: OPENSSL_sk_cmp_func,
19959 a: *const ::core::ffi::c_void,
19960 b: *const ::core::ffi::c_void,
19961 ) -> ::core::ffi::c_int;
19962}
19963unsafe extern "C" {
19964 #[link_name = "sk_POLICY_MAPPING_call_delete_if_func__extern"]
19965 pub fn sk_POLICY_MAPPING_call_delete_if_func(
19966 func: OPENSSL_sk_delete_if_func,
19967 obj: *mut ::core::ffi::c_void,
19968 data: *mut ::core::ffi::c_void,
19969 ) -> ::core::ffi::c_int;
19970}
19971unsafe extern "C" {
19972 #[link_name = "sk_POLICY_MAPPING_new__extern"]
19973 pub fn sk_POLICY_MAPPING_new(comp: sk_POLICY_MAPPING_cmp_func) -> *mut stack_st_POLICY_MAPPING;
19974}
19975unsafe extern "C" {
19976 #[link_name = "sk_POLICY_MAPPING_new_null__extern"]
19977 pub fn sk_POLICY_MAPPING_new_null() -> *mut stack_st_POLICY_MAPPING;
19978}
19979unsafe extern "C" {
19980 #[link_name = "sk_POLICY_MAPPING_num__extern"]
19981 pub fn sk_POLICY_MAPPING_num(sk: *const stack_st_POLICY_MAPPING) -> usize;
19982}
19983unsafe extern "C" {
19984 #[link_name = "sk_POLICY_MAPPING_zero__extern"]
19985 pub fn sk_POLICY_MAPPING_zero(sk: *mut stack_st_POLICY_MAPPING);
19986}
19987unsafe extern "C" {
19988 #[link_name = "sk_POLICY_MAPPING_value__extern"]
19989 pub fn sk_POLICY_MAPPING_value(
19990 sk: *const stack_st_POLICY_MAPPING,
19991 i: usize,
19992 ) -> *mut POLICY_MAPPING;
19993}
19994unsafe extern "C" {
19995 #[link_name = "sk_POLICY_MAPPING_set__extern"]
19996 pub fn sk_POLICY_MAPPING_set(
19997 sk: *mut stack_st_POLICY_MAPPING,
19998 i: usize,
19999 p: *mut POLICY_MAPPING,
20000 ) -> *mut POLICY_MAPPING;
20001}
20002unsafe extern "C" {
20003 #[link_name = "sk_POLICY_MAPPING_free__extern"]
20004 pub fn sk_POLICY_MAPPING_free(sk: *mut stack_st_POLICY_MAPPING);
20005}
20006unsafe extern "C" {
20007 #[link_name = "sk_POLICY_MAPPING_pop_free__extern"]
20008 pub fn sk_POLICY_MAPPING_pop_free(
20009 sk: *mut stack_st_POLICY_MAPPING,
20010 free_func: sk_POLICY_MAPPING_free_func,
20011 );
20012}
20013unsafe extern "C" {
20014 #[link_name = "sk_POLICY_MAPPING_insert__extern"]
20015 pub fn sk_POLICY_MAPPING_insert(
20016 sk: *mut stack_st_POLICY_MAPPING,
20017 p: *mut POLICY_MAPPING,
20018 where_: usize,
20019 ) -> usize;
20020}
20021unsafe extern "C" {
20022 #[link_name = "sk_POLICY_MAPPING_delete__extern"]
20023 pub fn sk_POLICY_MAPPING_delete(
20024 sk: *mut stack_st_POLICY_MAPPING,
20025 where_: usize,
20026 ) -> *mut POLICY_MAPPING;
20027}
20028unsafe extern "C" {
20029 #[link_name = "sk_POLICY_MAPPING_delete_ptr__extern"]
20030 pub fn sk_POLICY_MAPPING_delete_ptr(
20031 sk: *mut stack_st_POLICY_MAPPING,
20032 p: *const POLICY_MAPPING,
20033 ) -> *mut POLICY_MAPPING;
20034}
20035unsafe extern "C" {
20036 #[link_name = "sk_POLICY_MAPPING_delete_if__extern"]
20037 pub fn sk_POLICY_MAPPING_delete_if(
20038 sk: *mut stack_st_POLICY_MAPPING,
20039 func: sk_POLICY_MAPPING_delete_if_func,
20040 data: *mut ::core::ffi::c_void,
20041 );
20042}
20043unsafe extern "C" {
20044 #[link_name = "sk_POLICY_MAPPING_find__extern"]
20045 pub fn sk_POLICY_MAPPING_find(
20046 sk: *const stack_st_POLICY_MAPPING,
20047 out_index: *mut usize,
20048 p: *const POLICY_MAPPING,
20049 ) -> ::core::ffi::c_int;
20050}
20051unsafe extern "C" {
20052 #[link_name = "sk_POLICY_MAPPING_shift__extern"]
20053 pub fn sk_POLICY_MAPPING_shift(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20054}
20055unsafe extern "C" {
20056 #[link_name = "sk_POLICY_MAPPING_push__extern"]
20057 pub fn sk_POLICY_MAPPING_push(
20058 sk: *mut stack_st_POLICY_MAPPING,
20059 p: *mut POLICY_MAPPING,
20060 ) -> usize;
20061}
20062unsafe extern "C" {
20063 #[link_name = "sk_POLICY_MAPPING_pop__extern"]
20064 pub fn sk_POLICY_MAPPING_pop(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20065}
20066unsafe extern "C" {
20067 #[link_name = "sk_POLICY_MAPPING_dup__extern"]
20068 pub fn sk_POLICY_MAPPING_dup(
20069 sk: *const stack_st_POLICY_MAPPING,
20070 ) -> *mut stack_st_POLICY_MAPPING;
20071}
20072unsafe extern "C" {
20073 #[link_name = "sk_POLICY_MAPPING_sort__extern"]
20074 pub fn sk_POLICY_MAPPING_sort(sk: *mut stack_st_POLICY_MAPPING);
20075}
20076unsafe extern "C" {
20077 #[link_name = "sk_POLICY_MAPPING_sort_and_dedup__extern"]
20078 pub fn sk_POLICY_MAPPING_sort_and_dedup(
20079 sk: *mut stack_st_POLICY_MAPPING,
20080 free_func: sk_POLICY_MAPPING_free_func,
20081 );
20082}
20083unsafe extern "C" {
20084 #[link_name = "sk_POLICY_MAPPING_is_sorted__extern"]
20085 pub fn sk_POLICY_MAPPING_is_sorted(sk: *const stack_st_POLICY_MAPPING) -> ::core::ffi::c_int;
20086}
20087unsafe extern "C" {
20088 #[link_name = "sk_POLICY_MAPPING_set_cmp_func__extern"]
20089 pub fn sk_POLICY_MAPPING_set_cmp_func(
20090 sk: *mut stack_st_POLICY_MAPPING,
20091 comp: sk_POLICY_MAPPING_cmp_func,
20092 ) -> sk_POLICY_MAPPING_cmp_func;
20093}
20094unsafe extern "C" {
20095 #[link_name = "sk_POLICY_MAPPING_deep_copy__extern"]
20096 pub fn sk_POLICY_MAPPING_deep_copy(
20097 sk: *const stack_st_POLICY_MAPPING,
20098 copy_func: sk_POLICY_MAPPING_copy_func,
20099 free_func: sk_POLICY_MAPPING_free_func,
20100 ) -> *mut stack_st_POLICY_MAPPING;
20101}
20102unsafe extern "C" {
20103 pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
20104}
20105unsafe extern "C" {
20106 pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
20107}
20108pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
20109unsafe extern "C" {
20110 pub static POLICY_MAPPINGS_it: ASN1_ITEM;
20111}
20112#[repr(C)]
20113#[derive(Debug, Copy, Clone)]
20114pub struct POLICY_CONSTRAINTS_st {
20115 pub requireExplicitPolicy: *mut ASN1_INTEGER,
20116 pub inhibitPolicyMapping: *mut ASN1_INTEGER,
20117}
20118pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
20119unsafe extern "C" {
20120 pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
20121}
20122unsafe extern "C" {
20123 pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
20124}
20125unsafe extern "C" {
20126 pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
20127}
20128#[repr(C)]
20129#[derive(Debug)]
20130pub struct stack_st_X509_ALGOR {
20131 _unused: [u8; 0],
20132}
20133pub type sk_X509_ALGOR_free_func =
20134 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
20135pub type sk_X509_ALGOR_copy_func =
20136 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
20137pub type sk_X509_ALGOR_cmp_func = ::core::option::Option<
20138 unsafe extern "C" fn(
20139 arg1: *const *const X509_ALGOR,
20140 arg2: *const *const X509_ALGOR,
20141 ) -> ::core::ffi::c_int,
20142>;
20143pub type sk_X509_ALGOR_delete_if_func = ::core::option::Option<
20144 unsafe extern "C" fn(
20145 arg1: *mut X509_ALGOR,
20146 arg2: *mut ::core::ffi::c_void,
20147 ) -> ::core::ffi::c_int,
20148>;
20149unsafe extern "C" {
20150 #[link_name = "sk_X509_ALGOR_call_free_func__extern"]
20151 pub fn sk_X509_ALGOR_call_free_func(
20152 free_func: OPENSSL_sk_free_func,
20153 ptr: *mut ::core::ffi::c_void,
20154 );
20155}
20156unsafe extern "C" {
20157 #[link_name = "sk_X509_ALGOR_call_copy_func__extern"]
20158 pub fn sk_X509_ALGOR_call_copy_func(
20159 copy_func: OPENSSL_sk_copy_func,
20160 ptr: *const ::core::ffi::c_void,
20161 ) -> *mut ::core::ffi::c_void;
20162}
20163unsafe extern "C" {
20164 #[link_name = "sk_X509_ALGOR_call_cmp_func__extern"]
20165 pub fn sk_X509_ALGOR_call_cmp_func(
20166 cmp_func: OPENSSL_sk_cmp_func,
20167 a: *const ::core::ffi::c_void,
20168 b: *const ::core::ffi::c_void,
20169 ) -> ::core::ffi::c_int;
20170}
20171unsafe extern "C" {
20172 #[link_name = "sk_X509_ALGOR_call_delete_if_func__extern"]
20173 pub fn sk_X509_ALGOR_call_delete_if_func(
20174 func: OPENSSL_sk_delete_if_func,
20175 obj: *mut ::core::ffi::c_void,
20176 data: *mut ::core::ffi::c_void,
20177 ) -> ::core::ffi::c_int;
20178}
20179unsafe extern "C" {
20180 #[link_name = "sk_X509_ALGOR_new__extern"]
20181 pub fn sk_X509_ALGOR_new(comp: sk_X509_ALGOR_cmp_func) -> *mut stack_st_X509_ALGOR;
20182}
20183unsafe extern "C" {
20184 #[link_name = "sk_X509_ALGOR_new_null__extern"]
20185 pub fn sk_X509_ALGOR_new_null() -> *mut stack_st_X509_ALGOR;
20186}
20187unsafe extern "C" {
20188 #[link_name = "sk_X509_ALGOR_num__extern"]
20189 pub fn sk_X509_ALGOR_num(sk: *const stack_st_X509_ALGOR) -> usize;
20190}
20191unsafe extern "C" {
20192 #[link_name = "sk_X509_ALGOR_zero__extern"]
20193 pub fn sk_X509_ALGOR_zero(sk: *mut stack_st_X509_ALGOR);
20194}
20195unsafe extern "C" {
20196 #[link_name = "sk_X509_ALGOR_value__extern"]
20197 pub fn sk_X509_ALGOR_value(sk: *const stack_st_X509_ALGOR, i: usize) -> *mut X509_ALGOR;
20198}
20199unsafe extern "C" {
20200 #[link_name = "sk_X509_ALGOR_set__extern"]
20201 pub fn sk_X509_ALGOR_set(
20202 sk: *mut stack_st_X509_ALGOR,
20203 i: usize,
20204 p: *mut X509_ALGOR,
20205 ) -> *mut X509_ALGOR;
20206}
20207unsafe extern "C" {
20208 #[link_name = "sk_X509_ALGOR_free__extern"]
20209 pub fn sk_X509_ALGOR_free(sk: *mut stack_st_X509_ALGOR);
20210}
20211unsafe extern "C" {
20212 #[link_name = "sk_X509_ALGOR_pop_free__extern"]
20213 pub fn sk_X509_ALGOR_pop_free(sk: *mut stack_st_X509_ALGOR, free_func: sk_X509_ALGOR_free_func);
20214}
20215unsafe extern "C" {
20216 #[link_name = "sk_X509_ALGOR_insert__extern"]
20217 pub fn sk_X509_ALGOR_insert(
20218 sk: *mut stack_st_X509_ALGOR,
20219 p: *mut X509_ALGOR,
20220 where_: usize,
20221 ) -> usize;
20222}
20223unsafe extern "C" {
20224 #[link_name = "sk_X509_ALGOR_delete__extern"]
20225 pub fn sk_X509_ALGOR_delete(sk: *mut stack_st_X509_ALGOR, where_: usize) -> *mut X509_ALGOR;
20226}
20227unsafe extern "C" {
20228 #[link_name = "sk_X509_ALGOR_delete_ptr__extern"]
20229 pub fn sk_X509_ALGOR_delete_ptr(
20230 sk: *mut stack_st_X509_ALGOR,
20231 p: *const X509_ALGOR,
20232 ) -> *mut X509_ALGOR;
20233}
20234unsafe extern "C" {
20235 #[link_name = "sk_X509_ALGOR_delete_if__extern"]
20236 pub fn sk_X509_ALGOR_delete_if(
20237 sk: *mut stack_st_X509_ALGOR,
20238 func: sk_X509_ALGOR_delete_if_func,
20239 data: *mut ::core::ffi::c_void,
20240 );
20241}
20242unsafe extern "C" {
20243 #[link_name = "sk_X509_ALGOR_find__extern"]
20244 pub fn sk_X509_ALGOR_find(
20245 sk: *const stack_st_X509_ALGOR,
20246 out_index: *mut usize,
20247 p: *const X509_ALGOR,
20248 ) -> ::core::ffi::c_int;
20249}
20250unsafe extern "C" {
20251 #[link_name = "sk_X509_ALGOR_shift__extern"]
20252 pub fn sk_X509_ALGOR_shift(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20253}
20254unsafe extern "C" {
20255 #[link_name = "sk_X509_ALGOR_push__extern"]
20256 pub fn sk_X509_ALGOR_push(sk: *mut stack_st_X509_ALGOR, p: *mut X509_ALGOR) -> usize;
20257}
20258unsafe extern "C" {
20259 #[link_name = "sk_X509_ALGOR_pop__extern"]
20260 pub fn sk_X509_ALGOR_pop(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20261}
20262unsafe extern "C" {
20263 #[link_name = "sk_X509_ALGOR_dup__extern"]
20264 pub fn sk_X509_ALGOR_dup(sk: *const stack_st_X509_ALGOR) -> *mut stack_st_X509_ALGOR;
20265}
20266unsafe extern "C" {
20267 #[link_name = "sk_X509_ALGOR_sort__extern"]
20268 pub fn sk_X509_ALGOR_sort(sk: *mut stack_st_X509_ALGOR);
20269}
20270unsafe extern "C" {
20271 #[link_name = "sk_X509_ALGOR_sort_and_dedup__extern"]
20272 pub fn sk_X509_ALGOR_sort_and_dedup(
20273 sk: *mut stack_st_X509_ALGOR,
20274 free_func: sk_X509_ALGOR_free_func,
20275 );
20276}
20277unsafe extern "C" {
20278 #[link_name = "sk_X509_ALGOR_is_sorted__extern"]
20279 pub fn sk_X509_ALGOR_is_sorted(sk: *const stack_st_X509_ALGOR) -> ::core::ffi::c_int;
20280}
20281unsafe extern "C" {
20282 #[link_name = "sk_X509_ALGOR_set_cmp_func__extern"]
20283 pub fn sk_X509_ALGOR_set_cmp_func(
20284 sk: *mut stack_st_X509_ALGOR,
20285 comp: sk_X509_ALGOR_cmp_func,
20286 ) -> sk_X509_ALGOR_cmp_func;
20287}
20288unsafe extern "C" {
20289 #[link_name = "sk_X509_ALGOR_deep_copy__extern"]
20290 pub fn sk_X509_ALGOR_deep_copy(
20291 sk: *const stack_st_X509_ALGOR,
20292 copy_func: sk_X509_ALGOR_copy_func,
20293 free_func: sk_X509_ALGOR_free_func,
20294 ) -> *mut stack_st_X509_ALGOR;
20295}
20296unsafe extern "C" {
20297 pub static X509_ALGOR_it: ASN1_ITEM;
20298}
20299unsafe extern "C" {
20300 pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
20301}
20302unsafe extern "C" {
20303 pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
20304}
20305unsafe extern "C" {
20306 pub fn X509_ALGOR_copy(dst: *mut X509_ALGOR, src: *const X509_ALGOR) -> ::core::ffi::c_int;
20307}
20308unsafe extern "C" {
20309 pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
20310}
20311unsafe extern "C" {
20312 pub fn d2i_X509_ALGOR(
20313 out: *mut *mut X509_ALGOR,
20314 inp: *mut *const u8,
20315 len: ::core::ffi::c_long,
20316 ) -> *mut X509_ALGOR;
20317}
20318unsafe extern "C" {
20319 pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::core::ffi::c_int;
20320}
20321unsafe extern "C" {
20322 pub fn X509_ALGOR_set0(
20323 alg: *mut X509_ALGOR,
20324 obj: *mut ASN1_OBJECT,
20325 param_type: ::core::ffi::c_int,
20326 param_value: *mut ::core::ffi::c_void,
20327 ) -> ::core::ffi::c_int;
20328}
20329unsafe extern "C" {
20330 pub fn X509_ALGOR_get0(
20331 out_obj: *mut *const ASN1_OBJECT,
20332 out_param_type: *mut ::core::ffi::c_int,
20333 out_param_value: *mut *const ::core::ffi::c_void,
20334 alg: *const X509_ALGOR,
20335 );
20336}
20337unsafe extern "C" {
20338 pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::core::ffi::c_int;
20339}
20340unsafe extern "C" {
20341 pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::core::ffi::c_int;
20342}
20343#[repr(C)]
20344#[derive(Debug)]
20345pub struct stack_st_X509_ATTRIBUTE {
20346 _unused: [u8; 0],
20347}
20348pub type sk_X509_ATTRIBUTE_free_func =
20349 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
20350pub type sk_X509_ATTRIBUTE_copy_func = ::core::option::Option<
20351 unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE,
20352>;
20353pub type sk_X509_ATTRIBUTE_cmp_func = ::core::option::Option<
20354 unsafe extern "C" fn(
20355 arg1: *const *const X509_ATTRIBUTE,
20356 arg2: *const *const X509_ATTRIBUTE,
20357 ) -> ::core::ffi::c_int,
20358>;
20359pub type sk_X509_ATTRIBUTE_delete_if_func = ::core::option::Option<
20360 unsafe extern "C" fn(
20361 arg1: *mut X509_ATTRIBUTE,
20362 arg2: *mut ::core::ffi::c_void,
20363 ) -> ::core::ffi::c_int,
20364>;
20365unsafe extern "C" {
20366 #[link_name = "sk_X509_ATTRIBUTE_call_free_func__extern"]
20367 pub fn sk_X509_ATTRIBUTE_call_free_func(
20368 free_func: OPENSSL_sk_free_func,
20369 ptr: *mut ::core::ffi::c_void,
20370 );
20371}
20372unsafe extern "C" {
20373 #[link_name = "sk_X509_ATTRIBUTE_call_copy_func__extern"]
20374 pub fn sk_X509_ATTRIBUTE_call_copy_func(
20375 copy_func: OPENSSL_sk_copy_func,
20376 ptr: *const ::core::ffi::c_void,
20377 ) -> *mut ::core::ffi::c_void;
20378}
20379unsafe extern "C" {
20380 #[link_name = "sk_X509_ATTRIBUTE_call_cmp_func__extern"]
20381 pub fn sk_X509_ATTRIBUTE_call_cmp_func(
20382 cmp_func: OPENSSL_sk_cmp_func,
20383 a: *const ::core::ffi::c_void,
20384 b: *const ::core::ffi::c_void,
20385 ) -> ::core::ffi::c_int;
20386}
20387unsafe extern "C" {
20388 #[link_name = "sk_X509_ATTRIBUTE_call_delete_if_func__extern"]
20389 pub fn sk_X509_ATTRIBUTE_call_delete_if_func(
20390 func: OPENSSL_sk_delete_if_func,
20391 obj: *mut ::core::ffi::c_void,
20392 data: *mut ::core::ffi::c_void,
20393 ) -> ::core::ffi::c_int;
20394}
20395unsafe extern "C" {
20396 #[link_name = "sk_X509_ATTRIBUTE_new__extern"]
20397 pub fn sk_X509_ATTRIBUTE_new(comp: sk_X509_ATTRIBUTE_cmp_func) -> *mut stack_st_X509_ATTRIBUTE;
20398}
20399unsafe extern "C" {
20400 #[link_name = "sk_X509_ATTRIBUTE_new_null__extern"]
20401 pub fn sk_X509_ATTRIBUTE_new_null() -> *mut stack_st_X509_ATTRIBUTE;
20402}
20403unsafe extern "C" {
20404 #[link_name = "sk_X509_ATTRIBUTE_num__extern"]
20405 pub fn sk_X509_ATTRIBUTE_num(sk: *const stack_st_X509_ATTRIBUTE) -> usize;
20406}
20407unsafe extern "C" {
20408 #[link_name = "sk_X509_ATTRIBUTE_zero__extern"]
20409 pub fn sk_X509_ATTRIBUTE_zero(sk: *mut stack_st_X509_ATTRIBUTE);
20410}
20411unsafe extern "C" {
20412 #[link_name = "sk_X509_ATTRIBUTE_value__extern"]
20413 pub fn sk_X509_ATTRIBUTE_value(
20414 sk: *const stack_st_X509_ATTRIBUTE,
20415 i: usize,
20416 ) -> *mut X509_ATTRIBUTE;
20417}
20418unsafe extern "C" {
20419 #[link_name = "sk_X509_ATTRIBUTE_set__extern"]
20420 pub fn sk_X509_ATTRIBUTE_set(
20421 sk: *mut stack_st_X509_ATTRIBUTE,
20422 i: usize,
20423 p: *mut X509_ATTRIBUTE,
20424 ) -> *mut X509_ATTRIBUTE;
20425}
20426unsafe extern "C" {
20427 #[link_name = "sk_X509_ATTRIBUTE_free__extern"]
20428 pub fn sk_X509_ATTRIBUTE_free(sk: *mut stack_st_X509_ATTRIBUTE);
20429}
20430unsafe extern "C" {
20431 #[link_name = "sk_X509_ATTRIBUTE_pop_free__extern"]
20432 pub fn sk_X509_ATTRIBUTE_pop_free(
20433 sk: *mut stack_st_X509_ATTRIBUTE,
20434 free_func: sk_X509_ATTRIBUTE_free_func,
20435 );
20436}
20437unsafe extern "C" {
20438 #[link_name = "sk_X509_ATTRIBUTE_insert__extern"]
20439 pub fn sk_X509_ATTRIBUTE_insert(
20440 sk: *mut stack_st_X509_ATTRIBUTE,
20441 p: *mut X509_ATTRIBUTE,
20442 where_: usize,
20443 ) -> usize;
20444}
20445unsafe extern "C" {
20446 #[link_name = "sk_X509_ATTRIBUTE_delete__extern"]
20447 pub fn sk_X509_ATTRIBUTE_delete(
20448 sk: *mut stack_st_X509_ATTRIBUTE,
20449 where_: usize,
20450 ) -> *mut X509_ATTRIBUTE;
20451}
20452unsafe extern "C" {
20453 #[link_name = "sk_X509_ATTRIBUTE_delete_ptr__extern"]
20454 pub fn sk_X509_ATTRIBUTE_delete_ptr(
20455 sk: *mut stack_st_X509_ATTRIBUTE,
20456 p: *const X509_ATTRIBUTE,
20457 ) -> *mut X509_ATTRIBUTE;
20458}
20459unsafe extern "C" {
20460 #[link_name = "sk_X509_ATTRIBUTE_delete_if__extern"]
20461 pub fn sk_X509_ATTRIBUTE_delete_if(
20462 sk: *mut stack_st_X509_ATTRIBUTE,
20463 func: sk_X509_ATTRIBUTE_delete_if_func,
20464 data: *mut ::core::ffi::c_void,
20465 );
20466}
20467unsafe extern "C" {
20468 #[link_name = "sk_X509_ATTRIBUTE_find__extern"]
20469 pub fn sk_X509_ATTRIBUTE_find(
20470 sk: *const stack_st_X509_ATTRIBUTE,
20471 out_index: *mut usize,
20472 p: *const X509_ATTRIBUTE,
20473 ) -> ::core::ffi::c_int;
20474}
20475unsafe extern "C" {
20476 #[link_name = "sk_X509_ATTRIBUTE_shift__extern"]
20477 pub fn sk_X509_ATTRIBUTE_shift(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20478}
20479unsafe extern "C" {
20480 #[link_name = "sk_X509_ATTRIBUTE_push__extern"]
20481 pub fn sk_X509_ATTRIBUTE_push(
20482 sk: *mut stack_st_X509_ATTRIBUTE,
20483 p: *mut X509_ATTRIBUTE,
20484 ) -> usize;
20485}
20486unsafe extern "C" {
20487 #[link_name = "sk_X509_ATTRIBUTE_pop__extern"]
20488 pub fn sk_X509_ATTRIBUTE_pop(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20489}
20490unsafe extern "C" {
20491 #[link_name = "sk_X509_ATTRIBUTE_dup__extern"]
20492 pub fn sk_X509_ATTRIBUTE_dup(
20493 sk: *const stack_st_X509_ATTRIBUTE,
20494 ) -> *mut stack_st_X509_ATTRIBUTE;
20495}
20496unsafe extern "C" {
20497 #[link_name = "sk_X509_ATTRIBUTE_sort__extern"]
20498 pub fn sk_X509_ATTRIBUTE_sort(sk: *mut stack_st_X509_ATTRIBUTE);
20499}
20500unsafe extern "C" {
20501 #[link_name = "sk_X509_ATTRIBUTE_sort_and_dedup__extern"]
20502 pub fn sk_X509_ATTRIBUTE_sort_and_dedup(
20503 sk: *mut stack_st_X509_ATTRIBUTE,
20504 free_func: sk_X509_ATTRIBUTE_free_func,
20505 );
20506}
20507unsafe extern "C" {
20508 #[link_name = "sk_X509_ATTRIBUTE_is_sorted__extern"]
20509 pub fn sk_X509_ATTRIBUTE_is_sorted(sk: *const stack_st_X509_ATTRIBUTE) -> ::core::ffi::c_int;
20510}
20511unsafe extern "C" {
20512 #[link_name = "sk_X509_ATTRIBUTE_set_cmp_func__extern"]
20513 pub fn sk_X509_ATTRIBUTE_set_cmp_func(
20514 sk: *mut stack_st_X509_ATTRIBUTE,
20515 comp: sk_X509_ATTRIBUTE_cmp_func,
20516 ) -> sk_X509_ATTRIBUTE_cmp_func;
20517}
20518unsafe extern "C" {
20519 #[link_name = "sk_X509_ATTRIBUTE_deep_copy__extern"]
20520 pub fn sk_X509_ATTRIBUTE_deep_copy(
20521 sk: *const stack_st_X509_ATTRIBUTE,
20522 copy_func: sk_X509_ATTRIBUTE_copy_func,
20523 free_func: sk_X509_ATTRIBUTE_free_func,
20524 ) -> *mut stack_st_X509_ATTRIBUTE;
20525}
20526unsafe extern "C" {
20527 pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
20528}
20529unsafe extern "C" {
20530 pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20531}
20532unsafe extern "C" {
20533 pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
20534}
20535unsafe extern "C" {
20536 pub fn d2i_X509_ATTRIBUTE(
20537 out: *mut *mut X509_ATTRIBUTE,
20538 inp: *mut *const u8,
20539 len: ::core::ffi::c_long,
20540 ) -> *mut X509_ATTRIBUTE;
20541}
20542unsafe extern "C" {
20543 pub fn i2d_X509_ATTRIBUTE(alg: *const X509_ATTRIBUTE, outp: *mut *mut u8)
20544 -> ::core::ffi::c_int;
20545}
20546unsafe extern "C" {
20547 pub fn X509_ATTRIBUTE_create(
20548 nid: ::core::ffi::c_int,
20549 attrtype: ::core::ffi::c_int,
20550 value: *mut ::core::ffi::c_void,
20551 ) -> *mut X509_ATTRIBUTE;
20552}
20553unsafe extern "C" {
20554 pub fn X509_ATTRIBUTE_create_by_NID(
20555 attr: *mut *mut X509_ATTRIBUTE,
20556 nid: ::core::ffi::c_int,
20557 attrtype: ::core::ffi::c_int,
20558 data: *const ::core::ffi::c_void,
20559 len: ::core::ffi::c_int,
20560 ) -> *mut X509_ATTRIBUTE;
20561}
20562unsafe extern "C" {
20563 pub fn X509_ATTRIBUTE_create_by_OBJ(
20564 attr: *mut *mut X509_ATTRIBUTE,
20565 obj: *const ASN1_OBJECT,
20566 attrtype: ::core::ffi::c_int,
20567 data: *const ::core::ffi::c_void,
20568 len: ::core::ffi::c_int,
20569 ) -> *mut X509_ATTRIBUTE;
20570}
20571unsafe extern "C" {
20572 pub fn X509_ATTRIBUTE_create_by_txt(
20573 attr: *mut *mut X509_ATTRIBUTE,
20574 attrname: *const ::core::ffi::c_char,
20575 type_: ::core::ffi::c_int,
20576 bytes: *const ::core::ffi::c_uchar,
20577 len: ::core::ffi::c_int,
20578 ) -> *mut X509_ATTRIBUTE;
20579}
20580unsafe extern "C" {
20581 pub fn X509_ATTRIBUTE_set1_object(
20582 attr: *mut X509_ATTRIBUTE,
20583 obj: *const ASN1_OBJECT,
20584 ) -> ::core::ffi::c_int;
20585}
20586unsafe extern "C" {
20587 pub fn X509_ATTRIBUTE_set1_data(
20588 attr: *mut X509_ATTRIBUTE,
20589 attrtype: ::core::ffi::c_int,
20590 data: *const ::core::ffi::c_void,
20591 len: ::core::ffi::c_int,
20592 ) -> ::core::ffi::c_int;
20593}
20594unsafe extern "C" {
20595 pub fn X509_ATTRIBUTE_get0_data(
20596 attr: *mut X509_ATTRIBUTE,
20597 idx: ::core::ffi::c_int,
20598 attrtype: ::core::ffi::c_int,
20599 unused: *mut ::core::ffi::c_void,
20600 ) -> *mut ::core::ffi::c_void;
20601}
20602unsafe extern "C" {
20603 pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::core::ffi::c_int;
20604}
20605unsafe extern "C" {
20606 pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
20607}
20608unsafe extern "C" {
20609 pub fn X509_ATTRIBUTE_get0_type(
20610 attr: *mut X509_ATTRIBUTE,
20611 idx: ::core::ffi::c_int,
20612 ) -> *mut ASN1_TYPE;
20613}
20614unsafe extern "C" {
20615 pub fn X509_STORE_new() -> *mut X509_STORE;
20616}
20617unsafe extern "C" {
20618 pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::core::ffi::c_int;
20619}
20620unsafe extern "C" {
20621 pub fn X509_STORE_free(store: *mut X509_STORE);
20622}
20623unsafe extern "C" {
20624 pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::core::ffi::c_int;
20625}
20626unsafe extern "C" {
20627 pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::core::ffi::c_int;
20628}
20629unsafe extern "C" {
20630 pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
20631}
20632unsafe extern "C" {
20633 pub fn X509_STORE_set1_param(
20634 store: *mut X509_STORE,
20635 param: *const X509_VERIFY_PARAM,
20636 ) -> ::core::ffi::c_int;
20637}
20638unsafe extern "C" {
20639 pub fn X509_STORE_set_flags(
20640 store: *mut X509_STORE,
20641 flags: ::core::ffi::c_ulong,
20642 ) -> ::core::ffi::c_int;
20643}
20644unsafe extern "C" {
20645 pub fn X509_STORE_set_depth(
20646 store: *mut X509_STORE,
20647 depth: ::core::ffi::c_int,
20648 ) -> ::core::ffi::c_int;
20649}
20650unsafe extern "C" {
20651 pub fn X509_STORE_set_purpose(
20652 store: *mut X509_STORE,
20653 purpose: ::core::ffi::c_int,
20654 ) -> ::core::ffi::c_int;
20655}
20656unsafe extern "C" {
20657 pub fn X509_STORE_set_trust(
20658 store: *mut X509_STORE,
20659 trust: ::core::ffi::c_int,
20660 ) -> ::core::ffi::c_int;
20661}
20662#[repr(C)]
20663#[derive(Debug)]
20664pub struct stack_st_X509_OBJECT {
20665 _unused: [u8; 0],
20666}
20667pub type sk_X509_OBJECT_free_func =
20668 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
20669pub type sk_X509_OBJECT_copy_func =
20670 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
20671pub type sk_X509_OBJECT_cmp_func = ::core::option::Option<
20672 unsafe extern "C" fn(
20673 arg1: *const *const X509_OBJECT,
20674 arg2: *const *const X509_OBJECT,
20675 ) -> ::core::ffi::c_int,
20676>;
20677pub type sk_X509_OBJECT_delete_if_func = ::core::option::Option<
20678 unsafe extern "C" fn(
20679 arg1: *mut X509_OBJECT,
20680 arg2: *mut ::core::ffi::c_void,
20681 ) -> ::core::ffi::c_int,
20682>;
20683unsafe extern "C" {
20684 #[link_name = "sk_X509_OBJECT_call_free_func__extern"]
20685 pub fn sk_X509_OBJECT_call_free_func(
20686 free_func: OPENSSL_sk_free_func,
20687 ptr: *mut ::core::ffi::c_void,
20688 );
20689}
20690unsafe extern "C" {
20691 #[link_name = "sk_X509_OBJECT_call_copy_func__extern"]
20692 pub fn sk_X509_OBJECT_call_copy_func(
20693 copy_func: OPENSSL_sk_copy_func,
20694 ptr: *const ::core::ffi::c_void,
20695 ) -> *mut ::core::ffi::c_void;
20696}
20697unsafe extern "C" {
20698 #[link_name = "sk_X509_OBJECT_call_cmp_func__extern"]
20699 pub fn sk_X509_OBJECT_call_cmp_func(
20700 cmp_func: OPENSSL_sk_cmp_func,
20701 a: *const ::core::ffi::c_void,
20702 b: *const ::core::ffi::c_void,
20703 ) -> ::core::ffi::c_int;
20704}
20705unsafe extern "C" {
20706 #[link_name = "sk_X509_OBJECT_call_delete_if_func__extern"]
20707 pub fn sk_X509_OBJECT_call_delete_if_func(
20708 func: OPENSSL_sk_delete_if_func,
20709 obj: *mut ::core::ffi::c_void,
20710 data: *mut ::core::ffi::c_void,
20711 ) -> ::core::ffi::c_int;
20712}
20713unsafe extern "C" {
20714 #[link_name = "sk_X509_OBJECT_new__extern"]
20715 pub fn sk_X509_OBJECT_new(comp: sk_X509_OBJECT_cmp_func) -> *mut stack_st_X509_OBJECT;
20716}
20717unsafe extern "C" {
20718 #[link_name = "sk_X509_OBJECT_new_null__extern"]
20719 pub fn sk_X509_OBJECT_new_null() -> *mut stack_st_X509_OBJECT;
20720}
20721unsafe extern "C" {
20722 #[link_name = "sk_X509_OBJECT_num__extern"]
20723 pub fn sk_X509_OBJECT_num(sk: *const stack_st_X509_OBJECT) -> usize;
20724}
20725unsafe extern "C" {
20726 #[link_name = "sk_X509_OBJECT_zero__extern"]
20727 pub fn sk_X509_OBJECT_zero(sk: *mut stack_st_X509_OBJECT);
20728}
20729unsafe extern "C" {
20730 #[link_name = "sk_X509_OBJECT_value__extern"]
20731 pub fn sk_X509_OBJECT_value(sk: *const stack_st_X509_OBJECT, i: usize) -> *mut X509_OBJECT;
20732}
20733unsafe extern "C" {
20734 #[link_name = "sk_X509_OBJECT_set__extern"]
20735 pub fn sk_X509_OBJECT_set(
20736 sk: *mut stack_st_X509_OBJECT,
20737 i: usize,
20738 p: *mut X509_OBJECT,
20739 ) -> *mut X509_OBJECT;
20740}
20741unsafe extern "C" {
20742 #[link_name = "sk_X509_OBJECT_free__extern"]
20743 pub fn sk_X509_OBJECT_free(sk: *mut stack_st_X509_OBJECT);
20744}
20745unsafe extern "C" {
20746 #[link_name = "sk_X509_OBJECT_pop_free__extern"]
20747 pub fn sk_X509_OBJECT_pop_free(
20748 sk: *mut stack_st_X509_OBJECT,
20749 free_func: sk_X509_OBJECT_free_func,
20750 );
20751}
20752unsafe extern "C" {
20753 #[link_name = "sk_X509_OBJECT_insert__extern"]
20754 pub fn sk_X509_OBJECT_insert(
20755 sk: *mut stack_st_X509_OBJECT,
20756 p: *mut X509_OBJECT,
20757 where_: usize,
20758 ) -> usize;
20759}
20760unsafe extern "C" {
20761 #[link_name = "sk_X509_OBJECT_delete__extern"]
20762 pub fn sk_X509_OBJECT_delete(sk: *mut stack_st_X509_OBJECT, where_: usize) -> *mut X509_OBJECT;
20763}
20764unsafe extern "C" {
20765 #[link_name = "sk_X509_OBJECT_delete_ptr__extern"]
20766 pub fn sk_X509_OBJECT_delete_ptr(
20767 sk: *mut stack_st_X509_OBJECT,
20768 p: *const X509_OBJECT,
20769 ) -> *mut X509_OBJECT;
20770}
20771unsafe extern "C" {
20772 #[link_name = "sk_X509_OBJECT_delete_if__extern"]
20773 pub fn sk_X509_OBJECT_delete_if(
20774 sk: *mut stack_st_X509_OBJECT,
20775 func: sk_X509_OBJECT_delete_if_func,
20776 data: *mut ::core::ffi::c_void,
20777 );
20778}
20779unsafe extern "C" {
20780 #[link_name = "sk_X509_OBJECT_find__extern"]
20781 pub fn sk_X509_OBJECT_find(
20782 sk: *const stack_st_X509_OBJECT,
20783 out_index: *mut usize,
20784 p: *const X509_OBJECT,
20785 ) -> ::core::ffi::c_int;
20786}
20787unsafe extern "C" {
20788 #[link_name = "sk_X509_OBJECT_shift__extern"]
20789 pub fn sk_X509_OBJECT_shift(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
20790}
20791unsafe extern "C" {
20792 #[link_name = "sk_X509_OBJECT_push__extern"]
20793 pub fn sk_X509_OBJECT_push(sk: *mut stack_st_X509_OBJECT, p: *mut X509_OBJECT) -> usize;
20794}
20795unsafe extern "C" {
20796 #[link_name = "sk_X509_OBJECT_pop__extern"]
20797 pub fn sk_X509_OBJECT_pop(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
20798}
20799unsafe extern "C" {
20800 #[link_name = "sk_X509_OBJECT_dup__extern"]
20801 pub fn sk_X509_OBJECT_dup(sk: *const stack_st_X509_OBJECT) -> *mut stack_st_X509_OBJECT;
20802}
20803unsafe extern "C" {
20804 #[link_name = "sk_X509_OBJECT_sort__extern"]
20805 pub fn sk_X509_OBJECT_sort(sk: *mut stack_st_X509_OBJECT);
20806}
20807unsafe extern "C" {
20808 #[link_name = "sk_X509_OBJECT_sort_and_dedup__extern"]
20809 pub fn sk_X509_OBJECT_sort_and_dedup(
20810 sk: *mut stack_st_X509_OBJECT,
20811 free_func: sk_X509_OBJECT_free_func,
20812 );
20813}
20814unsafe extern "C" {
20815 #[link_name = "sk_X509_OBJECT_is_sorted__extern"]
20816 pub fn sk_X509_OBJECT_is_sorted(sk: *const stack_st_X509_OBJECT) -> ::core::ffi::c_int;
20817}
20818unsafe extern "C" {
20819 #[link_name = "sk_X509_OBJECT_set_cmp_func__extern"]
20820 pub fn sk_X509_OBJECT_set_cmp_func(
20821 sk: *mut stack_st_X509_OBJECT,
20822 comp: sk_X509_OBJECT_cmp_func,
20823 ) -> sk_X509_OBJECT_cmp_func;
20824}
20825unsafe extern "C" {
20826 #[link_name = "sk_X509_OBJECT_deep_copy__extern"]
20827 pub fn sk_X509_OBJECT_deep_copy(
20828 sk: *const stack_st_X509_OBJECT,
20829 copy_func: sk_X509_OBJECT_copy_func,
20830 free_func: sk_X509_OBJECT_free_func,
20831 ) -> *mut stack_st_X509_OBJECT;
20832}
20833unsafe extern "C" {
20834 pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
20835}
20836unsafe extern "C" {
20837 pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
20838}
20839unsafe extern "C" {
20840 pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::core::ffi::c_int;
20841}
20842unsafe extern "C" {
20843 pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
20844}
20845unsafe extern "C" {
20846 pub fn X509_STORE_get1_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
20847}
20848unsafe extern "C" {
20849 pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
20850}
20851unsafe extern "C" {
20852 pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
20853}
20854unsafe extern "C" {
20855 pub fn X509_STORE_CTX_init(
20856 ctx: *mut X509_STORE_CTX,
20857 store: *mut X509_STORE,
20858 x509: *mut X509,
20859 chain: *mut stack_st_X509,
20860 ) -> ::core::ffi::c_int;
20861}
20862unsafe extern "C" {
20863 pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::core::ffi::c_int;
20864}
20865unsafe extern "C" {
20866 pub fn X509_STORE_CTX_get0_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20867}
20868unsafe extern "C" {
20869 pub fn X509_STORE_CTX_get1_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20870}
20871unsafe extern "C" {
20872 pub fn X509_STORE_CTX_get_error(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
20873}
20874unsafe extern "C" {
20875 pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::core::ffi::c_int);
20876}
20877unsafe extern "C" {
20878 pub fn X509_verify_cert_error_string(err: ::core::ffi::c_long) -> *const ::core::ffi::c_char;
20879}
20880unsafe extern "C" {
20881 pub fn X509_STORE_CTX_get_error_depth(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
20882}
20883unsafe extern "C" {
20884 pub fn X509_STORE_CTX_get_current_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
20885}
20886unsafe extern "C" {
20887 pub fn X509_STORE_CTX_get0_current_crl(ctx: *const X509_STORE_CTX) -> *mut X509_CRL;
20888}
20889unsafe extern "C" {
20890 pub fn X509_STORE_CTX_get0_store(ctx: *const X509_STORE_CTX) -> *mut X509_STORE;
20891}
20892unsafe extern "C" {
20893 pub fn X509_STORE_CTX_get0_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
20894}
20895unsafe extern "C" {
20896 pub fn X509_STORE_CTX_get0_untrusted(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
20897}
20898unsafe extern "C" {
20899 pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
20900}
20901unsafe extern "C" {
20902 pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
20903}
20904unsafe extern "C" {
20905 pub fn X509_STORE_CTX_set_default(
20906 ctx: *mut X509_STORE_CTX,
20907 name: *const ::core::ffi::c_char,
20908 ) -> ::core::ffi::c_int;
20909}
20910unsafe extern "C" {
20911 pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
20912}
20913unsafe extern "C" {
20914 pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
20915}
20916unsafe extern "C" {
20917 pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::core::ffi::c_ulong);
20918}
20919unsafe extern "C" {
20920 pub fn X509_STORE_CTX_set_time(
20921 ctx: *mut X509_STORE_CTX,
20922 flags: ::core::ffi::c_ulong,
20923 t: time_t,
20924 );
20925}
20926unsafe extern "C" {
20927 pub fn X509_STORE_CTX_set_time_posix(
20928 ctx: *mut X509_STORE_CTX,
20929 flags: ::core::ffi::c_ulong,
20930 t: i64,
20931 );
20932}
20933unsafe extern "C" {
20934 pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::core::ffi::c_int);
20935}
20936unsafe extern "C" {
20937 pub fn X509_STORE_CTX_set_purpose(
20938 ctx: *mut X509_STORE_CTX,
20939 purpose: ::core::ffi::c_int,
20940 ) -> ::core::ffi::c_int;
20941}
20942unsafe extern "C" {
20943 pub fn X509_STORE_CTX_set_trust(
20944 ctx: *mut X509_STORE_CTX,
20945 trust: ::core::ffi::c_int,
20946 ) -> ::core::ffi::c_int;
20947}
20948unsafe extern "C" {
20949 pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
20950}
20951unsafe extern "C" {
20952 pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
20953}
20954unsafe extern "C" {
20955 pub fn X509_VERIFY_PARAM_inherit(
20956 to: *mut X509_VERIFY_PARAM,
20957 from: *const X509_VERIFY_PARAM,
20958 ) -> ::core::ffi::c_int;
20959}
20960unsafe extern "C" {
20961 pub fn X509_VERIFY_PARAM_set1(
20962 to: *mut X509_VERIFY_PARAM,
20963 from: *const X509_VERIFY_PARAM,
20964 ) -> ::core::ffi::c_int;
20965}
20966unsafe extern "C" {
20967 pub fn X509_VERIFY_PARAM_set_flags(
20968 param: *mut X509_VERIFY_PARAM,
20969 flags: ::core::ffi::c_ulong,
20970 ) -> ::core::ffi::c_int;
20971}
20972unsafe extern "C" {
20973 pub fn X509_VERIFY_PARAM_clear_flags(
20974 param: *mut X509_VERIFY_PARAM,
20975 flags: ::core::ffi::c_ulong,
20976 ) -> ::core::ffi::c_int;
20977}
20978unsafe extern "C" {
20979 pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_ulong;
20980}
20981unsafe extern "C" {
20982 pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::core::ffi::c_int);
20983}
20984unsafe extern "C" {
20985 pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
20986}
20987unsafe extern "C" {
20988 pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
20989}
20990unsafe extern "C" {
20991 pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
20992}
20993unsafe extern "C" {
20994 pub fn X509_VERIFY_PARAM_add0_policy(
20995 param: *mut X509_VERIFY_PARAM,
20996 policy: *mut ASN1_OBJECT,
20997 ) -> ::core::ffi::c_int;
20998}
20999unsafe extern "C" {
21000 pub fn X509_VERIFY_PARAM_set1_policies(
21001 param: *mut X509_VERIFY_PARAM,
21002 policies: *const stack_st_ASN1_OBJECT,
21003 ) -> ::core::ffi::c_int;
21004}
21005unsafe extern "C" {
21006 pub fn X509_VERIFY_PARAM_set1_host(
21007 param: *mut X509_VERIFY_PARAM,
21008 name: *const ::core::ffi::c_char,
21009 name_len: usize,
21010 ) -> ::core::ffi::c_int;
21011}
21012unsafe extern "C" {
21013 pub fn X509_VERIFY_PARAM_add1_host(
21014 param: *mut X509_VERIFY_PARAM,
21015 name: *const ::core::ffi::c_char,
21016 name_len: usize,
21017 ) -> ::core::ffi::c_int;
21018}
21019unsafe extern "C" {
21020 pub fn X509_VERIFY_PARAM_set_hostflags(
21021 param: *mut X509_VERIFY_PARAM,
21022 flags: ::core::ffi::c_uint,
21023 );
21024}
21025unsafe extern "C" {
21026 pub fn X509_VERIFY_PARAM_set1_email(
21027 param: *mut X509_VERIFY_PARAM,
21028 email: *const ::core::ffi::c_char,
21029 email_len: usize,
21030 ) -> ::core::ffi::c_int;
21031}
21032unsafe extern "C" {
21033 pub fn X509_VERIFY_PARAM_set1_ip(
21034 param: *mut X509_VERIFY_PARAM,
21035 ip: *const u8,
21036 ip_len: usize,
21037 ) -> ::core::ffi::c_int;
21038}
21039unsafe extern "C" {
21040 pub fn X509_VERIFY_PARAM_set1_ip_asc(
21041 param: *mut X509_VERIFY_PARAM,
21042 ipasc: *const ::core::ffi::c_char,
21043 ) -> ::core::ffi::c_int;
21044}
21045unsafe extern "C" {
21046 pub fn X509_VERIFY_PARAM_set_purpose(
21047 param: *mut X509_VERIFY_PARAM,
21048 purpose: ::core::ffi::c_int,
21049 ) -> ::core::ffi::c_int;
21050}
21051unsafe extern "C" {
21052 pub fn X509_VERIFY_PARAM_set_trust(
21053 param: *mut X509_VERIFY_PARAM,
21054 trust: ::core::ffi::c_int,
21055 ) -> ::core::ffi::c_int;
21056}
21057unsafe extern "C" {
21058 pub fn X509_STORE_load_locations(
21059 store: *mut X509_STORE,
21060 file: *const ::core::ffi::c_char,
21061 dir: *const ::core::ffi::c_char,
21062 ) -> ::core::ffi::c_int;
21063}
21064unsafe extern "C" {
21065 pub fn X509_STORE_add_lookup(
21066 store: *mut X509_STORE,
21067 method: *const X509_LOOKUP_METHOD,
21068 ) -> *mut X509_LOOKUP;
21069}
21070unsafe extern "C" {
21071 pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
21072}
21073unsafe extern "C" {
21074 pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
21075}
21076unsafe extern "C" {
21077 pub fn X509_LOOKUP_load_file(
21078 lookup: *mut X509_LOOKUP,
21079 file: *const ::core::ffi::c_char,
21080 type_: ::core::ffi::c_int,
21081 ) -> ::core::ffi::c_int;
21082}
21083unsafe extern "C" {
21084 pub fn X509_LOOKUP_add_dir(
21085 lookup: *mut X509_LOOKUP,
21086 path: *const ::core::ffi::c_char,
21087 type_: ::core::ffi::c_int,
21088 ) -> ::core::ffi::c_int;
21089}
21090unsafe extern "C" {
21091 pub fn X509_LOOKUP_ctrl(
21092 lookup: *mut X509_LOOKUP,
21093 cmd: ::core::ffi::c_int,
21094 argc: *const ::core::ffi::c_char,
21095 argl: ::core::ffi::c_long,
21096 ret: *mut *mut ::core::ffi::c_char,
21097 ) -> ::core::ffi::c_int;
21098}
21099unsafe extern "C" {
21100 pub fn X509_load_cert_file(
21101 lookup: *mut X509_LOOKUP,
21102 file: *const ::core::ffi::c_char,
21103 type_: ::core::ffi::c_int,
21104 ) -> ::core::ffi::c_int;
21105}
21106unsafe extern "C" {
21107 pub fn X509_load_crl_file(
21108 lookup: *mut X509_LOOKUP,
21109 file: *const ::core::ffi::c_char,
21110 type_: ::core::ffi::c_int,
21111 ) -> ::core::ffi::c_int;
21112}
21113unsafe extern "C" {
21114 pub fn X509_load_cert_crl_file(
21115 lookup: *mut X509_LOOKUP,
21116 file: *const ::core::ffi::c_char,
21117 type_: ::core::ffi::c_int,
21118 ) -> ::core::ffi::c_int;
21119}
21120unsafe extern "C" {
21121 pub fn X509_NAME_hash(name: *const X509_NAME) -> u32;
21122}
21123unsafe extern "C" {
21124 pub fn X509_NAME_hash_old(name: *const X509_NAME) -> u32;
21125}
21126unsafe extern "C" {
21127 pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::core::ffi::c_int;
21128}
21129unsafe extern "C" {
21130 pub fn X509_get_default_cert_area() -> *const ::core::ffi::c_char;
21131}
21132unsafe extern "C" {
21133 pub fn X509_get_default_cert_dir() -> *const ::core::ffi::c_char;
21134}
21135unsafe extern "C" {
21136 pub fn X509_get_default_cert_file() -> *const ::core::ffi::c_char;
21137}
21138unsafe extern "C" {
21139 pub fn X509_get_default_private_dir() -> *const ::core::ffi::c_char;
21140}
21141unsafe extern "C" {
21142 pub fn X509_get_default_cert_dir_env() -> *const ::core::ffi::c_char;
21143}
21144unsafe extern "C" {
21145 pub fn X509_get_default_cert_file_env() -> *const ::core::ffi::c_char;
21146}
21147#[repr(C)]
21148#[derive(Debug, Copy, Clone)]
21149pub struct Netscape_spki_st {
21150 pub spkac: *mut NETSCAPE_SPKAC,
21151 pub sig_algor: *mut X509_ALGOR,
21152 pub signature: *mut ASN1_BIT_STRING,
21153}
21154unsafe extern "C" {
21155 pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
21156}
21157unsafe extern "C" {
21158 pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
21159}
21160unsafe extern "C" {
21161 pub fn d2i_NETSCAPE_SPKI(
21162 out: *mut *mut NETSCAPE_SPKI,
21163 inp: *mut *const u8,
21164 len: ::core::ffi::c_long,
21165 ) -> *mut NETSCAPE_SPKI;
21166}
21167unsafe extern "C" {
21168 pub fn i2d_NETSCAPE_SPKI(spki: *const NETSCAPE_SPKI, outp: *mut *mut u8) -> ::core::ffi::c_int;
21169}
21170unsafe extern "C" {
21171 pub fn NETSCAPE_SPKI_verify(
21172 spki: *mut NETSCAPE_SPKI,
21173 pkey: *mut EVP_PKEY,
21174 ) -> ::core::ffi::c_int;
21175}
21176unsafe extern "C" {
21177 pub fn NETSCAPE_SPKI_b64_decode(
21178 str_: *const ::core::ffi::c_char,
21179 len: ossl_ssize_t,
21180 ) -> *mut NETSCAPE_SPKI;
21181}
21182unsafe extern "C" {
21183 pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::core::ffi::c_char;
21184}
21185unsafe extern "C" {
21186 pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
21187}
21188unsafe extern "C" {
21189 pub fn NETSCAPE_SPKI_set_pubkey(
21190 spki: *mut NETSCAPE_SPKI,
21191 pkey: *mut EVP_PKEY,
21192 ) -> ::core::ffi::c_int;
21193}
21194unsafe extern "C" {
21195 pub fn NETSCAPE_SPKI_sign(
21196 spki: *mut NETSCAPE_SPKI,
21197 pkey: *mut EVP_PKEY,
21198 md: *const EVP_MD,
21199 ) -> ::core::ffi::c_int;
21200}
21201#[repr(C)]
21202#[derive(Debug, Copy, Clone)]
21203pub struct Netscape_spkac_st {
21204 pub pubkey: *mut X509_PUBKEY,
21205 pub challenge: *mut ASN1_IA5STRING,
21206}
21207unsafe extern "C" {
21208 pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
21209}
21210unsafe extern "C" {
21211 pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
21212}
21213unsafe extern "C" {
21214 pub fn d2i_NETSCAPE_SPKAC(
21215 out: *mut *mut NETSCAPE_SPKAC,
21216 inp: *mut *const u8,
21217 len: ::core::ffi::c_long,
21218 ) -> *mut NETSCAPE_SPKAC;
21219}
21220unsafe extern "C" {
21221 pub fn i2d_NETSCAPE_SPKAC(
21222 spkac: *const NETSCAPE_SPKAC,
21223 outp: *mut *mut u8,
21224 ) -> ::core::ffi::c_int;
21225}
21226#[repr(C)]
21227#[derive(Debug, Copy, Clone)]
21228pub struct rsa_pss_params_st {
21229 pub hashAlgorithm: *mut X509_ALGOR,
21230 pub maskGenAlgorithm: *mut X509_ALGOR,
21231 pub saltLength: *mut ASN1_INTEGER,
21232 pub trailerField: *mut ASN1_INTEGER,
21233 pub maskHash: *mut X509_ALGOR,
21234}
21235unsafe extern "C" {
21236 pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
21237}
21238unsafe extern "C" {
21239 pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
21240}
21241unsafe extern "C" {
21242 pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
21243}
21244unsafe extern "C" {
21245 pub fn d2i_RSA_PSS_PARAMS(
21246 out: *mut *mut RSA_PSS_PARAMS,
21247 inp: *mut *const u8,
21248 len: ::core::ffi::c_long,
21249 ) -> *mut RSA_PSS_PARAMS;
21250}
21251unsafe extern "C" {
21252 pub fn i2d_RSA_PSS_PARAMS(in_: *const RSA_PSS_PARAMS, outp: *mut *mut u8)
21253 -> ::core::ffi::c_int;
21254}
21255unsafe extern "C" {
21256 pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
21257}
21258unsafe extern "C" {
21259 pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
21260}
21261unsafe extern "C" {
21262 pub fn d2i_PKCS8_PRIV_KEY_INFO(
21263 out: *mut *mut PKCS8_PRIV_KEY_INFO,
21264 inp: *mut *const u8,
21265 len: ::core::ffi::c_long,
21266 ) -> *mut PKCS8_PRIV_KEY_INFO;
21267}
21268unsafe extern "C" {
21269 pub fn i2d_PKCS8_PRIV_KEY_INFO(
21270 key: *const PKCS8_PRIV_KEY_INFO,
21271 outp: *mut *mut u8,
21272 ) -> ::core::ffi::c_int;
21273}
21274unsafe extern "C" {
21275 pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
21276}
21277unsafe extern "C" {
21278 pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
21279}
21280unsafe extern "C" {
21281 pub fn X509_SIG_new() -> *mut X509_SIG;
21282}
21283unsafe extern "C" {
21284 pub fn X509_SIG_free(key: *mut X509_SIG);
21285}
21286unsafe extern "C" {
21287 pub fn d2i_X509_SIG(
21288 out: *mut *mut X509_SIG,
21289 inp: *mut *const u8,
21290 len: ::core::ffi::c_long,
21291 ) -> *mut X509_SIG;
21292}
21293unsafe extern "C" {
21294 pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
21295}
21296unsafe extern "C" {
21297 pub fn X509_SIG_get0(
21298 sig: *const X509_SIG,
21299 out_alg: *mut *const X509_ALGOR,
21300 out_digest: *mut *const ASN1_OCTET_STRING,
21301 );
21302}
21303unsafe extern "C" {
21304 pub fn X509_SIG_getm(
21305 sig: *mut X509_SIG,
21306 out_alg: *mut *mut X509_ALGOR,
21307 out_digest: *mut *mut ASN1_OCTET_STRING,
21308 );
21309}
21310unsafe extern "C" {
21311 pub fn X509_print_ex(
21312 bp: *mut BIO,
21313 x: *const X509,
21314 nmflag: ::core::ffi::c_ulong,
21315 cflag: ::core::ffi::c_ulong,
21316 ) -> ::core::ffi::c_int;
21317}
21318unsafe extern "C" {
21319 pub fn X509_print_ex_fp(
21320 fp: *mut FILE,
21321 x: *const X509,
21322 nmflag: ::core::ffi::c_ulong,
21323 cflag: ::core::ffi::c_ulong,
21324 ) -> ::core::ffi::c_int;
21325}
21326unsafe extern "C" {
21327 pub fn X509_print(bp: *mut BIO, x: *const X509) -> ::core::ffi::c_int;
21328}
21329unsafe extern "C" {
21330 pub fn X509_print_fp(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
21331}
21332unsafe extern "C" {
21333 pub fn X509_CRL_print(bp: *mut BIO, x: *const X509_CRL) -> ::core::ffi::c_int;
21334}
21335unsafe extern "C" {
21336 pub fn X509_CRL_print_fp(fp: *mut FILE, x: *const X509_CRL) -> ::core::ffi::c_int;
21337}
21338unsafe extern "C" {
21339 pub fn X509_REQ_print_ex(
21340 bp: *mut BIO,
21341 x: *const X509_REQ,
21342 nmflag: ::core::ffi::c_ulong,
21343 cflag: ::core::ffi::c_ulong,
21344 ) -> ::core::ffi::c_int;
21345}
21346unsafe extern "C" {
21347 pub fn X509_REQ_print(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21348}
21349unsafe extern "C" {
21350 pub fn X509_REQ_print_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21351}
21352unsafe extern "C" {
21353 pub fn X509_NAME_print_ex(
21354 out: *mut BIO,
21355 nm: *const X509_NAME,
21356 indent: ::core::ffi::c_int,
21357 flags: ::core::ffi::c_ulong,
21358 ) -> ::core::ffi::c_int;
21359}
21360unsafe extern "C" {
21361 pub fn X509_NAME_print(
21362 bp: *mut BIO,
21363 name: *const X509_NAME,
21364 obase: ::core::ffi::c_int,
21365 ) -> ::core::ffi::c_int;
21366}
21367unsafe extern "C" {
21368 pub fn X509_NAME_oneline(
21369 name: *const X509_NAME,
21370 buf: *mut ::core::ffi::c_char,
21371 size: ::core::ffi::c_int,
21372 ) -> *mut ::core::ffi::c_char;
21373}
21374unsafe extern "C" {
21375 pub fn X509_NAME_print_ex_fp(
21376 fp: *mut FILE,
21377 nm: *const X509_NAME,
21378 indent: ::core::ffi::c_int,
21379 flags: ::core::ffi::c_ulong,
21380 ) -> ::core::ffi::c_int;
21381}
21382unsafe extern "C" {
21383 pub fn X509_signature_dump(
21384 bio: *mut BIO,
21385 sig: *const ASN1_STRING,
21386 indent: ::core::ffi::c_int,
21387 ) -> ::core::ffi::c_int;
21388}
21389unsafe extern "C" {
21390 pub fn X509_signature_print(
21391 bio: *mut BIO,
21392 alg: *const X509_ALGOR,
21393 sig: *const ASN1_STRING,
21394 ) -> ::core::ffi::c_int;
21395}
21396unsafe extern "C" {
21397 pub fn X509V3_EXT_print(
21398 out: *mut BIO,
21399 ext: *const X509_EXTENSION,
21400 flag: ::core::ffi::c_ulong,
21401 indent: ::core::ffi::c_int,
21402 ) -> ::core::ffi::c_int;
21403}
21404unsafe extern "C" {
21405 pub fn X509V3_EXT_print_fp(
21406 out: *mut FILE,
21407 ext: *const X509_EXTENSION,
21408 flag: ::core::ffi::c_int,
21409 indent: ::core::ffi::c_int,
21410 ) -> ::core::ffi::c_int;
21411}
21412unsafe extern "C" {
21413 pub fn X509V3_extensions_print(
21414 out: *mut BIO,
21415 title: *const ::core::ffi::c_char,
21416 exts: *const stack_st_X509_EXTENSION,
21417 flag: ::core::ffi::c_ulong,
21418 indent: ::core::ffi::c_int,
21419 ) -> ::core::ffi::c_int;
21420}
21421unsafe extern "C" {
21422 pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::core::ffi::c_int;
21423}
21424unsafe extern "C" {
21425 pub fn X509_pubkey_digest(
21426 x509: *const X509,
21427 md: *const EVP_MD,
21428 out: *mut u8,
21429 out_len: *mut ::core::ffi::c_uint,
21430 ) -> ::core::ffi::c_int;
21431}
21432unsafe extern "C" {
21433 pub fn X509_digest(
21434 x509: *const X509,
21435 md: *const EVP_MD,
21436 out: *mut u8,
21437 out_len: *mut ::core::ffi::c_uint,
21438 ) -> ::core::ffi::c_int;
21439}
21440unsafe extern "C" {
21441 pub fn X509_CRL_digest(
21442 crl: *const X509_CRL,
21443 md: *const EVP_MD,
21444 out: *mut u8,
21445 out_len: *mut ::core::ffi::c_uint,
21446 ) -> ::core::ffi::c_int;
21447}
21448unsafe extern "C" {
21449 pub fn X509_REQ_digest(
21450 req: *const X509_REQ,
21451 md: *const EVP_MD,
21452 out: *mut u8,
21453 out_len: *mut ::core::ffi::c_uint,
21454 ) -> ::core::ffi::c_int;
21455}
21456unsafe extern "C" {
21457 pub fn X509_NAME_digest(
21458 name: *const X509_NAME,
21459 md: *const EVP_MD,
21460 out: *mut u8,
21461 out_len: *mut ::core::ffi::c_uint,
21462 ) -> ::core::ffi::c_int;
21463}
21464unsafe extern "C" {
21465 pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
21466}
21467unsafe extern "C" {
21468 pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21469}
21470unsafe extern "C" {
21471 pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21472}
21473unsafe extern "C" {
21474 pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21475}
21476unsafe extern "C" {
21477 pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21478}
21479unsafe extern "C" {
21480 pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21481}
21482unsafe extern "C" {
21483 pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21484}
21485unsafe extern "C" {
21486 pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21487}
21488unsafe extern "C" {
21489 pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21490}
21491unsafe extern "C" {
21492 pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21493}
21494unsafe extern "C" {
21495 pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21496}
21497unsafe extern "C" {
21498 pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
21499 bp: *mut BIO,
21500 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21501 ) -> *mut PKCS8_PRIV_KEY_INFO;
21502}
21503unsafe extern "C" {
21504 pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21505}
21506unsafe extern "C" {
21507 pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
21508}
21509unsafe extern "C" {
21510 pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21511}
21512unsafe extern "C" {
21513 pub fn i2d_X509_bio(bp: *mut BIO, x509: *const X509) -> ::core::ffi::c_int;
21514}
21515unsafe extern "C" {
21516 pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *const X509_CRL) -> ::core::ffi::c_int;
21517}
21518unsafe extern "C" {
21519 pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21520}
21521unsafe extern "C" {
21522 pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21523}
21524unsafe extern "C" {
21525 pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21526}
21527unsafe extern "C" {
21528 pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21529}
21530unsafe extern "C" {
21531 pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21532}
21533unsafe extern "C" {
21534 pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21535}
21536unsafe extern "C" {
21537 pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21538}
21539unsafe extern "C" {
21540 pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21541}
21542unsafe extern "C" {
21543 pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *const X509_SIG) -> ::core::ffi::c_int;
21544}
21545unsafe extern "C" {
21546 pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
21547 bp: *mut BIO,
21548 p8inf: *const PKCS8_PRIV_KEY_INFO,
21549 ) -> ::core::ffi::c_int;
21550}
21551unsafe extern "C" {
21552 pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21553}
21554unsafe extern "C" {
21555 pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21556}
21557unsafe extern "C" {
21558 pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::core::ffi::c_int;
21559}
21560unsafe extern "C" {
21561 pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21562}
21563unsafe extern "C" {
21564 pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
21565}
21566unsafe extern "C" {
21567 pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21568}
21569unsafe extern "C" {
21570 pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21571}
21572unsafe extern "C" {
21573 pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21574}
21575unsafe extern "C" {
21576 pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21577}
21578unsafe extern "C" {
21579 pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21580}
21581unsafe extern "C" {
21582 pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21583}
21584unsafe extern "C" {
21585 pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21586}
21587unsafe extern "C" {
21588 pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21589}
21590unsafe extern "C" {
21591 pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21592}
21593unsafe extern "C" {
21594 pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21595}
21596unsafe extern "C" {
21597 pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
21598 fp: *mut FILE,
21599 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21600 ) -> *mut PKCS8_PRIV_KEY_INFO;
21601}
21602unsafe extern "C" {
21603 pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21604}
21605unsafe extern "C" {
21606 pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21607}
21608unsafe extern "C" {
21609 pub fn i2d_X509_fp(fp: *mut FILE, x509: *const X509) -> ::core::ffi::c_int;
21610}
21611unsafe extern "C" {
21612 pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *const X509_CRL) -> ::core::ffi::c_int;
21613}
21614unsafe extern "C" {
21615 pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21616}
21617unsafe extern "C" {
21618 pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21619}
21620unsafe extern "C" {
21621 pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21622}
21623unsafe extern "C" {
21624 pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21625}
21626unsafe extern "C" {
21627 pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21628}
21629unsafe extern "C" {
21630 pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21631}
21632unsafe extern "C" {
21633 pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21634}
21635unsafe extern "C" {
21636 pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21637}
21638unsafe extern "C" {
21639 pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *const X509_SIG) -> ::core::ffi::c_int;
21640}
21641unsafe extern "C" {
21642 pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
21643 fp: *mut FILE,
21644 p8inf: *const PKCS8_PRIV_KEY_INFO,
21645 ) -> ::core::ffi::c_int;
21646}
21647unsafe extern "C" {
21648 pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21649}
21650unsafe extern "C" {
21651 pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21652}
21653unsafe extern "C" {
21654 pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21655}
21656unsafe extern "C" {
21657 pub fn X509_find_by_issuer_and_serial(
21658 sk: *const stack_st_X509,
21659 name: *const X509_NAME,
21660 serial: *const ASN1_INTEGER,
21661 ) -> *mut X509;
21662}
21663unsafe extern "C" {
21664 pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *const X509_NAME) -> *mut X509;
21665}
21666unsafe extern "C" {
21667 pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::core::ffi::c_int;
21668}
21669unsafe extern "C" {
21670 pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::core::ffi::c_int;
21671}
21672unsafe extern "C" {
21673 pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::core::ffi::c_int;
21674}
21675unsafe extern "C" {
21676 pub fn X509_time_adj(
21677 s: *mut ASN1_TIME,
21678 offset_sec: ::core::ffi::c_long,
21679 t: *const time_t,
21680 ) -> *mut ASN1_TIME;
21681}
21682unsafe extern "C" {
21683 pub fn X509_time_adj_ex(
21684 s: *mut ASN1_TIME,
21685 offset_day: ::core::ffi::c_int,
21686 offset_sec: ::core::ffi::c_long,
21687 t: *const time_t,
21688 ) -> *mut ASN1_TIME;
21689}
21690unsafe extern "C" {
21691 pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::core::ffi::c_long) -> *mut ASN1_TIME;
21692}
21693unsafe extern "C" {
21694 pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21695}
21696unsafe extern "C" {
21697 pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21698}
21699unsafe extern "C" {
21700 pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
21701}
21702unsafe extern "C" {
21703 pub fn X509_issuer_name_hash(x509: *const X509) -> u32;
21704}
21705unsafe extern "C" {
21706 pub fn X509_subject_name_hash(x509: *const X509) -> u32;
21707}
21708unsafe extern "C" {
21709 pub fn X509_issuer_name_hash_old(x509: *const X509) -> u32;
21710}
21711unsafe extern "C" {
21712 pub fn X509_subject_name_hash_old(x509: *const X509) -> u32;
21713}
21714unsafe extern "C" {
21715 pub fn X509_get_ex_new_index(
21716 argl: ::core::ffi::c_long,
21717 argp: *mut ::core::ffi::c_void,
21718 unused: *mut CRYPTO_EX_unused,
21719 dup_unused: CRYPTO_EX_dup,
21720 free_func: CRYPTO_EX_free,
21721 ) -> ::core::ffi::c_int;
21722}
21723unsafe extern "C" {
21724 pub fn X509_set_ex_data(
21725 r: *mut X509,
21726 idx: ::core::ffi::c_int,
21727 arg: *mut ::core::ffi::c_void,
21728 ) -> ::core::ffi::c_int;
21729}
21730unsafe extern "C" {
21731 pub fn X509_get_ex_data(r: *mut X509, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
21732}
21733unsafe extern "C" {
21734 pub fn X509_STORE_CTX_get_ex_new_index(
21735 argl: ::core::ffi::c_long,
21736 argp: *mut ::core::ffi::c_void,
21737 unused: *mut CRYPTO_EX_unused,
21738 dup_unused: CRYPTO_EX_dup,
21739 free_func: CRYPTO_EX_free,
21740 ) -> ::core::ffi::c_int;
21741}
21742unsafe extern "C" {
21743 pub fn X509_STORE_CTX_set_ex_data(
21744 ctx: *mut X509_STORE_CTX,
21745 idx: ::core::ffi::c_int,
21746 data: *mut ::core::ffi::c_void,
21747 ) -> ::core::ffi::c_int;
21748}
21749unsafe extern "C" {
21750 pub fn X509_STORE_CTX_get_ex_data(
21751 ctx: *mut X509_STORE_CTX,
21752 idx: ::core::ffi::c_int,
21753 ) -> *mut ::core::ffi::c_void;
21754}
21755unsafe extern "C" {
21756 pub fn ASN1_digest(
21757 i2d: i2d_of_void,
21758 type_: *const EVP_MD,
21759 data: *mut ::core::ffi::c_char,
21760 md: *mut ::core::ffi::c_uchar,
21761 len: *mut ::core::ffi::c_uint,
21762 ) -> ::core::ffi::c_int;
21763}
21764unsafe extern "C" {
21765 pub fn ASN1_item_digest(
21766 it: *const ASN1_ITEM,
21767 type_: *const EVP_MD,
21768 data: *mut ::core::ffi::c_void,
21769 md: *mut ::core::ffi::c_uchar,
21770 len: *mut ::core::ffi::c_uint,
21771 ) -> ::core::ffi::c_int;
21772}
21773unsafe extern "C" {
21774 pub fn ASN1_item_verify(
21775 it: *const ASN1_ITEM,
21776 algor1: *const X509_ALGOR,
21777 signature: *const ASN1_BIT_STRING,
21778 data: *mut ::core::ffi::c_void,
21779 pkey: *mut EVP_PKEY,
21780 ) -> ::core::ffi::c_int;
21781}
21782unsafe extern "C" {
21783 pub fn ASN1_item_sign(
21784 it: *const ASN1_ITEM,
21785 algor1: *mut X509_ALGOR,
21786 algor2: *mut X509_ALGOR,
21787 signature: *mut ASN1_BIT_STRING,
21788 data: *mut ::core::ffi::c_void,
21789 pkey: *mut EVP_PKEY,
21790 type_: *const EVP_MD,
21791 ) -> ::core::ffi::c_int;
21792}
21793unsafe extern "C" {
21794 pub fn ASN1_item_sign_ctx(
21795 it: *const ASN1_ITEM,
21796 algor1: *mut X509_ALGOR,
21797 algor2: *mut X509_ALGOR,
21798 signature: *mut ASN1_BIT_STRING,
21799 asn: *mut ::core::ffi::c_void,
21800 ctx: *mut EVP_MD_CTX,
21801 ) -> ::core::ffi::c_int;
21802}
21803unsafe extern "C" {
21804 pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
21805}
21806unsafe extern "C" {
21807 pub fn X509_check_ca(x509: *const X509) -> ::core::ffi::c_int;
21808}
21809unsafe extern "C" {
21810 pub fn X509_check_issued(issuer: *const X509, subject: *const X509) -> ::core::ffi::c_int;
21811}
21812unsafe extern "C" {
21813 pub fn NAME_CONSTRAINTS_check(
21814 x509: *const X509,
21815 nc: *const NAME_CONSTRAINTS,
21816 ) -> ::core::ffi::c_int;
21817}
21818unsafe extern "C" {
21819 pub fn X509_check_host(
21820 x509: *const X509,
21821 chk: *const ::core::ffi::c_char,
21822 chklen: usize,
21823 flags: ::core::ffi::c_uint,
21824 out_peername: *mut *mut ::core::ffi::c_char,
21825 ) -> ::core::ffi::c_int;
21826}
21827unsafe extern "C" {
21828 pub fn X509_check_email(
21829 x509: *const X509,
21830 chk: *const ::core::ffi::c_char,
21831 chklen: usize,
21832 flags: ::core::ffi::c_uint,
21833 ) -> ::core::ffi::c_int;
21834}
21835unsafe extern "C" {
21836 pub fn X509_check_ip(
21837 x509: *const X509,
21838 chk: *const u8,
21839 chklen: usize,
21840 flags: ::core::ffi::c_uint,
21841 ) -> ::core::ffi::c_int;
21842}
21843unsafe extern "C" {
21844 pub fn X509_check_ip_asc(
21845 x509: *const X509,
21846 ipasc: *const ::core::ffi::c_char,
21847 flags: ::core::ffi::c_uint,
21848 ) -> ::core::ffi::c_int;
21849}
21850unsafe extern "C" {
21851 pub fn X509_STORE_CTX_get1_issuer(
21852 out_issuer: *mut *mut X509,
21853 ctx: *mut X509_STORE_CTX,
21854 x509: *const X509,
21855 ) -> ::core::ffi::c_int;
21856}
21857unsafe extern "C" {
21858 pub fn X509_check_purpose(
21859 x509: *mut X509,
21860 purpose: ::core::ffi::c_int,
21861 ca: ::core::ffi::c_int,
21862 ) -> ::core::ffi::c_int;
21863}
21864unsafe extern "C" {
21865 pub fn X509_check_trust(
21866 x509: *mut X509,
21867 id: ::core::ffi::c_int,
21868 flags: ::core::ffi::c_int,
21869 ) -> ::core::ffi::c_int;
21870}
21871unsafe extern "C" {
21872 pub fn X509_STORE_CTX_get1_certs(
21873 ctx: *mut X509_STORE_CTX,
21874 name: *const X509_NAME,
21875 ) -> *mut stack_st_X509;
21876}
21877unsafe extern "C" {
21878 pub fn X509_STORE_CTX_get1_crls(
21879 ctx: *mut X509_STORE_CTX,
21880 name: *const X509_NAME,
21881 ) -> *mut stack_st_X509_CRL;
21882}
21883unsafe extern "C" {
21884 pub fn X509_STORE_CTX_get_by_subject(
21885 ctx: *mut X509_STORE_CTX,
21886 type_: ::core::ffi::c_int,
21887 name: *const X509_NAME,
21888 ret: *mut X509_OBJECT,
21889 ) -> ::core::ffi::c_int;
21890}
21891#[repr(C)]
21892#[derive(Debug, Copy, Clone)]
21893pub struct private_key_st {
21894 pub dec_pkey: *mut EVP_PKEY,
21895}
21896#[repr(C)]
21897#[derive(Debug, Copy, Clone)]
21898pub struct X509_info_st {
21899 pub x509: *mut X509,
21900 pub crl: *mut X509_CRL,
21901 pub x_pkey: *mut X509_PKEY,
21902 pub enc_cipher: EVP_CIPHER_INFO,
21903 pub enc_len: ::core::ffi::c_int,
21904 pub enc_data: *mut ::core::ffi::c_char,
21905}
21906#[repr(C)]
21907#[derive(Debug)]
21908pub struct stack_st_X509_INFO {
21909 _unused: [u8; 0],
21910}
21911pub type sk_X509_INFO_free_func =
21912 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
21913pub type sk_X509_INFO_copy_func =
21914 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
21915pub type sk_X509_INFO_cmp_func = ::core::option::Option<
21916 unsafe extern "C" fn(
21917 arg1: *const *const X509_INFO,
21918 arg2: *const *const X509_INFO,
21919 ) -> ::core::ffi::c_int,
21920>;
21921pub type sk_X509_INFO_delete_if_func = ::core::option::Option<
21922 unsafe extern "C" fn(
21923 arg1: *mut X509_INFO,
21924 arg2: *mut ::core::ffi::c_void,
21925 ) -> ::core::ffi::c_int,
21926>;
21927unsafe extern "C" {
21928 #[link_name = "sk_X509_INFO_call_free_func__extern"]
21929 pub fn sk_X509_INFO_call_free_func(
21930 free_func: OPENSSL_sk_free_func,
21931 ptr: *mut ::core::ffi::c_void,
21932 );
21933}
21934unsafe extern "C" {
21935 #[link_name = "sk_X509_INFO_call_copy_func__extern"]
21936 pub fn sk_X509_INFO_call_copy_func(
21937 copy_func: OPENSSL_sk_copy_func,
21938 ptr: *const ::core::ffi::c_void,
21939 ) -> *mut ::core::ffi::c_void;
21940}
21941unsafe extern "C" {
21942 #[link_name = "sk_X509_INFO_call_cmp_func__extern"]
21943 pub fn sk_X509_INFO_call_cmp_func(
21944 cmp_func: OPENSSL_sk_cmp_func,
21945 a: *const ::core::ffi::c_void,
21946 b: *const ::core::ffi::c_void,
21947 ) -> ::core::ffi::c_int;
21948}
21949unsafe extern "C" {
21950 #[link_name = "sk_X509_INFO_call_delete_if_func__extern"]
21951 pub fn sk_X509_INFO_call_delete_if_func(
21952 func: OPENSSL_sk_delete_if_func,
21953 obj: *mut ::core::ffi::c_void,
21954 data: *mut ::core::ffi::c_void,
21955 ) -> ::core::ffi::c_int;
21956}
21957unsafe extern "C" {
21958 #[link_name = "sk_X509_INFO_new__extern"]
21959 pub fn sk_X509_INFO_new(comp: sk_X509_INFO_cmp_func) -> *mut stack_st_X509_INFO;
21960}
21961unsafe extern "C" {
21962 #[link_name = "sk_X509_INFO_new_null__extern"]
21963 pub fn sk_X509_INFO_new_null() -> *mut stack_st_X509_INFO;
21964}
21965unsafe extern "C" {
21966 #[link_name = "sk_X509_INFO_num__extern"]
21967 pub fn sk_X509_INFO_num(sk: *const stack_st_X509_INFO) -> usize;
21968}
21969unsafe extern "C" {
21970 #[link_name = "sk_X509_INFO_zero__extern"]
21971 pub fn sk_X509_INFO_zero(sk: *mut stack_st_X509_INFO);
21972}
21973unsafe extern "C" {
21974 #[link_name = "sk_X509_INFO_value__extern"]
21975 pub fn sk_X509_INFO_value(sk: *const stack_st_X509_INFO, i: usize) -> *mut X509_INFO;
21976}
21977unsafe extern "C" {
21978 #[link_name = "sk_X509_INFO_set__extern"]
21979 pub fn sk_X509_INFO_set(
21980 sk: *mut stack_st_X509_INFO,
21981 i: usize,
21982 p: *mut X509_INFO,
21983 ) -> *mut X509_INFO;
21984}
21985unsafe extern "C" {
21986 #[link_name = "sk_X509_INFO_free__extern"]
21987 pub fn sk_X509_INFO_free(sk: *mut stack_st_X509_INFO);
21988}
21989unsafe extern "C" {
21990 #[link_name = "sk_X509_INFO_pop_free__extern"]
21991 pub fn sk_X509_INFO_pop_free(sk: *mut stack_st_X509_INFO, free_func: sk_X509_INFO_free_func);
21992}
21993unsafe extern "C" {
21994 #[link_name = "sk_X509_INFO_insert__extern"]
21995 pub fn sk_X509_INFO_insert(
21996 sk: *mut stack_st_X509_INFO,
21997 p: *mut X509_INFO,
21998 where_: usize,
21999 ) -> usize;
22000}
22001unsafe extern "C" {
22002 #[link_name = "sk_X509_INFO_delete__extern"]
22003 pub fn sk_X509_INFO_delete(sk: *mut stack_st_X509_INFO, where_: usize) -> *mut X509_INFO;
22004}
22005unsafe extern "C" {
22006 #[link_name = "sk_X509_INFO_delete_ptr__extern"]
22007 pub fn sk_X509_INFO_delete_ptr(
22008 sk: *mut stack_st_X509_INFO,
22009 p: *const X509_INFO,
22010 ) -> *mut X509_INFO;
22011}
22012unsafe extern "C" {
22013 #[link_name = "sk_X509_INFO_delete_if__extern"]
22014 pub fn sk_X509_INFO_delete_if(
22015 sk: *mut stack_st_X509_INFO,
22016 func: sk_X509_INFO_delete_if_func,
22017 data: *mut ::core::ffi::c_void,
22018 );
22019}
22020unsafe extern "C" {
22021 #[link_name = "sk_X509_INFO_find__extern"]
22022 pub fn sk_X509_INFO_find(
22023 sk: *const stack_st_X509_INFO,
22024 out_index: *mut usize,
22025 p: *const X509_INFO,
22026 ) -> ::core::ffi::c_int;
22027}
22028unsafe extern "C" {
22029 #[link_name = "sk_X509_INFO_shift__extern"]
22030 pub fn sk_X509_INFO_shift(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22031}
22032unsafe extern "C" {
22033 #[link_name = "sk_X509_INFO_push__extern"]
22034 pub fn sk_X509_INFO_push(sk: *mut stack_st_X509_INFO, p: *mut X509_INFO) -> usize;
22035}
22036unsafe extern "C" {
22037 #[link_name = "sk_X509_INFO_pop__extern"]
22038 pub fn sk_X509_INFO_pop(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22039}
22040unsafe extern "C" {
22041 #[link_name = "sk_X509_INFO_dup__extern"]
22042 pub fn sk_X509_INFO_dup(sk: *const stack_st_X509_INFO) -> *mut stack_st_X509_INFO;
22043}
22044unsafe extern "C" {
22045 #[link_name = "sk_X509_INFO_sort__extern"]
22046 pub fn sk_X509_INFO_sort(sk: *mut stack_st_X509_INFO);
22047}
22048unsafe extern "C" {
22049 #[link_name = "sk_X509_INFO_sort_and_dedup__extern"]
22050 pub fn sk_X509_INFO_sort_and_dedup(
22051 sk: *mut stack_st_X509_INFO,
22052 free_func: sk_X509_INFO_free_func,
22053 );
22054}
22055unsafe extern "C" {
22056 #[link_name = "sk_X509_INFO_is_sorted__extern"]
22057 pub fn sk_X509_INFO_is_sorted(sk: *const stack_st_X509_INFO) -> ::core::ffi::c_int;
22058}
22059unsafe extern "C" {
22060 #[link_name = "sk_X509_INFO_set_cmp_func__extern"]
22061 pub fn sk_X509_INFO_set_cmp_func(
22062 sk: *mut stack_st_X509_INFO,
22063 comp: sk_X509_INFO_cmp_func,
22064 ) -> sk_X509_INFO_cmp_func;
22065}
22066unsafe extern "C" {
22067 #[link_name = "sk_X509_INFO_deep_copy__extern"]
22068 pub fn sk_X509_INFO_deep_copy(
22069 sk: *const stack_st_X509_INFO,
22070 copy_func: sk_X509_INFO_copy_func,
22071 free_func: sk_X509_INFO_free_func,
22072 ) -> *mut stack_st_X509_INFO;
22073}
22074unsafe extern "C" {
22075 pub fn X509_INFO_free(info: *mut X509_INFO);
22076}
22077pub type X509V3_EXT_NEW =
22078 ::core::option::Option<unsafe extern "C" fn() -> *mut ::core::ffi::c_void>;
22079pub type X509V3_EXT_FREE =
22080 ::core::option::Option<unsafe extern "C" fn(ext: *mut ::core::ffi::c_void)>;
22081pub type X509V3_EXT_D2I = ::core::option::Option<
22082 unsafe extern "C" fn(
22083 ext: *mut ::core::ffi::c_void,
22084 inp: *mut *const u8,
22085 len: ::core::ffi::c_long,
22086 ) -> *mut ::core::ffi::c_void,
22087>;
22088pub type X509V3_EXT_I2D = ::core::option::Option<
22089 unsafe extern "C" fn(ext: *mut ::core::ffi::c_void, outp: *mut *mut u8) -> ::core::ffi::c_int,
22090>;
22091pub type X509V3_EXT_I2V = ::core::option::Option<
22092 unsafe extern "C" fn(
22093 method: *const X509V3_EXT_METHOD,
22094 ext: *mut ::core::ffi::c_void,
22095 extlist: *mut stack_st_CONF_VALUE,
22096 ) -> *mut stack_st_CONF_VALUE,
22097>;
22098pub type X509V3_EXT_V2I = ::core::option::Option<
22099 unsafe extern "C" fn(
22100 method: *const X509V3_EXT_METHOD,
22101 ctx: *const X509V3_CTX,
22102 values: *const stack_st_CONF_VALUE,
22103 ) -> *mut ::core::ffi::c_void,
22104>;
22105pub type X509V3_EXT_I2S = ::core::option::Option<
22106 unsafe extern "C" fn(
22107 method: *const X509V3_EXT_METHOD,
22108 ext: *mut ::core::ffi::c_void,
22109 ) -> *mut ::core::ffi::c_char,
22110>;
22111pub type X509V3_EXT_S2I = ::core::option::Option<
22112 unsafe extern "C" fn(
22113 method: *const X509V3_EXT_METHOD,
22114 ctx: *const X509V3_CTX,
22115 str_: *const ::core::ffi::c_char,
22116 ) -> *mut ::core::ffi::c_void,
22117>;
22118pub type X509V3_EXT_I2R = ::core::option::Option<
22119 unsafe extern "C" fn(
22120 method: *const X509V3_EXT_METHOD,
22121 ext: *mut ::core::ffi::c_void,
22122 out: *mut BIO,
22123 indent: ::core::ffi::c_int,
22124 ) -> ::core::ffi::c_int,
22125>;
22126pub type X509V3_EXT_R2I = ::core::option::Option<
22127 unsafe extern "C" fn(
22128 method: *const X509V3_EXT_METHOD,
22129 ctx: *const X509V3_CTX,
22130 str_: *const ::core::ffi::c_char,
22131 ) -> *mut ::core::ffi::c_void,
22132>;
22133#[repr(C)]
22134#[derive(Debug, Copy, Clone)]
22135pub struct v3_ext_method {
22136 pub ext_nid: ::core::ffi::c_int,
22137 pub ext_flags: ::core::ffi::c_int,
22138 pub it: *const ASN1_ITEM_st,
22139 pub ext_new: X509V3_EXT_NEW,
22140 pub ext_free: X509V3_EXT_FREE,
22141 pub d2i: X509V3_EXT_D2I,
22142 pub i2d: X509V3_EXT_I2D,
22143 pub i2s: X509V3_EXT_I2S,
22144 pub s2i: X509V3_EXT_S2I,
22145 pub i2v: X509V3_EXT_I2V,
22146 pub v2i: X509V3_EXT_V2I,
22147 pub i2r: X509V3_EXT_I2R,
22148 pub r2i: X509V3_EXT_R2I,
22149 pub usr_data: *mut ::core::ffi::c_void,
22150}
22151unsafe extern "C" {
22152 pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
22153}
22154unsafe extern "C" {
22155 pub fn X509V3_EXT_get_nid(nid: ::core::ffi::c_int) -> *const X509V3_EXT_METHOD;
22156}
22157unsafe extern "C" {
22158 pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::core::ffi::c_int;
22159}
22160unsafe extern "C" {
22161 pub fn X509V3_EXT_add_alias(
22162 nid_to: ::core::ffi::c_int,
22163 nid_from: ::core::ffi::c_int,
22164 ) -> ::core::ffi::c_int;
22165}
22166#[repr(C)]
22167#[derive(Debug, Copy, Clone)]
22168pub struct v3_ext_ctx {
22169 pub flags: ::core::ffi::c_int,
22170 pub issuer_cert: *const X509,
22171 pub subject_cert: *const X509,
22172 pub subject_req: *const X509_REQ,
22173 pub crl: *const X509_CRL,
22174 pub db: *const CONF,
22175}
22176unsafe extern "C" {
22177 pub fn X509V3_set_ctx(
22178 ctx: *mut X509V3_CTX,
22179 issuer: *const X509,
22180 subject: *const X509,
22181 req: *const X509_REQ,
22182 crl: *const X509_CRL,
22183 flags: ::core::ffi::c_int,
22184 );
22185}
22186unsafe extern "C" {
22187 pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
22188}
22189unsafe extern "C" {
22190 pub fn X509V3_EXT_nconf(
22191 conf: *const CONF,
22192 ctx: *const X509V3_CTX,
22193 name: *const ::core::ffi::c_char,
22194 value: *const ::core::ffi::c_char,
22195 ) -> *mut X509_EXTENSION;
22196}
22197unsafe extern "C" {
22198 pub fn X509V3_EXT_nconf_nid(
22199 conf: *const CONF,
22200 ctx: *const X509V3_CTX,
22201 ext_nid: ::core::ffi::c_int,
22202 value: *const ::core::ffi::c_char,
22203 ) -> *mut X509_EXTENSION;
22204}
22205unsafe extern "C" {
22206 pub fn X509V3_EXT_conf_nid(
22207 conf: *mut CRYPTO_MUST_BE_NULL,
22208 ctx: *const X509V3_CTX,
22209 ext_nid: ::core::ffi::c_int,
22210 value: *const ::core::ffi::c_char,
22211 ) -> *mut X509_EXTENSION;
22212}
22213unsafe extern "C" {
22214 pub fn X509V3_EXT_add_nconf_sk(
22215 conf: *const CONF,
22216 ctx: *const X509V3_CTX,
22217 section: *const ::core::ffi::c_char,
22218 sk: *mut *mut stack_st_X509_EXTENSION,
22219 ) -> ::core::ffi::c_int;
22220}
22221unsafe extern "C" {
22222 pub fn X509V3_EXT_add_nconf(
22223 conf: *const CONF,
22224 ctx: *const X509V3_CTX,
22225 section: *const ::core::ffi::c_char,
22226 cert: *mut X509,
22227 ) -> ::core::ffi::c_int;
22228}
22229unsafe extern "C" {
22230 pub fn X509V3_EXT_REQ_add_nconf(
22231 conf: *const CONF,
22232 ctx: *const X509V3_CTX,
22233 section: *const ::core::ffi::c_char,
22234 req: *mut X509_REQ,
22235 ) -> ::core::ffi::c_int;
22236}
22237unsafe extern "C" {
22238 pub fn X509V3_EXT_CRL_add_nconf(
22239 conf: *const CONF,
22240 ctx: *const X509V3_CTX,
22241 section: *const ::core::ffi::c_char,
22242 crl: *mut X509_CRL,
22243 ) -> ::core::ffi::c_int;
22244}
22245unsafe extern "C" {
22246 pub fn i2s_ASN1_OCTET_STRING(
22247 method: *const X509V3_EXT_METHOD,
22248 oct: *const ASN1_OCTET_STRING,
22249 ) -> *mut ::core::ffi::c_char;
22250}
22251unsafe extern "C" {
22252 pub fn s2i_ASN1_OCTET_STRING(
22253 method: *const X509V3_EXT_METHOD,
22254 ctx: *const X509V3_CTX,
22255 str_: *const ::core::ffi::c_char,
22256 ) -> *mut ASN1_OCTET_STRING;
22257}
22258unsafe extern "C" {
22259 pub fn i2s_ASN1_INTEGER(
22260 method: *const X509V3_EXT_METHOD,
22261 aint: *const ASN1_INTEGER,
22262 ) -> *mut ::core::ffi::c_char;
22263}
22264unsafe extern "C" {
22265 pub fn s2i_ASN1_INTEGER(
22266 method: *const X509V3_EXT_METHOD,
22267 value: *const ::core::ffi::c_char,
22268 ) -> *mut ASN1_INTEGER;
22269}
22270unsafe extern "C" {
22271 pub fn i2s_ASN1_ENUMERATED(
22272 method: *const X509V3_EXT_METHOD,
22273 aint: *const ASN1_ENUMERATED,
22274 ) -> *mut ::core::ffi::c_char;
22275}
22276unsafe extern "C" {
22277 pub fn X509V3_conf_free(val: *mut CONF_VALUE);
22278}
22279unsafe extern "C" {
22280 pub fn i2v_GENERAL_NAME(
22281 method: *const X509V3_EXT_METHOD,
22282 gen_: *const GENERAL_NAME,
22283 ret: *mut stack_st_CONF_VALUE,
22284 ) -> *mut stack_st_CONF_VALUE;
22285}
22286unsafe extern "C" {
22287 pub fn i2v_GENERAL_NAMES(
22288 method: *const X509V3_EXT_METHOD,
22289 gen_: *const GENERAL_NAMES,
22290 extlist: *mut stack_st_CONF_VALUE,
22291 ) -> *mut stack_st_CONF_VALUE;
22292}
22293unsafe extern "C" {
22294 pub fn a2i_IPADDRESS(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22295}
22296unsafe extern "C" {
22297 pub fn a2i_IPADDRESS_NC(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22298}
22299unsafe extern "C" {
22300 pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
22301}
22302unsafe extern "C" {
22303 pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
22304}
22305unsafe extern "C" {
22306 pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22307}
22308unsafe extern "C" {
22309 pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22310}
22311unsafe extern "C" {
22312 pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22313}
22314unsafe extern "C" {
22315 pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22316}
22317unsafe extern "C" {
22318 pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
22319}
22320unsafe extern "C" {
22321 pub fn X509_NAME_get_text_by_OBJ(
22322 name: *const X509_NAME,
22323 obj: *const ASN1_OBJECT,
22324 buf: *mut ::core::ffi::c_char,
22325 len: ::core::ffi::c_int,
22326 ) -> ::core::ffi::c_int;
22327}
22328unsafe extern "C" {
22329 pub fn X509_NAME_get_text_by_NID(
22330 name: *const X509_NAME,
22331 nid: ::core::ffi::c_int,
22332 buf: *mut ::core::ffi::c_char,
22333 len: ::core::ffi::c_int,
22334 ) -> ::core::ffi::c_int;
22335}
22336unsafe extern "C" {
22337 pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *const X509_STORE_CTX) -> *mut X509_STORE_CTX;
22338}
22339unsafe extern "C" {
22340 pub fn X509_OBJECT_free_contents(obj: *mut X509_OBJECT);
22341}
22342unsafe extern "C" {
22343 pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
22344}
22345unsafe extern "C" {
22346 pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
22347}
22348unsafe extern "C" {
22349 pub fn X509V3_add_standard_extensions() -> ::core::ffi::c_int;
22350}
22351unsafe extern "C" {
22352 pub fn X509_STORE_CTX_get_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
22353}
22354unsafe extern "C" {
22355 pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22356}
22357pub type X509_STORE_CTX_verify_cb = ::core::option::Option<
22358 unsafe extern "C" fn(arg1: ::core::ffi::c_int, arg2: *mut X509_STORE_CTX) -> ::core::ffi::c_int,
22359>;
22360unsafe extern "C" {
22361 pub fn X509_STORE_CTX_set_verify_cb(
22362 ctx: *mut X509_STORE_CTX,
22363 verify_cb: ::core::option::Option<
22364 unsafe extern "C" fn(
22365 ok: ::core::ffi::c_int,
22366 ctx: *mut X509_STORE_CTX,
22367 ) -> ::core::ffi::c_int,
22368 >,
22369 );
22370}
22371unsafe extern "C" {
22372 pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
22373}
22374unsafe extern "C" {
22375 pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22376}
22377unsafe extern "C" {
22378 pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
22379}
22380unsafe extern "C" {
22381 pub fn X509_PURPOSE_get_by_sname(sname: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
22382}
22383unsafe extern "C" {
22384 pub fn X509_PURPOSE_get0(id: ::core::ffi::c_int) -> *const X509_PURPOSE;
22385}
22386unsafe extern "C" {
22387 pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::core::ffi::c_int;
22388}
22389#[repr(C)]
22390#[derive(Debug, Copy, Clone)]
22391pub struct X509_algor_st {
22392 pub algorithm: *mut ASN1_OBJECT,
22393 pub parameter: *mut ASN1_TYPE,
22394}
22395pub type pem_password_cb = ::core::option::Option<
22396 unsafe extern "C" fn(
22397 out: *mut ::core::ffi::c_char,
22398 max_out: ::core::ffi::c_int,
22399 enc: ::core::ffi::c_int,
22400 userdata: *mut ::core::ffi::c_void,
22401 ) -> ::core::ffi::c_int,
22402>;
22403unsafe extern "C" {
22404 pub fn PEM_def_callback(
22405 buf: *mut ::core::ffi::c_char,
22406 size: ::core::ffi::c_int,
22407 enc: ::core::ffi::c_int,
22408 userdata: *mut ::core::ffi::c_void,
22409 ) -> ::core::ffi::c_int;
22410}
22411unsafe extern "C" {
22412 pub fn PEM_read_bio_X509(
22413 bio: *mut BIO,
22414 out: *mut *mut X509,
22415 cb: pem_password_cb,
22416 userdata: *mut ::core::ffi::c_void,
22417 ) -> *mut X509;
22418}
22419unsafe extern "C" {
22420 pub fn PEM_write_bio_X509(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22421}
22422unsafe extern "C" {
22423 pub fn PEM_read_bio_X509_AUX(
22424 bio: *mut BIO,
22425 out: *mut *mut X509,
22426 cb: pem_password_cb,
22427 userdata: *mut ::core::ffi::c_void,
22428 ) -> *mut X509;
22429}
22430unsafe extern "C" {
22431 pub fn PEM_write_bio_X509_AUX(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22432}
22433unsafe extern "C" {
22434 pub fn PEM_read_bio_X509_CRL(
22435 bio: *mut BIO,
22436 out: *mut *mut X509_CRL,
22437 cb: pem_password_cb,
22438 userdata: *mut ::core::ffi::c_void,
22439 ) -> *mut X509_CRL;
22440}
22441unsafe extern "C" {
22442 pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, in_: *const X509_CRL) -> ::core::ffi::c_int;
22443}
22444unsafe extern "C" {
22445 pub fn PEM_read_bio_X509_REQ(
22446 bio: *mut BIO,
22447 out: *mut *mut X509_REQ,
22448 cb: pem_password_cb,
22449 userdata: *mut ::core::ffi::c_void,
22450 ) -> *mut X509_REQ;
22451}
22452unsafe extern "C" {
22453 pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22454}
22455unsafe extern "C" {
22456 pub fn PEM_write_bio_X509_REQ_NEW(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22457}
22458unsafe extern "C" {
22459 pub fn PEM_read_bio_PKCS7(
22460 bio: *mut BIO,
22461 out: *mut *mut PKCS7,
22462 cb: pem_password_cb,
22463 userdata: *mut ::core::ffi::c_void,
22464 ) -> *mut PKCS7;
22465}
22466unsafe extern "C" {
22467 pub fn PEM_write_bio_PKCS7(bio: *mut BIO, in_: *const PKCS7) -> ::core::ffi::c_int;
22468}
22469unsafe extern "C" {
22470 pub fn PEM_X509_INFO_read_bio(
22471 bio: *mut BIO,
22472 sk: *mut stack_st_X509_INFO,
22473 cb: pem_password_cb,
22474 userdata: *mut ::core::ffi::c_void,
22475 ) -> *mut stack_st_X509_INFO;
22476}
22477unsafe extern "C" {
22478 pub fn PEM_read_bio_PrivateKey(
22479 bio: *mut BIO,
22480 out: *mut *mut EVP_PKEY,
22481 cb: pem_password_cb,
22482 userdata: *mut ::core::ffi::c_void,
22483 ) -> *mut EVP_PKEY;
22484}
22485unsafe extern "C" {
22486 pub fn PEM_write_bio_PrivateKey(
22487 bio: *mut BIO,
22488 in_: *const EVP_PKEY,
22489 enc: *const EVP_CIPHER,
22490 pass: *const u8,
22491 pass_len: ::core::ffi::c_int,
22492 cb: pem_password_cb,
22493 userdata: *mut ::core::ffi::c_void,
22494 ) -> ::core::ffi::c_int;
22495}
22496unsafe extern "C" {
22497 pub fn PEM_read_bio_PUBKEY(
22498 bio: *mut BIO,
22499 out: *mut *mut EVP_PKEY,
22500 cb: pem_password_cb,
22501 userdata: *mut ::core::ffi::c_void,
22502 ) -> *mut EVP_PKEY;
22503}
22504unsafe extern "C" {
22505 pub fn PEM_write_bio_PUBKEY(bio: *mut BIO, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
22506}
22507unsafe extern "C" {
22508 pub fn PEM_write_bio_PKCS8PrivateKey_nid(
22509 bio: *mut BIO,
22510 in_: *const EVP_PKEY,
22511 nid: ::core::ffi::c_int,
22512 pass: *const ::core::ffi::c_char,
22513 pass_len: ::core::ffi::c_int,
22514 cb: pem_password_cb,
22515 userdata: *mut ::core::ffi::c_void,
22516 ) -> ::core::ffi::c_int;
22517}
22518unsafe extern "C" {
22519 pub fn PEM_write_bio_PKCS8PrivateKey(
22520 bio: *mut BIO,
22521 in_: *const EVP_PKEY,
22522 enc: *const EVP_CIPHER,
22523 pass: *const ::core::ffi::c_char,
22524 pass_len: ::core::ffi::c_int,
22525 cb: pem_password_cb,
22526 userdata: *mut ::core::ffi::c_void,
22527 ) -> ::core::ffi::c_int;
22528}
22529unsafe extern "C" {
22530 pub fn PEM_write_PKCS8PrivateKey_nid(
22531 fp: *mut FILE,
22532 in_: *const EVP_PKEY,
22533 nid: ::core::ffi::c_int,
22534 pass: *const ::core::ffi::c_char,
22535 pass_len: ::core::ffi::c_int,
22536 cb: pem_password_cb,
22537 userdata: *mut ::core::ffi::c_void,
22538 ) -> ::core::ffi::c_int;
22539}
22540unsafe extern "C" {
22541 pub fn PEM_write_PKCS8PrivateKey(
22542 fp: *mut FILE,
22543 in_: *const EVP_PKEY,
22544 enc: *const EVP_CIPHER,
22545 pass: *const ::core::ffi::c_char,
22546 pass_len: ::core::ffi::c_int,
22547 cb: pem_password_cb,
22548 userdata: *mut ::core::ffi::c_void,
22549 ) -> ::core::ffi::c_int;
22550}
22551unsafe extern "C" {
22552 pub fn PEM_read_bio_PKCS8(
22553 bio: *mut BIO,
22554 out: *mut *mut X509_SIG,
22555 cb: pem_password_cb,
22556 userdata: *mut ::core::ffi::c_void,
22557 ) -> *mut X509_SIG;
22558}
22559unsafe extern "C" {
22560 pub fn PEM_write_bio_PKCS8(bio: *mut BIO, in_: *const X509_SIG) -> ::core::ffi::c_int;
22561}
22562unsafe extern "C" {
22563 pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
22564 bio: *mut BIO,
22565 out: *mut *mut PKCS8_PRIV_KEY_INFO,
22566 cb: pem_password_cb,
22567 userdata: *mut ::core::ffi::c_void,
22568 ) -> *mut PKCS8_PRIV_KEY_INFO;
22569}
22570unsafe extern "C" {
22571 pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
22572 bio: *mut BIO,
22573 in_: *const PKCS8_PRIV_KEY_INFO,
22574 ) -> ::core::ffi::c_int;
22575}
22576unsafe extern "C" {
22577 pub fn PEM_read_bio_RSAPrivateKey(
22578 bio: *mut BIO,
22579 out: *mut *mut RSA,
22580 cb: pem_password_cb,
22581 userdata: *mut ::core::ffi::c_void,
22582 ) -> *mut RSA;
22583}
22584unsafe extern "C" {
22585 pub fn PEM_write_bio_RSAPrivateKey(
22586 bio: *mut BIO,
22587 in_: *const RSA,
22588 enc: *const EVP_CIPHER,
22589 pass: *const u8,
22590 pass_len: ::core::ffi::c_int,
22591 cb: pem_password_cb,
22592 userdata: *mut ::core::ffi::c_void,
22593 ) -> ::core::ffi::c_int;
22594}
22595unsafe extern "C" {
22596 pub fn PEM_read_bio_RSAPublicKey(
22597 bio: *mut BIO,
22598 out: *mut *mut RSA,
22599 cb: pem_password_cb,
22600 userdata: *mut ::core::ffi::c_void,
22601 ) -> *mut RSA;
22602}
22603unsafe extern "C" {
22604 pub fn PEM_write_bio_RSAPublicKey(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22605}
22606unsafe extern "C" {
22607 pub fn PEM_read_bio_RSA_PUBKEY(
22608 bio: *mut BIO,
22609 out: *mut *mut RSA,
22610 cb: pem_password_cb,
22611 userdata: *mut ::core::ffi::c_void,
22612 ) -> *mut RSA;
22613}
22614unsafe extern "C" {
22615 pub fn PEM_write_bio_RSA_PUBKEY(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22616}
22617unsafe extern "C" {
22618 pub fn PEM_read_bio_DSAPrivateKey(
22619 bio: *mut BIO,
22620 out: *mut *mut DSA,
22621 cb: pem_password_cb,
22622 userdata: *mut ::core::ffi::c_void,
22623 ) -> *mut DSA;
22624}
22625unsafe extern "C" {
22626 pub fn PEM_write_bio_DSAPrivateKey(
22627 bio: *mut BIO,
22628 in_: *const DSA,
22629 enc: *const EVP_CIPHER,
22630 pass: *const u8,
22631 pass_len: ::core::ffi::c_int,
22632 cb: pem_password_cb,
22633 userdata: *mut ::core::ffi::c_void,
22634 ) -> ::core::ffi::c_int;
22635}
22636unsafe extern "C" {
22637 pub fn PEM_read_bio_DSA_PUBKEY(
22638 bio: *mut BIO,
22639 out: *mut *mut DSA,
22640 cb: pem_password_cb,
22641 userdata: *mut ::core::ffi::c_void,
22642 ) -> *mut DSA;
22643}
22644unsafe extern "C" {
22645 pub fn PEM_write_bio_DSA_PUBKEY(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22646}
22647unsafe extern "C" {
22648 pub fn PEM_read_bio_DSAparams(
22649 bio: *mut BIO,
22650 out: *mut *mut DSA,
22651 cb: pem_password_cb,
22652 userdata: *mut ::core::ffi::c_void,
22653 ) -> *mut DSA;
22654}
22655unsafe extern "C" {
22656 pub fn PEM_write_bio_DSAparams(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22657}
22658unsafe extern "C" {
22659 pub fn PEM_read_bio_ECPrivateKey(
22660 bio: *mut BIO,
22661 out: *mut *mut EC_KEY,
22662 cb: pem_password_cb,
22663 userdata: *mut ::core::ffi::c_void,
22664 ) -> *mut EC_KEY;
22665}
22666unsafe extern "C" {
22667 pub fn PEM_write_bio_ECPrivateKey(
22668 bio: *mut BIO,
22669 in_: *const EC_KEY,
22670 enc: *const EVP_CIPHER,
22671 pass: *const u8,
22672 pass_len: ::core::ffi::c_int,
22673 cb: pem_password_cb,
22674 userdata: *mut ::core::ffi::c_void,
22675 ) -> ::core::ffi::c_int;
22676}
22677unsafe extern "C" {
22678 pub fn PEM_read_bio_EC_PUBKEY(
22679 bio: *mut BIO,
22680 out: *mut *mut EC_KEY,
22681 cb: pem_password_cb,
22682 userdata: *mut ::core::ffi::c_void,
22683 ) -> *mut EC_KEY;
22684}
22685unsafe extern "C" {
22686 pub fn PEM_write_bio_EC_PUBKEY(bio: *mut BIO, in_: *const EC_KEY) -> ::core::ffi::c_int;
22687}
22688unsafe extern "C" {
22689 pub fn PEM_read_bio_DHparams(
22690 bio: *mut BIO,
22691 out: *mut *mut DH,
22692 cb: pem_password_cb,
22693 userdata: *mut ::core::ffi::c_void,
22694 ) -> *mut DH;
22695}
22696unsafe extern "C" {
22697 pub fn PEM_write_bio_DHparams(bio: *mut BIO, in_: *const DH) -> ::core::ffi::c_int;
22698}
22699unsafe extern "C" {
22700 pub fn PEM_read_X509(
22701 fp: *mut FILE,
22702 out: *mut *mut X509,
22703 cb: pem_password_cb,
22704 userdata: *mut ::core::ffi::c_void,
22705 ) -> *mut X509;
22706}
22707unsafe extern "C" {
22708 pub fn PEM_read_X509_CRL(
22709 fp: *mut FILE,
22710 out: *mut *mut X509_CRL,
22711 cb: pem_password_cb,
22712 userdata: *mut ::core::ffi::c_void,
22713 ) -> *mut X509_CRL;
22714}
22715unsafe extern "C" {
22716 pub fn PEM_read_X509_AUX(
22717 fp: *mut FILE,
22718 out: *mut *mut X509,
22719 cb: pem_password_cb,
22720 userdata: *mut ::core::ffi::c_void,
22721 ) -> *mut X509;
22722}
22723unsafe extern "C" {
22724 pub fn PEM_X509_INFO_read(
22725 fp: *mut FILE,
22726 sk: *mut stack_st_X509_INFO,
22727 cb: pem_password_cb,
22728 userdata: *mut ::core::ffi::c_void,
22729 ) -> *mut stack_st_X509_INFO;
22730}
22731unsafe extern "C" {
22732 pub fn PEM_read_X509_REQ(
22733 fp: *mut FILE,
22734 out: *mut *mut X509_REQ,
22735 cb: pem_password_cb,
22736 userdata: *mut ::core::ffi::c_void,
22737 ) -> *mut X509_REQ;
22738}
22739unsafe extern "C" {
22740 pub fn PEM_read_PKCS7(
22741 fp: *mut FILE,
22742 out: *mut *mut PKCS7,
22743 cb: pem_password_cb,
22744 userdata: *mut ::core::ffi::c_void,
22745 ) -> *mut PKCS7;
22746}
22747unsafe extern "C" {
22748 pub fn PEM_read_PKCS8(
22749 fp: *mut FILE,
22750 out: *mut *mut X509_SIG,
22751 cb: pem_password_cb,
22752 userdata: *mut ::core::ffi::c_void,
22753 ) -> *mut X509_SIG;
22754}
22755unsafe extern "C" {
22756 pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
22757 fp: *mut FILE,
22758 out: *mut *mut PKCS8_PRIV_KEY_INFO,
22759 cb: pem_password_cb,
22760 userdata: *mut ::core::ffi::c_void,
22761 ) -> *mut PKCS8_PRIV_KEY_INFO;
22762}
22763unsafe extern "C" {
22764 pub fn PEM_read_RSAPrivateKey(
22765 fp: *mut FILE,
22766 out: *mut *mut RSA,
22767 cb: pem_password_cb,
22768 userdata: *mut ::core::ffi::c_void,
22769 ) -> *mut RSA;
22770}
22771unsafe extern "C" {
22772 pub fn PEM_read_RSAPublicKey(
22773 fp: *mut FILE,
22774 out: *mut *mut RSA,
22775 cb: pem_password_cb,
22776 userdata: *mut ::core::ffi::c_void,
22777 ) -> *mut RSA;
22778}
22779unsafe extern "C" {
22780 pub fn PEM_read_RSA_PUBKEY(
22781 fp: *mut FILE,
22782 out: *mut *mut RSA,
22783 cb: pem_password_cb,
22784 userdata: *mut ::core::ffi::c_void,
22785 ) -> *mut RSA;
22786}
22787unsafe extern "C" {
22788 pub fn PEM_read_DSAPrivateKey(
22789 fp: *mut FILE,
22790 out: *mut *mut DSA,
22791 cb: pem_password_cb,
22792 userdata: *mut ::core::ffi::c_void,
22793 ) -> *mut DSA;
22794}
22795unsafe extern "C" {
22796 pub fn PEM_read_DSA_PUBKEY(
22797 fp: *mut FILE,
22798 out: *mut *mut DSA,
22799 cb: pem_password_cb,
22800 userdata: *mut ::core::ffi::c_void,
22801 ) -> *mut DSA;
22802}
22803unsafe extern "C" {
22804 pub fn PEM_read_DSAparams(
22805 fp: *mut FILE,
22806 out: *mut *mut DSA,
22807 cb: pem_password_cb,
22808 userdata: *mut ::core::ffi::c_void,
22809 ) -> *mut DSA;
22810}
22811unsafe extern "C" {
22812 pub fn PEM_read_ECPrivateKey(
22813 fp: *mut FILE,
22814 out: *mut *mut EC_KEY,
22815 cb: pem_password_cb,
22816 userdata: *mut ::core::ffi::c_void,
22817 ) -> *mut EC_KEY;
22818}
22819unsafe extern "C" {
22820 pub fn PEM_read_EC_PUBKEY(
22821 fp: *mut FILE,
22822 out: *mut *mut EC_KEY,
22823 cb: pem_password_cb,
22824 userdata: *mut ::core::ffi::c_void,
22825 ) -> *mut EC_KEY;
22826}
22827unsafe extern "C" {
22828 pub fn PEM_read_DHparams(
22829 fp: *mut FILE,
22830 out: *mut *mut DH,
22831 cb: pem_password_cb,
22832 userdata: *mut ::core::ffi::c_void,
22833 ) -> *mut DH;
22834}
22835unsafe extern "C" {
22836 pub fn PEM_read_PrivateKey(
22837 fp: *mut FILE,
22838 out: *mut *mut EVP_PKEY,
22839 cb: pem_password_cb,
22840 userdata: *mut ::core::ffi::c_void,
22841 ) -> *mut EVP_PKEY;
22842}
22843unsafe extern "C" {
22844 pub fn PEM_read_PUBKEY(
22845 fp: *mut FILE,
22846 out: *mut *mut EVP_PKEY,
22847 cb: pem_password_cb,
22848 userdata: *mut ::core::ffi::c_void,
22849 ) -> *mut EVP_PKEY;
22850}
22851unsafe extern "C" {
22852 pub fn PEM_write_X509(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
22853}
22854unsafe extern "C" {
22855 pub fn PEM_write_X509_CRL(fp: *mut FILE, in_: *const X509_CRL) -> ::core::ffi::c_int;
22856}
22857unsafe extern "C" {
22858 pub fn PEM_write_X509_AUX(fp: *mut FILE, in_: *const X509) -> ::core::ffi::c_int;
22859}
22860unsafe extern "C" {
22861 pub fn PEM_write_X509_REQ(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
22862}
22863unsafe extern "C" {
22864 pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
22865}
22866unsafe extern "C" {
22867 pub fn PEM_write_PKCS7(fp: *mut FILE, in_: *const PKCS7) -> ::core::ffi::c_int;
22868}
22869unsafe extern "C" {
22870 pub fn PEM_write_PKCS8(fp: *mut FILE, in_: *const X509_SIG) -> ::core::ffi::c_int;
22871}
22872unsafe extern "C" {
22873 pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
22874 fp: *mut FILE,
22875 in_: *const PKCS8_PRIV_KEY_INFO,
22876 ) -> ::core::ffi::c_int;
22877}
22878unsafe extern "C" {
22879 pub fn PEM_write_RSAPrivateKey(
22880 fp: *mut FILE,
22881 in_: *const RSA,
22882 enc: *const EVP_CIPHER,
22883 pass: *const u8,
22884 pass_len: ::core::ffi::c_int,
22885 cb: pem_password_cb,
22886 userdata: *mut ::core::ffi::c_void,
22887 ) -> ::core::ffi::c_int;
22888}
22889unsafe extern "C" {
22890 pub fn PEM_write_RSAPublicKey(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
22891}
22892unsafe extern "C" {
22893 pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
22894}
22895unsafe extern "C" {
22896 pub fn PEM_write_DSAPrivateKey(
22897 fp: *mut FILE,
22898 in_: *const DSA,
22899 enc: *const EVP_CIPHER,
22900 pass: *const u8,
22901 pass_len: ::core::ffi::c_int,
22902 cb: pem_password_cb,
22903 userdata: *mut ::core::ffi::c_void,
22904 ) -> ::core::ffi::c_int;
22905}
22906unsafe extern "C" {
22907 pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
22908}
22909unsafe extern "C" {
22910 pub fn PEM_write_DSAparams(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
22911}
22912unsafe extern "C" {
22913 pub fn PEM_write_ECPrivateKey(
22914 fp: *mut FILE,
22915 in_: *const EC_KEY,
22916 enc: *const EVP_CIPHER,
22917 pass: *const u8,
22918 pass_len: ::core::ffi::c_int,
22919 cb: pem_password_cb,
22920 userdata: *mut ::core::ffi::c_void,
22921 ) -> ::core::ffi::c_int;
22922}
22923unsafe extern "C" {
22924 pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, in_: *const EC_KEY) -> ::core::ffi::c_int;
22925}
22926unsafe extern "C" {
22927 pub fn PEM_write_DHparams(fp: *mut FILE, in_: *const DH) -> ::core::ffi::c_int;
22928}
22929unsafe extern "C" {
22930 pub fn PEM_write_PrivateKey(
22931 fp: *mut FILE,
22932 in_: *const EVP_PKEY,
22933 enc: *const EVP_CIPHER,
22934 pass: *const u8,
22935 pass_len: ::core::ffi::c_int,
22936 cb: pem_password_cb,
22937 userdata: *mut ::core::ffi::c_void,
22938 ) -> ::core::ffi::c_int;
22939}
22940unsafe extern "C" {
22941 pub fn PEM_write_PUBKEY(fp: *mut FILE, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
22942}
22943unsafe extern "C" {
22944 pub fn PEM_read_bio(
22945 bio: *mut BIO,
22946 out_name: *mut *mut ::core::ffi::c_char,
22947 out_header: *mut *mut ::core::ffi::c_char,
22948 out_data: *mut *mut u8,
22949 out_len: *mut ::core::ffi::c_long,
22950 ) -> ::core::ffi::c_int;
22951}
22952unsafe extern "C" {
22953 pub fn PEM_read(
22954 fp: *mut FILE,
22955 out_name: *mut *mut ::core::ffi::c_char,
22956 out_header: *mut *mut ::core::ffi::c_char,
22957 out_data: *mut *mut u8,
22958 out_len: *mut ::core::ffi::c_long,
22959 ) -> ::core::ffi::c_int;
22960}
22961unsafe extern "C" {
22962 pub fn PEM_write_bio(
22963 bio: *mut BIO,
22964 name: *const ::core::ffi::c_char,
22965 hdr: *const ::core::ffi::c_char,
22966 data: *const u8,
22967 len: ::core::ffi::c_long,
22968 ) -> ::core::ffi::c_int;
22969}
22970unsafe extern "C" {
22971 pub fn PEM_write(
22972 fp: *mut FILE,
22973 name: *const ::core::ffi::c_char,
22974 hdr: *const ::core::ffi::c_char,
22975 data: *const u8,
22976 len: ::core::ffi::c_long,
22977 ) -> ::core::ffi::c_int;
22978}
22979unsafe extern "C" {
22980 pub fn PEM_bytes_read_bio(
22981 out_data: *mut *mut u8,
22982 out_len: *mut ::core::ffi::c_long,
22983 out_name: *mut *mut ::core::ffi::c_char,
22984 expected_name: *const ::core::ffi::c_char,
22985 bio: *mut BIO,
22986 cb: pem_password_cb,
22987 userdata: *mut ::core::ffi::c_void,
22988 ) -> ::core::ffi::c_int;
22989}
22990unsafe extern "C" {
22991 pub fn d2i_PKCS8PrivateKey_bio(
22992 bio: *mut BIO,
22993 out: *mut *mut EVP_PKEY,
22994 cb: pem_password_cb,
22995 userdata: *mut ::core::ffi::c_void,
22996 ) -> *mut EVP_PKEY;
22997}
22998unsafe extern "C" {
22999 pub fn i2d_PKCS8PrivateKey_bio(
23000 bio: *mut BIO,
23001 in_: *const EVP_PKEY,
23002 enc: *const EVP_CIPHER,
23003 pass: *const ::core::ffi::c_char,
23004 pass_len: ::core::ffi::c_int,
23005 cb: pem_password_cb,
23006 userdata: *mut ::core::ffi::c_void,
23007 ) -> ::core::ffi::c_int;
23008}
23009unsafe extern "C" {
23010 pub fn i2d_PKCS8PrivateKey_nid_bio(
23011 bio: *mut BIO,
23012 in_: *const EVP_PKEY,
23013 nid: ::core::ffi::c_int,
23014 pass: *const ::core::ffi::c_char,
23015 pass_len: ::core::ffi::c_int,
23016 cb: pem_password_cb,
23017 userdata: *mut ::core::ffi::c_void,
23018 ) -> ::core::ffi::c_int;
23019}
23020unsafe extern "C" {
23021 pub fn i2d_PKCS8PrivateKey_fp(
23022 fp: *mut FILE,
23023 in_: *const EVP_PKEY,
23024 enc: *const EVP_CIPHER,
23025 pass: *const ::core::ffi::c_char,
23026 pass_len: ::core::ffi::c_int,
23027 cb: pem_password_cb,
23028 userdata: *mut ::core::ffi::c_void,
23029 ) -> ::core::ffi::c_int;
23030}
23031unsafe extern "C" {
23032 pub fn i2d_PKCS8PrivateKey_nid_fp(
23033 fp: *mut FILE,
23034 in_: *const EVP_PKEY,
23035 nid: ::core::ffi::c_int,
23036 pass: *const ::core::ffi::c_char,
23037 pass_len: ::core::ffi::c_int,
23038 cb: pem_password_cb,
23039 userdata: *mut ::core::ffi::c_void,
23040 ) -> ::core::ffi::c_int;
23041}
23042unsafe extern "C" {
23043 pub fn d2i_PKCS8PrivateKey_fp(
23044 fp: *mut FILE,
23045 out: *mut *mut EVP_PKEY,
23046 cb: pem_password_cb,
23047 userdata: *mut ::core::ffi::c_void,
23048 ) -> *mut EVP_PKEY;
23049}
23050unsafe extern "C" {
23051 pub fn PEM_ASN1_read_bio(
23052 d2i: d2i_of_void,
23053 name: *const ::core::ffi::c_char,
23054 bio: *mut BIO,
23055 out: *mut *mut ::core::ffi::c_void,
23056 cb: pem_password_cb,
23057 userdata: *mut ::core::ffi::c_void,
23058 ) -> *mut ::core::ffi::c_void;
23059}
23060unsafe extern "C" {
23061 pub fn PEM_ASN1_read(
23062 d2i: d2i_of_void,
23063 name: *const ::core::ffi::c_char,
23064 fp: *mut FILE,
23065 out: *mut *mut ::core::ffi::c_void,
23066 cb: pem_password_cb,
23067 userdata: *mut ::core::ffi::c_void,
23068 ) -> *mut ::core::ffi::c_void;
23069}
23070unsafe extern "C" {
23071 pub fn PEM_ASN1_write_bio(
23072 i2d: i2d_of_void,
23073 name: *const ::core::ffi::c_char,
23074 bio: *mut BIO,
23075 in_: *const ::core::ffi::c_void,
23076 enc: *const EVP_CIPHER,
23077 pass: *const u8,
23078 pass_len: ::core::ffi::c_int,
23079 cb: pem_password_cb,
23080 userdata: *mut ::core::ffi::c_void,
23081 ) -> ::core::ffi::c_int;
23082}
23083unsafe extern "C" {
23084 pub fn PEM_ASN1_write(
23085 i2d: i2d_of_void,
23086 name: *const ::core::ffi::c_char,
23087 fp: *mut FILE,
23088 in_: *const ::core::ffi::c_void,
23089 enc: *const EVP_CIPHER,
23090 pass: *const u8,
23091 pass_len: ::core::ffi::c_int,
23092 callback: pem_password_cb,
23093 userdata: *mut ::core::ffi::c_void,
23094 ) -> ::core::ffi::c_int;
23095}
23096unsafe extern "C" {
23097 pub fn PKCS8_encrypt(
23098 pbe_nid: ::core::ffi::c_int,
23099 cipher: *const EVP_CIPHER,
23100 pass: *const ::core::ffi::c_char,
23101 pass_len: ::core::ffi::c_int,
23102 salt: *const u8,
23103 salt_len: usize,
23104 iterations: ::core::ffi::c_int,
23105 p8inf: *mut PKCS8_PRIV_KEY_INFO,
23106 ) -> *mut X509_SIG;
23107}
23108unsafe extern "C" {
23109 pub fn PKCS8_marshal_encrypted_private_key(
23110 out: *mut CBB,
23111 pbe_nid: ::core::ffi::c_int,
23112 cipher: *const EVP_CIPHER,
23113 pass: *const ::core::ffi::c_char,
23114 pass_len: usize,
23115 salt: *const u8,
23116 salt_len: usize,
23117 iterations: ::core::ffi::c_int,
23118 pkey: *const EVP_PKEY,
23119 ) -> ::core::ffi::c_int;
23120}
23121unsafe extern "C" {
23122 pub fn PKCS8_decrypt(
23123 pkcs8: *mut X509_SIG,
23124 pass: *const ::core::ffi::c_char,
23125 pass_len: ::core::ffi::c_int,
23126 ) -> *mut PKCS8_PRIV_KEY_INFO;
23127}
23128unsafe extern "C" {
23129 pub fn PKCS8_parse_encrypted_private_key(
23130 cbs: *mut CBS,
23131 pass: *const ::core::ffi::c_char,
23132 pass_len: usize,
23133 ) -> *mut EVP_PKEY;
23134}
23135unsafe extern "C" {
23136 pub fn PKCS12_get_key_and_certs(
23137 out_key: *mut *mut EVP_PKEY,
23138 out_certs: *mut stack_st_X509,
23139 in_: *mut CBS,
23140 password: *const ::core::ffi::c_char,
23141 ) -> ::core::ffi::c_int;
23142}
23143unsafe extern "C" {
23144 pub fn PKCS12_PBE_add();
23145}
23146unsafe extern "C" {
23147 pub fn d2i_PKCS12(
23148 out_p12: *mut *mut PKCS12,
23149 ber_bytes: *mut *const u8,
23150 ber_len: usize,
23151 ) -> *mut PKCS12;
23152}
23153unsafe extern "C" {
23154 pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23155}
23156unsafe extern "C" {
23157 pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23158}
23159unsafe extern "C" {
23160 pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::core::ffi::c_int;
23161}
23162unsafe extern "C" {
23163 pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::core::ffi::c_int;
23164}
23165unsafe extern "C" {
23166 pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::core::ffi::c_int;
23167}
23168unsafe extern "C" {
23169 pub fn PKCS12_parse(
23170 p12: *const PKCS12,
23171 password: *const ::core::ffi::c_char,
23172 out_pkey: *mut *mut EVP_PKEY,
23173 out_cert: *mut *mut X509,
23174 out_ca_certs: *mut *mut stack_st_X509,
23175 ) -> ::core::ffi::c_int;
23176}
23177unsafe extern "C" {
23178 pub fn PKCS12_verify_mac(
23179 p12: *const PKCS12,
23180 password: *const ::core::ffi::c_char,
23181 password_len: ::core::ffi::c_int,
23182 ) -> ::core::ffi::c_int;
23183}
23184unsafe extern "C" {
23185 pub fn PKCS12_create(
23186 password: *const ::core::ffi::c_char,
23187 name: *const ::core::ffi::c_char,
23188 pkey: *const EVP_PKEY,
23189 cert: *mut X509,
23190 chain: *const stack_st_X509,
23191 key_nid: ::core::ffi::c_int,
23192 cert_nid: ::core::ffi::c_int,
23193 iterations: ::core::ffi::c_int,
23194 mac_iterations: ::core::ffi::c_int,
23195 key_type: ::core::ffi::c_int,
23196 ) -> *mut PKCS12;
23197}
23198unsafe extern "C" {
23199 pub fn PKCS12_free(p12: *mut PKCS12);
23200}
23201pub type poly1305_state = [u8; 512usize];
23202unsafe extern "C" {
23203 pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
23204}
23205unsafe extern "C" {
23206 pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
23207}
23208unsafe extern "C" {
23209 pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
23210}
23211unsafe extern "C" {
23212 pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23213}
23214unsafe extern "C" {
23215 pub fn RAND_enable_fork_unsafe_buffering(fd: ::core::ffi::c_int);
23216}
23217unsafe extern "C" {
23218 pub fn RAND_disable_fork_unsafe_buffering();
23219}
23220unsafe extern "C" {
23221 pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
23222}
23223unsafe extern "C" {
23224 pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23225}
23226unsafe extern "C" {
23227 pub fn RAND_seed(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int);
23228}
23229unsafe extern "C" {
23230 pub fn RAND_load_file(
23231 path: *const ::core::ffi::c_char,
23232 num: ::core::ffi::c_long,
23233 ) -> ::core::ffi::c_int;
23234}
23235unsafe extern "C" {
23236 pub fn RAND_file_name(buf: *mut ::core::ffi::c_char, num: usize) -> *const ::core::ffi::c_char;
23237}
23238unsafe extern "C" {
23239 pub fn RAND_add(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int, entropy: f64);
23240}
23241unsafe extern "C" {
23242 pub fn RAND_egd(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
23243}
23244unsafe extern "C" {
23245 pub fn RAND_poll() -> ::core::ffi::c_int;
23246}
23247unsafe extern "C" {
23248 pub fn RAND_status() -> ::core::ffi::c_int;
23249}
23250unsafe extern "C" {
23251 pub fn RAND_cleanup();
23252}
23253#[repr(C)]
23254#[derive(Debug, Copy, Clone)]
23255pub struct rand_meth_st {
23256 pub seed: ::core::option::Option<
23257 unsafe extern "C" fn(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int),
23258 >,
23259 pub bytes: ::core::option::Option<
23260 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23261 >,
23262 pub cleanup: ::core::option::Option<unsafe extern "C" fn()>,
23263 pub add: ::core::option::Option<
23264 unsafe extern "C" fn(
23265 buf: *const ::core::ffi::c_void,
23266 num: ::core::ffi::c_int,
23267 entropy: f64,
23268 ),
23269 >,
23270 pub pseudorand: ::core::option::Option<
23271 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23272 >,
23273 pub status: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_int>,
23274}
23275unsafe extern "C" {
23276 pub fn RAND_SSLeay() -> *mut RAND_METHOD;
23277}
23278unsafe extern "C" {
23279 pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
23280}
23281unsafe extern "C" {
23282 pub fn RAND_get_rand_method() -> *const RAND_METHOD;
23283}
23284unsafe extern "C" {
23285 pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::core::ffi::c_int;
23286}
23287#[repr(C)]
23288#[derive(Debug, Copy, Clone)]
23289pub struct rc4_key_st {
23290 pub x: u32,
23291 pub y: u32,
23292 pub data: [u32; 256usize],
23293}
23294unsafe extern "C" {
23295 pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::core::ffi::c_uint, key: *const u8);
23296}
23297unsafe extern "C" {
23298 pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
23299}
23300unsafe extern "C" {
23301 pub fn RC4_options() -> *const ::core::ffi::c_char;
23302}
23303#[repr(C)]
23304#[derive(Debug, Copy, Clone)]
23305pub struct RIPEMD160state_st {
23306 pub h: [u32; 5usize],
23307 pub Nl: u32,
23308 pub Nh: u32,
23309 pub data: [u8; 64usize],
23310 pub num: ::core::ffi::c_uint,
23311}
23312unsafe extern "C" {
23313 pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23314}
23315unsafe extern "C" {
23316 pub fn RIPEMD160_Update(
23317 ctx: *mut RIPEMD160_CTX,
23318 data: *const ::core::ffi::c_void,
23319 len: usize,
23320 ) -> ::core::ffi::c_int;
23321}
23322unsafe extern "C" {
23323 pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23324}
23325unsafe extern "C" {
23326 pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
23327}
23328unsafe extern "C" {
23329 pub fn RIPEMD160_Transform(ctx: *mut RIPEMD160_CTX, block: *const u8);
23330}
23331unsafe extern "C" {
23332 pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
23333}
23334unsafe extern "C" {
23335 pub fn SLHDSA_SHA2_128S_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23336}
23337unsafe extern "C" {
23338 pub fn SLHDSA_SHAKE_256F_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23339}
23340unsafe extern "C" {
23341 pub fn SLHDSA_SHA2_128S_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23342}
23343unsafe extern "C" {
23344 pub fn SLHDSA_SHAKE_256F_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23345}
23346unsafe extern "C" {
23347 pub fn SLHDSA_SHA2_128S_sign(
23348 out_signature: *mut u8,
23349 private_key: *const u8,
23350 msg: *const u8,
23351 msg_len: usize,
23352 context: *const u8,
23353 context_len: usize,
23354 ) -> ::core::ffi::c_int;
23355}
23356unsafe extern "C" {
23357 pub fn SLHDSA_SHAKE_256F_sign(
23358 out_signature: *mut u8,
23359 private_key: *const u8,
23360 msg: *const u8,
23361 msg_len: usize,
23362 context: *const u8,
23363 context_len: usize,
23364 ) -> ::core::ffi::c_int;
23365}
23366unsafe extern "C" {
23367 pub fn SLHDSA_SHA2_128S_verify(
23368 signature: *const u8,
23369 signature_len: usize,
23370 public_key: *const u8,
23371 msg: *const u8,
23372 msg_len: usize,
23373 context: *const u8,
23374 context_len: usize,
23375 ) -> ::core::ffi::c_int;
23376}
23377unsafe extern "C" {
23378 pub fn SLHDSA_SHAKE_256F_verify(
23379 signature: *const u8,
23380 signature_len: usize,
23381 public_key: *const u8,
23382 msg: *const u8,
23383 msg_len: usize,
23384 context: *const u8,
23385 context_len: usize,
23386 ) -> ::core::ffi::c_int;
23387}
23388unsafe extern "C" {
23389 pub fn SLHDSA_SHA2_128S_prehash_sign(
23390 out_signature: *mut u8,
23391 private_key: *const u8,
23392 hashed_msg: *const u8,
23393 hashed_msg_len: usize,
23394 hash_nid: ::core::ffi::c_int,
23395 context: *const u8,
23396 context_len: usize,
23397 ) -> ::core::ffi::c_int;
23398}
23399unsafe extern "C" {
23400 pub fn SLHDSA_SHA2_128S_prehash_verify(
23401 signature: *const u8,
23402 signature_len: usize,
23403 public_key: *const u8,
23404 hashed_msg: *const u8,
23405 hashed_msg_len: usize,
23406 hash_nid: ::core::ffi::c_int,
23407 context: *const u8,
23408 context_len: usize,
23409 ) -> ::core::ffi::c_int;
23410}
23411unsafe extern "C" {
23412 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_sign(
23413 out_signature: *mut u8,
23414 private_key: *const u8,
23415 hashed_msg: *const u8,
23416 hashed_msg_len: usize,
23417 hash_nid: ::core::ffi::c_int,
23418 context: *const u8,
23419 context_len: usize,
23420 ) -> ::core::ffi::c_int;
23421}
23422unsafe extern "C" {
23423 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_verify(
23424 signature: *const u8,
23425 signature_len: usize,
23426 public_key: *const u8,
23427 hashed_msg: *const u8,
23428 hashed_msg_len: usize,
23429 hash_nid: ::core::ffi::c_int,
23430 context: *const u8,
23431 context_len: usize,
23432 ) -> ::core::ffi::c_int;
23433}
23434unsafe extern "C" {
23435 pub fn TLS_method() -> *const SSL_METHOD;
23436}
23437unsafe extern "C" {
23438 pub fn DTLS_method() -> *const SSL_METHOD;
23439}
23440unsafe extern "C" {
23441 pub fn TLS_with_buffers_method() -> *const SSL_METHOD;
23442}
23443unsafe extern "C" {
23444 pub fn DTLS_with_buffers_method() -> *const SSL_METHOD;
23445}
23446unsafe extern "C" {
23447 pub fn SSL_CTX_new(method: *const SSL_METHOD) -> *mut SSL_CTX;
23448}
23449unsafe extern "C" {
23450 pub fn SSL_CTX_up_ref(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23451}
23452unsafe extern "C" {
23453 pub fn SSL_CTX_free(ctx: *mut SSL_CTX);
23454}
23455unsafe extern "C" {
23456 pub fn SSL_new(ctx: *mut SSL_CTX) -> *mut SSL;
23457}
23458unsafe extern "C" {
23459 pub fn SSL_free(ssl: *mut SSL);
23460}
23461unsafe extern "C" {
23462 pub fn SSL_get_SSL_CTX(ssl: *const SSL) -> *mut SSL_CTX;
23463}
23464unsafe extern "C" {
23465 pub fn SSL_set_connect_state(ssl: *mut SSL);
23466}
23467unsafe extern "C" {
23468 pub fn SSL_set_accept_state(ssl: *mut SSL);
23469}
23470unsafe extern "C" {
23471 pub fn SSL_is_server(ssl: *const SSL) -> ::core::ffi::c_int;
23472}
23473unsafe extern "C" {
23474 pub fn SSL_is_dtls(ssl: *const SSL) -> ::core::ffi::c_int;
23475}
23476unsafe extern "C" {
23477 pub fn SSL_is_quic(ssl: *const SSL) -> ::core::ffi::c_int;
23478}
23479unsafe extern "C" {
23480 pub fn SSL_set_bio(ssl: *mut SSL, rbio: *mut BIO, wbio: *mut BIO);
23481}
23482unsafe extern "C" {
23483 pub fn SSL_set0_rbio(ssl: *mut SSL, rbio: *mut BIO);
23484}
23485unsafe extern "C" {
23486 pub fn SSL_set0_wbio(ssl: *mut SSL, wbio: *mut BIO);
23487}
23488unsafe extern "C" {
23489 pub fn SSL_get_rbio(ssl: *const SSL) -> *mut BIO;
23490}
23491unsafe extern "C" {
23492 pub fn SSL_get_wbio(ssl: *const SSL) -> *mut BIO;
23493}
23494unsafe extern "C" {
23495 pub fn SSL_get_fd(ssl: *const SSL) -> ::core::ffi::c_int;
23496}
23497unsafe extern "C" {
23498 pub fn SSL_get_rfd(ssl: *const SSL) -> ::core::ffi::c_int;
23499}
23500unsafe extern "C" {
23501 pub fn SSL_get_wfd(ssl: *const SSL) -> ::core::ffi::c_int;
23502}
23503unsafe extern "C" {
23504 pub fn SSL_set_fd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23505}
23506unsafe extern "C" {
23507 pub fn SSL_set_rfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23508}
23509unsafe extern "C" {
23510 pub fn SSL_set_wfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23511}
23512unsafe extern "C" {
23513 pub fn SSL_do_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
23514}
23515unsafe extern "C" {
23516 pub fn SSL_connect(ssl: *mut SSL) -> ::core::ffi::c_int;
23517}
23518unsafe extern "C" {
23519 pub fn SSL_accept(ssl: *mut SSL) -> ::core::ffi::c_int;
23520}
23521unsafe extern "C" {
23522 pub fn SSL_read(
23523 ssl: *mut SSL,
23524 buf: *mut ::core::ffi::c_void,
23525 num: ::core::ffi::c_int,
23526 ) -> ::core::ffi::c_int;
23527}
23528unsafe extern "C" {
23529 pub fn SSL_peek(
23530 ssl: *mut SSL,
23531 buf: *mut ::core::ffi::c_void,
23532 num: ::core::ffi::c_int,
23533 ) -> ::core::ffi::c_int;
23534}
23535unsafe extern "C" {
23536 pub fn SSL_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23537}
23538unsafe extern "C" {
23539 pub fn SSL_has_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23540}
23541unsafe extern "C" {
23542 pub fn SSL_write(
23543 ssl: *mut SSL,
23544 buf: *const ::core::ffi::c_void,
23545 num: ::core::ffi::c_int,
23546 ) -> ::core::ffi::c_int;
23547}
23548unsafe extern "C" {
23549 pub fn SSL_key_update(ssl: *mut SSL, request_type: ::core::ffi::c_int) -> ::core::ffi::c_int;
23550}
23551unsafe extern "C" {
23552 pub fn SSL_shutdown(ssl: *mut SSL) -> ::core::ffi::c_int;
23553}
23554unsafe extern "C" {
23555 pub fn SSL_CTX_set_quiet_shutdown(ctx: *mut SSL_CTX, mode: ::core::ffi::c_int);
23556}
23557unsafe extern "C" {
23558 pub fn SSL_CTX_get_quiet_shutdown(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
23559}
23560unsafe extern "C" {
23561 pub fn SSL_set_quiet_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
23562}
23563unsafe extern "C" {
23564 pub fn SSL_get_quiet_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
23565}
23566unsafe extern "C" {
23567 pub fn SSL_get_error(ssl: *const SSL, ret_code: ::core::ffi::c_int) -> ::core::ffi::c_int;
23568}
23569unsafe extern "C" {
23570 pub fn SSL_error_description(err: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
23571}
23572unsafe extern "C" {
23573 pub fn SSL_set_mtu(ssl: *mut SSL, mtu: ::core::ffi::c_uint) -> ::core::ffi::c_int;
23574}
23575unsafe extern "C" {
23576 pub fn DTLSv1_set_initial_timeout_duration(ssl: *mut SSL, duration_ms: u32);
23577}
23578unsafe extern "C" {
23579 pub fn DTLSv1_get_timeout(ssl: *const SSL, out: *mut timeval) -> ::core::ffi::c_int;
23580}
23581unsafe extern "C" {
23582 pub fn DTLSv1_handle_timeout(ssl: *mut SSL) -> ::core::ffi::c_int;
23583}
23584unsafe extern "C" {
23585 pub fn SSL_CTX_set_min_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23586}
23587unsafe extern "C" {
23588 pub fn SSL_CTX_set_max_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23589}
23590unsafe extern "C" {
23591 pub fn SSL_CTX_get_min_proto_version(ctx: *const SSL_CTX) -> u16;
23592}
23593unsafe extern "C" {
23594 pub fn SSL_CTX_get_max_proto_version(ctx: *const SSL_CTX) -> u16;
23595}
23596unsafe extern "C" {
23597 pub fn SSL_set_min_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23598}
23599unsafe extern "C" {
23600 pub fn SSL_set_max_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23601}
23602unsafe extern "C" {
23603 pub fn SSL_get_min_proto_version(ssl: *const SSL) -> u16;
23604}
23605unsafe extern "C" {
23606 pub fn SSL_get_max_proto_version(ssl: *const SSL) -> u16;
23607}
23608unsafe extern "C" {
23609 pub fn SSL_version(ssl: *const SSL) -> ::core::ffi::c_int;
23610}
23611unsafe extern "C" {
23612 pub fn SSL_CTX_set_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23613}
23614unsafe extern "C" {
23615 pub fn SSL_CTX_clear_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23616}
23617unsafe extern "C" {
23618 pub fn SSL_CTX_get_options(ctx: *const SSL_CTX) -> u32;
23619}
23620unsafe extern "C" {
23621 pub fn SSL_set_options(ssl: *mut SSL, options: u32) -> u32;
23622}
23623unsafe extern "C" {
23624 pub fn SSL_clear_options(ssl: *mut SSL, options: u32) -> u32;
23625}
23626unsafe extern "C" {
23627 pub fn SSL_get_options(ssl: *const SSL) -> u32;
23628}
23629unsafe extern "C" {
23630 pub fn SSL_CTX_set_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23631}
23632unsafe extern "C" {
23633 pub fn SSL_CTX_clear_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23634}
23635unsafe extern "C" {
23636 pub fn SSL_CTX_get_mode(ctx: *const SSL_CTX) -> u32;
23637}
23638unsafe extern "C" {
23639 pub fn SSL_set_mode(ssl: *mut SSL, mode: u32) -> u32;
23640}
23641unsafe extern "C" {
23642 pub fn SSL_clear_mode(ssl: *mut SSL, mode: u32) -> u32;
23643}
23644unsafe extern "C" {
23645 pub fn SSL_get_mode(ssl: *const SSL) -> u32;
23646}
23647unsafe extern "C" {
23648 pub fn SSL_CTX_set1_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
23649}
23650unsafe extern "C" {
23651 pub fn SSL_CREDENTIAL_new_x509() -> *mut SSL_CREDENTIAL;
23652}
23653unsafe extern "C" {
23654 pub fn SSL_CREDENTIAL_up_ref(cred: *mut SSL_CREDENTIAL);
23655}
23656unsafe extern "C" {
23657 pub fn SSL_CREDENTIAL_dup_ref(cred: *const SSL_CREDENTIAL) -> *mut SSL_CREDENTIAL;
23658}
23659unsafe extern "C" {
23660 pub fn SSL_CREDENTIAL_free(cred: *mut SSL_CREDENTIAL);
23661}
23662unsafe extern "C" {
23663 pub fn SSL_CREDENTIAL_is_complete(cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
23664}
23665unsafe extern "C" {
23666 pub fn SSL_CREDENTIAL_set1_private_key(
23667 cred: *mut SSL_CREDENTIAL,
23668 key: *mut EVP_PKEY,
23669 ) -> ::core::ffi::c_int;
23670}
23671unsafe extern "C" {
23672 pub fn SSL_CREDENTIAL_set1_signing_algorithm_prefs(
23673 cred: *mut SSL_CREDENTIAL,
23674 prefs: *const u16,
23675 num_prefs: usize,
23676 ) -> ::core::ffi::c_int;
23677}
23678unsafe extern "C" {
23679 pub fn SSL_CREDENTIAL_set1_cert_chain(
23680 cred: *mut SSL_CREDENTIAL,
23681 certs: *const *mut CRYPTO_BUFFER,
23682 num_certs: usize,
23683 ) -> ::core::ffi::c_int;
23684}
23685unsafe extern "C" {
23686 pub fn SSL_CREDENTIAL_set1_ocsp_response(
23687 cred: *mut SSL_CREDENTIAL,
23688 ocsp: *mut CRYPTO_BUFFER,
23689 ) -> ::core::ffi::c_int;
23690}
23691unsafe extern "C" {
23692 pub fn SSL_CREDENTIAL_set1_certificate_properties(
23693 cred: *mut SSL_CREDENTIAL,
23694 cert_property_list: *mut CRYPTO_BUFFER,
23695 ) -> ::core::ffi::c_int;
23696}
23697unsafe extern "C" {
23698 pub fn SSL_CREDENTIAL_set1_signed_cert_timestamp_list(
23699 cred: *mut SSL_CREDENTIAL,
23700 sct_list: *mut CRYPTO_BUFFER,
23701 ) -> ::core::ffi::c_int;
23702}
23703unsafe extern "C" {
23704 pub fn SSL_CREDENTIAL_set_must_match_issuer(
23705 cred: *mut SSL_CREDENTIAL,
23706 match_: ::core::ffi::c_int,
23707 );
23708}
23709unsafe extern "C" {
23710 pub fn SSL_CTX_add1_credential(
23711 ctx: *mut SSL_CTX,
23712 cred: *const SSL_CREDENTIAL,
23713 ) -> ::core::ffi::c_int;
23714}
23715unsafe extern "C" {
23716 pub fn SSL_add1_credential(ssl: *mut SSL, cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
23717}
23718unsafe extern "C" {
23719 pub fn SSL_certs_clear(ssl: *mut SSL);
23720}
23721unsafe extern "C" {
23722 pub fn SSL_get0_selected_credential(ssl: *const SSL) -> *const SSL_CREDENTIAL;
23723}
23724unsafe extern "C" {
23725 pub fn SSL_CTX_use_certificate(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23726}
23727unsafe extern "C" {
23728 pub fn SSL_use_certificate(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23729}
23730unsafe extern "C" {
23731 pub fn SSL_CTX_use_PrivateKey(ctx: *mut SSL_CTX, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
23732}
23733unsafe extern "C" {
23734 pub fn SSL_use_PrivateKey(ssl: *mut SSL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
23735}
23736unsafe extern "C" {
23737 pub fn SSL_CTX_set0_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23738}
23739unsafe extern "C" {
23740 pub fn SSL_CTX_set1_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23741}
23742unsafe extern "C" {
23743 pub fn SSL_set0_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23744}
23745unsafe extern "C" {
23746 pub fn SSL_set1_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
23747}
23748unsafe extern "C" {
23749 pub fn SSL_CTX_add0_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23750}
23751unsafe extern "C" {
23752 pub fn SSL_CTX_add1_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23753}
23754unsafe extern "C" {
23755 pub fn SSL_add0_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23756}
23757unsafe extern "C" {
23758 pub fn SSL_CTX_add_extra_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
23759}
23760unsafe extern "C" {
23761 pub fn SSL_add1_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
23762}
23763unsafe extern "C" {
23764 pub fn SSL_CTX_clear_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23765}
23766unsafe extern "C" {
23767 pub fn SSL_CTX_clear_extra_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23768}
23769unsafe extern "C" {
23770 pub fn SSL_clear_chain_certs(ssl: *mut SSL) -> ::core::ffi::c_int;
23771}
23772unsafe extern "C" {
23773 pub fn SSL_CTX_set_cert_cb(
23774 ctx: *mut SSL_CTX,
23775 cb: ::core::option::Option<
23776 unsafe extern "C" fn(
23777 ssl: *mut SSL,
23778 arg: *mut ::core::ffi::c_void,
23779 ) -> ::core::ffi::c_int,
23780 >,
23781 arg: *mut ::core::ffi::c_void,
23782 );
23783}
23784unsafe extern "C" {
23785 pub fn SSL_set_cert_cb(
23786 ssl: *mut SSL,
23787 cb: ::core::option::Option<
23788 unsafe extern "C" fn(
23789 ssl: *mut SSL,
23790 arg: *mut ::core::ffi::c_void,
23791 ) -> ::core::ffi::c_int,
23792 >,
23793 arg: *mut ::core::ffi::c_void,
23794 );
23795}
23796unsafe extern "C" {
23797 pub fn SSL_get0_certificate_types(ssl: *const SSL, out_types: *mut *const u8) -> usize;
23798}
23799unsafe extern "C" {
23800 pub fn SSL_get0_peer_verify_algorithms(ssl: *const SSL, out_sigalgs: *mut *const u16) -> usize;
23801}
23802unsafe extern "C" {
23803 pub fn SSL_get0_peer_delegation_algorithms(
23804 ssl: *const SSL,
23805 out_sigalgs: *mut *const u16,
23806 ) -> usize;
23807}
23808unsafe extern "C" {
23809 pub fn SSL_CTX_get0_certificate(ctx: *const SSL_CTX) -> *mut X509;
23810}
23811unsafe extern "C" {
23812 pub fn SSL_get_certificate(ssl: *const SSL) -> *mut X509;
23813}
23814unsafe extern "C" {
23815 pub fn SSL_CTX_get0_privatekey(ctx: *const SSL_CTX) -> *mut EVP_PKEY;
23816}
23817unsafe extern "C" {
23818 pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
23819}
23820unsafe extern "C" {
23821 pub fn SSL_CTX_get0_chain_certs(
23822 ctx: *const SSL_CTX,
23823 out_chain: *mut *mut stack_st_X509,
23824 ) -> ::core::ffi::c_int;
23825}
23826unsafe extern "C" {
23827 pub fn SSL_CTX_get_extra_chain_certs(
23828 ctx: *const SSL_CTX,
23829 out_chain: *mut *mut stack_st_X509,
23830 ) -> ::core::ffi::c_int;
23831}
23832unsafe extern "C" {
23833 pub fn SSL_get0_chain_certs(
23834 ssl: *const SSL,
23835 out_chain: *mut *mut stack_st_X509,
23836 ) -> ::core::ffi::c_int;
23837}
23838unsafe extern "C" {
23839 pub fn SSL_CTX_set_signed_cert_timestamp_list(
23840 ctx: *mut SSL_CTX,
23841 list: *const u8,
23842 list_len: usize,
23843 ) -> ::core::ffi::c_int;
23844}
23845unsafe extern "C" {
23846 pub fn SSL_set_signed_cert_timestamp_list(
23847 ctx: *mut SSL,
23848 list: *const u8,
23849 list_len: usize,
23850 ) -> ::core::ffi::c_int;
23851}
23852unsafe extern "C" {
23853 pub fn SSL_CTX_set_ocsp_response(
23854 ctx: *mut SSL_CTX,
23855 response: *const u8,
23856 response_len: usize,
23857 ) -> ::core::ffi::c_int;
23858}
23859unsafe extern "C" {
23860 pub fn SSL_set_ocsp_response(
23861 ssl: *mut SSL,
23862 response: *const u8,
23863 response_len: usize,
23864 ) -> ::core::ffi::c_int;
23865}
23866unsafe extern "C" {
23867 pub fn SSL_get_signature_algorithm_name(
23868 sigalg: u16,
23869 include_curve: ::core::ffi::c_int,
23870 ) -> *const ::core::ffi::c_char;
23871}
23872unsafe extern "C" {
23873 pub fn SSL_get_all_signature_algorithm_names(
23874 out: *mut *const ::core::ffi::c_char,
23875 max_out: usize,
23876 ) -> usize;
23877}
23878unsafe extern "C" {
23879 pub fn SSL_get_signature_algorithm_key_type(sigalg: u16) -> ::core::ffi::c_int;
23880}
23881unsafe extern "C" {
23882 pub fn SSL_get_signature_algorithm_digest(sigalg: u16) -> *const EVP_MD;
23883}
23884unsafe extern "C" {
23885 pub fn SSL_is_signature_algorithm_rsa_pss(sigalg: u16) -> ::core::ffi::c_int;
23886}
23887unsafe extern "C" {
23888 pub fn SSL_CTX_set_signing_algorithm_prefs(
23889 ctx: *mut SSL_CTX,
23890 prefs: *const u16,
23891 num_prefs: usize,
23892 ) -> ::core::ffi::c_int;
23893}
23894unsafe extern "C" {
23895 pub fn SSL_set_signing_algorithm_prefs(
23896 ssl: *mut SSL,
23897 prefs: *const u16,
23898 num_prefs: usize,
23899 ) -> ::core::ffi::c_int;
23900}
23901unsafe extern "C" {
23902 pub fn SSL_CTX_set_chain_and_key(
23903 ctx: *mut SSL_CTX,
23904 certs: *const *mut CRYPTO_BUFFER,
23905 num_certs: usize,
23906 privkey: *mut EVP_PKEY,
23907 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
23908 ) -> ::core::ffi::c_int;
23909}
23910unsafe extern "C" {
23911 pub fn SSL_set_chain_and_key(
23912 ssl: *mut SSL,
23913 certs: *const *mut CRYPTO_BUFFER,
23914 num_certs: usize,
23915 privkey: *mut EVP_PKEY,
23916 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
23917 ) -> ::core::ffi::c_int;
23918}
23919unsafe extern "C" {
23920 pub fn SSL_CTX_get0_chain(ctx: *const SSL_CTX) -> *const stack_st_CRYPTO_BUFFER;
23921}
23922unsafe extern "C" {
23923 pub fn SSL_get0_chain(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
23924}
23925unsafe extern "C" {
23926 pub fn SSL_CTX_use_RSAPrivateKey(ctx: *mut SSL_CTX, rsa: *mut RSA) -> ::core::ffi::c_int;
23927}
23928unsafe extern "C" {
23929 pub fn SSL_use_RSAPrivateKey(ssl: *mut SSL, rsa: *mut RSA) -> ::core::ffi::c_int;
23930}
23931unsafe extern "C" {
23932 pub fn SSL_CTX_use_certificate_ASN1(
23933 ctx: *mut SSL_CTX,
23934 der_len: usize,
23935 der: *const u8,
23936 ) -> ::core::ffi::c_int;
23937}
23938unsafe extern "C" {
23939 pub fn SSL_use_certificate_ASN1(
23940 ssl: *mut SSL,
23941 der: *const u8,
23942 der_len: usize,
23943 ) -> ::core::ffi::c_int;
23944}
23945unsafe extern "C" {
23946 pub fn SSL_CTX_use_PrivateKey_ASN1(
23947 pk: ::core::ffi::c_int,
23948 ctx: *mut SSL_CTX,
23949 der: *const u8,
23950 der_len: usize,
23951 ) -> ::core::ffi::c_int;
23952}
23953unsafe extern "C" {
23954 pub fn SSL_use_PrivateKey_ASN1(
23955 type_: ::core::ffi::c_int,
23956 ssl: *mut SSL,
23957 der: *const u8,
23958 der_len: usize,
23959 ) -> ::core::ffi::c_int;
23960}
23961unsafe extern "C" {
23962 pub fn SSL_CTX_use_RSAPrivateKey_ASN1(
23963 ctx: *mut SSL_CTX,
23964 der: *const u8,
23965 der_len: usize,
23966 ) -> ::core::ffi::c_int;
23967}
23968unsafe extern "C" {
23969 pub fn SSL_use_RSAPrivateKey_ASN1(
23970 ssl: *mut SSL,
23971 der: *const u8,
23972 der_len: usize,
23973 ) -> ::core::ffi::c_int;
23974}
23975unsafe extern "C" {
23976 pub fn SSL_CTX_use_RSAPrivateKey_file(
23977 ctx: *mut SSL_CTX,
23978 file: *const ::core::ffi::c_char,
23979 type_: ::core::ffi::c_int,
23980 ) -> ::core::ffi::c_int;
23981}
23982unsafe extern "C" {
23983 pub fn SSL_use_RSAPrivateKey_file(
23984 ssl: *mut SSL,
23985 file: *const ::core::ffi::c_char,
23986 type_: ::core::ffi::c_int,
23987 ) -> ::core::ffi::c_int;
23988}
23989unsafe extern "C" {
23990 pub fn SSL_CTX_use_certificate_file(
23991 ctx: *mut SSL_CTX,
23992 file: *const ::core::ffi::c_char,
23993 type_: ::core::ffi::c_int,
23994 ) -> ::core::ffi::c_int;
23995}
23996unsafe extern "C" {
23997 pub fn SSL_use_certificate_file(
23998 ssl: *mut SSL,
23999 file: *const ::core::ffi::c_char,
24000 type_: ::core::ffi::c_int,
24001 ) -> ::core::ffi::c_int;
24002}
24003unsafe extern "C" {
24004 pub fn SSL_CTX_use_PrivateKey_file(
24005 ctx: *mut SSL_CTX,
24006 file: *const ::core::ffi::c_char,
24007 type_: ::core::ffi::c_int,
24008 ) -> ::core::ffi::c_int;
24009}
24010unsafe extern "C" {
24011 pub fn SSL_use_PrivateKey_file(
24012 ssl: *mut SSL,
24013 file: *const ::core::ffi::c_char,
24014 type_: ::core::ffi::c_int,
24015 ) -> ::core::ffi::c_int;
24016}
24017unsafe extern "C" {
24018 pub fn SSL_CTX_use_certificate_chain_file(
24019 ctx: *mut SSL_CTX,
24020 file: *const ::core::ffi::c_char,
24021 ) -> ::core::ffi::c_int;
24022}
24023unsafe extern "C" {
24024 pub fn SSL_CTX_set_default_passwd_cb(ctx: *mut SSL_CTX, cb: pem_password_cb);
24025}
24026unsafe extern "C" {
24027 pub fn SSL_CTX_get_default_passwd_cb(ctx: *const SSL_CTX) -> pem_password_cb;
24028}
24029unsafe extern "C" {
24030 pub fn SSL_CTX_set_default_passwd_cb_userdata(
24031 ctx: *mut SSL_CTX,
24032 data: *mut ::core::ffi::c_void,
24033 );
24034}
24035unsafe extern "C" {
24036 pub fn SSL_CTX_get_default_passwd_cb_userdata(ctx: *const SSL_CTX) -> *mut ::core::ffi::c_void;
24037}
24038pub const ssl_private_key_result_t_ssl_private_key_success: ssl_private_key_result_t = 0;
24039pub const ssl_private_key_result_t_ssl_private_key_retry: ssl_private_key_result_t = 1;
24040pub const ssl_private_key_result_t_ssl_private_key_failure: ssl_private_key_result_t = 2;
24041pub type ssl_private_key_result_t = ::core::ffi::c_uint;
24042#[repr(C)]
24043#[derive(Debug, Copy, Clone)]
24044pub struct ssl_private_key_method_st {
24045 pub sign: ::core::option::Option<
24046 unsafe extern "C" fn(
24047 ssl: *mut SSL,
24048 out: *mut u8,
24049 out_len: *mut usize,
24050 max_out: usize,
24051 signature_algorithm: u16,
24052 in_: *const u8,
24053 in_len: usize,
24054 ) -> ssl_private_key_result_t,
24055 >,
24056 pub decrypt: ::core::option::Option<
24057 unsafe extern "C" fn(
24058 ssl: *mut SSL,
24059 out: *mut u8,
24060 out_len: *mut usize,
24061 max_out: usize,
24062 in_: *const u8,
24063 in_len: usize,
24064 ) -> ssl_private_key_result_t,
24065 >,
24066 pub complete: ::core::option::Option<
24067 unsafe extern "C" fn(
24068 ssl: *mut SSL,
24069 out: *mut u8,
24070 out_len: *mut usize,
24071 max_out: usize,
24072 ) -> ssl_private_key_result_t,
24073 >,
24074}
24075unsafe extern "C" {
24076 pub fn SSL_set_private_key_method(ssl: *mut SSL, key_method: *const SSL_PRIVATE_KEY_METHOD);
24077}
24078unsafe extern "C" {
24079 pub fn SSL_CTX_set_private_key_method(
24080 ctx: *mut SSL_CTX,
24081 key_method: *const SSL_PRIVATE_KEY_METHOD,
24082 );
24083}
24084unsafe extern "C" {
24085 pub fn SSL_CREDENTIAL_set_private_key_method(
24086 cred: *mut SSL_CREDENTIAL,
24087 key_method: *const SSL_PRIVATE_KEY_METHOD,
24088 ) -> ::core::ffi::c_int;
24089}
24090unsafe extern "C" {
24091 pub fn SSL_can_release_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
24092}
24093#[repr(C)]
24094#[derive(Debug)]
24095pub struct stack_st_SSL_CIPHER {
24096 _unused: [u8; 0],
24097}
24098pub type sk_SSL_CIPHER_free_func =
24099 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER)>;
24100pub type sk_SSL_CIPHER_copy_func =
24101 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER) -> *const SSL_CIPHER>;
24102pub type sk_SSL_CIPHER_cmp_func = ::core::option::Option<
24103 unsafe extern "C" fn(
24104 arg1: *const *const SSL_CIPHER,
24105 arg2: *const *const SSL_CIPHER,
24106 ) -> ::core::ffi::c_int,
24107>;
24108pub type sk_SSL_CIPHER_delete_if_func = ::core::option::Option<
24109 unsafe extern "C" fn(
24110 arg1: *const SSL_CIPHER,
24111 arg2: *mut ::core::ffi::c_void,
24112 ) -> ::core::ffi::c_int,
24113>;
24114unsafe extern "C" {
24115 #[link_name = "sk_SSL_CIPHER_call_free_func__extern"]
24116 pub fn sk_SSL_CIPHER_call_free_func(
24117 free_func: OPENSSL_sk_free_func,
24118 ptr: *mut ::core::ffi::c_void,
24119 );
24120}
24121unsafe extern "C" {
24122 #[link_name = "sk_SSL_CIPHER_call_copy_func__extern"]
24123 pub fn sk_SSL_CIPHER_call_copy_func(
24124 copy_func: OPENSSL_sk_copy_func,
24125 ptr: *const ::core::ffi::c_void,
24126 ) -> *mut ::core::ffi::c_void;
24127}
24128unsafe extern "C" {
24129 #[link_name = "sk_SSL_CIPHER_call_cmp_func__extern"]
24130 pub fn sk_SSL_CIPHER_call_cmp_func(
24131 cmp_func: OPENSSL_sk_cmp_func,
24132 a: *const ::core::ffi::c_void,
24133 b: *const ::core::ffi::c_void,
24134 ) -> ::core::ffi::c_int;
24135}
24136unsafe extern "C" {
24137 #[link_name = "sk_SSL_CIPHER_call_delete_if_func__extern"]
24138 pub fn sk_SSL_CIPHER_call_delete_if_func(
24139 func: OPENSSL_sk_delete_if_func,
24140 obj: *mut ::core::ffi::c_void,
24141 data: *mut ::core::ffi::c_void,
24142 ) -> ::core::ffi::c_int;
24143}
24144unsafe extern "C" {
24145 #[link_name = "sk_SSL_CIPHER_new__extern"]
24146 pub fn sk_SSL_CIPHER_new(comp: sk_SSL_CIPHER_cmp_func) -> *mut stack_st_SSL_CIPHER;
24147}
24148unsafe extern "C" {
24149 #[link_name = "sk_SSL_CIPHER_new_null__extern"]
24150 pub fn sk_SSL_CIPHER_new_null() -> *mut stack_st_SSL_CIPHER;
24151}
24152unsafe extern "C" {
24153 #[link_name = "sk_SSL_CIPHER_num__extern"]
24154 pub fn sk_SSL_CIPHER_num(sk: *const stack_st_SSL_CIPHER) -> usize;
24155}
24156unsafe extern "C" {
24157 #[link_name = "sk_SSL_CIPHER_zero__extern"]
24158 pub fn sk_SSL_CIPHER_zero(sk: *mut stack_st_SSL_CIPHER);
24159}
24160unsafe extern "C" {
24161 #[link_name = "sk_SSL_CIPHER_value__extern"]
24162 pub fn sk_SSL_CIPHER_value(sk: *const stack_st_SSL_CIPHER, i: usize) -> *const SSL_CIPHER;
24163}
24164unsafe extern "C" {
24165 #[link_name = "sk_SSL_CIPHER_set__extern"]
24166 pub fn sk_SSL_CIPHER_set(
24167 sk: *mut stack_st_SSL_CIPHER,
24168 i: usize,
24169 p: *const SSL_CIPHER,
24170 ) -> *const SSL_CIPHER;
24171}
24172unsafe extern "C" {
24173 #[link_name = "sk_SSL_CIPHER_free__extern"]
24174 pub fn sk_SSL_CIPHER_free(sk: *mut stack_st_SSL_CIPHER);
24175}
24176unsafe extern "C" {
24177 #[link_name = "sk_SSL_CIPHER_pop_free__extern"]
24178 pub fn sk_SSL_CIPHER_pop_free(sk: *mut stack_st_SSL_CIPHER, free_func: sk_SSL_CIPHER_free_func);
24179}
24180unsafe extern "C" {
24181 #[link_name = "sk_SSL_CIPHER_insert__extern"]
24182 pub fn sk_SSL_CIPHER_insert(
24183 sk: *mut stack_st_SSL_CIPHER,
24184 p: *const SSL_CIPHER,
24185 where_: usize,
24186 ) -> usize;
24187}
24188unsafe extern "C" {
24189 #[link_name = "sk_SSL_CIPHER_delete__extern"]
24190 pub fn sk_SSL_CIPHER_delete(sk: *mut stack_st_SSL_CIPHER, where_: usize) -> *const SSL_CIPHER;
24191}
24192unsafe extern "C" {
24193 #[link_name = "sk_SSL_CIPHER_delete_ptr__extern"]
24194 pub fn sk_SSL_CIPHER_delete_ptr(
24195 sk: *mut stack_st_SSL_CIPHER,
24196 p: *const SSL_CIPHER,
24197 ) -> *const SSL_CIPHER;
24198}
24199unsafe extern "C" {
24200 #[link_name = "sk_SSL_CIPHER_delete_if__extern"]
24201 pub fn sk_SSL_CIPHER_delete_if(
24202 sk: *mut stack_st_SSL_CIPHER,
24203 func: sk_SSL_CIPHER_delete_if_func,
24204 data: *mut ::core::ffi::c_void,
24205 );
24206}
24207unsafe extern "C" {
24208 #[link_name = "sk_SSL_CIPHER_find__extern"]
24209 pub fn sk_SSL_CIPHER_find(
24210 sk: *const stack_st_SSL_CIPHER,
24211 out_index: *mut usize,
24212 p: *const SSL_CIPHER,
24213 ) -> ::core::ffi::c_int;
24214}
24215unsafe extern "C" {
24216 #[link_name = "sk_SSL_CIPHER_shift__extern"]
24217 pub fn sk_SSL_CIPHER_shift(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24218}
24219unsafe extern "C" {
24220 #[link_name = "sk_SSL_CIPHER_push__extern"]
24221 pub fn sk_SSL_CIPHER_push(sk: *mut stack_st_SSL_CIPHER, p: *const SSL_CIPHER) -> usize;
24222}
24223unsafe extern "C" {
24224 #[link_name = "sk_SSL_CIPHER_pop__extern"]
24225 pub fn sk_SSL_CIPHER_pop(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24226}
24227unsafe extern "C" {
24228 #[link_name = "sk_SSL_CIPHER_dup__extern"]
24229 pub fn sk_SSL_CIPHER_dup(sk: *const stack_st_SSL_CIPHER) -> *mut stack_st_SSL_CIPHER;
24230}
24231unsafe extern "C" {
24232 #[link_name = "sk_SSL_CIPHER_sort__extern"]
24233 pub fn sk_SSL_CIPHER_sort(sk: *mut stack_st_SSL_CIPHER);
24234}
24235unsafe extern "C" {
24236 #[link_name = "sk_SSL_CIPHER_sort_and_dedup__extern"]
24237 pub fn sk_SSL_CIPHER_sort_and_dedup(
24238 sk: *mut stack_st_SSL_CIPHER,
24239 free_func: sk_SSL_CIPHER_free_func,
24240 );
24241}
24242unsafe extern "C" {
24243 #[link_name = "sk_SSL_CIPHER_is_sorted__extern"]
24244 pub fn sk_SSL_CIPHER_is_sorted(sk: *const stack_st_SSL_CIPHER) -> ::core::ffi::c_int;
24245}
24246unsafe extern "C" {
24247 #[link_name = "sk_SSL_CIPHER_set_cmp_func__extern"]
24248 pub fn sk_SSL_CIPHER_set_cmp_func(
24249 sk: *mut stack_st_SSL_CIPHER,
24250 comp: sk_SSL_CIPHER_cmp_func,
24251 ) -> sk_SSL_CIPHER_cmp_func;
24252}
24253unsafe extern "C" {
24254 #[link_name = "sk_SSL_CIPHER_deep_copy__extern"]
24255 pub fn sk_SSL_CIPHER_deep_copy(
24256 sk: *const stack_st_SSL_CIPHER,
24257 copy_func: sk_SSL_CIPHER_copy_func,
24258 free_func: sk_SSL_CIPHER_free_func,
24259 ) -> *mut stack_st_SSL_CIPHER;
24260}
24261unsafe extern "C" {
24262 pub fn SSL_get_cipher_by_value(value: u16) -> *const SSL_CIPHER;
24263}
24264unsafe extern "C" {
24265 pub fn SSL_CIPHER_get_protocol_id(cipher: *const SSL_CIPHER) -> u16;
24266}
24267unsafe extern "C" {
24268 pub fn SSL_CIPHER_is_aead(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24269}
24270unsafe extern "C" {
24271 pub fn SSL_CIPHER_is_block_cipher(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24272}
24273unsafe extern "C" {
24274 pub fn SSL_CIPHER_get_cipher_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24275}
24276unsafe extern "C" {
24277 pub fn SSL_CIPHER_get_digest_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24278}
24279unsafe extern "C" {
24280 pub fn SSL_CIPHER_get_kx_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24281}
24282unsafe extern "C" {
24283 pub fn SSL_CIPHER_get_auth_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24284}
24285unsafe extern "C" {
24286 pub fn SSL_CIPHER_get_handshake_digest(cipher: *const SSL_CIPHER) -> *const EVP_MD;
24287}
24288unsafe extern "C" {
24289 pub fn SSL_CIPHER_get_prf_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24290}
24291unsafe extern "C" {
24292 pub fn SSL_CIPHER_get_min_version(cipher: *const SSL_CIPHER) -> u16;
24293}
24294unsafe extern "C" {
24295 pub fn SSL_CIPHER_get_max_version(cipher: *const SSL_CIPHER) -> u16;
24296}
24297unsafe extern "C" {
24298 pub fn SSL_CIPHER_standard_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24299}
24300unsafe extern "C" {
24301 pub fn SSL_CIPHER_get_kx_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24302}
24303unsafe extern "C" {
24304 pub fn SSL_CIPHER_get_bits(
24305 cipher: *const SSL_CIPHER,
24306 out_alg_bits: *mut ::core::ffi::c_int,
24307 ) -> ::core::ffi::c_int;
24308}
24309unsafe extern "C" {
24310 pub fn SSL_get_all_cipher_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
24311}
24312unsafe extern "C" {
24313 pub fn SSL_get_all_standard_cipher_names(
24314 out: *mut *const ::core::ffi::c_char,
24315 max_out: usize,
24316 ) -> usize;
24317}
24318unsafe extern "C" {
24319 pub fn SSL_CTX_set_strict_cipher_list(
24320 ctx: *mut SSL_CTX,
24321 str_: *const ::core::ffi::c_char,
24322 ) -> ::core::ffi::c_int;
24323}
24324unsafe extern "C" {
24325 pub fn SSL_CTX_set_cipher_list(
24326 ctx: *mut SSL_CTX,
24327 str_: *const ::core::ffi::c_char,
24328 ) -> ::core::ffi::c_int;
24329}
24330unsafe extern "C" {
24331 pub fn SSL_set_strict_cipher_list(
24332 ssl: *mut SSL,
24333 str_: *const ::core::ffi::c_char,
24334 ) -> ::core::ffi::c_int;
24335}
24336unsafe extern "C" {
24337 pub fn SSL_set_cipher_list(
24338 ssl: *mut SSL,
24339 str_: *const ::core::ffi::c_char,
24340 ) -> ::core::ffi::c_int;
24341}
24342unsafe extern "C" {
24343 pub fn SSL_CTX_get_ciphers(ctx: *const SSL_CTX) -> *mut stack_st_SSL_CIPHER;
24344}
24345unsafe extern "C" {
24346 pub fn SSL_CTX_cipher_in_group(ctx: *const SSL_CTX, i: usize) -> ::core::ffi::c_int;
24347}
24348unsafe extern "C" {
24349 pub fn SSL_get_ciphers(ssl: *const SSL) -> *mut stack_st_SSL_CIPHER;
24350}
24351unsafe extern "C" {
24352 pub fn SSL_is_init_finished(ssl: *const SSL) -> ::core::ffi::c_int;
24353}
24354unsafe extern "C" {
24355 pub fn SSL_in_init(ssl: *const SSL) -> ::core::ffi::c_int;
24356}
24357unsafe extern "C" {
24358 pub fn SSL_in_false_start(ssl: *const SSL) -> ::core::ffi::c_int;
24359}
24360unsafe extern "C" {
24361 pub fn SSL_get_peer_certificate(ssl: *const SSL) -> *mut X509;
24362}
24363unsafe extern "C" {
24364 pub fn SSL_get_peer_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24365}
24366unsafe extern "C" {
24367 pub fn SSL_get_peer_full_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24368}
24369unsafe extern "C" {
24370 pub fn SSL_get0_peer_certificates(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
24371}
24372unsafe extern "C" {
24373 pub fn SSL_get0_signed_cert_timestamp_list(
24374 ssl: *const SSL,
24375 out: *mut *const u8,
24376 out_len: *mut usize,
24377 );
24378}
24379unsafe extern "C" {
24380 pub fn SSL_get0_ocsp_response(ssl: *const SSL, out: *mut *const u8, out_len: *mut usize);
24381}
24382unsafe extern "C" {
24383 pub fn SSL_get_tls_unique(
24384 ssl: *const SSL,
24385 out: *mut u8,
24386 out_len: *mut usize,
24387 max_out: usize,
24388 ) -> ::core::ffi::c_int;
24389}
24390unsafe extern "C" {
24391 pub fn SSL_get_extms_support(ssl: *const SSL) -> ::core::ffi::c_int;
24392}
24393unsafe extern "C" {
24394 pub fn SSL_get_current_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
24395}
24396unsafe extern "C" {
24397 pub fn SSL_session_reused(ssl: *const SSL) -> ::core::ffi::c_int;
24398}
24399unsafe extern "C" {
24400 pub fn SSL_get_secure_renegotiation_support(ssl: *const SSL) -> ::core::ffi::c_int;
24401}
24402unsafe extern "C" {
24403 pub fn SSL_export_keying_material(
24404 ssl: *const SSL,
24405 out: *mut u8,
24406 out_len: usize,
24407 label: *const ::core::ffi::c_char,
24408 label_len: usize,
24409 context: *const u8,
24410 context_len: usize,
24411 use_context: ::core::ffi::c_int,
24412 ) -> ::core::ffi::c_int;
24413}
24414unsafe extern "C" {
24415 pub fn SSL_SESSION_new(ctx: *const SSL_CTX) -> *mut SSL_SESSION;
24416}
24417unsafe extern "C" {
24418 pub fn SSL_SESSION_up_ref(session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24419}
24420unsafe extern "C" {
24421 pub fn SSL_SESSION_free(session: *mut SSL_SESSION);
24422}
24423unsafe extern "C" {
24424 pub fn SSL_SESSION_to_bytes(
24425 in_: *const SSL_SESSION,
24426 out_data: *mut *mut u8,
24427 out_len: *mut usize,
24428 ) -> ::core::ffi::c_int;
24429}
24430unsafe extern "C" {
24431 pub fn SSL_SESSION_to_bytes_for_ticket(
24432 in_: *const SSL_SESSION,
24433 out_data: *mut *mut u8,
24434 out_len: *mut usize,
24435 ) -> ::core::ffi::c_int;
24436}
24437unsafe extern "C" {
24438 pub fn SSL_SESSION_from_bytes(
24439 in_: *const u8,
24440 in_len: usize,
24441 ctx: *const SSL_CTX,
24442 ) -> *mut SSL_SESSION;
24443}
24444unsafe extern "C" {
24445 pub fn PEM_read_bio_SSL_SESSION(
24446 bio: *mut BIO,
24447 out: *mut *mut SSL_SESSION,
24448 cb: pem_password_cb,
24449 userdata: *mut ::core::ffi::c_void,
24450 ) -> *mut SSL_SESSION;
24451}
24452unsafe extern "C" {
24453 pub fn PEM_read_SSL_SESSION(
24454 fp: *mut FILE,
24455 out: *mut *mut SSL_SESSION,
24456 cb: pem_password_cb,
24457 userdata: *mut ::core::ffi::c_void,
24458 ) -> *mut SSL_SESSION;
24459}
24460unsafe extern "C" {
24461 pub fn PEM_write_bio_SSL_SESSION(bio: *mut BIO, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24462}
24463unsafe extern "C" {
24464 pub fn PEM_write_SSL_SESSION(fp: *mut FILE, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24465}
24466unsafe extern "C" {
24467 pub fn SSL_SESSION_get_version(session: *const SSL_SESSION) -> *const ::core::ffi::c_char;
24468}
24469unsafe extern "C" {
24470 pub fn SSL_SESSION_get_protocol_version(session: *const SSL_SESSION) -> u16;
24471}
24472unsafe extern "C" {
24473 pub fn SSL_SESSION_set_protocol_version(
24474 session: *mut SSL_SESSION,
24475 version: u16,
24476 ) -> ::core::ffi::c_int;
24477}
24478unsafe extern "C" {
24479 pub fn SSL_SESSION_get_id(
24480 session: *const SSL_SESSION,
24481 out_len: *mut ::core::ffi::c_uint,
24482 ) -> *const u8;
24483}
24484unsafe extern "C" {
24485 pub fn SSL_SESSION_set1_id(
24486 session: *mut SSL_SESSION,
24487 sid: *const u8,
24488 sid_len: usize,
24489 ) -> ::core::ffi::c_int;
24490}
24491unsafe extern "C" {
24492 pub fn SSL_SESSION_get_time(session: *const SSL_SESSION) -> u64;
24493}
24494unsafe extern "C" {
24495 pub fn SSL_SESSION_get_timeout(session: *const SSL_SESSION) -> u32;
24496}
24497unsafe extern "C" {
24498 pub fn SSL_SESSION_get0_peer(session: *const SSL_SESSION) -> *mut X509;
24499}
24500unsafe extern "C" {
24501 pub fn SSL_SESSION_get0_peer_certificates(
24502 session: *const SSL_SESSION,
24503 ) -> *const stack_st_CRYPTO_BUFFER;
24504}
24505unsafe extern "C" {
24506 pub fn SSL_SESSION_get0_peer_rpk(session: *const SSL_SESSION) -> *mut EVP_PKEY;
24507}
24508unsafe extern "C" {
24509 pub fn SSL_SESSION_get0_signed_cert_timestamp_list(
24510 session: *const SSL_SESSION,
24511 out: *mut *const u8,
24512 out_len: *mut usize,
24513 );
24514}
24515unsafe extern "C" {
24516 pub fn SSL_SESSION_get0_ocsp_response(
24517 session: *const SSL_SESSION,
24518 out: *mut *const u8,
24519 out_len: *mut usize,
24520 );
24521}
24522unsafe extern "C" {
24523 pub fn SSL_SESSION_get_master_key(
24524 session: *const SSL_SESSION,
24525 out: *mut u8,
24526 max_out: usize,
24527 ) -> usize;
24528}
24529unsafe extern "C" {
24530 pub fn SSL_SESSION_set_time(session: *mut SSL_SESSION, time: u64) -> u64;
24531}
24532unsafe extern "C" {
24533 pub fn SSL_SESSION_set_timeout(session: *mut SSL_SESSION, timeout: u32) -> u32;
24534}
24535unsafe extern "C" {
24536 pub fn SSL_SESSION_get0_id_context(
24537 session: *const SSL_SESSION,
24538 out_len: *mut ::core::ffi::c_uint,
24539 ) -> *const u8;
24540}
24541unsafe extern "C" {
24542 pub fn SSL_SESSION_set1_id_context(
24543 session: *mut SSL_SESSION,
24544 sid_ctx: *const u8,
24545 sid_ctx_len: usize,
24546 ) -> ::core::ffi::c_int;
24547}
24548unsafe extern "C" {
24549 pub fn SSL_SESSION_should_be_single_use(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24550}
24551unsafe extern "C" {
24552 pub fn SSL_SESSION_is_resumable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24553}
24554unsafe extern "C" {
24555 pub fn SSL_SESSION_has_ticket(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24556}
24557unsafe extern "C" {
24558 pub fn SSL_SESSION_get0_ticket(
24559 session: *const SSL_SESSION,
24560 out_ticket: *mut *const u8,
24561 out_len: *mut usize,
24562 );
24563}
24564unsafe extern "C" {
24565 pub fn SSL_SESSION_set_ticket(
24566 session: *mut SSL_SESSION,
24567 ticket: *const u8,
24568 ticket_len: usize,
24569 ) -> ::core::ffi::c_int;
24570}
24571unsafe extern "C" {
24572 pub fn SSL_SESSION_get_ticket_lifetime_hint(session: *const SSL_SESSION) -> u32;
24573}
24574unsafe extern "C" {
24575 pub fn SSL_SESSION_get0_cipher(session: *const SSL_SESSION) -> *const SSL_CIPHER;
24576}
24577unsafe extern "C" {
24578 pub fn SSL_SESSION_has_peer_sha256(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24579}
24580unsafe extern "C" {
24581 pub fn SSL_SESSION_get0_peer_sha256(
24582 session: *const SSL_SESSION,
24583 out_ptr: *mut *const u8,
24584 out_len: *mut usize,
24585 );
24586}
24587unsafe extern "C" {
24588 pub fn SSL_SESSION_is_resumable_across_names(session: *const SSL_SESSION)
24589 -> ::core::ffi::c_int;
24590}
24591unsafe extern "C" {
24592 pub fn SSL_CTX_set_session_cache_mode(
24593 ctx: *mut SSL_CTX,
24594 mode: ::core::ffi::c_int,
24595 ) -> ::core::ffi::c_int;
24596}
24597unsafe extern "C" {
24598 pub fn SSL_CTX_get_session_cache_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
24599}
24600unsafe extern "C" {
24601 pub fn SSL_set_session(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24602}
24603unsafe extern "C" {
24604 pub fn SSL_CTX_set_timeout(ctx: *mut SSL_CTX, timeout: u32) -> u32;
24605}
24606unsafe extern "C" {
24607 pub fn SSL_CTX_set_session_psk_dhe_timeout(ctx: *mut SSL_CTX, timeout: u32);
24608}
24609unsafe extern "C" {
24610 pub fn SSL_CTX_get_timeout(ctx: *const SSL_CTX) -> u32;
24611}
24612unsafe extern "C" {
24613 pub fn SSL_CTX_set_session_id_context(
24614 ctx: *mut SSL_CTX,
24615 sid_ctx: *const u8,
24616 sid_ctx_len: usize,
24617 ) -> ::core::ffi::c_int;
24618}
24619unsafe extern "C" {
24620 pub fn SSL_set_session_id_context(
24621 ssl: *mut SSL,
24622 sid_ctx: *const u8,
24623 sid_ctx_len: usize,
24624 ) -> ::core::ffi::c_int;
24625}
24626unsafe extern "C" {
24627 pub fn SSL_get0_session_id_context(ssl: *const SSL, out_len: *mut usize) -> *const u8;
24628}
24629unsafe extern "C" {
24630 pub fn SSL_CTX_sess_set_cache_size(
24631 ctx: *mut SSL_CTX,
24632 size: ::core::ffi::c_ulong,
24633 ) -> ::core::ffi::c_ulong;
24634}
24635unsafe extern "C" {
24636 pub fn SSL_CTX_sess_get_cache_size(ctx: *const SSL_CTX) -> ::core::ffi::c_ulong;
24637}
24638unsafe extern "C" {
24639 pub fn SSL_CTX_sess_number(ctx: *const SSL_CTX) -> usize;
24640}
24641unsafe extern "C" {
24642 pub fn SSL_CTX_add_session(ctx: *mut SSL_CTX, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24643}
24644unsafe extern "C" {
24645 pub fn SSL_CTX_remove_session(
24646 ctx: *mut SSL_CTX,
24647 session: *mut SSL_SESSION,
24648 ) -> ::core::ffi::c_int;
24649}
24650unsafe extern "C" {
24651 pub fn SSL_CTX_flush_sessions(ctx: *mut SSL_CTX, time: u64);
24652}
24653pub type SSL_new_session_cb = ::core::option::Option<
24654 unsafe extern "C" fn(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int,
24655>;
24656unsafe extern "C" {
24657 pub fn SSL_CTX_sess_set_new_cb(ctx: *mut SSL_CTX, new_session_cb: SSL_new_session_cb);
24658}
24659unsafe extern "C" {
24660 pub fn SSL_CTX_sess_get_new_cb(ctx: *mut SSL_CTX) -> SSL_new_session_cb;
24661}
24662pub type SSL_remove_session_cb =
24663 ::core::option::Option<unsafe extern "C" fn(ctx: *mut SSL_CTX, session: *mut SSL_SESSION)>;
24664unsafe extern "C" {
24665 pub fn SSL_CTX_sess_set_remove_cb(ctx: *mut SSL_CTX, remove_session_cb: SSL_remove_session_cb);
24666}
24667unsafe extern "C" {
24668 pub fn SSL_CTX_sess_get_remove_cb(ctx: *mut SSL_CTX) -> SSL_remove_session_cb;
24669}
24670pub type SSL_get_session_cb = ::core::option::Option<
24671 unsafe extern "C" fn(
24672 ssl: *mut SSL,
24673 id: *const u8,
24674 id_len: ::core::ffi::c_int,
24675 out_copy: *mut ::core::ffi::c_int,
24676 ) -> *mut SSL_SESSION,
24677>;
24678unsafe extern "C" {
24679 pub fn SSL_CTX_sess_set_get_cb(ctx: *mut SSL_CTX, get_session_cb: SSL_get_session_cb);
24680}
24681unsafe extern "C" {
24682 pub fn SSL_CTX_sess_get_get_cb(ctx: *mut SSL_CTX) -> SSL_get_session_cb;
24683}
24684unsafe extern "C" {
24685 pub fn SSL_magic_pending_session_ptr() -> *mut SSL_SESSION;
24686}
24687unsafe extern "C" {
24688 pub fn SSL_CTX_set_resumption_across_names_enabled(
24689 ctx: *mut SSL_CTX,
24690 enabled: ::core::ffi::c_int,
24691 );
24692}
24693unsafe extern "C" {
24694 pub fn SSL_set_resumption_across_names_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
24695}
24696unsafe extern "C" {
24697 pub fn SSL_CTX_get_tlsext_ticket_keys(
24698 ctx: *mut SSL_CTX,
24699 out: *mut ::core::ffi::c_void,
24700 len: usize,
24701 ) -> ::core::ffi::c_int;
24702}
24703unsafe extern "C" {
24704 pub fn SSL_CTX_set_tlsext_ticket_keys(
24705 ctx: *mut SSL_CTX,
24706 in_: *const ::core::ffi::c_void,
24707 len: usize,
24708 ) -> ::core::ffi::c_int;
24709}
24710unsafe extern "C" {
24711 pub fn SSL_CTX_set_tlsext_ticket_key_cb(
24712 ctx: *mut SSL_CTX,
24713 callback: ::core::option::Option<
24714 unsafe extern "C" fn(
24715 ssl: *mut SSL,
24716 key_name: *mut u8,
24717 iv: *mut u8,
24718 ctx: *mut EVP_CIPHER_CTX,
24719 hmac_ctx: *mut HMAC_CTX,
24720 encrypt: ::core::ffi::c_int,
24721 ) -> ::core::ffi::c_int,
24722 >,
24723 ) -> ::core::ffi::c_int;
24724}
24725pub const ssl_ticket_aead_result_t_ssl_ticket_aead_success: ssl_ticket_aead_result_t = 0;
24726pub const ssl_ticket_aead_result_t_ssl_ticket_aead_retry: ssl_ticket_aead_result_t = 1;
24727pub const ssl_ticket_aead_result_t_ssl_ticket_aead_ignore_ticket: ssl_ticket_aead_result_t = 2;
24728pub const ssl_ticket_aead_result_t_ssl_ticket_aead_error: ssl_ticket_aead_result_t = 3;
24729pub type ssl_ticket_aead_result_t = ::core::ffi::c_uint;
24730#[repr(C)]
24731#[derive(Debug, Copy, Clone)]
24732pub struct ssl_ticket_aead_method_st {
24733 pub max_overhead: ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> usize>,
24734 pub seal: ::core::option::Option<
24735 unsafe extern "C" fn(
24736 ssl: *mut SSL,
24737 out: *mut u8,
24738 out_len: *mut usize,
24739 max_out_len: usize,
24740 in_: *const u8,
24741 in_len: usize,
24742 ) -> ::core::ffi::c_int,
24743 >,
24744 pub open: ::core::option::Option<
24745 unsafe extern "C" fn(
24746 ssl: *mut SSL,
24747 out: *mut u8,
24748 out_len: *mut usize,
24749 max_out_len: usize,
24750 in_: *const u8,
24751 in_len: usize,
24752 ) -> ssl_ticket_aead_result_t,
24753 >,
24754}
24755unsafe extern "C" {
24756 pub fn SSL_CTX_set_ticket_aead_method(
24757 ctx: *mut SSL_CTX,
24758 aead_method: *const SSL_TICKET_AEAD_METHOD,
24759 );
24760}
24761unsafe extern "C" {
24762 pub fn SSL_process_tls13_new_session_ticket(
24763 ssl: *mut SSL,
24764 buf: *const u8,
24765 buf_len: usize,
24766 ) -> *mut SSL_SESSION;
24767}
24768unsafe extern "C" {
24769 pub fn SSL_CTX_set_num_tickets(ctx: *mut SSL_CTX, num_tickets: usize) -> ::core::ffi::c_int;
24770}
24771unsafe extern "C" {
24772 pub fn SSL_CTX_get_num_tickets(ctx: *const SSL_CTX) -> usize;
24773}
24774unsafe extern "C" {
24775 pub fn SSL_CTX_set1_group_ids(
24776 ctx: *mut SSL_CTX,
24777 group_ids: *const u16,
24778 num_group_ids: usize,
24779 ) -> ::core::ffi::c_int;
24780}
24781unsafe extern "C" {
24782 pub fn SSL_set1_group_ids(
24783 ssl: *mut SSL,
24784 group_ids: *const u16,
24785 num_group_ids: usize,
24786 ) -> ::core::ffi::c_int;
24787}
24788unsafe extern "C" {
24789 pub fn SSL_CTX_set1_group_ids_with_flags(
24790 ctx: *mut SSL_CTX,
24791 group_ids: *const u16,
24792 flags: *const u32,
24793 num_group_ids: usize,
24794 ) -> ::core::ffi::c_int;
24795}
24796unsafe extern "C" {
24797 pub fn SSL_set1_group_ids_with_flags(
24798 ssl: *mut SSL,
24799 group_ids: *const u16,
24800 flags: *const u32,
24801 num_group_ids: usize,
24802 ) -> ::core::ffi::c_int;
24803}
24804unsafe extern "C" {
24805 pub fn SSL_get_group_id(ssl: *const SSL) -> u16;
24806}
24807unsafe extern "C" {
24808 pub fn SSL_get_group_name(group_id: u16) -> *const ::core::ffi::c_char;
24809}
24810unsafe extern "C" {
24811 pub fn SSL_get_all_group_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
24812}
24813unsafe extern "C" {
24814 pub fn SSL_CTX_set1_groups(
24815 ctx: *mut SSL_CTX,
24816 groups: *const ::core::ffi::c_int,
24817 num_groups: usize,
24818 ) -> ::core::ffi::c_int;
24819}
24820unsafe extern "C" {
24821 pub fn SSL_set1_groups(
24822 ssl: *mut SSL,
24823 groups: *const ::core::ffi::c_int,
24824 num_groups: usize,
24825 ) -> ::core::ffi::c_int;
24826}
24827unsafe extern "C" {
24828 pub fn SSL_CTX_set1_groups_list(
24829 ctx: *mut SSL_CTX,
24830 groups: *const ::core::ffi::c_char,
24831 ) -> ::core::ffi::c_int;
24832}
24833unsafe extern "C" {
24834 pub fn SSL_set1_groups_list(
24835 ssl: *mut SSL,
24836 groups: *const ::core::ffi::c_char,
24837 ) -> ::core::ffi::c_int;
24838}
24839unsafe extern "C" {
24840 pub fn SSL_get_negotiated_group(ssl: *const SSL) -> ::core::ffi::c_int;
24841}
24842unsafe extern "C" {
24843 pub fn SSL_set1_client_key_shares(
24844 ssl: *mut SSL,
24845 group_ids: *const u16,
24846 num_group_ids: usize,
24847 ) -> ::core::ffi::c_int;
24848}
24849unsafe extern "C" {
24850 pub fn SSL_set1_server_supported_groups_hint(
24851 ssl: *mut SSL,
24852 server_groups: *const u16,
24853 num_server_groups: usize,
24854 ) -> ::core::ffi::c_int;
24855}
24856unsafe extern "C" {
24857 pub fn SSL_CTX_set_verify(
24858 ctx: *mut SSL_CTX,
24859 mode: ::core::ffi::c_int,
24860 callback: ::core::option::Option<
24861 unsafe extern "C" fn(
24862 ok: ::core::ffi::c_int,
24863 store_ctx: *mut X509_STORE_CTX,
24864 ) -> ::core::ffi::c_int,
24865 >,
24866 );
24867}
24868unsafe extern "C" {
24869 pub fn SSL_set_verify(
24870 ssl: *mut SSL,
24871 mode: ::core::ffi::c_int,
24872 callback: ::core::option::Option<
24873 unsafe extern "C" fn(
24874 ok: ::core::ffi::c_int,
24875 store_ctx: *mut X509_STORE_CTX,
24876 ) -> ::core::ffi::c_int,
24877 >,
24878 );
24879}
24880pub const ssl_verify_result_t_ssl_verify_ok: ssl_verify_result_t = 0;
24881pub const ssl_verify_result_t_ssl_verify_invalid: ssl_verify_result_t = 1;
24882pub const ssl_verify_result_t_ssl_verify_retry: ssl_verify_result_t = 2;
24883pub type ssl_verify_result_t = ::core::ffi::c_uint;
24884unsafe extern "C" {
24885 pub fn SSL_CTX_set_custom_verify(
24886 ctx: *mut SSL_CTX,
24887 mode: ::core::ffi::c_int,
24888 callback: ::core::option::Option<
24889 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
24890 >,
24891 );
24892}
24893unsafe extern "C" {
24894 pub fn SSL_set_custom_verify(
24895 ssl: *mut SSL,
24896 mode: ::core::ffi::c_int,
24897 callback: ::core::option::Option<
24898 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
24899 >,
24900 );
24901}
24902unsafe extern "C" {
24903 pub fn SSL_CTX_get_verify_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
24904}
24905unsafe extern "C" {
24906 pub fn SSL_get_verify_mode(ssl: *const SSL) -> ::core::ffi::c_int;
24907}
24908unsafe extern "C" {
24909 pub fn SSL_CTX_get_verify_callback(
24910 ctx: *const SSL_CTX,
24911 ) -> ::core::option::Option<
24912 unsafe extern "C" fn(
24913 ctx: ::core::ffi::c_int,
24914 arg1: *mut X509_STORE_CTX,
24915 ) -> ::core::ffi::c_int,
24916 >;
24917}
24918unsafe extern "C" {
24919 pub fn SSL_get_verify_callback(
24920 ssl: *const SSL,
24921 ) -> ::core::option::Option<
24922 unsafe extern "C" fn(
24923 ssl: ::core::ffi::c_int,
24924 arg1: *mut X509_STORE_CTX,
24925 ) -> ::core::ffi::c_int,
24926 >;
24927}
24928unsafe extern "C" {
24929 pub fn SSL_set1_host(ssl: *mut SSL, hostname: *const ::core::ffi::c_char)
24930 -> ::core::ffi::c_int;
24931}
24932unsafe extern "C" {
24933 pub fn SSL_set_hostflags(ssl: *mut SSL, flags: ::core::ffi::c_uint);
24934}
24935unsafe extern "C" {
24936 pub fn SSL_CTX_set_verify_depth(ctx: *mut SSL_CTX, depth: ::core::ffi::c_int);
24937}
24938unsafe extern "C" {
24939 pub fn SSL_set_verify_depth(ssl: *mut SSL, depth: ::core::ffi::c_int);
24940}
24941unsafe extern "C" {
24942 pub fn SSL_CTX_get_verify_depth(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
24943}
24944unsafe extern "C" {
24945 pub fn SSL_get_verify_depth(ssl: *const SSL) -> ::core::ffi::c_int;
24946}
24947unsafe extern "C" {
24948 pub fn SSL_CTX_set1_param(
24949 ctx: *mut SSL_CTX,
24950 param: *const X509_VERIFY_PARAM,
24951 ) -> ::core::ffi::c_int;
24952}
24953unsafe extern "C" {
24954 pub fn SSL_set1_param(ssl: *mut SSL, param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
24955}
24956unsafe extern "C" {
24957 pub fn SSL_CTX_get0_param(ctx: *mut SSL_CTX) -> *mut X509_VERIFY_PARAM;
24958}
24959unsafe extern "C" {
24960 pub fn SSL_get0_param(ssl: *mut SSL) -> *mut X509_VERIFY_PARAM;
24961}
24962unsafe extern "C" {
24963 pub fn SSL_CTX_set_purpose(
24964 ctx: *mut SSL_CTX,
24965 purpose: ::core::ffi::c_int,
24966 ) -> ::core::ffi::c_int;
24967}
24968unsafe extern "C" {
24969 pub fn SSL_set_purpose(ssl: *mut SSL, purpose: ::core::ffi::c_int) -> ::core::ffi::c_int;
24970}
24971unsafe extern "C" {
24972 pub fn SSL_CTX_set_trust(ctx: *mut SSL_CTX, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
24973}
24974unsafe extern "C" {
24975 pub fn SSL_set_trust(ssl: *mut SSL, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
24976}
24977unsafe extern "C" {
24978 pub fn SSL_CTX_set_cert_store(ctx: *mut SSL_CTX, store: *mut X509_STORE);
24979}
24980unsafe extern "C" {
24981 pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE;
24982}
24983unsafe extern "C" {
24984 pub fn SSL_CTX_set_default_verify_paths(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
24985}
24986unsafe extern "C" {
24987 pub fn SSL_CTX_load_verify_locations(
24988 ctx: *mut SSL_CTX,
24989 ca_file: *const ::core::ffi::c_char,
24990 ca_dir: *const ::core::ffi::c_char,
24991 ) -> ::core::ffi::c_int;
24992}
24993unsafe extern "C" {
24994 pub fn SSL_get_verify_result(ssl: *const SSL) -> ::core::ffi::c_long;
24995}
24996unsafe extern "C" {
24997 pub fn SSL_alert_from_verify_result(result: ::core::ffi::c_long) -> ::core::ffi::c_int;
24998}
24999unsafe extern "C" {
25000 pub fn SSL_get_ex_data_X509_STORE_CTX_idx() -> ::core::ffi::c_int;
25001}
25002unsafe extern "C" {
25003 pub fn SSL_CTX_set_cert_verify_callback(
25004 ctx: *mut SSL_CTX,
25005 callback: ::core::option::Option<
25006 unsafe extern "C" fn(
25007 store_ctx: *mut X509_STORE_CTX,
25008 arg: *mut ::core::ffi::c_void,
25009 ) -> ::core::ffi::c_int,
25010 >,
25011 arg: *mut ::core::ffi::c_void,
25012 );
25013}
25014unsafe extern "C" {
25015 pub fn SSL_enable_signed_cert_timestamps(ssl: *mut SSL);
25016}
25017unsafe extern "C" {
25018 pub fn SSL_CTX_enable_signed_cert_timestamps(ctx: *mut SSL_CTX);
25019}
25020unsafe extern "C" {
25021 pub fn SSL_enable_ocsp_stapling(ssl: *mut SSL);
25022}
25023unsafe extern "C" {
25024 pub fn SSL_CTX_enable_ocsp_stapling(ctx: *mut SSL_CTX);
25025}
25026unsafe extern "C" {
25027 pub fn SSL_CTX_set0_verify_cert_store(
25028 ctx: *mut SSL_CTX,
25029 store: *mut X509_STORE,
25030 ) -> ::core::ffi::c_int;
25031}
25032unsafe extern "C" {
25033 pub fn SSL_CTX_set1_verify_cert_store(
25034 ctx: *mut SSL_CTX,
25035 store: *mut X509_STORE,
25036 ) -> ::core::ffi::c_int;
25037}
25038unsafe extern "C" {
25039 pub fn SSL_set0_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25040}
25041unsafe extern "C" {
25042 pub fn SSL_set1_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25043}
25044unsafe extern "C" {
25045 pub fn SSL_CTX_set_verify_algorithm_prefs(
25046 ctx: *mut SSL_CTX,
25047 prefs: *const u16,
25048 num_prefs: usize,
25049 ) -> ::core::ffi::c_int;
25050}
25051unsafe extern "C" {
25052 pub fn SSL_set_verify_algorithm_prefs(
25053 ssl: *mut SSL,
25054 prefs: *const u16,
25055 num_prefs: usize,
25056 ) -> ::core::ffi::c_int;
25057}
25058unsafe extern "C" {
25059 pub fn SSL_set_client_CA_list(ssl: *mut SSL, name_list: *mut stack_st_X509_NAME);
25060}
25061unsafe extern "C" {
25062 pub fn SSL_CTX_set_client_CA_list(ctx: *mut SSL_CTX, name_list: *mut stack_st_X509_NAME);
25063}
25064unsafe extern "C" {
25065 pub fn SSL_set0_client_CAs(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25066}
25067unsafe extern "C" {
25068 pub fn SSL_set0_CA_names(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25069}
25070unsafe extern "C" {
25071 pub fn SSL_CTX_set0_client_CAs(ctx: *mut SSL_CTX, name_list: *mut stack_st_CRYPTO_BUFFER);
25072}
25073unsafe extern "C" {
25074 pub fn SSL_get_client_CA_list(ssl: *const SSL) -> *mut stack_st_X509_NAME;
25075}
25076unsafe extern "C" {
25077 pub fn SSL_get0_server_requested_CAs(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
25078}
25079unsafe extern "C" {
25080 pub fn SSL_CTX_get_client_CA_list(ctx: *const SSL_CTX) -> *mut stack_st_X509_NAME;
25081}
25082unsafe extern "C" {
25083 pub fn SSL_add_client_CA(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
25084}
25085unsafe extern "C" {
25086 pub fn SSL_CTX_add_client_CA(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
25087}
25088unsafe extern "C" {
25089 pub fn SSL_load_client_CA_file(file: *const ::core::ffi::c_char) -> *mut stack_st_X509_NAME;
25090}
25091unsafe extern "C" {
25092 pub fn SSL_dup_CA_list(list: *mut stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
25093}
25094unsafe extern "C" {
25095 pub fn SSL_add_file_cert_subjects_to_stack(
25096 out: *mut stack_st_X509_NAME,
25097 file: *const ::core::ffi::c_char,
25098 ) -> ::core::ffi::c_int;
25099}
25100unsafe extern "C" {
25101 pub fn SSL_add_bio_cert_subjects_to_stack(
25102 out: *mut stack_st_X509_NAME,
25103 bio: *mut BIO,
25104 ) -> ::core::ffi::c_int;
25105}
25106unsafe extern "C" {
25107 pub fn SSL_CREDENTIAL_set1_trust_anchor_id(
25108 cred: *mut SSL_CREDENTIAL,
25109 id: *const u8,
25110 id_len: usize,
25111 ) -> ::core::ffi::c_int;
25112}
25113unsafe extern "C" {
25114 pub fn SSL_CTX_set1_requested_trust_anchors(
25115 ctx: *mut SSL_CTX,
25116 ids: *const u8,
25117 ids_len: usize,
25118 ) -> ::core::ffi::c_int;
25119}
25120unsafe extern "C" {
25121 pub fn SSL_set1_requested_trust_anchors(
25122 ssl: *mut SSL,
25123 ids: *const u8,
25124 ids_len: usize,
25125 ) -> ::core::ffi::c_int;
25126}
25127unsafe extern "C" {
25128 pub fn SSL_peer_matched_trust_anchor(ssl: *const SSL) -> ::core::ffi::c_int;
25129}
25130unsafe extern "C" {
25131 pub fn SSL_get0_peer_available_trust_anchors(
25132 ssl: *const SSL,
25133 out: *mut *const u8,
25134 out_len: *mut usize,
25135 );
25136}
25137unsafe extern "C" {
25138 pub fn SSL_CTX_set1_available_trust_anchors(
25139 ctx: *mut SSL_CTX,
25140 ids: *const u8,
25141 ids_len: usize,
25142 ) -> ::core::ffi::c_int;
25143}
25144unsafe extern "C" {
25145 pub fn SSL_set1_available_trust_anchors(
25146 ssl: *mut SSL,
25147 ids: *const u8,
25148 ids_len: usize,
25149 ) -> ::core::ffi::c_int;
25150}
25151unsafe extern "C" {
25152 pub fn SSL_set_tlsext_host_name(
25153 ssl: *mut SSL,
25154 name: *const ::core::ffi::c_char,
25155 ) -> ::core::ffi::c_int;
25156}
25157unsafe extern "C" {
25158 pub fn SSL_get_servername(
25159 ssl: *const SSL,
25160 type_: ::core::ffi::c_int,
25161 ) -> *const ::core::ffi::c_char;
25162}
25163unsafe extern "C" {
25164 pub fn SSL_get_servername_type(ssl: *const SSL) -> ::core::ffi::c_int;
25165}
25166unsafe extern "C" {
25167 pub fn SSL_CTX_set_tlsext_servername_callback(
25168 ctx: *mut SSL_CTX,
25169 callback: ::core::option::Option<
25170 unsafe extern "C" fn(
25171 ssl: *mut SSL,
25172 out_alert: *mut ::core::ffi::c_int,
25173 arg: *mut ::core::ffi::c_void,
25174 ) -> ::core::ffi::c_int,
25175 >,
25176 ) -> ::core::ffi::c_int;
25177}
25178unsafe extern "C" {
25179 pub fn SSL_CTX_set_tlsext_servername_arg(
25180 ctx: *mut SSL_CTX,
25181 arg: *mut ::core::ffi::c_void,
25182 ) -> ::core::ffi::c_int;
25183}
25184unsafe extern "C" {
25185 pub fn SSL_set_SSL_CTX(ssl: *mut SSL, ctx: *mut SSL_CTX) -> *mut SSL_CTX;
25186}
25187unsafe extern "C" {
25188 pub fn SSL_CTX_set_alpn_protos(
25189 ctx: *mut SSL_CTX,
25190 protos: *const u8,
25191 protos_len: usize,
25192 ) -> ::core::ffi::c_int;
25193}
25194unsafe extern "C" {
25195 pub fn SSL_set_alpn_protos(
25196 ssl: *mut SSL,
25197 protos: *const u8,
25198 protos_len: usize,
25199 ) -> ::core::ffi::c_int;
25200}
25201unsafe extern "C" {
25202 pub fn SSL_CTX_set_alpn_select_cb(
25203 ctx: *mut SSL_CTX,
25204 cb: ::core::option::Option<
25205 unsafe extern "C" fn(
25206 ssl: *mut SSL,
25207 out: *mut *const u8,
25208 out_len: *mut u8,
25209 in_: *const u8,
25210 in_len: ::core::ffi::c_uint,
25211 arg: *mut ::core::ffi::c_void,
25212 ) -> ::core::ffi::c_int,
25213 >,
25214 arg: *mut ::core::ffi::c_void,
25215 );
25216}
25217unsafe extern "C" {
25218 pub fn SSL_get0_alpn_selected(
25219 ssl: *const SSL,
25220 out_data: *mut *const u8,
25221 out_len: *mut ::core::ffi::c_uint,
25222 );
25223}
25224unsafe extern "C" {
25225 pub fn SSL_CTX_set_allow_unknown_alpn_protos(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25226}
25227unsafe extern "C" {
25228 pub fn SSL_add_application_settings(
25229 ssl: *mut SSL,
25230 proto: *const u8,
25231 proto_len: usize,
25232 settings: *const u8,
25233 settings_len: usize,
25234 ) -> ::core::ffi::c_int;
25235}
25236unsafe extern "C" {
25237 pub fn SSL_get0_peer_application_settings(
25238 ssl: *const SSL,
25239 out_data: *mut *const u8,
25240 out_len: *mut usize,
25241 );
25242}
25243unsafe extern "C" {
25244 pub fn SSL_has_application_settings(ssl: *const SSL) -> ::core::ffi::c_int;
25245}
25246unsafe extern "C" {
25247 pub fn SSL_set_alps_use_new_codepoint(ssl: *mut SSL, use_new: ::core::ffi::c_int);
25248}
25249pub type ssl_cert_compression_func_t = ::core::option::Option<
25250 unsafe extern "C" fn(
25251 ssl: *mut SSL,
25252 out: *mut CBB,
25253 in_: *const u8,
25254 in_len: usize,
25255 ) -> ::core::ffi::c_int,
25256>;
25257pub type ssl_cert_decompression_func_t = ::core::option::Option<
25258 unsafe extern "C" fn(
25259 ssl: *mut SSL,
25260 out: *mut *mut CRYPTO_BUFFER,
25261 uncompressed_len: usize,
25262 in_: *const u8,
25263 in_len: usize,
25264 ) -> ::core::ffi::c_int,
25265>;
25266unsafe extern "C" {
25267 pub fn SSL_CTX_add_cert_compression_alg(
25268 ctx: *mut SSL_CTX,
25269 alg_id: u16,
25270 compress: ssl_cert_compression_func_t,
25271 decompress: ssl_cert_decompression_func_t,
25272 ) -> ::core::ffi::c_int;
25273}
25274unsafe extern "C" {
25275 pub fn SSL_CTX_set_next_protos_advertised_cb(
25276 ctx: *mut SSL_CTX,
25277 cb: ::core::option::Option<
25278 unsafe extern "C" fn(
25279 ssl: *mut SSL,
25280 out: *mut *const u8,
25281 out_len: *mut ::core::ffi::c_uint,
25282 arg: *mut ::core::ffi::c_void,
25283 ) -> ::core::ffi::c_int,
25284 >,
25285 arg: *mut ::core::ffi::c_void,
25286 );
25287}
25288unsafe extern "C" {
25289 pub fn SSL_CTX_set_next_proto_select_cb(
25290 ctx: *mut SSL_CTX,
25291 cb: ::core::option::Option<
25292 unsafe extern "C" fn(
25293 ssl: *mut SSL,
25294 out: *mut *mut u8,
25295 out_len: *mut u8,
25296 in_: *const u8,
25297 in_len: ::core::ffi::c_uint,
25298 arg: *mut ::core::ffi::c_void,
25299 ) -> ::core::ffi::c_int,
25300 >,
25301 arg: *mut ::core::ffi::c_void,
25302 );
25303}
25304unsafe extern "C" {
25305 pub fn SSL_get0_next_proto_negotiated(
25306 ssl: *const SSL,
25307 out_data: *mut *const u8,
25308 out_len: *mut ::core::ffi::c_uint,
25309 );
25310}
25311unsafe extern "C" {
25312 pub fn SSL_select_next_proto(
25313 out: *mut *mut u8,
25314 out_len: *mut u8,
25315 peer: *const u8,
25316 peer_len: ::core::ffi::c_uint,
25317 supported: *const u8,
25318 supported_len: ::core::ffi::c_uint,
25319 ) -> ::core::ffi::c_int;
25320}
25321unsafe extern "C" {
25322 pub fn SSL_CTX_set_tls_channel_id_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25323}
25324unsafe extern "C" {
25325 pub fn SSL_set_tls_channel_id_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
25326}
25327unsafe extern "C" {
25328 pub fn SSL_CTX_set1_tls_channel_id(
25329 ctx: *mut SSL_CTX,
25330 private_key: *mut EVP_PKEY,
25331 ) -> ::core::ffi::c_int;
25332}
25333unsafe extern "C" {
25334 pub fn SSL_set1_tls_channel_id(ssl: *mut SSL, private_key: *mut EVP_PKEY)
25335 -> ::core::ffi::c_int;
25336}
25337unsafe extern "C" {
25338 pub fn SSL_get_tls_channel_id(ssl: *mut SSL, out: *mut u8, max_out: usize) -> usize;
25339}
25340#[repr(C)]
25341#[derive(Debug, Copy, Clone)]
25342pub struct srtp_protection_profile_st {
25343 pub name: *const ::core::ffi::c_char,
25344 pub id: ::core::ffi::c_ulong,
25345}
25346#[repr(C)]
25347#[derive(Debug)]
25348pub struct stack_st_SRTP_PROTECTION_PROFILE {
25349 _unused: [u8; 0],
25350}
25351pub type sk_SRTP_PROTECTION_PROFILE_free_func =
25352 ::core::option::Option<unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE)>;
25353pub type sk_SRTP_PROTECTION_PROFILE_copy_func = ::core::option::Option<
25354 unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE) -> *const SRTP_PROTECTION_PROFILE,
25355>;
25356pub type sk_SRTP_PROTECTION_PROFILE_cmp_func = ::core::option::Option<
25357 unsafe extern "C" fn(
25358 arg1: *const *const SRTP_PROTECTION_PROFILE,
25359 arg2: *const *const SRTP_PROTECTION_PROFILE,
25360 ) -> ::core::ffi::c_int,
25361>;
25362pub type sk_SRTP_PROTECTION_PROFILE_delete_if_func = ::core::option::Option<
25363 unsafe extern "C" fn(
25364 arg1: *const SRTP_PROTECTION_PROFILE,
25365 arg2: *mut ::core::ffi::c_void,
25366 ) -> ::core::ffi::c_int,
25367>;
25368unsafe extern "C" {
25369 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_free_func__extern"]
25370 pub fn sk_SRTP_PROTECTION_PROFILE_call_free_func(
25371 free_func: OPENSSL_sk_free_func,
25372 ptr: *mut ::core::ffi::c_void,
25373 );
25374}
25375unsafe extern "C" {
25376 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_copy_func__extern"]
25377 pub fn sk_SRTP_PROTECTION_PROFILE_call_copy_func(
25378 copy_func: OPENSSL_sk_copy_func,
25379 ptr: *const ::core::ffi::c_void,
25380 ) -> *mut ::core::ffi::c_void;
25381}
25382unsafe extern "C" {
25383 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_cmp_func__extern"]
25384 pub fn sk_SRTP_PROTECTION_PROFILE_call_cmp_func(
25385 cmp_func: OPENSSL_sk_cmp_func,
25386 a: *const ::core::ffi::c_void,
25387 b: *const ::core::ffi::c_void,
25388 ) -> ::core::ffi::c_int;
25389}
25390unsafe extern "C" {
25391 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_delete_if_func__extern"]
25392 pub fn sk_SRTP_PROTECTION_PROFILE_call_delete_if_func(
25393 func: OPENSSL_sk_delete_if_func,
25394 obj: *mut ::core::ffi::c_void,
25395 data: *mut ::core::ffi::c_void,
25396 ) -> ::core::ffi::c_int;
25397}
25398unsafe extern "C" {
25399 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new__extern"]
25400 pub fn sk_SRTP_PROTECTION_PROFILE_new(
25401 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25402 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25403}
25404unsafe extern "C" {
25405 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new_null__extern"]
25406 pub fn sk_SRTP_PROTECTION_PROFILE_new_null() -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25407}
25408unsafe extern "C" {
25409 #[link_name = "sk_SRTP_PROTECTION_PROFILE_num__extern"]
25410 pub fn sk_SRTP_PROTECTION_PROFILE_num(sk: *const stack_st_SRTP_PROTECTION_PROFILE) -> usize;
25411}
25412unsafe extern "C" {
25413 #[link_name = "sk_SRTP_PROTECTION_PROFILE_zero__extern"]
25414 pub fn sk_SRTP_PROTECTION_PROFILE_zero(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25415}
25416unsafe extern "C" {
25417 #[link_name = "sk_SRTP_PROTECTION_PROFILE_value__extern"]
25418 pub fn sk_SRTP_PROTECTION_PROFILE_value(
25419 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25420 i: usize,
25421 ) -> *const SRTP_PROTECTION_PROFILE;
25422}
25423unsafe extern "C" {
25424 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set__extern"]
25425 pub fn sk_SRTP_PROTECTION_PROFILE_set(
25426 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25427 i: usize,
25428 p: *const SRTP_PROTECTION_PROFILE,
25429 ) -> *const SRTP_PROTECTION_PROFILE;
25430}
25431unsafe extern "C" {
25432 #[link_name = "sk_SRTP_PROTECTION_PROFILE_free__extern"]
25433 pub fn sk_SRTP_PROTECTION_PROFILE_free(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25434}
25435unsafe extern "C" {
25436 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop_free__extern"]
25437 pub fn sk_SRTP_PROTECTION_PROFILE_pop_free(
25438 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25439 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25440 );
25441}
25442unsafe extern "C" {
25443 #[link_name = "sk_SRTP_PROTECTION_PROFILE_insert__extern"]
25444 pub fn sk_SRTP_PROTECTION_PROFILE_insert(
25445 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25446 p: *const SRTP_PROTECTION_PROFILE,
25447 where_: usize,
25448 ) -> usize;
25449}
25450unsafe extern "C" {
25451 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete__extern"]
25452 pub fn sk_SRTP_PROTECTION_PROFILE_delete(
25453 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25454 where_: usize,
25455 ) -> *const SRTP_PROTECTION_PROFILE;
25456}
25457unsafe extern "C" {
25458 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_ptr__extern"]
25459 pub fn sk_SRTP_PROTECTION_PROFILE_delete_ptr(
25460 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25461 p: *const SRTP_PROTECTION_PROFILE,
25462 ) -> *const SRTP_PROTECTION_PROFILE;
25463}
25464unsafe extern "C" {
25465 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_if__extern"]
25466 pub fn sk_SRTP_PROTECTION_PROFILE_delete_if(
25467 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25468 func: sk_SRTP_PROTECTION_PROFILE_delete_if_func,
25469 data: *mut ::core::ffi::c_void,
25470 );
25471}
25472unsafe extern "C" {
25473 #[link_name = "sk_SRTP_PROTECTION_PROFILE_find__extern"]
25474 pub fn sk_SRTP_PROTECTION_PROFILE_find(
25475 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25476 out_index: *mut usize,
25477 p: *const SRTP_PROTECTION_PROFILE,
25478 ) -> ::core::ffi::c_int;
25479}
25480unsafe extern "C" {
25481 #[link_name = "sk_SRTP_PROTECTION_PROFILE_shift__extern"]
25482 pub fn sk_SRTP_PROTECTION_PROFILE_shift(
25483 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25484 ) -> *const SRTP_PROTECTION_PROFILE;
25485}
25486unsafe extern "C" {
25487 #[link_name = "sk_SRTP_PROTECTION_PROFILE_push__extern"]
25488 pub fn sk_SRTP_PROTECTION_PROFILE_push(
25489 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25490 p: *const SRTP_PROTECTION_PROFILE,
25491 ) -> usize;
25492}
25493unsafe extern "C" {
25494 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop__extern"]
25495 pub fn sk_SRTP_PROTECTION_PROFILE_pop(
25496 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25497 ) -> *const SRTP_PROTECTION_PROFILE;
25498}
25499unsafe extern "C" {
25500 #[link_name = "sk_SRTP_PROTECTION_PROFILE_dup__extern"]
25501 pub fn sk_SRTP_PROTECTION_PROFILE_dup(
25502 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25503 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25504}
25505unsafe extern "C" {
25506 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort__extern"]
25507 pub fn sk_SRTP_PROTECTION_PROFILE_sort(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25508}
25509unsafe extern "C" {
25510 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort_and_dedup__extern"]
25511 pub fn sk_SRTP_PROTECTION_PROFILE_sort_and_dedup(
25512 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25513 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25514 );
25515}
25516unsafe extern "C" {
25517 #[link_name = "sk_SRTP_PROTECTION_PROFILE_is_sorted__extern"]
25518 pub fn sk_SRTP_PROTECTION_PROFILE_is_sorted(
25519 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25520 ) -> ::core::ffi::c_int;
25521}
25522unsafe extern "C" {
25523 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set_cmp_func__extern"]
25524 pub fn sk_SRTP_PROTECTION_PROFILE_set_cmp_func(
25525 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25526 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25527 ) -> sk_SRTP_PROTECTION_PROFILE_cmp_func;
25528}
25529unsafe extern "C" {
25530 #[link_name = "sk_SRTP_PROTECTION_PROFILE_deep_copy__extern"]
25531 pub fn sk_SRTP_PROTECTION_PROFILE_deep_copy(
25532 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25533 copy_func: sk_SRTP_PROTECTION_PROFILE_copy_func,
25534 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25535 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25536}
25537unsafe extern "C" {
25538 pub fn SSL_CTX_set_srtp_profiles(
25539 ctx: *mut SSL_CTX,
25540 profiles: *const ::core::ffi::c_char,
25541 ) -> ::core::ffi::c_int;
25542}
25543unsafe extern "C" {
25544 pub fn SSL_set_srtp_profiles(
25545 ssl: *mut SSL,
25546 profiles: *const ::core::ffi::c_char,
25547 ) -> ::core::ffi::c_int;
25548}
25549unsafe extern "C" {
25550 pub fn SSL_get_srtp_profiles(ssl: *const SSL) -> *const stack_st_SRTP_PROTECTION_PROFILE;
25551}
25552unsafe extern "C" {
25553 pub fn SSL_get_selected_srtp_profile(ssl: *mut SSL) -> *const SRTP_PROTECTION_PROFILE;
25554}
25555unsafe extern "C" {
25556 pub fn SSL_CREDENTIAL_new_pre_shared_key(
25557 key: *const u8,
25558 key_len: usize,
25559 id: *const u8,
25560 id_len: usize,
25561 md: *const EVP_MD,
25562 context: *const u8,
25563 context_len: usize,
25564 ) -> *mut SSL_CREDENTIAL;
25565}
25566unsafe extern "C" {
25567 pub fn SSL_CTX_set_psk_client_callback(
25568 ctx: *mut SSL_CTX,
25569 cb: ::core::option::Option<
25570 unsafe extern "C" fn(
25571 ssl: *mut SSL,
25572 hint: *const ::core::ffi::c_char,
25573 identity: *mut ::core::ffi::c_char,
25574 max_identity_len: ::core::ffi::c_uint,
25575 psk: *mut u8,
25576 max_psk_len: ::core::ffi::c_uint,
25577 ) -> ::core::ffi::c_uint,
25578 >,
25579 );
25580}
25581unsafe extern "C" {
25582 pub fn SSL_set_psk_client_callback(
25583 ssl: *mut SSL,
25584 cb: ::core::option::Option<
25585 unsafe extern "C" fn(
25586 ssl: *mut SSL,
25587 hint: *const ::core::ffi::c_char,
25588 identity: *mut ::core::ffi::c_char,
25589 max_identity_len: ::core::ffi::c_uint,
25590 psk: *mut u8,
25591 max_psk_len: ::core::ffi::c_uint,
25592 ) -> ::core::ffi::c_uint,
25593 >,
25594 );
25595}
25596unsafe extern "C" {
25597 pub fn SSL_CTX_set_psk_server_callback(
25598 ctx: *mut SSL_CTX,
25599 cb: ::core::option::Option<
25600 unsafe extern "C" fn(
25601 ssl: *mut SSL,
25602 identity: *const ::core::ffi::c_char,
25603 psk: *mut u8,
25604 max_psk_len: ::core::ffi::c_uint,
25605 ) -> ::core::ffi::c_uint,
25606 >,
25607 );
25608}
25609unsafe extern "C" {
25610 pub fn SSL_set_psk_server_callback(
25611 ssl: *mut SSL,
25612 cb: ::core::option::Option<
25613 unsafe extern "C" fn(
25614 ssl: *mut SSL,
25615 identity: *const ::core::ffi::c_char,
25616 psk: *mut u8,
25617 max_psk_len: ::core::ffi::c_uint,
25618 ) -> ::core::ffi::c_uint,
25619 >,
25620 );
25621}
25622unsafe extern "C" {
25623 pub fn SSL_CTX_use_psk_identity_hint(
25624 ctx: *mut SSL_CTX,
25625 identity_hint: *const ::core::ffi::c_char,
25626 ) -> ::core::ffi::c_int;
25627}
25628unsafe extern "C" {
25629 pub fn SSL_use_psk_identity_hint(
25630 ssl: *mut SSL,
25631 identity_hint: *const ::core::ffi::c_char,
25632 ) -> ::core::ffi::c_int;
25633}
25634unsafe extern "C" {
25635 pub fn SSL_get_psk_identity_hint(ssl: *const SSL) -> *const ::core::ffi::c_char;
25636}
25637unsafe extern "C" {
25638 pub fn SSL_get_psk_identity(ssl: *const SSL) -> *const ::core::ffi::c_char;
25639}
25640unsafe extern "C" {
25641 pub fn SSL_CREDENTIAL_new_delegated() -> *mut SSL_CREDENTIAL;
25642}
25643unsafe extern "C" {
25644 pub fn SSL_CREDENTIAL_set1_delegated_credential(
25645 cred: *mut SSL_CREDENTIAL,
25646 dc: *mut CRYPTO_BUFFER,
25647 ) -> ::core::ffi::c_int;
25648}
25649unsafe extern "C" {
25650 pub fn SSL_CREDENTIAL_new_raw_public_key(pkey: *mut EVP_PKEY) -> *mut SSL_CREDENTIAL;
25651}
25652unsafe extern "C" {
25653 pub fn SSL_CREDENTIAL_new_raw_public_key_custom(
25654 pubkey: *mut EVP_PKEY,
25655 method: *const SSL_PRIVATE_KEY_METHOD,
25656 ) -> *mut SSL_CREDENTIAL;
25657}
25658unsafe extern "C" {
25659 pub fn SSL_CTX_set1_accepted_peer_cert_types(
25660 ctx: *mut SSL_CTX,
25661 values: *const u8,
25662 num_values: usize,
25663 ) -> ::core::ffi::c_int;
25664}
25665unsafe extern "C" {
25666 pub fn SSL_set1_accepted_peer_cert_types(
25667 ssl: *mut SSL,
25668 values: *const u8,
25669 num_values: usize,
25670 ) -> ::core::ffi::c_int;
25671}
25672unsafe extern "C" {
25673 pub fn SSL_CTX_set1_available_client_cert_types(
25674 ctx: *mut SSL_CTX,
25675 values: *const u8,
25676 num_values: usize,
25677 ) -> ::core::ffi::c_int;
25678}
25679unsafe extern "C" {
25680 pub fn SSL_set1_available_client_cert_types(
25681 ssl: *mut SSL,
25682 values: *const u8,
25683 num_values: usize,
25684 ) -> ::core::ffi::c_int;
25685}
25686unsafe extern "C" {
25687 pub fn SSL_get_peer_cert_type(ssl: *const SSL) -> ::core::ffi::c_int;
25688}
25689unsafe extern "C" {
25690 pub fn SSL_get0_peer_rpk(ssl: *const SSL) -> *mut EVP_PKEY;
25691}
25692unsafe extern "C" {
25693 pub fn SSL_spake2plusv1_register(
25694 out_w0: *mut u8,
25695 out_w1: *mut u8,
25696 out_registration_record: *mut u8,
25697 password: *const u8,
25698 password_len: usize,
25699 client_identity: *const u8,
25700 client_identity_len: usize,
25701 server_identity: *const u8,
25702 server_identity_len: usize,
25703 ) -> ::core::ffi::c_int;
25704}
25705unsafe extern "C" {
25706 pub fn SSL_CREDENTIAL_new_spake2plusv1_client(
25707 context: *const u8,
25708 context_len: usize,
25709 client_identity: *const u8,
25710 client_identity_len: usize,
25711 server_identity: *const u8,
25712 server_identity_len: usize,
25713 error_limit: u32,
25714 w0: *const u8,
25715 w0_len: usize,
25716 w1: *const u8,
25717 w1_len: usize,
25718 ) -> *mut SSL_CREDENTIAL;
25719}
25720unsafe extern "C" {
25721 pub fn SSL_CREDENTIAL_new_spake2plusv1_server(
25722 context: *const u8,
25723 context_len: usize,
25724 client_identity: *const u8,
25725 client_identity_len: usize,
25726 server_identity: *const u8,
25727 server_identity_len: usize,
25728 rate_limit: u32,
25729 w0: *const u8,
25730 w0_len: usize,
25731 registration_record: *const u8,
25732 registration_record_len: usize,
25733 ) -> *mut SSL_CREDENTIAL;
25734}
25735pub const ssl_encryption_level_t_ssl_encryption_initial: ssl_encryption_level_t = 0;
25736pub const ssl_encryption_level_t_ssl_encryption_early_data: ssl_encryption_level_t = 1;
25737pub const ssl_encryption_level_t_ssl_encryption_handshake: ssl_encryption_level_t = 2;
25738pub const ssl_encryption_level_t_ssl_encryption_application: ssl_encryption_level_t = 3;
25739pub type ssl_encryption_level_t = ::core::ffi::c_uint;
25740#[repr(C)]
25741#[derive(Debug, Copy, Clone)]
25742pub struct ssl_quic_method_st {
25743 pub set_read_secret: ::core::option::Option<
25744 unsafe extern "C" fn(
25745 ssl: *mut SSL,
25746 level: ssl_encryption_level_t,
25747 cipher: *const SSL_CIPHER,
25748 secret: *const u8,
25749 secret_len: usize,
25750 ) -> ::core::ffi::c_int,
25751 >,
25752 pub set_write_secret: ::core::option::Option<
25753 unsafe extern "C" fn(
25754 ssl: *mut SSL,
25755 level: ssl_encryption_level_t,
25756 cipher: *const SSL_CIPHER,
25757 secret: *const u8,
25758 secret_len: usize,
25759 ) -> ::core::ffi::c_int,
25760 >,
25761 pub add_handshake_data: ::core::option::Option<
25762 unsafe extern "C" fn(
25763 ssl: *mut SSL,
25764 level: ssl_encryption_level_t,
25765 data: *const u8,
25766 len: usize,
25767 ) -> ::core::ffi::c_int,
25768 >,
25769 pub flush_flight:
25770 ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> ::core::ffi::c_int>,
25771 pub send_alert: ::core::option::Option<
25772 unsafe extern "C" fn(
25773 ssl: *mut SSL,
25774 level: ssl_encryption_level_t,
25775 alert: u8,
25776 ) -> ::core::ffi::c_int,
25777 >,
25778}
25779unsafe extern "C" {
25780 pub fn SSL_quic_max_handshake_flight_len(
25781 ssl: *const SSL,
25782 level: ssl_encryption_level_t,
25783 ) -> usize;
25784}
25785unsafe extern "C" {
25786 pub fn SSL_quic_read_level(ssl: *const SSL) -> ssl_encryption_level_t;
25787}
25788unsafe extern "C" {
25789 pub fn SSL_quic_write_level(ssl: *const SSL) -> ssl_encryption_level_t;
25790}
25791unsafe extern "C" {
25792 pub fn SSL_provide_quic_data(
25793 ssl: *mut SSL,
25794 level: ssl_encryption_level_t,
25795 data: *const u8,
25796 len: usize,
25797 ) -> ::core::ffi::c_int;
25798}
25799unsafe extern "C" {
25800 pub fn SSL_process_quic_post_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
25801}
25802unsafe extern "C" {
25803 pub fn SSL_CTX_set_quic_method(
25804 ctx: *mut SSL_CTX,
25805 quic_method: *const SSL_QUIC_METHOD,
25806 ) -> ::core::ffi::c_int;
25807}
25808unsafe extern "C" {
25809 pub fn SSL_set_quic_method(
25810 ssl: *mut SSL,
25811 quic_method: *const SSL_QUIC_METHOD,
25812 ) -> ::core::ffi::c_int;
25813}
25814unsafe extern "C" {
25815 pub fn SSL_set_quic_transport_params(
25816 ssl: *mut SSL,
25817 params: *const u8,
25818 params_len: usize,
25819 ) -> ::core::ffi::c_int;
25820}
25821unsafe extern "C" {
25822 pub fn SSL_get_peer_quic_transport_params(
25823 ssl: *const SSL,
25824 out_params: *mut *const u8,
25825 out_params_len: *mut usize,
25826 );
25827}
25828unsafe extern "C" {
25829 pub fn SSL_set_quic_use_legacy_codepoint(ssl: *mut SSL, use_legacy: ::core::ffi::c_int);
25830}
25831unsafe extern "C" {
25832 pub fn SSL_set_quic_early_data_context(
25833 ssl: *mut SSL,
25834 context: *const u8,
25835 context_len: usize,
25836 ) -> ::core::ffi::c_int;
25837}
25838unsafe extern "C" {
25839 pub fn SSL_CTX_set_early_data_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25840}
25841unsafe extern "C" {
25842 pub fn SSL_set_early_data_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
25843}
25844unsafe extern "C" {
25845 pub fn SSL_in_early_data(ssl: *const SSL) -> ::core::ffi::c_int;
25846}
25847unsafe extern "C" {
25848 pub fn SSL_SESSION_early_data_capable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
25849}
25850unsafe extern "C" {
25851 pub fn SSL_SESSION_copy_without_early_data(session: *mut SSL_SESSION) -> *mut SSL_SESSION;
25852}
25853unsafe extern "C" {
25854 pub fn SSL_early_data_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
25855}
25856unsafe extern "C" {
25857 pub fn SSL_reset_early_data_reject(ssl: *mut SSL);
25858}
25859unsafe extern "C" {
25860 pub fn SSL_get_ticket_age_skew(ssl: *const SSL) -> i32;
25861}
25862pub const ssl_early_data_reason_t_ssl_early_data_unknown: ssl_early_data_reason_t = 0;
25863pub const ssl_early_data_reason_t_ssl_early_data_disabled: ssl_early_data_reason_t = 1;
25864pub const ssl_early_data_reason_t_ssl_early_data_accepted: ssl_early_data_reason_t = 2;
25865pub const ssl_early_data_reason_t_ssl_early_data_protocol_version: ssl_early_data_reason_t = 3;
25866pub const ssl_early_data_reason_t_ssl_early_data_peer_declined: ssl_early_data_reason_t = 4;
25867pub const ssl_early_data_reason_t_ssl_early_data_no_session_offered: ssl_early_data_reason_t = 5;
25868pub const ssl_early_data_reason_t_ssl_early_data_session_not_resumed: ssl_early_data_reason_t = 6;
25869pub const ssl_early_data_reason_t_ssl_early_data_unsupported_for_session: ssl_early_data_reason_t =
25870 7;
25871pub const ssl_early_data_reason_t_ssl_early_data_hello_retry_request: ssl_early_data_reason_t = 8;
25872pub const ssl_early_data_reason_t_ssl_early_data_alpn_mismatch: ssl_early_data_reason_t = 9;
25873pub const ssl_early_data_reason_t_ssl_early_data_channel_id: ssl_early_data_reason_t = 10;
25874pub const ssl_early_data_reason_t_ssl_early_data_ticket_age_skew: ssl_early_data_reason_t = 12;
25875pub const ssl_early_data_reason_t_ssl_early_data_quic_parameter_mismatch: ssl_early_data_reason_t =
25876 13;
25877pub const ssl_early_data_reason_t_ssl_early_data_alps_mismatch: ssl_early_data_reason_t = 14;
25878pub const ssl_early_data_reason_t_ssl_early_data_reason_max_value: ssl_early_data_reason_t = 14;
25879pub type ssl_early_data_reason_t = ::core::ffi::c_uint;
25880unsafe extern "C" {
25881 pub fn SSL_get_early_data_reason(ssl: *const SSL) -> ssl_early_data_reason_t;
25882}
25883unsafe extern "C" {
25884 pub fn SSL_early_data_reason_string(
25885 reason: ssl_early_data_reason_t,
25886 ) -> *const ::core::ffi::c_char;
25887}
25888unsafe extern "C" {
25889 pub fn SSL_set_enable_ech_grease(ssl: *mut SSL, enable: ::core::ffi::c_int);
25890}
25891unsafe extern "C" {
25892 pub fn SSL_set1_ech_config_list(
25893 ssl: *mut SSL,
25894 ech_config_list: *const u8,
25895 ech_config_list_len: usize,
25896 ) -> ::core::ffi::c_int;
25897}
25898unsafe extern "C" {
25899 pub fn SSL_get0_ech_name_override(
25900 ssl: *const SSL,
25901 out_name: *mut *const ::core::ffi::c_char,
25902 out_name_len: *mut usize,
25903 );
25904}
25905unsafe extern "C" {
25906 pub fn SSL_get0_ech_retry_configs(
25907 ssl: *const SSL,
25908 out_retry_configs: *mut *const u8,
25909 out_retry_configs_len: *mut usize,
25910 );
25911}
25912unsafe extern "C" {
25913 pub fn SSL_marshal_ech_config(
25914 out: *mut *mut u8,
25915 out_len: *mut usize,
25916 config_id: u8,
25917 key: *const EVP_HPKE_KEY,
25918 public_name: *const ::core::ffi::c_char,
25919 max_name_len: usize,
25920 ) -> ::core::ffi::c_int;
25921}
25922unsafe extern "C" {
25923 pub fn SSL_ECH_KEYS_new() -> *mut SSL_ECH_KEYS;
25924}
25925unsafe extern "C" {
25926 pub fn SSL_ECH_KEYS_up_ref(keys: *mut SSL_ECH_KEYS);
25927}
25928unsafe extern "C" {
25929 pub fn SSL_ECH_KEYS_free(keys: *mut SSL_ECH_KEYS);
25930}
25931unsafe extern "C" {
25932 pub fn SSL_ECH_KEYS_add(
25933 keys: *mut SSL_ECH_KEYS,
25934 is_retry_config: ::core::ffi::c_int,
25935 ech_config: *const u8,
25936 ech_config_len: usize,
25937 key: *const EVP_HPKE_KEY,
25938 ) -> ::core::ffi::c_int;
25939}
25940unsafe extern "C" {
25941 pub fn SSL_ECH_KEYS_has_duplicate_config_id(keys: *const SSL_ECH_KEYS) -> ::core::ffi::c_int;
25942}
25943unsafe extern "C" {
25944 pub fn SSL_ECH_KEYS_marshal_retry_configs(
25945 keys: *const SSL_ECH_KEYS,
25946 out: *mut *mut u8,
25947 out_len: *mut usize,
25948 ) -> ::core::ffi::c_int;
25949}
25950unsafe extern "C" {
25951 pub fn SSL_CTX_set1_ech_keys(ctx: *mut SSL_CTX, keys: *mut SSL_ECH_KEYS) -> ::core::ffi::c_int;
25952}
25953unsafe extern "C" {
25954 pub fn SSL_ech_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
25955}
25956unsafe extern "C" {
25957 pub fn SSL_alert_type_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
25958}
25959unsafe extern "C" {
25960 pub fn SSL_alert_desc_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
25961}
25962unsafe extern "C" {
25963 pub fn SSL_send_fatal_alert(ssl: *mut SSL, alert: u8) -> ::core::ffi::c_int;
25964}
25965unsafe extern "C" {
25966 pub fn SSL_set_ex_data(
25967 ssl: *mut SSL,
25968 idx: ::core::ffi::c_int,
25969 data: *mut ::core::ffi::c_void,
25970 ) -> ::core::ffi::c_int;
25971}
25972unsafe extern "C" {
25973 pub fn SSL_get_ex_data(ssl: *const SSL, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
25974}
25975unsafe extern "C" {
25976 pub fn SSL_get_ex_new_index(
25977 argl: ::core::ffi::c_long,
25978 argp: *mut ::core::ffi::c_void,
25979 unused: *mut CRYPTO_EX_unused,
25980 dup_unused: CRYPTO_EX_dup,
25981 free_func: CRYPTO_EX_free,
25982 ) -> ::core::ffi::c_int;
25983}
25984unsafe extern "C" {
25985 pub fn SSL_SESSION_set_ex_data(
25986 session: *mut SSL_SESSION,
25987 idx: ::core::ffi::c_int,
25988 data: *mut ::core::ffi::c_void,
25989 ) -> ::core::ffi::c_int;
25990}
25991unsafe extern "C" {
25992 pub fn SSL_SESSION_get_ex_data(
25993 session: *const SSL_SESSION,
25994 idx: ::core::ffi::c_int,
25995 ) -> *mut ::core::ffi::c_void;
25996}
25997unsafe extern "C" {
25998 pub fn SSL_SESSION_get_ex_new_index(
25999 argl: ::core::ffi::c_long,
26000 argp: *mut ::core::ffi::c_void,
26001 unused: *mut CRYPTO_EX_unused,
26002 dup_unused: CRYPTO_EX_dup,
26003 free_func: CRYPTO_EX_free,
26004 ) -> ::core::ffi::c_int;
26005}
26006unsafe extern "C" {
26007 pub fn SSL_CTX_set_ex_data(
26008 ctx: *mut SSL_CTX,
26009 idx: ::core::ffi::c_int,
26010 data: *mut ::core::ffi::c_void,
26011 ) -> ::core::ffi::c_int;
26012}
26013unsafe extern "C" {
26014 pub fn SSL_CTX_get_ex_data(
26015 ctx: *const SSL_CTX,
26016 idx: ::core::ffi::c_int,
26017 ) -> *mut ::core::ffi::c_void;
26018}
26019unsafe extern "C" {
26020 pub fn SSL_CTX_get_ex_new_index(
26021 argl: ::core::ffi::c_long,
26022 argp: *mut ::core::ffi::c_void,
26023 unused: *mut CRYPTO_EX_unused,
26024 dup_unused: CRYPTO_EX_dup,
26025 free_func: CRYPTO_EX_free,
26026 ) -> ::core::ffi::c_int;
26027}
26028unsafe extern "C" {
26029 pub fn SSL_CREDENTIAL_set_ex_data(
26030 cred: *mut SSL_CREDENTIAL,
26031 idx: ::core::ffi::c_int,
26032 data: *mut ::core::ffi::c_void,
26033 ) -> ::core::ffi::c_int;
26034}
26035unsafe extern "C" {
26036 pub fn SSL_CREDENTIAL_get_ex_data(
26037 cred: *const SSL_CREDENTIAL,
26038 idx: ::core::ffi::c_int,
26039 ) -> *mut ::core::ffi::c_void;
26040}
26041unsafe extern "C" {
26042 pub fn SSL_CREDENTIAL_get_ex_new_index(
26043 argl: ::core::ffi::c_long,
26044 argp: *mut ::core::ffi::c_void,
26045 unused: *mut CRYPTO_EX_unused,
26046 dup_unused: CRYPTO_EX_dup,
26047 free_func: CRYPTO_EX_free,
26048 ) -> ::core::ffi::c_int;
26049}
26050unsafe extern "C" {
26051 pub fn SSL_get_ivs(
26052 ssl: *const SSL,
26053 out_read_iv: *mut *const u8,
26054 out_write_iv: *mut *const u8,
26055 out_iv_len: *mut usize,
26056 ) -> ::core::ffi::c_int;
26057}
26058unsafe extern "C" {
26059 pub fn SSL_get_key_block_len(ssl: *const SSL) -> usize;
26060}
26061unsafe extern "C" {
26062 pub fn SSL_generate_key_block(
26063 ssl: *const SSL,
26064 out: *mut u8,
26065 out_len: usize,
26066 ) -> ::core::ffi::c_int;
26067}
26068unsafe extern "C" {
26069 pub fn SSL_get_read_sequence(ssl: *const SSL) -> u64;
26070}
26071unsafe extern "C" {
26072 pub fn SSL_get_write_sequence(ssl: *const SSL) -> u64;
26073}
26074unsafe extern "C" {
26075 pub fn SSL_CTX_set_record_protocol_version(
26076 ctx: *mut SSL_CTX,
26077 version: ::core::ffi::c_int,
26078 ) -> ::core::ffi::c_int;
26079}
26080unsafe extern "C" {
26081 pub fn SSL_is_dtls_handshake_idle(ssl: *const SSL) -> ::core::ffi::c_int;
26082}
26083unsafe extern "C" {
26084 pub fn SSL_get_dtls_handshake_read_seq(ssl: *const SSL) -> u32;
26085}
26086unsafe extern "C" {
26087 pub fn SSL_get_dtls_handshake_write_seq(ssl: *const SSL) -> u32;
26088}
26089unsafe extern "C" {
26090 pub fn SSL_get_dtls_read_epoch(ssl: *const SSL) -> u16;
26091}
26092unsafe extern "C" {
26093 pub fn SSL_get_dtls_write_epoch(ssl: *const SSL) -> u16;
26094}
26095unsafe extern "C" {
26096 pub fn SSL_get_dtls_read_sequence(ssl: *const SSL, epoch: u16) -> u64;
26097}
26098unsafe extern "C" {
26099 pub fn SSL_get_dtls_write_sequence(ssl: *const SSL, epoch: u16) -> u64;
26100}
26101unsafe extern "C" {
26102 pub fn SSL_get_dtls_read_traffic_secret(
26103 ssl: *const SSL,
26104 out_data: *mut *const u8,
26105 out_len: *mut usize,
26106 epoch: u16,
26107 ) -> ::core::ffi::c_int;
26108}
26109unsafe extern "C" {
26110 pub fn SSL_get_dtls_write_traffic_secret(
26111 ssl: *const SSL,
26112 out_data: *mut *const u8,
26113 out_len: *mut usize,
26114 epoch: u16,
26115 ) -> ::core::ffi::c_int;
26116}
26117unsafe extern "C" {
26118 pub fn SSL_serialize_capabilities(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26119}
26120unsafe extern "C" {
26121 pub fn SSL_request_handshake_hints(
26122 ssl: *mut SSL,
26123 client_hello: *const u8,
26124 client_hello_len: usize,
26125 capabilities: *const u8,
26126 capabilities_len: usize,
26127 ) -> ::core::ffi::c_int;
26128}
26129unsafe extern "C" {
26130 pub fn SSL_serialize_handshake_hints(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26131}
26132unsafe extern "C" {
26133 pub fn SSL_set_handshake_hints(
26134 ssl: *mut SSL,
26135 hints: *const u8,
26136 hints_len: usize,
26137 ) -> ::core::ffi::c_int;
26138}
26139unsafe extern "C" {
26140 pub fn SSL_CTX_set_msg_callback(
26141 ctx: *mut SSL_CTX,
26142 cb: ::core::option::Option<
26143 unsafe extern "C" fn(
26144 is_write: ::core::ffi::c_int,
26145 version: ::core::ffi::c_int,
26146 content_type: ::core::ffi::c_int,
26147 buf: *const ::core::ffi::c_void,
26148 len: usize,
26149 ssl: *mut SSL,
26150 arg: *mut ::core::ffi::c_void,
26151 ),
26152 >,
26153 );
26154}
26155unsafe extern "C" {
26156 pub fn SSL_CTX_set_msg_callback_arg(ctx: *mut SSL_CTX, arg: *mut ::core::ffi::c_void);
26157}
26158unsafe extern "C" {
26159 pub fn SSL_set_msg_callback(
26160 ssl: *mut SSL,
26161 cb: ::core::option::Option<
26162 unsafe extern "C" fn(
26163 write_p: ::core::ffi::c_int,
26164 version: ::core::ffi::c_int,
26165 content_type: ::core::ffi::c_int,
26166 buf: *const ::core::ffi::c_void,
26167 len: usize,
26168 ssl: *mut SSL,
26169 arg: *mut ::core::ffi::c_void,
26170 ),
26171 >,
26172 );
26173}
26174unsafe extern "C" {
26175 pub fn SSL_set_msg_callback_arg(ssl: *mut SSL, arg: *mut ::core::ffi::c_void);
26176}
26177unsafe extern "C" {
26178 pub fn SSL_CTX_set_keylog_callback(
26179 ctx: *mut SSL_CTX,
26180 cb: ::core::option::Option<
26181 unsafe extern "C" fn(ssl: *const SSL, line: *const ::core::ffi::c_char),
26182 >,
26183 );
26184}
26185unsafe extern "C" {
26186 pub fn SSL_CTX_get_keylog_callback(
26187 ctx: *const SSL_CTX,
26188 ) -> ::core::option::Option<
26189 unsafe extern "C" fn(ctx: *const SSL, arg1: *const ::core::ffi::c_char),
26190 >;
26191}
26192unsafe extern "C" {
26193 pub fn SSL_CTX_set_current_time_cb(
26194 ctx: *mut SSL_CTX,
26195 cb: ::core::option::Option<unsafe extern "C" fn(ssl: *const SSL, out_clock: *mut timeval)>,
26196 );
26197}
26198unsafe extern "C" {
26199 pub fn SSL_set_shed_handshake_config(ssl: *mut SSL, enable: ::core::ffi::c_int);
26200}
26201pub const ssl_renegotiate_mode_t_ssl_renegotiate_never: ssl_renegotiate_mode_t = 0;
26202pub const ssl_renegotiate_mode_t_ssl_renegotiate_once: ssl_renegotiate_mode_t = 1;
26203pub const ssl_renegotiate_mode_t_ssl_renegotiate_freely: ssl_renegotiate_mode_t = 2;
26204pub const ssl_renegotiate_mode_t_ssl_renegotiate_ignore: ssl_renegotiate_mode_t = 3;
26205pub const ssl_renegotiate_mode_t_ssl_renegotiate_explicit: ssl_renegotiate_mode_t = 4;
26206pub type ssl_renegotiate_mode_t = ::core::ffi::c_uint;
26207unsafe extern "C" {
26208 pub fn SSL_set_renegotiate_mode(ssl: *mut SSL, mode: ssl_renegotiate_mode_t);
26209}
26210unsafe extern "C" {
26211 pub fn SSL_renegotiate(ssl: *mut SSL) -> ::core::ffi::c_int;
26212}
26213unsafe extern "C" {
26214 pub fn SSL_renegotiate_pending(ssl: *mut SSL) -> ::core::ffi::c_int;
26215}
26216unsafe extern "C" {
26217 pub fn SSL_total_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26218}
26219unsafe extern "C" {
26220 pub fn SSL_CTX_get_max_cert_list(ctx: *const SSL_CTX) -> usize;
26221}
26222unsafe extern "C" {
26223 pub fn SSL_CTX_set_max_cert_list(ctx: *mut SSL_CTX, max_cert_list: usize);
26224}
26225unsafe extern "C" {
26226 pub fn SSL_get_max_cert_list(ssl: *const SSL) -> usize;
26227}
26228unsafe extern "C" {
26229 pub fn SSL_set_max_cert_list(ssl: *mut SSL, max_cert_list: usize);
26230}
26231unsafe extern "C" {
26232 pub fn SSL_CTX_set_max_send_fragment(
26233 ctx: *mut SSL_CTX,
26234 max_send_fragment: usize,
26235 ) -> ::core::ffi::c_int;
26236}
26237unsafe extern "C" {
26238 pub fn SSL_set_max_send_fragment(ssl: *mut SSL, max_send_fragment: usize)
26239 -> ::core::ffi::c_int;
26240}
26241#[repr(C)]
26242#[derive(Debug, Copy, Clone)]
26243pub struct ssl_early_callback_ctx {
26244 pub ssl: *mut SSL,
26245 pub client_hello: *const u8,
26246 pub client_hello_len: usize,
26247 pub version: u16,
26248 pub random: *const u8,
26249 pub random_len: usize,
26250 pub session_id: *const u8,
26251 pub session_id_len: usize,
26252 pub dtls_cookie: *const u8,
26253 pub dtls_cookie_len: usize,
26254 pub cipher_suites: *const u8,
26255 pub cipher_suites_len: usize,
26256 pub compression_methods: *const u8,
26257 pub compression_methods_len: usize,
26258 pub extensions: *const u8,
26259 pub extensions_len: usize,
26260}
26261pub const ssl_select_cert_result_t_ssl_select_cert_success: ssl_select_cert_result_t = 1;
26262pub const ssl_select_cert_result_t_ssl_select_cert_retry: ssl_select_cert_result_t = 0;
26263pub const ssl_select_cert_result_t_ssl_select_cert_error: ssl_select_cert_result_t = -1;
26264pub const ssl_select_cert_result_t_ssl_select_cert_disable_ech: ssl_select_cert_result_t = -2;
26265pub type ssl_select_cert_result_t = ::core::ffi::c_int;
26266unsafe extern "C" {
26267 pub fn SSL_early_callback_ctx_extension_get(
26268 client_hello: *const SSL_CLIENT_HELLO,
26269 extension_type: u16,
26270 out_data: *mut *const u8,
26271 out_len: *mut usize,
26272 ) -> ::core::ffi::c_int;
26273}
26274unsafe extern "C" {
26275 pub fn SSL_CTX_set_select_certificate_cb(
26276 ctx: *mut SSL_CTX,
26277 cb: ::core::option::Option<
26278 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ssl_select_cert_result_t,
26279 >,
26280 );
26281}
26282unsafe extern "C" {
26283 pub fn SSL_CTX_set_dos_protection_cb(
26284 ctx: *mut SSL_CTX,
26285 cb: ::core::option::Option<
26286 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ::core::ffi::c_int,
26287 >,
26288 );
26289}
26290unsafe extern "C" {
26291 pub fn SSL_CTX_set_reverify_on_resume(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26292}
26293unsafe extern "C" {
26294 pub fn SSL_CTX_set_info_callback(
26295 ctx: *mut SSL_CTX,
26296 cb: ::core::option::Option<
26297 unsafe extern "C" fn(
26298 ssl: *const SSL,
26299 type_: ::core::ffi::c_int,
26300 value: ::core::ffi::c_int,
26301 ),
26302 >,
26303 );
26304}
26305unsafe extern "C" {
26306 pub fn SSL_CTX_get_info_callback(
26307 ctx: *mut SSL_CTX,
26308 ) -> ::core::option::Option<
26309 unsafe extern "C" fn(ctx: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26310 >;
26311}
26312unsafe extern "C" {
26313 pub fn SSL_set_info_callback(
26314 ssl: *mut SSL,
26315 cb: ::core::option::Option<
26316 unsafe extern "C" fn(
26317 ssl: *const SSL,
26318 type_: ::core::ffi::c_int,
26319 value: ::core::ffi::c_int,
26320 ),
26321 >,
26322 );
26323}
26324unsafe extern "C" {
26325 pub fn SSL_get_info_callback(
26326 ssl: *const SSL,
26327 ) -> ::core::option::Option<
26328 unsafe extern "C" fn(ssl: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26329 >;
26330}
26331unsafe extern "C" {
26332 pub fn SSL_state_string_long(ssl: *const SSL) -> *const ::core::ffi::c_char;
26333}
26334unsafe extern "C" {
26335 pub fn SSL_get_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
26336}
26337unsafe extern "C" {
26338 pub fn SSL_get_peer_signature_algorithm(ssl: *const SSL) -> u16;
26339}
26340unsafe extern "C" {
26341 pub fn SSL_get_client_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26342}
26343unsafe extern "C" {
26344 pub fn SSL_get_server_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26345}
26346unsafe extern "C" {
26347 pub fn SSL_get_signature_algorithm_used(ssl: *const SSL) -> u16;
26348}
26349unsafe extern "C" {
26350 pub fn SSL_get_pending_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
26351}
26352unsafe extern "C" {
26353 pub fn SSL_set_retain_only_sha256_of_client_certs(ssl: *mut SSL, enable: ::core::ffi::c_int);
26354}
26355unsafe extern "C" {
26356 pub fn SSL_CTX_set_retain_only_sha256_of_client_certs(
26357 ctx: *mut SSL_CTX,
26358 enable: ::core::ffi::c_int,
26359 );
26360}
26361unsafe extern "C" {
26362 pub fn SSL_CTX_set_grease_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26363}
26364unsafe extern "C" {
26365 pub fn SSL_CTX_set_grease_sigalgs_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26366}
26367unsafe extern "C" {
26368 pub fn SSL_CTX_set_permute_extensions(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26369}
26370unsafe extern "C" {
26371 pub fn SSL_set_permute_extensions(ssl: *mut SSL, enabled: ::core::ffi::c_int);
26372}
26373unsafe extern "C" {
26374 pub fn SSL_max_seal_overhead(ssl: *const SSL) -> usize;
26375}
26376unsafe extern "C" {
26377 pub fn SSL_CTX_set_false_start_allowed_without_alpn(
26378 ctx: *mut SSL_CTX,
26379 allowed: ::core::ffi::c_int,
26380 );
26381}
26382unsafe extern "C" {
26383 pub fn SSL_used_hello_retry_request(ssl: *const SSL) -> ::core::ffi::c_int;
26384}
26385unsafe extern "C" {
26386 pub fn SSL_set_jdk11_workaround(ssl: *mut SSL, enable: ::core::ffi::c_int);
26387}
26388unsafe extern "C" {
26389 pub fn SSL_parse_client_hello(
26390 ssl: *const SSL,
26391 out: *mut SSL_CLIENT_HELLO,
26392 in_: *const u8,
26393 len: usize,
26394 ) -> ::core::ffi::c_int;
26395}
26396unsafe extern "C" {
26397 pub fn SSL_library_init() -> ::core::ffi::c_int;
26398}
26399unsafe extern "C" {
26400 pub fn SSL_CIPHER_description(
26401 cipher: *const SSL_CIPHER,
26402 buf: *mut ::core::ffi::c_char,
26403 len: ::core::ffi::c_int,
26404 ) -> *const ::core::ffi::c_char;
26405}
26406unsafe extern "C" {
26407 pub fn SSL_CIPHER_get_version(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26408}
26409unsafe extern "C" {
26410 pub fn SSL_CIPHER_get_id(cipher: *const SSL_CIPHER) -> u32;
26411}
26412unsafe extern "C" {
26413 pub fn SSL_CIPHER_get_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26414}
26415pub type COMP_METHOD = ::core::ffi::c_void;
26416pub type SSL_COMP = ssl_comp_st;
26417#[repr(C)]
26418#[derive(Debug)]
26419pub struct stack_st_SSL_COMP {
26420 _unused: [u8; 0],
26421}
26422unsafe extern "C" {
26423 pub fn SSL_COMP_get_compression_methods() -> *mut stack_st_SSL_COMP;
26424}
26425unsafe extern "C" {
26426 pub fn SSL_COMP_add_compression_method(
26427 id: ::core::ffi::c_int,
26428 cm: *mut COMP_METHOD,
26429 ) -> ::core::ffi::c_int;
26430}
26431unsafe extern "C" {
26432 pub fn SSL_COMP_get_name(comp: *const COMP_METHOD) -> *const ::core::ffi::c_char;
26433}
26434unsafe extern "C" {
26435 pub fn SSL_COMP_get0_name(comp: *const SSL_COMP) -> *const ::core::ffi::c_char;
26436}
26437unsafe extern "C" {
26438 pub fn SSL_COMP_get_id(comp: *const SSL_COMP) -> ::core::ffi::c_int;
26439}
26440unsafe extern "C" {
26441 pub fn SSL_COMP_free_compression_methods();
26442}
26443unsafe extern "C" {
26444 pub fn SSLv23_method() -> *const SSL_METHOD;
26445}
26446unsafe extern "C" {
26447 pub fn TLSv1_method() -> *const SSL_METHOD;
26448}
26449unsafe extern "C" {
26450 pub fn TLSv1_1_method() -> *const SSL_METHOD;
26451}
26452unsafe extern "C" {
26453 pub fn TLSv1_2_method() -> *const SSL_METHOD;
26454}
26455unsafe extern "C" {
26456 pub fn DTLSv1_method() -> *const SSL_METHOD;
26457}
26458unsafe extern "C" {
26459 pub fn DTLSv1_2_method() -> *const SSL_METHOD;
26460}
26461unsafe extern "C" {
26462 pub fn TLS_server_method() -> *const SSL_METHOD;
26463}
26464unsafe extern "C" {
26465 pub fn TLS_client_method() -> *const SSL_METHOD;
26466}
26467unsafe extern "C" {
26468 pub fn SSLv23_server_method() -> *const SSL_METHOD;
26469}
26470unsafe extern "C" {
26471 pub fn SSLv23_client_method() -> *const SSL_METHOD;
26472}
26473unsafe extern "C" {
26474 pub fn TLSv1_server_method() -> *const SSL_METHOD;
26475}
26476unsafe extern "C" {
26477 pub fn TLSv1_client_method() -> *const SSL_METHOD;
26478}
26479unsafe extern "C" {
26480 pub fn TLSv1_1_server_method() -> *const SSL_METHOD;
26481}
26482unsafe extern "C" {
26483 pub fn TLSv1_1_client_method() -> *const SSL_METHOD;
26484}
26485unsafe extern "C" {
26486 pub fn TLSv1_2_server_method() -> *const SSL_METHOD;
26487}
26488unsafe extern "C" {
26489 pub fn TLSv1_2_client_method() -> *const SSL_METHOD;
26490}
26491unsafe extern "C" {
26492 pub fn DTLS_server_method() -> *const SSL_METHOD;
26493}
26494unsafe extern "C" {
26495 pub fn DTLS_client_method() -> *const SSL_METHOD;
26496}
26497unsafe extern "C" {
26498 pub fn DTLSv1_server_method() -> *const SSL_METHOD;
26499}
26500unsafe extern "C" {
26501 pub fn DTLSv1_client_method() -> *const SSL_METHOD;
26502}
26503unsafe extern "C" {
26504 pub fn DTLSv1_2_server_method() -> *const SSL_METHOD;
26505}
26506unsafe extern "C" {
26507 pub fn DTLSv1_2_client_method() -> *const SSL_METHOD;
26508}
26509unsafe extern "C" {
26510 pub fn SSL_clear(ssl: *mut SSL) -> ::core::ffi::c_int;
26511}
26512unsafe extern "C" {
26513 pub fn SSL_CTX_set_tmp_rsa_callback(
26514 ctx: *mut SSL_CTX,
26515 cb: ::core::option::Option<
26516 unsafe extern "C" fn(
26517 ssl: *mut SSL,
26518 is_export: ::core::ffi::c_int,
26519 keylength: ::core::ffi::c_int,
26520 ) -> *mut RSA,
26521 >,
26522 );
26523}
26524unsafe extern "C" {
26525 pub fn SSL_set_tmp_rsa_callback(
26526 ssl: *mut SSL,
26527 cb: ::core::option::Option<
26528 unsafe extern "C" fn(
26529 ssl: *mut SSL,
26530 is_export: ::core::ffi::c_int,
26531 keylength: ::core::ffi::c_int,
26532 ) -> *mut RSA,
26533 >,
26534 );
26535}
26536unsafe extern "C" {
26537 pub fn SSL_CTX_sess_connect(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26538}
26539unsafe extern "C" {
26540 pub fn SSL_CTX_sess_connect_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26541}
26542unsafe extern "C" {
26543 pub fn SSL_CTX_sess_connect_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26544}
26545unsafe extern "C" {
26546 pub fn SSL_CTX_sess_accept(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26547}
26548unsafe extern "C" {
26549 pub fn SSL_CTX_sess_accept_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26550}
26551unsafe extern "C" {
26552 pub fn SSL_CTX_sess_accept_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26553}
26554unsafe extern "C" {
26555 pub fn SSL_CTX_sess_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26556}
26557unsafe extern "C" {
26558 pub fn SSL_CTX_sess_cb_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26559}
26560unsafe extern "C" {
26561 pub fn SSL_CTX_sess_misses(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26562}
26563unsafe extern "C" {
26564 pub fn SSL_CTX_sess_timeouts(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26565}
26566unsafe extern "C" {
26567 pub fn SSL_CTX_sess_cache_full(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26568}
26569unsafe extern "C" {
26570 pub fn SSL_cutthrough_complete(ssl: *const SSL) -> ::core::ffi::c_int;
26571}
26572unsafe extern "C" {
26573 pub fn SSL_num_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26574}
26575unsafe extern "C" {
26576 pub fn SSL_CTX_need_tmp_RSA(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26577}
26578unsafe extern "C" {
26579 pub fn SSL_need_tmp_RSA(ssl: *const SSL) -> ::core::ffi::c_int;
26580}
26581unsafe extern "C" {
26582 pub fn SSL_CTX_set_tmp_rsa(ctx: *mut SSL_CTX, rsa: *const RSA) -> ::core::ffi::c_int;
26583}
26584unsafe extern "C" {
26585 pub fn SSL_set_tmp_rsa(ssl: *mut SSL, rsa: *const RSA) -> ::core::ffi::c_int;
26586}
26587unsafe extern "C" {
26588 pub fn SSL_CTX_get_read_ahead(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26589}
26590unsafe extern "C" {
26591 pub fn SSL_CTX_set_read_ahead(ctx: *mut SSL_CTX, yes: ::core::ffi::c_int)
26592 -> ::core::ffi::c_int;
26593}
26594unsafe extern "C" {
26595 pub fn SSL_get_read_ahead(ssl: *const SSL) -> ::core::ffi::c_int;
26596}
26597unsafe extern "C" {
26598 pub fn SSL_set_read_ahead(ssl: *mut SSL, yes: ::core::ffi::c_int) -> ::core::ffi::c_int;
26599}
26600unsafe extern "C" {
26601 pub fn SSL_set_state(ssl: *mut SSL, state: ::core::ffi::c_int);
26602}
26603unsafe extern "C" {
26604 pub fn SSL_get_shared_ciphers(
26605 ssl: *const SSL,
26606 buf: *mut ::core::ffi::c_char,
26607 len: ::core::ffi::c_int,
26608 ) -> *mut ::core::ffi::c_char;
26609}
26610unsafe extern "C" {
26611 pub fn SSL_get_shared_sigalgs(
26612 ssl: *mut SSL,
26613 idx: ::core::ffi::c_int,
26614 psign: *mut ::core::ffi::c_int,
26615 phash: *mut ::core::ffi::c_int,
26616 psignandhash: *mut ::core::ffi::c_int,
26617 rsig: *mut u8,
26618 rhash: *mut u8,
26619 ) -> ::core::ffi::c_int;
26620}
26621unsafe extern "C" {
26622 pub fn i2d_SSL_SESSION(in_: *const SSL_SESSION, pp: *mut *mut u8) -> ::core::ffi::c_int;
26623}
26624unsafe extern "C" {
26625 pub fn d2i_SSL_SESSION(
26626 out: *mut *mut SSL_SESSION,
26627 inp: *mut *const u8,
26628 len: ::core::ffi::c_long,
26629 ) -> *mut SSL_SESSION;
26630}
26631unsafe extern "C" {
26632 pub fn i2d_SSL_SESSION_bio(bio: *mut BIO, session: *const SSL_SESSION) -> ::core::ffi::c_int;
26633}
26634unsafe extern "C" {
26635 pub fn d2i_SSL_SESSION_bio(bio: *mut BIO, out: *mut *mut SSL_SESSION) -> *mut SSL_SESSION;
26636}
26637unsafe extern "C" {
26638 pub fn ERR_load_SSL_strings();
26639}
26640unsafe extern "C" {
26641 pub fn SSL_load_error_strings();
26642}
26643unsafe extern "C" {
26644 pub fn SSL_CTX_set_tlsext_use_srtp(
26645 ctx: *mut SSL_CTX,
26646 profiles: *const ::core::ffi::c_char,
26647 ) -> ::core::ffi::c_int;
26648}
26649unsafe extern "C" {
26650 pub fn SSL_set_tlsext_use_srtp(
26651 ssl: *mut SSL,
26652 profiles: *const ::core::ffi::c_char,
26653 ) -> ::core::ffi::c_int;
26654}
26655unsafe extern "C" {
26656 pub fn SSL_get_current_compression(ssl: *mut SSL) -> *const COMP_METHOD;
26657}
26658unsafe extern "C" {
26659 pub fn SSL_get_current_expansion(ssl: *mut SSL) -> *const COMP_METHOD;
26660}
26661unsafe extern "C" {
26662 pub fn SSL_get_server_tmp_key(ssl: *mut SSL, out_key: *mut *mut EVP_PKEY)
26663 -> ::core::ffi::c_int;
26664}
26665unsafe extern "C" {
26666 pub fn SSL_CTX_set_tmp_dh(ctx: *mut SSL_CTX, dh: *const DH) -> ::core::ffi::c_int;
26667}
26668unsafe extern "C" {
26669 pub fn SSL_set_tmp_dh(ssl: *mut SSL, dh: *const DH) -> ::core::ffi::c_int;
26670}
26671unsafe extern "C" {
26672 pub fn SSL_CTX_set_tmp_dh_callback(
26673 ctx: *mut SSL_CTX,
26674 cb: ::core::option::Option<
26675 unsafe extern "C" fn(
26676 ssl: *mut SSL,
26677 is_export: ::core::ffi::c_int,
26678 keylength: ::core::ffi::c_int,
26679 ) -> *mut DH,
26680 >,
26681 );
26682}
26683unsafe extern "C" {
26684 pub fn SSL_set_tmp_dh_callback(
26685 ssl: *mut SSL,
26686 cb: ::core::option::Option<
26687 unsafe extern "C" fn(
26688 ssl: *mut SSL,
26689 is_export: ::core::ffi::c_int,
26690 keylength: ::core::ffi::c_int,
26691 ) -> *mut DH,
26692 >,
26693 );
26694}
26695unsafe extern "C" {
26696 pub fn SSL_CTX_set1_sigalgs(
26697 ctx: *mut SSL_CTX,
26698 values: *const ::core::ffi::c_int,
26699 num_values: usize,
26700 ) -> ::core::ffi::c_int;
26701}
26702unsafe extern "C" {
26703 pub fn SSL_set1_sigalgs(
26704 ssl: *mut SSL,
26705 values: *const ::core::ffi::c_int,
26706 num_values: usize,
26707 ) -> ::core::ffi::c_int;
26708}
26709unsafe extern "C" {
26710 pub fn SSL_CTX_set1_sigalgs_list(
26711 ctx: *mut SSL_CTX,
26712 str_: *const ::core::ffi::c_char,
26713 ) -> ::core::ffi::c_int;
26714}
26715unsafe extern "C" {
26716 pub fn SSL_set1_sigalgs_list(
26717 ssl: *mut SSL,
26718 str_: *const ::core::ffi::c_char,
26719 ) -> ::core::ffi::c_int;
26720}
26721#[repr(C)]
26722#[derive(Debug, Copy, Clone)]
26723pub struct ssl_comp_st {
26724 pub id: ::core::ffi::c_int,
26725 pub name: *const ::core::ffi::c_char,
26726 pub method: *mut ::core::ffi::c_char,
26727}
26728pub type sk_SSL_COMP_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut SSL_COMP)>;
26729pub type sk_SSL_COMP_copy_func =
26730 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_COMP) -> *mut SSL_COMP>;
26731pub type sk_SSL_COMP_cmp_func = ::core::option::Option<
26732 unsafe extern "C" fn(
26733 arg1: *const *const SSL_COMP,
26734 arg2: *const *const SSL_COMP,
26735 ) -> ::core::ffi::c_int,
26736>;
26737pub type sk_SSL_COMP_delete_if_func = ::core::option::Option<
26738 unsafe extern "C" fn(arg1: *mut SSL_COMP, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
26739>;
26740unsafe extern "C" {
26741 #[link_name = "sk_SSL_COMP_call_free_func__extern"]
26742 pub fn sk_SSL_COMP_call_free_func(
26743 free_func: OPENSSL_sk_free_func,
26744 ptr: *mut ::core::ffi::c_void,
26745 );
26746}
26747unsafe extern "C" {
26748 #[link_name = "sk_SSL_COMP_call_copy_func__extern"]
26749 pub fn sk_SSL_COMP_call_copy_func(
26750 copy_func: OPENSSL_sk_copy_func,
26751 ptr: *const ::core::ffi::c_void,
26752 ) -> *mut ::core::ffi::c_void;
26753}
26754unsafe extern "C" {
26755 #[link_name = "sk_SSL_COMP_call_cmp_func__extern"]
26756 pub fn sk_SSL_COMP_call_cmp_func(
26757 cmp_func: OPENSSL_sk_cmp_func,
26758 a: *const ::core::ffi::c_void,
26759 b: *const ::core::ffi::c_void,
26760 ) -> ::core::ffi::c_int;
26761}
26762unsafe extern "C" {
26763 #[link_name = "sk_SSL_COMP_call_delete_if_func__extern"]
26764 pub fn sk_SSL_COMP_call_delete_if_func(
26765 func: OPENSSL_sk_delete_if_func,
26766 obj: *mut ::core::ffi::c_void,
26767 data: *mut ::core::ffi::c_void,
26768 ) -> ::core::ffi::c_int;
26769}
26770unsafe extern "C" {
26771 #[link_name = "sk_SSL_COMP_new__extern"]
26772 pub fn sk_SSL_COMP_new(comp: sk_SSL_COMP_cmp_func) -> *mut stack_st_SSL_COMP;
26773}
26774unsafe extern "C" {
26775 #[link_name = "sk_SSL_COMP_new_null__extern"]
26776 pub fn sk_SSL_COMP_new_null() -> *mut stack_st_SSL_COMP;
26777}
26778unsafe extern "C" {
26779 #[link_name = "sk_SSL_COMP_num__extern"]
26780 pub fn sk_SSL_COMP_num(sk: *const stack_st_SSL_COMP) -> usize;
26781}
26782unsafe extern "C" {
26783 #[link_name = "sk_SSL_COMP_zero__extern"]
26784 pub fn sk_SSL_COMP_zero(sk: *mut stack_st_SSL_COMP);
26785}
26786unsafe extern "C" {
26787 #[link_name = "sk_SSL_COMP_value__extern"]
26788 pub fn sk_SSL_COMP_value(sk: *const stack_st_SSL_COMP, i: usize) -> *mut SSL_COMP;
26789}
26790unsafe extern "C" {
26791 #[link_name = "sk_SSL_COMP_set__extern"]
26792 pub fn sk_SSL_COMP_set(sk: *mut stack_st_SSL_COMP, i: usize, p: *mut SSL_COMP)
26793 -> *mut SSL_COMP;
26794}
26795unsafe extern "C" {
26796 #[link_name = "sk_SSL_COMP_free__extern"]
26797 pub fn sk_SSL_COMP_free(sk: *mut stack_st_SSL_COMP);
26798}
26799unsafe extern "C" {
26800 #[link_name = "sk_SSL_COMP_pop_free__extern"]
26801 pub fn sk_SSL_COMP_pop_free(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
26802}
26803unsafe extern "C" {
26804 #[link_name = "sk_SSL_COMP_insert__extern"]
26805 pub fn sk_SSL_COMP_insert(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP, where_: usize)
26806 -> usize;
26807}
26808unsafe extern "C" {
26809 #[link_name = "sk_SSL_COMP_delete__extern"]
26810 pub fn sk_SSL_COMP_delete(sk: *mut stack_st_SSL_COMP, where_: usize) -> *mut SSL_COMP;
26811}
26812unsafe extern "C" {
26813 #[link_name = "sk_SSL_COMP_delete_ptr__extern"]
26814 pub fn sk_SSL_COMP_delete_ptr(sk: *mut stack_st_SSL_COMP, p: *const SSL_COMP) -> *mut SSL_COMP;
26815}
26816unsafe extern "C" {
26817 #[link_name = "sk_SSL_COMP_delete_if__extern"]
26818 pub fn sk_SSL_COMP_delete_if(
26819 sk: *mut stack_st_SSL_COMP,
26820 func: sk_SSL_COMP_delete_if_func,
26821 data: *mut ::core::ffi::c_void,
26822 );
26823}
26824unsafe extern "C" {
26825 #[link_name = "sk_SSL_COMP_find__extern"]
26826 pub fn sk_SSL_COMP_find(
26827 sk: *const stack_st_SSL_COMP,
26828 out_index: *mut usize,
26829 p: *const SSL_COMP,
26830 ) -> ::core::ffi::c_int;
26831}
26832unsafe extern "C" {
26833 #[link_name = "sk_SSL_COMP_shift__extern"]
26834 pub fn sk_SSL_COMP_shift(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
26835}
26836unsafe extern "C" {
26837 #[link_name = "sk_SSL_COMP_push__extern"]
26838 pub fn sk_SSL_COMP_push(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP) -> usize;
26839}
26840unsafe extern "C" {
26841 #[link_name = "sk_SSL_COMP_pop__extern"]
26842 pub fn sk_SSL_COMP_pop(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
26843}
26844unsafe extern "C" {
26845 #[link_name = "sk_SSL_COMP_dup__extern"]
26846 pub fn sk_SSL_COMP_dup(sk: *const stack_st_SSL_COMP) -> *mut stack_st_SSL_COMP;
26847}
26848unsafe extern "C" {
26849 #[link_name = "sk_SSL_COMP_sort__extern"]
26850 pub fn sk_SSL_COMP_sort(sk: *mut stack_st_SSL_COMP);
26851}
26852unsafe extern "C" {
26853 #[link_name = "sk_SSL_COMP_sort_and_dedup__extern"]
26854 pub fn sk_SSL_COMP_sort_and_dedup(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
26855}
26856unsafe extern "C" {
26857 #[link_name = "sk_SSL_COMP_is_sorted__extern"]
26858 pub fn sk_SSL_COMP_is_sorted(sk: *const stack_st_SSL_COMP) -> ::core::ffi::c_int;
26859}
26860unsafe extern "C" {
26861 #[link_name = "sk_SSL_COMP_set_cmp_func__extern"]
26862 pub fn sk_SSL_COMP_set_cmp_func(
26863 sk: *mut stack_st_SSL_COMP,
26864 comp: sk_SSL_COMP_cmp_func,
26865 ) -> sk_SSL_COMP_cmp_func;
26866}
26867unsafe extern "C" {
26868 #[link_name = "sk_SSL_COMP_deep_copy__extern"]
26869 pub fn sk_SSL_COMP_deep_copy(
26870 sk: *const stack_st_SSL_COMP,
26871 copy_func: sk_SSL_COMP_copy_func,
26872 free_func: sk_SSL_COMP_free_func,
26873 ) -> *mut stack_st_SSL_COMP;
26874}
26875unsafe extern "C" {
26876 pub fn SSL_cache_hit(ssl: *mut SSL) -> ::core::ffi::c_int;
26877}
26878unsafe extern "C" {
26879 pub fn SSL_get_default_timeout(ssl: *const SSL) -> ::core::ffi::c_long;
26880}
26881unsafe extern "C" {
26882 pub fn SSL_get_version(ssl: *const SSL) -> *const ::core::ffi::c_char;
26883}
26884unsafe extern "C" {
26885 pub fn SSL_get_all_version_names(out: *mut *const ::core::ffi::c_char, max_out: usize)
26886 -> usize;
26887}
26888unsafe extern "C" {
26889 pub fn SSL_get_cipher_list(
26890 ssl: *const SSL,
26891 n: ::core::ffi::c_int,
26892 ) -> *const ::core::ffi::c_char;
26893}
26894unsafe extern "C" {
26895 pub fn SSL_CTX_set_client_cert_cb(
26896 ctx: *mut SSL_CTX,
26897 cb: ::core::option::Option<
26898 unsafe extern "C" fn(
26899 ssl: *mut SSL,
26900 out_x509: *mut *mut X509,
26901 out_pkey: *mut *mut EVP_PKEY,
26902 ) -> ::core::ffi::c_int,
26903 >,
26904 );
26905}
26906unsafe extern "C" {
26907 pub fn SSL_want(ssl: *const SSL) -> ::core::ffi::c_int;
26908}
26909unsafe extern "C" {
26910 pub fn SSL_get_finished(ssl: *const SSL, buf: *mut ::core::ffi::c_void, count: usize) -> usize;
26911}
26912unsafe extern "C" {
26913 pub fn SSL_get_peer_finished(
26914 ssl: *const SSL,
26915 buf: *mut ::core::ffi::c_void,
26916 count: usize,
26917 ) -> usize;
26918}
26919unsafe extern "C" {
26920 pub fn SSL_alert_type_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26921}
26922unsafe extern "C" {
26923 pub fn SSL_alert_desc_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26924}
26925unsafe extern "C" {
26926 pub fn SSL_state_string(ssl: *const SSL) -> *const ::core::ffi::c_char;
26927}
26928#[repr(C)]
26929#[derive(Debug)]
26930pub struct ssl_conf_ctx_st {
26931 _unused: [u8; 0],
26932}
26933pub type SSL_CONF_CTX = ssl_conf_ctx_st;
26934unsafe extern "C" {
26935 pub fn SSL_state(ssl: *const SSL) -> ::core::ffi::c_int;
26936}
26937unsafe extern "C" {
26938 pub fn SSL_set_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
26939}
26940unsafe extern "C" {
26941 pub fn SSL_CTX_set_tmp_ecdh(ctx: *mut SSL_CTX, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
26942}
26943unsafe extern "C" {
26944 pub fn SSL_set_tmp_ecdh(ssl: *mut SSL, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
26945}
26946unsafe extern "C" {
26947 pub fn SSL_add_dir_cert_subjects_to_stack(
26948 out: *mut stack_st_X509_NAME,
26949 dir: *const ::core::ffi::c_char,
26950 ) -> ::core::ffi::c_int;
26951}
26952unsafe extern "C" {
26953 pub fn SSL_CTX_enable_tls_channel_id(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
26954}
26955unsafe extern "C" {
26956 pub fn SSL_enable_tls_channel_id(ssl: *mut SSL) -> ::core::ffi::c_int;
26957}
26958unsafe extern "C" {
26959 pub fn BIO_f_ssl() -> *const BIO_METHOD;
26960}
26961unsafe extern "C" {
26962 pub fn BIO_set_ssl(
26963 bio: *mut BIO,
26964 ssl: *mut SSL,
26965 take_owership: ::core::ffi::c_int,
26966 ) -> ::core::ffi::c_long;
26967}
26968unsafe extern "C" {
26969 pub fn SSL_get_session(ssl: *const SSL) -> *mut SSL_SESSION;
26970}
26971unsafe extern "C" {
26972 pub fn SSL_get1_session(ssl: *mut SSL) -> *mut SSL_SESSION;
26973}
26974unsafe extern "C" {
26975 pub fn OPENSSL_init_ssl(
26976 opts: u64,
26977 settings: *const OPENSSL_INIT_SETTINGS,
26978 ) -> ::core::ffi::c_int;
26979}
26980unsafe extern "C" {
26981 pub fn SSL_set_tlsext_status_type(
26982 ssl: *mut SSL,
26983 type_: ::core::ffi::c_int,
26984 ) -> ::core::ffi::c_int;
26985}
26986unsafe extern "C" {
26987 pub fn SSL_get_tlsext_status_type(ssl: *const SSL) -> ::core::ffi::c_int;
26988}
26989unsafe extern "C" {
26990 pub fn SSL_set_tlsext_status_ocsp_resp(
26991 ssl: *mut SSL,
26992 resp: *mut u8,
26993 resp_len: usize,
26994 ) -> ::core::ffi::c_int;
26995}
26996unsafe extern "C" {
26997 pub fn SSL_get_tlsext_status_ocsp_resp(ssl: *const SSL, out: *mut *const u8) -> usize;
26998}
26999unsafe extern "C" {
27000 pub fn SSL_CTX_set_tlsext_status_cb(
27001 ctx: *mut SSL_CTX,
27002 callback: ::core::option::Option<
27003 unsafe extern "C" fn(
27004 ssl: *mut SSL,
27005 arg: *mut ::core::ffi::c_void,
27006 ) -> ::core::ffi::c_int,
27007 >,
27008 ) -> ::core::ffi::c_int;
27009}
27010unsafe extern "C" {
27011 pub fn SSL_CTX_set_tlsext_status_arg(
27012 ctx: *mut SSL_CTX,
27013 arg: *mut ::core::ffi::c_void,
27014 ) -> ::core::ffi::c_int;
27015}
27016unsafe extern "C" {
27017 pub fn SSL_get_curve_id(ssl: *const SSL) -> u16;
27018}
27019unsafe extern "C" {
27020 pub fn SSL_get_curve_name(curve_id: u16) -> *const ::core::ffi::c_char;
27021}
27022unsafe extern "C" {
27023 pub fn SSL_get_all_curve_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
27024}
27025unsafe extern "C" {
27026 pub fn SSL_CTX_set1_curves(
27027 ctx: *mut SSL_CTX,
27028 curves: *const ::core::ffi::c_int,
27029 num_curves: usize,
27030 ) -> ::core::ffi::c_int;
27031}
27032unsafe extern "C" {
27033 pub fn SSL_set1_curves(
27034 ssl: *mut SSL,
27035 curves: *const ::core::ffi::c_int,
27036 num_curves: usize,
27037 ) -> ::core::ffi::c_int;
27038}
27039unsafe extern "C" {
27040 pub fn SSL_CTX_set1_curves_list(
27041 ctx: *mut SSL_CTX,
27042 curves: *const ::core::ffi::c_char,
27043 ) -> ::core::ffi::c_int;
27044}
27045unsafe extern "C" {
27046 pub fn SSL_set1_curves_list(
27047 ssl: *mut SSL,
27048 curves: *const ::core::ffi::c_char,
27049 ) -> ::core::ffi::c_int;
27050}
27051unsafe extern "C" {
27052 pub fn SSL_CTX_check_private_key(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27053}
27054unsafe extern "C" {
27055 pub fn SSL_check_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
27056}
27057unsafe extern "C" {
27058 pub fn SSL_CTX_get_security_level(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27059}
27060unsafe extern "C" {
27061 pub fn SSL_CTX_set0_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
27062}
27063pub const ssl_compliance_policy_t_ssl_compliance_policy_none: ssl_compliance_policy_t = 0;
27064pub const ssl_compliance_policy_t_ssl_compliance_policy_fips_202205: ssl_compliance_policy_t = 1;
27065pub const ssl_compliance_policy_t_ssl_compliance_policy_wpa3_192_202304: ssl_compliance_policy_t =
27066 2;
27067pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa_202407: ssl_compliance_policy_t = 3;
27068pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa1_202603: ssl_compliance_policy_t = 4;
27069pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa2_202603: ssl_compliance_policy_t = 5;
27070pub type ssl_compliance_policy_t = ::core::ffi::c_uint;
27071unsafe extern "C" {
27072 pub fn SSL_CTX_set_compliance_policy(
27073 ctx: *mut SSL_CTX,
27074 policy: ssl_compliance_policy_t,
27075 ) -> ::core::ffi::c_int;
27076}
27077unsafe extern "C" {
27078 pub fn SSL_CTX_get_compliance_policy(ctx: *const SSL_CTX) -> ssl_compliance_policy_t;
27079}
27080unsafe extern "C" {
27081 pub fn SSL_set_compliance_policy(
27082 ssl: *mut SSL,
27083 policy: ssl_compliance_policy_t,
27084 ) -> ::core::ffi::c_int;
27085}
27086unsafe extern "C" {
27087 pub fn SSL_get_compliance_policy(ssl: *const SSL) -> ssl_compliance_policy_t;
27088}
27089unsafe extern "C" {
27090 pub fn SSL_set_server_padding_request(ssl: *mut SSL, num_bytes: u16);
27091}
27092unsafe extern "C" {
27093 pub fn SSL_set_server_padding_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
27094}
27095unsafe extern "C" {
27096 pub fn SSL_server_sent_requested_padding(ssl: *const SSL) -> ::core::ffi::c_int;
27097}
27098unsafe extern "C" {
27099 pub fn CRYPTO_tls1_prf(
27100 digest: *const EVP_MD,
27101 out: *mut u8,
27102 out_len: usize,
27103 secret: *const u8,
27104 secret_len: usize,
27105 label: *const u8,
27106 label_len: usize,
27107 seed1: *const u8,
27108 seed1_len: usize,
27109 seed2: *const u8,
27110 seed2_len: usize,
27111 ) -> ::core::ffi::c_int;
27112}
27113unsafe extern "C" {
27114 pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27115}
27116unsafe extern "C" {
27117 pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27118}
27119unsafe extern "C" {
27120 pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27121}
27122unsafe extern "C" {
27123 pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27124}
27125unsafe extern "C" {
27126 pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27127}
27128#[repr(C)]
27129#[derive(Debug, Copy, Clone)]
27130pub struct trust_token_st {
27131 pub data: *mut u8,
27132 pub len: usize,
27133}
27134#[repr(C)]
27135#[derive(Debug)]
27136pub struct stack_st_TRUST_TOKEN {
27137 _unused: [u8; 0],
27138}
27139pub type sk_TRUST_TOKEN_free_func =
27140 ::core::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27141pub type sk_TRUST_TOKEN_copy_func =
27142 ::core::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27143pub type sk_TRUST_TOKEN_cmp_func = ::core::option::Option<
27144 unsafe extern "C" fn(
27145 arg1: *const *const TRUST_TOKEN,
27146 arg2: *const *const TRUST_TOKEN,
27147 ) -> ::core::ffi::c_int,
27148>;
27149pub type sk_TRUST_TOKEN_delete_if_func = ::core::option::Option<
27150 unsafe extern "C" fn(
27151 arg1: *mut TRUST_TOKEN,
27152 arg2: *mut ::core::ffi::c_void,
27153 ) -> ::core::ffi::c_int,
27154>;
27155unsafe extern "C" {
27156 #[link_name = "sk_TRUST_TOKEN_call_free_func__extern"]
27157 pub fn sk_TRUST_TOKEN_call_free_func(
27158 free_func: OPENSSL_sk_free_func,
27159 ptr: *mut ::core::ffi::c_void,
27160 );
27161}
27162unsafe extern "C" {
27163 #[link_name = "sk_TRUST_TOKEN_call_copy_func__extern"]
27164 pub fn sk_TRUST_TOKEN_call_copy_func(
27165 copy_func: OPENSSL_sk_copy_func,
27166 ptr: *const ::core::ffi::c_void,
27167 ) -> *mut ::core::ffi::c_void;
27168}
27169unsafe extern "C" {
27170 #[link_name = "sk_TRUST_TOKEN_call_cmp_func__extern"]
27171 pub fn sk_TRUST_TOKEN_call_cmp_func(
27172 cmp_func: OPENSSL_sk_cmp_func,
27173 a: *const ::core::ffi::c_void,
27174 b: *const ::core::ffi::c_void,
27175 ) -> ::core::ffi::c_int;
27176}
27177unsafe extern "C" {
27178 #[link_name = "sk_TRUST_TOKEN_call_delete_if_func__extern"]
27179 pub fn sk_TRUST_TOKEN_call_delete_if_func(
27180 func: OPENSSL_sk_delete_if_func,
27181 obj: *mut ::core::ffi::c_void,
27182 data: *mut ::core::ffi::c_void,
27183 ) -> ::core::ffi::c_int;
27184}
27185unsafe extern "C" {
27186 #[link_name = "sk_TRUST_TOKEN_new__extern"]
27187 pub fn sk_TRUST_TOKEN_new(comp: sk_TRUST_TOKEN_cmp_func) -> *mut stack_st_TRUST_TOKEN;
27188}
27189unsafe extern "C" {
27190 #[link_name = "sk_TRUST_TOKEN_new_null__extern"]
27191 pub fn sk_TRUST_TOKEN_new_null() -> *mut stack_st_TRUST_TOKEN;
27192}
27193unsafe extern "C" {
27194 #[link_name = "sk_TRUST_TOKEN_num__extern"]
27195 pub fn sk_TRUST_TOKEN_num(sk: *const stack_st_TRUST_TOKEN) -> usize;
27196}
27197unsafe extern "C" {
27198 #[link_name = "sk_TRUST_TOKEN_zero__extern"]
27199 pub fn sk_TRUST_TOKEN_zero(sk: *mut stack_st_TRUST_TOKEN);
27200}
27201unsafe extern "C" {
27202 #[link_name = "sk_TRUST_TOKEN_value__extern"]
27203 pub fn sk_TRUST_TOKEN_value(sk: *const stack_st_TRUST_TOKEN, i: usize) -> *mut TRUST_TOKEN;
27204}
27205unsafe extern "C" {
27206 #[link_name = "sk_TRUST_TOKEN_set__extern"]
27207 pub fn sk_TRUST_TOKEN_set(
27208 sk: *mut stack_st_TRUST_TOKEN,
27209 i: usize,
27210 p: *mut TRUST_TOKEN,
27211 ) -> *mut TRUST_TOKEN;
27212}
27213unsafe extern "C" {
27214 #[link_name = "sk_TRUST_TOKEN_free__extern"]
27215 pub fn sk_TRUST_TOKEN_free(sk: *mut stack_st_TRUST_TOKEN);
27216}
27217unsafe extern "C" {
27218 #[link_name = "sk_TRUST_TOKEN_pop_free__extern"]
27219 pub fn sk_TRUST_TOKEN_pop_free(
27220 sk: *mut stack_st_TRUST_TOKEN,
27221 free_func: sk_TRUST_TOKEN_free_func,
27222 );
27223}
27224unsafe extern "C" {
27225 #[link_name = "sk_TRUST_TOKEN_insert__extern"]
27226 pub fn sk_TRUST_TOKEN_insert(
27227 sk: *mut stack_st_TRUST_TOKEN,
27228 p: *mut TRUST_TOKEN,
27229 where_: usize,
27230 ) -> usize;
27231}
27232unsafe extern "C" {
27233 #[link_name = "sk_TRUST_TOKEN_delete__extern"]
27234 pub fn sk_TRUST_TOKEN_delete(sk: *mut stack_st_TRUST_TOKEN, where_: usize) -> *mut TRUST_TOKEN;
27235}
27236unsafe extern "C" {
27237 #[link_name = "sk_TRUST_TOKEN_delete_ptr__extern"]
27238 pub fn sk_TRUST_TOKEN_delete_ptr(
27239 sk: *mut stack_st_TRUST_TOKEN,
27240 p: *const TRUST_TOKEN,
27241 ) -> *mut TRUST_TOKEN;
27242}
27243unsafe extern "C" {
27244 #[link_name = "sk_TRUST_TOKEN_delete_if__extern"]
27245 pub fn sk_TRUST_TOKEN_delete_if(
27246 sk: *mut stack_st_TRUST_TOKEN,
27247 func: sk_TRUST_TOKEN_delete_if_func,
27248 data: *mut ::core::ffi::c_void,
27249 );
27250}
27251unsafe extern "C" {
27252 #[link_name = "sk_TRUST_TOKEN_find__extern"]
27253 pub fn sk_TRUST_TOKEN_find(
27254 sk: *const stack_st_TRUST_TOKEN,
27255 out_index: *mut usize,
27256 p: *const TRUST_TOKEN,
27257 ) -> ::core::ffi::c_int;
27258}
27259unsafe extern "C" {
27260 #[link_name = "sk_TRUST_TOKEN_shift__extern"]
27261 pub fn sk_TRUST_TOKEN_shift(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27262}
27263unsafe extern "C" {
27264 #[link_name = "sk_TRUST_TOKEN_push__extern"]
27265 pub fn sk_TRUST_TOKEN_push(sk: *mut stack_st_TRUST_TOKEN, p: *mut TRUST_TOKEN) -> usize;
27266}
27267unsafe extern "C" {
27268 #[link_name = "sk_TRUST_TOKEN_pop__extern"]
27269 pub fn sk_TRUST_TOKEN_pop(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27270}
27271unsafe extern "C" {
27272 #[link_name = "sk_TRUST_TOKEN_dup__extern"]
27273 pub fn sk_TRUST_TOKEN_dup(sk: *const stack_st_TRUST_TOKEN) -> *mut stack_st_TRUST_TOKEN;
27274}
27275unsafe extern "C" {
27276 #[link_name = "sk_TRUST_TOKEN_sort__extern"]
27277 pub fn sk_TRUST_TOKEN_sort(sk: *mut stack_st_TRUST_TOKEN);
27278}
27279unsafe extern "C" {
27280 #[link_name = "sk_TRUST_TOKEN_sort_and_dedup__extern"]
27281 pub fn sk_TRUST_TOKEN_sort_and_dedup(
27282 sk: *mut stack_st_TRUST_TOKEN,
27283 free_func: sk_TRUST_TOKEN_free_func,
27284 );
27285}
27286unsafe extern "C" {
27287 #[link_name = "sk_TRUST_TOKEN_is_sorted__extern"]
27288 pub fn sk_TRUST_TOKEN_is_sorted(sk: *const stack_st_TRUST_TOKEN) -> ::core::ffi::c_int;
27289}
27290unsafe extern "C" {
27291 #[link_name = "sk_TRUST_TOKEN_set_cmp_func__extern"]
27292 pub fn sk_TRUST_TOKEN_set_cmp_func(
27293 sk: *mut stack_st_TRUST_TOKEN,
27294 comp: sk_TRUST_TOKEN_cmp_func,
27295 ) -> sk_TRUST_TOKEN_cmp_func;
27296}
27297unsafe extern "C" {
27298 #[link_name = "sk_TRUST_TOKEN_deep_copy__extern"]
27299 pub fn sk_TRUST_TOKEN_deep_copy(
27300 sk: *const stack_st_TRUST_TOKEN,
27301 copy_func: sk_TRUST_TOKEN_copy_func,
27302 free_func: sk_TRUST_TOKEN_free_func,
27303 ) -> *mut stack_st_TRUST_TOKEN;
27304}
27305unsafe extern "C" {
27306 pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27307}
27308unsafe extern "C" {
27309 pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27310}
27311unsafe extern "C" {
27312 pub fn TRUST_TOKEN_generate_key(
27313 method: *const TRUST_TOKEN_METHOD,
27314 out_priv_key: *mut u8,
27315 out_priv_key_len: *mut usize,
27316 max_priv_key_len: usize,
27317 out_pub_key: *mut u8,
27318 out_pub_key_len: *mut usize,
27319 max_pub_key_len: usize,
27320 id: u32,
27321 ) -> ::core::ffi::c_int;
27322}
27323unsafe extern "C" {
27324 pub fn TRUST_TOKEN_derive_key_from_secret(
27325 method: *const TRUST_TOKEN_METHOD,
27326 out_priv_key: *mut u8,
27327 out_priv_key_len: *mut usize,
27328 max_priv_key_len: usize,
27329 out_pub_key: *mut u8,
27330 out_pub_key_len: *mut usize,
27331 max_pub_key_len: usize,
27332 id: u32,
27333 secret: *const u8,
27334 secret_len: usize,
27335 ) -> ::core::ffi::c_int;
27336}
27337unsafe extern "C" {
27338 pub fn TRUST_TOKEN_CLIENT_new(
27339 method: *const TRUST_TOKEN_METHOD,
27340 max_batchsize: usize,
27341 ) -> *mut TRUST_TOKEN_CLIENT;
27342}
27343unsafe extern "C" {
27344 pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27345}
27346unsafe extern "C" {
27347 pub fn TRUST_TOKEN_CLIENT_dup_for_testing(
27348 ctx: *const TRUST_TOKEN_CLIENT,
27349 ) -> *mut TRUST_TOKEN_CLIENT;
27350}
27351unsafe extern "C" {
27352 pub fn TRUST_TOKEN_CLIENT_add_key(
27353 ctx: *mut TRUST_TOKEN_CLIENT,
27354 out_key_index: *mut usize,
27355 key: *const u8,
27356 key_len: usize,
27357 ) -> ::core::ffi::c_int;
27358}
27359unsafe extern "C" {
27360 pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27361 ctx: *mut TRUST_TOKEN_CLIENT,
27362 key: *mut EVP_PKEY,
27363 ) -> ::core::ffi::c_int;
27364}
27365unsafe extern "C" {
27366 pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27367 ctx: *mut TRUST_TOKEN_CLIENT,
27368 out: *mut *mut u8,
27369 out_len: *mut usize,
27370 count: usize,
27371 ) -> ::core::ffi::c_int;
27372}
27373unsafe extern "C" {
27374 pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27375 ctx: *mut TRUST_TOKEN_CLIENT,
27376 out: *mut *mut u8,
27377 out_len: *mut usize,
27378 count: usize,
27379 msg: *const u8,
27380 msg_len: usize,
27381 ) -> ::core::ffi::c_int;
27382}
27383unsafe extern "C" {
27384 pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27385 ctx: *mut TRUST_TOKEN_CLIENT,
27386 out_key_index: *mut usize,
27387 response: *const u8,
27388 response_len: usize,
27389 ) -> *mut stack_st_TRUST_TOKEN;
27390}
27391unsafe extern "C" {
27392 pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27393 ctx: *mut TRUST_TOKEN_CLIENT,
27394 out: *mut *mut u8,
27395 out_len: *mut usize,
27396 token: *const TRUST_TOKEN,
27397 data: *const u8,
27398 data_len: usize,
27399 time: u64,
27400 ) -> ::core::ffi::c_int;
27401}
27402unsafe extern "C" {
27403 pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27404 ctx: *mut TRUST_TOKEN_CLIENT,
27405 out_rr: *mut *mut u8,
27406 out_rr_len: *mut usize,
27407 out_sig: *mut *mut u8,
27408 out_sig_len: *mut usize,
27409 response: *const u8,
27410 response_len: usize,
27411 ) -> ::core::ffi::c_int;
27412}
27413unsafe extern "C" {
27414 pub fn TRUST_TOKEN_ISSUER_new(
27415 method: *const TRUST_TOKEN_METHOD,
27416 max_batchsize: usize,
27417 ) -> *mut TRUST_TOKEN_ISSUER;
27418}
27419unsafe extern "C" {
27420 pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27421}
27422unsafe extern "C" {
27423 pub fn TRUST_TOKEN_ISSUER_add_key(
27424 ctx: *mut TRUST_TOKEN_ISSUER,
27425 key: *const u8,
27426 key_len: usize,
27427 ) -> ::core::ffi::c_int;
27428}
27429unsafe extern "C" {
27430 pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27431 ctx: *mut TRUST_TOKEN_ISSUER,
27432 key: *mut EVP_PKEY,
27433 ) -> ::core::ffi::c_int;
27434}
27435unsafe extern "C" {
27436 pub fn TRUST_TOKEN_ISSUER_issue(
27437 ctx: *const TRUST_TOKEN_ISSUER,
27438 out: *mut *mut u8,
27439 out_len: *mut usize,
27440 out_tokens_issued: *mut usize,
27441 request: *const u8,
27442 request_len: usize,
27443 public_metadata: u32,
27444 private_metadata: u8,
27445 max_issuance: usize,
27446 ) -> ::core::ffi::c_int;
27447}
27448unsafe extern "C" {
27449 pub fn TRUST_TOKEN_ISSUER_redeem(
27450 ctx: *const TRUST_TOKEN_ISSUER,
27451 out_public: *mut u32,
27452 out_private: *mut u8,
27453 out_token: *mut *mut TRUST_TOKEN,
27454 out_client_data: *mut *mut u8,
27455 out_client_data_len: *mut usize,
27456 request: *const u8,
27457 request_len: usize,
27458 ) -> ::core::ffi::c_int;
27459}
27460unsafe extern "C" {
27461 pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27462 ctx: *const TRUST_TOKEN_ISSUER,
27463 out_public: *mut u32,
27464 out_private: *mut u8,
27465 out_token: *mut *mut TRUST_TOKEN,
27466 out_client_data: *mut *mut u8,
27467 out_client_data_len: *mut usize,
27468 request: *const u8,
27469 request_len: usize,
27470 msg: *const u8,
27471 msg_len: usize,
27472 ) -> ::core::ffi::c_int;
27473}
27474unsafe extern "C" {
27475 pub fn TRUST_TOKEN_decode_private_metadata(
27476 method: *const TRUST_TOKEN_METHOD,
27477 out_value: *mut u8,
27478 key: *const u8,
27479 key_len: usize,
27480 nonce: *const u8,
27481 nonce_len: usize,
27482 encrypted_bit: u8,
27483 ) -> ::core::ffi::c_int;
27484}
27485pub type __builtin_va_list = [__va_list_tag; 1usize];
27486#[repr(C)]
27487#[derive(Debug, Copy, Clone)]
27488pub struct __va_list_tag {
27489 pub gp_offset: ::core::ffi::c_uint,
27490 pub fp_offset: ::core::ffi::c_uint,
27491 pub overflow_arg_area: *mut ::core::ffi::c_void,
27492 pub reg_save_area: *mut ::core::ffi::c_void,
27493}
27494#[repr(C)]
27495#[derive(Debug, Copy, Clone)]
27496pub struct CRYPTO_dynlock_value {
27497 pub _address: u8,
27498}
27499
27500