1#[repr(C)]
12#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
13pub struct __BindgenBitfieldUnit<Storage> {
14 storage: Storage,
15}
16impl<Storage> __BindgenBitfieldUnit<Storage> {
17 #[inline]
18 pub const fn new(storage: Storage) -> Self {
19 Self { storage }
20 }
21}
22impl<Storage> __BindgenBitfieldUnit<Storage>
23where
24 Storage: AsRef<[u8]> + AsMut<[u8]>,
25{
26 #[inline]
27 fn extract_bit(byte: u8, index: usize) -> bool {
28 let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
29 let mask = 1 << bit_index;
30 byte & mask == mask
31 }
32 #[inline]
33 pub fn get_bit(&self, index: usize) -> bool {
34 debug_assert!(index / 8 < self.storage.as_ref().len());
35 let byte_index = index / 8;
36 let byte = self.storage.as_ref()[byte_index];
37 Self::extract_bit(byte, index)
38 }
39 #[inline]
40 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
41 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
42 let byte_index = index / 8;
43 let byte = unsafe {
44 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
45 };
46 Self::extract_bit(byte, index)
47 }
48 #[inline]
49 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
50 let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
51 let mask = 1 << bit_index;
52 if val {
53 byte | mask
54 } else {
55 byte & !mask
56 }
57 }
58 #[inline]
59 pub fn set_bit(&mut self, index: usize, val: bool) {
60 debug_assert!(index / 8 < self.storage.as_ref().len());
61 let byte_index = index / 8;
62 let byte = &mut self.storage.as_mut()[byte_index];
63 *byte = Self::change_bit(*byte, index, val);
64 }
65 #[inline]
66 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
67 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
68 let byte_index = index / 8;
69 let byte = unsafe {
70 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
71 };
72 unsafe { *byte = Self::change_bit(*byte, index, val) };
73 }
74 #[inline]
75 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
76 debug_assert!(bit_width <= 64);
77 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
78 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
79 if bit_width == 0 {
80 return 0;
81 }
82 let mut val = 0u64;
83 let storage = self.storage.as_ref();
84 let start_byte = bit_offset / 8;
85 let bit_shift = bit_offset % 8;
86 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
87 if cfg!(target_endian = "big") {
88 for i in 0..bytes_needed {
89 val |= (storage[start_byte + i].reverse_bits() as u64) << (i * 8);
90 }
91 } else {
92 for i in 0..bytes_needed {
93 val |= (storage[start_byte + i] as u64) << (i * 8);
94 }
95 }
96 val >>= bit_shift;
97 if bit_width < 64 {
98 val &= (1u64 << bit_width) - 1;
99 }
100 if cfg!(target_endian = "big") {
101 val = val.reverse_bits() >> (64 - bit_width as usize);
102 }
103 val
104 }
105 #[inline]
106 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
107 debug_assert!(bit_width <= 64);
108 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
109 debug_assert!(
110 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
111 );
112 if bit_width == 0 {
113 return 0;
114 }
115 let mut val = 0u64;
116 let start_byte = bit_offset / 8;
117 let bit_shift = bit_offset % 8;
118 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
119 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
120 if cfg!(target_endian = "big") {
121 for i in 0..bytes_needed {
122 let byte = unsafe { *storage_ptr.add(start_byte + i) };
123 val |= (byte.reverse_bits() as u64) << (i * 8);
124 }
125 } else {
126 for i in 0..bytes_needed {
127 let byte = unsafe { *storage_ptr.add(start_byte + i) };
128 val |= (byte as u64) << (i * 8);
129 }
130 }
131 val >>= bit_shift;
132 if bit_width < 64 {
133 val &= (1u64 << bit_width) - 1;
134 }
135 if cfg!(target_endian = "big") {
136 val = val.reverse_bits() >> (64 - bit_width as usize);
137 }
138 val
139 }
140 #[inline]
141 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
142 debug_assert!(bit_width <= 64);
143 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
144 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
145 if bit_width == 0 {
146 return;
147 }
148 let mut val = val;
149 if bit_width < 64 {
150 val &= (1u64 << bit_width) - 1;
151 }
152 if cfg!(target_endian = "big") {
153 val = val.reverse_bits() >> (64 - bit_width as usize);
154 }
155 let storage = self.storage.as_mut();
156 let start_byte = bit_offset / 8;
157 let bit_shift = bit_offset % 8;
158 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
159 val <<= bit_shift;
160 let field_mask = if bit_width as usize + bit_shift >= 64 {
161 !0u64 << bit_shift
162 } else {
163 ((1u64 << bit_width) - 1) << bit_shift
164 };
165 for i in 0..bytes_needed {
166 let byte_val = (val >> (i * 8)) as u8;
167 let byte_mask = (field_mask >> (i * 8)) as u8;
168 if cfg!(target_endian = "big") {
169 let byte = storage[start_byte + i].reverse_bits();
170 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
171 storage[start_byte + i] = new_byte.reverse_bits();
172 } else {
173 storage[start_byte + i] =
174 (storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
175 }
176 }
177 }
178 #[inline]
179 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
180 debug_assert!(bit_width <= 64);
181 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
182 debug_assert!(
183 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
184 );
185 if bit_width == 0 {
186 return;
187 }
188 let mut val = val;
189 if bit_width < 64 {
190 val &= (1u64 << bit_width) - 1;
191 }
192 if cfg!(target_endian = "big") {
193 val = val.reverse_bits() >> (64 - bit_width as usize);
194 }
195 let start_byte = bit_offset / 8;
196 let bit_shift = bit_offset % 8;
197 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
198 val <<= bit_shift;
199 let field_mask = if bit_width as usize + bit_shift >= 64 {
200 !0u64 << bit_shift
201 } else {
202 ((1u64 << bit_width) - 1) << bit_shift
203 };
204 let storage_ptr = unsafe { core::ptr::addr_of_mut!((*this).storage) as *mut u8 };
205 for i in 0..bytes_needed {
206 let byte_val = (val >> (i * 8)) as u8;
207 let byte_mask = (field_mask >> (i * 8)) as u8;
208 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
209 if cfg!(target_endian = "big") {
210 let byte = unsafe { (*byte_ptr).reverse_bits() };
211 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
212 unsafe { *byte_ptr = new_byte.reverse_bits() };
213 } else {
214 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
215 }
216 }
217 }
218}
219#[doc = " Const-generic methods for efficient bitfield access when offset and width"]
220#[doc = " are known at compile time."]
221impl<const N: usize> __BindgenBitfieldUnit<[u8; N]> {
222 #[doc = " Get a field using const generics for compile-time optimization."]
223 #[doc = " Uses native word size operations when the field fits in usize."]
224 #[inline]
225 pub const fn get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&self) -> u64 {
226 debug_assert!(BIT_WIDTH <= 64);
227 debug_assert!(BIT_OFFSET / 8 < N);
228 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
229 if BIT_WIDTH == 0 {
230 return 0;
231 }
232 let start_byte = BIT_OFFSET / 8;
233 let bit_shift = BIT_OFFSET % 8;
234 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
235 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
236 let mut val = 0usize;
237 if cfg!(target_endian = "big") {
238 let mut i = 0;
239 while i < bytes_needed {
240 val |= (self.storage[start_byte + i].reverse_bits() as usize) << (i * 8);
241 i += 1;
242 }
243 } else {
244 let mut i = 0;
245 while i < bytes_needed {
246 val |= (self.storage[start_byte + i] as usize) << (i * 8);
247 i += 1;
248 }
249 }
250 val >>= bit_shift;
251 if (BIT_WIDTH as u32) < usize::BITS {
252 val &= (1usize << BIT_WIDTH) - 1;
253 }
254 if cfg!(target_endian = "big") {
255 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
256 }
257 val as u64
258 } else {
259 let mut val = 0u64;
260 if cfg!(target_endian = "big") {
261 let mut i = 0;
262 while i < bytes_needed {
263 val |= (self.storage[start_byte + i].reverse_bits() as u64) << (i * 8);
264 i += 1;
265 }
266 } else {
267 let mut i = 0;
268 while i < bytes_needed {
269 val |= (self.storage[start_byte + i] as u64) << (i * 8);
270 i += 1;
271 }
272 }
273 val >>= bit_shift;
274 if BIT_WIDTH < 64 {
275 val &= (1u64 << BIT_WIDTH) - 1;
276 }
277 if cfg!(target_endian = "big") {
278 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
279 }
280 val
281 }
282 }
283 #[doc = " Set a field using const generics for compile-time optimization."]
284 #[doc = " Uses native word size operations when the field fits in usize."]
285 #[inline]
286 pub fn set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&mut self, val: u64) {
287 debug_assert!(BIT_WIDTH <= 64);
288 debug_assert!(BIT_OFFSET / 8 < N);
289 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
290 if BIT_WIDTH == 0 {
291 return;
292 }
293 let start_byte = BIT_OFFSET / 8;
294 let bit_shift = BIT_OFFSET % 8;
295 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
296 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
297 let mut val = val as usize;
298 if (BIT_WIDTH as u32) < usize::BITS {
299 val &= (1usize << BIT_WIDTH) - 1;
300 }
301 if cfg!(target_endian = "big") {
302 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
303 }
304 val <<= bit_shift;
305 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
306 !0usize << bit_shift
307 } else {
308 ((1usize << BIT_WIDTH) - 1) << bit_shift
309 };
310 let mut i = 0;
311 while i < bytes_needed {
312 let byte_val = (val >> (i * 8)) as u8;
313 let byte_mask = (field_mask >> (i * 8)) as u8;
314 if cfg!(target_endian = "big") {
315 let byte = self.storage[start_byte + i].reverse_bits();
316 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
317 self.storage[start_byte + i] = new_byte.reverse_bits();
318 } else {
319 self.storage[start_byte + i] =
320 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
321 }
322 i += 1;
323 }
324 } else {
325 let mut val = val;
326 if BIT_WIDTH < 64 {
327 val &= (1u64 << BIT_WIDTH) - 1;
328 }
329 if cfg!(target_endian = "big") {
330 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
331 }
332 val <<= bit_shift;
333 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
334 !0u64 << bit_shift
335 } else {
336 ((1u64 << BIT_WIDTH) - 1) << bit_shift
337 };
338 let mut i = 0;
339 while i < bytes_needed {
340 let byte_val = (val >> (i * 8)) as u8;
341 let byte_mask = (field_mask >> (i * 8)) as u8;
342 if cfg!(target_endian = "big") {
343 let byte = self.storage[start_byte + i].reverse_bits();
344 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
345 self.storage[start_byte + i] = new_byte.reverse_bits();
346 } else {
347 self.storage[start_byte + i] =
348 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
349 }
350 i += 1;
351 }
352 }
353 }
354 #[doc = " Raw pointer get using const generics for compile-time optimization."]
355 #[doc = " Uses native word size operations when the field fits in usize."]
356 #[inline]
357 pub const unsafe fn raw_get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
358 this: *const Self,
359 ) -> u64 {
360 debug_assert!(BIT_WIDTH <= 64);
361 debug_assert!(BIT_OFFSET / 8 < N);
362 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
363 if BIT_WIDTH == 0 {
364 return 0;
365 }
366 let start_byte = BIT_OFFSET / 8;
367 let bit_shift = BIT_OFFSET % 8;
368 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
369 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
370 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
371 let mut val = 0usize;
372 if cfg!(target_endian = "big") {
373 let mut i = 0;
374 while i < bytes_needed {
375 let byte = unsafe { *storage_ptr.add(start_byte + i) };
376 val |= (byte.reverse_bits() as usize) << (i * 8);
377 i += 1;
378 }
379 } else {
380 let mut i = 0;
381 while i < bytes_needed {
382 let byte = unsafe { *storage_ptr.add(start_byte + i) };
383 val |= (byte as usize) << (i * 8);
384 i += 1;
385 }
386 }
387 val >>= bit_shift;
388 if (BIT_WIDTH as u32) < usize::BITS {
389 val &= (1usize << BIT_WIDTH) - 1;
390 }
391 if cfg!(target_endian = "big") {
392 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
393 }
394 val as u64
395 } else {
396 let mut val = 0u64;
397 if cfg!(target_endian = "big") {
398 let mut i = 0;
399 while i < bytes_needed {
400 let byte = unsafe { *storage_ptr.add(start_byte + i) };
401 val |= (byte.reverse_bits() as u64) << (i * 8);
402 i += 1;
403 }
404 } else {
405 let mut i = 0;
406 while i < bytes_needed {
407 let byte = unsafe { *storage_ptr.add(start_byte + i) };
408 val |= (byte as u64) << (i * 8);
409 i += 1;
410 }
411 }
412 val >>= bit_shift;
413 if BIT_WIDTH < 64 {
414 val &= (1u64 << BIT_WIDTH) - 1;
415 }
416 if cfg!(target_endian = "big") {
417 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
418 }
419 val
420 }
421 }
422 #[doc = " Raw pointer set using const generics for compile-time optimization."]
423 #[doc = " Uses native word size operations when the field fits in usize."]
424 #[inline]
425 pub unsafe fn raw_set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
426 this: *mut Self,
427 val: u64,
428 ) {
429 debug_assert!(BIT_WIDTH <= 64);
430 debug_assert!(BIT_OFFSET / 8 < N);
431 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
432 if BIT_WIDTH == 0 {
433 return;
434 }
435 let start_byte = BIT_OFFSET / 8;
436 let bit_shift = BIT_OFFSET % 8;
437 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
438 let storage_ptr = this.cast::<[u8; N]>().cast::<u8>();
439 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
440 let mut val = val as usize;
441 if (BIT_WIDTH as u32) < usize::BITS {
442 val &= (1usize << BIT_WIDTH) - 1;
443 }
444 if cfg!(target_endian = "big") {
445 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
446 }
447 val <<= bit_shift;
448 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
449 !0usize << bit_shift
450 } else {
451 ((1usize << BIT_WIDTH) - 1) << bit_shift
452 };
453 let mut i = 0;
454 while i < bytes_needed {
455 let byte_val = (val >> (i * 8)) as u8;
456 let byte_mask = (field_mask >> (i * 8)) as u8;
457 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
458 if cfg!(target_endian = "big") {
459 let byte = unsafe { (*byte_ptr).reverse_bits() };
460 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
461 unsafe { *byte_ptr = new_byte.reverse_bits() };
462 } else {
463 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
464 }
465 i += 1;
466 }
467 } else {
468 let mut val = val;
469 if BIT_WIDTH < 64 {
470 val &= (1u64 << BIT_WIDTH) - 1;
471 }
472 if cfg!(target_endian = "big") {
473 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
474 }
475 val <<= bit_shift;
476 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
477 !0u64 << bit_shift
478 } else {
479 ((1u64 << BIT_WIDTH) - 1) << bit_shift
480 };
481 let mut i = 0;
482 while i < bytes_needed {
483 let byte_val = (val >> (i * 8)) as u8;
484 let byte_mask = (field_mask >> (i * 8)) as u8;
485 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
486 if cfg!(target_endian = "big") {
487 let byte = unsafe { (*byte_ptr).reverse_bits() };
488 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
489 unsafe { *byte_ptr = new_byte.reverse_bits() };
490 } else {
491 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
492 }
493 i += 1;
494 }
495 }
496 }
497}
498pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
499pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
500pub const BORINGSSL_API_VERSION: i32 = 43;
501pub const AES_ENCRYPT: i32 = 1;
502pub const AES_DECRYPT: i32 = 0;
503pub const AES_MAXNR: i32 = 14;
504pub const AES_BLOCK_SIZE: i32 = 16;
505pub const ERR_FLAG_STRING: i32 = 1;
506pub const ERR_FLAG_MALLOCED: i32 = 2;
507pub const ERR_R_FATAL: i32 = 64;
508pub const ERR_R_MALLOC_FAILURE: i32 = 65;
509pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
510pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
511pub const ERR_R_INTERNAL_ERROR: i32 = 68;
512pub const ERR_R_OVERFLOW: i32 = 69;
513pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
514pub const ERR_TXT_STRING: i32 = 1;
515pub const ERR_TXT_MALLOCED: i32 = 2;
516pub const ERR_NUM_ERRORS: i32 = 16;
517pub const BIO_RR_CONNECT: i32 = 2;
518pub const BIO_RR_ACCEPT: i32 = 3;
519pub const BIO_NOCLOSE: i32 = 0;
520pub const BIO_CLOSE: i32 = 1;
521pub const BIO_FP_TEXT: i32 = 16;
522pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
523pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
524pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
525pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
526pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
527pub const BIO_CTRL_RESET: i32 = 1;
528pub const BIO_CTRL_EOF: i32 = 2;
529pub const BIO_CTRL_INFO: i32 = 3;
530pub const BIO_CTRL_GET_CLOSE: i32 = 8;
531pub const BIO_CTRL_SET_CLOSE: i32 = 9;
532pub const BIO_CTRL_PENDING: i32 = 10;
533pub const BIO_CTRL_FLUSH: i32 = 11;
534pub const BIO_CTRL_WPENDING: i32 = 13;
535pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
536pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
537pub const BIO_CTRL_SET: i32 = 4;
538pub const BIO_CTRL_GET: i32 = 5;
539pub const BIO_CTRL_PUSH: i32 = 6;
540pub const BIO_CTRL_POP: i32 = 7;
541pub const BIO_CTRL_DUP: i32 = 12;
542pub const BIO_CTRL_SET_FILENAME: i32 = 30;
543pub const BIO_FLAGS_READ: i32 = 1;
544pub const BIO_FLAGS_WRITE: i32 = 2;
545pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
546pub const BIO_FLAGS_RWS: i32 = 7;
547pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
548pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
549pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
550pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
551pub const BIO_TYPE_FILTER: i32 = 512;
552pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
553pub const BIO_TYPE_NONE: i32 = 0;
554pub const BIO_TYPE_MEM: i32 = 1025;
555pub const BIO_TYPE_FILE: i32 = 1026;
556pub const BIO_TYPE_FD: i32 = 1284;
557pub const BIO_TYPE_SOCKET: i32 = 1285;
558pub const BIO_TYPE_NULL: i32 = 1030;
559pub const BIO_TYPE_SSL: i32 = 519;
560pub const BIO_TYPE_MD: i32 = 520;
561pub const BIO_TYPE_BUFFER: i32 = 521;
562pub const BIO_TYPE_CIPHER: i32 = 522;
563pub const BIO_TYPE_BASE64: i32 = 523;
564pub const BIO_TYPE_CONNECT: i32 = 1292;
565pub const BIO_TYPE_ACCEPT: i32 = 1293;
566pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
567pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
568pub const BIO_TYPE_NBIO_TEST: i32 = 528;
569pub const BIO_TYPE_NULL_FILTER: i32 = 529;
570pub const BIO_TYPE_BER: i32 = 530;
571pub const BIO_TYPE_BIO: i32 = 1043;
572pub const BIO_TYPE_LINEBUFFER: i32 = 532;
573pub const BIO_TYPE_DGRAM: i32 = 1301;
574pub const BIO_TYPE_ASN1: i32 = 534;
575pub const BIO_TYPE_COMP: i32 = 535;
576pub const BIO_TYPE_START: i32 = 128;
577pub const BIO_C_SET_CONNECT: i32 = 100;
578pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
579pub const BIO_C_SET_NBIO: i32 = 102;
580pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
581pub const BIO_C_SET_FD: i32 = 104;
582pub const BIO_C_GET_FD: i32 = 105;
583pub const BIO_C_SET_FILE_PTR: i32 = 106;
584pub const BIO_C_GET_FILE_PTR: i32 = 107;
585pub const BIO_C_SET_FILENAME: i32 = 108;
586pub const BIO_C_SET_SSL: i32 = 109;
587pub const BIO_C_SET_MD: i32 = 111;
588pub const BIO_C_GET_MD: i32 = 112;
589pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
590pub const BIO_C_SET_BUF_MEM: i32 = 114;
591pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
592pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
593pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
594pub const BIO_C_SET_ACCEPT: i32 = 118;
595pub const BIO_C_SSL_MODE: i32 = 119;
596pub const BIO_C_GET_MD_CTX: i32 = 120;
597pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
598pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
599pub const BIO_C_GET_ACCEPT: i32 = 124;
600pub const BIO_C_FILE_SEEK: i32 = 128;
601pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
602pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
603pub const BIO_C_SET_BIND_MODE: i32 = 131;
604pub const BIO_C_GET_BIND_MODE: i32 = 132;
605pub const BIO_C_FILE_TELL: i32 = 133;
606pub const BIO_C_GET_SOCKS: i32 = 134;
607pub const BIO_C_SET_SOCKS: i32 = 135;
608pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
609pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
610pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
611pub const BIO_C_GET_READ_REQUEST: i32 = 141;
612pub const BIO_C_SHUTDOWN_WR: i32 = 142;
613pub const BIO_C_NREAD0: i32 = 143;
614pub const BIO_C_NREAD: i32 = 144;
615pub const BIO_C_NWRITE0: i32 = 145;
616pub const BIO_C_NWRITE: i32 = 146;
617pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
618pub const BIO_C_SET_MD_CTX: i32 = 148;
619pub const BIO_C_SET_PREFIX: i32 = 149;
620pub const BIO_C_GET_PREFIX: i32 = 150;
621pub const BIO_C_SET_SUFFIX: i32 = 151;
622pub const BIO_C_GET_SUFFIX: i32 = 152;
623pub const BIO_C_SET_EX_ARG: i32 = 153;
624pub const BIO_C_GET_EX_ARG: i32 = 154;
625pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
626pub const BIO_R_BROKEN_PIPE: i32 = 101;
627pub const BIO_R_CONNECT_ERROR: i32 = 102;
628pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
629pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
630pub const BIO_R_IN_USE: i32 = 105;
631pub const BIO_R_KEEPALIVE: i32 = 106;
632pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
633pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
634pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
635pub const BIO_R_NO_SUCH_FILE: i32 = 110;
636pub const BIO_R_NULL_PARAMETER: i32 = 111;
637pub const BIO_R_SYS_LIB: i32 = 112;
638pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
639pub const BIO_R_UNINITIALIZED: i32 = 114;
640pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
641pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
642pub const BN_BITS2: i32 = 64;
643pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
644pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
645pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
646pub const BN_RAND_TOP_ANY: i32 = -1;
647pub const BN_RAND_TOP_ONE: i32 = 0;
648pub const BN_RAND_TOP_TWO: i32 = 1;
649pub const BN_RAND_BOTTOM_ANY: i32 = 0;
650pub const BN_RAND_BOTTOM_ODD: i32 = 1;
651pub const BN_GENCB_GENERATED: i32 = 0;
652pub const BN_GENCB_PRIME_TEST: i32 = 1;
653pub const BN_prime_checks_for_validation: i32 = 64;
654pub const BN_prime_checks_for_generation: i32 = 0;
655pub const BN_prime_checks: i32 = 64;
656pub const BN_FLG_MALLOCED: i32 = 1;
657pub const BN_FLG_STATIC_DATA: i32 = 2;
658pub const BN_R_ARG2_LT_ARG3: i32 = 100;
659pub const BN_R_BAD_RECIPROCAL: i32 = 101;
660pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
661pub const BN_R_BITS_TOO_SMALL: i32 = 103;
662pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
663pub const BN_R_DIV_BY_ZERO: i32 = 105;
664pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
665pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
666pub const BN_R_INVALID_RANGE: i32 = 108;
667pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
668pub const BN_R_NOT_A_SQUARE: i32 = 110;
669pub const BN_R_NOT_INITIALIZED: i32 = 111;
670pub const BN_R_NO_INVERSE: i32 = 112;
671pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
672pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
673pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
674pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
675pub const BN_R_BAD_ENCODING: i32 = 117;
676pub const BN_R_ENCODE_ERROR: i32 = 118;
677pub const BN_R_INVALID_INPUT: i32 = 119;
678pub const V_ASN1_UNIVERSAL: i32 = 0;
679pub const V_ASN1_APPLICATION: i32 = 64;
680pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
681pub const V_ASN1_PRIVATE: i32 = 192;
682pub const V_ASN1_CONSTRUCTED: i32 = 32;
683pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
684pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
685pub const V_ASN1_UNDEF: i32 = -1;
686pub const V_ASN1_OTHER: i32 = -3;
687pub const V_ASN1_ANY: i32 = -4;
688pub const V_ASN1_EOC: i32 = 0;
689pub const V_ASN1_BOOLEAN: i32 = 1;
690pub const V_ASN1_INTEGER: i32 = 2;
691pub const V_ASN1_BIT_STRING: i32 = 3;
692pub const V_ASN1_OCTET_STRING: i32 = 4;
693pub const V_ASN1_NULL: i32 = 5;
694pub const V_ASN1_OBJECT: i32 = 6;
695pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
696pub const V_ASN1_EXTERNAL: i32 = 8;
697pub const V_ASN1_REAL: i32 = 9;
698pub const V_ASN1_ENUMERATED: i32 = 10;
699pub const V_ASN1_UTF8STRING: i32 = 12;
700pub const V_ASN1_SEQUENCE: i32 = 16;
701pub const V_ASN1_SET: i32 = 17;
702pub const V_ASN1_NUMERICSTRING: i32 = 18;
703pub const V_ASN1_PRINTABLESTRING: i32 = 19;
704pub const V_ASN1_T61STRING: i32 = 20;
705pub const V_ASN1_TELETEXSTRING: i32 = 20;
706pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
707pub const V_ASN1_IA5STRING: i32 = 22;
708pub const V_ASN1_UTCTIME: i32 = 23;
709pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
710pub const V_ASN1_GRAPHICSTRING: i32 = 25;
711pub const V_ASN1_ISO64STRING: i32 = 26;
712pub const V_ASN1_VISIBLESTRING: i32 = 26;
713pub const V_ASN1_GENERALSTRING: i32 = 27;
714pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
715pub const V_ASN1_BMPSTRING: i32 = 30;
716pub const V_ASN1_NEG: i32 = 256;
717pub const V_ASN1_NEG_INTEGER: i32 = 258;
718pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
719pub const B_ASN1_NUMERICSTRING: i32 = 1;
720pub const B_ASN1_PRINTABLESTRING: i32 = 2;
721pub const B_ASN1_T61STRING: i32 = 4;
722pub const B_ASN1_TELETEXSTRING: i32 = 4;
723pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
724pub const B_ASN1_IA5STRING: i32 = 16;
725pub const B_ASN1_GRAPHICSTRING: i32 = 32;
726pub const B_ASN1_ISO64STRING: i32 = 64;
727pub const B_ASN1_VISIBLESTRING: i32 = 64;
728pub const B_ASN1_GENERALSTRING: i32 = 128;
729pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
730pub const B_ASN1_OCTET_STRING: i32 = 512;
731pub const B_ASN1_BIT_STRING: i32 = 1024;
732pub const B_ASN1_BMPSTRING: i32 = 2048;
733pub const B_ASN1_UTF8STRING: i32 = 8192;
734pub const B_ASN1_UTCTIME: i32 = 16384;
735pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
736pub const B_ASN1_SEQUENCE: i32 = 65536;
737pub const ASN1_BOOLEAN_FALSE: i32 = 0;
738pub const ASN1_BOOLEAN_TRUE: i32 = 255;
739pub const ASN1_BOOLEAN_NONE: i32 = -1;
740pub const MBSTRING_FLAG: i32 = 4096;
741pub const MBSTRING_UTF8: i32 = 4096;
742pub const MBSTRING_ASC: i32 = 4097;
743pub const MBSTRING_BMP: i32 = 4098;
744pub const MBSTRING_UNIV: i32 = 4100;
745pub const DIRSTRING_TYPE: i32 = 10246;
746pub const PKCS9STRING_TYPE: i32 = 10262;
747pub const STABLE_NO_MASK: i32 = 2;
748pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
749pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
750pub const B_ASN1_TIME: i32 = 49152;
751pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
752pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
753pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
754pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
755pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
756pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
757pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
758pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
759pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
760pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
761pub const ASN1_STRFLGS_RFC2253: i32 = 791;
762pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
763pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
764pub const ASN1_R_AUX_ERROR: i32 = 101;
765pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
766pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
767pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
768pub const ASN1_R_BN_LIB: i32 = 105;
769pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
770pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
771pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
772pub const ASN1_R_DECODE_ERROR: i32 = 109;
773pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
774pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
775pub const ASN1_R_ENCODE_ERROR: i32 = 112;
776pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
777pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
778pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
779pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
780pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
781pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
782pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
783pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
784pub const ASN1_R_FIELD_MISSING: i32 = 121;
785pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
786pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
787pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
788pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
789pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
790pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
791pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
792pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
793pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
794pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
795pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
796pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
797pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
798pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
799pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
800pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
801pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
802pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
803pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
804pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
805pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
806pub const ASN1_R_INVALID_DIGIT: i32 = 143;
807pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
808pub const ASN1_R_INVALID_NUMBER: i32 = 145;
809pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
810pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
811pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
812pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
813pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
814pub const ASN1_R_LIST_ERROR: i32 = 151;
815pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
816pub const ASN1_R_MISSING_EOC: i32 = 153;
817pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
818pub const ASN1_R_MISSING_VALUE: i32 = 155;
819pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
820pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
821pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
822pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
823pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
824pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
825pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
826pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
827pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
828pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
829pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
830pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
831pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
832pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
833pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
834pub const ASN1_R_SHORT_LINE: i32 = 171;
835pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
836pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
837pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
838pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
839pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
840pub const ASN1_R_TOO_LONG: i32 = 177;
841pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
842pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
843pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
844pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
845pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
846pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
847pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
848pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
849pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
850pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
851pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
852pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
853pub const ASN1_R_WRONG_TAG: i32 = 190;
854pub const ASN1_R_WRONG_TYPE: i32 = 191;
855pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
856pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
857pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
858pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
859pub const ASN1_R_INVALID_INTEGER: i32 = 196;
860pub const ASN1_TFLG_OPTIONAL: i32 = 1;
861pub const ASN1_TFLG_SET_OF: i32 = 2;
862pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
863pub const ASN1_TFLG_SK_MASK: i32 = 6;
864pub const ASN1_TFLG_IMPTAG: i32 = 8;
865pub const ASN1_TFLG_EXPTAG: i32 = 16;
866pub const ASN1_TFLG_TAG_MASK: i32 = 24;
867pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
868pub const ASN1_TFLG_APPLICATION: i32 = 64;
869pub const ASN1_TFLG_CONTEXT: i32 = 128;
870pub const ASN1_TFLG_PRIVATE: i32 = 192;
871pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
872pub const ASN1_TFLG_ADB_MASK: i32 = 768;
873pub const ASN1_TFLG_ADB_OID: i32 = 256;
874pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
875pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
876pub const ASN1_ITYPE_CHOICE: i32 = 2;
877pub const ASN1_ITYPE_EXTERN: i32 = 4;
878pub const ASN1_ITYPE_MSTRING: i32 = 5;
879pub const ASN1_AFLG_REFCOUNT: i32 = 1;
880pub const ASN1_AFLG_ENCODING: i32 = 2;
881pub const ASN1_OP_NEW_PRE: i32 = 0;
882pub const ASN1_OP_NEW_POST: i32 = 1;
883pub const ASN1_OP_FREE_PRE: i32 = 2;
884pub const ASN1_OP_FREE_POST: i32 = 3;
885pub const ASN1_OP_D2I_PRE: i32 = 4;
886pub const ASN1_OP_D2I_POST: i32 = 5;
887pub const ASN1_OP_PRINT_PRE: i32 = 8;
888pub const ASN1_OP_PRINT_POST: i32 = 9;
889pub const ASN1_OP_STREAM_PRE: i32 = 10;
890pub const ASN1_OP_STREAM_POST: i32 = 11;
891pub const ASN1_OP_DETACHED_PRE: i32 = 12;
892pub const ASN1_OP_DETACHED_POST: i32 = 13;
893pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
894pub const BLAKE2B_CBLOCK: i32 = 128;
895pub const BF_ENCRYPT: i32 = 1;
896pub const BF_DECRYPT: i32 = 0;
897pub const BF_ROUNDS: i32 = 16;
898pub const BF_BLOCK: i32 = 8;
899pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
900pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
901pub const CBS_ASN1_UNIVERSAL: i32 = 0;
902pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
903pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
904pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
905pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
906pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
907pub const CBS_ASN1_BOOLEAN: i32 = 1;
908pub const CBS_ASN1_INTEGER: i32 = 2;
909pub const CBS_ASN1_BITSTRING: i32 = 3;
910pub const CBS_ASN1_OCTETSTRING: i32 = 4;
911pub const CBS_ASN1_NULL: i32 = 5;
912pub const CBS_ASN1_OBJECT: i32 = 6;
913pub const CBS_ASN1_ENUMERATED: i32 = 10;
914pub const CBS_ASN1_UTF8STRING: i32 = 12;
915pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
916pub const CBS_ASN1_SET: i32 = 536870929;
917pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
918pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
919pub const CBS_ASN1_T61STRING: i32 = 20;
920pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
921pub const CBS_ASN1_IA5STRING: i32 = 22;
922pub const CBS_ASN1_UTCTIME: i32 = 23;
923pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
924pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
925pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
926pub const CBS_ASN1_GENERALSTRING: i32 = 27;
927pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
928pub const CBS_ASN1_BMPSTRING: i32 = 30;
929pub const CAST_ENCRYPT: i32 = 1;
930pub const CAST_DECRYPT: i32 = 0;
931pub const CAST_BLOCK: i32 = 8;
932pub const CAST_KEY_LENGTH: i32 = 16;
933pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
934pub const EVP_CIPH_ECB_MODE: i32 = 1;
935pub const EVP_CIPH_CBC_MODE: i32 = 2;
936pub const EVP_CIPH_CFB_MODE: i32 = 3;
937pub const EVP_CIPH_OFB_MODE: i32 = 4;
938pub const EVP_CIPH_CTR_MODE: i32 = 5;
939pub const EVP_CIPH_GCM_MODE: i32 = 6;
940pub const EVP_CIPH_XTS_MODE: i32 = 7;
941pub const EVP_CIPH_CCM_MODE: i32 = 8;
942pub const EVP_CIPH_OCB_MODE: i32 = 9;
943pub const EVP_CIPH_WRAP_MODE: i32 = 10;
944pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
945pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
946pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
947pub const EVP_CIPH_CTRL_INIT: i32 = 512;
948pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
949pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
950pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
951pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
952pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
953pub const EVP_CIPH_NO_PADDING: i32 = 2048;
954pub const EVP_CTRL_INIT: i32 = 0;
955pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
956pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
957pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
958pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
959pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
960pub const EVP_CTRL_RAND_KEY: i32 = 6;
961pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
962pub const EVP_CTRL_COPY: i32 = 8;
963pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
964pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
965pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
966pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
967pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
968pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
969pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
970pub const EVP_CTRL_GET_IVLEN: i32 = 25;
971pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
972pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
973pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
974pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
975pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
976pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
977pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
978pub const EVP_MAX_KEY_LENGTH: i32 = 64;
979pub const EVP_MAX_IV_LENGTH: i32 = 16;
980pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
981pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
982pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
983pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
984pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
985pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
986pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
987pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
988pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
989pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
990pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
991pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
992pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
993pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
994pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
995pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
996pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
997pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
998pub const CIPHER_R_TOO_LARGE: i32 = 117;
999pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
1000pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
1001pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
1002pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
1003pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
1004pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
1005pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
1006pub const CIPHER_R_INVALID_NONCE: i32 = 125;
1007pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
1008pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
1009pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
1010pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
1011pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
1012pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
1013pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
1014pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
1015pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
1016pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
1017pub const SHA224_CBLOCK: i32 = 64;
1018pub const SHA224_DIGEST_LENGTH: i32 = 28;
1019pub const SHA256_CBLOCK: i32 = 64;
1020pub const SHA256_DIGEST_LENGTH: i32 = 32;
1021pub const SHA384_CBLOCK: i32 = 128;
1022pub const SHA384_DIGEST_LENGTH: i32 = 48;
1023pub const SHA512_CBLOCK: i32 = 128;
1024pub const SHA512_DIGEST_LENGTH: i32 = 64;
1025pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
1026pub const SHA_CBLOCK: i32 = 64;
1027pub const SHA_DIGEST_LENGTH: i32 = 20;
1028pub const CRYPTO_LOCK: i32 = 1;
1029pub const CRYPTO_UNLOCK: i32 = 2;
1030pub const CRYPTO_READ: i32 = 4;
1031pub const CRYPTO_WRITE: i32 = 8;
1032pub const OPENSSL_VERSION_TEXT: &[u8; 38] = b"OpenSSL 1.1.1 (compatible; BoringSSL)\0";
1033pub const OPENSSL_VERSION: i32 = 0;
1034pub const OPENSSL_CFLAGS: i32 = 1;
1035pub const OPENSSL_BUILT_ON: i32 = 2;
1036pub const OPENSSL_PLATFORM: i32 = 3;
1037pub const OPENSSL_DIR: i32 = 4;
1038pub const SSLEAY_VERSION: i32 = 0;
1039pub const SSLEAY_CFLAGS: i32 = 1;
1040pub const SSLEAY_BUILT_ON: i32 = 2;
1041pub const SSLEAY_PLATFORM: i32 = 3;
1042pub const SSLEAY_DIR: i32 = 4;
1043pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
1044pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
1045pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
1046pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
1047pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
1048pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
1049pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
1050pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
1051pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
1052pub const OPENSSL_INIT_ATFORK: i32 = 0;
1053pub const OPENSSL_INIT_ENGINE_RDRAND: i32 = 0;
1054pub const OPENSSL_INIT_ENGINE_DYNAMIC: i32 = 0;
1055pub const OPENSSL_INIT_ENGINE_OPENSSL: i32 = 0;
1056pub const OPENSSL_INIT_ENGINE_CRYPTODEV: i32 = 0;
1057pub const OPENSSL_INIT_ENGINE_CAPI: i32 = 0;
1058pub const OPENSSL_INIT_ENGINE_PADLOCK: i32 = 0;
1059pub const OPENSSL_INIT_ENGINE_AFALG: i32 = 0;
1060pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
1061pub const CTR_DRBG_MIN_ENTROPY_LEN: i32 = 32;
1062pub const CTR_DRBG_MAX_ENTROPY_LEN: i32 = 64;
1063pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
1064pub const CTR_DRBG_NONCE_LEN: i32 = 16;
1065pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
1066pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
1067pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
1068pub const X25519_SHARED_KEY_LEN: i32 = 32;
1069pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
1070pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
1071pub const ED25519_SIGNATURE_LEN: i32 = 64;
1072pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
1073pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
1074pub const DES_ENCRYPT: i32 = 1;
1075pub const DES_DECRYPT: i32 = 0;
1076pub const DES_CBC_MODE: i32 = 0;
1077pub const DES_PCBC_MODE: i32 = 1;
1078pub const OPENSSL_DH_MAX_MODULUS_BITS: i32 = 8192;
1079pub const DH_GENERATOR_2: i32 = 2;
1080pub const DH_GENERATOR_5: i32 = 5;
1081pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
1082pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
1083pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1084pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
1085pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
1086pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
1087pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
1088pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
1089pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
1090pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
1091pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
1092pub const DH_R_BAD_GENERATOR: i32 = 100;
1093pub const DH_R_INVALID_PUBKEY: i32 = 101;
1094pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
1095pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
1096pub const DH_R_DECODE_ERROR: i32 = 104;
1097pub const DH_R_ENCODE_ERROR: i32 = 105;
1098pub const DH_R_INVALID_PARAMETERS: i32 = 106;
1099pub const EVP_MAX_MD_SIZE: i32 = 64;
1100pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 128;
1101pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
1102pub const EVP_MD_FLAG_XOF: i32 = 4;
1103pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
1104pub const EVP_MAX_MD_DATA_SIZE: i32 = 208;
1105pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
1106pub const DIGEST_R_DECODE_ERROR: i32 = 101;
1107pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
1108pub const OPENSSL_DSA_MAX_MODULUS_BITS: i32 = 8192;
1109pub const DSA_R_BAD_Q_VALUE: i32 = 100;
1110pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
1111pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
1112pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
1113pub const DSA_R_BAD_VERSION: i32 = 104;
1114pub const DSA_R_DECODE_ERROR: i32 = 105;
1115pub const DSA_R_ENCODE_ERROR: i32 = 106;
1116pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
1117pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
1118pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
1119pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
1120pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
1121pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
1122pub const EC_PKEY_NO_PUBKEY: i32 = 2;
1123pub const ECDSA_FLAG_OPAQUE: i32 = 1;
1124pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
1125pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
1126pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
1127pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
1128pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
1129pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
1130pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
1131pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
1132pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
1133pub const EC_R_INVALID_ENCODING: i32 = 109;
1134pub const EC_R_INVALID_FIELD: i32 = 110;
1135pub const EC_R_INVALID_FORM: i32 = 111;
1136pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
1137pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
1138pub const EC_R_MISSING_PARAMETERS: i32 = 114;
1139pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
1140pub const EC_R_NON_NAMED_CURVE: i32 = 116;
1141pub const EC_R_NOT_INITIALIZED: i32 = 117;
1142pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
1143pub const EC_R_POINT_AT_INFINITY: i32 = 119;
1144pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
1145pub const EC_R_SLOT_FULL: i32 = 121;
1146pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
1147pub const EC_R_UNKNOWN_GROUP: i32 = 123;
1148pub const EC_R_UNKNOWN_ORDER: i32 = 124;
1149pub const EC_R_WRONG_ORDER: i32 = 125;
1150pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
1151pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
1152pub const EC_R_DECODE_ERROR: i32 = 128;
1153pub const EC_R_ENCODE_ERROR: i32 = 129;
1154pub const EC_R_GROUP_MISMATCH: i32 = 130;
1155pub const EC_R_INVALID_COFACTOR: i32 = 131;
1156pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
1157pub const EC_R_INVALID_SCALAR: i32 = 133;
1158pub const ECDH_R_KDF_FAILED: i32 = 100;
1159pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
1160pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
1161pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
1162pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
1163pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
1164pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
1165pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
1166pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
1167pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
1168pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
1169pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
1170pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
1171pub const EVP_R_DECODE_ERROR: i32 = 102;
1172pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
1173pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
1174pub const EVP_R_ENCODE_ERROR: i32 = 105;
1175pub const EVP_R_EXPECTING_A_EC_KEY: i32 = 106;
1176pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
1177pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
1178pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
1179pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
1180pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
1181pub const EVP_R_INVALID_KEYBITS: i32 = 112;
1182pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
1183pub const EVP_R_INVALID_OPERATION: i32 = 114;
1184pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
1185pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
1186pub const EVP_R_KEYS_NOT_SET: i32 = 117;
1187pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
1188pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
1189pub const EVP_R_NO_KEY_SET: i32 = 120;
1190pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
1191pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
1192pub const EVP_R_NO_OPERATION_SET: i32 = 123;
1193pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
1194pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
1195pub const EVP_R_OPERATION_NOT_INITIALIZED: i32 = 126;
1196pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
1197pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
1198pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
1199pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
1200pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
1201pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
1202pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
1203pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
1204pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
1205pub const EVP_R_EMPTY_PSK: i32 = 136;
1206pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
1207pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 138;
1208pub const EVP_R_PRIVATE_KEY_WAS_NOT_SEED: i32 = 139;
1209pub const EVP_R_MISSING_PUBLIC_KEY: i32 = 140;
1210pub const EVP_R_INVALID_CIPHERTEXT_LENGTH: i32 = 141;
1211pub const EVP_R_INVALID_SECRET_LENGTH: i32 = 142;
1212pub const EVP_R_INVALID_ENTROPY_LENGTH: i32 = 143;
1213pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
1214pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
1215pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
1216pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
1217pub const EVP_AEAD_MAX_OPEN_OVERHEAD: i32 = 320;
1218pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
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 SN_alg_mtcProof_draft: &[u8; 19] = b"alg-mtcProof-draft\0";
3532pub const NID_alg_mtcProof_draft: i32 = 976;
3533pub const SN_rdna_trustAnchorID_draft: &[u8; 25] = b"rdna-trustAnchorID-draft\0";
3534pub const NID_rdna_trustAnchorID_draft: i32 = 977;
3535pub const SN_pe_mtcCertificationAuthority_draft: &[u8; 35] =
3536 b"pe-mtcCertificationAuthority-draft\0";
3537pub const NID_pe_mtcCertificationAuthority_draft: i32 = 978;
3538pub const SN_SLH_DSA_SHA2_128s: &[u8; 21] = b"id-slh-dsa-sha2-128s\0";
3539pub const LN_SLH_DSA_SHA2_128s: &[u8; 18] = b"SLH-DSA-SHA2-128s\0";
3540pub const NID_SLH_DSA_SHA2_128s: i32 = 979;
3541pub const SN_SLH_DSA_SHAKE_256f: &[u8; 22] = b"id-slh-dsa-shake-256f\0";
3542pub const LN_SLH_DSA_SHAKE_256f: &[u8; 19] = b"SLH-DSA-SHAKE-256f\0";
3543pub const NID_SLH_DSA_SHAKE_256f: i32 = 980;
3544pub const SN_SLH_DSA_SHA2_128s_WITH_SHA256: &[u8; 38] = b"id-hash-slh-dsa-sha2-128s-with-sha256\0";
3545pub const LN_SLH_DSA_SHA2_128s_WITH_SHA256: &[u8; 30] = b"SLH-DSA-SHA2-128s-WITH-SHA256\0";
3546pub const NID_SLH_DSA_SHA2_128s_WITH_SHA256: i32 = 981;
3547pub const EVP_PKEY_NONE: i32 = 0;
3548pub const EVP_PKEY_RSA: i32 = 6;
3549pub const EVP_PKEY_RSA_PSS: i32 = 912;
3550pub const EVP_PKEY_DSA: i32 = 116;
3551pub const EVP_PKEY_EC: i32 = 408;
3552pub const EVP_PKEY_ED25519: i32 = 949;
3553pub const EVP_PKEY_X25519: i32 = 948;
3554pub const EVP_PKEY_HKDF: i32 = 963;
3555pub const EVP_PKEY_DH: i32 = 28;
3556pub const EVP_PKEY_ML_DSA_44: i32 = 967;
3557pub const EVP_PKEY_ML_DSA_65: i32 = 968;
3558pub const EVP_PKEY_ML_DSA_87: i32 = 969;
3559pub const EVP_PKEY_ML_KEM_768: i32 = 970;
3560pub const EVP_PKEY_ML_KEM_1024: i32 = 966;
3561pub const EVP_PKEY_XWING: i32 = 972;
3562pub const EVP_PKEY_RSA2: i32 = 19;
3563pub const EVP_PKEY_X448: i32 = 961;
3564pub const EVP_PKEY_ED448: i32 = 960;
3565pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3566pub const EVP_HPKE_DHKEM_P256_HKDF_SHA256: i32 = 16;
3567pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3568pub const EVP_HPKE_XWING: i32 = 25722;
3569pub const EVP_HPKE_MLKEM768: i32 = 65;
3570pub const EVP_HPKE_MLKEM1024: i32 = 66;
3571pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 1568;
3572pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 64;
3573pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 1568;
3574pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3575pub const EVP_HPKE_HKDF_SHA384: i32 = 2;
3576pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3577pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3578pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3579pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3580pub const HRSS_SAMPLE_BYTES: i32 = 700;
3581pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3582pub const HRSS_ENCAP_BYTES: i32 = 1400;
3583pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3584pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3585pub const HRSS_KEY_BYTES: i32 = 32;
3586pub const HRSS_POLY3_BYTES: i32 = 140;
3587pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3588pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3589pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3590pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3591pub const MD4_CBLOCK: i32 = 64;
3592pub const MD4_DIGEST_LENGTH: i32 = 16;
3593pub const MD5_CBLOCK: i32 = 64;
3594pub const MD5_DIGEST_LENGTH: i32 = 16;
3595pub const MLDSA_SEED_BYTES: i32 = 32;
3596pub const MLDSA_MU_BYTES: i32 = 64;
3597pub const MLDSA65_PUBLIC_KEY_BYTES: i32 = 1952;
3598pub const MLDSA65_SIGNATURE_BYTES: i32 = 3309;
3599pub const MLDSA87_PUBLIC_KEY_BYTES: i32 = 2592;
3600pub const MLDSA87_SIGNATURE_BYTES: i32 = 4627;
3601pub const MLDSA44_PUBLIC_KEY_BYTES: i32 = 1312;
3602pub const MLDSA44_SIGNATURE_BYTES: i32 = 2420;
3603pub const MLKEM768_PUBLIC_KEY_BYTES: i32 = 1184;
3604pub const MLKEM_SEED_BYTES: i32 = 64;
3605pub const MLKEM768_CIPHERTEXT_BYTES: i32 = 1088;
3606pub const MLKEM_SHARED_SECRET_BYTES: i32 = 32;
3607pub const MLKEM1024_PUBLIC_KEY_BYTES: i32 = 1568;
3608pub const MLKEM1024_CIPHERTEXT_BYTES: i32 = 1568;
3609pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3610pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3611pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3612pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3613pub const PKCS7_DETACHED: i32 = 64;
3614pub const PKCS7_TEXT: i32 = 1;
3615pub const PKCS7_NOCERTS: i32 = 2;
3616pub const PKCS7_NOSIGS: i32 = 4;
3617pub const PKCS7_NOCHAIN: i32 = 8;
3618pub const PKCS7_NOINTERN: i32 = 16;
3619pub const PKCS7_NOVERIFY: i32 = 32;
3620pub const PKCS7_BINARY: i32 = 128;
3621pub const PKCS7_NOATTR: i32 = 256;
3622pub const PKCS7_NOSMIMECAP: i32 = 512;
3623pub const PKCS7_STREAM: i32 = 4096;
3624pub const PKCS7_PARTIAL: i32 = 16384;
3625pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3626pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3627pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3628pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3629pub const OPENSSL_RSA_MAX_MODULUS_BITS: i32 = 16384;
3630pub const RSA_PKCS1_PADDING: i32 = 1;
3631pub const RSA_NO_PADDING: i32 = 3;
3632pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3633pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3634pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3635pub const RSA_PSS_SALTLEN_AUTO: i32 = -2;
3636pub const RSA_FLAG_OPAQUE: i32 = 1;
3637pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3638pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3639pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3640pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3641pub const RSA_3: i32 = 3;
3642pub const RSA_F4: i32 = 65537;
3643pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3644pub const RSA_R_BAD_ENCODING: i32 = 100;
3645pub const RSA_R_BAD_E_VALUE: i32 = 101;
3646pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3647pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3648pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3649pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3650pub const RSA_R_BAD_VERSION: i32 = 106;
3651pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3652pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3653pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3654pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3655pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3656pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3657pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3658pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3659pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3660pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3661pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3662pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3663pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3664pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3665pub const RSA_R_ENCODE_ERROR: i32 = 121;
3666pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3667pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3668pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3669pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3670pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3671pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3672pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3673pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3674pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3675pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3676pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3677pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3678pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3679pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3680pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3681pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3682pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3683pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3684pub const RSA_R_TOO_LONG: i32 = 140;
3685pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3686pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3687pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3688pub const RSA_R_VALUE_MISSING: i32 = 144;
3689pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3690pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3691pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3692pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3693pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3694pub const X509V3_R_BAD_OBJECT: i32 = 101;
3695pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3696pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3697pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3698pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3699pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3700pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3701pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3702pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3703pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3704pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3705pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3706pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3707pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3708pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3709pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3710pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3711pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3712pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3713pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3714pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3715pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3716pub const X509V3_R_INVALID_NAME: i32 = 123;
3717pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3718pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3719pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3720pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3721pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3722pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3723pub const X509V3_R_INVALID_OPTION: i32 = 130;
3724pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3725pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3726pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3727pub const X509V3_R_INVALID_SECTION: i32 = 134;
3728pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3729pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3730pub const X509V3_R_MISSING_VALUE: i32 = 137;
3731pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3732pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3733pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3734pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3735pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3736pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3737pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3738pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3739pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3740pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3741pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3742pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3743pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3744pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3745pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3746pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3747pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3748pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3749pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3750pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3751pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3752pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3753pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3754pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3755pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3756pub const X509V3_R_INVALID_VALUE: i32 = 163;
3757pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3758pub const X509_VERSION_1: i32 = 0;
3759pub const X509_VERSION_2: i32 = 1;
3760pub const X509_VERSION_3: i32 = 2;
3761pub const EXFLAG_BCONS: i32 = 1;
3762pub const EXFLAG_KUSAGE: i32 = 2;
3763pub const EXFLAG_XKUSAGE: i32 = 4;
3764pub const EXFLAG_CA: i32 = 16;
3765pub const EXFLAG_SI: i32 = 32;
3766pub const EXFLAG_V1: i32 = 64;
3767pub const EXFLAG_INVALID: i32 = 128;
3768pub const EXFLAG_SET: i32 = 256;
3769pub const EXFLAG_CRITICAL: i32 = 512;
3770pub const EXFLAG_SS: i32 = 8192;
3771pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3772pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3773pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3774pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3775pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3776pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3777pub const X509v3_KU_CRL_SIGN: i32 = 2;
3778pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3779pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3780pub const XKU_SSL_SERVER: i32 = 1;
3781pub const XKU_SSL_CLIENT: i32 = 2;
3782pub const XKU_SMIME: i32 = 4;
3783pub const XKU_CODE_SIGN: i32 = 8;
3784pub const XKU_SGC: i32 = 16;
3785pub const XKU_OCSP_SIGN: i32 = 32;
3786pub const XKU_TIMESTAMP: i32 = 64;
3787pub const XKU_DVCS: i32 = 128;
3788pub const XKU_ANYEKU: i32 = 256;
3789pub const X509_CRL_VERSION_1: i32 = 0;
3790pub const X509_CRL_VERSION_2: i32 = 1;
3791pub const X509_REQ_VERSION_1: i32 = 0;
3792pub const X509V3_ADD_OP_MASK: i32 = 15;
3793pub const X509V3_ADD_DEFAULT: i32 = 0;
3794pub const X509V3_ADD_APPEND: i32 = 1;
3795pub const X509V3_ADD_REPLACE: i32 = 2;
3796pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3797pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3798pub const X509V3_ADD_DELETE: i32 = 5;
3799pub const X509V3_ADD_SILENT: i32 = 16;
3800pub const GEN_OTHERNAME: i32 = 0;
3801pub const GEN_EMAIL: i32 = 1;
3802pub const GEN_DNS: i32 = 2;
3803pub const GEN_X400: i32 = 3;
3804pub const GEN_DIRNAME: i32 = 4;
3805pub const GEN_EDIPARTY: i32 = 5;
3806pub const GEN_URI: i32 = 6;
3807pub const GEN_IPADD: i32 = 7;
3808pub const GEN_RID: i32 = 8;
3809pub const X509_LU_NONE: i32 = 0;
3810pub const X509_LU_X509: i32 = 1;
3811pub const X509_LU_CRL: i32 = 2;
3812pub const X509_LU_PKEY: i32 = 3;
3813pub const X509_V_OK: i32 = 0;
3814pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3815pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3816pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3817pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3818pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3819pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3820pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3821pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3822pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3823pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3824pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3825pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3826pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3827pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3828pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3829pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3830pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3831pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3832pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3833pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3834pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3835pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3836pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3837pub const X509_V_ERR_INVALID_CA: i32 = 24;
3838pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3839pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3840pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3841pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3842pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3843pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3844pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3845pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3846pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3847pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3848pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3849pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3850pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3851pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3852pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3853pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3854pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3855pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3856pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3857pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3858pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3859pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3860pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3861pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3862pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3863pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3864pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3865pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3866pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3867pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3868pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3869pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3870pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3871pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3872pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3873pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3874pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3875pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3876pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3877pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3878pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3879pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3880pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3881pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3882pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3883pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3884pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3885pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3886pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3887pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3888pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3889pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 0;
3890pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3891pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 0;
3892pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3893pub const X509_V_FLAG_ALLOW_TIMEZONE_OFFSET: i32 = 16777216;
3894pub const X509_V_FLAG_USE_MTC_DRAFT_PLANTS_05: i32 = 4194304;
3895pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3896pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3897pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3898pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3899pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3900pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3901pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3902pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3903pub const X509_PURPOSE_ANY: i32 = 7;
3904pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3905pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3906pub const X509_TRUST_COMPAT: i32 = 1;
3907pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3908pub const X509_TRUST_SSL_SERVER: i32 = 3;
3909pub const X509_TRUST_EMAIL: i32 = 4;
3910pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3911pub const X509_TRUST_TSA: i32 = 8;
3912pub const X509_FILETYPE_PEM: i32 = 1;
3913pub const X509_FILETYPE_ASN1: i32 = 2;
3914pub const X509_FILETYPE_DEFAULT: i32 = 3;
3915pub const X509_L_FILE_LOAD: i32 = 1;
3916pub const X509_L_ADD_DIR: i32 = 2;
3917pub const X509_FLAG_COMPAT: i32 = 0;
3918pub const X509_FLAG_NO_HEADER: i32 = 1;
3919pub const X509_FLAG_NO_VERSION: i32 = 2;
3920pub const X509_FLAG_NO_SERIAL: i32 = 4;
3921pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3922pub const X509_FLAG_NO_ISSUER: i32 = 16;
3923pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3924pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3925pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3926pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3927pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3928pub const X509_FLAG_NO_AUX: i32 = 1024;
3929pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3930pub const X509_FLAG_NO_IDS: i32 = 4096;
3931pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3932pub const X509V3_EXT_DEFAULT: i32 = 0;
3933pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3934pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3935pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3936pub const XN_FLAG_COMPAT: i32 = 0;
3937pub const XN_FLAG_SEP_MASK: i32 = 983040;
3938pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3939pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3940pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3941pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3942pub const XN_FLAG_DN_REV: i32 = 1048576;
3943pub const XN_FLAG_FN_MASK: i32 = 6291456;
3944pub const XN_FLAG_FN_SN: i32 = 0;
3945pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3946pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3947pub const XN_FLAG_RFC2253: i32 = 17892119;
3948pub const XN_FLAG_ONELINE: i32 = 8520479;
3949pub const X509_TRUST_TRUSTED: i32 = 1;
3950pub const X509_TRUST_REJECTED: i32 = 2;
3951pub const X509_TRUST_UNTRUSTED: i32 = 3;
3952pub const X509V3_EXT_MULTILINE: i32 = 4;
3953pub const X509V3_CTX_TEST: i32 = 1;
3954pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3955pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3956pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3957pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3958pub const NS_SSL_CLIENT: i32 = 128;
3959pub const NS_SSL_SERVER: i32 = 64;
3960pub const NS_SMIME: i32 = 32;
3961pub const NS_OBJSIGN: i32 = 16;
3962pub const NS_SSL_CA: i32 = 4;
3963pub const NS_SMIME_CA: i32 = 2;
3964pub const NS_OBJSIGN_CA: i32 = 1;
3965pub const NS_ANY_CA: i32 = 7;
3966pub const X509_R_AKID_MISMATCH: i32 = 100;
3967pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3968pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3969pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3970pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3971pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3972pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3973pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3974pub const X509_R_IDP_MISMATCH: i32 = 108;
3975pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3976pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3977pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3978pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3979pub const X509_R_INVALID_TRUST: i32 = 113;
3980pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3981pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3982pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3983pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3984pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3985pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3986pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3987pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3988pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3989pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3990pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3991pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3992pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3993pub const X509_R_SHOULD_RETRY: i32 = 127;
3994pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3995pub const X509_R_UNKNOWN_NID: i32 = 129;
3996pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3997pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3998pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3999pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
4000pub const X509_R_WRONG_TYPE: i32 = 134;
4001pub const X509_R_NAME_TOO_LONG: i32 = 135;
4002pub const X509_R_INVALID_PARAMETER: i32 = 136;
4003pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
4004pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
4005pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
4006pub const X509_R_INVALID_VERSION: i32 = 140;
4007pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
4008pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
4009pub const X509_R_NO_CRL_FOUND: i32 = 143;
4010pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
4011pub const X509_R_INVALID_MTC_CA: i32 = 145;
4012pub const X509_R_INVALID_MTC_PROOF: i32 = 146;
4013pub const PEM_BUFSIZE: i32 = 1024;
4014pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
4015pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
4016pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
4017pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
4018pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
4019pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
4020pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
4021pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
4022pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
4023pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
4024pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
4025pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
4026pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
4027pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
4028pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
4029pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
4030pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
4031pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
4032pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
4033pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
4034pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
4035pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
4036pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
4037pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
4038pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
4039pub const PEM_R_BAD_DECRYPT: i32 = 101;
4040pub const PEM_R_BAD_END_LINE: i32 = 102;
4041pub const PEM_R_BAD_IV_CHARS: i32 = 103;
4042pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
4043pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
4044pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
4045pub const PEM_R_NOT_DEK_INFO: i32 = 107;
4046pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
4047pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
4048pub const PEM_R_NO_START_LINE: i32 = 110;
4049pub const PEM_R_READ_KEY: i32 = 111;
4050pub const PEM_R_SHORT_HEADER: i32 = 112;
4051pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4052pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4053pub const PEM_R_UNSUPPORTED_PROC_TYPE_VERSION: i32 = 115;
4054pub const PEM_R_NO_DATA: i32 = 116;
4055pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4056pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4057pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4058pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4059pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4060pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4061pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4062pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4063pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4064pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4065pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4066pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4067pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4068pub const PKCS8_R_MISSING_MAC: i32 = 112;
4069pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4070pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4071pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4072pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4073pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4074pub const PKCS8_R_TOO_LONG: i32 = 118;
4075pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4076pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4077pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4078pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4079pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4080pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4081pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4082pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4083pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4084pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4085pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4086pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4087pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4088pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4089pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4090pub const RIPEMD160_CBLOCK: i32 = 64;
4091pub const RIPEMD160_LBLOCK: i32 = 16;
4092pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4093pub const SLHDSA_SHA2_128S_SEED_BYTES: i32 = 48;
4094pub const SLHDSA_SHA2_128S_PUBLIC_KEY_BYTES: i32 = 32;
4095pub const SLHDSA_SHA2_128S_PRIVATE_KEY_BYTES: i32 = 64;
4096pub const SLHDSA_SHA2_128S_SIGNATURE_BYTES: i32 = 7856;
4097pub const SLHDSA_SHAKE_256F_SEED_BYTES: i32 = 96;
4098pub const SLHDSA_SHAKE_256F_PUBLIC_KEY_BYTES: i32 = 64;
4099pub const SLHDSA_SHAKE_256F_PRIVATE_KEY_BYTES: i32 = 128;
4100pub const SLHDSA_SHAKE_256F_SIGNATURE_BYTES: i32 = 49856;
4101pub const SSL2_MT_CLIENT_HELLO: i32 = 1;
4102pub const SSL2_VERSION: i32 = 2;
4103pub const SSL3_CK_RSA_DES_192_CBC3_SHA: i32 = 50331658;
4104pub const SSL3_CK_SCSV: i32 = 50331903;
4105pub const SSL3_CK_FALLBACK_SCSV: i32 = 50353664;
4106pub const SSL3_TXT_RSA_DES_192_CBC3_SHA: &[u8; 13] = b"DES-CBC3-SHA\0";
4107pub const SSL3_SSL_SESSION_ID_LENGTH: i32 = 32;
4108pub const SSL3_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4109pub const SSL3_MASTER_SECRET_SIZE: i32 = 48;
4110pub const SSL3_RANDOM_SIZE: i32 = 32;
4111pub const SSL3_SESSION_ID_SIZE: i32 = 32;
4112pub const SSL3_RT_HEADER_LENGTH: i32 = 5;
4113pub const SSL3_HM_HEADER_LENGTH: i32 = 4;
4114pub const SSL3_ALIGN_PAYLOAD: i32 = 8;
4115pub const SSL3_RT_MAX_MD_SIZE: i32 = 64;
4116pub const SSL_RT_MAX_CIPHER_BLOCK_SIZE: i32 = 16;
4117pub const SSL3_RT_MAX_PLAIN_LENGTH: i32 = 16384;
4118pub const SSL3_RT_MAX_COMPRESSED_OVERHEAD: i32 = 1024;
4119pub const SSL3_RT_MAX_ENCRYPTED_OVERHEAD: i32 = 320;
4120pub const SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD: i32 = 88;
4121pub const SSL3_RT_MAX_COMPRESSED_LENGTH: i32 = 16384;
4122pub const SSL3_RT_MAX_ENCRYPTED_LENGTH: i32 = 16704;
4123pub const SSL3_RT_MAX_PACKET_SIZE: i32 = 16709;
4124pub const SSL3_RT_CHANGE_CIPHER_SPEC: i32 = 20;
4125pub const SSL3_RT_ALERT: i32 = 21;
4126pub const SSL3_RT_HANDSHAKE: i32 = 22;
4127pub const SSL3_RT_APPLICATION_DATA: i32 = 23;
4128pub const SSL3_RT_ACK: i32 = 26;
4129pub const SSL3_RT_HEADER: i32 = 256;
4130pub const SSL3_RT_CLIENT_HELLO_INNER: i32 = 257;
4131pub const SSL3_AL_WARNING: i32 = 1;
4132pub const SSL3_AL_FATAL: i32 = 2;
4133pub const SSL3_AD_CLOSE_NOTIFY: i32 = 0;
4134pub const SSL3_AD_UNEXPECTED_MESSAGE: i32 = 10;
4135pub const SSL3_AD_BAD_RECORD_MAC: i32 = 20;
4136pub const SSL3_AD_DECOMPRESSION_FAILURE: i32 = 30;
4137pub const SSL3_AD_HANDSHAKE_FAILURE: i32 = 40;
4138pub const SSL3_AD_NO_CERTIFICATE: i32 = 41;
4139pub const SSL3_AD_BAD_CERTIFICATE: i32 = 42;
4140pub const SSL3_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4141pub const SSL3_AD_CERTIFICATE_REVOKED: i32 = 44;
4142pub const SSL3_AD_CERTIFICATE_EXPIRED: i32 = 45;
4143pub const SSL3_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4144pub const SSL3_AD_ILLEGAL_PARAMETER: i32 = 47;
4145pub const SSL3_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4146pub const SSL3_CT_RSA_SIGN: i32 = 1;
4147pub const SSL3_MT_HELLO_REQUEST: i32 = 0;
4148pub const SSL3_MT_CLIENT_HELLO: i32 = 1;
4149pub const SSL3_MT_SERVER_HELLO: i32 = 2;
4150pub const SSL3_MT_NEW_SESSION_TICKET: i32 = 4;
4151pub const SSL3_MT_END_OF_EARLY_DATA: i32 = 5;
4152pub const SSL3_MT_ENCRYPTED_EXTENSIONS: i32 = 8;
4153pub const SSL3_MT_CERTIFICATE: i32 = 11;
4154pub const SSL3_MT_SERVER_KEY_EXCHANGE: i32 = 12;
4155pub const SSL3_MT_CERTIFICATE_REQUEST: i32 = 13;
4156pub const SSL3_MT_SERVER_HELLO_DONE: i32 = 14;
4157pub const SSL3_MT_CERTIFICATE_VERIFY: i32 = 15;
4158pub const SSL3_MT_CLIENT_KEY_EXCHANGE: i32 = 16;
4159pub const SSL3_MT_FINISHED: i32 = 20;
4160pub const SSL3_MT_CERTIFICATE_STATUS: i32 = 22;
4161pub const SSL3_MT_SUPPLEMENTAL_DATA: i32 = 23;
4162pub const SSL3_MT_KEY_UPDATE: i32 = 24;
4163pub const SSL3_MT_COMPRESSED_CERTIFICATE: i32 = 25;
4164pub const SSL3_MT_NEXT_PROTO: i32 = 67;
4165pub const SSL3_MT_CHANNEL_ID: i32 = 203;
4166pub const SSL3_MT_MESSAGE_HASH: i32 = 254;
4167pub const DTLS1_MT_HELLO_VERIFY_REQUEST: i32 = 3;
4168pub const SSL3_MT_SERVER_DONE: i32 = 14;
4169pub const SSL3_MT_NEWSESSION_TICKET: i32 = 4;
4170pub const SSL3_MT_CCS: i32 = 1;
4171pub const TLS1_AD_END_OF_EARLY_DATA: i32 = 1;
4172pub const TLS1_AD_DECRYPTION_FAILED: i32 = 21;
4173pub const TLS1_AD_RECORD_OVERFLOW: i32 = 22;
4174pub const TLS1_AD_UNKNOWN_CA: i32 = 48;
4175pub const TLS1_AD_ACCESS_DENIED: i32 = 49;
4176pub const TLS1_AD_DECODE_ERROR: i32 = 50;
4177pub const TLS1_AD_DECRYPT_ERROR: i32 = 51;
4178pub const TLS1_AD_EXPORT_RESTRICTION: i32 = 60;
4179pub const TLS1_AD_PROTOCOL_VERSION: i32 = 70;
4180pub const TLS1_AD_INSUFFICIENT_SECURITY: i32 = 71;
4181pub const TLS1_AD_INTERNAL_ERROR: i32 = 80;
4182pub const TLS1_AD_USER_CANCELLED: i32 = 90;
4183pub const TLS1_AD_NO_RENEGOTIATION: i32 = 100;
4184pub const TLS1_AD_MISSING_EXTENSION: i32 = 109;
4185pub const TLS1_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4186pub const TLS1_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4187pub const TLS1_AD_UNRECOGNIZED_NAME: i32 = 112;
4188pub const TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4189pub const TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4190pub const TLS1_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4191pub const TLS1_AD_CERTIFICATE_REQUIRED: i32 = 116;
4192pub const TLS1_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4193pub const TLS1_AD_ECH_REQUIRED: i32 = 121;
4194pub const TLSEXT_TYPE_server_name: i32 = 0;
4195pub const TLSEXT_TYPE_status_request: i32 = 5;
4196pub const TLSEXT_TYPE_ec_point_formats: i32 = 11;
4197pub const TLSEXT_TYPE_signature_algorithms: i32 = 13;
4198pub const TLSEXT_TYPE_srtp: i32 = 14;
4199pub const TLSEXT_TYPE_application_layer_protocol_negotiation: i32 = 16;
4200pub const TLSEXT_TYPE_client_cert_type: i32 = 19;
4201pub const TLSEXT_TYPE_server_cert_type: i32 = 20;
4202pub const TLSEXT_TYPE_padding: i32 = 21;
4203pub const TLSEXT_TYPE_extended_master_secret: i32 = 23;
4204pub const TLSEXT_TYPE_quic_transport_parameters_legacy: i32 = 65445;
4205pub const TLSEXT_TYPE_quic_transport_parameters: i32 = 57;
4206pub const TLSEXT_TYPE_quic_transport_parameters_standard: i32 = 57;
4207pub const TLSEXT_TYPE_cert_compression: i32 = 27;
4208pub const TLSEXT_TYPE_session_ticket: i32 = 35;
4209pub const TLSEXT_TYPE_supported_groups: i32 = 10;
4210pub const TLSEXT_TYPE_pre_shared_key: i32 = 41;
4211pub const TLSEXT_TYPE_early_data: i32 = 42;
4212pub const TLSEXT_TYPE_supported_versions: i32 = 43;
4213pub const TLSEXT_TYPE_cookie: i32 = 44;
4214pub const TLSEXT_TYPE_psk_key_exchange_modes: i32 = 45;
4215pub const TLSEXT_TYPE_certificate_authorities: i32 = 47;
4216pub const TLSEXT_TYPE_signature_algorithms_cert: i32 = 50;
4217pub const TLSEXT_TYPE_key_share: i32 = 51;
4218pub const TLSEXT_TYPE_renegotiate: i32 = 65281;
4219pub const TLSEXT_TYPE_delegated_credential: i32 = 34;
4220pub const TLSEXT_TYPE_application_settings_old: i32 = 17513;
4221pub const TLSEXT_TYPE_application_settings: i32 = 17613;
4222pub const TLSEXT_TYPE_encrypted_client_hello: i32 = 65037;
4223pub const TLSEXT_TYPE_ech_outer_extensions: i32 = 64768;
4224pub const TLSEXT_TYPE_pake: i32 = 35387;
4225pub const TLSEXT_TYPE_certificate_timestamp: i32 = 18;
4226pub const TLSEXT_TYPE_next_proto_neg: i32 = 13172;
4227pub const TLSEXT_TYPE_channel_id: i32 = 30032;
4228pub const TLSEXT_TYPE_trust_anchors: i32 = 51764;
4229pub const TLSEXT_TYPE_server_padding: i32 = 4832;
4230pub const TLSEXT_TYPE_tls_flags: i32 = 62;
4231pub const TLSEXT_STATUSTYPE_nothing: i32 = -1;
4232pub const TLSEXT_STATUSTYPE_ocsp: i32 = 1;
4233pub const TLSEXT_ECPOINTFORMAT_uncompressed: i32 = 0;
4234pub const TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime: i32 = 1;
4235pub const TLSEXT_signature_anonymous: i32 = 0;
4236pub const TLSEXT_signature_rsa: i32 = 1;
4237pub const TLSEXT_signature_dsa: i32 = 2;
4238pub const TLSEXT_signature_ecdsa: i32 = 3;
4239pub const TLSEXT_hash_none: i32 = 0;
4240pub const TLSEXT_hash_md5: i32 = 1;
4241pub const TLSEXT_hash_sha1: i32 = 2;
4242pub const TLSEXT_hash_sha224: i32 = 3;
4243pub const TLSEXT_hash_sha256: i32 = 4;
4244pub const TLSEXT_hash_sha384: i32 = 5;
4245pub const TLSEXT_hash_sha512: i32 = 6;
4246pub const TLSEXT_cert_compression_zlib: i32 = 1;
4247pub const TLSEXT_cert_compression_brotli: i32 = 2;
4248pub const TLSEXT_MAXLEN_host_name: i32 = 255;
4249pub const TLS1_CK_PSK_WITH_AES_128_CBC_SHA: i32 = 50331788;
4250pub const TLS1_CK_PSK_WITH_AES_256_CBC_SHA: i32 = 50331789;
4251pub const TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 50380853;
4252pub const TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 50380854;
4253pub const TLS1_CK_RSA_WITH_AES_128_SHA: i32 = 50331695;
4254pub const TLS1_CK_RSA_WITH_AES_256_SHA: i32 = 50331701;
4255pub const TLS1_CK_RSA_WITH_AES_128_GCM_SHA256: i32 = 50331804;
4256pub const TLS1_CK_RSA_WITH_AES_256_GCM_SHA384: i32 = 50331805;
4257pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 50380809;
4258pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 50380810;
4259pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 50380819;
4260pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 50380820;
4261pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 50380835;
4262pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 50380839;
4263pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 50380843;
4264pub const TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 50380844;
4265pub const TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 50380847;
4266pub const TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 50380848;
4267pub const TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384040;
4268pub const TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384041;
4269pub const TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 50384044;
4270pub const TLS1_3_CK_AES_128_GCM_SHA256: i32 = 50336513;
4271pub const TLS1_3_CK_AES_256_GCM_SHA384: i32 = 50336514;
4272pub const TLS1_3_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4273pub const TLS1_CK_AES_128_GCM_SHA256: i32 = 50336513;
4274pub const TLS1_CK_AES_256_GCM_SHA384: i32 = 50336514;
4275pub const TLS1_CK_CHACHA20_POLY1305_SHA256: i32 = 50336515;
4276pub const TLS1_TXT_PSK_WITH_AES_128_CBC_SHA: &[u8; 19] = b"PSK-AES128-CBC-SHA\0";
4277pub const TLS1_TXT_PSK_WITH_AES_256_CBC_SHA: &[u8; 19] = b"PSK-AES256-CBC-SHA\0";
4278pub const TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES128-CBC-SHA\0";
4279pub const TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA: &[u8; 25] = b"ECDHE-PSK-AES256-CBC-SHA\0";
4280pub const TLS1_TXT_RSA_WITH_AES_128_SHA: &[u8; 11] = b"AES128-SHA\0";
4281pub const TLS1_TXT_RSA_WITH_AES_256_SHA: &[u8; 11] = b"AES256-SHA\0";
4282pub const TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256: &[u8; 18] = b"AES128-GCM-SHA256\0";
4283pub const TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384: &[u8; 18] = b"AES256-GCM-SHA384\0";
4284pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES128-SHA\0";
4285pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: &[u8; 23] = b"ECDHE-ECDSA-AES256-SHA\0";
4286pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES128-SHA\0";
4287pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA: &[u8; 21] = b"ECDHE-RSA-AES256-SHA\0";
4288pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: &[u8; 26] = b"ECDHE-ECDSA-AES128-SHA256\0";
4289pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA256: &[u8; 24] = b"ECDHE-RSA-AES128-SHA256\0";
4290pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: &[u8; 30] =
4291 b"ECDHE-ECDSA-AES128-GCM-SHA256\0";
4292pub const TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: &[u8; 30] =
4293 b"ECDHE-ECDSA-AES256-GCM-SHA384\0";
4294pub const TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256: &[u8; 28] = b"ECDHE-RSA-AES128-GCM-SHA256\0";
4295pub const TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384: &[u8; 28] = b"ECDHE-RSA-AES256-GCM-SHA384\0";
4296pub const TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4297 b"ECDHE-RSA-CHACHA20-POLY1305\0";
4298pub const TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: &[u8; 30] =
4299 b"ECDHE-ECDSA-CHACHA20-POLY1305\0";
4300pub const TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: &[u8; 28] =
4301 b"ECDHE-PSK-CHACHA20-POLY1305\0";
4302pub const TLS1_3_RFC_AES_128_GCM_SHA256: &[u8; 23] = b"TLS_AES_128_GCM_SHA256\0";
4303pub const TLS1_3_RFC_AES_256_GCM_SHA384: &[u8; 23] = b"TLS_AES_256_GCM_SHA384\0";
4304pub const TLS1_3_RFC_CHACHA20_POLY1305_SHA256: &[u8; 29] = b"TLS_CHACHA20_POLY1305_SHA256\0";
4305pub const TLS_CT_RSA_SIGN: i32 = 1;
4306pub const TLS_CT_DSS_SIGN: i32 = 2;
4307pub const TLS_CT_RSA_FIXED_DH: i32 = 3;
4308pub const TLS_CT_DSS_FIXED_DH: i32 = 4;
4309pub const TLS_CT_ECDSA_SIGN: i32 = 64;
4310pub const TLS_CT_RSA_FIXED_ECDH: i32 = 65;
4311pub const TLS_CT_ECDSA_FIXED_ECDH: i32 = 66;
4312pub const SSL_KEY_UPDATE_REQUESTED: i32 = 1;
4313pub const SSL_KEY_UPDATE_NOT_REQUESTED: i32 = 0;
4314pub const SSL_ERROR_NONE: i32 = 0;
4315pub const SSL_ERROR_SSL: i32 = 1;
4316pub const SSL_ERROR_WANT_READ: i32 = 2;
4317pub const SSL_ERROR_WANT_WRITE: i32 = 3;
4318pub const SSL_ERROR_WANT_X509_LOOKUP: i32 = 4;
4319pub const SSL_ERROR_SYSCALL: i32 = 5;
4320pub const SSL_ERROR_ZERO_RETURN: i32 = 6;
4321pub const SSL_ERROR_WANT_CONNECT: i32 = 7;
4322pub const SSL_ERROR_WANT_ACCEPT: i32 = 8;
4323pub const SSL_ERROR_WANT_CHANNEL_ID_LOOKUP: i32 = 9;
4324pub const SSL_ERROR_PENDING_SESSION: i32 = 11;
4325pub const SSL_ERROR_PENDING_CERTIFICATE: i32 = 12;
4326pub const SSL_ERROR_WANT_PRIVATE_KEY_OPERATION: i32 = 13;
4327pub const SSL_ERROR_PENDING_TICKET: i32 = 14;
4328pub const SSL_ERROR_EARLY_DATA_REJECTED: i32 = 15;
4329pub const SSL_ERROR_WANT_CERTIFICATE_VERIFY: i32 = 16;
4330pub const SSL_ERROR_HANDOFF: i32 = 17;
4331pub const SSL_ERROR_HANDBACK: i32 = 18;
4332pub const SSL_ERROR_WANT_RENEGOTIATE: i32 = 19;
4333pub const SSL_ERROR_HANDSHAKE_HINTS_READY: i32 = 20;
4334pub const DTLS1_VERSION_MAJOR: i32 = 254;
4335pub const SSL3_VERSION_MAJOR: i32 = 3;
4336pub const SSL3_VERSION: i32 = 768;
4337pub const TLS1_VERSION: i32 = 769;
4338pub const TLS1_1_VERSION: i32 = 770;
4339pub const TLS1_2_VERSION: i32 = 771;
4340pub const TLS1_3_VERSION: i32 = 772;
4341pub const DTLS1_VERSION: i32 = 65279;
4342pub const DTLS1_2_VERSION: i32 = 65277;
4343pub const DTLS1_3_VERSION: i32 = 65276;
4344pub const SSL_OP_LEGACY_SERVER_CONNECT: i32 = 4;
4345pub const SSL_OP_NO_QUERY_MTU: i32 = 4096;
4346pub const SSL_OP_NO_TICKET: i32 = 16384;
4347pub const SSL_OP_CIPHER_SERVER_PREFERENCE: i32 = 4194304;
4348pub const SSL_OP_ALL: i32 = 4;
4349pub const SSL_OP_NO_TLSv1: i32 = 67108864;
4350pub const SSL_OP_NO_TLSv1_2: i32 = 134217728;
4351pub const SSL_OP_NO_TLSv1_1: i32 = 268435456;
4352pub const SSL_OP_NO_TLSv1_3: i32 = 536870912;
4353pub const SSL_OP_NO_DTLSv1: i32 = 67108864;
4354pub const SSL_OP_NO_DTLSv1_2: i32 = 134217728;
4355pub const SSL_MODE_ENABLE_PARTIAL_WRITE: i32 = 1;
4356pub const SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER: i32 = 2;
4357pub const SSL_MODE_NO_AUTO_CHAIN: i32 = 8;
4358pub const SSL_MODE_ENABLE_FALSE_START: i32 = 128;
4359pub const SSL_MODE_CBC_RECORD_SPLITTING: i32 = 256;
4360pub const SSL_MODE_NO_SESSION_CREATION: i32 = 512;
4361pub const SSL_MODE_SEND_FALLBACK_SCSV: i32 = 1024;
4362pub const SSL_SIGN_RSA_PKCS1_SHA1: i32 = 513;
4363pub const SSL_SIGN_RSA_PKCS1_SHA256: i32 = 1025;
4364pub const SSL_SIGN_RSA_PKCS1_SHA384: i32 = 1281;
4365pub const SSL_SIGN_RSA_PKCS1_SHA512: i32 = 1537;
4366pub const SSL_SIGN_ECDSA_SHA1: i32 = 515;
4367pub const SSL_SIGN_ECDSA_SECP256R1_SHA256: i32 = 1027;
4368pub const SSL_SIGN_ECDSA_SECP384R1_SHA384: i32 = 1283;
4369pub const SSL_SIGN_ECDSA_SECP521R1_SHA512: i32 = 1539;
4370pub const SSL_SIGN_RSA_PSS_RSAE_SHA256: i32 = 2052;
4371pub const SSL_SIGN_RSA_PSS_RSAE_SHA384: i32 = 2053;
4372pub const SSL_SIGN_RSA_PSS_RSAE_SHA512: i32 = 2054;
4373pub const SSL_SIGN_ED25519: i32 = 2055;
4374pub const SSL_SIGN_ML_DSA_44: i32 = 2308;
4375pub const SSL_SIGN_ML_DSA_65: i32 = 2309;
4376pub const SSL_SIGN_ML_DSA_87: i32 = 2310;
4377pub const SSL_SIGN_RSA_PKCS1_SHA256_LEGACY: i32 = 1056;
4378pub const SSL_SIGN_RSA_PKCS1_MD5_SHA1: i32 = 65281;
4379pub const SSL_FILETYPE_PEM: i32 = 1;
4380pub const SSL_FILETYPE_ASN1: i32 = 2;
4381pub const SSL_CIPHER_AES_128_GCM_SHA256: i32 = 4865;
4382pub const SSL_CIPHER_AES_256_GCM_SHA384: i32 = 4866;
4383pub const SSL_CIPHER_CHACHA20_POLY1305_SHA256: i32 = 4867;
4384pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: i32 = 49195;
4385pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: i32 = 49196;
4386pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_GCM_SHA256: i32 = 49199;
4387pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_GCM_SHA384: i32 = 49200;
4388pub const SSL_CIPHER_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52392;
4389pub const SSL_CIPHER_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: i32 = 52393;
4390pub const SSL_CIPHER_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256: i32 = 52396;
4391pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: i32 = 49161;
4392pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: i32 = 49162;
4393pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA: i32 = 49171;
4394pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_256_CBC_SHA: i32 = 49172;
4395pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_128_CBC_SHA: i32 = 49205;
4396pub const SSL_CIPHER_ECDHE_PSK_WITH_AES_256_CBC_SHA: i32 = 49206;
4397pub const SSL_CIPHER_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: i32 = 49187;
4398pub const SSL_CIPHER_ECDHE_RSA_WITH_AES_128_CBC_SHA256: i32 = 49191;
4399pub const SSL_CIPHER_RSA_WITH_AES_128_GCM_SHA256: i32 = 156;
4400pub const SSL_CIPHER_RSA_WITH_AES_256_GCM_SHA384: i32 = 157;
4401pub const SSL_CIPHER_RSA_WITH_AES_128_CBC_SHA: i32 = 47;
4402pub const SSL_CIPHER_RSA_WITH_AES_256_CBC_SHA: i32 = 53;
4403pub const SSL_CIPHER_PSK_WITH_AES_128_CBC_SHA: i32 = 140;
4404pub const SSL_CIPHER_PSK_WITH_AES_256_CBC_SHA: i32 = 141;
4405pub const SSL_CIPHER_RSA_WITH_3DES_EDE_CBC_SHA: i32 = 10;
4406pub const SSL_CIPHER_EMPTY_RENEGOTIATION_INFO_SCSV: i32 = 255;
4407pub const SSL_CIPHER_FALLBACK_SCSV: i32 = 22016;
4408pub const SSL_DEFAULT_CIPHER_LIST: &[u8; 4] = b"ALL\0";
4409pub const SSL_CIPHER_FLAG_EQUAL_PREFERENCE_WITH_NEXT: i32 = 1;
4410pub const SSL_MAX_SSL_SESSION_ID_LENGTH: i32 = 32;
4411pub const SSL_MAX_MASTER_KEY_LENGTH: i32 = 48;
4412pub const SSL_SESS_CACHE_OFF: i32 = 0;
4413pub const SSL_SESS_CACHE_CLIENT: i32 = 1;
4414pub const SSL_SESS_CACHE_SERVER: i32 = 2;
4415pub const SSL_SESS_CACHE_BOTH: i32 = 3;
4416pub const SSL_SESS_CACHE_NO_AUTO_CLEAR: i32 = 128;
4417pub const SSL_SESS_CACHE_NO_INTERNAL_LOOKUP: i32 = 256;
4418pub const SSL_SESS_CACHE_NO_INTERNAL_STORE: i32 = 512;
4419pub const SSL_SESS_CACHE_NO_INTERNAL: i32 = 768;
4420pub const SSL_DEFAULT_SESSION_TIMEOUT: i32 = 7200;
4421pub const SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT: i32 = 172800;
4422pub const SSL_DEFAULT_SESSION_AUTH_TIMEOUT: i32 = 604800;
4423pub const SSL_MAX_SID_CTX_LENGTH: i32 = 32;
4424pub const SSL_SESSION_CACHE_MAX_SIZE_DEFAULT: i32 = 20480;
4425pub const SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL: i32 = 172800;
4426pub const SSL_TICKET_KEY_NAME_LEN: i32 = 16;
4427pub const SSL_GROUP_SECP256R1: i32 = 23;
4428pub const SSL_GROUP_SECP384R1: i32 = 24;
4429pub const SSL_GROUP_SECP521R1: i32 = 25;
4430pub const SSL_GROUP_X25519: i32 = 29;
4431pub const SSL_GROUP_X25519_MLKEM768: i32 = 4588;
4432pub const SSL_GROUP_MLKEM1024: i32 = 514;
4433pub const SSL_GROUP_FLAG_EQUAL_PREFERENCE_WITH_NEXT: i32 = 1;
4434pub const SSL_VERIFY_NONE: i32 = 0;
4435pub const SSL_VERIFY_PEER: i32 = 1;
4436pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: i32 = 2;
4437pub const TLSEXT_NAMETYPE_host_name: i32 = 0;
4438pub const SSL_TLSEXT_ERR_OK: i32 = 0;
4439pub const SSL_TLSEXT_ERR_ALERT_WARNING: i32 = 1;
4440pub const SSL_TLSEXT_ERR_ALERT_FATAL: i32 = 2;
4441pub const SSL_TLSEXT_ERR_NOACK: i32 = 3;
4442pub const OPENSSL_NPN_UNSUPPORTED: i32 = 0;
4443pub const OPENSSL_NPN_NEGOTIATED: i32 = 1;
4444pub const OPENSSL_NPN_NO_OVERLAP: i32 = 2;
4445pub const SRTP_AES128_CM_SHA1_80: i32 = 1;
4446pub const SRTP_AES128_CM_SHA1_32: i32 = 2;
4447pub const SRTP_AES128_F8_SHA1_80: i32 = 3;
4448pub const SRTP_AES128_F8_SHA1_32: i32 = 4;
4449pub const SRTP_NULL_SHA1_80: i32 = 5;
4450pub const SRTP_NULL_SHA1_32: i32 = 6;
4451pub const SRTP_AEAD_AES_128_GCM: i32 = 7;
4452pub const SRTP_AEAD_AES_256_GCM: i32 = 8;
4453pub const PSK_MAX_IDENTITY_LEN: i32 = 128;
4454pub const PSK_MAX_PSK_LEN: i32 = 256;
4455pub const TLSEXT_cert_type_x509: i32 = 0;
4456pub const TLSEXT_cert_type_rpk: i32 = 2;
4457pub const SSL_PAKE_SPAKE2PLUSV1: i32 = 32150;
4458pub const SSL_AD_REASON_OFFSET: i32 = 1000;
4459pub const SSL_AD_CLOSE_NOTIFY: i32 = 0;
4460pub const SSL_AD_UNEXPECTED_MESSAGE: i32 = 10;
4461pub const SSL_AD_BAD_RECORD_MAC: i32 = 20;
4462pub const SSL_AD_DECRYPTION_FAILED: i32 = 21;
4463pub const SSL_AD_RECORD_OVERFLOW: i32 = 22;
4464pub const SSL_AD_DECOMPRESSION_FAILURE: i32 = 30;
4465pub const SSL_AD_HANDSHAKE_FAILURE: i32 = 40;
4466pub const SSL_AD_NO_CERTIFICATE: i32 = 41;
4467pub const SSL_AD_BAD_CERTIFICATE: i32 = 42;
4468pub const SSL_AD_UNSUPPORTED_CERTIFICATE: i32 = 43;
4469pub const SSL_AD_CERTIFICATE_REVOKED: i32 = 44;
4470pub const SSL_AD_CERTIFICATE_EXPIRED: i32 = 45;
4471pub const SSL_AD_CERTIFICATE_UNKNOWN: i32 = 46;
4472pub const SSL_AD_ILLEGAL_PARAMETER: i32 = 47;
4473pub const SSL_AD_UNKNOWN_CA: i32 = 48;
4474pub const SSL_AD_ACCESS_DENIED: i32 = 49;
4475pub const SSL_AD_DECODE_ERROR: i32 = 50;
4476pub const SSL_AD_DECRYPT_ERROR: i32 = 51;
4477pub const SSL_AD_EXPORT_RESTRICTION: i32 = 60;
4478pub const SSL_AD_PROTOCOL_VERSION: i32 = 70;
4479pub const SSL_AD_INSUFFICIENT_SECURITY: i32 = 71;
4480pub const SSL_AD_INTERNAL_ERROR: i32 = 80;
4481pub const SSL_AD_INAPPROPRIATE_FALLBACK: i32 = 86;
4482pub const SSL_AD_USER_CANCELLED: i32 = 90;
4483pub const SSL_AD_NO_RENEGOTIATION: i32 = 100;
4484pub const SSL_AD_MISSING_EXTENSION: i32 = 109;
4485pub const SSL_AD_UNSUPPORTED_EXTENSION: i32 = 110;
4486pub const SSL_AD_CERTIFICATE_UNOBTAINABLE: i32 = 111;
4487pub const SSL_AD_UNRECOGNIZED_NAME: i32 = 112;
4488pub const SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 113;
4489pub const SSL_AD_BAD_CERTIFICATE_HASH_VALUE: i32 = 114;
4490pub const SSL_AD_UNKNOWN_PSK_IDENTITY: i32 = 115;
4491pub const SSL_AD_CERTIFICATE_REQUIRED: i32 = 116;
4492pub const SSL_AD_NO_APPLICATION_PROTOCOL: i32 = 120;
4493pub const SSL_AD_ECH_REQUIRED: i32 = 121;
4494pub const SSL_MAX_CERT_LIST_DEFAULT: i32 = 102400;
4495pub const SSL_ST_CONNECT: i32 = 4096;
4496pub const SSL_ST_ACCEPT: i32 = 8192;
4497pub const SSL_ST_MASK: i32 = 4095;
4498pub const SSL_ST_INIT: i32 = 12288;
4499pub const SSL_ST_OK: i32 = 3;
4500pub const SSL_ST_RENEGOTIATE: i32 = 12292;
4501pub const SSL_ST_BEFORE: i32 = 12293;
4502pub const TLS_ST_OK: i32 = 3;
4503pub const TLS_ST_BEFORE: i32 = 12293;
4504pub const SSL_CB_LOOP: i32 = 1;
4505pub const SSL_CB_EXIT: i32 = 2;
4506pub const SSL_CB_READ: i32 = 4;
4507pub const SSL_CB_WRITE: i32 = 8;
4508pub const SSL_CB_ALERT: i32 = 16384;
4509pub const SSL_CB_READ_ALERT: i32 = 16388;
4510pub const SSL_CB_WRITE_ALERT: i32 = 16392;
4511pub const SSL_CB_ACCEPT_LOOP: i32 = 8193;
4512pub const SSL_CB_ACCEPT_EXIT: i32 = 8194;
4513pub const SSL_CB_CONNECT_LOOP: i32 = 4097;
4514pub const SSL_CB_CONNECT_EXIT: i32 = 4098;
4515pub const SSL_CB_HANDSHAKE_START: i32 = 16;
4516pub const SSL_CB_HANDSHAKE_DONE: i32 = 32;
4517pub const SSL_SENT_SHUTDOWN: i32 = 1;
4518pub const SSL_RECEIVED_SHUTDOWN: i32 = 2;
4519pub const SSL_MODE_HANDSHAKE_CUTTHROUGH: i32 = 128;
4520pub const SSL_MODE_AUTO_RETRY: i32 = 0;
4521pub const SSL_MODE_RELEASE_BUFFERS: i32 = 0;
4522pub const SSL_MODE_SEND_CLIENTHELLO_TIME: i32 = 0;
4523pub const SSL_MODE_SEND_SERVERHELLO_TIME: i32 = 0;
4524pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: i32 = 0;
4525pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: i32 = 0;
4526pub const SSL_OP_EPHEMERAL_RSA: i32 = 0;
4527pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: i32 = 0;
4528pub const SSL_OP_MICROSOFT_SESS_ID_BUG: i32 = 0;
4529pub const SSL_OP_MSIE_SSLV2_RSA_PADDING: i32 = 0;
4530pub const SSL_OP_NETSCAPE_CA_DN_BUG: i32 = 0;
4531pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: i32 = 0;
4532pub const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: i32 = 0;
4533pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: i32 = 0;
4534pub const SSL_OP_NO_COMPRESSION: i32 = 0;
4535pub const SSL_OP_NO_RENEGOTIATION: i32 = 0;
4536pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: i32 = 0;
4537pub const SSL_OP_NO_SSLv2: i32 = 0;
4538pub const SSL_OP_NO_SSLv3: i32 = 0;
4539pub const SSL_OP_PKCS1_CHECK_1: i32 = 0;
4540pub const SSL_OP_PKCS1_CHECK_2: i32 = 0;
4541pub const SSL_OP_SINGLE_DH_USE: i32 = 0;
4542pub const SSL_OP_SINGLE_ECDH_USE: i32 = 0;
4543pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: i32 = 0;
4544pub const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: i32 = 0;
4545pub const SSL_OP_TLS_BLOCK_PADDING_BUG: i32 = 0;
4546pub const SSL_OP_TLS_D5_BUG: i32 = 0;
4547pub const SSL_OP_TLS_ROLLBACK_BUG: i32 = 0;
4548pub const SSL_VERIFY_CLIENT_ONCE: i32 = 0;
4549pub const SSL_NOTHING: i32 = 0;
4550pub const SSL_WRITING: i32 = 3;
4551pub const SSL_READING: i32 = 2;
4552pub const SSL_TXT_MEDIUM: &[u8; 7] = b"MEDIUM\0";
4553pub const SSL_TXT_HIGH: &[u8; 5] = b"HIGH\0";
4554pub const SSL_TXT_FIPS: &[u8; 5] = b"FIPS\0";
4555pub const SSL_TXT_kRSA: &[u8; 5] = b"kRSA\0";
4556pub const SSL_TXT_kDHE: &[u8; 5] = b"kDHE\0";
4557pub const SSL_TXT_kEDH: &[u8; 5] = b"kEDH\0";
4558pub const SSL_TXT_kECDHE: &[u8; 7] = b"kECDHE\0";
4559pub const SSL_TXT_kEECDH: &[u8; 7] = b"kEECDH\0";
4560pub const SSL_TXT_kPSK: &[u8; 5] = b"kPSK\0";
4561pub const SSL_TXT_aRSA: &[u8; 5] = b"aRSA\0";
4562pub const SSL_TXT_aECDSA: &[u8; 7] = b"aECDSA\0";
4563pub const SSL_TXT_aPSK: &[u8; 5] = b"aPSK\0";
4564pub const SSL_TXT_DH: &[u8; 3] = b"DH\0";
4565pub const SSL_TXT_DHE: &[u8; 4] = b"DHE\0";
4566pub const SSL_TXT_EDH: &[u8; 4] = b"EDH\0";
4567pub const SSL_TXT_RSA: &[u8; 4] = b"RSA\0";
4568pub const SSL_TXT_ECDH: &[u8; 5] = b"ECDH\0";
4569pub const SSL_TXT_ECDHE: &[u8; 6] = b"ECDHE\0";
4570pub const SSL_TXT_EECDH: &[u8; 6] = b"EECDH\0";
4571pub const SSL_TXT_ECDSA: &[u8; 6] = b"ECDSA\0";
4572pub const SSL_TXT_PSK: &[u8; 4] = b"PSK\0";
4573pub const SSL_TXT_3DES: &[u8; 5] = b"3DES\0";
4574pub const SSL_TXT_RC4: &[u8; 4] = b"RC4\0";
4575pub const SSL_TXT_AES128: &[u8; 7] = b"AES128\0";
4576pub const SSL_TXT_AES256: &[u8; 7] = b"AES256\0";
4577pub const SSL_TXT_AES: &[u8; 4] = b"AES\0";
4578pub const SSL_TXT_AES_GCM: &[u8; 7] = b"AESGCM\0";
4579pub const SSL_TXT_CHACHA20: &[u8; 9] = b"CHACHA20\0";
4580pub const SSL_TXT_MD5: &[u8; 4] = b"MD5\0";
4581pub const SSL_TXT_SHA1: &[u8; 5] = b"SHA1\0";
4582pub const SSL_TXT_SHA: &[u8; 4] = b"SHA\0";
4583pub const SSL_TXT_SHA256: &[u8; 7] = b"SHA256\0";
4584pub const SSL_TXT_SHA384: &[u8; 7] = b"SHA384\0";
4585pub const SSL_TXT_SSLV3: &[u8; 6] = b"SSLv3\0";
4586pub const SSL_TXT_TLSV1: &[u8; 6] = b"TLSv1\0";
4587pub const SSL_TXT_TLSV1_1: &[u8; 8] = b"TLSv1.1\0";
4588pub const SSL_TXT_TLSV1_2: &[u8; 8] = b"TLSv1.2\0";
4589pub const SSL_TXT_TLSV1_3: &[u8; 8] = b"TLSv1.3\0";
4590pub const SSL_TXT_ALL: &[u8; 4] = b"ALL\0";
4591pub const SSL_TXT_CMPDEF: &[u8; 20] = b"COMPLEMENTOFDEFAULT\0";
4592pub const OPENSSL_INIT_NO_LOAD_SSL_STRINGS: i32 = 0;
4593pub const OPENSSL_INIT_LOAD_SSL_STRINGS: i32 = 0;
4594pub const OPENSSL_INIT_SSL_DEFAULT: i32 = 0;
4595pub const SSL_SIGN_RSA_PSS_SHA256: i32 = 2052;
4596pub const SSL_SIGN_RSA_PSS_SHA384: i32 = 2053;
4597pub const SSL_SIGN_RSA_PSS_SHA512: i32 = 2054;
4598pub const SSL_CURVE_SECP256R1: i32 = 23;
4599pub const SSL_CURVE_SECP384R1: i32 = 24;
4600pub const SSL_CURVE_SECP521R1: i32 = 25;
4601pub const SSL_CURVE_X25519: i32 = 29;
4602pub const TLSEXT_nid_unknown: i32 = 16777216;
4603pub const SSL_R_APP_DATA_IN_HANDSHAKE: i32 = 100;
4604pub const SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT: i32 = 101;
4605pub const SSL_R_BAD_ALERT: i32 = 102;
4606pub const SSL_R_BAD_CHANGE_CIPHER_SPEC: i32 = 103;
4607pub const SSL_R_BAD_DATA_RETURNED_BY_CALLBACK: i32 = 104;
4608pub const SSL_R_BAD_DH_P_LENGTH: i32 = 105;
4609pub const SSL_R_BAD_DIGEST_LENGTH: i32 = 106;
4610pub const SSL_R_BAD_ECC_CERT: i32 = 107;
4611pub const SSL_R_BAD_ECPOINT: i32 = 108;
4612pub const SSL_R_BAD_HANDSHAKE_RECORD: i32 = 109;
4613pub const SSL_R_BAD_HELLO_REQUEST: i32 = 110;
4614pub const SSL_R_BAD_LENGTH: i32 = 111;
4615pub const SSL_R_BAD_PACKET_LENGTH: i32 = 112;
4616pub const SSL_R_BAD_RSA_ENCRYPT: i32 = 113;
4617pub const SSL_R_BAD_SIGNATURE: i32 = 114;
4618pub const SSL_R_BAD_SRTP_MKI_VALUE: i32 = 115;
4619pub const SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST: i32 = 116;
4620pub const SSL_R_BAD_SSL_FILETYPE: i32 = 117;
4621pub const SSL_R_BAD_WRITE_RETRY: i32 = 118;
4622pub const SSL_R_BIO_NOT_SET: i32 = 119;
4623pub const SSL_R_BN_LIB: i32 = 120;
4624pub const SSL_R_BUFFER_TOO_SMALL: i32 = 121;
4625pub const SSL_R_CA_DN_LENGTH_MISMATCH: i32 = 122;
4626pub const SSL_R_CA_DN_TOO_LONG: i32 = 123;
4627pub const SSL_R_CCS_RECEIVED_EARLY: i32 = 124;
4628pub const SSL_R_CERTIFICATE_VERIFY_FAILED: i32 = 125;
4629pub const SSL_R_CERT_CB_ERROR: i32 = 126;
4630pub const SSL_R_CERT_LENGTH_MISMATCH: i32 = 127;
4631pub const SSL_R_CHANNEL_ID_NOT_P256: i32 = 128;
4632pub const SSL_R_CHANNEL_ID_SIGNATURE_INVALID: i32 = 129;
4633pub const SSL_R_CIPHER_OR_HASH_UNAVAILABLE: i32 = 130;
4634pub const SSL_R_CLIENTHELLO_PARSE_FAILED: i32 = 131;
4635pub const SSL_R_CLIENTHELLO_TLSEXT: i32 = 132;
4636pub const SSL_R_CONNECTION_REJECTED: i32 = 133;
4637pub const SSL_R_CONNECTION_TYPE_NOT_SET: i32 = 134;
4638pub const SSL_R_CUSTOM_EXTENSION_ERROR: i32 = 135;
4639pub const SSL_R_DATA_LENGTH_TOO_LONG: i32 = 136;
4640pub const SSL_R_DECODE_ERROR: i32 = 137;
4641pub const SSL_R_DECRYPTION_FAILED: i32 = 138;
4642pub const SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC: i32 = 139;
4643pub const SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG: i32 = 140;
4644pub const SSL_R_DH_P_TOO_LONG: i32 = 141;
4645pub const SSL_R_DIGEST_CHECK_FAILED: i32 = 142;
4646pub const SSL_R_DTLS_MESSAGE_TOO_BIG: i32 = 143;
4647pub const SSL_R_ECC_CERT_NOT_FOR_SIGNING: i32 = 144;
4648pub const SSL_R_EMS_STATE_INCONSISTENT: i32 = 145;
4649pub const SSL_R_ENCRYPTED_LENGTH_TOO_LONG: i32 = 146;
4650pub const SSL_R_ERROR_ADDING_EXTENSION: i32 = 147;
4651pub const SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST: i32 = 148;
4652pub const SSL_R_ERROR_PARSING_EXTENSION: i32 = 149;
4653pub const SSL_R_EXCESSIVE_MESSAGE_SIZE: i32 = 150;
4654pub const SSL_R_EXTRA_DATA_IN_MESSAGE: i32 = 151;
4655pub const SSL_R_FRAGMENT_MISMATCH: i32 = 152;
4656pub const SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION: i32 = 153;
4657pub const SSL_R_HANDSHAKE_FAILURE_ON_CLIENT_HELLO: i32 = 154;
4658pub const SSL_R_HTTPS_PROXY_REQUEST: i32 = 155;
4659pub const SSL_R_HTTP_REQUEST: i32 = 156;
4660pub const SSL_R_INAPPROPRIATE_FALLBACK: i32 = 157;
4661pub const SSL_R_INVALID_COMMAND: i32 = 158;
4662pub const SSL_R_INVALID_MESSAGE: i32 = 159;
4663pub const SSL_R_INVALID_SSL_SESSION: i32 = 160;
4664pub const SSL_R_INVALID_TICKET_KEYS_LENGTH: i32 = 161;
4665pub const SSL_R_LENGTH_MISMATCH: i32 = 162;
4666pub const SSL_R_MISSING_EXTENSION: i32 = 164;
4667pub const SSL_R_MISSING_RSA_CERTIFICATE: i32 = 165;
4668pub const SSL_R_MISSING_TMP_DH_KEY: i32 = 166;
4669pub const SSL_R_MISSING_TMP_ECDH_KEY: i32 = 167;
4670pub const SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS: i32 = 168;
4671pub const SSL_R_MTU_TOO_SMALL: i32 = 169;
4672pub const SSL_R_NEGOTIATED_BOTH_NPN_AND_ALPN: i32 = 170;
4673pub const SSL_R_NESTED_GROUP: i32 = 171;
4674pub const SSL_R_NO_CERTIFICATES_RETURNED: i32 = 172;
4675pub const SSL_R_NO_CERTIFICATE_ASSIGNED: i32 = 173;
4676pub const SSL_R_NO_CERTIFICATE_SET: i32 = 174;
4677pub const SSL_R_NO_CIPHERS_AVAILABLE: i32 = 175;
4678pub const SSL_R_NO_CIPHERS_PASSED: i32 = 176;
4679pub const SSL_R_NO_CIPHER_MATCH: i32 = 177;
4680pub const SSL_R_NO_COMPRESSION_SPECIFIED: i32 = 178;
4681pub const SSL_R_NO_METHOD_SPECIFIED: i32 = 179;
4682pub const SSL_R_NO_PRIVATE_KEY_ASSIGNED: i32 = 181;
4683pub const SSL_R_NO_RENEGOTIATION: i32 = 182;
4684pub const SSL_R_NO_REQUIRED_DIGEST: i32 = 183;
4685pub const SSL_R_NO_SHARED_CIPHER: i32 = 184;
4686pub const SSL_R_NULL_SSL_CTX: i32 = 185;
4687pub const SSL_R_NULL_SSL_METHOD_PASSED: i32 = 186;
4688pub const SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED: i32 = 187;
4689pub const SSL_R_OLD_SESSION_VERSION_NOT_RETURNED: i32 = 188;
4690pub const SSL_R_OUTPUT_ALIASES_INPUT: i32 = 189;
4691pub const SSL_R_PARSE_TLSEXT: i32 = 190;
4692pub const SSL_R_PATH_TOO_LONG: i32 = 191;
4693pub const SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE: i32 = 192;
4694pub const SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE: i32 = 193;
4695pub const SSL_R_PROTOCOL_IS_SHUTDOWN: i32 = 194;
4696pub const SSL_R_PSK_IDENTITY_NOT_FOUND: i32 = 195;
4697pub const SSL_R_PSK_NO_CLIENT_CB: i32 = 196;
4698pub const SSL_R_PSK_NO_SERVER_CB: i32 = 197;
4699pub const SSL_R_READ_TIMEOUT_EXPIRED: i32 = 198;
4700pub const SSL_R_RECORD_LENGTH_MISMATCH: i32 = 199;
4701pub const SSL_R_RECORD_TOO_LARGE: i32 = 200;
4702pub const SSL_R_RENEGOTIATION_ENCODING_ERR: i32 = 201;
4703pub const SSL_R_RENEGOTIATION_MISMATCH: i32 = 202;
4704pub const SSL_R_REQUIRED_CIPHER_MISSING: i32 = 203;
4705pub const SSL_R_RESUMED_EMS_SESSION_WITHOUT_EMS_EXTENSION: i32 = 204;
4706pub const SSL_R_RESUMED_NON_EMS_SESSION_WITH_EMS_EXTENSION: i32 = 205;
4707pub const SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING: i32 = 206;
4708pub const SSL_R_SERVERHELLO_TLSEXT: i32 = 207;
4709pub const SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED: i32 = 208;
4710pub const SSL_R_SESSION_MAY_NOT_BE_CREATED: i32 = 209;
4711pub const SSL_R_SIGNATURE_ALGORITHMS_EXTENSION_SENT_BY_SERVER: i32 = 210;
4712pub const SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES: i32 = 211;
4713pub const SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE: i32 = 212;
4714pub const SSL_R_SSL3_EXT_INVALID_SERVERNAME: i32 = 213;
4715pub const SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION: i32 = 214;
4716pub const SSL_R_SSL_HANDSHAKE_FAILURE: i32 = 215;
4717pub const SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG: i32 = 216;
4718pub const SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST: i32 = 217;
4719pub const SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG: i32 = 218;
4720pub const SSL_R_TOO_MANY_EMPTY_FRAGMENTS: i32 = 219;
4721pub const SSL_R_TOO_MANY_WARNING_ALERTS: i32 = 220;
4722pub const SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS: i32 = 221;
4723pub const SSL_R_UNEXPECTED_EXTENSION: i32 = 222;
4724pub const SSL_R_UNEXPECTED_MESSAGE: i32 = 223;
4725pub const SSL_R_UNEXPECTED_OPERATOR_IN_GROUP: i32 = 224;
4726pub const SSL_R_UNEXPECTED_RECORD: i32 = 225;
4727pub const SSL_R_UNINITIALIZED: i32 = 226;
4728pub const SSL_R_UNKNOWN_ALERT_TYPE: i32 = 227;
4729pub const SSL_R_UNKNOWN_CERTIFICATE_TYPE: i32 = 228;
4730pub const SSL_R_UNKNOWN_CIPHER_RETURNED: i32 = 229;
4731pub const SSL_R_UNKNOWN_CIPHER_TYPE: i32 = 230;
4732pub const SSL_R_UNKNOWN_DIGEST: i32 = 231;
4733pub const SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE: i32 = 232;
4734pub const SSL_R_UNKNOWN_PROTOCOL: i32 = 233;
4735pub const SSL_R_UNKNOWN_SSL_VERSION: i32 = 234;
4736pub const SSL_R_UNKNOWN_STATE: i32 = 235;
4737pub const SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED: i32 = 236;
4738pub const SSL_R_UNSUPPORTED_CIPHER: i32 = 237;
4739pub const SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM: i32 = 238;
4740pub const SSL_R_UNSUPPORTED_ELLIPTIC_CURVE: i32 = 239;
4741pub const SSL_R_UNSUPPORTED_PROTOCOL: i32 = 240;
4742pub const SSL_R_WRONG_CERTIFICATE_TYPE: i32 = 241;
4743pub const SSL_R_WRONG_CIPHER_RETURNED: i32 = 242;
4744pub const SSL_R_WRONG_CURVE: i32 = 243;
4745pub const SSL_R_WRONG_MESSAGE_TYPE: i32 = 244;
4746pub const SSL_R_WRONG_SIGNATURE_TYPE: i32 = 245;
4747pub const SSL_R_WRONG_SSL_VERSION: i32 = 246;
4748pub const SSL_R_WRONG_VERSION_NUMBER: i32 = 247;
4749pub const SSL_R_X509_LIB: i32 = 248;
4750pub const SSL_R_X509_VERIFICATION_SETUP_PROBLEMS: i32 = 249;
4751pub const SSL_R_SHUTDOWN_WHILE_IN_INIT: i32 = 250;
4752pub const SSL_R_INVALID_OUTER_RECORD_TYPE: i32 = 251;
4753pub const SSL_R_UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY: i32 = 252;
4754pub const SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS: i32 = 253;
4755pub const SSL_R_DOWNGRADE_DETECTED: i32 = 254;
4756pub const SSL_R_EXCESS_HANDSHAKE_DATA: i32 = 255;
4757pub const SSL_R_INVALID_COMPRESSION_LIST: i32 = 256;
4758pub const SSL_R_DUPLICATE_EXTENSION: i32 = 257;
4759pub const SSL_R_MISSING_KEY_SHARE: i32 = 258;
4760pub const SSL_R_INVALID_ALPN_PROTOCOL: i32 = 259;
4761pub const SSL_R_TOO_MANY_KEY_UPDATES: i32 = 260;
4762pub const SSL_R_BLOCK_CIPHER_PAD_IS_WRONG: i32 = 261;
4763pub const SSL_R_NO_CIPHERS_SPECIFIED: i32 = 262;
4764pub const SSL_R_RENEGOTIATION_EMS_MISMATCH: i32 = 263;
4765pub const SSL_R_DUPLICATE_KEY_SHARE: i32 = 264;
4766pub const SSL_R_NO_GROUPS_SPECIFIED: i32 = 265;
4767pub const SSL_R_NO_SHARED_GROUP: i32 = 266;
4768pub const SSL_R_PRE_SHARED_KEY_MUST_BE_LAST: i32 = 267;
4769pub const SSL_R_OLD_SESSION_PRF_HASH_MISMATCH: i32 = 268;
4770pub const SSL_R_INVALID_SCT_LIST: i32 = 269;
4771pub const SSL_R_TOO_MUCH_SKIPPED_EARLY_DATA: i32 = 270;
4772pub const SSL_R_PSK_IDENTITY_BINDER_COUNT_MISMATCH: i32 = 271;
4773pub const SSL_R_CANNOT_PARSE_LEAF_CERT: i32 = 272;
4774pub const SSL_R_SERVER_CERT_CHANGED: i32 = 273;
4775pub const SSL_R_CERTIFICATE_AND_PRIVATE_KEY_MISMATCH: i32 = 274;
4776pub const SSL_R_CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD: i32 = 275;
4777pub const SSL_R_TICKET_ENCRYPTION_FAILED: i32 = 276;
4778pub const SSL_R_ALPN_MISMATCH_ON_EARLY_DATA: i32 = 277;
4779pub const SSL_R_WRONG_VERSION_ON_EARLY_DATA: i32 = 278;
4780pub const SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA: i32 = 279;
4781pub const SSL_R_NO_SUPPORTED_VERSIONS_ENABLED: i32 = 280;
4782pub const SSL_R_EMPTY_HELLO_RETRY_REQUEST: i32 = 282;
4783pub const SSL_R_EARLY_DATA_NOT_IN_USE: i32 = 283;
4784pub const SSL_R_HANDSHAKE_NOT_COMPLETE: i32 = 284;
4785pub const SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI: i32 = 285;
4786pub const SSL_R_SERVER_ECHOED_INVALID_SESSION_ID: i32 = 286;
4787pub const SSL_R_PRIVATE_KEY_OPERATION_FAILED: i32 = 287;
4788pub const SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH: i32 = 288;
4789pub const SSL_R_OCSP_CB_ERROR: i32 = 289;
4790pub const SSL_R_SSL_SESSION_ID_TOO_LONG: i32 = 290;
4791pub const SSL_R_APPLICATION_DATA_ON_SHUTDOWN: i32 = 291;
4792pub const SSL_R_CERT_DECOMPRESSION_FAILED: i32 = 292;
4793pub const SSL_R_UNCOMPRESSED_CERT_TOO_LARGE: i32 = 293;
4794pub const SSL_R_UNKNOWN_CERT_COMPRESSION_ALG: i32 = 294;
4795pub const SSL_R_INVALID_SIGNATURE_ALGORITHM: i32 = 295;
4796pub const SSL_R_DUPLICATE_SIGNATURE_ALGORITHM: i32 = 296;
4797pub const SSL_R_TLS13_DOWNGRADE: i32 = 297;
4798pub const SSL_R_QUIC_INTERNAL_ERROR: i32 = 298;
4799pub const SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED: i32 = 299;
4800pub const SSL_R_TOO_MUCH_READ_EARLY_DATA: i32 = 300;
4801pub const SSL_R_INVALID_DELEGATED_CREDENTIAL: i32 = 301;
4802pub const SSL_R_KEY_USAGE_BIT_INCORRECT: i32 = 302;
4803pub const SSL_R_INCONSISTENT_CLIENT_HELLO: i32 = 303;
4804pub const SSL_R_CIPHER_MISMATCH_ON_EARLY_DATA: i32 = 304;
4805pub const SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED: i32 = 305;
4806pub const SSL_R_UNEXPECTED_COMPATIBILITY_MODE: i32 = 306;
4807pub const SSL_R_NO_APPLICATION_PROTOCOL: i32 = 307;
4808pub const SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN: i32 = 308;
4809pub const SSL_R_ALPS_MISMATCH_ON_EARLY_DATA: i32 = 309;
4810pub const SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH: i32 = 310;
4811pub const SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION: i32 = 311;
4812pub const SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG: i32 = 312;
4813pub const SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS: i32 = 313;
4814pub const SSL_R_INVALID_CLIENT_HELLO_INNER: i32 = 314;
4815pub const SSL_R_INVALID_ALPN_PROTOCOL_LIST: i32 = 315;
4816pub const SSL_R_COULD_NOT_PARSE_HINTS: i32 = 316;
4817pub const SSL_R_INVALID_ECH_PUBLIC_NAME: i32 = 317;
4818pub const SSL_R_INVALID_ECH_CONFIG_LIST: i32 = 318;
4819pub const SSL_R_ECH_REJECTED: i32 = 319;
4820pub const SSL_R_INVALID_OUTER_EXTENSION: i32 = 320;
4821pub const SSL_R_INCONSISTENT_ECH_NEGOTIATION: i32 = 321;
4822pub const SSL_R_INVALID_ALPS_CODEPOINT: i32 = 322;
4823pub const SSL_R_NO_MATCHING_ISSUER: i32 = 323;
4824pub const SSL_R_INVALID_SPAKE2PLUSV1_VALUE: i32 = 324;
4825pub const SSL_R_PAKE_EXHAUSTED: i32 = 325;
4826pub const SSL_R_PEER_PAKE_MISMATCH: i32 = 326;
4827pub const SSL_R_UNSUPPORTED_CREDENTIAL_LIST: i32 = 327;
4828pub const SSL_R_INVALID_TRUST_ANCHOR_LIST: i32 = 328;
4829pub const SSL_R_INVALID_CERTIFICATE_PROPERTY_LIST: i32 = 329;
4830pub const SSL_R_DUPLICATE_GROUP: i32 = 330;
4831pub const SSL_R_INVALID_PSK_FOR_CONNECTION: i32 = 331;
4832pub const SSL_R_NO_SUPPORTED_PSK_MODE: i32 = 332;
4833pub const SSL_R_INVALID_CERT_TYPES_LIST: i32 = 333;
4834pub const SSL_R_UNSUPPORTED_CERTIFICATE: i32 = 334;
4835pub const SSL_R_MISSING_KEY: i32 = 335;
4836pub const SSL_R_INVALID_RAW_PUBLIC_KEY: i32 = 336;
4837pub const SSL_R_UNUSABLE_ECH_CONFIG_LIST: i32 = 337;
4838pub const SSL_R_INVALID_CIPHER_FLAGS: i32 = 338;
4839pub const SSL_R_DUPLICATE_CIPHER: i32 = 339;
4840pub const SSL_R_SSLV3_ALERT_CLOSE_NOTIFY: i32 = 1000;
4841pub const SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE: i32 = 1010;
4842pub const SSL_R_SSLV3_ALERT_BAD_RECORD_MAC: i32 = 1020;
4843pub const SSL_R_TLSV1_ALERT_DECRYPTION_FAILED: i32 = 1021;
4844pub const SSL_R_TLSV1_ALERT_RECORD_OVERFLOW: i32 = 1022;
4845pub const SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE: i32 = 1030;
4846pub const SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE: i32 = 1040;
4847pub const SSL_R_SSLV3_ALERT_NO_CERTIFICATE: i32 = 1041;
4848pub const SSL_R_SSLV3_ALERT_BAD_CERTIFICATE: i32 = 1042;
4849pub const SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE: i32 = 1043;
4850pub const SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED: i32 = 1044;
4851pub const SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED: i32 = 1045;
4852pub const SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN: i32 = 1046;
4853pub const SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER: i32 = 1047;
4854pub const SSL_R_TLSV1_ALERT_UNKNOWN_CA: i32 = 1048;
4855pub const SSL_R_TLSV1_ALERT_ACCESS_DENIED: i32 = 1049;
4856pub const SSL_R_TLSV1_ALERT_DECODE_ERROR: i32 = 1050;
4857pub const SSL_R_TLSV1_ALERT_DECRYPT_ERROR: i32 = 1051;
4858pub const SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION: i32 = 1060;
4859pub const SSL_R_TLSV1_ALERT_PROTOCOL_VERSION: i32 = 1070;
4860pub const SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY: i32 = 1071;
4861pub const SSL_R_TLSV1_ALERT_INTERNAL_ERROR: i32 = 1080;
4862pub const SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK: i32 = 1086;
4863pub const SSL_R_TLSV1_ALERT_USER_CANCELLED: i32 = 1090;
4864pub const SSL_R_TLSV1_ALERT_NO_RENEGOTIATION: i32 = 1100;
4865pub const SSL_R_TLSV1_ALERT_UNSUPPORTED_EXTENSION: i32 = 1110;
4866pub const SSL_R_TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE: i32 = 1111;
4867pub const SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME: i32 = 1112;
4868pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE: i32 = 1113;
4869pub const SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE: i32 = 1114;
4870pub const SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY: i32 = 1115;
4871pub const SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED: i32 = 1116;
4872pub const SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL: i32 = 1120;
4873pub const SSL_R_TLSV1_ALERT_ECH_REQUIRED: i32 = 1121;
4874pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4875pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4876pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4877pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4878pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4879pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4880pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4881pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4882pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4883pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4884pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4885pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4886pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4887pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4888pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4889pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4890pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4891pub const CRL_REASON_NONE: i32 = -1;
4892pub const CRL_REASON_UNSPECIFIED: i32 = 0;
4893pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
4894pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
4895pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
4896pub const CRL_REASON_SUPERSEDED: i32 = 4;
4897pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
4898pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
4899pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
4900pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
4901pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
4902pub const KU_DIGITAL_SIGNATURE: i32 = 128;
4903pub const KU_NON_REPUDIATION: i32 = 64;
4904pub const KU_KEY_ENCIPHERMENT: i32 = 32;
4905pub const KU_DATA_ENCIPHERMENT: i32 = 16;
4906pub const KU_KEY_AGREEMENT: i32 = 8;
4907pub const KU_KEY_CERT_SIGN: i32 = 4;
4908pub const KU_CRL_SIGN: i32 = 2;
4909pub const KU_ENCIPHER_ONLY: i32 = 1;
4910pub const KU_DECIPHER_ONLY: i32 = 32768;
4911pub type __uint64_t = ::core::ffi::c_ulong;
4912pub type __off_t = ::core::ffi::c_long;
4913pub type __off64_t = ::core::ffi::c_long;
4914pub type __time_t = ::core::ffi::c_long;
4915pub type __suseconds_t = ::core::ffi::c_long;
4916pub type time_t = __time_t;
4917#[repr(C)]
4918#[derive(Debug, Copy, Clone)]
4919pub struct timeval {
4920 pub tv_sec: __time_t,
4921 pub tv_usec: __suseconds_t,
4922}
4923pub type ossl_ssize_t = isize;
4924pub type CBS_ASN1_TAG = u32;
4925pub type CRYPTO_THREADID = ::core::ffi::c_int;
4926#[repr(C)]
4927#[derive(Debug)]
4928pub struct asn1_null_st {
4929 _unused: [u8; 0],
4930}
4931pub type ASN1_NULL = asn1_null_st;
4932#[repr(C)]
4933#[derive(Debug)]
4934pub struct crypto_must_be_null_st {
4935 _unused: [u8; 0],
4936}
4937pub type CRYPTO_MUST_BE_NULL = crypto_must_be_null_st;
4938pub type ASN1_BOOLEAN = ::core::ffi::c_int;
4939pub type ASN1_ITEM = ASN1_ITEM_st;
4940#[repr(C)]
4941#[derive(Debug)]
4942pub struct asn1_object_st {
4943 _unused: [u8; 0],
4944}
4945pub type ASN1_OBJECT = asn1_object_st;
4946#[repr(C)]
4947#[derive(Debug)]
4948pub struct asn1_pctx_st {
4949 _unused: [u8; 0],
4950}
4951pub type ASN1_PCTX = asn1_pctx_st;
4952pub type ASN1_BIT_STRING = asn1_string_st;
4953pub type ASN1_BMPSTRING = asn1_string_st;
4954pub type ASN1_ENUMERATED = asn1_string_st;
4955pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4956pub type ASN1_GENERALSTRING = asn1_string_st;
4957pub type ASN1_IA5STRING = asn1_string_st;
4958pub type ASN1_INTEGER = asn1_string_st;
4959pub type ASN1_OCTET_STRING = asn1_string_st;
4960pub type ASN1_PRINTABLESTRING = asn1_string_st;
4961pub type ASN1_STRING = asn1_string_st;
4962pub type ASN1_T61STRING = asn1_string_st;
4963pub type ASN1_TIME = asn1_string_st;
4964pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4965pub type ASN1_UTCTIME = asn1_string_st;
4966pub type ASN1_UTF8STRING = asn1_string_st;
4967pub type ASN1_VISIBLESTRING = asn1_string_st;
4968pub type ASN1_TYPE = asn1_type_st;
4969pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4970pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4971#[repr(C)]
4972#[derive(Debug)]
4973pub struct CMS_ContentInfo_st {
4974 _unused: [u8; 0],
4975}
4976pub type CMS_ContentInfo = CMS_ContentInfo_st;
4977#[repr(C)]
4978#[derive(Debug)]
4979pub struct CMS_SignerInfo_st {
4980 _unused: [u8; 0],
4981}
4982pub type CMS_SignerInfo = CMS_SignerInfo_st;
4983pub type DIST_POINT = DIST_POINT_st;
4984pub type DSA_SIG = DSA_SIG_st;
4985pub type GENERAL_NAME = GENERAL_NAME_st;
4986pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4987pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4988pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4989pub type NETSCAPE_SPKI = Netscape_spki_st;
4990pub type RIPEMD160_CTX = RIPEMD160state_st;
4991#[repr(C)]
4992#[derive(Debug)]
4993pub struct X509_VERIFY_PARAM_st {
4994 _unused: [u8; 0],
4995}
4996pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4997pub type X509_ALGOR = X509_algor_st;
4998#[repr(C)]
4999#[derive(Debug)]
5000pub struct X509_crl_st {
5001 _unused: [u8; 0],
5002}
5003pub type X509_CRL = X509_crl_st;
5004#[repr(C)]
5005#[derive(Debug)]
5006pub struct X509_extension_st {
5007 _unused: [u8; 0],
5008}
5009pub type X509_EXTENSION = X509_extension_st;
5010pub type X509_INFO = X509_info_st;
5011#[repr(C)]
5012#[derive(Debug)]
5013pub struct X509_name_entry_st {
5014 _unused: [u8; 0],
5015}
5016pub type X509_NAME_ENTRY = X509_name_entry_st;
5017#[repr(C)]
5018#[derive(Debug)]
5019pub struct X509_name_st {
5020 _unused: [u8; 0],
5021}
5022pub type X509_NAME = X509_name_st;
5023#[repr(C)]
5024#[derive(Debug)]
5025pub struct X509_pubkey_st {
5026 _unused: [u8; 0],
5027}
5028pub type X509_PUBKEY = X509_pubkey_st;
5029#[repr(C)]
5030#[derive(Debug)]
5031pub struct X509_req_st {
5032 _unused: [u8; 0],
5033}
5034pub type X509_REQ = X509_req_st;
5035#[repr(C)]
5036#[derive(Debug)]
5037pub struct X509_sig_st {
5038 _unused: [u8; 0],
5039}
5040pub type X509_SIG = X509_sig_st;
5041#[repr(C)]
5042#[derive(Debug)]
5043pub struct bignum_ctx {
5044 _unused: [u8; 0],
5045}
5046pub type BN_CTX = bignum_ctx;
5047pub type BIGNUM = bignum_st;
5048#[repr(C)]
5049#[derive(Debug)]
5050pub struct bio_method_st {
5051 _unused: [u8; 0],
5052}
5053pub type BIO_METHOD = bio_method_st;
5054#[repr(C)]
5055#[derive(Debug)]
5056pub struct bio_st {
5057 _unused: [u8; 0],
5058}
5059pub type BIO = bio_st;
5060pub type BLAKE2B_CTX = blake2b_state_st;
5061pub type BN_GENCB = bn_gencb_st;
5062#[repr(C)]
5063#[derive(Debug)]
5064pub struct bn_mont_ctx_st {
5065 _unused: [u8; 0],
5066}
5067pub type BN_MONT_CTX = bn_mont_ctx_st;
5068pub type BUF_MEM = buf_mem_st;
5069pub type CBB = cbb_st;
5070pub type CBS = cbs_st;
5071#[repr(C)]
5072#[derive(Debug)]
5073pub struct cmac_ctx_st {
5074 _unused: [u8; 0],
5075}
5076pub type CMAC_CTX = cmac_ctx_st;
5077#[repr(C)]
5078#[derive(Debug)]
5079pub struct conf_st {
5080 _unused: [u8; 0],
5081}
5082pub type CONF = conf_st;
5083pub type CONF_VALUE = conf_value_st;
5084#[repr(C)]
5085#[derive(Debug)]
5086pub struct crypto_buffer_pool_st {
5087 _unused: [u8; 0],
5088}
5089pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
5090#[repr(C)]
5091#[derive(Debug)]
5092pub struct crypto_buffer_st {
5093 _unused: [u8; 0],
5094}
5095pub type CRYPTO_BUFFER = crypto_buffer_st;
5096pub type CRYPTO_IVEC = crypto_ivec_st;
5097pub type CRYPTO_IOVEC = crypto_iovec_st;
5098#[repr(C)]
5099#[derive(Debug)]
5100pub struct ctr_drbg_state_st {
5101 _unused: [u8; 0],
5102}
5103pub type CTR_DRBG_STATE = ctr_drbg_state_st;
5104#[repr(C)]
5105#[derive(Debug)]
5106pub struct dh_st {
5107 _unused: [u8; 0],
5108}
5109pub type DH = dh_st;
5110#[repr(C)]
5111#[derive(Debug)]
5112pub struct dsa_st {
5113 _unused: [u8; 0],
5114}
5115pub type DSA = dsa_st;
5116#[repr(C)]
5117#[derive(Debug)]
5118pub struct ec_group_st {
5119 _unused: [u8; 0],
5120}
5121pub type EC_GROUP = ec_group_st;
5122#[repr(C)]
5123#[derive(Debug)]
5124pub struct ec_key_st {
5125 _unused: [u8; 0],
5126}
5127pub type EC_KEY = ec_key_st;
5128#[repr(C)]
5129#[derive(Debug)]
5130pub struct ec_point_st {
5131 _unused: [u8; 0],
5132}
5133pub type EC_POINT = ec_point_st;
5134pub type ECDSA_METHOD = ecdsa_method_st;
5135pub type ECDSA_SIG = ecdsa_sig_st;
5136#[repr(C)]
5137#[derive(Debug)]
5138pub struct engine_st {
5139 _unused: [u8; 0],
5140}
5141pub type ENGINE = engine_st;
5142pub type EVP_MD_CTX = env_md_ctx_st;
5143#[repr(C)]
5144#[derive(Debug)]
5145pub struct env_md_st {
5146 _unused: [u8; 0],
5147}
5148pub type EVP_MD = env_md_st;
5149#[repr(C)]
5150#[derive(Debug)]
5151pub struct evp_aead_st {
5152 _unused: [u8; 0],
5153}
5154pub type EVP_AEAD = evp_aead_st;
5155pub type EVP_AEAD_CTX = evp_aead_ctx_st;
5156pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
5157#[repr(C)]
5158#[derive(Debug)]
5159pub struct evp_cipher_st {
5160 _unused: [u8; 0],
5161}
5162pub type EVP_CIPHER = evp_cipher_st;
5163pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
5164#[repr(C)]
5165#[derive(Debug)]
5166pub struct evp_hpke_aead_st {
5167 _unused: [u8; 0],
5168}
5169pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
5170pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
5171#[repr(C)]
5172#[derive(Debug)]
5173pub struct evp_hpke_kdf_st {
5174 _unused: [u8; 0],
5175}
5176pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
5177#[repr(C)]
5178#[derive(Debug)]
5179pub struct evp_hpke_kem_st {
5180 _unused: [u8; 0],
5181}
5182pub type EVP_HPKE_KEM = evp_hpke_kem_st;
5183pub type EVP_HPKE_KEY = evp_hpke_key_st;
5184#[repr(C)]
5185#[derive(Debug)]
5186pub struct evp_kem_st {
5187 _unused: [u8; 0],
5188}
5189pub type EVP_KEM = evp_kem_st;
5190#[repr(C)]
5191#[derive(Debug)]
5192pub struct evp_pkey_alg_st {
5193 _unused: [u8; 0],
5194}
5195pub type EVP_PKEY_ALG = evp_pkey_alg_st;
5196#[repr(C)]
5197#[derive(Debug)]
5198pub struct evp_pkey_ctx_st {
5199 _unused: [u8; 0],
5200}
5201pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
5202#[repr(C)]
5203#[derive(Debug)]
5204pub struct evp_pkey_st {
5205 _unused: [u8; 0],
5206}
5207pub type EVP_PKEY = evp_pkey_st;
5208pub type HMAC_CTX = hmac_ctx_st;
5209pub type MD4_CTX = md4_state_st;
5210pub type MD5_CTX = md5_state_st;
5211#[repr(C)]
5212#[derive(Debug)]
5213pub struct ossl_init_settings_st {
5214 _unused: [u8; 0],
5215}
5216pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
5217#[repr(C)]
5218#[derive(Debug)]
5219pub struct ossl_lib_ctx_st {
5220 _unused: [u8; 0],
5221}
5222pub type OSSL_LIB_CTX = ossl_lib_ctx_st;
5223#[repr(C)]
5224#[derive(Debug)]
5225pub struct ossl_param_st {
5226 _unused: [u8; 0],
5227}
5228pub type OSSL_PARAM = ossl_param_st;
5229#[repr(C)]
5230#[derive(Debug)]
5231pub struct pkcs12_st {
5232 _unused: [u8; 0],
5233}
5234pub type PKCS12 = pkcs12_st;
5235#[repr(C)]
5236#[derive(Debug)]
5237pub struct pkcs8_priv_key_info_st {
5238 _unused: [u8; 0],
5239}
5240pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
5241pub type X509_PKEY = private_key_st;
5242pub type RAND_METHOD = rand_meth_st;
5243pub type RC4_KEY = rc4_key_st;
5244pub type RSA_METHOD = rsa_meth_st;
5245pub type RSA_PSS_PARAMS = rsa_pss_params_st;
5246#[repr(C)]
5247#[derive(Debug)]
5248pub struct rsa_st {
5249 _unused: [u8; 0],
5250}
5251pub type RSA = rsa_st;
5252pub type SHA256_CTX = sha256_state_st;
5253pub type SHA512_CTX = sha512_state_st;
5254pub type SHA_CTX = sha_state_st;
5255#[repr(C)]
5256#[derive(Debug)]
5257pub struct spake2_ctx_st {
5258 _unused: [u8; 0],
5259}
5260pub type SPAKE2_CTX = spake2_ctx_st;
5261pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
5262#[repr(C)]
5263#[derive(Debug)]
5264pub struct ssl_cipher_st {
5265 _unused: [u8; 0],
5266}
5267pub type SSL_CIPHER = ssl_cipher_st;
5268#[repr(C)]
5269#[derive(Debug)]
5270pub struct ssl_credential_st {
5271 _unused: [u8; 0],
5272}
5273pub type SSL_CREDENTIAL = ssl_credential_st;
5274#[repr(C)]
5275#[derive(Debug)]
5276pub struct ssl_ctx_st {
5277 _unused: [u8; 0],
5278}
5279pub type SSL_CTX = ssl_ctx_st;
5280pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
5281#[repr(C)]
5282#[derive(Debug)]
5283pub struct ssl_ech_keys_st {
5284 _unused: [u8; 0],
5285}
5286pub type SSL_ECH_KEYS = ssl_ech_keys_st;
5287#[repr(C)]
5288#[derive(Debug)]
5289pub struct ssl_method_st {
5290 _unused: [u8; 0],
5291}
5292pub type SSL_METHOD = ssl_method_st;
5293pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
5294pub type SSL_QUIC_METHOD = ssl_quic_method_st;
5295#[repr(C)]
5296#[derive(Debug)]
5297pub struct ssl_session_st {
5298 _unused: [u8; 0],
5299}
5300pub type SSL_SESSION = ssl_session_st;
5301#[repr(C)]
5302#[derive(Debug)]
5303pub struct ssl_st {
5304 _unused: [u8; 0],
5305}
5306pub type SSL = ssl_st;
5307pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
5308#[repr(C)]
5309#[derive(Debug)]
5310pub struct st_ERR_FNS {
5311 _unused: [u8; 0],
5312}
5313pub type ERR_FNS = st_ERR_FNS;
5314pub type TRUST_TOKEN = trust_token_st;
5315#[repr(C)]
5316#[derive(Debug)]
5317pub struct trust_token_client_st {
5318 _unused: [u8; 0],
5319}
5320pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
5321#[repr(C)]
5322#[derive(Debug)]
5323pub struct trust_token_issuer_st {
5324 _unused: [u8; 0],
5325}
5326pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
5327#[repr(C)]
5328#[derive(Debug)]
5329pub struct trust_token_method_st {
5330 _unused: [u8; 0],
5331}
5332pub type TRUST_TOKEN_METHOD = trust_token_method_st;
5333pub type X509V3_CTX = v3_ext_ctx;
5334pub type X509V3_EXT_METHOD = v3_ext_method;
5335#[repr(C)]
5336#[derive(Debug)]
5337pub struct x509_attributes_st {
5338 _unused: [u8; 0],
5339}
5340pub type X509_ATTRIBUTE = x509_attributes_st;
5341#[repr(C)]
5342#[derive(Debug)]
5343pub struct x509_lookup_st {
5344 _unused: [u8; 0],
5345}
5346pub type X509_LOOKUP = x509_lookup_st;
5347#[repr(C)]
5348#[derive(Debug)]
5349pub struct x509_lookup_method_st {
5350 _unused: [u8; 0],
5351}
5352pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
5353#[repr(C)]
5354#[derive(Debug)]
5355pub struct x509_object_st {
5356 _unused: [u8; 0],
5357}
5358pub type X509_OBJECT = x509_object_st;
5359#[repr(C)]
5360#[derive(Debug)]
5361pub struct x509_purpose_st {
5362 _unused: [u8; 0],
5363}
5364pub type X509_PURPOSE = x509_purpose_st;
5365#[repr(C)]
5366#[derive(Debug)]
5367pub struct x509_revoked_st {
5368 _unused: [u8; 0],
5369}
5370pub type X509_REVOKED = x509_revoked_st;
5371#[repr(C)]
5372#[derive(Debug)]
5373pub struct x509_st {
5374 _unused: [u8; 0],
5375}
5376pub type X509 = x509_st;
5377#[repr(C)]
5378#[derive(Debug)]
5379pub struct x509_store_ctx_st {
5380 _unused: [u8; 0],
5381}
5382pub type X509_STORE_CTX = x509_store_ctx_st;
5383#[repr(C)]
5384#[derive(Debug)]
5385pub struct x509_store_st {
5386 _unused: [u8; 0],
5387}
5388pub type X509_STORE = x509_store_st;
5389pub type OPENSSL_BLOCK = *mut ::core::ffi::c_void;
5390#[repr(C)]
5391#[derive(Debug, Copy, Clone)]
5392pub struct aes_key_st {
5393 pub rd_key: [u32; 60usize],
5394 pub rounds: ::core::ffi::c_uint,
5395}
5396pub type AES_KEY = aes_key_st;
5397unsafe extern "C" {
5398 pub fn AES_set_encrypt_key(
5399 key: *const u8,
5400 bits: ::core::ffi::c_uint,
5401 aeskey: *mut AES_KEY,
5402 ) -> ::core::ffi::c_int;
5403}
5404unsafe extern "C" {
5405 pub fn AES_set_decrypt_key(
5406 key: *const u8,
5407 bits: ::core::ffi::c_uint,
5408 aeskey: *mut AES_KEY,
5409 ) -> ::core::ffi::c_int;
5410}
5411unsafe extern "C" {
5412 pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5413}
5414unsafe extern "C" {
5415 pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
5416}
5417unsafe extern "C" {
5418 pub fn AES_ctr128_encrypt(
5419 in_: *const u8,
5420 out: *mut u8,
5421 len: usize,
5422 key: *const AES_KEY,
5423 ivec: *mut u8,
5424 ecount_buf: *mut u8,
5425 num: *mut ::core::ffi::c_uint,
5426 );
5427}
5428unsafe extern "C" {
5429 pub fn AES_ecb_encrypt(
5430 in_: *const u8,
5431 out: *mut u8,
5432 key: *const AES_KEY,
5433 enc: ::core::ffi::c_int,
5434 );
5435}
5436unsafe extern "C" {
5437 pub fn AES_cbc_encrypt(
5438 in_: *const u8,
5439 out: *mut u8,
5440 len: usize,
5441 key: *const AES_KEY,
5442 ivec: *mut u8,
5443 enc: ::core::ffi::c_int,
5444 );
5445}
5446unsafe extern "C" {
5447 pub fn AES_ofb128_encrypt(
5448 in_: *const u8,
5449 out: *mut u8,
5450 len: usize,
5451 key: *const AES_KEY,
5452 ivec: *mut u8,
5453 num: *mut ::core::ffi::c_int,
5454 );
5455}
5456unsafe extern "C" {
5457 pub fn AES_cfb128_encrypt(
5458 in_: *const u8,
5459 out: *mut u8,
5460 len: usize,
5461 key: *const AES_KEY,
5462 ivec: *mut u8,
5463 num: *mut ::core::ffi::c_int,
5464 enc: ::core::ffi::c_int,
5465 );
5466}
5467unsafe extern "C" {
5468 pub fn AES_wrap_key(
5469 key: *const AES_KEY,
5470 iv: *const u8,
5471 out: *mut u8,
5472 in_: *const u8,
5473 in_len: usize,
5474 ) -> ::core::ffi::c_int;
5475}
5476unsafe extern "C" {
5477 pub fn AES_unwrap_key(
5478 key: *const AES_KEY,
5479 iv: *const u8,
5480 out: *mut u8,
5481 in_: *const u8,
5482 in_len: usize,
5483 ) -> ::core::ffi::c_int;
5484}
5485unsafe extern "C" {
5486 pub fn AES_wrap_key_padded(
5487 key: *const AES_KEY,
5488 out: *mut u8,
5489 out_len: *mut usize,
5490 max_out: usize,
5491 in_: *const u8,
5492 in_len: usize,
5493 ) -> ::core::ffi::c_int;
5494}
5495unsafe extern "C" {
5496 pub fn AES_unwrap_key_padded(
5497 key: *const AES_KEY,
5498 out: *mut u8,
5499 out_len: *mut usize,
5500 max_out: usize,
5501 in_: *const u8,
5502 in_len: usize,
5503 ) -> ::core::ffi::c_int;
5504}
5505#[repr(C)]
5506#[derive(Debug, Copy, Clone)]
5507pub struct tm {
5508 pub tm_sec: ::core::ffi::c_int,
5509 pub tm_min: ::core::ffi::c_int,
5510 pub tm_hour: ::core::ffi::c_int,
5511 pub tm_mday: ::core::ffi::c_int,
5512 pub tm_mon: ::core::ffi::c_int,
5513 pub tm_year: ::core::ffi::c_int,
5514 pub tm_wday: ::core::ffi::c_int,
5515 pub tm_yday: ::core::ffi::c_int,
5516 pub tm_isdst: ::core::ffi::c_int,
5517 pub tm_gmtoff: ::core::ffi::c_long,
5518 pub tm_zone: *const ::core::ffi::c_char,
5519}
5520pub type __gnuc_va_list = __builtin_va_list;
5521pub type FILE = _IO_FILE;
5522#[repr(C)]
5523#[derive(Debug)]
5524pub struct _IO_marker {
5525 _unused: [u8; 0],
5526}
5527#[repr(C)]
5528#[derive(Debug)]
5529pub struct _IO_codecvt {
5530 _unused: [u8; 0],
5531}
5532#[repr(C)]
5533#[derive(Debug)]
5534pub struct _IO_wide_data {
5535 _unused: [u8; 0],
5536}
5537pub type _IO_lock_t = ::core::ffi::c_void;
5538#[repr(C)]
5539#[derive(Debug, Copy, Clone)]
5540pub struct _IO_FILE {
5541 pub _flags: ::core::ffi::c_int,
5542 pub _IO_read_ptr: *mut ::core::ffi::c_char,
5543 pub _IO_read_end: *mut ::core::ffi::c_char,
5544 pub _IO_read_base: *mut ::core::ffi::c_char,
5545 pub _IO_write_base: *mut ::core::ffi::c_char,
5546 pub _IO_write_ptr: *mut ::core::ffi::c_char,
5547 pub _IO_write_end: *mut ::core::ffi::c_char,
5548 pub _IO_buf_base: *mut ::core::ffi::c_char,
5549 pub _IO_buf_end: *mut ::core::ffi::c_char,
5550 pub _IO_save_base: *mut ::core::ffi::c_char,
5551 pub _IO_backup_base: *mut ::core::ffi::c_char,
5552 pub _IO_save_end: *mut ::core::ffi::c_char,
5553 pub _markers: *mut _IO_marker,
5554 pub _chain: *mut _IO_FILE,
5555 pub _fileno: ::core::ffi::c_int,
5556 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
5557 pub _short_backupbuf: [::core::ffi::c_char; 1usize],
5558 pub _old_offset: __off_t,
5559 pub _cur_column: ::core::ffi::c_ushort,
5560 pub _vtable_offset: ::core::ffi::c_schar,
5561 pub _shortbuf: [::core::ffi::c_char; 1usize],
5562 pub _lock: *mut _IO_lock_t,
5563 pub _offset: __off64_t,
5564 pub _codecvt: *mut _IO_codecvt,
5565 pub _wide_data: *mut _IO_wide_data,
5566 pub _freeres_list: *mut _IO_FILE,
5567 pub _freeres_buf: *mut ::core::ffi::c_void,
5568 pub _prevchain: *mut *mut _IO_FILE,
5569 pub _mode: ::core::ffi::c_int,
5570 pub _unused3: ::core::ffi::c_int,
5571 pub _total_written: __uint64_t,
5572 pub _unused2: [::core::ffi::c_char; 8usize],
5573}
5574impl _IO_FILE {
5575 #[inline]
5576 pub fn _flags2(&self) -> ::core::ffi::c_int {
5577 self._bitfield_1.get_const::<0usize, 24u8>() as u32 as _
5578 }
5579 #[inline]
5580 pub fn set__flags2(&mut self, val: ::core::ffi::c_int) {
5581 let val: u32 = val as _;
5582 self._bitfield_1.set_const::<0usize, 24u8>(val as u64)
5583 }
5584 #[inline]
5585 pub unsafe fn _flags2_raw(this: *const Self) -> ::core::ffi::c_int {
5586 unsafe {
5587 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get_const::<0usize, 24u8>(
5588 ::core::ptr::addr_of!((*this)._bitfield_1),
5589 ) as u32 as _
5590 }
5591 }
5592 #[inline]
5593 pub unsafe fn set__flags2_raw(this: *mut Self, val: ::core::ffi::c_int) {
5594 unsafe {
5595 let val: u32 = val as _;
5596 <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set_const::<0usize, 24u8>(
5597 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
5598 val as u64,
5599 )
5600 }
5601 }
5602 #[inline]
5603 pub fn new_bitfield_1(_flags2: ::core::ffi::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> {
5604 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
5605 __bindgen_bitfield_unit.set_const::<0usize, 24u8>({
5606 let _flags2: u32 = _flags2 as _;
5607 _flags2 as u64
5608 });
5609 __bindgen_bitfield_unit
5610 }
5611}
5612pub type va_list = __gnuc_va_list;
5613#[repr(C)]
5614#[derive(Debug, Copy, Clone)]
5615pub struct buf_mem_st {
5616 pub length: usize,
5617 pub data: *mut ::core::ffi::c_char,
5618 pub max: usize,
5619}
5620unsafe extern "C" {
5621 pub fn BUF_MEM_new() -> *mut BUF_MEM;
5622}
5623unsafe extern "C" {
5624 pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5625}
5626unsafe extern "C" {
5627 pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::core::ffi::c_int;
5628}
5629unsafe extern "C" {
5630 pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5631}
5632unsafe extern "C" {
5633 pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5634}
5635unsafe extern "C" {
5636 pub fn BUF_MEM_append(
5637 buf: *mut BUF_MEM,
5638 in_: *const ::core::ffi::c_void,
5639 len: usize,
5640 ) -> ::core::ffi::c_int;
5641}
5642unsafe extern "C" {
5643 pub fn BUF_strdup(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
5644}
5645unsafe extern "C" {
5646 pub fn BUF_strnlen(str_: *const ::core::ffi::c_char, max_len: usize) -> usize;
5647}
5648unsafe extern "C" {
5649 pub fn BUF_strndup(str_: *const ::core::ffi::c_char, size: usize) -> *mut ::core::ffi::c_char;
5650}
5651unsafe extern "C" {
5652 pub fn BUF_memdup(data: *const ::core::ffi::c_void, size: usize) -> *mut ::core::ffi::c_void;
5653}
5654unsafe extern "C" {
5655 pub fn BUF_strlcpy(
5656 dst: *mut ::core::ffi::c_char,
5657 src: *const ::core::ffi::c_char,
5658 dst_size: usize,
5659 ) -> usize;
5660}
5661unsafe extern "C" {
5662 pub fn BUF_strlcat(
5663 dst: *mut ::core::ffi::c_char,
5664 src: *const ::core::ffi::c_char,
5665 dst_size: usize,
5666 ) -> usize;
5667}
5668unsafe extern "C" {
5669 #[link_name = "ERR_GET_LIB__extern"]
5670 pub fn ERR_GET_LIB(packed_error: u32) -> ::core::ffi::c_int;
5671}
5672unsafe extern "C" {
5673 #[link_name = "ERR_GET_REASON__extern"]
5674 pub fn ERR_GET_REASON(packed_error: u32) -> ::core::ffi::c_int;
5675}
5676unsafe extern "C" {
5677 #[link_name = "ERR_equals__extern"]
5678 pub fn ERR_equals(
5679 packed_error: u32,
5680 lib: ::core::ffi::c_int,
5681 reason: ::core::ffi::c_int,
5682 ) -> ::core::ffi::c_int;
5683}
5684unsafe extern "C" {
5685 pub fn ERR_get_error() -> u32;
5686}
5687unsafe extern "C" {
5688 pub fn ERR_get_error_line(
5689 file: *mut *const ::core::ffi::c_char,
5690 line: *mut ::core::ffi::c_int,
5691 ) -> u32;
5692}
5693unsafe extern "C" {
5694 pub fn ERR_get_error_line_data(
5695 file: *mut *const ::core::ffi::c_char,
5696 line: *mut ::core::ffi::c_int,
5697 data: *mut *const ::core::ffi::c_char,
5698 flags: *mut ::core::ffi::c_int,
5699 ) -> u32;
5700}
5701unsafe extern "C" {
5702 pub fn ERR_peek_error() -> u32;
5703}
5704unsafe extern "C" {
5705 pub fn ERR_peek_error_line(
5706 file: *mut *const ::core::ffi::c_char,
5707 line: *mut ::core::ffi::c_int,
5708 ) -> u32;
5709}
5710unsafe extern "C" {
5711 pub fn ERR_peek_error_line_data(
5712 file: *mut *const ::core::ffi::c_char,
5713 line: *mut ::core::ffi::c_int,
5714 data: *mut *const ::core::ffi::c_char,
5715 flags: *mut ::core::ffi::c_int,
5716 ) -> u32;
5717}
5718unsafe extern "C" {
5719 pub fn ERR_peek_last_error() -> u32;
5720}
5721unsafe extern "C" {
5722 pub fn ERR_peek_last_error_line(
5723 file: *mut *const ::core::ffi::c_char,
5724 line: *mut ::core::ffi::c_int,
5725 ) -> u32;
5726}
5727unsafe extern "C" {
5728 pub fn ERR_peek_last_error_line_data(
5729 file: *mut *const ::core::ffi::c_char,
5730 line: *mut ::core::ffi::c_int,
5731 data: *mut *const ::core::ffi::c_char,
5732 flags: *mut ::core::ffi::c_int,
5733 ) -> u32;
5734}
5735unsafe extern "C" {
5736 pub fn ERR_error_string_n(
5737 packed_error: u32,
5738 buf: *mut ::core::ffi::c_char,
5739 len: usize,
5740 ) -> *mut ::core::ffi::c_char;
5741}
5742unsafe extern "C" {
5743 pub fn ERR_lib_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5744}
5745unsafe extern "C" {
5746 pub fn ERR_reason_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5747}
5748unsafe extern "C" {
5749 pub fn ERR_lib_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5750}
5751unsafe extern "C" {
5752 pub fn ERR_reason_symbol_name(packed_error: u32) -> *const ::core::ffi::c_char;
5753}
5754pub type ERR_print_errors_callback_t = ::core::option::Option<
5755 unsafe extern "C" fn(
5756 str_: *const ::core::ffi::c_char,
5757 len: usize,
5758 ctx: *mut ::core::ffi::c_void,
5759 ) -> ::core::ffi::c_int,
5760>;
5761unsafe extern "C" {
5762 pub fn ERR_print_errors_cb(
5763 callback: ERR_print_errors_callback_t,
5764 ctx: *mut ::core::ffi::c_void,
5765 );
5766}
5767unsafe extern "C" {
5768 pub fn ERR_print_errors_fp(file: *mut FILE);
5769}
5770unsafe extern "C" {
5771 pub fn ERR_clear_error();
5772}
5773unsafe extern "C" {
5774 pub fn ERR_set_mark() -> ::core::ffi::c_int;
5775}
5776unsafe extern "C" {
5777 pub fn ERR_pop_to_mark() -> ::core::ffi::c_int;
5778}
5779unsafe extern "C" {
5780 pub fn ERR_get_next_error_library() -> ::core::ffi::c_int;
5781}
5782pub const ERR_LIB_NONE: _bindgen_ty_1 = 1;
5783pub const ERR_LIB_SYS: _bindgen_ty_1 = 2;
5784pub const ERR_LIB_BN: _bindgen_ty_1 = 3;
5785pub const ERR_LIB_RSA: _bindgen_ty_1 = 4;
5786pub const ERR_LIB_DH: _bindgen_ty_1 = 5;
5787pub const ERR_LIB_EVP: _bindgen_ty_1 = 6;
5788pub const ERR_LIB_BUF: _bindgen_ty_1 = 7;
5789pub const ERR_LIB_OBJ: _bindgen_ty_1 = 8;
5790pub const ERR_LIB_PEM: _bindgen_ty_1 = 9;
5791pub const ERR_LIB_DSA: _bindgen_ty_1 = 10;
5792pub const ERR_LIB_X509: _bindgen_ty_1 = 11;
5793pub const ERR_LIB_ASN1: _bindgen_ty_1 = 12;
5794pub const ERR_LIB_CONF: _bindgen_ty_1 = 13;
5795pub const ERR_LIB_CRYPTO: _bindgen_ty_1 = 14;
5796pub const ERR_LIB_EC: _bindgen_ty_1 = 15;
5797pub const ERR_LIB_SSL: _bindgen_ty_1 = 16;
5798pub const ERR_LIB_BIO: _bindgen_ty_1 = 17;
5799pub const ERR_LIB_PKCS7: _bindgen_ty_1 = 18;
5800pub const ERR_LIB_PKCS8: _bindgen_ty_1 = 19;
5801pub const ERR_LIB_X509V3: _bindgen_ty_1 = 20;
5802pub const ERR_LIB_RAND: _bindgen_ty_1 = 21;
5803pub const ERR_LIB_ENGINE: _bindgen_ty_1 = 22;
5804pub const ERR_LIB_OCSP: _bindgen_ty_1 = 23;
5805pub const ERR_LIB_UI: _bindgen_ty_1 = 24;
5806pub const ERR_LIB_COMP: _bindgen_ty_1 = 25;
5807pub const ERR_LIB_ECDSA: _bindgen_ty_1 = 26;
5808pub const ERR_LIB_ECDH: _bindgen_ty_1 = 27;
5809pub const ERR_LIB_HMAC: _bindgen_ty_1 = 28;
5810pub const ERR_LIB_DIGEST: _bindgen_ty_1 = 29;
5811pub const ERR_LIB_CIPHER: _bindgen_ty_1 = 30;
5812pub const ERR_LIB_HKDF: _bindgen_ty_1 = 31;
5813pub const ERR_LIB_TRUST_TOKEN: _bindgen_ty_1 = 32;
5814pub const ERR_LIB_CMS: _bindgen_ty_1 = 33;
5815pub const ERR_LIB_USER: _bindgen_ty_1 = 34;
5816pub const ERR_NUM_LIBS: _bindgen_ty_1 = 35;
5817pub type _bindgen_ty_1 = ::core::ffi::c_uint;
5818unsafe extern "C" {
5819 pub fn ERR_load_BIO_strings();
5820}
5821unsafe extern "C" {
5822 pub fn ERR_load_ERR_strings();
5823}
5824unsafe extern "C" {
5825 pub fn ERR_load_crypto_strings();
5826}
5827unsafe extern "C" {
5828 pub fn ERR_load_RAND_strings();
5829}
5830unsafe extern "C" {
5831 pub fn ERR_free_strings();
5832}
5833unsafe extern "C" {
5834 pub fn ERR_remove_state(pid: ::core::ffi::c_ulong);
5835}
5836unsafe extern "C" {
5837 pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
5838}
5839unsafe extern "C" {
5840 pub fn ERR_func_error_string(packed_error: u32) -> *const ::core::ffi::c_char;
5841}
5842unsafe extern "C" {
5843 pub fn ERR_error_string(
5844 packed_error: u32,
5845 buf: *mut ::core::ffi::c_char,
5846 ) -> *mut ::core::ffi::c_char;
5847}
5848unsafe extern "C" {
5849 #[link_name = "ERR_GET_FUNC__extern"]
5850 pub fn ERR_GET_FUNC(packed_error: u32) -> ::core::ffi::c_int;
5851}
5852unsafe extern "C" {
5853 pub fn ERR_clear_system_error();
5854}
5855unsafe extern "C" {
5856 pub fn ERR_put_error(
5857 library: ::core::ffi::c_int,
5858 unused: ::core::ffi::c_int,
5859 reason: ::core::ffi::c_int,
5860 file: *const ::core::ffi::c_char,
5861 line: ::core::ffi::c_uint,
5862 );
5863}
5864unsafe extern "C" {
5865 pub fn ERR_add_error_data(count: ::core::ffi::c_uint, ...);
5866}
5867unsafe extern "C" {
5868 pub fn ERR_add_error_dataf(format: *const ::core::ffi::c_char, ...);
5869}
5870unsafe extern "C" {
5871 pub fn ERR_set_error_data(data: *mut ::core::ffi::c_char, flags: ::core::ffi::c_int);
5872}
5873#[repr(C)]
5874#[derive(Debug)]
5875pub struct crypto_ex_data_st {
5876 _unused: [u8; 0],
5877}
5878pub type CRYPTO_EX_DATA = crypto_ex_data_st;
5879pub type CRYPTO_EX_free = ::core::option::Option<
5880 unsafe extern "C" fn(
5881 parent: *mut ::core::ffi::c_void,
5882 ptr: *mut ::core::ffi::c_void,
5883 ad: *mut CRYPTO_EX_DATA,
5884 index: ::core::ffi::c_int,
5885 argl: ::core::ffi::c_long,
5886 argp: *mut ::core::ffi::c_void,
5887 ),
5888>;
5889unsafe extern "C" {
5890 pub fn CRYPTO_cleanup_all_ex_data();
5891}
5892pub type CRYPTO_EX_dup = ::core::option::Option<
5893 unsafe extern "C" fn(
5894 to: *mut CRYPTO_EX_DATA,
5895 from: *const CRYPTO_EX_DATA,
5896 from_d: *mut *mut ::core::ffi::c_void,
5897 index: ::core::ffi::c_int,
5898 argl: ::core::ffi::c_long,
5899 argp: *mut ::core::ffi::c_void,
5900 ) -> ::core::ffi::c_int,
5901>;
5902pub type CRYPTO_EX_unused = ::core::ffi::c_int;
5903pub type OPENSSL_sk_free_func =
5904 ::core::option::Option<unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void)>;
5905pub type OPENSSL_sk_copy_func = ::core::option::Option<
5906 unsafe extern "C" fn(ptr: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
5907>;
5908pub type OPENSSL_sk_cmp_func = ::core::option::Option<
5909 unsafe extern "C" fn(
5910 a: *const *const ::core::ffi::c_void,
5911 b: *const *const ::core::ffi::c_void,
5912 ) -> ::core::ffi::c_int,
5913>;
5914pub type OPENSSL_sk_delete_if_func = ::core::option::Option<
5915 unsafe extern "C" fn(
5916 obj: *mut ::core::ffi::c_void,
5917 data: *mut ::core::ffi::c_void,
5918 ) -> ::core::ffi::c_int,
5919>;
5920pub type OPENSSL_sk_call_free_func = ::core::option::Option<
5921 unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::core::ffi::c_void),
5922>;
5923pub type OPENSSL_sk_call_copy_func = ::core::option::Option<
5924 unsafe extern "C" fn(
5925 arg1: OPENSSL_sk_copy_func,
5926 arg2: *const ::core::ffi::c_void,
5927 ) -> *mut ::core::ffi::c_void,
5928>;
5929pub type OPENSSL_sk_call_cmp_func = ::core::option::Option<
5930 unsafe extern "C" fn(
5931 arg1: OPENSSL_sk_cmp_func,
5932 arg2: *const ::core::ffi::c_void,
5933 arg3: *const ::core::ffi::c_void,
5934 ) -> ::core::ffi::c_int,
5935>;
5936pub type OPENSSL_sk_call_delete_if_func = ::core::option::Option<
5937 unsafe extern "C" fn(
5938 arg1: OPENSSL_sk_delete_if_func,
5939 arg2: *mut ::core::ffi::c_void,
5940 arg3: *mut ::core::ffi::c_void,
5941 ) -> ::core::ffi::c_int,
5942>;
5943#[repr(C)]
5944#[derive(Debug)]
5945pub struct stack_st {
5946 _unused: [u8; 0],
5947}
5948pub type OPENSSL_STACK = stack_st;
5949unsafe extern "C" {
5950 pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
5951}
5952unsafe extern "C" {
5953 pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
5954}
5955unsafe extern "C" {
5956 pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
5957}
5958unsafe extern "C" {
5959 pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
5960}
5961unsafe extern "C" {
5962 pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
5963}
5964unsafe extern "C" {
5965 pub fn OPENSSL_sk_last(sk: *const OPENSSL_STACK) -> *mut ::core::ffi::c_void;
5966}
5967unsafe extern "C" {
5968 pub fn OPENSSL_sk_set(
5969 sk: *mut OPENSSL_STACK,
5970 i: usize,
5971 p: *mut ::core::ffi::c_void,
5972 ) -> *mut ::core::ffi::c_void;
5973}
5974unsafe extern "C" {
5975 pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
5976}
5977unsafe extern "C" {
5978 pub fn OPENSSL_sk_pop_free_ex(
5979 sk: *mut OPENSSL_STACK,
5980 call_free_func: OPENSSL_sk_call_free_func,
5981 free_func: OPENSSL_sk_free_func,
5982 );
5983}
5984unsafe extern "C" {
5985 pub fn OPENSSL_sk_insert(
5986 sk: *mut OPENSSL_STACK,
5987 p: *mut ::core::ffi::c_void,
5988 where_: usize,
5989 ) -> usize;
5990}
5991unsafe extern "C" {
5992 pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::core::ffi::c_void;
5993}
5994unsafe extern "C" {
5995 pub fn OPENSSL_sk_delete_ptr(
5996 sk: *mut OPENSSL_STACK,
5997 p: *const ::core::ffi::c_void,
5998 ) -> *mut ::core::ffi::c_void;
5999}
6000unsafe extern "C" {
6001 pub fn OPENSSL_sk_delete_if(
6002 sk: *mut OPENSSL_STACK,
6003 call_func: OPENSSL_sk_call_delete_if_func,
6004 func: OPENSSL_sk_delete_if_func,
6005 data: *mut ::core::ffi::c_void,
6006 );
6007}
6008unsafe extern "C" {
6009 pub fn OPENSSL_sk_find(
6010 sk: *const OPENSSL_STACK,
6011 out_index: *mut usize,
6012 p: *const ::core::ffi::c_void,
6013 call_cmp_func: OPENSSL_sk_call_cmp_func,
6014 ) -> ::core::ffi::c_int;
6015}
6016unsafe extern "C" {
6017 pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6018}
6019unsafe extern "C" {
6020 pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
6021}
6022unsafe extern "C" {
6023 pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6024}
6025unsafe extern "C" {
6026 pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6027}
6028unsafe extern "C" {
6029 pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6030}
6031unsafe extern "C" {
6032 pub fn OPENSSL_sk_sort_and_dedup(
6033 sk: *mut OPENSSL_STACK,
6034 call_cmp_func: OPENSSL_sk_call_cmp_func,
6035 call_free_func: OPENSSL_sk_call_free_func,
6036 free_func: OPENSSL_sk_free_func,
6037 );
6038}
6039unsafe extern "C" {
6040 pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::core::ffi::c_int;
6041}
6042unsafe extern "C" {
6043 pub fn OPENSSL_sk_set_cmp_func(
6044 sk: *mut OPENSSL_STACK,
6045 comp: OPENSSL_sk_cmp_func,
6046 ) -> OPENSSL_sk_cmp_func;
6047}
6048unsafe extern "C" {
6049 pub fn OPENSSL_sk_deep_copy(
6050 sk: *const OPENSSL_STACK,
6051 call_copy_func: OPENSSL_sk_call_copy_func,
6052 copy_func: OPENSSL_sk_copy_func,
6053 call_free_func: OPENSSL_sk_call_free_func,
6054 free_func: OPENSSL_sk_free_func,
6055 ) -> *mut OPENSSL_STACK;
6056}
6057pub type _STACK = OPENSSL_STACK;
6058unsafe extern "C" {
6059 pub fn sk_new_null() -> *mut OPENSSL_STACK;
6060}
6061unsafe extern "C" {
6062 pub fn sk_num(sk: *const OPENSSL_STACK) -> usize;
6063}
6064unsafe extern "C" {
6065 pub fn sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::core::ffi::c_void;
6066}
6067unsafe extern "C" {
6068 pub fn sk_free(sk: *mut OPENSSL_STACK);
6069}
6070unsafe extern "C" {
6071 pub fn sk_push(sk: *mut OPENSSL_STACK, p: *mut ::core::ffi::c_void) -> usize;
6072}
6073unsafe extern "C" {
6074 pub fn sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::core::ffi::c_void;
6075}
6076unsafe extern "C" {
6077 pub fn sk_pop_free_ex(
6078 sk: *mut OPENSSL_STACK,
6079 call_free_func: OPENSSL_sk_call_free_func,
6080 free_func: OPENSSL_sk_free_func,
6081 );
6082}
6083unsafe extern "C" {
6084 pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6085}
6086pub type OPENSSL_STRING = *mut ::core::ffi::c_char;
6087#[repr(C)]
6088#[derive(Debug)]
6089pub struct stack_st_void {
6090 _unused: [u8; 0],
6091}
6092pub type sk_void_free_func =
6093 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void)>;
6094pub type sk_void_copy_func = ::core::option::Option<
6095 unsafe extern "C" fn(arg1: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
6096>;
6097pub type sk_void_cmp_func = ::core::option::Option<
6098 unsafe extern "C" fn(
6099 arg1: *const *const ::core::ffi::c_void,
6100 arg2: *const *const ::core::ffi::c_void,
6101 ) -> ::core::ffi::c_int,
6102>;
6103pub type sk_void_delete_if_func = ::core::option::Option<
6104 unsafe extern "C" fn(
6105 arg1: *mut ::core::ffi::c_void,
6106 arg2: *mut ::core::ffi::c_void,
6107 ) -> ::core::ffi::c_int,
6108>;
6109unsafe extern "C" {
6110 #[link_name = "sk_void_call_free_func__extern"]
6111 pub fn sk_void_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6112}
6113unsafe extern "C" {
6114 #[link_name = "sk_void_call_copy_func__extern"]
6115 pub fn sk_void_call_copy_func(
6116 copy_func: OPENSSL_sk_copy_func,
6117 ptr: *const ::core::ffi::c_void,
6118 ) -> *mut ::core::ffi::c_void;
6119}
6120unsafe extern "C" {
6121 #[link_name = "sk_void_call_cmp_func__extern"]
6122 pub fn sk_void_call_cmp_func(
6123 cmp_func: OPENSSL_sk_cmp_func,
6124 a: *const ::core::ffi::c_void,
6125 b: *const ::core::ffi::c_void,
6126 ) -> ::core::ffi::c_int;
6127}
6128unsafe extern "C" {
6129 #[link_name = "sk_void_call_delete_if_func__extern"]
6130 pub fn sk_void_call_delete_if_func(
6131 func: OPENSSL_sk_delete_if_func,
6132 obj: *mut ::core::ffi::c_void,
6133 data: *mut ::core::ffi::c_void,
6134 ) -> ::core::ffi::c_int;
6135}
6136unsafe extern "C" {
6137 #[link_name = "sk_void_new__extern"]
6138 pub fn sk_void_new(comp: sk_void_cmp_func) -> *mut stack_st_void;
6139}
6140unsafe extern "C" {
6141 #[link_name = "sk_void_new_null__extern"]
6142 pub fn sk_void_new_null() -> *mut stack_st_void;
6143}
6144unsafe extern "C" {
6145 #[link_name = "sk_void_num__extern"]
6146 pub fn sk_void_num(sk: *const stack_st_void) -> usize;
6147}
6148unsafe extern "C" {
6149 #[link_name = "sk_void_zero__extern"]
6150 pub fn sk_void_zero(sk: *mut stack_st_void);
6151}
6152unsafe extern "C" {
6153 #[link_name = "sk_void_value__extern"]
6154 pub fn sk_void_value(sk: *const stack_st_void, i: usize) -> *mut ::core::ffi::c_void;
6155}
6156unsafe extern "C" {
6157 #[link_name = "sk_void_last__extern"]
6158 pub fn sk_void_last(sk: *const stack_st_void) -> *mut ::core::ffi::c_void;
6159}
6160unsafe extern "C" {
6161 #[link_name = "sk_void_set__extern"]
6162 pub fn sk_void_set(
6163 sk: *mut stack_st_void,
6164 i: usize,
6165 p: *mut ::core::ffi::c_void,
6166 ) -> *mut ::core::ffi::c_void;
6167}
6168unsafe extern "C" {
6169 #[link_name = "sk_void_free__extern"]
6170 pub fn sk_void_free(sk: *mut stack_st_void);
6171}
6172unsafe extern "C" {
6173 #[link_name = "sk_void_pop_free__extern"]
6174 pub fn sk_void_pop_free(sk: *mut stack_st_void, free_func: sk_void_free_func);
6175}
6176unsafe extern "C" {
6177 #[link_name = "sk_void_insert__extern"]
6178 pub fn sk_void_insert(
6179 sk: *mut stack_st_void,
6180 p: *mut ::core::ffi::c_void,
6181 where_: usize,
6182 ) -> usize;
6183}
6184unsafe extern "C" {
6185 #[link_name = "sk_void_delete__extern"]
6186 pub fn sk_void_delete(sk: *mut stack_st_void, where_: usize) -> *mut ::core::ffi::c_void;
6187}
6188unsafe extern "C" {
6189 #[link_name = "sk_void_delete_ptr__extern"]
6190 pub fn sk_void_delete_ptr(
6191 sk: *mut stack_st_void,
6192 p: *const ::core::ffi::c_void,
6193 ) -> *mut ::core::ffi::c_void;
6194}
6195unsafe extern "C" {
6196 #[link_name = "sk_void_delete_if__extern"]
6197 pub fn sk_void_delete_if(
6198 sk: *mut stack_st_void,
6199 func: sk_void_delete_if_func,
6200 data: *mut ::core::ffi::c_void,
6201 );
6202}
6203unsafe extern "C" {
6204 #[link_name = "sk_void_find__extern"]
6205 pub fn sk_void_find(
6206 sk: *const stack_st_void,
6207 out_index: *mut usize,
6208 p: *const ::core::ffi::c_void,
6209 ) -> ::core::ffi::c_int;
6210}
6211unsafe extern "C" {
6212 #[link_name = "sk_void_shift__extern"]
6213 pub fn sk_void_shift(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6214}
6215unsafe extern "C" {
6216 #[link_name = "sk_void_push__extern"]
6217 pub fn sk_void_push(sk: *mut stack_st_void, p: *mut ::core::ffi::c_void) -> usize;
6218}
6219unsafe extern "C" {
6220 #[link_name = "sk_void_pop__extern"]
6221 pub fn sk_void_pop(sk: *mut stack_st_void) -> *mut ::core::ffi::c_void;
6222}
6223unsafe extern "C" {
6224 #[link_name = "sk_void_dup__extern"]
6225 pub fn sk_void_dup(sk: *const stack_st_void) -> *mut stack_st_void;
6226}
6227unsafe extern "C" {
6228 #[link_name = "sk_void_sort__extern"]
6229 pub fn sk_void_sort(sk: *mut stack_st_void);
6230}
6231unsafe extern "C" {
6232 #[link_name = "sk_void_sort_and_dedup__extern"]
6233 pub fn sk_void_sort_and_dedup(sk: *mut stack_st_void, free_func: sk_void_free_func);
6234}
6235unsafe extern "C" {
6236 #[link_name = "sk_void_is_sorted__extern"]
6237 pub fn sk_void_is_sorted(sk: *const stack_st_void) -> ::core::ffi::c_int;
6238}
6239unsafe extern "C" {
6240 #[link_name = "sk_void_set_cmp_func__extern"]
6241 pub fn sk_void_set_cmp_func(sk: *mut stack_st_void, comp: sk_void_cmp_func)
6242 -> sk_void_cmp_func;
6243}
6244unsafe extern "C" {
6245 #[link_name = "sk_void_deep_copy__extern"]
6246 pub fn sk_void_deep_copy(
6247 sk: *const stack_st_void,
6248 copy_func: sk_void_copy_func,
6249 free_func: sk_void_free_func,
6250 ) -> *mut stack_st_void;
6251}
6252#[repr(C)]
6253#[derive(Debug)]
6254pub struct stack_st_OPENSSL_STRING {
6255 _unused: [u8; 0],
6256}
6257pub type sk_OPENSSL_STRING_free_func =
6258 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::core::ffi::c_char)>;
6259pub type sk_OPENSSL_STRING_copy_func = ::core::option::Option<
6260 unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char,
6261>;
6262pub type sk_OPENSSL_STRING_cmp_func = ::core::option::Option<
6263 unsafe extern "C" fn(
6264 arg1: *const *const ::core::ffi::c_char,
6265 arg2: *const *const ::core::ffi::c_char,
6266 ) -> ::core::ffi::c_int,
6267>;
6268pub type sk_OPENSSL_STRING_delete_if_func = ::core::option::Option<
6269 unsafe extern "C" fn(
6270 arg1: *mut ::core::ffi::c_char,
6271 arg2: *mut ::core::ffi::c_void,
6272 ) -> ::core::ffi::c_int,
6273>;
6274unsafe extern "C" {
6275 #[link_name = "sk_OPENSSL_STRING_call_free_func__extern"]
6276 pub fn sk_OPENSSL_STRING_call_free_func(
6277 free_func: OPENSSL_sk_free_func,
6278 ptr: *mut ::core::ffi::c_void,
6279 );
6280}
6281unsafe extern "C" {
6282 #[link_name = "sk_OPENSSL_STRING_call_copy_func__extern"]
6283 pub fn sk_OPENSSL_STRING_call_copy_func(
6284 copy_func: OPENSSL_sk_copy_func,
6285 ptr: *const ::core::ffi::c_void,
6286 ) -> *mut ::core::ffi::c_void;
6287}
6288unsafe extern "C" {
6289 #[link_name = "sk_OPENSSL_STRING_call_cmp_func__extern"]
6290 pub fn sk_OPENSSL_STRING_call_cmp_func(
6291 cmp_func: OPENSSL_sk_cmp_func,
6292 a: *const ::core::ffi::c_void,
6293 b: *const ::core::ffi::c_void,
6294 ) -> ::core::ffi::c_int;
6295}
6296unsafe extern "C" {
6297 #[link_name = "sk_OPENSSL_STRING_call_delete_if_func__extern"]
6298 pub fn sk_OPENSSL_STRING_call_delete_if_func(
6299 func: OPENSSL_sk_delete_if_func,
6300 obj: *mut ::core::ffi::c_void,
6301 data: *mut ::core::ffi::c_void,
6302 ) -> ::core::ffi::c_int;
6303}
6304unsafe extern "C" {
6305 #[link_name = "sk_OPENSSL_STRING_new__extern"]
6306 pub fn sk_OPENSSL_STRING_new(comp: sk_OPENSSL_STRING_cmp_func) -> *mut stack_st_OPENSSL_STRING;
6307}
6308unsafe extern "C" {
6309 #[link_name = "sk_OPENSSL_STRING_new_null__extern"]
6310 pub fn sk_OPENSSL_STRING_new_null() -> *mut stack_st_OPENSSL_STRING;
6311}
6312unsafe extern "C" {
6313 #[link_name = "sk_OPENSSL_STRING_num__extern"]
6314 pub fn sk_OPENSSL_STRING_num(sk: *const stack_st_OPENSSL_STRING) -> usize;
6315}
6316unsafe extern "C" {
6317 #[link_name = "sk_OPENSSL_STRING_zero__extern"]
6318 pub fn sk_OPENSSL_STRING_zero(sk: *mut stack_st_OPENSSL_STRING);
6319}
6320unsafe extern "C" {
6321 #[link_name = "sk_OPENSSL_STRING_value__extern"]
6322 pub fn sk_OPENSSL_STRING_value(
6323 sk: *const stack_st_OPENSSL_STRING,
6324 i: usize,
6325 ) -> *mut ::core::ffi::c_char;
6326}
6327unsafe extern "C" {
6328 #[link_name = "sk_OPENSSL_STRING_last__extern"]
6329 pub fn sk_OPENSSL_STRING_last(sk: *const stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6330}
6331unsafe extern "C" {
6332 #[link_name = "sk_OPENSSL_STRING_set__extern"]
6333 pub fn sk_OPENSSL_STRING_set(
6334 sk: *mut stack_st_OPENSSL_STRING,
6335 i: usize,
6336 p: *mut ::core::ffi::c_char,
6337 ) -> *mut ::core::ffi::c_char;
6338}
6339unsafe extern "C" {
6340 #[link_name = "sk_OPENSSL_STRING_free__extern"]
6341 pub fn sk_OPENSSL_STRING_free(sk: *mut stack_st_OPENSSL_STRING);
6342}
6343unsafe extern "C" {
6344 #[link_name = "sk_OPENSSL_STRING_pop_free__extern"]
6345 pub fn sk_OPENSSL_STRING_pop_free(
6346 sk: *mut stack_st_OPENSSL_STRING,
6347 free_func: sk_OPENSSL_STRING_free_func,
6348 );
6349}
6350unsafe extern "C" {
6351 #[link_name = "sk_OPENSSL_STRING_insert__extern"]
6352 pub fn sk_OPENSSL_STRING_insert(
6353 sk: *mut stack_st_OPENSSL_STRING,
6354 p: *mut ::core::ffi::c_char,
6355 where_: usize,
6356 ) -> usize;
6357}
6358unsafe extern "C" {
6359 #[link_name = "sk_OPENSSL_STRING_delete__extern"]
6360 pub fn sk_OPENSSL_STRING_delete(
6361 sk: *mut stack_st_OPENSSL_STRING,
6362 where_: usize,
6363 ) -> *mut ::core::ffi::c_char;
6364}
6365unsafe extern "C" {
6366 #[link_name = "sk_OPENSSL_STRING_delete_ptr__extern"]
6367 pub fn sk_OPENSSL_STRING_delete_ptr(
6368 sk: *mut stack_st_OPENSSL_STRING,
6369 p: *const ::core::ffi::c_char,
6370 ) -> *mut ::core::ffi::c_char;
6371}
6372unsafe extern "C" {
6373 #[link_name = "sk_OPENSSL_STRING_delete_if__extern"]
6374 pub fn sk_OPENSSL_STRING_delete_if(
6375 sk: *mut stack_st_OPENSSL_STRING,
6376 func: sk_OPENSSL_STRING_delete_if_func,
6377 data: *mut ::core::ffi::c_void,
6378 );
6379}
6380unsafe extern "C" {
6381 #[link_name = "sk_OPENSSL_STRING_find__extern"]
6382 pub fn sk_OPENSSL_STRING_find(
6383 sk: *const stack_st_OPENSSL_STRING,
6384 out_index: *mut usize,
6385 p: *const ::core::ffi::c_char,
6386 ) -> ::core::ffi::c_int;
6387}
6388unsafe extern "C" {
6389 #[link_name = "sk_OPENSSL_STRING_shift__extern"]
6390 pub fn sk_OPENSSL_STRING_shift(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6391}
6392unsafe extern "C" {
6393 #[link_name = "sk_OPENSSL_STRING_push__extern"]
6394 pub fn sk_OPENSSL_STRING_push(
6395 sk: *mut stack_st_OPENSSL_STRING,
6396 p: *mut ::core::ffi::c_char,
6397 ) -> usize;
6398}
6399unsafe extern "C" {
6400 #[link_name = "sk_OPENSSL_STRING_pop__extern"]
6401 pub fn sk_OPENSSL_STRING_pop(sk: *mut stack_st_OPENSSL_STRING) -> *mut ::core::ffi::c_char;
6402}
6403unsafe extern "C" {
6404 #[link_name = "sk_OPENSSL_STRING_dup__extern"]
6405 pub fn sk_OPENSSL_STRING_dup(
6406 sk: *const stack_st_OPENSSL_STRING,
6407 ) -> *mut stack_st_OPENSSL_STRING;
6408}
6409unsafe extern "C" {
6410 #[link_name = "sk_OPENSSL_STRING_sort__extern"]
6411 pub fn sk_OPENSSL_STRING_sort(sk: *mut stack_st_OPENSSL_STRING);
6412}
6413unsafe extern "C" {
6414 #[link_name = "sk_OPENSSL_STRING_sort_and_dedup__extern"]
6415 pub fn sk_OPENSSL_STRING_sort_and_dedup(
6416 sk: *mut stack_st_OPENSSL_STRING,
6417 free_func: sk_OPENSSL_STRING_free_func,
6418 );
6419}
6420unsafe extern "C" {
6421 #[link_name = "sk_OPENSSL_STRING_is_sorted__extern"]
6422 pub fn sk_OPENSSL_STRING_is_sorted(sk: *const stack_st_OPENSSL_STRING) -> ::core::ffi::c_int;
6423}
6424unsafe extern "C" {
6425 #[link_name = "sk_OPENSSL_STRING_set_cmp_func__extern"]
6426 pub fn sk_OPENSSL_STRING_set_cmp_func(
6427 sk: *mut stack_st_OPENSSL_STRING,
6428 comp: sk_OPENSSL_STRING_cmp_func,
6429 ) -> sk_OPENSSL_STRING_cmp_func;
6430}
6431unsafe extern "C" {
6432 #[link_name = "sk_OPENSSL_STRING_deep_copy__extern"]
6433 pub fn sk_OPENSSL_STRING_deep_copy(
6434 sk: *const stack_st_OPENSSL_STRING,
6435 copy_func: sk_OPENSSL_STRING_copy_func,
6436 free_func: sk_OPENSSL_STRING_free_func,
6437 ) -> *mut stack_st_OPENSSL_STRING;
6438}
6439#[repr(C)]
6440#[derive(Debug)]
6441pub struct stack_st_BIO {
6442 _unused: [u8; 0],
6443}
6444pub type sk_BIO_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6445pub type sk_BIO_copy_func =
6446 ::core::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6447pub type sk_BIO_cmp_func = ::core::option::Option<
6448 unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::core::ffi::c_int,
6449>;
6450pub type sk_BIO_delete_if_func = ::core::option::Option<
6451 unsafe extern "C" fn(arg1: *mut BIO, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
6452>;
6453unsafe extern "C" {
6454 #[link_name = "sk_BIO_call_free_func__extern"]
6455 pub fn sk_BIO_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
6456}
6457unsafe extern "C" {
6458 #[link_name = "sk_BIO_call_copy_func__extern"]
6459 pub fn sk_BIO_call_copy_func(
6460 copy_func: OPENSSL_sk_copy_func,
6461 ptr: *const ::core::ffi::c_void,
6462 ) -> *mut ::core::ffi::c_void;
6463}
6464unsafe extern "C" {
6465 #[link_name = "sk_BIO_call_cmp_func__extern"]
6466 pub fn sk_BIO_call_cmp_func(
6467 cmp_func: OPENSSL_sk_cmp_func,
6468 a: *const ::core::ffi::c_void,
6469 b: *const ::core::ffi::c_void,
6470 ) -> ::core::ffi::c_int;
6471}
6472unsafe extern "C" {
6473 #[link_name = "sk_BIO_call_delete_if_func__extern"]
6474 pub fn sk_BIO_call_delete_if_func(
6475 func: OPENSSL_sk_delete_if_func,
6476 obj: *mut ::core::ffi::c_void,
6477 data: *mut ::core::ffi::c_void,
6478 ) -> ::core::ffi::c_int;
6479}
6480unsafe extern "C" {
6481 #[link_name = "sk_BIO_new__extern"]
6482 pub fn sk_BIO_new(comp: sk_BIO_cmp_func) -> *mut stack_st_BIO;
6483}
6484unsafe extern "C" {
6485 #[link_name = "sk_BIO_new_null__extern"]
6486 pub fn sk_BIO_new_null() -> *mut stack_st_BIO;
6487}
6488unsafe extern "C" {
6489 #[link_name = "sk_BIO_num__extern"]
6490 pub fn sk_BIO_num(sk: *const stack_st_BIO) -> usize;
6491}
6492unsafe extern "C" {
6493 #[link_name = "sk_BIO_zero__extern"]
6494 pub fn sk_BIO_zero(sk: *mut stack_st_BIO);
6495}
6496unsafe extern "C" {
6497 #[link_name = "sk_BIO_value__extern"]
6498 pub fn sk_BIO_value(sk: *const stack_st_BIO, i: usize) -> *mut BIO;
6499}
6500unsafe extern "C" {
6501 #[link_name = "sk_BIO_last__extern"]
6502 pub fn sk_BIO_last(sk: *const stack_st_BIO) -> *mut BIO;
6503}
6504unsafe extern "C" {
6505 #[link_name = "sk_BIO_set__extern"]
6506 pub fn sk_BIO_set(sk: *mut stack_st_BIO, i: usize, p: *mut BIO) -> *mut BIO;
6507}
6508unsafe extern "C" {
6509 #[link_name = "sk_BIO_free__extern"]
6510 pub fn sk_BIO_free(sk: *mut stack_st_BIO);
6511}
6512unsafe extern "C" {
6513 #[link_name = "sk_BIO_pop_free__extern"]
6514 pub fn sk_BIO_pop_free(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6515}
6516unsafe extern "C" {
6517 #[link_name = "sk_BIO_insert__extern"]
6518 pub fn sk_BIO_insert(sk: *mut stack_st_BIO, p: *mut BIO, where_: usize) -> usize;
6519}
6520unsafe extern "C" {
6521 #[link_name = "sk_BIO_delete__extern"]
6522 pub fn sk_BIO_delete(sk: *mut stack_st_BIO, where_: usize) -> *mut BIO;
6523}
6524unsafe extern "C" {
6525 #[link_name = "sk_BIO_delete_ptr__extern"]
6526 pub fn sk_BIO_delete_ptr(sk: *mut stack_st_BIO, p: *const BIO) -> *mut BIO;
6527}
6528unsafe extern "C" {
6529 #[link_name = "sk_BIO_delete_if__extern"]
6530 pub fn sk_BIO_delete_if(
6531 sk: *mut stack_st_BIO,
6532 func: sk_BIO_delete_if_func,
6533 data: *mut ::core::ffi::c_void,
6534 );
6535}
6536unsafe extern "C" {
6537 #[link_name = "sk_BIO_find__extern"]
6538 pub fn sk_BIO_find(
6539 sk: *const stack_st_BIO,
6540 out_index: *mut usize,
6541 p: *const BIO,
6542 ) -> ::core::ffi::c_int;
6543}
6544unsafe extern "C" {
6545 #[link_name = "sk_BIO_shift__extern"]
6546 pub fn sk_BIO_shift(sk: *mut stack_st_BIO) -> *mut BIO;
6547}
6548unsafe extern "C" {
6549 #[link_name = "sk_BIO_push__extern"]
6550 pub fn sk_BIO_push(sk: *mut stack_st_BIO, p: *mut BIO) -> usize;
6551}
6552unsafe extern "C" {
6553 #[link_name = "sk_BIO_pop__extern"]
6554 pub fn sk_BIO_pop(sk: *mut stack_st_BIO) -> *mut BIO;
6555}
6556unsafe extern "C" {
6557 #[link_name = "sk_BIO_dup__extern"]
6558 pub fn sk_BIO_dup(sk: *const stack_st_BIO) -> *mut stack_st_BIO;
6559}
6560unsafe extern "C" {
6561 #[link_name = "sk_BIO_sort__extern"]
6562 pub fn sk_BIO_sort(sk: *mut stack_st_BIO);
6563}
6564unsafe extern "C" {
6565 #[link_name = "sk_BIO_sort_and_dedup__extern"]
6566 pub fn sk_BIO_sort_and_dedup(sk: *mut stack_st_BIO, free_func: sk_BIO_free_func);
6567}
6568unsafe extern "C" {
6569 #[link_name = "sk_BIO_is_sorted__extern"]
6570 pub fn sk_BIO_is_sorted(sk: *const stack_st_BIO) -> ::core::ffi::c_int;
6571}
6572unsafe extern "C" {
6573 #[link_name = "sk_BIO_set_cmp_func__extern"]
6574 pub fn sk_BIO_set_cmp_func(sk: *mut stack_st_BIO, comp: sk_BIO_cmp_func) -> sk_BIO_cmp_func;
6575}
6576unsafe extern "C" {
6577 #[link_name = "sk_BIO_deep_copy__extern"]
6578 pub fn sk_BIO_deep_copy(
6579 sk: *const stack_st_BIO,
6580 copy_func: sk_BIO_copy_func,
6581 free_func: sk_BIO_free_func,
6582 ) -> *mut stack_st_BIO;
6583}
6584unsafe extern "C" {
6585 pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6586}
6587unsafe extern "C" {
6588 pub fn BIO_free(bio: *mut BIO) -> ::core::ffi::c_int;
6589}
6590unsafe extern "C" {
6591 pub fn BIO_vfree(bio: *mut BIO);
6592}
6593unsafe extern "C" {
6594 pub fn BIO_up_ref(bio: *mut BIO) -> ::core::ffi::c_int;
6595}
6596unsafe extern "C" {
6597 pub fn BIO_read(
6598 bio: *mut BIO,
6599 data: *mut ::core::ffi::c_void,
6600 len: ::core::ffi::c_int,
6601 ) -> ::core::ffi::c_int;
6602}
6603unsafe extern "C" {
6604 pub fn BIO_gets(
6605 bio: *mut BIO,
6606 buf: *mut ::core::ffi::c_char,
6607 size: ::core::ffi::c_int,
6608 ) -> ::core::ffi::c_int;
6609}
6610unsafe extern "C" {
6611 pub fn BIO_write_ex(
6612 bio: *mut BIO,
6613 data: *const ::core::ffi::c_void,
6614 len: usize,
6615 out_written: *mut usize,
6616 ) -> ::core::ffi::c_int;
6617}
6618unsafe extern "C" {
6619 pub fn BIO_write(
6620 bio: *mut BIO,
6621 data: *const ::core::ffi::c_void,
6622 len: ::core::ffi::c_int,
6623 ) -> ::core::ffi::c_int;
6624}
6625unsafe extern "C" {
6626 pub fn BIO_write_all(
6627 bio: *mut BIO,
6628 data: *const ::core::ffi::c_void,
6629 len: usize,
6630 ) -> ::core::ffi::c_int;
6631}
6632unsafe extern "C" {
6633 pub fn BIO_puts(bio: *mut BIO, buf: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
6634}
6635unsafe extern "C" {
6636 pub fn BIO_flush(bio: *mut BIO) -> ::core::ffi::c_int;
6637}
6638unsafe extern "C" {
6639 pub fn BIO_ctrl(
6640 bio: *mut BIO,
6641 cmd: ::core::ffi::c_int,
6642 larg: ::core::ffi::c_long,
6643 parg: *mut ::core::ffi::c_void,
6644 ) -> ::core::ffi::c_long;
6645}
6646unsafe extern "C" {
6647 pub fn BIO_ptr_ctrl(
6648 bp: *mut BIO,
6649 cmd: ::core::ffi::c_int,
6650 larg: ::core::ffi::c_long,
6651 ) -> *mut ::core::ffi::c_char;
6652}
6653unsafe extern "C" {
6654 pub fn BIO_int_ctrl(
6655 bp: *mut BIO,
6656 cmd: ::core::ffi::c_int,
6657 larg: ::core::ffi::c_long,
6658 iarg: ::core::ffi::c_int,
6659 ) -> ::core::ffi::c_long;
6660}
6661unsafe extern "C" {
6662 pub fn BIO_reset(bio: *mut BIO) -> ::core::ffi::c_int;
6663}
6664unsafe extern "C" {
6665 pub fn BIO_eof(bio: *mut BIO) -> ::core::ffi::c_int;
6666}
6667unsafe extern "C" {
6668 pub fn BIO_set_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6669}
6670unsafe extern "C" {
6671 pub fn BIO_clear_flags(bio: *mut BIO, flags: ::core::ffi::c_int);
6672}
6673unsafe extern "C" {
6674 pub fn BIO_test_flags(bio: *const BIO, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
6675}
6676unsafe extern "C" {
6677 pub fn BIO_should_read(bio: *const BIO) -> ::core::ffi::c_int;
6678}
6679unsafe extern "C" {
6680 pub fn BIO_should_write(bio: *const BIO) -> ::core::ffi::c_int;
6681}
6682unsafe extern "C" {
6683 pub fn BIO_should_retry(bio: *const BIO) -> ::core::ffi::c_int;
6684}
6685unsafe extern "C" {
6686 pub fn BIO_should_io_special(bio: *const BIO) -> ::core::ffi::c_int;
6687}
6688unsafe extern "C" {
6689 pub fn BIO_get_retry_reason(bio: *const BIO) -> ::core::ffi::c_int;
6690}
6691unsafe extern "C" {
6692 pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::core::ffi::c_int);
6693}
6694unsafe extern "C" {
6695 pub fn BIO_set_retry_read(bio: *mut BIO);
6696}
6697unsafe extern "C" {
6698 pub fn BIO_set_retry_write(bio: *mut BIO);
6699}
6700unsafe extern "C" {
6701 pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::core::ffi::c_int;
6702}
6703unsafe extern "C" {
6704 pub fn BIO_clear_retry_flags(bio: *mut BIO);
6705}
6706unsafe extern "C" {
6707 pub fn BIO_method_type(bio: *const BIO) -> ::core::ffi::c_int;
6708}
6709pub type BIO_info_cb = ::core::option::Option<
6710 unsafe extern "C" fn(
6711 arg1: *mut BIO,
6712 arg2: ::core::ffi::c_int,
6713 arg3: ::core::ffi::c_int,
6714 ) -> ::core::ffi::c_int,
6715>;
6716unsafe extern "C" {
6717 pub fn BIO_callback_ctrl(
6718 bio: *mut BIO,
6719 cmd: ::core::ffi::c_int,
6720 fp: BIO_info_cb,
6721 ) -> ::core::ffi::c_long;
6722}
6723unsafe extern "C" {
6724 pub fn BIO_pending(bio: *const BIO) -> usize;
6725}
6726unsafe extern "C" {
6727 pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6728}
6729unsafe extern "C" {
6730 pub fn BIO_wpending(bio: *const BIO) -> usize;
6731}
6732unsafe extern "C" {
6733 pub fn BIO_set_close(bio: *mut BIO, close_flag: ::core::ffi::c_int) -> ::core::ffi::c_int;
6734}
6735unsafe extern "C" {
6736 pub fn BIO_number_read(bio: *const BIO) -> u64;
6737}
6738unsafe extern "C" {
6739 pub fn BIO_number_written(bio: *const BIO) -> u64;
6740}
6741unsafe extern "C" {
6742 pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6743}
6744unsafe extern "C" {
6745 pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6746}
6747unsafe extern "C" {
6748 pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6749}
6750unsafe extern "C" {
6751 pub fn BIO_find_type(bio: *mut BIO, type_: ::core::ffi::c_int) -> *mut BIO;
6752}
6753unsafe extern "C" {
6754 pub fn BIO_copy_next_retry(bio: *mut BIO);
6755}
6756unsafe extern "C" {
6757 pub fn BIO_printf(bio: *mut BIO, format: *const ::core::ffi::c_char, ...)
6758 -> ::core::ffi::c_int;
6759}
6760unsafe extern "C" {
6761 pub fn BIO_indent(
6762 bio: *mut BIO,
6763 indent: ::core::ffi::c_uint,
6764 max_indent: ::core::ffi::c_uint,
6765 ) -> ::core::ffi::c_int;
6766}
6767unsafe extern "C" {
6768 pub fn BIO_hexdump(
6769 bio: *mut BIO,
6770 data: *const u8,
6771 len: usize,
6772 indent: ::core::ffi::c_uint,
6773 ) -> ::core::ffi::c_int;
6774}
6775unsafe extern "C" {
6776 pub fn ERR_print_errors(bio: *mut BIO);
6777}
6778unsafe extern "C" {
6779 pub fn BIO_read_asn1(
6780 bio: *mut BIO,
6781 out: *mut *mut u8,
6782 out_len: *mut usize,
6783 max_len: usize,
6784 ) -> ::core::ffi::c_int;
6785}
6786unsafe extern "C" {
6787 pub fn BIO_s_mem() -> *const BIO_METHOD;
6788}
6789unsafe extern "C" {
6790 pub fn BIO_new_mem_buf(buf: *const ::core::ffi::c_void, len: ossl_ssize_t) -> *mut BIO;
6791}
6792unsafe extern "C" {
6793 pub fn BIO_mem_contents(
6794 bio: *const BIO,
6795 out_contents: *mut *const u8,
6796 out_len: *mut usize,
6797 ) -> ::core::ffi::c_int;
6798}
6799unsafe extern "C" {
6800 pub fn BIO_get_mem_data(
6801 bio: *mut BIO,
6802 contents: *mut *mut ::core::ffi::c_char,
6803 ) -> ::core::ffi::c_long;
6804}
6805unsafe extern "C" {
6806 pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::core::ffi::c_int;
6807}
6808unsafe extern "C" {
6809 pub fn BIO_set_mem_buf(
6810 bio: *mut BIO,
6811 b: *mut BUF_MEM,
6812 take_ownership: ::core::ffi::c_int,
6813 ) -> ::core::ffi::c_int;
6814}
6815unsafe extern "C" {
6816 pub fn BIO_set_mem_eof_return(
6817 bio: *mut BIO,
6818 eof_value: ::core::ffi::c_int,
6819 ) -> ::core::ffi::c_int;
6820}
6821unsafe extern "C" {
6822 pub fn BIO_s_fd() -> *const BIO_METHOD;
6823}
6824unsafe extern "C" {
6825 pub fn BIO_new_fd(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6826}
6827unsafe extern "C" {
6828 pub fn BIO_set_fd(
6829 bio: *mut BIO,
6830 fd: ::core::ffi::c_int,
6831 close_flag: ::core::ffi::c_int,
6832 ) -> ::core::ffi::c_int;
6833}
6834unsafe extern "C" {
6835 pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
6836}
6837unsafe extern "C" {
6838 pub fn BIO_s_file() -> *const BIO_METHOD;
6839}
6840unsafe extern "C" {
6841 pub fn BIO_new_file(
6842 filename: *const ::core::ffi::c_char,
6843 mode: *const ::core::ffi::c_char,
6844 ) -> *mut BIO;
6845}
6846unsafe extern "C" {
6847 pub fn BIO_new_fp(file: *mut FILE, flags: ::core::ffi::c_int) -> *mut BIO;
6848}
6849unsafe extern "C" {
6850 pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::core::ffi::c_int;
6851}
6852unsafe extern "C" {
6853 pub fn BIO_set_fp(
6854 bio: *mut BIO,
6855 file: *mut FILE,
6856 flags: ::core::ffi::c_int,
6857 ) -> ::core::ffi::c_int;
6858}
6859unsafe extern "C" {
6860 pub fn BIO_read_filename(
6861 bio: *mut BIO,
6862 filename: *const ::core::ffi::c_char,
6863 ) -> ::core::ffi::c_int;
6864}
6865unsafe extern "C" {
6866 pub fn BIO_write_filename(
6867 bio: *mut BIO,
6868 filename: *const ::core::ffi::c_char,
6869 ) -> ::core::ffi::c_int;
6870}
6871unsafe extern "C" {
6872 pub fn BIO_append_filename(
6873 bio: *mut BIO,
6874 filename: *const ::core::ffi::c_char,
6875 ) -> ::core::ffi::c_int;
6876}
6877unsafe extern "C" {
6878 pub fn BIO_rw_filename(
6879 bio: *mut BIO,
6880 filename: *const ::core::ffi::c_char,
6881 ) -> ::core::ffi::c_int;
6882}
6883unsafe extern "C" {
6884 pub fn BIO_tell(bio: *mut BIO) -> ::core::ffi::c_long;
6885}
6886unsafe extern "C" {
6887 pub fn BIO_seek(bio: *mut BIO, offset: ::core::ffi::c_long) -> ::core::ffi::c_long;
6888}
6889unsafe extern "C" {
6890 pub fn BIO_s_socket() -> *const BIO_METHOD;
6891}
6892unsafe extern "C" {
6893 pub fn BIO_new_socket(fd: ::core::ffi::c_int, close_flag: ::core::ffi::c_int) -> *mut BIO;
6894}
6895unsafe extern "C" {
6896 pub fn BIO_s_connect() -> *const BIO_METHOD;
6897}
6898unsafe extern "C" {
6899 pub fn BIO_new_connect(host_and_optional_port: *const ::core::ffi::c_char) -> *mut BIO;
6900}
6901unsafe extern "C" {
6902 pub fn BIO_set_conn_hostname(
6903 bio: *mut BIO,
6904 host_and_optional_port: *const ::core::ffi::c_char,
6905 ) -> ::core::ffi::c_int;
6906}
6907unsafe extern "C" {
6908 pub fn BIO_set_conn_port(
6909 bio: *mut BIO,
6910 port_str: *const ::core::ffi::c_char,
6911 ) -> ::core::ffi::c_int;
6912}
6913unsafe extern "C" {
6914 pub fn BIO_set_conn_int_port(
6915 bio: *mut BIO,
6916 port: *const ::core::ffi::c_int,
6917 ) -> ::core::ffi::c_int;
6918}
6919unsafe extern "C" {
6920 pub fn BIO_set_nbio(bio: *mut BIO, on: ::core::ffi::c_int) -> ::core::ffi::c_int;
6921}
6922unsafe extern "C" {
6923 pub fn BIO_do_connect(bio: *mut BIO) -> ::core::ffi::c_int;
6924}
6925unsafe extern "C" {
6926 pub fn BIO_new_bio_pair(
6927 out1: *mut *mut BIO,
6928 writebuf1: usize,
6929 out2: *mut *mut BIO,
6930 writebuf2: usize,
6931 ) -> ::core::ffi::c_int;
6932}
6933unsafe extern "C" {
6934 pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
6935}
6936unsafe extern "C" {
6937 pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
6938}
6939unsafe extern "C" {
6940 pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::core::ffi::c_int;
6941}
6942unsafe extern "C" {
6943 pub fn BIO_get_new_index() -> ::core::ffi::c_int;
6944}
6945unsafe extern "C" {
6946 pub fn BIO_meth_new(
6947 type_: ::core::ffi::c_int,
6948 name: *const ::core::ffi::c_char,
6949 ) -> *mut BIO_METHOD;
6950}
6951unsafe extern "C" {
6952 pub fn BIO_meth_free(method: *mut BIO_METHOD);
6953}
6954unsafe extern "C" {
6955 pub fn BIO_meth_set_create(
6956 method: *mut BIO_METHOD,
6957 create_func: ::core::option::Option<
6958 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6959 >,
6960 ) -> ::core::ffi::c_int;
6961}
6962unsafe extern "C" {
6963 pub fn BIO_meth_set_destroy(
6964 method: *mut BIO_METHOD,
6965 destroy_func: ::core::option::Option<
6966 unsafe extern "C" fn(arg1: *mut BIO) -> ::core::ffi::c_int,
6967 >,
6968 ) -> ::core::ffi::c_int;
6969}
6970unsafe extern "C" {
6971 pub fn BIO_meth_set_write_ex(
6972 method: *mut BIO_METHOD,
6973 write_ex_func: ::core::option::Option<
6974 unsafe extern "C" fn(
6975 arg1: *mut BIO,
6976 arg2: *const ::core::ffi::c_char,
6977 arg3: usize,
6978 arg4: *mut usize,
6979 ) -> ::core::ffi::c_int,
6980 >,
6981 ) -> ::core::ffi::c_int;
6982}
6983unsafe extern "C" {
6984 pub fn BIO_meth_set_write(
6985 method: *mut BIO_METHOD,
6986 write_func: ::core::option::Option<
6987 unsafe extern "C" fn(
6988 arg1: *mut BIO,
6989 arg2: *const ::core::ffi::c_char,
6990 arg3: ::core::ffi::c_int,
6991 ) -> ::core::ffi::c_int,
6992 >,
6993 ) -> ::core::ffi::c_int;
6994}
6995unsafe extern "C" {
6996 pub fn BIO_meth_set_read(
6997 method: *mut BIO_METHOD,
6998 read_func: ::core::option::Option<
6999 unsafe extern "C" fn(
7000 arg1: *mut BIO,
7001 arg2: *mut ::core::ffi::c_char,
7002 arg3: ::core::ffi::c_int,
7003 ) -> ::core::ffi::c_int,
7004 >,
7005 ) -> ::core::ffi::c_int;
7006}
7007unsafe extern "C" {
7008 pub fn BIO_meth_set_gets(
7009 method: *mut BIO_METHOD,
7010 gets_func: ::core::option::Option<
7011 unsafe extern "C" fn(
7012 arg1: *mut BIO,
7013 arg2: *mut ::core::ffi::c_char,
7014 arg3: ::core::ffi::c_int,
7015 ) -> ::core::ffi::c_int,
7016 >,
7017 ) -> ::core::ffi::c_int;
7018}
7019unsafe extern "C" {
7020 pub fn BIO_meth_set_ctrl(
7021 method: *mut BIO_METHOD,
7022 ctrl_func: ::core::option::Option<
7023 unsafe extern "C" fn(
7024 arg1: *mut BIO,
7025 arg2: ::core::ffi::c_int,
7026 arg3: ::core::ffi::c_long,
7027 arg4: *mut ::core::ffi::c_void,
7028 ) -> ::core::ffi::c_long,
7029 >,
7030 ) -> ::core::ffi::c_int;
7031}
7032unsafe extern "C" {
7033 pub fn BIO_meth_set_callback_ctrl(
7034 method: *mut BIO_METHOD,
7035 callback_ctrl_func: ::core::option::Option<
7036 unsafe extern "C" fn(
7037 arg1: *mut BIO,
7038 arg2: ::core::ffi::c_int,
7039 arg3: BIO_info_cb,
7040 ) -> ::core::ffi::c_long,
7041 >,
7042 ) -> ::core::ffi::c_int;
7043}
7044unsafe extern "C" {
7045 pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::core::ffi::c_void);
7046}
7047unsafe extern "C" {
7048 pub fn BIO_get_data(bio: *mut BIO) -> *mut ::core::ffi::c_void;
7049}
7050unsafe extern "C" {
7051 pub fn BIO_set_init(bio: *mut BIO, init: ::core::ffi::c_int);
7052}
7053unsafe extern "C" {
7054 pub fn BIO_get_init(bio: *mut BIO) -> ::core::ffi::c_int;
7055}
7056unsafe extern "C" {
7057 pub fn BIO_get_ex_new_index(
7058 argl: ::core::ffi::c_long,
7059 argp: *mut ::core::ffi::c_void,
7060 unused: *mut CRYPTO_EX_unused,
7061 dup_unused: CRYPTO_EX_dup,
7062 free_func: CRYPTO_EX_free,
7063 ) -> ::core::ffi::c_int;
7064}
7065unsafe extern "C" {
7066 pub fn BIO_set_ex_data(
7067 bio: *mut BIO,
7068 idx: ::core::ffi::c_int,
7069 arg: *mut ::core::ffi::c_void,
7070 ) -> ::core::ffi::c_int;
7071}
7072unsafe extern "C" {
7073 pub fn BIO_get_ex_data(bio: *const BIO, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
7074}
7075unsafe extern "C" {
7076 pub fn BIO_free_all(bio: *mut BIO);
7077}
7078pub type bio_info_cb = BIO_info_cb;
7079unsafe extern "C" {
7080 pub fn BIO_f_base64() -> *const BIO_METHOD;
7081}
7082unsafe extern "C" {
7083 pub fn BIO_set_retry_special(bio: *mut BIO);
7084}
7085unsafe extern "C" {
7086 pub fn BIO_set_write_buffer_size(
7087 bio: *mut BIO,
7088 buffer_size: ::core::ffi::c_int,
7089 ) -> ::core::ffi::c_int;
7090}
7091unsafe extern "C" {
7092 pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::core::ffi::c_int);
7093}
7094unsafe extern "C" {
7095 pub fn BIO_get_shutdown(bio: *mut BIO) -> ::core::ffi::c_int;
7096}
7097unsafe extern "C" {
7098 pub fn BIO_meth_set_puts(
7099 method: *mut BIO_METHOD,
7100 puts: ::core::option::Option<
7101 unsafe extern "C" fn(
7102 arg1: *mut BIO,
7103 arg2: *const ::core::ffi::c_char,
7104 ) -> ::core::ffi::c_int,
7105 >,
7106 ) -> ::core::ffi::c_int;
7107}
7108unsafe extern "C" {
7109 pub fn BIO_meth_get_write(
7110 method: *const BIO_METHOD,
7111 ) -> ::core::option::Option<
7112 unsafe extern "C" fn(
7113 method: *mut BIO,
7114 arg1: *const ::core::ffi::c_char,
7115 arg2: ::core::ffi::c_int,
7116 ) -> ::core::ffi::c_int,
7117 >;
7118}
7119unsafe extern "C" {
7120 pub fn BIO_meth_get_read(
7121 method: *const BIO_METHOD,
7122 ) -> ::core::option::Option<
7123 unsafe extern "C" fn(
7124 method: *mut BIO,
7125 arg1: *mut ::core::ffi::c_char,
7126 arg2: ::core::ffi::c_int,
7127 ) -> ::core::ffi::c_int,
7128 >;
7129}
7130unsafe extern "C" {
7131 pub fn BIO_meth_get_gets(
7132 method: *const BIO_METHOD,
7133 ) -> ::core::option::Option<
7134 unsafe extern "C" fn(
7135 method: *mut BIO,
7136 arg1: *mut ::core::ffi::c_char,
7137 arg2: ::core::ffi::c_int,
7138 ) -> ::core::ffi::c_int,
7139 >;
7140}
7141unsafe extern "C" {
7142 pub fn BIO_meth_get_puts(
7143 method: *const BIO_METHOD,
7144 ) -> ::core::option::Option<
7145 unsafe extern "C" fn(
7146 method: *mut BIO,
7147 arg1: *const ::core::ffi::c_char,
7148 ) -> ::core::ffi::c_int,
7149 >;
7150}
7151unsafe extern "C" {
7152 pub fn BIO_meth_get_ctrl(
7153 method: *const BIO_METHOD,
7154 ) -> ::core::option::Option<
7155 unsafe extern "C" fn(
7156 method: *mut BIO,
7157 arg1: ::core::ffi::c_int,
7158 arg2: ::core::ffi::c_long,
7159 arg3: *mut ::core::ffi::c_void,
7160 ) -> ::core::ffi::c_long,
7161 >;
7162}
7163unsafe extern "C" {
7164 pub fn BIO_meth_get_create(
7165 method: *const BIO_METHOD,
7166 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7167}
7168unsafe extern "C" {
7169 pub fn BIO_meth_get_destroy(
7170 method: *const BIO_METHOD,
7171 ) -> ::core::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::core::ffi::c_int>;
7172}
7173unsafe extern "C" {
7174 pub fn BIO_meth_get_callback_ctrl(
7175 method: *const BIO_METHOD,
7176 ) -> ::core::option::Option<
7177 unsafe extern "C" fn(
7178 method: *mut BIO,
7179 arg1: ::core::ffi::c_int,
7180 arg2: BIO_info_cb,
7181 ) -> ::core::ffi::c_long,
7182 >;
7183}
7184pub type BN_ULONG = u64;
7185unsafe extern "C" {
7186 pub fn BN_new() -> *mut BIGNUM;
7187}
7188unsafe extern "C" {
7189 pub fn BN_init(bn: *mut BIGNUM);
7190}
7191unsafe extern "C" {
7192 pub fn BN_free(bn: *mut BIGNUM);
7193}
7194unsafe extern "C" {
7195 pub fn BN_clear_free(bn: *mut BIGNUM);
7196}
7197unsafe extern "C" {
7198 pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7199}
7200unsafe extern "C" {
7201 pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7202}
7203unsafe extern "C" {
7204 pub fn BN_clear(bn: *mut BIGNUM);
7205}
7206unsafe extern "C" {
7207 pub fn BN_value_one() -> *const BIGNUM;
7208}
7209unsafe extern "C" {
7210 pub fn BN_num_bits(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7211}
7212unsafe extern "C" {
7213 pub fn BN_num_bytes(bn: *const BIGNUM) -> ::core::ffi::c_uint;
7214}
7215unsafe extern "C" {
7216 pub fn BN_zero(bn: *mut BIGNUM);
7217}
7218unsafe extern "C" {
7219 pub fn BN_one(bn: *mut BIGNUM) -> ::core::ffi::c_int;
7220}
7221unsafe extern "C" {
7222 pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::core::ffi::c_int;
7223}
7224unsafe extern "C" {
7225 pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::core::ffi::c_int;
7226}
7227unsafe extern "C" {
7228 pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::core::ffi::c_int);
7229}
7230unsafe extern "C" {
7231 pub fn BN_is_negative(bn: *const BIGNUM) -> ::core::ffi::c_int;
7232}
7233unsafe extern "C" {
7234 pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7235}
7236unsafe extern "C" {
7237 pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7238}
7239unsafe extern "C" {
7240 pub fn BN_lebin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7241}
7242unsafe extern "C" {
7243 pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7244}
7245unsafe extern "C" {
7246 pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7247}
7248unsafe extern "C" {
7249 pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM) -> ::core::ffi::c_int;
7250}
7251unsafe extern "C" {
7252 pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::core::ffi::c_char;
7253}
7254unsafe extern "C" {
7255 pub fn BN_hex2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7256 -> ::core::ffi::c_int;
7257}
7258unsafe extern "C" {
7259 pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::core::ffi::c_char;
7260}
7261unsafe extern "C" {
7262 pub fn BN_dec2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7263 -> ::core::ffi::c_int;
7264}
7265unsafe extern "C" {
7266 pub fn BN_asc2bn(outp: *mut *mut BIGNUM, in_: *const ::core::ffi::c_char)
7267 -> ::core::ffi::c_int;
7268}
7269unsafe extern "C" {
7270 pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::core::ffi::c_int;
7271}
7272unsafe extern "C" {
7273 pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::core::ffi::c_int;
7274}
7275unsafe extern "C" {
7276 pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7277}
7278unsafe extern "C" {
7279 pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::core::ffi::c_int;
7280}
7281unsafe extern "C" {
7282 pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::core::ffi::c_int;
7283}
7284unsafe extern "C" {
7285 pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::core::ffi::c_int;
7286}
7287unsafe extern "C" {
7288 pub fn BN_CTX_new() -> *mut BN_CTX;
7289}
7290unsafe extern "C" {
7291 pub fn BN_CTX_free(ctx: *mut BN_CTX);
7292}
7293unsafe extern "C" {
7294 pub fn BN_CTX_start(ctx: *mut BN_CTX);
7295}
7296unsafe extern "C" {
7297 pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7298}
7299unsafe extern "C" {
7300 pub fn BN_CTX_end(ctx: *mut BN_CTX);
7301}
7302unsafe extern "C" {
7303 pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7304}
7305unsafe extern "C" {
7306 pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7307}
7308unsafe extern "C" {
7309 pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7310}
7311unsafe extern "C" {
7312 pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7313}
7314unsafe extern "C" {
7315 pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7316}
7317unsafe extern "C" {
7318 pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7319}
7320unsafe extern "C" {
7321 pub fn BN_mul(
7322 r: *mut BIGNUM,
7323 a: *const BIGNUM,
7324 b: *const BIGNUM,
7325 ctx: *mut BN_CTX,
7326 ) -> ::core::ffi::c_int;
7327}
7328unsafe extern "C" {
7329 pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7330}
7331unsafe extern "C" {
7332 pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
7333}
7334unsafe extern "C" {
7335 pub fn BN_div(
7336 quotient: *mut BIGNUM,
7337 rem: *mut BIGNUM,
7338 numerator: *const BIGNUM,
7339 divisor: *const BIGNUM,
7340 ctx: *mut BN_CTX,
7341 ) -> ::core::ffi::c_int;
7342}
7343unsafe extern "C" {
7344 pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7345}
7346unsafe extern "C" {
7347 pub fn BN_sqrt(
7348 out_sqrt: *mut BIGNUM,
7349 in_: *const BIGNUM,
7350 ctx: *mut BN_CTX,
7351 ) -> ::core::ffi::c_int;
7352}
7353unsafe extern "C" {
7354 pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7355}
7356unsafe extern "C" {
7357 pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::core::ffi::c_int;
7358}
7359unsafe extern "C" {
7360 pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7361}
7362unsafe extern "C" {
7363 pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::core::ffi::c_int;
7364}
7365unsafe extern "C" {
7366 pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7367}
7368unsafe extern "C" {
7369 pub fn BN_is_zero(bn: *const BIGNUM) -> ::core::ffi::c_int;
7370}
7371unsafe extern "C" {
7372 pub fn BN_is_one(bn: *const BIGNUM) -> ::core::ffi::c_int;
7373}
7374unsafe extern "C" {
7375 pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::core::ffi::c_int;
7376}
7377unsafe extern "C" {
7378 pub fn BN_is_odd(bn: *const BIGNUM) -> ::core::ffi::c_int;
7379}
7380unsafe extern "C" {
7381 pub fn BN_is_pow2(a: *const BIGNUM) -> ::core::ffi::c_int;
7382}
7383unsafe extern "C" {
7384 pub fn BN_lshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7385 -> ::core::ffi::c_int;
7386}
7387unsafe extern "C" {
7388 pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7389}
7390unsafe extern "C" {
7391 pub fn BN_rshift(r: *mut BIGNUM, a: *const BIGNUM, n: ::core::ffi::c_int)
7392 -> ::core::ffi::c_int;
7393}
7394unsafe extern "C" {
7395 pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::core::ffi::c_int;
7396}
7397unsafe extern "C" {
7398 pub fn BN_set_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7399}
7400unsafe extern "C" {
7401 pub fn BN_clear_bit(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7402}
7403unsafe extern "C" {
7404 pub fn BN_is_bit_set(a: *const BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7405}
7406unsafe extern "C" {
7407 pub fn BN_mask_bits(a: *mut BIGNUM, n: ::core::ffi::c_int) -> ::core::ffi::c_int;
7408}
7409unsafe extern "C" {
7410 pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::core::ffi::c_int;
7411}
7412unsafe extern "C" {
7413 pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7414}
7415unsafe extern "C" {
7416 pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7417}
7418unsafe extern "C" {
7419 pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::core::ffi::c_int;
7420}
7421unsafe extern "C" {
7422 pub fn BN_nnmod(
7423 rem: *mut BIGNUM,
7424 numerator: *const BIGNUM,
7425 divisor: *const BIGNUM,
7426 ctx: *mut BN_CTX,
7427 ) -> ::core::ffi::c_int;
7428}
7429unsafe extern "C" {
7430 pub fn BN_mod_add(
7431 r: *mut BIGNUM,
7432 a: *const BIGNUM,
7433 b: *const BIGNUM,
7434 m: *const BIGNUM,
7435 ctx: *mut BN_CTX,
7436 ) -> ::core::ffi::c_int;
7437}
7438unsafe extern "C" {
7439 pub fn BN_mod_add_quick(
7440 r: *mut BIGNUM,
7441 a: *const BIGNUM,
7442 b: *const BIGNUM,
7443 m: *const BIGNUM,
7444 ) -> ::core::ffi::c_int;
7445}
7446unsafe extern "C" {
7447 pub fn BN_mod_sub(
7448 r: *mut BIGNUM,
7449 a: *const BIGNUM,
7450 b: *const BIGNUM,
7451 m: *const BIGNUM,
7452 ctx: *mut BN_CTX,
7453 ) -> ::core::ffi::c_int;
7454}
7455unsafe extern "C" {
7456 pub fn BN_mod_sub_quick(
7457 r: *mut BIGNUM,
7458 a: *const BIGNUM,
7459 b: *const BIGNUM,
7460 m: *const BIGNUM,
7461 ) -> ::core::ffi::c_int;
7462}
7463unsafe extern "C" {
7464 pub fn BN_mod_mul(
7465 r: *mut BIGNUM,
7466 a: *const BIGNUM,
7467 b: *const BIGNUM,
7468 m: *const BIGNUM,
7469 ctx: *mut BN_CTX,
7470 ) -> ::core::ffi::c_int;
7471}
7472unsafe extern "C" {
7473 pub fn BN_mod_sqr(
7474 r: *mut BIGNUM,
7475 a: *const BIGNUM,
7476 m: *const BIGNUM,
7477 ctx: *mut BN_CTX,
7478 ) -> ::core::ffi::c_int;
7479}
7480unsafe extern "C" {
7481 pub fn BN_mod_lshift(
7482 r: *mut BIGNUM,
7483 a: *const BIGNUM,
7484 n: ::core::ffi::c_int,
7485 m: *const BIGNUM,
7486 ctx: *mut BN_CTX,
7487 ) -> ::core::ffi::c_int;
7488}
7489unsafe extern "C" {
7490 pub fn BN_mod_lshift_quick(
7491 r: *mut BIGNUM,
7492 a: *const BIGNUM,
7493 n: ::core::ffi::c_int,
7494 m: *const BIGNUM,
7495 ) -> ::core::ffi::c_int;
7496}
7497unsafe extern "C" {
7498 pub fn BN_mod_lshift1(
7499 r: *mut BIGNUM,
7500 a: *const BIGNUM,
7501 m: *const BIGNUM,
7502 ctx: *mut BN_CTX,
7503 ) -> ::core::ffi::c_int;
7504}
7505unsafe extern "C" {
7506 pub fn BN_mod_lshift1_quick(
7507 r: *mut BIGNUM,
7508 a: *const BIGNUM,
7509 m: *const BIGNUM,
7510 ) -> ::core::ffi::c_int;
7511}
7512unsafe extern "C" {
7513 pub fn BN_mod_sqrt(
7514 in_: *mut BIGNUM,
7515 a: *const BIGNUM,
7516 p: *const BIGNUM,
7517 ctx: *mut BN_CTX,
7518 ) -> *mut BIGNUM;
7519}
7520unsafe extern "C" {
7521 pub fn BN_rand(
7522 rnd: *mut BIGNUM,
7523 bits: ::core::ffi::c_int,
7524 top: ::core::ffi::c_int,
7525 bottom: ::core::ffi::c_int,
7526 ) -> ::core::ffi::c_int;
7527}
7528unsafe extern "C" {
7529 pub fn BN_pseudo_rand(
7530 rnd: *mut BIGNUM,
7531 bits: ::core::ffi::c_int,
7532 top: ::core::ffi::c_int,
7533 bottom: ::core::ffi::c_int,
7534 ) -> ::core::ffi::c_int;
7535}
7536unsafe extern "C" {
7537 pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7538}
7539unsafe extern "C" {
7540 pub fn BN_rand_range_ex(
7541 r: *mut BIGNUM,
7542 min_inclusive: BN_ULONG,
7543 max_exclusive: *const BIGNUM,
7544 ) -> ::core::ffi::c_int;
7545}
7546unsafe extern "C" {
7547 pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::core::ffi::c_int;
7548}
7549#[repr(C)]
7550#[derive(Debug, Copy, Clone)]
7551pub struct bn_gencb_st {
7552 pub arg: *mut ::core::ffi::c_void,
7553 pub callback: ::core::option::Option<
7554 unsafe extern "C" fn(
7555 event: ::core::ffi::c_int,
7556 n: ::core::ffi::c_int,
7557 arg1: *mut bn_gencb_st,
7558 ) -> ::core::ffi::c_int,
7559 >,
7560}
7561unsafe extern "C" {
7562 pub fn BN_GENCB_new() -> *mut BN_GENCB;
7563}
7564unsafe extern "C" {
7565 pub fn BN_GENCB_free(callback: *mut BN_GENCB);
7566}
7567unsafe extern "C" {
7568 pub fn BN_GENCB_set(
7569 callback: *mut BN_GENCB,
7570 f: ::core::option::Option<
7571 unsafe extern "C" fn(
7572 event: ::core::ffi::c_int,
7573 n: ::core::ffi::c_int,
7574 arg1: *mut BN_GENCB,
7575 ) -> ::core::ffi::c_int,
7576 >,
7577 arg: *mut ::core::ffi::c_void,
7578 );
7579}
7580unsafe extern "C" {
7581 pub fn BN_GENCB_call(
7582 callback: *mut BN_GENCB,
7583 event: ::core::ffi::c_int,
7584 n: ::core::ffi::c_int,
7585 ) -> ::core::ffi::c_int;
7586}
7587unsafe extern "C" {
7588 pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::core::ffi::c_void;
7589}
7590unsafe extern "C" {
7591 pub fn BN_generate_prime_ex(
7592 ret: *mut BIGNUM,
7593 bits: ::core::ffi::c_int,
7594 safe: ::core::ffi::c_int,
7595 add: *const BIGNUM,
7596 rem: *const BIGNUM,
7597 cb: *mut BN_GENCB,
7598 ) -> ::core::ffi::c_int;
7599}
7600pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
7601pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
7602pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
7603pub type bn_primality_result_t = ::core::ffi::c_uint;
7604unsafe extern "C" {
7605 pub fn BN_enhanced_miller_rabin_primality_test(
7606 out_result: *mut bn_primality_result_t,
7607 w: *const BIGNUM,
7608 checks: ::core::ffi::c_int,
7609 ctx: *mut BN_CTX,
7610 cb: *mut BN_GENCB,
7611 ) -> ::core::ffi::c_int;
7612}
7613unsafe extern "C" {
7614 pub fn BN_primality_test(
7615 is_probably_prime: *mut ::core::ffi::c_int,
7616 candidate: *const BIGNUM,
7617 checks: ::core::ffi::c_int,
7618 ctx: *mut BN_CTX,
7619 do_trial_division: ::core::ffi::c_int,
7620 cb: *mut BN_GENCB,
7621 ) -> ::core::ffi::c_int;
7622}
7623unsafe extern "C" {
7624 pub fn BN_is_prime_fasttest_ex(
7625 candidate: *const BIGNUM,
7626 checks: ::core::ffi::c_int,
7627 ctx: *mut BN_CTX,
7628 do_trial_division: ::core::ffi::c_int,
7629 cb: *mut BN_GENCB,
7630 ) -> ::core::ffi::c_int;
7631}
7632unsafe extern "C" {
7633 pub fn BN_is_prime_ex(
7634 candidate: *const BIGNUM,
7635 checks: ::core::ffi::c_int,
7636 ctx: *mut BN_CTX,
7637 cb: *mut BN_GENCB,
7638 ) -> ::core::ffi::c_int;
7639}
7640unsafe extern "C" {
7641 pub fn BN_gcd(
7642 r: *mut BIGNUM,
7643 a: *const BIGNUM,
7644 b: *const BIGNUM,
7645 ctx: *mut BN_CTX,
7646 ) -> ::core::ffi::c_int;
7647}
7648unsafe extern "C" {
7649 pub fn BN_mod_inverse(
7650 out: *mut BIGNUM,
7651 a: *const BIGNUM,
7652 n: *const BIGNUM,
7653 ctx: *mut BN_CTX,
7654 ) -> *mut BIGNUM;
7655}
7656unsafe extern "C" {
7657 pub fn BN_mod_inverse_blinded(
7658 out: *mut BIGNUM,
7659 out_no_inverse: *mut ::core::ffi::c_int,
7660 a: *const BIGNUM,
7661 mont: *const BN_MONT_CTX,
7662 ctx: *mut BN_CTX,
7663 ) -> ::core::ffi::c_int;
7664}
7665unsafe extern "C" {
7666 pub fn BN_mod_inverse_odd(
7667 out: *mut BIGNUM,
7668 out_no_inverse: *mut ::core::ffi::c_int,
7669 a: *const BIGNUM,
7670 n: *const BIGNUM,
7671 ctx: *mut BN_CTX,
7672 ) -> ::core::ffi::c_int;
7673}
7674unsafe extern "C" {
7675 pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7676}
7677unsafe extern "C" {
7678 pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
7679}
7680unsafe extern "C" {
7681 pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
7682}
7683unsafe extern "C" {
7684 pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
7685}
7686unsafe extern "C" {
7687 pub fn BN_to_montgomery(
7688 ret: *mut BIGNUM,
7689 a: *const BIGNUM,
7690 mont: *const BN_MONT_CTX,
7691 ctx: *mut BN_CTX,
7692 ) -> ::core::ffi::c_int;
7693}
7694unsafe extern "C" {
7695 pub fn BN_from_montgomery(
7696 ret: *mut BIGNUM,
7697 a: *const BIGNUM,
7698 mont: *const BN_MONT_CTX,
7699 ctx: *mut BN_CTX,
7700 ) -> ::core::ffi::c_int;
7701}
7702unsafe extern "C" {
7703 pub fn BN_mod_mul_montgomery(
7704 r: *mut BIGNUM,
7705 a: *const BIGNUM,
7706 b: *const BIGNUM,
7707 mont: *const BN_MONT_CTX,
7708 ctx: *mut BN_CTX,
7709 ) -> ::core::ffi::c_int;
7710}
7711unsafe extern "C" {
7712 pub fn BN_exp(
7713 r: *mut BIGNUM,
7714 a: *const BIGNUM,
7715 p: *const BIGNUM,
7716 ctx: *mut BN_CTX,
7717 ) -> ::core::ffi::c_int;
7718}
7719unsafe extern "C" {
7720 pub fn BN_mod_exp(
7721 r: *mut BIGNUM,
7722 a: *const BIGNUM,
7723 p: *const BIGNUM,
7724 m: *const BIGNUM,
7725 ctx: *mut BN_CTX,
7726 ) -> ::core::ffi::c_int;
7727}
7728unsafe extern "C" {
7729 pub fn BN_mod_exp_mont(
7730 r: *mut BIGNUM,
7731 a: *const BIGNUM,
7732 p: *const BIGNUM,
7733 m: *const BIGNUM,
7734 ctx: *mut BN_CTX,
7735 mont: *const BN_MONT_CTX,
7736 ) -> ::core::ffi::c_int;
7737}
7738unsafe extern "C" {
7739 pub fn BN_mod_exp_mont_consttime(
7740 rr: *mut BIGNUM,
7741 a: *const BIGNUM,
7742 p: *const BIGNUM,
7743 m: *const BIGNUM,
7744 ctx: *mut BN_CTX,
7745 mont: *const BN_MONT_CTX,
7746 ) -> ::core::ffi::c_int;
7747}
7748unsafe extern "C" {
7749 pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
7750}
7751unsafe extern "C" {
7752 pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
7753}
7754unsafe extern "C" {
7755 pub fn BN_mod_exp_mont_word(
7756 r: *mut BIGNUM,
7757 a: BN_ULONG,
7758 p: *const BIGNUM,
7759 m: *const BIGNUM,
7760 ctx: *mut BN_CTX,
7761 mont: *const BN_MONT_CTX,
7762 ) -> ::core::ffi::c_int;
7763}
7764unsafe extern "C" {
7765 pub fn BN_mod_exp2_mont(
7766 r: *mut BIGNUM,
7767 a1: *const BIGNUM,
7768 p1: *const BIGNUM,
7769 a2: *const BIGNUM,
7770 p2: *const BIGNUM,
7771 m: *const BIGNUM,
7772 ctx: *mut BN_CTX,
7773 mont: *const BN_MONT_CTX,
7774 ) -> ::core::ffi::c_int;
7775}
7776unsafe extern "C" {
7777 pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
7778}
7779unsafe extern "C" {
7780 pub fn BN_MONT_CTX_set(
7781 mont: *mut BN_MONT_CTX,
7782 mod_: *const BIGNUM,
7783 ctx: *mut BN_CTX,
7784 ) -> ::core::ffi::c_int;
7785}
7786unsafe extern "C" {
7787 pub fn BN_bn2binpad(
7788 in_: *const BIGNUM,
7789 out: *mut u8,
7790 len: ::core::ffi::c_int,
7791 ) -> ::core::ffi::c_int;
7792}
7793unsafe extern "C" {
7794 pub fn BN_bn2lebinpad(
7795 in_: *const BIGNUM,
7796 out: *mut u8,
7797 len: ::core::ffi::c_int,
7798 ) -> ::core::ffi::c_int;
7799}
7800unsafe extern "C" {
7801 pub fn BN_secure_new() -> *mut BIGNUM;
7802}
7803unsafe extern "C" {
7804 pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7805}
7806#[repr(C)]
7807#[derive(Debug, Copy, Clone)]
7808pub struct bignum_st {
7809 pub d: *mut BN_ULONG,
7810 pub width: ::core::ffi::c_int,
7811 pub dmax: ::core::ffi::c_int,
7812 pub neg: ::core::ffi::c_int,
7813 pub flags: ::core::ffi::c_int,
7814}
7815unsafe extern "C" {
7816 pub fn BN_num_bits_word(l: BN_ULONG) -> ::core::ffi::c_uint;
7817}
7818unsafe extern "C" {
7819 pub fn ASN1_tag2bit(tag: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
7820}
7821unsafe extern "C" {
7822 pub fn ASN1_tag2str(tag: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
7823}
7824pub type d2i_of_void = ::core::option::Option<
7825 unsafe extern "C" fn(
7826 arg1: *mut *mut ::core::ffi::c_void,
7827 arg2: *mut *const ::core::ffi::c_uchar,
7828 arg3: ::core::ffi::c_long,
7829 ) -> *mut ::core::ffi::c_void,
7830>;
7831pub type i2d_of_void = ::core::option::Option<
7832 unsafe extern "C" fn(
7833 arg1: *const ::core::ffi::c_void,
7834 arg2: *mut *mut ::core::ffi::c_uchar,
7835 ) -> ::core::ffi::c_int,
7836>;
7837pub type ASN1_ITEM_EXP = ASN1_ITEM;
7838#[repr(C)]
7839#[derive(Debug)]
7840pub struct ASN1_VALUE_st {
7841 _unused: [u8; 0],
7842}
7843pub type ASN1_VALUE = ASN1_VALUE_st;
7844unsafe extern "C" {
7845 pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
7846}
7847unsafe extern "C" {
7848 pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
7849}
7850unsafe extern "C" {
7851 pub fn ASN1_item_d2i(
7852 out: *mut *mut ASN1_VALUE,
7853 inp: *mut *const ::core::ffi::c_uchar,
7854 len: ::core::ffi::c_long,
7855 it: *const ASN1_ITEM,
7856 ) -> *mut ASN1_VALUE;
7857}
7858unsafe extern "C" {
7859 pub fn ASN1_item_i2d(
7860 val: *mut ASN1_VALUE,
7861 outp: *mut *mut ::core::ffi::c_uchar,
7862 it: *const ASN1_ITEM,
7863 ) -> ::core::ffi::c_int;
7864}
7865unsafe extern "C" {
7866 pub fn ASN1_item_dup(
7867 it: *const ASN1_ITEM,
7868 x: *mut ::core::ffi::c_void,
7869 ) -> *mut ::core::ffi::c_void;
7870}
7871unsafe extern "C" {
7872 pub fn ASN1_item_d2i_fp(
7873 it: *const ASN1_ITEM,
7874 in_: *mut FILE,
7875 out: *mut ::core::ffi::c_void,
7876 ) -> *mut ::core::ffi::c_void;
7877}
7878unsafe extern "C" {
7879 pub fn ASN1_item_d2i_bio(
7880 it: *const ASN1_ITEM,
7881 in_: *mut BIO,
7882 out: *mut ::core::ffi::c_void,
7883 ) -> *mut ::core::ffi::c_void;
7884}
7885unsafe extern "C" {
7886 pub fn ASN1_item_i2d_fp(
7887 it: *const ASN1_ITEM,
7888 out: *mut FILE,
7889 in_: *const ::core::ffi::c_void,
7890 ) -> ::core::ffi::c_int;
7891}
7892unsafe extern "C" {
7893 pub fn ASN1_item_i2d_bio(
7894 it: *const ASN1_ITEM,
7895 out: *mut BIO,
7896 in_: *const ::core::ffi::c_void,
7897 ) -> ::core::ffi::c_int;
7898}
7899unsafe extern "C" {
7900 pub fn ASN1_item_unpack(
7901 oct: *const ASN1_STRING,
7902 it: *const ASN1_ITEM,
7903 ) -> *mut ::core::ffi::c_void;
7904}
7905unsafe extern "C" {
7906 pub fn ASN1_item_pack(
7907 obj: *mut ::core::ffi::c_void,
7908 it: *const ASN1_ITEM,
7909 out: *mut *mut ASN1_STRING,
7910 ) -> *mut ASN1_STRING;
7911}
7912unsafe extern "C" {
7913 pub fn d2i_ASN1_BOOLEAN(
7914 out: *mut ASN1_BOOLEAN,
7915 inp: *mut *const ::core::ffi::c_uchar,
7916 len: ::core::ffi::c_long,
7917 ) -> ASN1_BOOLEAN;
7918}
7919unsafe extern "C" {
7920 pub fn i2d_ASN1_BOOLEAN(
7921 a: ASN1_BOOLEAN,
7922 outp: *mut *mut ::core::ffi::c_uchar,
7923 ) -> ::core::ffi::c_int;
7924}
7925unsafe extern "C" {
7926 pub static ASN1_BOOLEAN_it: ASN1_ITEM;
7927}
7928unsafe extern "C" {
7929 pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
7930}
7931unsafe extern "C" {
7932 pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
7933}
7934#[repr(C)]
7935#[derive(Debug, Copy, Clone)]
7936pub struct asn1_string_st {
7937 pub length: ::core::ffi::c_int,
7938 pub type_: ::core::ffi::c_int,
7939 pub data: *mut ::core::ffi::c_uchar,
7940 pub flags: ::core::ffi::c_long,
7941}
7942unsafe extern "C" {
7943 pub fn ASN1_STRING_type_new(type_: ::core::ffi::c_int) -> *mut ASN1_STRING;
7944}
7945unsafe extern "C" {
7946 pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
7947}
7948unsafe extern "C" {
7949 pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
7950}
7951unsafe extern "C" {
7952 pub fn ASN1_STRING_copy(dst: *mut ASN1_STRING, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7953}
7954unsafe extern "C" {
7955 pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
7956}
7957unsafe extern "C" {
7958 pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7959}
7960unsafe extern "C" {
7961 pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::core::ffi::c_uchar;
7962}
7963unsafe extern "C" {
7964 pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::core::ffi::c_uchar;
7965}
7966unsafe extern "C" {
7967 pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::core::ffi::c_int;
7968}
7969unsafe extern "C" {
7970 pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::core::ffi::c_int;
7971}
7972unsafe extern "C" {
7973 pub fn ASN1_STRING_set(
7974 str_: *mut ASN1_STRING,
7975 data: *const ::core::ffi::c_void,
7976 len: ossl_ssize_t,
7977 ) -> ::core::ffi::c_int;
7978}
7979unsafe extern "C" {
7980 pub fn ASN1_STRING_set0(
7981 str_: *mut ASN1_STRING,
7982 data: *mut ::core::ffi::c_void,
7983 len: ::core::ffi::c_int,
7984 );
7985}
7986unsafe extern "C" {
7987 pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
7988}
7989unsafe extern "C" {
7990 pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
7991}
7992unsafe extern "C" {
7993 pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
7994}
7995unsafe extern "C" {
7996 pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
7997}
7998unsafe extern "C" {
7999 pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
8000}
8001unsafe extern "C" {
8002 pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
8003}
8004unsafe extern "C" {
8005 pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
8006}
8007unsafe extern "C" {
8008 pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
8009}
8010unsafe extern "C" {
8011 pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
8012}
8013unsafe extern "C" {
8014 pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
8015}
8016unsafe extern "C" {
8017 pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
8018}
8019unsafe extern "C" {
8020 pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
8021}
8022unsafe extern "C" {
8023 pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
8024}
8025unsafe extern "C" {
8026 pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
8027}
8028unsafe extern "C" {
8029 pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
8030}
8031unsafe extern "C" {
8032 pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
8033}
8034unsafe extern "C" {
8035 pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
8036}
8037unsafe extern "C" {
8038 pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8039}
8040unsafe extern "C" {
8041 pub fn d2i_ASN1_BMPSTRING(
8042 out: *mut *mut ASN1_BMPSTRING,
8043 inp: *mut *const u8,
8044 len: ::core::ffi::c_long,
8045 ) -> *mut ASN1_BMPSTRING;
8046}
8047unsafe extern "C" {
8048 pub fn d2i_ASN1_GENERALSTRING(
8049 out: *mut *mut ASN1_GENERALSTRING,
8050 inp: *mut *const u8,
8051 len: ::core::ffi::c_long,
8052 ) -> *mut ASN1_GENERALSTRING;
8053}
8054unsafe extern "C" {
8055 pub fn d2i_ASN1_IA5STRING(
8056 out: *mut *mut ASN1_IA5STRING,
8057 inp: *mut *const u8,
8058 len: ::core::ffi::c_long,
8059 ) -> *mut ASN1_IA5STRING;
8060}
8061unsafe extern "C" {
8062 pub fn d2i_ASN1_OCTET_STRING(
8063 out: *mut *mut ASN1_OCTET_STRING,
8064 inp: *mut *const u8,
8065 len: ::core::ffi::c_long,
8066 ) -> *mut ASN1_OCTET_STRING;
8067}
8068unsafe extern "C" {
8069 pub fn d2i_ASN1_PRINTABLESTRING(
8070 out: *mut *mut ASN1_PRINTABLESTRING,
8071 inp: *mut *const u8,
8072 len: ::core::ffi::c_long,
8073 ) -> *mut ASN1_PRINTABLESTRING;
8074}
8075unsafe extern "C" {
8076 pub fn d2i_ASN1_T61STRING(
8077 out: *mut *mut ASN1_T61STRING,
8078 inp: *mut *const u8,
8079 len: ::core::ffi::c_long,
8080 ) -> *mut ASN1_T61STRING;
8081}
8082unsafe extern "C" {
8083 pub fn d2i_ASN1_UNIVERSALSTRING(
8084 out: *mut *mut ASN1_UNIVERSALSTRING,
8085 inp: *mut *const u8,
8086 len: ::core::ffi::c_long,
8087 ) -> *mut ASN1_UNIVERSALSTRING;
8088}
8089unsafe extern "C" {
8090 pub fn d2i_ASN1_UTF8STRING(
8091 out: *mut *mut ASN1_UTF8STRING,
8092 inp: *mut *const u8,
8093 len: ::core::ffi::c_long,
8094 ) -> *mut ASN1_UTF8STRING;
8095}
8096unsafe extern "C" {
8097 pub fn d2i_ASN1_VISIBLESTRING(
8098 out: *mut *mut ASN1_VISIBLESTRING,
8099 inp: *mut *const u8,
8100 len: ::core::ffi::c_long,
8101 ) -> *mut ASN1_VISIBLESTRING;
8102}
8103unsafe extern "C" {
8104 pub fn i2d_ASN1_BMPSTRING(in_: *const ASN1_BMPSTRING, outp: *mut *mut u8)
8105 -> ::core::ffi::c_int;
8106}
8107unsafe extern "C" {
8108 pub fn i2d_ASN1_GENERALSTRING(
8109 in_: *const ASN1_GENERALSTRING,
8110 outp: *mut *mut u8,
8111 ) -> ::core::ffi::c_int;
8112}
8113unsafe extern "C" {
8114 pub fn i2d_ASN1_IA5STRING(in_: *const ASN1_IA5STRING, outp: *mut *mut u8)
8115 -> ::core::ffi::c_int;
8116}
8117unsafe extern "C" {
8118 pub fn i2d_ASN1_OCTET_STRING(
8119 in_: *const ASN1_OCTET_STRING,
8120 outp: *mut *mut u8,
8121 ) -> ::core::ffi::c_int;
8122}
8123unsafe extern "C" {
8124 pub fn i2d_ASN1_PRINTABLESTRING(
8125 in_: *const ASN1_PRINTABLESTRING,
8126 outp: *mut *mut u8,
8127 ) -> ::core::ffi::c_int;
8128}
8129unsafe extern "C" {
8130 pub fn i2d_ASN1_T61STRING(in_: *const ASN1_T61STRING, outp: *mut *mut u8)
8131 -> ::core::ffi::c_int;
8132}
8133unsafe extern "C" {
8134 pub fn i2d_ASN1_UNIVERSALSTRING(
8135 in_: *const ASN1_UNIVERSALSTRING,
8136 outp: *mut *mut u8,
8137 ) -> ::core::ffi::c_int;
8138}
8139unsafe extern "C" {
8140 pub fn i2d_ASN1_UTF8STRING(
8141 in_: *const ASN1_UTF8STRING,
8142 outp: *mut *mut u8,
8143 ) -> ::core::ffi::c_int;
8144}
8145unsafe extern "C" {
8146 pub fn i2d_ASN1_VISIBLESTRING(
8147 in_: *const ASN1_VISIBLESTRING,
8148 outp: *mut *mut u8,
8149 ) -> ::core::ffi::c_int;
8150}
8151unsafe extern "C" {
8152 pub static ASN1_BMPSTRING_it: ASN1_ITEM;
8153}
8154unsafe extern "C" {
8155 pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
8156}
8157unsafe extern "C" {
8158 pub static ASN1_IA5STRING_it: ASN1_ITEM;
8159}
8160unsafe extern "C" {
8161 pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
8162}
8163unsafe extern "C" {
8164 pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
8165}
8166unsafe extern "C" {
8167 pub static ASN1_T61STRING_it: ASN1_ITEM;
8168}
8169unsafe extern "C" {
8170 pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
8171}
8172unsafe extern "C" {
8173 pub static ASN1_UTF8STRING_it: ASN1_ITEM;
8174}
8175unsafe extern "C" {
8176 pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
8177}
8178unsafe extern "C" {
8179 pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
8180}
8181unsafe extern "C" {
8182 pub fn ASN1_OCTET_STRING_cmp(
8183 a: *const ASN1_OCTET_STRING,
8184 b: *const ASN1_OCTET_STRING,
8185 ) -> ::core::ffi::c_int;
8186}
8187unsafe extern "C" {
8188 pub fn ASN1_OCTET_STRING_set(
8189 str_: *mut ASN1_OCTET_STRING,
8190 data: *const ::core::ffi::c_uchar,
8191 len: ::core::ffi::c_int,
8192 ) -> ::core::ffi::c_int;
8193}
8194unsafe extern "C" {
8195 pub fn ASN1_STRING_to_UTF8(
8196 out: *mut *mut ::core::ffi::c_uchar,
8197 in_: *const ASN1_STRING,
8198 ) -> ::core::ffi::c_int;
8199}
8200unsafe extern "C" {
8201 pub fn ASN1_mbstring_copy(
8202 out: *mut *mut ASN1_STRING,
8203 in_: *const u8,
8204 len: ossl_ssize_t,
8205 inform: ::core::ffi::c_int,
8206 mask: ::core::ffi::c_ulong,
8207 ) -> ::core::ffi::c_int;
8208}
8209unsafe extern "C" {
8210 pub fn ASN1_mbstring_ncopy(
8211 out: *mut *mut ASN1_STRING,
8212 in_: *const u8,
8213 len: ossl_ssize_t,
8214 inform: ::core::ffi::c_int,
8215 mask: ::core::ffi::c_ulong,
8216 minsize: ossl_ssize_t,
8217 maxsize: ossl_ssize_t,
8218 ) -> ::core::ffi::c_int;
8219}
8220unsafe extern "C" {
8221 pub fn ASN1_STRING_set_by_NID(
8222 out: *mut *mut ASN1_STRING,
8223 in_: *const ::core::ffi::c_uchar,
8224 len: ossl_ssize_t,
8225 inform: ::core::ffi::c_int,
8226 nid: ::core::ffi::c_int,
8227 ) -> *mut ASN1_STRING;
8228}
8229unsafe extern "C" {
8230 pub fn ASN1_STRING_TABLE_add(
8231 nid: ::core::ffi::c_int,
8232 minsize: ::core::ffi::c_long,
8233 maxsize: ::core::ffi::c_long,
8234 mask: ::core::ffi::c_ulong,
8235 flags: ::core::ffi::c_ulong,
8236 ) -> ::core::ffi::c_int;
8237}
8238unsafe extern "C" {
8239 pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
8240}
8241unsafe extern "C" {
8242 pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
8243}
8244unsafe extern "C" {
8245 pub fn d2i_DIRECTORYSTRING(
8246 out: *mut *mut ASN1_STRING,
8247 inp: *mut *const u8,
8248 len: ::core::ffi::c_long,
8249 ) -> *mut ASN1_STRING;
8250}
8251unsafe extern "C" {
8252 pub fn i2d_DIRECTORYSTRING(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8253}
8254unsafe extern "C" {
8255 pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
8256}
8257unsafe extern "C" {
8258 pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
8259}
8260unsafe extern "C" {
8261 pub fn d2i_DISPLAYTEXT(
8262 out: *mut *mut ASN1_STRING,
8263 inp: *mut *const u8,
8264 len: ::core::ffi::c_long,
8265 ) -> *mut ASN1_STRING;
8266}
8267unsafe extern "C" {
8268 pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::core::ffi::c_int;
8269}
8270unsafe extern "C" {
8271 pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
8272}
8273unsafe extern "C" {
8274 pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
8275}
8276unsafe extern "C" {
8277 pub fn d2i_ASN1_BIT_STRING(
8278 out: *mut *mut ASN1_BIT_STRING,
8279 inp: *mut *const u8,
8280 len: ::core::ffi::c_long,
8281 ) -> *mut ASN1_BIT_STRING;
8282}
8283unsafe extern "C" {
8284 pub fn i2d_ASN1_BIT_STRING(
8285 in_: *const ASN1_BIT_STRING,
8286 outp: *mut *mut u8,
8287 ) -> ::core::ffi::c_int;
8288}
8289unsafe extern "C" {
8290 pub fn c2i_ASN1_BIT_STRING(
8291 out: *mut *mut ASN1_BIT_STRING,
8292 inp: *mut *const u8,
8293 len: ::core::ffi::c_long,
8294 ) -> *mut ASN1_BIT_STRING;
8295}
8296unsafe extern "C" {
8297 pub fn i2c_ASN1_BIT_STRING(
8298 in_: *const ASN1_BIT_STRING,
8299 outp: *mut *mut u8,
8300 ) -> ::core::ffi::c_int;
8301}
8302unsafe extern "C" {
8303 pub static ASN1_BIT_STRING_it: ASN1_ITEM;
8304}
8305unsafe extern "C" {
8306 pub fn ASN1_BIT_STRING_unused_bits(str_: *const ASN1_BIT_STRING) -> u8;
8307}
8308unsafe extern "C" {
8309 pub fn ASN1_BIT_STRING_set(
8310 str_: *mut ASN1_BIT_STRING,
8311 data: *const u8,
8312 length: ossl_ssize_t,
8313 ) -> ::core::ffi::c_int;
8314}
8315unsafe extern "C" {
8316 pub fn ASN1_BIT_STRING_set1(
8317 str_: *mut ASN1_BIT_STRING,
8318 data: *const u8,
8319 length: usize,
8320 unused_bits: ::core::ffi::c_int,
8321 ) -> ::core::ffi::c_int;
8322}
8323unsafe extern "C" {
8324 pub fn ASN1_BIT_STRING_set_bit(
8325 str_: *mut ASN1_BIT_STRING,
8326 n: ::core::ffi::c_int,
8327 value: ::core::ffi::c_int,
8328 ) -> ::core::ffi::c_int;
8329}
8330unsafe extern "C" {
8331 pub fn ASN1_BIT_STRING_get_bit(
8332 str_: *const ASN1_BIT_STRING,
8333 n: ::core::ffi::c_int,
8334 ) -> ::core::ffi::c_int;
8335}
8336unsafe extern "C" {
8337 pub fn ASN1_BIT_STRING_check(
8338 str_: *const ASN1_BIT_STRING,
8339 flags: *const ::core::ffi::c_uchar,
8340 flags_len: ::core::ffi::c_int,
8341 ) -> ::core::ffi::c_int;
8342}
8343#[repr(C)]
8344#[derive(Debug)]
8345pub struct stack_st_ASN1_INTEGER {
8346 _unused: [u8; 0],
8347}
8348pub type sk_ASN1_INTEGER_free_func =
8349 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
8350pub type sk_ASN1_INTEGER_copy_func =
8351 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
8352pub type sk_ASN1_INTEGER_cmp_func = ::core::option::Option<
8353 unsafe extern "C" fn(
8354 arg1: *const *const ASN1_INTEGER,
8355 arg2: *const *const ASN1_INTEGER,
8356 ) -> ::core::ffi::c_int,
8357>;
8358pub type sk_ASN1_INTEGER_delete_if_func = ::core::option::Option<
8359 unsafe extern "C" fn(
8360 arg1: *mut ASN1_INTEGER,
8361 arg2: *mut ::core::ffi::c_void,
8362 ) -> ::core::ffi::c_int,
8363>;
8364unsafe extern "C" {
8365 #[link_name = "sk_ASN1_INTEGER_call_free_func__extern"]
8366 pub fn sk_ASN1_INTEGER_call_free_func(
8367 free_func: OPENSSL_sk_free_func,
8368 ptr: *mut ::core::ffi::c_void,
8369 );
8370}
8371unsafe extern "C" {
8372 #[link_name = "sk_ASN1_INTEGER_call_copy_func__extern"]
8373 pub fn sk_ASN1_INTEGER_call_copy_func(
8374 copy_func: OPENSSL_sk_copy_func,
8375 ptr: *const ::core::ffi::c_void,
8376 ) -> *mut ::core::ffi::c_void;
8377}
8378unsafe extern "C" {
8379 #[link_name = "sk_ASN1_INTEGER_call_cmp_func__extern"]
8380 pub fn sk_ASN1_INTEGER_call_cmp_func(
8381 cmp_func: OPENSSL_sk_cmp_func,
8382 a: *const ::core::ffi::c_void,
8383 b: *const ::core::ffi::c_void,
8384 ) -> ::core::ffi::c_int;
8385}
8386unsafe extern "C" {
8387 #[link_name = "sk_ASN1_INTEGER_call_delete_if_func__extern"]
8388 pub fn sk_ASN1_INTEGER_call_delete_if_func(
8389 func: OPENSSL_sk_delete_if_func,
8390 obj: *mut ::core::ffi::c_void,
8391 data: *mut ::core::ffi::c_void,
8392 ) -> ::core::ffi::c_int;
8393}
8394unsafe extern "C" {
8395 #[link_name = "sk_ASN1_INTEGER_new__extern"]
8396 pub fn sk_ASN1_INTEGER_new(comp: sk_ASN1_INTEGER_cmp_func) -> *mut stack_st_ASN1_INTEGER;
8397}
8398unsafe extern "C" {
8399 #[link_name = "sk_ASN1_INTEGER_new_null__extern"]
8400 pub fn sk_ASN1_INTEGER_new_null() -> *mut stack_st_ASN1_INTEGER;
8401}
8402unsafe extern "C" {
8403 #[link_name = "sk_ASN1_INTEGER_num__extern"]
8404 pub fn sk_ASN1_INTEGER_num(sk: *const stack_st_ASN1_INTEGER) -> usize;
8405}
8406unsafe extern "C" {
8407 #[link_name = "sk_ASN1_INTEGER_zero__extern"]
8408 pub fn sk_ASN1_INTEGER_zero(sk: *mut stack_st_ASN1_INTEGER);
8409}
8410unsafe extern "C" {
8411 #[link_name = "sk_ASN1_INTEGER_value__extern"]
8412 pub fn sk_ASN1_INTEGER_value(sk: *const stack_st_ASN1_INTEGER, i: usize) -> *mut ASN1_INTEGER;
8413}
8414unsafe extern "C" {
8415 #[link_name = "sk_ASN1_INTEGER_last__extern"]
8416 pub fn sk_ASN1_INTEGER_last(sk: *const stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8417}
8418unsafe extern "C" {
8419 #[link_name = "sk_ASN1_INTEGER_set__extern"]
8420 pub fn sk_ASN1_INTEGER_set(
8421 sk: *mut stack_st_ASN1_INTEGER,
8422 i: usize,
8423 p: *mut ASN1_INTEGER,
8424 ) -> *mut ASN1_INTEGER;
8425}
8426unsafe extern "C" {
8427 #[link_name = "sk_ASN1_INTEGER_free__extern"]
8428 pub fn sk_ASN1_INTEGER_free(sk: *mut stack_st_ASN1_INTEGER);
8429}
8430unsafe extern "C" {
8431 #[link_name = "sk_ASN1_INTEGER_pop_free__extern"]
8432 pub fn sk_ASN1_INTEGER_pop_free(
8433 sk: *mut stack_st_ASN1_INTEGER,
8434 free_func: sk_ASN1_INTEGER_free_func,
8435 );
8436}
8437unsafe extern "C" {
8438 #[link_name = "sk_ASN1_INTEGER_insert__extern"]
8439 pub fn sk_ASN1_INTEGER_insert(
8440 sk: *mut stack_st_ASN1_INTEGER,
8441 p: *mut ASN1_INTEGER,
8442 where_: usize,
8443 ) -> usize;
8444}
8445unsafe extern "C" {
8446 #[link_name = "sk_ASN1_INTEGER_delete__extern"]
8447 pub fn sk_ASN1_INTEGER_delete(
8448 sk: *mut stack_st_ASN1_INTEGER,
8449 where_: usize,
8450 ) -> *mut ASN1_INTEGER;
8451}
8452unsafe extern "C" {
8453 #[link_name = "sk_ASN1_INTEGER_delete_ptr__extern"]
8454 pub fn sk_ASN1_INTEGER_delete_ptr(
8455 sk: *mut stack_st_ASN1_INTEGER,
8456 p: *const ASN1_INTEGER,
8457 ) -> *mut ASN1_INTEGER;
8458}
8459unsafe extern "C" {
8460 #[link_name = "sk_ASN1_INTEGER_delete_if__extern"]
8461 pub fn sk_ASN1_INTEGER_delete_if(
8462 sk: *mut stack_st_ASN1_INTEGER,
8463 func: sk_ASN1_INTEGER_delete_if_func,
8464 data: *mut ::core::ffi::c_void,
8465 );
8466}
8467unsafe extern "C" {
8468 #[link_name = "sk_ASN1_INTEGER_find__extern"]
8469 pub fn sk_ASN1_INTEGER_find(
8470 sk: *const stack_st_ASN1_INTEGER,
8471 out_index: *mut usize,
8472 p: *const ASN1_INTEGER,
8473 ) -> ::core::ffi::c_int;
8474}
8475unsafe extern "C" {
8476 #[link_name = "sk_ASN1_INTEGER_shift__extern"]
8477 pub fn sk_ASN1_INTEGER_shift(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8478}
8479unsafe extern "C" {
8480 #[link_name = "sk_ASN1_INTEGER_push__extern"]
8481 pub fn sk_ASN1_INTEGER_push(sk: *mut stack_st_ASN1_INTEGER, p: *mut ASN1_INTEGER) -> usize;
8482}
8483unsafe extern "C" {
8484 #[link_name = "sk_ASN1_INTEGER_pop__extern"]
8485 pub fn sk_ASN1_INTEGER_pop(sk: *mut stack_st_ASN1_INTEGER) -> *mut ASN1_INTEGER;
8486}
8487unsafe extern "C" {
8488 #[link_name = "sk_ASN1_INTEGER_dup__extern"]
8489 pub fn sk_ASN1_INTEGER_dup(sk: *const stack_st_ASN1_INTEGER) -> *mut stack_st_ASN1_INTEGER;
8490}
8491unsafe extern "C" {
8492 #[link_name = "sk_ASN1_INTEGER_sort__extern"]
8493 pub fn sk_ASN1_INTEGER_sort(sk: *mut stack_st_ASN1_INTEGER);
8494}
8495unsafe extern "C" {
8496 #[link_name = "sk_ASN1_INTEGER_sort_and_dedup__extern"]
8497 pub fn sk_ASN1_INTEGER_sort_and_dedup(
8498 sk: *mut stack_st_ASN1_INTEGER,
8499 free_func: sk_ASN1_INTEGER_free_func,
8500 );
8501}
8502unsafe extern "C" {
8503 #[link_name = "sk_ASN1_INTEGER_is_sorted__extern"]
8504 pub fn sk_ASN1_INTEGER_is_sorted(sk: *const stack_st_ASN1_INTEGER) -> ::core::ffi::c_int;
8505}
8506unsafe extern "C" {
8507 #[link_name = "sk_ASN1_INTEGER_set_cmp_func__extern"]
8508 pub fn sk_ASN1_INTEGER_set_cmp_func(
8509 sk: *mut stack_st_ASN1_INTEGER,
8510 comp: sk_ASN1_INTEGER_cmp_func,
8511 ) -> sk_ASN1_INTEGER_cmp_func;
8512}
8513unsafe extern "C" {
8514 #[link_name = "sk_ASN1_INTEGER_deep_copy__extern"]
8515 pub fn sk_ASN1_INTEGER_deep_copy(
8516 sk: *const stack_st_ASN1_INTEGER,
8517 copy_func: sk_ASN1_INTEGER_copy_func,
8518 free_func: sk_ASN1_INTEGER_free_func,
8519 ) -> *mut stack_st_ASN1_INTEGER;
8520}
8521unsafe extern "C" {
8522 pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
8523}
8524unsafe extern "C" {
8525 pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
8526}
8527unsafe extern "C" {
8528 pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
8529}
8530unsafe extern "C" {
8531 pub fn d2i_ASN1_INTEGER(
8532 out: *mut *mut ASN1_INTEGER,
8533 inp: *mut *const u8,
8534 len: ::core::ffi::c_long,
8535 ) -> *mut ASN1_INTEGER;
8536}
8537unsafe extern "C" {
8538 pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8539}
8540unsafe extern "C" {
8541 pub fn c2i_ASN1_INTEGER(
8542 in_: *mut *mut ASN1_INTEGER,
8543 outp: *mut *const u8,
8544 len: ::core::ffi::c_long,
8545 ) -> *mut ASN1_INTEGER;
8546}
8547unsafe extern "C" {
8548 pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::core::ffi::c_int;
8549}
8550unsafe extern "C" {
8551 pub static ASN1_INTEGER_it: ASN1_ITEM;
8552}
8553unsafe extern "C" {
8554 pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::core::ffi::c_int;
8555}
8556unsafe extern "C" {
8557 pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::core::ffi::c_int;
8558}
8559unsafe extern "C" {
8560 pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8561}
8562unsafe extern "C" {
8563 pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8564}
8565unsafe extern "C" {
8566 pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
8567}
8568unsafe extern "C" {
8569 pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
8570}
8571unsafe extern "C" {
8572 pub fn ASN1_INTEGER_cmp(x: *const ASN1_INTEGER, y: *const ASN1_INTEGER) -> ::core::ffi::c_int;
8573}
8574unsafe extern "C" {
8575 pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
8576}
8577unsafe extern "C" {
8578 pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
8579}
8580unsafe extern "C" {
8581 pub fn d2i_ASN1_ENUMERATED(
8582 out: *mut *mut ASN1_ENUMERATED,
8583 inp: *mut *const u8,
8584 len: ::core::ffi::c_long,
8585 ) -> *mut ASN1_ENUMERATED;
8586}
8587unsafe extern "C" {
8588 pub fn i2d_ASN1_ENUMERATED(
8589 in_: *const ASN1_ENUMERATED,
8590 outp: *mut *mut u8,
8591 ) -> ::core::ffi::c_int;
8592}
8593unsafe extern "C" {
8594 pub static ASN1_ENUMERATED_it: ASN1_ITEM;
8595}
8596unsafe extern "C" {
8597 pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::core::ffi::c_int;
8598}
8599unsafe extern "C" {
8600 pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::core::ffi::c_int;
8601}
8602unsafe extern "C" {
8603 pub fn ASN1_ENUMERATED_get_uint64(
8604 out: *mut u64,
8605 a: *const ASN1_ENUMERATED,
8606 ) -> ::core::ffi::c_int;
8607}
8608unsafe extern "C" {
8609 pub fn ASN1_ENUMERATED_get_int64(
8610 out: *mut i64,
8611 a: *const ASN1_ENUMERATED,
8612 ) -> ::core::ffi::c_int;
8613}
8614unsafe extern "C" {
8615 pub fn BN_to_ASN1_ENUMERATED(
8616 bn: *const BIGNUM,
8617 ai: *mut ASN1_ENUMERATED,
8618 ) -> *mut ASN1_ENUMERATED;
8619}
8620unsafe extern "C" {
8621 pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
8622}
8623unsafe extern "C" {
8624 pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
8625}
8626unsafe extern "C" {
8627 pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
8628}
8629unsafe extern "C" {
8630 pub fn d2i_ASN1_UTCTIME(
8631 out: *mut *mut ASN1_UTCTIME,
8632 inp: *mut *const u8,
8633 len: ::core::ffi::c_long,
8634 ) -> *mut ASN1_UTCTIME;
8635}
8636unsafe extern "C" {
8637 pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8638}
8639unsafe extern "C" {
8640 pub static ASN1_UTCTIME_it: ASN1_ITEM;
8641}
8642unsafe extern "C" {
8643 pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
8644}
8645unsafe extern "C" {
8646 pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
8647}
8648unsafe extern "C" {
8649 pub fn ASN1_UTCTIME_adj(
8650 s: *mut ASN1_UTCTIME,
8651 posix_time: i64,
8652 offset_day: ::core::ffi::c_int,
8653 offset_sec: ::core::ffi::c_long,
8654 ) -> *mut ASN1_UTCTIME;
8655}
8656unsafe extern "C" {
8657 pub fn ASN1_UTCTIME_set_string(
8658 s: *mut ASN1_UTCTIME,
8659 str_: *const ::core::ffi::c_char,
8660 ) -> ::core::ffi::c_int;
8661}
8662unsafe extern "C" {
8663 pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
8664}
8665unsafe extern "C" {
8666 pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
8667}
8668unsafe extern "C" {
8669 pub fn d2i_ASN1_GENERALIZEDTIME(
8670 out: *mut *mut ASN1_GENERALIZEDTIME,
8671 inp: *mut *const u8,
8672 len: ::core::ffi::c_long,
8673 ) -> *mut ASN1_GENERALIZEDTIME;
8674}
8675unsafe extern "C" {
8676 pub fn i2d_ASN1_GENERALIZEDTIME(
8677 in_: *const ASN1_GENERALIZEDTIME,
8678 outp: *mut *mut u8,
8679 ) -> ::core::ffi::c_int;
8680}
8681unsafe extern "C" {
8682 pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
8683}
8684unsafe extern "C" {
8685 pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::core::ffi::c_int;
8686}
8687unsafe extern "C" {
8688 pub fn ASN1_GENERALIZEDTIME_set(
8689 s: *mut ASN1_GENERALIZEDTIME,
8690 posix_time: i64,
8691 ) -> *mut ASN1_GENERALIZEDTIME;
8692}
8693unsafe extern "C" {
8694 pub fn ASN1_GENERALIZEDTIME_adj(
8695 s: *mut ASN1_GENERALIZEDTIME,
8696 posix_time: i64,
8697 offset_day: ::core::ffi::c_int,
8698 offset_sec: ::core::ffi::c_long,
8699 ) -> *mut ASN1_GENERALIZEDTIME;
8700}
8701unsafe extern "C" {
8702 pub fn ASN1_GENERALIZEDTIME_set_string(
8703 s: *mut ASN1_GENERALIZEDTIME,
8704 str_: *const ::core::ffi::c_char,
8705 ) -> ::core::ffi::c_int;
8706}
8707unsafe extern "C" {
8708 pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
8709}
8710unsafe extern "C" {
8711 pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
8712}
8713unsafe extern "C" {
8714 pub fn d2i_ASN1_TIME(
8715 out: *mut *mut ASN1_TIME,
8716 inp: *mut *const u8,
8717 len: ::core::ffi::c_long,
8718 ) -> *mut ASN1_TIME;
8719}
8720unsafe extern "C" {
8721 pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::core::ffi::c_int;
8722}
8723unsafe extern "C" {
8724 pub fn ASN1_TIME_diff(
8725 out_days: *mut ::core::ffi::c_int,
8726 out_seconds: *mut ::core::ffi::c_int,
8727 from: *const ASN1_TIME,
8728 to: *const ASN1_TIME,
8729 ) -> ::core::ffi::c_int;
8730}
8731unsafe extern "C" {
8732 pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
8733}
8734unsafe extern "C" {
8735 pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
8736}
8737unsafe extern "C" {
8738 pub fn ASN1_TIME_adj(
8739 s: *mut ASN1_TIME,
8740 posix_time: i64,
8741 offset_day: ::core::ffi::c_int,
8742 offset_sec: ::core::ffi::c_long,
8743 ) -> *mut ASN1_TIME;
8744}
8745unsafe extern "C" {
8746 pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::core::ffi::c_int;
8747}
8748unsafe extern "C" {
8749 pub fn ASN1_TIME_to_generalizedtime(
8750 t: *const ASN1_TIME,
8751 out: *mut *mut ASN1_GENERALIZEDTIME,
8752 ) -> *mut ASN1_GENERALIZEDTIME;
8753}
8754unsafe extern "C" {
8755 pub fn ASN1_TIME_set_string(
8756 s: *mut ASN1_TIME,
8757 str_: *const ::core::ffi::c_char,
8758 ) -> ::core::ffi::c_int;
8759}
8760unsafe extern "C" {
8761 pub fn ASN1_TIME_set_string_X509(
8762 s: *mut ASN1_TIME,
8763 str_: *const ::core::ffi::c_char,
8764 ) -> ::core::ffi::c_int;
8765}
8766unsafe extern "C" {
8767 pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::core::ffi::c_int;
8768}
8769unsafe extern "C" {
8770 pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::core::ffi::c_int;
8771}
8772unsafe extern "C" {
8773 pub fn ASN1_TIME_to_posix_nonstandard(t: *const ASN1_TIME, out: *mut i64)
8774 -> ::core::ffi::c_int;
8775}
8776unsafe extern "C" {
8777 pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
8778}
8779unsafe extern "C" {
8780 pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
8781}
8782unsafe extern "C" {
8783 pub fn d2i_ASN1_NULL(
8784 out: *mut *mut ASN1_NULL,
8785 inp: *mut *const u8,
8786 len: ::core::ffi::c_long,
8787 ) -> *mut ASN1_NULL;
8788}
8789unsafe extern "C" {
8790 pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::core::ffi::c_int;
8791}
8792unsafe extern "C" {
8793 pub static ASN1_NULL_it: ASN1_ITEM;
8794}
8795#[repr(C)]
8796#[derive(Debug)]
8797pub struct stack_st_ASN1_OBJECT {
8798 _unused: [u8; 0],
8799}
8800pub type sk_ASN1_OBJECT_free_func =
8801 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
8802pub type sk_ASN1_OBJECT_copy_func =
8803 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
8804pub type sk_ASN1_OBJECT_cmp_func = ::core::option::Option<
8805 unsafe extern "C" fn(
8806 arg1: *const *const ASN1_OBJECT,
8807 arg2: *const *const ASN1_OBJECT,
8808 ) -> ::core::ffi::c_int,
8809>;
8810pub type sk_ASN1_OBJECT_delete_if_func = ::core::option::Option<
8811 unsafe extern "C" fn(
8812 arg1: *mut ASN1_OBJECT,
8813 arg2: *mut ::core::ffi::c_void,
8814 ) -> ::core::ffi::c_int,
8815>;
8816unsafe extern "C" {
8817 #[link_name = "sk_ASN1_OBJECT_call_free_func__extern"]
8818 pub fn sk_ASN1_OBJECT_call_free_func(
8819 free_func: OPENSSL_sk_free_func,
8820 ptr: *mut ::core::ffi::c_void,
8821 );
8822}
8823unsafe extern "C" {
8824 #[link_name = "sk_ASN1_OBJECT_call_copy_func__extern"]
8825 pub fn sk_ASN1_OBJECT_call_copy_func(
8826 copy_func: OPENSSL_sk_copy_func,
8827 ptr: *const ::core::ffi::c_void,
8828 ) -> *mut ::core::ffi::c_void;
8829}
8830unsafe extern "C" {
8831 #[link_name = "sk_ASN1_OBJECT_call_cmp_func__extern"]
8832 pub fn sk_ASN1_OBJECT_call_cmp_func(
8833 cmp_func: OPENSSL_sk_cmp_func,
8834 a: *const ::core::ffi::c_void,
8835 b: *const ::core::ffi::c_void,
8836 ) -> ::core::ffi::c_int;
8837}
8838unsafe extern "C" {
8839 #[link_name = "sk_ASN1_OBJECT_call_delete_if_func__extern"]
8840 pub fn sk_ASN1_OBJECT_call_delete_if_func(
8841 func: OPENSSL_sk_delete_if_func,
8842 obj: *mut ::core::ffi::c_void,
8843 data: *mut ::core::ffi::c_void,
8844 ) -> ::core::ffi::c_int;
8845}
8846unsafe extern "C" {
8847 #[link_name = "sk_ASN1_OBJECT_new__extern"]
8848 pub fn sk_ASN1_OBJECT_new(comp: sk_ASN1_OBJECT_cmp_func) -> *mut stack_st_ASN1_OBJECT;
8849}
8850unsafe extern "C" {
8851 #[link_name = "sk_ASN1_OBJECT_new_null__extern"]
8852 pub fn sk_ASN1_OBJECT_new_null() -> *mut stack_st_ASN1_OBJECT;
8853}
8854unsafe extern "C" {
8855 #[link_name = "sk_ASN1_OBJECT_num__extern"]
8856 pub fn sk_ASN1_OBJECT_num(sk: *const stack_st_ASN1_OBJECT) -> usize;
8857}
8858unsafe extern "C" {
8859 #[link_name = "sk_ASN1_OBJECT_zero__extern"]
8860 pub fn sk_ASN1_OBJECT_zero(sk: *mut stack_st_ASN1_OBJECT);
8861}
8862unsafe extern "C" {
8863 #[link_name = "sk_ASN1_OBJECT_value__extern"]
8864 pub fn sk_ASN1_OBJECT_value(sk: *const stack_st_ASN1_OBJECT, i: usize) -> *mut ASN1_OBJECT;
8865}
8866unsafe extern "C" {
8867 #[link_name = "sk_ASN1_OBJECT_last__extern"]
8868 pub fn sk_ASN1_OBJECT_last(sk: *const stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8869}
8870unsafe extern "C" {
8871 #[link_name = "sk_ASN1_OBJECT_set__extern"]
8872 pub fn sk_ASN1_OBJECT_set(
8873 sk: *mut stack_st_ASN1_OBJECT,
8874 i: usize,
8875 p: *mut ASN1_OBJECT,
8876 ) -> *mut ASN1_OBJECT;
8877}
8878unsafe extern "C" {
8879 #[link_name = "sk_ASN1_OBJECT_free__extern"]
8880 pub fn sk_ASN1_OBJECT_free(sk: *mut stack_st_ASN1_OBJECT);
8881}
8882unsafe extern "C" {
8883 #[link_name = "sk_ASN1_OBJECT_pop_free__extern"]
8884 pub fn sk_ASN1_OBJECT_pop_free(
8885 sk: *mut stack_st_ASN1_OBJECT,
8886 free_func: sk_ASN1_OBJECT_free_func,
8887 );
8888}
8889unsafe extern "C" {
8890 #[link_name = "sk_ASN1_OBJECT_insert__extern"]
8891 pub fn sk_ASN1_OBJECT_insert(
8892 sk: *mut stack_st_ASN1_OBJECT,
8893 p: *mut ASN1_OBJECT,
8894 where_: usize,
8895 ) -> usize;
8896}
8897unsafe extern "C" {
8898 #[link_name = "sk_ASN1_OBJECT_delete__extern"]
8899 pub fn sk_ASN1_OBJECT_delete(sk: *mut stack_st_ASN1_OBJECT, where_: usize) -> *mut ASN1_OBJECT;
8900}
8901unsafe extern "C" {
8902 #[link_name = "sk_ASN1_OBJECT_delete_ptr__extern"]
8903 pub fn sk_ASN1_OBJECT_delete_ptr(
8904 sk: *mut stack_st_ASN1_OBJECT,
8905 p: *const ASN1_OBJECT,
8906 ) -> *mut ASN1_OBJECT;
8907}
8908unsafe extern "C" {
8909 #[link_name = "sk_ASN1_OBJECT_delete_if__extern"]
8910 pub fn sk_ASN1_OBJECT_delete_if(
8911 sk: *mut stack_st_ASN1_OBJECT,
8912 func: sk_ASN1_OBJECT_delete_if_func,
8913 data: *mut ::core::ffi::c_void,
8914 );
8915}
8916unsafe extern "C" {
8917 #[link_name = "sk_ASN1_OBJECT_find__extern"]
8918 pub fn sk_ASN1_OBJECT_find(
8919 sk: *const stack_st_ASN1_OBJECT,
8920 out_index: *mut usize,
8921 p: *const ASN1_OBJECT,
8922 ) -> ::core::ffi::c_int;
8923}
8924unsafe extern "C" {
8925 #[link_name = "sk_ASN1_OBJECT_shift__extern"]
8926 pub fn sk_ASN1_OBJECT_shift(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8927}
8928unsafe extern "C" {
8929 #[link_name = "sk_ASN1_OBJECT_push__extern"]
8930 pub fn sk_ASN1_OBJECT_push(sk: *mut stack_st_ASN1_OBJECT, p: *mut ASN1_OBJECT) -> usize;
8931}
8932unsafe extern "C" {
8933 #[link_name = "sk_ASN1_OBJECT_pop__extern"]
8934 pub fn sk_ASN1_OBJECT_pop(sk: *mut stack_st_ASN1_OBJECT) -> *mut ASN1_OBJECT;
8935}
8936unsafe extern "C" {
8937 #[link_name = "sk_ASN1_OBJECT_dup__extern"]
8938 pub fn sk_ASN1_OBJECT_dup(sk: *const stack_st_ASN1_OBJECT) -> *mut stack_st_ASN1_OBJECT;
8939}
8940unsafe extern "C" {
8941 #[link_name = "sk_ASN1_OBJECT_sort__extern"]
8942 pub fn sk_ASN1_OBJECT_sort(sk: *mut stack_st_ASN1_OBJECT);
8943}
8944unsafe extern "C" {
8945 #[link_name = "sk_ASN1_OBJECT_sort_and_dedup__extern"]
8946 pub fn sk_ASN1_OBJECT_sort_and_dedup(
8947 sk: *mut stack_st_ASN1_OBJECT,
8948 free_func: sk_ASN1_OBJECT_free_func,
8949 );
8950}
8951unsafe extern "C" {
8952 #[link_name = "sk_ASN1_OBJECT_is_sorted__extern"]
8953 pub fn sk_ASN1_OBJECT_is_sorted(sk: *const stack_st_ASN1_OBJECT) -> ::core::ffi::c_int;
8954}
8955unsafe extern "C" {
8956 #[link_name = "sk_ASN1_OBJECT_set_cmp_func__extern"]
8957 pub fn sk_ASN1_OBJECT_set_cmp_func(
8958 sk: *mut stack_st_ASN1_OBJECT,
8959 comp: sk_ASN1_OBJECT_cmp_func,
8960 ) -> sk_ASN1_OBJECT_cmp_func;
8961}
8962unsafe extern "C" {
8963 #[link_name = "sk_ASN1_OBJECT_deep_copy__extern"]
8964 pub fn sk_ASN1_OBJECT_deep_copy(
8965 sk: *const stack_st_ASN1_OBJECT,
8966 copy_func: sk_ASN1_OBJECT_copy_func,
8967 free_func: sk_ASN1_OBJECT_free_func,
8968 ) -> *mut stack_st_ASN1_OBJECT;
8969}
8970unsafe extern "C" {
8971 pub fn ASN1_OBJECT_create(
8972 nid: ::core::ffi::c_int,
8973 data: *const u8,
8974 len: usize,
8975 sn: *const ::core::ffi::c_char,
8976 ln: *const ::core::ffi::c_char,
8977 ) -> *mut ASN1_OBJECT;
8978}
8979unsafe extern "C" {
8980 pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
8981}
8982unsafe extern "C" {
8983 pub fn d2i_ASN1_OBJECT(
8984 out: *mut *mut ASN1_OBJECT,
8985 inp: *mut *const u8,
8986 len: ::core::ffi::c_long,
8987 ) -> *mut ASN1_OBJECT;
8988}
8989unsafe extern "C" {
8990 pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::core::ffi::c_int;
8991}
8992unsafe extern "C" {
8993 pub fn c2i_ASN1_OBJECT(
8994 out: *mut *mut ASN1_OBJECT,
8995 inp: *mut *const u8,
8996 len: ::core::ffi::c_long,
8997 ) -> *mut ASN1_OBJECT;
8998}
8999unsafe extern "C" {
9000 pub static ASN1_OBJECT_it: ASN1_ITEM;
9001}
9002#[repr(C)]
9003#[derive(Copy, Clone)]
9004pub struct asn1_type_st {
9005 pub type_: ::core::ffi::c_int,
9006 pub value: asn1_type_st__bindgen_ty_1,
9007}
9008#[repr(C)]
9009#[derive(Copy, Clone)]
9010pub union asn1_type_st__bindgen_ty_1 {
9011 pub ptr: *mut ::core::ffi::c_char,
9012 pub boolean: ASN1_BOOLEAN,
9013 pub asn1_string: *mut ASN1_STRING,
9014 pub object: *mut ASN1_OBJECT,
9015 pub integer: *mut ASN1_INTEGER,
9016 pub enumerated: *mut ASN1_ENUMERATED,
9017 pub bit_string: *mut ASN1_BIT_STRING,
9018 pub octet_string: *mut ASN1_OCTET_STRING,
9019 pub printablestring: *mut ASN1_PRINTABLESTRING,
9020 pub t61string: *mut ASN1_T61STRING,
9021 pub ia5string: *mut ASN1_IA5STRING,
9022 pub generalstring: *mut ASN1_GENERALSTRING,
9023 pub bmpstring: *mut ASN1_BMPSTRING,
9024 pub universalstring: *mut ASN1_UNIVERSALSTRING,
9025 pub utctime: *mut ASN1_UTCTIME,
9026 pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
9027 pub visiblestring: *mut ASN1_VISIBLESTRING,
9028 pub utf8string: *mut ASN1_UTF8STRING,
9029 pub set: *mut ASN1_STRING,
9030 pub sequence: *mut ASN1_STRING,
9031 pub asn1_value: *mut ASN1_VALUE,
9032}
9033#[repr(C)]
9034#[derive(Debug)]
9035pub struct stack_st_ASN1_TYPE {
9036 _unused: [u8; 0],
9037}
9038pub type sk_ASN1_TYPE_free_func =
9039 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
9040pub type sk_ASN1_TYPE_copy_func =
9041 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
9042pub type sk_ASN1_TYPE_cmp_func = ::core::option::Option<
9043 unsafe extern "C" fn(
9044 arg1: *const *const ASN1_TYPE,
9045 arg2: *const *const ASN1_TYPE,
9046 ) -> ::core::ffi::c_int,
9047>;
9048pub type sk_ASN1_TYPE_delete_if_func = ::core::option::Option<
9049 unsafe extern "C" fn(
9050 arg1: *mut ASN1_TYPE,
9051 arg2: *mut ::core::ffi::c_void,
9052 ) -> ::core::ffi::c_int,
9053>;
9054unsafe extern "C" {
9055 #[link_name = "sk_ASN1_TYPE_call_free_func__extern"]
9056 pub fn sk_ASN1_TYPE_call_free_func(
9057 free_func: OPENSSL_sk_free_func,
9058 ptr: *mut ::core::ffi::c_void,
9059 );
9060}
9061unsafe extern "C" {
9062 #[link_name = "sk_ASN1_TYPE_call_copy_func__extern"]
9063 pub fn sk_ASN1_TYPE_call_copy_func(
9064 copy_func: OPENSSL_sk_copy_func,
9065 ptr: *const ::core::ffi::c_void,
9066 ) -> *mut ::core::ffi::c_void;
9067}
9068unsafe extern "C" {
9069 #[link_name = "sk_ASN1_TYPE_call_cmp_func__extern"]
9070 pub fn sk_ASN1_TYPE_call_cmp_func(
9071 cmp_func: OPENSSL_sk_cmp_func,
9072 a: *const ::core::ffi::c_void,
9073 b: *const ::core::ffi::c_void,
9074 ) -> ::core::ffi::c_int;
9075}
9076unsafe extern "C" {
9077 #[link_name = "sk_ASN1_TYPE_call_delete_if_func__extern"]
9078 pub fn sk_ASN1_TYPE_call_delete_if_func(
9079 func: OPENSSL_sk_delete_if_func,
9080 obj: *mut ::core::ffi::c_void,
9081 data: *mut ::core::ffi::c_void,
9082 ) -> ::core::ffi::c_int;
9083}
9084unsafe extern "C" {
9085 #[link_name = "sk_ASN1_TYPE_new__extern"]
9086 pub fn sk_ASN1_TYPE_new(comp: sk_ASN1_TYPE_cmp_func) -> *mut stack_st_ASN1_TYPE;
9087}
9088unsafe extern "C" {
9089 #[link_name = "sk_ASN1_TYPE_new_null__extern"]
9090 pub fn sk_ASN1_TYPE_new_null() -> *mut stack_st_ASN1_TYPE;
9091}
9092unsafe extern "C" {
9093 #[link_name = "sk_ASN1_TYPE_num__extern"]
9094 pub fn sk_ASN1_TYPE_num(sk: *const stack_st_ASN1_TYPE) -> usize;
9095}
9096unsafe extern "C" {
9097 #[link_name = "sk_ASN1_TYPE_zero__extern"]
9098 pub fn sk_ASN1_TYPE_zero(sk: *mut stack_st_ASN1_TYPE);
9099}
9100unsafe extern "C" {
9101 #[link_name = "sk_ASN1_TYPE_value__extern"]
9102 pub fn sk_ASN1_TYPE_value(sk: *const stack_st_ASN1_TYPE, i: usize) -> *mut ASN1_TYPE;
9103}
9104unsafe extern "C" {
9105 #[link_name = "sk_ASN1_TYPE_last__extern"]
9106 pub fn sk_ASN1_TYPE_last(sk: *const stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9107}
9108unsafe extern "C" {
9109 #[link_name = "sk_ASN1_TYPE_set__extern"]
9110 pub fn sk_ASN1_TYPE_set(
9111 sk: *mut stack_st_ASN1_TYPE,
9112 i: usize,
9113 p: *mut ASN1_TYPE,
9114 ) -> *mut ASN1_TYPE;
9115}
9116unsafe extern "C" {
9117 #[link_name = "sk_ASN1_TYPE_free__extern"]
9118 pub fn sk_ASN1_TYPE_free(sk: *mut stack_st_ASN1_TYPE);
9119}
9120unsafe extern "C" {
9121 #[link_name = "sk_ASN1_TYPE_pop_free__extern"]
9122 pub fn sk_ASN1_TYPE_pop_free(sk: *mut stack_st_ASN1_TYPE, free_func: sk_ASN1_TYPE_free_func);
9123}
9124unsafe extern "C" {
9125 #[link_name = "sk_ASN1_TYPE_insert__extern"]
9126 pub fn sk_ASN1_TYPE_insert(
9127 sk: *mut stack_st_ASN1_TYPE,
9128 p: *mut ASN1_TYPE,
9129 where_: usize,
9130 ) -> usize;
9131}
9132unsafe extern "C" {
9133 #[link_name = "sk_ASN1_TYPE_delete__extern"]
9134 pub fn sk_ASN1_TYPE_delete(sk: *mut stack_st_ASN1_TYPE, where_: usize) -> *mut ASN1_TYPE;
9135}
9136unsafe extern "C" {
9137 #[link_name = "sk_ASN1_TYPE_delete_ptr__extern"]
9138 pub fn sk_ASN1_TYPE_delete_ptr(
9139 sk: *mut stack_st_ASN1_TYPE,
9140 p: *const ASN1_TYPE,
9141 ) -> *mut ASN1_TYPE;
9142}
9143unsafe extern "C" {
9144 #[link_name = "sk_ASN1_TYPE_delete_if__extern"]
9145 pub fn sk_ASN1_TYPE_delete_if(
9146 sk: *mut stack_st_ASN1_TYPE,
9147 func: sk_ASN1_TYPE_delete_if_func,
9148 data: *mut ::core::ffi::c_void,
9149 );
9150}
9151unsafe extern "C" {
9152 #[link_name = "sk_ASN1_TYPE_find__extern"]
9153 pub fn sk_ASN1_TYPE_find(
9154 sk: *const stack_st_ASN1_TYPE,
9155 out_index: *mut usize,
9156 p: *const ASN1_TYPE,
9157 ) -> ::core::ffi::c_int;
9158}
9159unsafe extern "C" {
9160 #[link_name = "sk_ASN1_TYPE_shift__extern"]
9161 pub fn sk_ASN1_TYPE_shift(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9162}
9163unsafe extern "C" {
9164 #[link_name = "sk_ASN1_TYPE_push__extern"]
9165 pub fn sk_ASN1_TYPE_push(sk: *mut stack_st_ASN1_TYPE, p: *mut ASN1_TYPE) -> usize;
9166}
9167unsafe extern "C" {
9168 #[link_name = "sk_ASN1_TYPE_pop__extern"]
9169 pub fn sk_ASN1_TYPE_pop(sk: *mut stack_st_ASN1_TYPE) -> *mut ASN1_TYPE;
9170}
9171unsafe extern "C" {
9172 #[link_name = "sk_ASN1_TYPE_dup__extern"]
9173 pub fn sk_ASN1_TYPE_dup(sk: *const stack_st_ASN1_TYPE) -> *mut stack_st_ASN1_TYPE;
9174}
9175unsafe extern "C" {
9176 #[link_name = "sk_ASN1_TYPE_sort__extern"]
9177 pub fn sk_ASN1_TYPE_sort(sk: *mut stack_st_ASN1_TYPE);
9178}
9179unsafe extern "C" {
9180 #[link_name = "sk_ASN1_TYPE_sort_and_dedup__extern"]
9181 pub fn sk_ASN1_TYPE_sort_and_dedup(
9182 sk: *mut stack_st_ASN1_TYPE,
9183 free_func: sk_ASN1_TYPE_free_func,
9184 );
9185}
9186unsafe extern "C" {
9187 #[link_name = "sk_ASN1_TYPE_is_sorted__extern"]
9188 pub fn sk_ASN1_TYPE_is_sorted(sk: *const stack_st_ASN1_TYPE) -> ::core::ffi::c_int;
9189}
9190unsafe extern "C" {
9191 #[link_name = "sk_ASN1_TYPE_set_cmp_func__extern"]
9192 pub fn sk_ASN1_TYPE_set_cmp_func(
9193 sk: *mut stack_st_ASN1_TYPE,
9194 comp: sk_ASN1_TYPE_cmp_func,
9195 ) -> sk_ASN1_TYPE_cmp_func;
9196}
9197unsafe extern "C" {
9198 #[link_name = "sk_ASN1_TYPE_deep_copy__extern"]
9199 pub fn sk_ASN1_TYPE_deep_copy(
9200 sk: *const stack_st_ASN1_TYPE,
9201 copy_func: sk_ASN1_TYPE_copy_func,
9202 free_func: sk_ASN1_TYPE_free_func,
9203 ) -> *mut stack_st_ASN1_TYPE;
9204}
9205unsafe extern "C" {
9206 pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
9207}
9208unsafe extern "C" {
9209 pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
9210}
9211unsafe extern "C" {
9212 pub fn d2i_ASN1_TYPE(
9213 out: *mut *mut ASN1_TYPE,
9214 inp: *mut *const u8,
9215 len: ::core::ffi::c_long,
9216 ) -> *mut ASN1_TYPE;
9217}
9218unsafe extern "C" {
9219 pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::core::ffi::c_int;
9220}
9221unsafe extern "C" {
9222 pub static ASN1_ANY_it: ASN1_ITEM;
9223}
9224unsafe extern "C" {
9225 pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::core::ffi::c_int;
9226}
9227unsafe extern "C" {
9228 pub fn ASN1_TYPE_set(
9229 a: *mut ASN1_TYPE,
9230 type_: ::core::ffi::c_int,
9231 value: *mut ::core::ffi::c_void,
9232 );
9233}
9234unsafe extern "C" {
9235 pub fn ASN1_TYPE_set1(
9236 a: *mut ASN1_TYPE,
9237 type_: ::core::ffi::c_int,
9238 value: *const ::core::ffi::c_void,
9239 ) -> ::core::ffi::c_int;
9240}
9241unsafe extern "C" {
9242 pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::core::ffi::c_int;
9243}
9244pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
9245unsafe extern "C" {
9246 pub fn d2i_ASN1_SEQUENCE_ANY(
9247 out: *mut *mut ASN1_SEQUENCE_ANY,
9248 inp: *mut *const u8,
9249 len: ::core::ffi::c_long,
9250 ) -> *mut ASN1_SEQUENCE_ANY;
9251}
9252unsafe extern "C" {
9253 pub fn i2d_ASN1_SEQUENCE_ANY(
9254 in_: *const ASN1_SEQUENCE_ANY,
9255 outp: *mut *mut u8,
9256 ) -> ::core::ffi::c_int;
9257}
9258unsafe extern "C" {
9259 pub fn d2i_ASN1_SET_ANY(
9260 out: *mut *mut ASN1_SEQUENCE_ANY,
9261 inp: *mut *const u8,
9262 len: ::core::ffi::c_long,
9263 ) -> *mut ASN1_SEQUENCE_ANY;
9264}
9265unsafe extern "C" {
9266 pub fn i2d_ASN1_SET_ANY(
9267 in_: *const ASN1_SEQUENCE_ANY,
9268 outp: *mut *mut u8,
9269 ) -> ::core::ffi::c_int;
9270}
9271unsafe extern "C" {
9272 pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::core::ffi::c_int;
9273}
9274unsafe extern "C" {
9275 pub fn ASN1_GENERALIZEDTIME_print(
9276 out: *mut BIO,
9277 a: *const ASN1_GENERALIZEDTIME,
9278 ) -> ::core::ffi::c_int;
9279}
9280unsafe extern "C" {
9281 pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::core::ffi::c_int;
9282}
9283unsafe extern "C" {
9284 pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::core::ffi::c_int;
9285}
9286unsafe extern "C" {
9287 pub fn ASN1_STRING_print_ex(
9288 out: *mut BIO,
9289 str_: *const ASN1_STRING,
9290 flags: ::core::ffi::c_ulong,
9291 ) -> ::core::ffi::c_int;
9292}
9293unsafe extern "C" {
9294 pub fn ASN1_STRING_print_ex_fp(
9295 fp: *mut FILE,
9296 str_: *const ASN1_STRING,
9297 flags: ::core::ffi::c_ulong,
9298 ) -> ::core::ffi::c_int;
9299}
9300unsafe extern "C" {
9301 pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::core::ffi::c_int;
9302}
9303unsafe extern "C" {
9304 pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::core::ffi::c_int;
9305}
9306unsafe extern "C" {
9307 pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::core::ffi::c_int;
9308}
9309unsafe extern "C" {
9310 pub fn i2a_ASN1_STRING(
9311 bp: *mut BIO,
9312 a: *const ASN1_STRING,
9313 type_: ::core::ffi::c_int,
9314 ) -> ::core::ffi::c_int;
9315}
9316unsafe extern "C" {
9317 pub fn i2t_ASN1_OBJECT(
9318 buf: *mut ::core::ffi::c_char,
9319 buf_len: ::core::ffi::c_int,
9320 a: *const ASN1_OBJECT,
9321 ) -> ::core::ffi::c_int;
9322}
9323unsafe extern "C" {
9324 pub fn ASN1_get_object(
9325 inp: *mut *const ::core::ffi::c_uchar,
9326 out_length: *mut ::core::ffi::c_long,
9327 out_tag: *mut ::core::ffi::c_int,
9328 out_class: *mut ::core::ffi::c_int,
9329 max_len: ::core::ffi::c_long,
9330 ) -> ::core::ffi::c_int;
9331}
9332unsafe extern "C" {
9333 pub fn ASN1_put_object(
9334 outp: *mut *mut ::core::ffi::c_uchar,
9335 constructed: ::core::ffi::c_int,
9336 length: ::core::ffi::c_int,
9337 tag: ::core::ffi::c_int,
9338 xclass: ::core::ffi::c_int,
9339 );
9340}
9341unsafe extern "C" {
9342 pub fn ASN1_put_eoc(outp: *mut *mut ::core::ffi::c_uchar) -> ::core::ffi::c_int;
9343}
9344unsafe extern "C" {
9345 pub fn ASN1_object_size(
9346 constructed: ::core::ffi::c_int,
9347 length: ::core::ffi::c_int,
9348 tag: ::core::ffi::c_int,
9349 ) -> ::core::ffi::c_int;
9350}
9351unsafe extern "C" {
9352 pub fn ASN1_BIT_STRING_num_bytes(
9353 str_: *const ASN1_BIT_STRING,
9354 out: *mut usize,
9355 ) -> ::core::ffi::c_int;
9356}
9357unsafe extern "C" {
9358 pub fn ASN1_STRING_set_default_mask(mask: ::core::ffi::c_ulong);
9359}
9360unsafe extern "C" {
9361 pub fn ASN1_STRING_set_default_mask_asc(p: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
9362}
9363unsafe extern "C" {
9364 pub fn ASN1_STRING_get_default_mask() -> ::core::ffi::c_ulong;
9365}
9366unsafe extern "C" {
9367 pub fn ASN1_STRING_TABLE_cleanup();
9368}
9369unsafe extern "C" {
9370 pub fn ASN1_INTEGER_set(a: *mut ASN1_INTEGER, v: ::core::ffi::c_long) -> ::core::ffi::c_int;
9371}
9372unsafe extern "C" {
9373 pub fn ASN1_ENUMERATED_set(
9374 a: *mut ASN1_ENUMERATED,
9375 v: ::core::ffi::c_long,
9376 ) -> ::core::ffi::c_int;
9377}
9378unsafe extern "C" {
9379 pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::core::ffi::c_long;
9380}
9381unsafe extern "C" {
9382 pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::core::ffi::c_long;
9383}
9384pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
9385#[repr(C)]
9386#[derive(Debug)]
9387pub struct ASN1_TLC_st {
9388 _unused: [u8; 0],
9389}
9390pub type ASN1_TLC = ASN1_TLC_st;
9391#[repr(C)]
9392#[derive(Debug, Copy, Clone)]
9393pub struct ASN1_TEMPLATE_st {
9394 pub flags: u32,
9395 pub tag: ::core::ffi::c_int,
9396 pub offset: ::core::ffi::c_ulong,
9397 pub field_name: *const ::core::ffi::c_char,
9398 pub item: *const ASN1_ITEM_st,
9399}
9400pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
9401pub type ASN1_ADB = ASN1_ADB_st;
9402#[repr(C)]
9403#[derive(Debug, Copy, Clone)]
9404pub struct ASN1_ADB_st {
9405 pub flags: u32,
9406 pub offset: ::core::ffi::c_ulong,
9407 pub unused: *mut CRYPTO_MUST_BE_NULL,
9408 pub tbl: *const ASN1_ADB_TABLE,
9409 pub tblcount: ::core::ffi::c_long,
9410 pub default_tt: *const ASN1_TEMPLATE,
9411 pub null_tt: *const ASN1_TEMPLATE,
9412}
9413#[repr(C)]
9414#[derive(Debug, Copy, Clone)]
9415pub struct ASN1_ADB_TABLE_st {
9416 pub value: ::core::ffi::c_int,
9417 pub tt: ASN1_TEMPLATE,
9418}
9419#[repr(C)]
9420#[derive(Debug, Copy, Clone)]
9421pub struct ASN1_ITEM_st {
9422 pub itype: ::core::ffi::c_char,
9423 pub utype: ::core::ffi::c_int,
9424 pub templates: *const ASN1_TEMPLATE,
9425 pub tcount: ::core::ffi::c_long,
9426 pub funcs: *const ::core::ffi::c_void,
9427 pub size: ::core::ffi::c_long,
9428 pub sname: *const ::core::ffi::c_char,
9429}
9430pub type ASN1_aux_cb = ::core::option::Option<
9431 unsafe extern "C" fn(
9432 operation: ::core::ffi::c_int,
9433 in_: *mut *mut ASN1_VALUE,
9434 it: *const ASN1_ITEM,
9435 exarg: *mut ::core::ffi::c_void,
9436 ) -> ::core::ffi::c_int,
9437>;
9438#[repr(C)]
9439#[derive(Debug, Copy, Clone)]
9440pub struct ASN1_AUX_st {
9441 pub app_data: *mut ::core::ffi::c_void,
9442 pub flags: u32,
9443 pub ref_offset: ::core::ffi::c_int,
9444 pub asn1_cb: ASN1_aux_cb,
9445 pub enc_offset: ::core::ffi::c_int,
9446}
9447pub type ASN1_AUX = ASN1_AUX_st;
9448unsafe extern "C" {
9449 pub static ASN1_SEQUENCE_it: ASN1_ITEM;
9450}
9451#[repr(C)]
9452#[derive(Debug)]
9453pub struct stack_st_ASN1_VALUE {
9454 _unused: [u8; 0],
9455}
9456pub type sk_ASN1_VALUE_free_func =
9457 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
9458pub type sk_ASN1_VALUE_copy_func =
9459 ::core::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
9460pub type sk_ASN1_VALUE_cmp_func = ::core::option::Option<
9461 unsafe extern "C" fn(
9462 arg1: *const *const ASN1_VALUE,
9463 arg2: *const *const ASN1_VALUE,
9464 ) -> ::core::ffi::c_int,
9465>;
9466pub type sk_ASN1_VALUE_delete_if_func = ::core::option::Option<
9467 unsafe extern "C" fn(
9468 arg1: *mut ASN1_VALUE,
9469 arg2: *mut ::core::ffi::c_void,
9470 ) -> ::core::ffi::c_int,
9471>;
9472unsafe extern "C" {
9473 #[link_name = "sk_ASN1_VALUE_call_free_func__extern"]
9474 pub fn sk_ASN1_VALUE_call_free_func(
9475 free_func: OPENSSL_sk_free_func,
9476 ptr: *mut ::core::ffi::c_void,
9477 );
9478}
9479unsafe extern "C" {
9480 #[link_name = "sk_ASN1_VALUE_call_copy_func__extern"]
9481 pub fn sk_ASN1_VALUE_call_copy_func(
9482 copy_func: OPENSSL_sk_copy_func,
9483 ptr: *const ::core::ffi::c_void,
9484 ) -> *mut ::core::ffi::c_void;
9485}
9486unsafe extern "C" {
9487 #[link_name = "sk_ASN1_VALUE_call_cmp_func__extern"]
9488 pub fn sk_ASN1_VALUE_call_cmp_func(
9489 cmp_func: OPENSSL_sk_cmp_func,
9490 a: *const ::core::ffi::c_void,
9491 b: *const ::core::ffi::c_void,
9492 ) -> ::core::ffi::c_int;
9493}
9494unsafe extern "C" {
9495 #[link_name = "sk_ASN1_VALUE_call_delete_if_func__extern"]
9496 pub fn sk_ASN1_VALUE_call_delete_if_func(
9497 func: OPENSSL_sk_delete_if_func,
9498 obj: *mut ::core::ffi::c_void,
9499 data: *mut ::core::ffi::c_void,
9500 ) -> ::core::ffi::c_int;
9501}
9502unsafe extern "C" {
9503 #[link_name = "sk_ASN1_VALUE_new__extern"]
9504 pub fn sk_ASN1_VALUE_new(comp: sk_ASN1_VALUE_cmp_func) -> *mut stack_st_ASN1_VALUE;
9505}
9506unsafe extern "C" {
9507 #[link_name = "sk_ASN1_VALUE_new_null__extern"]
9508 pub fn sk_ASN1_VALUE_new_null() -> *mut stack_st_ASN1_VALUE;
9509}
9510unsafe extern "C" {
9511 #[link_name = "sk_ASN1_VALUE_num__extern"]
9512 pub fn sk_ASN1_VALUE_num(sk: *const stack_st_ASN1_VALUE) -> usize;
9513}
9514unsafe extern "C" {
9515 #[link_name = "sk_ASN1_VALUE_zero__extern"]
9516 pub fn sk_ASN1_VALUE_zero(sk: *mut stack_st_ASN1_VALUE);
9517}
9518unsafe extern "C" {
9519 #[link_name = "sk_ASN1_VALUE_value__extern"]
9520 pub fn sk_ASN1_VALUE_value(sk: *const stack_st_ASN1_VALUE, i: usize) -> *mut ASN1_VALUE;
9521}
9522unsafe extern "C" {
9523 #[link_name = "sk_ASN1_VALUE_last__extern"]
9524 pub fn sk_ASN1_VALUE_last(sk: *const stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9525}
9526unsafe extern "C" {
9527 #[link_name = "sk_ASN1_VALUE_set__extern"]
9528 pub fn sk_ASN1_VALUE_set(
9529 sk: *mut stack_st_ASN1_VALUE,
9530 i: usize,
9531 p: *mut ASN1_VALUE,
9532 ) -> *mut ASN1_VALUE;
9533}
9534unsafe extern "C" {
9535 #[link_name = "sk_ASN1_VALUE_free__extern"]
9536 pub fn sk_ASN1_VALUE_free(sk: *mut stack_st_ASN1_VALUE);
9537}
9538unsafe extern "C" {
9539 #[link_name = "sk_ASN1_VALUE_pop_free__extern"]
9540 pub fn sk_ASN1_VALUE_pop_free(sk: *mut stack_st_ASN1_VALUE, free_func: sk_ASN1_VALUE_free_func);
9541}
9542unsafe extern "C" {
9543 #[link_name = "sk_ASN1_VALUE_insert__extern"]
9544 pub fn sk_ASN1_VALUE_insert(
9545 sk: *mut stack_st_ASN1_VALUE,
9546 p: *mut ASN1_VALUE,
9547 where_: usize,
9548 ) -> usize;
9549}
9550unsafe extern "C" {
9551 #[link_name = "sk_ASN1_VALUE_delete__extern"]
9552 pub fn sk_ASN1_VALUE_delete(sk: *mut stack_st_ASN1_VALUE, where_: usize) -> *mut ASN1_VALUE;
9553}
9554unsafe extern "C" {
9555 #[link_name = "sk_ASN1_VALUE_delete_ptr__extern"]
9556 pub fn sk_ASN1_VALUE_delete_ptr(
9557 sk: *mut stack_st_ASN1_VALUE,
9558 p: *const ASN1_VALUE,
9559 ) -> *mut ASN1_VALUE;
9560}
9561unsafe extern "C" {
9562 #[link_name = "sk_ASN1_VALUE_delete_if__extern"]
9563 pub fn sk_ASN1_VALUE_delete_if(
9564 sk: *mut stack_st_ASN1_VALUE,
9565 func: sk_ASN1_VALUE_delete_if_func,
9566 data: *mut ::core::ffi::c_void,
9567 );
9568}
9569unsafe extern "C" {
9570 #[link_name = "sk_ASN1_VALUE_find__extern"]
9571 pub fn sk_ASN1_VALUE_find(
9572 sk: *const stack_st_ASN1_VALUE,
9573 out_index: *mut usize,
9574 p: *const ASN1_VALUE,
9575 ) -> ::core::ffi::c_int;
9576}
9577unsafe extern "C" {
9578 #[link_name = "sk_ASN1_VALUE_shift__extern"]
9579 pub fn sk_ASN1_VALUE_shift(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9580}
9581unsafe extern "C" {
9582 #[link_name = "sk_ASN1_VALUE_push__extern"]
9583 pub fn sk_ASN1_VALUE_push(sk: *mut stack_st_ASN1_VALUE, p: *mut ASN1_VALUE) -> usize;
9584}
9585unsafe extern "C" {
9586 #[link_name = "sk_ASN1_VALUE_pop__extern"]
9587 pub fn sk_ASN1_VALUE_pop(sk: *mut stack_st_ASN1_VALUE) -> *mut ASN1_VALUE;
9588}
9589unsafe extern "C" {
9590 #[link_name = "sk_ASN1_VALUE_dup__extern"]
9591 pub fn sk_ASN1_VALUE_dup(sk: *const stack_st_ASN1_VALUE) -> *mut stack_st_ASN1_VALUE;
9592}
9593unsafe extern "C" {
9594 #[link_name = "sk_ASN1_VALUE_sort__extern"]
9595 pub fn sk_ASN1_VALUE_sort(sk: *mut stack_st_ASN1_VALUE);
9596}
9597unsafe extern "C" {
9598 #[link_name = "sk_ASN1_VALUE_sort_and_dedup__extern"]
9599 pub fn sk_ASN1_VALUE_sort_and_dedup(
9600 sk: *mut stack_st_ASN1_VALUE,
9601 free_func: sk_ASN1_VALUE_free_func,
9602 );
9603}
9604unsafe extern "C" {
9605 #[link_name = "sk_ASN1_VALUE_is_sorted__extern"]
9606 pub fn sk_ASN1_VALUE_is_sorted(sk: *const stack_st_ASN1_VALUE) -> ::core::ffi::c_int;
9607}
9608unsafe extern "C" {
9609 #[link_name = "sk_ASN1_VALUE_set_cmp_func__extern"]
9610 pub fn sk_ASN1_VALUE_set_cmp_func(
9611 sk: *mut stack_st_ASN1_VALUE,
9612 comp: sk_ASN1_VALUE_cmp_func,
9613 ) -> sk_ASN1_VALUE_cmp_func;
9614}
9615unsafe extern "C" {
9616 #[link_name = "sk_ASN1_VALUE_deep_copy__extern"]
9617 pub fn sk_ASN1_VALUE_deep_copy(
9618 sk: *const stack_st_ASN1_VALUE,
9619 copy_func: sk_ASN1_VALUE_copy_func,
9620 free_func: sk_ASN1_VALUE_free_func,
9621 ) -> *mut stack_st_ASN1_VALUE;
9622}
9623unsafe extern "C" {
9624 pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
9625}
9626unsafe extern "C" {
9627 pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9628}
9629unsafe extern "C" {
9630 pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::core::ffi::c_int;
9631}
9632unsafe extern "C" {
9633 pub fn EVP_DecodeBase64(
9634 out: *mut u8,
9635 out_len: *mut usize,
9636 max_out: usize,
9637 in_: *const u8,
9638 in_len: usize,
9639 ) -> ::core::ffi::c_int;
9640}
9641unsafe extern "C" {
9642 pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
9643}
9644unsafe extern "C" {
9645 pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
9646}
9647unsafe extern "C" {
9648 pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
9649}
9650unsafe extern "C" {
9651 pub fn EVP_EncodeUpdate(
9652 ctx: *mut EVP_ENCODE_CTX,
9653 out: *mut u8,
9654 out_len: *mut ::core::ffi::c_int,
9655 in_: *const u8,
9656 in_len: usize,
9657 );
9658}
9659unsafe extern "C" {
9660 pub fn EVP_EncodeFinal(
9661 ctx: *mut EVP_ENCODE_CTX,
9662 out: *mut u8,
9663 out_len: *mut ::core::ffi::c_int,
9664 );
9665}
9666unsafe extern "C" {
9667 pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
9668}
9669unsafe extern "C" {
9670 pub fn EVP_DecodeUpdate(
9671 ctx: *mut EVP_ENCODE_CTX,
9672 out: *mut u8,
9673 out_len: *mut ::core::ffi::c_int,
9674 in_: *const u8,
9675 in_len: usize,
9676 ) -> ::core::ffi::c_int;
9677}
9678unsafe extern "C" {
9679 pub fn EVP_DecodeFinal(
9680 ctx: *mut EVP_ENCODE_CTX,
9681 out: *mut u8,
9682 out_len: *mut ::core::ffi::c_int,
9683 ) -> ::core::ffi::c_int;
9684}
9685unsafe extern "C" {
9686 pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::core::ffi::c_int;
9687}
9688#[repr(C)]
9689#[derive(Debug, Copy, Clone)]
9690pub struct evp_encode_ctx_st {
9691 pub data_used: ::core::ffi::c_uint,
9692 pub data: [u8; 48usize],
9693 pub eof_seen: ::core::ffi::c_char,
9694 pub error_encountered: ::core::ffi::c_char,
9695}
9696#[repr(C)]
9697#[derive(Debug, Copy, Clone)]
9698pub struct blake2b_state_st {
9699 pub h: [u64; 8usize],
9700 pub t_low: u64,
9701 pub t_high: u32,
9702 pub block_used: u32,
9703 pub block: [u8; 128usize],
9704}
9705unsafe extern "C" {
9706 pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
9707}
9708unsafe extern "C" {
9709 pub fn BLAKE2B256_Update(b2b: *mut BLAKE2B_CTX, data: *const ::core::ffi::c_void, len: usize);
9710}
9711unsafe extern "C" {
9712 pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
9713}
9714unsafe extern "C" {
9715 pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
9716}
9717#[repr(C)]
9718#[derive(Debug, Copy, Clone)]
9719pub struct bf_key_st {
9720 pub P: [u32; 18usize],
9721 pub S: [u32; 1024usize],
9722}
9723pub type BF_KEY = bf_key_st;
9724unsafe extern "C" {
9725 pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
9726}
9727unsafe extern "C" {
9728 pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
9729}
9730unsafe extern "C" {
9731 pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
9732}
9733unsafe extern "C" {
9734 pub fn BF_ecb_encrypt(
9735 in_: *const u8,
9736 out: *mut u8,
9737 key: *const BF_KEY,
9738 enc: ::core::ffi::c_int,
9739 );
9740}
9741unsafe extern "C" {
9742 pub fn BF_cbc_encrypt(
9743 in_: *const u8,
9744 out: *mut u8,
9745 length: usize,
9746 schedule: *const BF_KEY,
9747 ivec: *mut u8,
9748 enc: ::core::ffi::c_int,
9749 );
9750}
9751#[repr(C)]
9752#[derive(Debug, Copy, Clone)]
9753pub struct cbs_st {
9754 pub data: *const u8,
9755 pub len: usize,
9756}
9757unsafe extern "C" {
9758 #[link_name = "CBS_init__extern"]
9759 pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
9760}
9761unsafe extern "C" {
9762 pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::core::ffi::c_int;
9763}
9764unsafe extern "C" {
9765 #[link_name = "CBS_data__extern"]
9766 pub fn CBS_data(cbs: *const CBS) -> *const u8;
9767}
9768unsafe extern "C" {
9769 #[link_name = "CBS_len__extern"]
9770 pub fn CBS_len(cbs: *const CBS) -> usize;
9771}
9772unsafe extern "C" {
9773 pub fn CBS_stow(
9774 cbs: *const CBS,
9775 out_ptr: *mut *mut u8,
9776 out_len: *mut usize,
9777 ) -> ::core::ffi::c_int;
9778}
9779unsafe extern "C" {
9780 pub fn CBS_strdup(
9781 cbs: *const CBS,
9782 out_ptr: *mut *mut ::core::ffi::c_char,
9783 ) -> ::core::ffi::c_int;
9784}
9785unsafe extern "C" {
9786 pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::core::ffi::c_int;
9787}
9788unsafe extern "C" {
9789 pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::core::ffi::c_int;
9790}
9791unsafe extern "C" {
9792 pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9793}
9794unsafe extern "C" {
9795 pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9796}
9797unsafe extern "C" {
9798 pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::core::ffi::c_int;
9799}
9800unsafe extern "C" {
9801 pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9802}
9803unsafe extern "C" {
9804 pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9805}
9806unsafe extern "C" {
9807 pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
9808}
9809unsafe extern "C" {
9810 pub fn CBS_get_u48(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9811}
9812unsafe extern "C" {
9813 pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9814}
9815unsafe extern "C" {
9816 pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9817}
9818unsafe extern "C" {
9819 pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::core::ffi::c_int;
9820}
9821unsafe extern "C" {
9822 pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::core::ffi::c_int;
9823}
9824unsafe extern "C" {
9825 pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::core::ffi::c_int;
9826}
9827unsafe extern "C" {
9828 pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9829}
9830unsafe extern "C" {
9831 pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9832}
9833unsafe extern "C" {
9834 pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::core::ffi::c_int;
9835}
9836unsafe extern "C" {
9837 pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::core::ffi::c_int;
9838}
9839unsafe extern "C" {
9840 pub fn CBS_get_until_first_of(
9841 cbs: *mut CBS,
9842 out: *mut CBS,
9843 chars: *const ::core::ffi::c_char,
9844 ) -> ::core::ffi::c_int;
9845}
9846unsafe extern "C" {
9847 pub fn CBS_get_until_first_not_of(
9848 cbs: *mut CBS,
9849 out: *mut CBS,
9850 chars: *const ::core::ffi::c_char,
9851 ) -> ::core::ffi::c_int;
9852}
9853unsafe extern "C" {
9854 pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9855}
9856unsafe extern "C" {
9857 pub fn CBS_get_asn1(
9858 cbs: *mut CBS,
9859 out: *mut CBS,
9860 tag_value: CBS_ASN1_TAG,
9861 ) -> ::core::ffi::c_int;
9862}
9863unsafe extern "C" {
9864 pub fn CBS_get_asn1_element(
9865 cbs: *mut CBS,
9866 out: *mut CBS,
9867 tag_value: CBS_ASN1_TAG,
9868 ) -> ::core::ffi::c_int;
9869}
9870unsafe extern "C" {
9871 pub fn CBS_peek_any_asn1_tag(cbs: *const CBS) -> CBS_ASN1_TAG;
9872}
9873unsafe extern "C" {
9874 pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::core::ffi::c_int;
9875}
9876unsafe extern "C" {
9877 pub fn CBS_get_any_asn1(
9878 cbs: *mut CBS,
9879 out: *mut CBS,
9880 out_tag: *mut CBS_ASN1_TAG,
9881 ) -> ::core::ffi::c_int;
9882}
9883unsafe extern "C" {
9884 pub fn CBS_get_any_asn1_element(
9885 cbs: *mut CBS,
9886 out: *mut CBS,
9887 out_tag: *mut CBS_ASN1_TAG,
9888 out_header_len: *mut usize,
9889 ) -> ::core::ffi::c_int;
9890}
9891unsafe extern "C" {
9892 pub fn CBS_get_any_ber_asn1_element(
9893 cbs: *mut CBS,
9894 out: *mut CBS,
9895 out_tag: *mut CBS_ASN1_TAG,
9896 out_header_len: *mut usize,
9897 out_ber_found: *mut ::core::ffi::c_int,
9898 out_indefinite: *mut ::core::ffi::c_int,
9899 ) -> ::core::ffi::c_int;
9900}
9901unsafe extern "C" {
9902 pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9903}
9904unsafe extern "C" {
9905 pub fn CBS_get_asn1_uint64_with_tag(
9906 cbs: *mut CBS,
9907 out: *mut u64,
9908 tag: CBS_ASN1_TAG,
9909 ) -> ::core::ffi::c_int;
9910}
9911unsafe extern "C" {
9912 pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::core::ffi::c_int;
9913}
9914unsafe extern "C" {
9915 pub fn CBS_get_asn1_int64_with_tag(
9916 cbs: *mut CBS,
9917 out: *mut i64,
9918 tag: CBS_ASN1_TAG,
9919 ) -> ::core::ffi::c_int;
9920}
9921unsafe extern "C" {
9922 pub fn CBS_get_asn1_bool(cbs: *mut CBS, out: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
9923}
9924unsafe extern "C" {
9925 pub fn CBS_get_optional_asn1(
9926 cbs: *mut CBS,
9927 out: *mut CBS,
9928 out_present: *mut ::core::ffi::c_int,
9929 tag: CBS_ASN1_TAG,
9930 ) -> ::core::ffi::c_int;
9931}
9932unsafe extern "C" {
9933 pub fn CBS_get_optional_asn1_octet_string(
9934 cbs: *mut CBS,
9935 out: *mut CBS,
9936 out_present: *mut ::core::ffi::c_int,
9937 tag: CBS_ASN1_TAG,
9938 ) -> ::core::ffi::c_int;
9939}
9940unsafe extern "C" {
9941 pub fn CBS_get_optional_asn1_uint64(
9942 cbs: *mut CBS,
9943 out: *mut u64,
9944 tag: CBS_ASN1_TAG,
9945 default_value: u64,
9946 ) -> ::core::ffi::c_int;
9947}
9948unsafe extern "C" {
9949 pub fn CBS_get_optional_asn1_bool(
9950 cbs: *mut CBS,
9951 out: *mut ::core::ffi::c_int,
9952 tag: CBS_ASN1_TAG,
9953 default_value: ::core::ffi::c_int,
9954 ) -> ::core::ffi::c_int;
9955}
9956unsafe extern "C" {
9957 pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::core::ffi::c_int;
9958}
9959unsafe extern "C" {
9960 pub fn CBS_asn1_bitstring_has_bit(
9961 cbs: *const CBS,
9962 bit: ::core::ffi::c_uint,
9963 ) -> ::core::ffi::c_int;
9964}
9965unsafe extern "C" {
9966 pub fn CBS_is_valid_asn1_integer(
9967 cbs: *const CBS,
9968 out_is_negative: *mut ::core::ffi::c_int,
9969 ) -> ::core::ffi::c_int;
9970}
9971unsafe extern "C" {
9972 pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::core::ffi::c_int;
9973}
9974unsafe extern "C" {
9975 pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9976}
9977unsafe extern "C" {
9978 pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9979}
9980unsafe extern "C" {
9981 pub fn CBS_is_valid_asn1_relative_oid(cbs: *const CBS) -> ::core::ffi::c_int;
9982}
9983unsafe extern "C" {
9984 pub fn CBS_asn1_relative_oid_to_text(cbs: *const CBS) -> *mut ::core::ffi::c_char;
9985}
9986unsafe extern "C" {
9987 pub fn CBS_get_asn1_oid_component(cbs: *mut CBS, out: *mut u64) -> ::core::ffi::c_int;
9988}
9989unsafe extern "C" {
9990 pub fn CBS_parse_generalized_time(
9991 cbs: *const CBS,
9992 out_tm: *mut tm,
9993 allow_timezone_offset: ::core::ffi::c_int,
9994 ) -> ::core::ffi::c_int;
9995}
9996unsafe extern "C" {
9997 pub fn CBS_parse_utc_time(
9998 cbs: *const CBS,
9999 out_tm: *mut tm,
10000 allow_timezone_offset: ::core::ffi::c_int,
10001 ) -> ::core::ffi::c_int;
10002}
10003#[repr(C)]
10004#[derive(Debug, Copy, Clone)]
10005pub struct cbb_buffer_st {
10006 pub buf: *mut u8,
10007 pub len: usize,
10008 pub cap: usize,
10009 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
10010 pub __bindgen_padding_0: [u8; 7usize],
10011}
10012impl cbb_buffer_st {
10013 #[inline]
10014 pub fn can_resize(&self) -> ::core::ffi::c_uint {
10015 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
10016 }
10017 #[inline]
10018 pub fn set_can_resize(&mut self, val: ::core::ffi::c_uint) {
10019 let val: u32 = val as _;
10020 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
10021 }
10022 #[inline]
10023 pub unsafe fn can_resize_raw(this: *const Self) -> ::core::ffi::c_uint {
10024 unsafe {
10025 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
10026 ::core::ptr::addr_of!((*this)._bitfield_1),
10027 ) as u32 as _
10028 }
10029 }
10030 #[inline]
10031 pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10032 unsafe {
10033 let val: u32 = val as _;
10034 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
10035 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10036 val as u64,
10037 )
10038 }
10039 }
10040 #[inline]
10041 pub fn error(&self) -> ::core::ffi::c_uint {
10042 self._bitfield_1.get_const::<1usize, 1u8>() as u32 as _
10043 }
10044 #[inline]
10045 pub fn set_error(&mut self, val: ::core::ffi::c_uint) {
10046 let val: u32 = val as _;
10047 self._bitfield_1.set_const::<1usize, 1u8>(val as u64)
10048 }
10049 #[inline]
10050 pub unsafe fn error_raw(this: *const Self) -> ::core::ffi::c_uint {
10051 unsafe {
10052 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<1usize, 1u8>(
10053 ::core::ptr::addr_of!((*this)._bitfield_1),
10054 ) as u32 as _
10055 }
10056 }
10057 #[inline]
10058 pub unsafe fn set_error_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10059 unsafe {
10060 let val: u32 = val as _;
10061 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<1usize, 1u8>(
10062 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10063 val as u64,
10064 )
10065 }
10066 }
10067 #[inline]
10068 pub fn new_bitfield_1(
10069 can_resize: ::core::ffi::c_uint,
10070 error: ::core::ffi::c_uint,
10071 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10072 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10073 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10074 let can_resize: u32 = can_resize as _;
10075 can_resize as u64
10076 });
10077 __bindgen_bitfield_unit.set_const::<1usize, 1u8>({
10078 let error: u32 = error as _;
10079 error as u64
10080 });
10081 __bindgen_bitfield_unit
10082 }
10083}
10084#[repr(C)]
10085#[derive(Debug, Copy, Clone)]
10086pub struct cbb_child_st {
10087 pub base: *mut cbb_buffer_st,
10088 pub offset: usize,
10089 pub pending_len_len: u8,
10090 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
10091 pub __bindgen_padding_0: [u16; 3usize],
10092}
10093impl cbb_child_st {
10094 #[inline]
10095 pub fn pending_is_asn1(&self) -> ::core::ffi::c_uint {
10096 self._bitfield_1.get_const::<0usize, 1u8>() as u32 as _
10097 }
10098 #[inline]
10099 pub fn set_pending_is_asn1(&mut self, val: ::core::ffi::c_uint) {
10100 let val: u32 = val as _;
10101 self._bitfield_1.set_const::<0usize, 1u8>(val as u64)
10102 }
10103 #[inline]
10104 pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::core::ffi::c_uint {
10105 unsafe {
10106 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get_const::<0usize, 1u8>(
10107 ::core::ptr::addr_of!((*this)._bitfield_1),
10108 ) as u32 as _
10109 }
10110 }
10111 #[inline]
10112 pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::core::ffi::c_uint) {
10113 unsafe {
10114 let val: u32 = val as _;
10115 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set_const::<0usize, 1u8>(
10116 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10117 val as u64,
10118 )
10119 }
10120 }
10121 #[inline]
10122 pub fn new_bitfield_1(
10123 pending_is_asn1: ::core::ffi::c_uint,
10124 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
10125 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
10126 __bindgen_bitfield_unit.set_const::<0usize, 1u8>({
10127 let pending_is_asn1: u32 = pending_is_asn1 as _;
10128 pending_is_asn1 as u64
10129 });
10130 __bindgen_bitfield_unit
10131 }
10132}
10133#[repr(C)]
10134#[derive(Copy, Clone)]
10135pub struct cbb_st {
10136 pub child: *mut CBB,
10137 pub is_child: ::core::ffi::c_char,
10138 pub u: cbb_st__bindgen_ty_1,
10139}
10140#[repr(C)]
10141#[derive(Copy, Clone)]
10142pub union cbb_st__bindgen_ty_1 {
10143 pub base: cbb_buffer_st,
10144 pub child: cbb_child_st,
10145}
10146unsafe extern "C" {
10147 pub fn CBB_zero(cbb: *mut CBB);
10148}
10149unsafe extern "C" {
10150 pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::core::ffi::c_int;
10151}
10152unsafe extern "C" {
10153 pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::core::ffi::c_int;
10154}
10155unsafe extern "C" {
10156 pub fn CBB_cleanup(cbb: *mut CBB);
10157}
10158unsafe extern "C" {
10159 pub fn CBB_finish(
10160 cbb: *mut CBB,
10161 out_data: *mut *mut u8,
10162 out_len: *mut usize,
10163 ) -> ::core::ffi::c_int;
10164}
10165unsafe extern "C" {
10166 pub fn CBB_flush(cbb: *mut CBB) -> ::core::ffi::c_int;
10167}
10168unsafe extern "C" {
10169 pub fn CBB_data(cbb: *const CBB) -> *mut u8;
10170}
10171unsafe extern "C" {
10172 pub fn CBB_len(cbb: *const CBB) -> usize;
10173}
10174unsafe extern "C" {
10175 pub fn CBB_add_u8_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB) -> ::core::ffi::c_int;
10176}
10177unsafe extern "C" {
10178 pub fn CBB_add_u16_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10179 -> ::core::ffi::c_int;
10180}
10181unsafe extern "C" {
10182 pub fn CBB_add_u24_length_prefixed(cbb: *mut CBB, out_contents: *mut CBB)
10183 -> ::core::ffi::c_int;
10184}
10185unsafe extern "C" {
10186 pub fn CBB_add_asn1(
10187 cbb: *mut CBB,
10188 out_contents: *mut CBB,
10189 tag: CBS_ASN1_TAG,
10190 ) -> ::core::ffi::c_int;
10191}
10192unsafe extern "C" {
10193 pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::core::ffi::c_int;
10194}
10195unsafe extern "C" {
10196 pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10197}
10198unsafe extern "C" {
10199 pub fn CBB_add_space(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10200}
10201unsafe extern "C" {
10202 pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::core::ffi::c_int;
10203}
10204unsafe extern "C" {
10205 pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::core::ffi::c_int;
10206}
10207unsafe extern "C" {
10208 pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::core::ffi::c_int;
10209}
10210unsafe extern "C" {
10211 pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10212}
10213unsafe extern "C" {
10214 pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::core::ffi::c_int;
10215}
10216unsafe extern "C" {
10217 pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10218}
10219unsafe extern "C" {
10220 pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10221}
10222unsafe extern "C" {
10223 pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::core::ffi::c_int;
10224}
10225unsafe extern "C" {
10226 pub fn CBB_add_u48(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10227}
10228unsafe extern "C" {
10229 pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10230}
10231unsafe extern "C" {
10232 pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10233}
10234unsafe extern "C" {
10235 pub fn CBB_discard(cbb: *mut CBB, len: usize);
10236}
10237unsafe extern "C" {
10238 pub fn CBB_discard_child(cbb: *mut CBB);
10239}
10240unsafe extern "C" {
10241 pub fn CBB_add_asn1_element(
10242 cbb: *mut CBB,
10243 tag: CBS_ASN1_TAG,
10244 data: *const u8,
10245 data_len: usize,
10246 ) -> ::core::ffi::c_int;
10247}
10248unsafe extern "C" {
10249 pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10250}
10251unsafe extern "C" {
10252 pub fn CBB_add_asn1_uint64_with_tag(
10253 cbb: *mut CBB,
10254 value: u64,
10255 tag: CBS_ASN1_TAG,
10256 ) -> ::core::ffi::c_int;
10257}
10258unsafe extern "C" {
10259 pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::core::ffi::c_int;
10260}
10261unsafe extern "C" {
10262 pub fn CBB_add_asn1_int64_with_tag(
10263 cbb: *mut CBB,
10264 value: i64,
10265 tag: CBS_ASN1_TAG,
10266 ) -> ::core::ffi::c_int;
10267}
10268unsafe extern "C" {
10269 pub fn CBB_add_asn1_octet_string(
10270 cbb: *mut CBB,
10271 data: *const u8,
10272 data_len: usize,
10273 ) -> ::core::ffi::c_int;
10274}
10275unsafe extern "C" {
10276 pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::core::ffi::c_int) -> ::core::ffi::c_int;
10277}
10278unsafe extern "C" {
10279 pub fn CBB_add_asn1_oid_from_text(
10280 cbb: *mut CBB,
10281 text: *const ::core::ffi::c_char,
10282 len: usize,
10283 ) -> ::core::ffi::c_int;
10284}
10285unsafe extern "C" {
10286 pub fn CBB_add_asn1_relative_oid_from_text(
10287 cbb: *mut CBB,
10288 text: *const ::core::ffi::c_char,
10289 len: usize,
10290 ) -> ::core::ffi::c_int;
10291}
10292unsafe extern "C" {
10293 pub fn CBB_add_asn1_relative_oid_from_der_to_text(
10294 cbb: *mut CBB,
10295 data: *const u8,
10296 data_len: usize,
10297 ) -> ::core::ffi::c_int;
10298}
10299unsafe extern "C" {
10300 pub fn CBB_add_asn1_oid_component(cbb: *mut CBB, value: u64) -> ::core::ffi::c_int;
10301}
10302unsafe extern "C" {
10303 pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::core::ffi::c_int;
10304}
10305unsafe extern "C" {
10306 pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10307}
10308unsafe extern "C" {
10309 pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10310}
10311unsafe extern "C" {
10312 pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10313}
10314unsafe extern "C" {
10315 pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::core::ffi::c_int;
10316}
10317unsafe extern "C" {
10318 pub fn CBB_get_utf8_len(u: u32) -> usize;
10319}
10320unsafe extern "C" {
10321 pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10322}
10323unsafe extern "C" {
10324 pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10325}
10326unsafe extern "C" {
10327 pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10328}
10329unsafe extern "C" {
10330 pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::core::ffi::c_int;
10331}
10332#[repr(C)]
10333#[derive(Debug, Copy, Clone)]
10334pub struct cast_key_st {
10335 pub data: [u32; 32usize],
10336 pub short_key: ::core::ffi::c_int,
10337}
10338pub type CAST_KEY = cast_key_st;
10339unsafe extern "C" {
10340 pub fn CAST_set_key(key: *mut CAST_KEY, len: usize, data: *const u8);
10341}
10342unsafe extern "C" {
10343 pub fn CAST_ecb_encrypt(
10344 in_: *const u8,
10345 out: *mut u8,
10346 key: *const CAST_KEY,
10347 enc: ::core::ffi::c_int,
10348 );
10349}
10350unsafe extern "C" {
10351 pub fn CAST_encrypt(data: *mut u32, key: *const CAST_KEY);
10352}
10353unsafe extern "C" {
10354 pub fn CAST_decrypt(data: *mut u32, key: *const CAST_KEY);
10355}
10356unsafe extern "C" {
10357 pub fn CAST_cbc_encrypt(
10358 in_: *const u8,
10359 out: *mut u8,
10360 length: usize,
10361 ks: *const CAST_KEY,
10362 iv: *mut u8,
10363 enc: ::core::ffi::c_int,
10364 );
10365}
10366unsafe extern "C" {
10367 pub fn CAST_cfb64_encrypt(
10368 in_: *const u8,
10369 out: *mut u8,
10370 length: usize,
10371 schedule: *const CAST_KEY,
10372 ivec: *mut u8,
10373 num: *mut ::core::ffi::c_int,
10374 enc: ::core::ffi::c_int,
10375 );
10376}
10377unsafe extern "C" {
10378 pub fn CRYPTO_chacha_20(
10379 out: *mut u8,
10380 in_: *const u8,
10381 in_len: usize,
10382 key: *const u8,
10383 nonce: *const u8,
10384 counter: u32,
10385 );
10386}
10387unsafe extern "C" {
10388 pub fn EVP_rc4() -> *const EVP_CIPHER;
10389}
10390unsafe extern "C" {
10391 pub fn EVP_des_cbc() -> *const EVP_CIPHER;
10392}
10393unsafe extern "C" {
10394 pub fn EVP_des_ecb() -> *const EVP_CIPHER;
10395}
10396unsafe extern "C" {
10397 pub fn EVP_des_ede() -> *const EVP_CIPHER;
10398}
10399unsafe extern "C" {
10400 pub fn EVP_des_ede3() -> *const EVP_CIPHER;
10401}
10402unsafe extern "C" {
10403 pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
10404}
10405unsafe extern "C" {
10406 pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
10407}
10408unsafe extern "C" {
10409 pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
10410}
10411unsafe extern "C" {
10412 pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
10413}
10414unsafe extern "C" {
10415 pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
10416}
10417unsafe extern "C" {
10418 pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
10419}
10420unsafe extern "C" {
10421 pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
10422}
10423unsafe extern "C" {
10424 pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
10425}
10426unsafe extern "C" {
10427 pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
10428}
10429unsafe extern "C" {
10430 pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
10431}
10432unsafe extern "C" {
10433 pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
10434}
10435unsafe extern "C" {
10436 pub fn EVP_enc_null() -> *const EVP_CIPHER;
10437}
10438unsafe extern "C" {
10439 pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
10440}
10441unsafe extern "C" {
10442 pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
10443}
10444unsafe extern "C" {
10445 pub fn EVP_get_cipherbynid(nid: ::core::ffi::c_int) -> *const EVP_CIPHER;
10446}
10447unsafe extern "C" {
10448 pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
10449}
10450unsafe extern "C" {
10451 pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
10452}
10453unsafe extern "C" {
10454 pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10455}
10456unsafe extern "C" {
10457 pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
10458}
10459unsafe extern "C" {
10460 pub fn EVP_CIPHER_CTX_copy(
10461 out: *mut EVP_CIPHER_CTX,
10462 in_: *const EVP_CIPHER_CTX,
10463 ) -> ::core::ffi::c_int;
10464}
10465unsafe extern "C" {
10466 pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10467}
10468unsafe extern "C" {
10469 pub fn EVP_CipherInit_ex(
10470 ctx: *mut EVP_CIPHER_CTX,
10471 cipher: *const EVP_CIPHER,
10472 engine: *mut ENGINE,
10473 key: *const u8,
10474 iv: *const u8,
10475 enc: ::core::ffi::c_int,
10476 ) -> ::core::ffi::c_int;
10477}
10478unsafe extern "C" {
10479 pub fn EVP_EncryptInit_ex(
10480 ctx: *mut EVP_CIPHER_CTX,
10481 cipher: *const EVP_CIPHER,
10482 impl_: *mut ENGINE,
10483 key: *const u8,
10484 iv: *const u8,
10485 ) -> ::core::ffi::c_int;
10486}
10487unsafe extern "C" {
10488 pub fn EVP_DecryptInit_ex(
10489 ctx: *mut EVP_CIPHER_CTX,
10490 cipher: *const EVP_CIPHER,
10491 impl_: *mut ENGINE,
10492 key: *const u8,
10493 iv: *const u8,
10494 ) -> ::core::ffi::c_int;
10495}
10496unsafe extern "C" {
10497 pub fn EVP_EncryptUpdate_ex(
10498 ctx: *mut EVP_CIPHER_CTX,
10499 out: *mut u8,
10500 out_len: *mut usize,
10501 max_out_len: usize,
10502 in_: *const u8,
10503 in_len: usize,
10504 ) -> ::core::ffi::c_int;
10505}
10506unsafe extern "C" {
10507 pub fn EVP_EncryptFinal_ex2(
10508 ctx: *mut EVP_CIPHER_CTX,
10509 out: *mut u8,
10510 out_len: *mut usize,
10511 max_out_len: usize,
10512 ) -> ::core::ffi::c_int;
10513}
10514unsafe extern "C" {
10515 pub fn EVP_DecryptUpdate_ex(
10516 ctx: *mut EVP_CIPHER_CTX,
10517 out: *mut u8,
10518 out_len: *mut usize,
10519 max_out_len: usize,
10520 in_: *const u8,
10521 in_len: usize,
10522 ) -> ::core::ffi::c_int;
10523}
10524unsafe extern "C" {
10525 pub fn EVP_DecryptFinal_ex2(
10526 ctx: *mut EVP_CIPHER_CTX,
10527 out: *mut u8,
10528 out_len: *mut usize,
10529 max_out_len: usize,
10530 ) -> ::core::ffi::c_int;
10531}
10532unsafe extern "C" {
10533 pub fn EVP_CipherUpdate_ex(
10534 ctx: *mut EVP_CIPHER_CTX,
10535 out: *mut u8,
10536 out_len: *mut usize,
10537 max_out_len: usize,
10538 in_: *const u8,
10539 in_len: usize,
10540 ) -> ::core::ffi::c_int;
10541}
10542unsafe extern "C" {
10543 pub fn EVP_CipherUpdateAAD(
10544 ctx: *mut EVP_CIPHER_CTX,
10545 in_: *const u8,
10546 in_len: usize,
10547 ) -> ::core::ffi::c_int;
10548}
10549unsafe extern "C" {
10550 pub fn EVP_CipherFinal_ex2(
10551 ctx: *mut EVP_CIPHER_CTX,
10552 out: *mut u8,
10553 out_len: *mut usize,
10554 max_out_len: usize,
10555 ) -> ::core::ffi::c_int;
10556}
10557unsafe extern "C" {
10558 pub fn EVP_CIPHER_CTX_max_next_update(ctx: *const EVP_CIPHER_CTX, in_len: usize) -> usize;
10559}
10560unsafe extern "C" {
10561 pub fn EVP_CIPHER_CTX_max_final(ctx: *const EVP_CIPHER_CTX) -> usize;
10562}
10563unsafe extern "C" {
10564 pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
10565}
10566unsafe extern "C" {
10567 pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10568}
10569unsafe extern "C" {
10570 pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_int;
10571}
10572unsafe extern "C" {
10573 pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10574}
10575unsafe extern "C" {
10576 pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10577}
10578unsafe extern "C" {
10579 pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::core::ffi::c_uint;
10580}
10581unsafe extern "C" {
10582 pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::core::ffi::c_void;
10583}
10584unsafe extern "C" {
10585 pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::core::ffi::c_void);
10586}
10587unsafe extern "C" {
10588 pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
10589}
10590unsafe extern "C" {
10591 pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
10592}
10593unsafe extern "C" {
10594 pub fn EVP_CIPHER_CTX_ctrl(
10595 ctx: *mut EVP_CIPHER_CTX,
10596 command: ::core::ffi::c_int,
10597 arg: ::core::ffi::c_int,
10598 ptr: *mut ::core::ffi::c_void,
10599 ) -> ::core::ffi::c_int;
10600}
10601unsafe extern "C" {
10602 pub fn EVP_CIPHER_CTX_set_padding(
10603 ctx: *mut EVP_CIPHER_CTX,
10604 pad: ::core::ffi::c_int,
10605 ) -> ::core::ffi::c_int;
10606}
10607unsafe extern "C" {
10608 pub fn EVP_CIPHER_CTX_set_key_length(
10609 ctx: *mut EVP_CIPHER_CTX,
10610 key_len: ::core::ffi::c_uint,
10611 ) -> ::core::ffi::c_int;
10612}
10613unsafe extern "C" {
10614 pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::core::ffi::c_int;
10615}
10616unsafe extern "C" {
10617 pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10618}
10619unsafe extern "C" {
10620 pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10621}
10622unsafe extern "C" {
10623 pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::core::ffi::c_uint;
10624}
10625unsafe extern "C" {
10626 pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
10627}
10628unsafe extern "C" {
10629 pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
10630}
10631unsafe extern "C" {
10632 pub fn EVP_BytesToKey(
10633 type_: *const EVP_CIPHER,
10634 md: *const EVP_MD,
10635 salt: *const u8,
10636 data: *const u8,
10637 data_len: usize,
10638 count: ::core::ffi::c_uint,
10639 key: *mut u8,
10640 iv: *mut u8,
10641 ) -> ::core::ffi::c_int;
10642}
10643unsafe extern "C" {
10644 pub fn EVP_CipherInit(
10645 ctx: *mut EVP_CIPHER_CTX,
10646 cipher: *const EVP_CIPHER,
10647 key: *const u8,
10648 iv: *const u8,
10649 enc: ::core::ffi::c_int,
10650 ) -> ::core::ffi::c_int;
10651}
10652unsafe extern "C" {
10653 pub fn EVP_EncryptInit(
10654 ctx: *mut EVP_CIPHER_CTX,
10655 cipher: *const EVP_CIPHER,
10656 key: *const u8,
10657 iv: *const u8,
10658 ) -> ::core::ffi::c_int;
10659}
10660unsafe extern "C" {
10661 pub fn EVP_DecryptInit(
10662 ctx: *mut EVP_CIPHER_CTX,
10663 cipher: *const EVP_CIPHER,
10664 key: *const u8,
10665 iv: *const u8,
10666 ) -> ::core::ffi::c_int;
10667}
10668unsafe extern "C" {
10669 pub fn EVP_CipherUpdate(
10670 ctx: *mut EVP_CIPHER_CTX,
10671 out: *mut u8,
10672 out_len: *mut ::core::ffi::c_int,
10673 in_: *const u8,
10674 in_len: ::core::ffi::c_int,
10675 ) -> ::core::ffi::c_int;
10676}
10677unsafe extern "C" {
10678 pub fn EVP_EncryptUpdate(
10679 ctx: *mut EVP_CIPHER_CTX,
10680 out: *mut u8,
10681 out_len: *mut ::core::ffi::c_int,
10682 in_: *const u8,
10683 in_len: ::core::ffi::c_int,
10684 ) -> ::core::ffi::c_int;
10685}
10686unsafe extern "C" {
10687 pub fn EVP_DecryptUpdate(
10688 ctx: *mut EVP_CIPHER_CTX,
10689 out: *mut u8,
10690 out_len: *mut ::core::ffi::c_int,
10691 in_: *const u8,
10692 in_len: ::core::ffi::c_int,
10693 ) -> ::core::ffi::c_int;
10694}
10695unsafe extern "C" {
10696 pub fn EVP_CipherFinal(
10697 ctx: *mut EVP_CIPHER_CTX,
10698 out: *mut u8,
10699 out_len: *mut ::core::ffi::c_int,
10700 ) -> ::core::ffi::c_int;
10701}
10702unsafe extern "C" {
10703 pub fn EVP_CipherFinal_ex(
10704 ctx: *mut EVP_CIPHER_CTX,
10705 out: *mut u8,
10706 out_len: *mut ::core::ffi::c_int,
10707 ) -> ::core::ffi::c_int;
10708}
10709unsafe extern "C" {
10710 pub fn EVP_EncryptFinal(
10711 ctx: *mut EVP_CIPHER_CTX,
10712 out: *mut u8,
10713 out_len: *mut ::core::ffi::c_int,
10714 ) -> ::core::ffi::c_int;
10715}
10716unsafe extern "C" {
10717 pub fn EVP_EncryptFinal_ex(
10718 ctx: *mut EVP_CIPHER_CTX,
10719 out: *mut u8,
10720 out_len: *mut ::core::ffi::c_int,
10721 ) -> ::core::ffi::c_int;
10722}
10723unsafe extern "C" {
10724 pub fn EVP_DecryptFinal(
10725 ctx: *mut EVP_CIPHER_CTX,
10726 out: *mut u8,
10727 out_len: *mut ::core::ffi::c_int,
10728 ) -> ::core::ffi::c_int;
10729}
10730unsafe extern "C" {
10731 pub fn EVP_DecryptFinal_ex(
10732 ctx: *mut EVP_CIPHER_CTX,
10733 out: *mut u8,
10734 out_len: *mut ::core::ffi::c_int,
10735 ) -> ::core::ffi::c_int;
10736}
10737unsafe extern "C" {
10738 pub fn EVP_Cipher(
10739 ctx: *mut EVP_CIPHER_CTX,
10740 out: *mut u8,
10741 in_: *const u8,
10742 in_len: usize,
10743 ) -> ::core::ffi::c_int;
10744}
10745unsafe extern "C" {
10746 pub fn EVP_add_cipher_alias(
10747 a: *const ::core::ffi::c_char,
10748 b: *const ::core::ffi::c_char,
10749 ) -> ::core::ffi::c_int;
10750}
10751unsafe extern "C" {
10752 pub fn EVP_get_cipherbyname(name: *const ::core::ffi::c_char) -> *const EVP_CIPHER;
10753}
10754unsafe extern "C" {
10755 pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
10756}
10757unsafe extern "C" {
10758 pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
10759}
10760unsafe extern "C" {
10761 pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
10762}
10763unsafe extern "C" {
10764 pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
10765}
10766unsafe extern "C" {
10767 pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
10768}
10769unsafe extern "C" {
10770 pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
10771}
10772unsafe extern "C" {
10773 pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
10774}
10775unsafe extern "C" {
10776 pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
10777}
10778unsafe extern "C" {
10779 pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
10780}
10781unsafe extern "C" {
10782 pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
10783}
10784unsafe extern "C" {
10785 pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
10786}
10787unsafe extern "C" {
10788 pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
10789}
10790unsafe extern "C" {
10791 pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
10792}
10793unsafe extern "C" {
10794 pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
10795}
10796unsafe extern "C" {
10797 pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
10798}
10799unsafe extern "C" {
10800 pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
10801}
10802unsafe extern "C" {
10803 pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
10804}
10805unsafe extern "C" {
10806 pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
10807}
10808unsafe extern "C" {
10809 pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
10810}
10811unsafe extern "C" {
10812 pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
10813}
10814#[repr(C)]
10815#[derive(Debug, Copy, Clone)]
10816pub struct evp_cipher_ctx_st {
10817 pub cipher: *const EVP_CIPHER,
10818 pub app_data: *mut ::core::ffi::c_void,
10819 pub cipher_data: *mut ::core::ffi::c_void,
10820 pub key_len: ::core::ffi::c_uint,
10821 pub encrypt: ::core::ffi::c_int,
10822 pub flags: u32,
10823 pub oiv: [u8; 16usize],
10824 pub iv: [u8; 16usize],
10825 pub buf: [u8; 32usize],
10826 pub buf_len: ::core::ffi::c_int,
10827 pub num: ::core::ffi::c_uint,
10828 pub final_used: ::core::ffi::c_int,
10829 pub final_: [u8; 32usize],
10830}
10831#[repr(C)]
10832#[derive(Debug, Copy, Clone)]
10833pub struct evp_cipher_info_st {
10834 pub cipher: *const EVP_CIPHER,
10835 pub iv: [::core::ffi::c_uchar; 16usize],
10836}
10837pub type EVP_CIPHER_INFO = evp_cipher_info_st;
10838unsafe extern "C" {
10839 pub fn AES_CMAC(
10840 out: *mut u8,
10841 key: *const u8,
10842 key_len: usize,
10843 in_: *const u8,
10844 in_len: usize,
10845 ) -> ::core::ffi::c_int;
10846}
10847unsafe extern "C" {
10848 pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
10849}
10850unsafe extern "C" {
10851 pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
10852}
10853unsafe extern "C" {
10854 pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::core::ffi::c_int;
10855}
10856unsafe extern "C" {
10857 pub fn CMAC_Init(
10858 ctx: *mut CMAC_CTX,
10859 key: *const ::core::ffi::c_void,
10860 key_len: usize,
10861 cipher: *const EVP_CIPHER,
10862 engine: *mut ENGINE,
10863 ) -> ::core::ffi::c_int;
10864}
10865unsafe extern "C" {
10866 pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::core::ffi::c_int;
10867}
10868unsafe extern "C" {
10869 pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::core::ffi::c_int;
10870}
10871unsafe extern "C" {
10872 pub fn CMAC_Final(ctx: *mut CMAC_CTX, out: *mut u8, out_len: *mut usize) -> ::core::ffi::c_int;
10873}
10874#[repr(C)]
10875#[derive(Debug, Copy, Clone)]
10876pub struct conf_value_st {
10877 pub section: *mut ::core::ffi::c_char,
10878 pub name: *mut ::core::ffi::c_char,
10879 pub value: *mut ::core::ffi::c_char,
10880}
10881#[repr(C)]
10882#[derive(Debug)]
10883pub struct stack_st_CONF_VALUE {
10884 _unused: [u8; 0],
10885}
10886pub type sk_CONF_VALUE_free_func =
10887 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
10888pub type sk_CONF_VALUE_copy_func =
10889 ::core::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
10890pub type sk_CONF_VALUE_cmp_func = ::core::option::Option<
10891 unsafe extern "C" fn(
10892 arg1: *const *const CONF_VALUE,
10893 arg2: *const *const CONF_VALUE,
10894 ) -> ::core::ffi::c_int,
10895>;
10896pub type sk_CONF_VALUE_delete_if_func = ::core::option::Option<
10897 unsafe extern "C" fn(
10898 arg1: *mut CONF_VALUE,
10899 arg2: *mut ::core::ffi::c_void,
10900 ) -> ::core::ffi::c_int,
10901>;
10902unsafe extern "C" {
10903 #[link_name = "sk_CONF_VALUE_call_free_func__extern"]
10904 pub fn sk_CONF_VALUE_call_free_func(
10905 free_func: OPENSSL_sk_free_func,
10906 ptr: *mut ::core::ffi::c_void,
10907 );
10908}
10909unsafe extern "C" {
10910 #[link_name = "sk_CONF_VALUE_call_copy_func__extern"]
10911 pub fn sk_CONF_VALUE_call_copy_func(
10912 copy_func: OPENSSL_sk_copy_func,
10913 ptr: *const ::core::ffi::c_void,
10914 ) -> *mut ::core::ffi::c_void;
10915}
10916unsafe extern "C" {
10917 #[link_name = "sk_CONF_VALUE_call_cmp_func__extern"]
10918 pub fn sk_CONF_VALUE_call_cmp_func(
10919 cmp_func: OPENSSL_sk_cmp_func,
10920 a: *const ::core::ffi::c_void,
10921 b: *const ::core::ffi::c_void,
10922 ) -> ::core::ffi::c_int;
10923}
10924unsafe extern "C" {
10925 #[link_name = "sk_CONF_VALUE_call_delete_if_func__extern"]
10926 pub fn sk_CONF_VALUE_call_delete_if_func(
10927 func: OPENSSL_sk_delete_if_func,
10928 obj: *mut ::core::ffi::c_void,
10929 data: *mut ::core::ffi::c_void,
10930 ) -> ::core::ffi::c_int;
10931}
10932unsafe extern "C" {
10933 #[link_name = "sk_CONF_VALUE_new__extern"]
10934 pub fn sk_CONF_VALUE_new(comp: sk_CONF_VALUE_cmp_func) -> *mut stack_st_CONF_VALUE;
10935}
10936unsafe extern "C" {
10937 #[link_name = "sk_CONF_VALUE_new_null__extern"]
10938 pub fn sk_CONF_VALUE_new_null() -> *mut stack_st_CONF_VALUE;
10939}
10940unsafe extern "C" {
10941 #[link_name = "sk_CONF_VALUE_num__extern"]
10942 pub fn sk_CONF_VALUE_num(sk: *const stack_st_CONF_VALUE) -> usize;
10943}
10944unsafe extern "C" {
10945 #[link_name = "sk_CONF_VALUE_zero__extern"]
10946 pub fn sk_CONF_VALUE_zero(sk: *mut stack_st_CONF_VALUE);
10947}
10948unsafe extern "C" {
10949 #[link_name = "sk_CONF_VALUE_value__extern"]
10950 pub fn sk_CONF_VALUE_value(sk: *const stack_st_CONF_VALUE, i: usize) -> *mut CONF_VALUE;
10951}
10952unsafe extern "C" {
10953 #[link_name = "sk_CONF_VALUE_last__extern"]
10954 pub fn sk_CONF_VALUE_last(sk: *const stack_st_CONF_VALUE) -> *mut CONF_VALUE;
10955}
10956unsafe extern "C" {
10957 #[link_name = "sk_CONF_VALUE_set__extern"]
10958 pub fn sk_CONF_VALUE_set(
10959 sk: *mut stack_st_CONF_VALUE,
10960 i: usize,
10961 p: *mut CONF_VALUE,
10962 ) -> *mut CONF_VALUE;
10963}
10964unsafe extern "C" {
10965 #[link_name = "sk_CONF_VALUE_free__extern"]
10966 pub fn sk_CONF_VALUE_free(sk: *mut stack_st_CONF_VALUE);
10967}
10968unsafe extern "C" {
10969 #[link_name = "sk_CONF_VALUE_pop_free__extern"]
10970 pub fn sk_CONF_VALUE_pop_free(sk: *mut stack_st_CONF_VALUE, free_func: sk_CONF_VALUE_free_func);
10971}
10972unsafe extern "C" {
10973 #[link_name = "sk_CONF_VALUE_insert__extern"]
10974 pub fn sk_CONF_VALUE_insert(
10975 sk: *mut stack_st_CONF_VALUE,
10976 p: *mut CONF_VALUE,
10977 where_: usize,
10978 ) -> usize;
10979}
10980unsafe extern "C" {
10981 #[link_name = "sk_CONF_VALUE_delete__extern"]
10982 pub fn sk_CONF_VALUE_delete(sk: *mut stack_st_CONF_VALUE, where_: usize) -> *mut CONF_VALUE;
10983}
10984unsafe extern "C" {
10985 #[link_name = "sk_CONF_VALUE_delete_ptr__extern"]
10986 pub fn sk_CONF_VALUE_delete_ptr(
10987 sk: *mut stack_st_CONF_VALUE,
10988 p: *const CONF_VALUE,
10989 ) -> *mut CONF_VALUE;
10990}
10991unsafe extern "C" {
10992 #[link_name = "sk_CONF_VALUE_delete_if__extern"]
10993 pub fn sk_CONF_VALUE_delete_if(
10994 sk: *mut stack_st_CONF_VALUE,
10995 func: sk_CONF_VALUE_delete_if_func,
10996 data: *mut ::core::ffi::c_void,
10997 );
10998}
10999unsafe extern "C" {
11000 #[link_name = "sk_CONF_VALUE_find__extern"]
11001 pub fn sk_CONF_VALUE_find(
11002 sk: *const stack_st_CONF_VALUE,
11003 out_index: *mut usize,
11004 p: *const CONF_VALUE,
11005 ) -> ::core::ffi::c_int;
11006}
11007unsafe extern "C" {
11008 #[link_name = "sk_CONF_VALUE_shift__extern"]
11009 pub fn sk_CONF_VALUE_shift(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
11010}
11011unsafe extern "C" {
11012 #[link_name = "sk_CONF_VALUE_push__extern"]
11013 pub fn sk_CONF_VALUE_push(sk: *mut stack_st_CONF_VALUE, p: *mut CONF_VALUE) -> usize;
11014}
11015unsafe extern "C" {
11016 #[link_name = "sk_CONF_VALUE_pop__extern"]
11017 pub fn sk_CONF_VALUE_pop(sk: *mut stack_st_CONF_VALUE) -> *mut CONF_VALUE;
11018}
11019unsafe extern "C" {
11020 #[link_name = "sk_CONF_VALUE_dup__extern"]
11021 pub fn sk_CONF_VALUE_dup(sk: *const stack_st_CONF_VALUE) -> *mut stack_st_CONF_VALUE;
11022}
11023unsafe extern "C" {
11024 #[link_name = "sk_CONF_VALUE_sort__extern"]
11025 pub fn sk_CONF_VALUE_sort(sk: *mut stack_st_CONF_VALUE);
11026}
11027unsafe extern "C" {
11028 #[link_name = "sk_CONF_VALUE_sort_and_dedup__extern"]
11029 pub fn sk_CONF_VALUE_sort_and_dedup(
11030 sk: *mut stack_st_CONF_VALUE,
11031 free_func: sk_CONF_VALUE_free_func,
11032 );
11033}
11034unsafe extern "C" {
11035 #[link_name = "sk_CONF_VALUE_is_sorted__extern"]
11036 pub fn sk_CONF_VALUE_is_sorted(sk: *const stack_st_CONF_VALUE) -> ::core::ffi::c_int;
11037}
11038unsafe extern "C" {
11039 #[link_name = "sk_CONF_VALUE_set_cmp_func__extern"]
11040 pub fn sk_CONF_VALUE_set_cmp_func(
11041 sk: *mut stack_st_CONF_VALUE,
11042 comp: sk_CONF_VALUE_cmp_func,
11043 ) -> sk_CONF_VALUE_cmp_func;
11044}
11045unsafe extern "C" {
11046 #[link_name = "sk_CONF_VALUE_deep_copy__extern"]
11047 pub fn sk_CONF_VALUE_deep_copy(
11048 sk: *const stack_st_CONF_VALUE,
11049 copy_func: sk_CONF_VALUE_copy_func,
11050 free_func: sk_CONF_VALUE_free_func,
11051 ) -> *mut stack_st_CONF_VALUE;
11052}
11053unsafe extern "C" {
11054 pub fn NCONF_new(method: *mut ::core::ffi::c_void) -> *mut CONF;
11055}
11056unsafe extern "C" {
11057 pub fn NCONF_free(conf: *mut CONF);
11058}
11059unsafe extern "C" {
11060 pub fn NCONF_load(
11061 conf: *mut CONF,
11062 filename: *const ::core::ffi::c_char,
11063 out_error_line: *mut ::core::ffi::c_long,
11064 ) -> ::core::ffi::c_int;
11065}
11066unsafe extern "C" {
11067 pub fn NCONF_load_bio(
11068 conf: *mut CONF,
11069 bio: *mut BIO,
11070 out_error_line: *mut ::core::ffi::c_long,
11071 ) -> ::core::ffi::c_int;
11072}
11073unsafe extern "C" {
11074 pub fn NCONF_get_section(
11075 conf: *const CONF,
11076 section: *const ::core::ffi::c_char,
11077 ) -> *const stack_st_CONF_VALUE;
11078}
11079unsafe extern "C" {
11080 pub fn NCONF_get_string(
11081 conf: *const CONF,
11082 section: *const ::core::ffi::c_char,
11083 name: *const ::core::ffi::c_char,
11084 ) -> *const ::core::ffi::c_char;
11085}
11086unsafe extern "C" {
11087 pub fn CONF_modules_load_file(
11088 filename: *const ::core::ffi::c_char,
11089 appname: *const ::core::ffi::c_char,
11090 flags: ::core::ffi::c_ulong,
11091 ) -> ::core::ffi::c_int;
11092}
11093unsafe extern "C" {
11094 pub fn CONF_modules_unload(all: ::core::ffi::c_int);
11095}
11096unsafe extern "C" {
11097 pub fn CONF_modules_free();
11098}
11099unsafe extern "C" {
11100 pub fn OPENSSL_config(config_name: *const ::core::ffi::c_char);
11101}
11102unsafe extern "C" {
11103 pub fn OPENSSL_no_config();
11104}
11105unsafe extern "C" {
11106 pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11107}
11108unsafe extern "C" {
11109 pub fn SHA224_Update(
11110 sha: *mut SHA256_CTX,
11111 data: *const ::core::ffi::c_void,
11112 len: usize,
11113 ) -> ::core::ffi::c_int;
11114}
11115unsafe extern "C" {
11116 pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11117}
11118unsafe extern "C" {
11119 pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11120}
11121unsafe extern "C" {
11122 pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11123}
11124unsafe extern "C" {
11125 pub fn SHA256_Update(
11126 sha: *mut SHA256_CTX,
11127 data: *const ::core::ffi::c_void,
11128 len: usize,
11129 ) -> ::core::ffi::c_int;
11130}
11131unsafe extern "C" {
11132 pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::core::ffi::c_int;
11133}
11134unsafe extern "C" {
11135 pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11136}
11137unsafe extern "C" {
11138 pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
11139}
11140unsafe extern "C" {
11141 pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
11142}
11143#[repr(C)]
11144#[derive(Debug, Copy, Clone)]
11145pub struct sha256_state_st {
11146 pub h: [u32; 8usize],
11147 pub Nl: u32,
11148 pub Nh: u32,
11149 pub data: [u8; 64usize],
11150 pub num: ::core::ffi::c_uint,
11151 pub md_len: ::core::ffi::c_uint,
11152}
11153unsafe extern "C" {
11154 pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11155}
11156unsafe extern "C" {
11157 pub fn SHA384_Update(
11158 sha: *mut SHA512_CTX,
11159 data: *const ::core::ffi::c_void,
11160 len: usize,
11161 ) -> ::core::ffi::c_int;
11162}
11163unsafe extern "C" {
11164 pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11165}
11166unsafe extern "C" {
11167 pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11168}
11169unsafe extern "C" {
11170 pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11171}
11172unsafe extern "C" {
11173 pub fn SHA512_Update(
11174 sha: *mut SHA512_CTX,
11175 data: *const ::core::ffi::c_void,
11176 len: usize,
11177 ) -> ::core::ffi::c_int;
11178}
11179unsafe extern "C" {
11180 pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11181}
11182unsafe extern "C" {
11183 pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11184}
11185unsafe extern "C" {
11186 pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
11187}
11188#[repr(C)]
11189#[derive(Debug, Copy, Clone)]
11190pub struct sha512_state_st {
11191 pub h: [u64; 8usize],
11192 pub num: u16,
11193 pub md_len: u16,
11194 pub bytes_so_far_high: u32,
11195 pub bytes_so_far_low: u64,
11196 pub p: [u8; 128usize],
11197}
11198unsafe extern "C" {
11199 pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11200}
11201unsafe extern "C" {
11202 pub fn SHA512_256_Update(
11203 sha: *mut SHA512_CTX,
11204 data: *const ::core::ffi::c_void,
11205 len: usize,
11206 ) -> ::core::ffi::c_int;
11207}
11208unsafe extern "C" {
11209 pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::core::ffi::c_int;
11210}
11211unsafe extern "C" {
11212 pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11213}
11214unsafe extern "C" {
11215 pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11216}
11217unsafe extern "C" {
11218 pub fn SHA1_Update(
11219 sha: *mut SHA_CTX,
11220 data: *const ::core::ffi::c_void,
11221 len: usize,
11222 ) -> ::core::ffi::c_int;
11223}
11224unsafe extern "C" {
11225 pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::core::ffi::c_int;
11226}
11227unsafe extern "C" {
11228 pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
11229}
11230unsafe extern "C" {
11231 pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
11232}
11233#[repr(C)]
11234#[derive(Copy, Clone)]
11235pub struct sha_state_st {
11236 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1,
11237 pub Nl: u32,
11238 pub Nh: u32,
11239 pub data: [u8; 64usize],
11240 pub num: ::core::ffi::c_uint,
11241}
11242#[repr(C)]
11243#[derive(Copy, Clone)]
11244pub union sha_state_st__bindgen_ty_1 {
11245 pub h: [u32; 5usize],
11246 pub __bindgen_anon_1: sha_state_st__bindgen_ty_1__bindgen_ty_1,
11247}
11248#[repr(C)]
11249#[derive(Debug, Copy, Clone)]
11250pub struct sha_state_st__bindgen_ty_1__bindgen_ty_1 {
11251 pub h0: u32,
11252 pub h1: u32,
11253 pub h2: u32,
11254 pub h3: u32,
11255 pub h4: u32,
11256}
11257unsafe extern "C" {
11258 pub fn CRYPTO_fips_186_2_prf(out: *mut u8, out_len: usize, xkey: *const u8);
11259}
11260unsafe extern "C" {
11261 pub fn OPENSSL_malloc(size: usize) -> *mut ::core::ffi::c_void;
11262}
11263unsafe extern "C" {
11264 pub fn OPENSSL_zalloc(size: usize) -> *mut ::core::ffi::c_void;
11265}
11266unsafe extern "C" {
11267 pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::core::ffi::c_void;
11268}
11269unsafe extern "C" {
11270 pub fn OPENSSL_realloc(
11271 ptr: *mut ::core::ffi::c_void,
11272 new_size: usize,
11273 ) -> *mut ::core::ffi::c_void;
11274}
11275unsafe extern "C" {
11276 pub fn OPENSSL_free(ptr: *mut ::core::ffi::c_void);
11277}
11278unsafe extern "C" {
11279 pub fn OPENSSL_cleanse(ptr: *mut ::core::ffi::c_void, len: usize);
11280}
11281unsafe extern "C" {
11282 pub fn CRYPTO_memcmp(
11283 a: *const ::core::ffi::c_void,
11284 b: *const ::core::ffi::c_void,
11285 len: usize,
11286 ) -> ::core::ffi::c_int;
11287}
11288unsafe extern "C" {
11289 pub fn OPENSSL_hash32(ptr: *const ::core::ffi::c_void, len: usize) -> u32;
11290}
11291unsafe extern "C" {
11292 pub fn OPENSSL_strhash(s: *const ::core::ffi::c_char) -> u32;
11293}
11294unsafe extern "C" {
11295 pub fn OPENSSL_strdup(s: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char;
11296}
11297unsafe extern "C" {
11298 pub fn OPENSSL_strnlen(s: *const ::core::ffi::c_char, len: usize) -> usize;
11299}
11300unsafe extern "C" {
11301 pub fn OPENSSL_isalpha(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11302}
11303unsafe extern "C" {
11304 pub fn OPENSSL_isdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11305}
11306unsafe extern "C" {
11307 pub fn OPENSSL_isxdigit(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11308}
11309unsafe extern "C" {
11310 pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11311}
11312unsafe extern "C" {
11313 pub fn OPENSSL_isalnum(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11314}
11315unsafe extern "C" {
11316 pub fn OPENSSL_tolower(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11317}
11318unsafe extern "C" {
11319 pub fn OPENSSL_isspace(c: ::core::ffi::c_int) -> ::core::ffi::c_int;
11320}
11321unsafe extern "C" {
11322 pub fn OPENSSL_strcasecmp(
11323 a: *const ::core::ffi::c_char,
11324 b: *const ::core::ffi::c_char,
11325 ) -> ::core::ffi::c_int;
11326}
11327unsafe extern "C" {
11328 pub fn OPENSSL_strncasecmp(
11329 a: *const ::core::ffi::c_char,
11330 b: *const ::core::ffi::c_char,
11331 n: usize,
11332 ) -> ::core::ffi::c_int;
11333}
11334unsafe extern "C" {
11335 pub fn BIO_snprintf(
11336 buf: *mut ::core::ffi::c_char,
11337 n: usize,
11338 format: *const ::core::ffi::c_char,
11339 ...
11340 ) -> ::core::ffi::c_int;
11341}
11342unsafe extern "C" {
11343 pub fn BIO_vsnprintf(
11344 buf: *mut ::core::ffi::c_char,
11345 n: usize,
11346 format: *const ::core::ffi::c_char,
11347 args: *mut __va_list_tag,
11348 ) -> ::core::ffi::c_int;
11349}
11350unsafe extern "C" {
11351 pub fn OPENSSL_vasprintf(
11352 str_: *mut *mut ::core::ffi::c_char,
11353 format: *const ::core::ffi::c_char,
11354 args: *mut __va_list_tag,
11355 ) -> ::core::ffi::c_int;
11356}
11357unsafe extern "C" {
11358 pub fn OPENSSL_asprintf(
11359 str_: *mut *mut ::core::ffi::c_char,
11360 format: *const ::core::ffi::c_char,
11361 ...
11362 ) -> ::core::ffi::c_int;
11363}
11364unsafe extern "C" {
11365 pub fn OPENSSL_strndup(
11366 str_: *const ::core::ffi::c_char,
11367 size: usize,
11368 ) -> *mut ::core::ffi::c_char;
11369}
11370unsafe extern "C" {
11371 pub fn OPENSSL_memdup(
11372 data: *const ::core::ffi::c_void,
11373 size: usize,
11374 ) -> *mut ::core::ffi::c_void;
11375}
11376unsafe extern "C" {
11377 pub fn OPENSSL_strlcpy(
11378 dst: *mut ::core::ffi::c_char,
11379 src: *const ::core::ffi::c_char,
11380 dst_size: usize,
11381 ) -> usize;
11382}
11383unsafe extern "C" {
11384 pub fn OPENSSL_strlcat(
11385 dst: *mut ::core::ffi::c_char,
11386 src: *const ::core::ffi::c_char,
11387 dst_size: usize,
11388 ) -> usize;
11389}
11390unsafe extern "C" {
11391 pub fn CRYPTO_malloc(
11392 size: usize,
11393 file: *const ::core::ffi::c_char,
11394 line: ::core::ffi::c_int,
11395 ) -> *mut ::core::ffi::c_void;
11396}
11397unsafe extern "C" {
11398 pub fn CRYPTO_realloc(
11399 ptr: *mut ::core::ffi::c_void,
11400 new_size: usize,
11401 file: *const ::core::ffi::c_char,
11402 line: ::core::ffi::c_int,
11403 ) -> *mut ::core::ffi::c_void;
11404}
11405unsafe extern "C" {
11406 pub fn CRYPTO_free(
11407 ptr: *mut ::core::ffi::c_void,
11408 file: *const ::core::ffi::c_char,
11409 line: ::core::ffi::c_int,
11410 );
11411}
11412unsafe extern "C" {
11413 pub fn OPENSSL_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11414}
11415unsafe extern "C" {
11416 pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::core::ffi::c_int;
11417}
11418unsafe extern "C" {
11419 pub fn CRYPTO_secure_malloc_initialized() -> ::core::ffi::c_int;
11420}
11421unsafe extern "C" {
11422 pub fn CRYPTO_secure_used() -> usize;
11423}
11424unsafe extern "C" {
11425 pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::core::ffi::c_void;
11426}
11427unsafe extern "C" {
11428 pub fn OPENSSL_secure_clear_free(ptr: *mut ::core::ffi::c_void, len: usize);
11429}
11430unsafe extern "C" {
11431 pub fn CRYPTO_num_locks() -> ::core::ffi::c_int;
11432}
11433unsafe extern "C" {
11434 pub fn CRYPTO_set_locking_callback(
11435 func: ::core::option::Option<
11436 unsafe extern "C" fn(
11437 mode: ::core::ffi::c_int,
11438 lock_num: ::core::ffi::c_int,
11439 file: *const ::core::ffi::c_char,
11440 line: ::core::ffi::c_int,
11441 ),
11442 >,
11443 );
11444}
11445unsafe extern "C" {
11446 pub fn CRYPTO_set_add_lock_callback(
11447 func: ::core::option::Option<
11448 unsafe extern "C" fn(
11449 num: *mut ::core::ffi::c_int,
11450 amount: ::core::ffi::c_int,
11451 lock_num: ::core::ffi::c_int,
11452 file: *const ::core::ffi::c_char,
11453 line: ::core::ffi::c_int,
11454 ) -> ::core::ffi::c_int,
11455 >,
11456 );
11457}
11458unsafe extern "C" {
11459 pub fn CRYPTO_get_locking_callback() -> ::core::option::Option<
11460 unsafe extern "C" fn(
11461 arg1: ::core::ffi::c_int,
11462 arg2: ::core::ffi::c_int,
11463 arg3: *const ::core::ffi::c_char,
11464 arg4: ::core::ffi::c_int,
11465 ),
11466 >;
11467}
11468unsafe extern "C" {
11469 pub fn CRYPTO_get_lock_name(lock_num: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11470}
11471unsafe extern "C" {
11472 pub fn CRYPTO_THREADID_set_callback(
11473 threadid_func: ::core::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
11474 ) -> ::core::ffi::c_int;
11475}
11476unsafe extern "C" {
11477 pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::core::ffi::c_ulong);
11478}
11479unsafe extern "C" {
11480 pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::core::ffi::c_void);
11481}
11482unsafe extern "C" {
11483 pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
11484}
11485unsafe extern "C" {
11486 pub fn CRYPTO_set_id_callback(
11487 func: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_ulong>,
11488 );
11489}
11490#[repr(C)]
11491#[derive(Debug, Copy, Clone)]
11492pub struct CRYPTO_dynlock {
11493 pub references: ::core::ffi::c_int,
11494 pub data: *mut CRYPTO_dynlock_value,
11495}
11496unsafe extern "C" {
11497 pub fn CRYPTO_set_dynlock_create_callback(
11498 dyn_create_function: ::core::option::Option<
11499 unsafe extern "C" fn(
11500 file: *const ::core::ffi::c_char,
11501 line: ::core::ffi::c_int,
11502 ) -> *mut CRYPTO_dynlock_value,
11503 >,
11504 );
11505}
11506unsafe extern "C" {
11507 pub fn CRYPTO_set_dynlock_lock_callback(
11508 dyn_lock_function: ::core::option::Option<
11509 unsafe extern "C" fn(
11510 mode: ::core::ffi::c_int,
11511 l: *mut CRYPTO_dynlock_value,
11512 file: *const ::core::ffi::c_char,
11513 line: ::core::ffi::c_int,
11514 ),
11515 >,
11516 );
11517}
11518unsafe extern "C" {
11519 pub fn CRYPTO_set_dynlock_destroy_callback(
11520 dyn_destroy_function: ::core::option::Option<
11521 unsafe extern "C" fn(
11522 l: *mut CRYPTO_dynlock_value,
11523 file: *const ::core::ffi::c_char,
11524 line: ::core::ffi::c_int,
11525 ),
11526 >,
11527 );
11528}
11529unsafe extern "C" {
11530 pub fn CRYPTO_get_dynlock_create_callback() -> ::core::option::Option<
11531 unsafe extern "C" fn(
11532 arg1: *const ::core::ffi::c_char,
11533 arg2: ::core::ffi::c_int,
11534 ) -> *mut CRYPTO_dynlock_value,
11535 >;
11536}
11537unsafe extern "C" {
11538 pub fn CRYPTO_get_dynlock_lock_callback() -> ::core::option::Option<
11539 unsafe extern "C" fn(
11540 arg1: ::core::ffi::c_int,
11541 arg2: *mut CRYPTO_dynlock_value,
11542 arg3: *const ::core::ffi::c_char,
11543 arg4: ::core::ffi::c_int,
11544 ),
11545 >;
11546}
11547unsafe extern "C" {
11548 pub fn CRYPTO_get_dynlock_destroy_callback() -> ::core::option::Option<
11549 unsafe extern "C" fn(
11550 arg1: *mut CRYPTO_dynlock_value,
11551 arg2: *const ::core::ffi::c_char,
11552 arg3: ::core::ffi::c_int,
11553 ),
11554 >;
11555}
11556unsafe extern "C" {
11557 pub fn CRYPTO_is_confidential_build() -> ::core::ffi::c_int;
11558}
11559unsafe extern "C" {
11560 pub fn CRYPTO_has_asm() -> ::core::ffi::c_int;
11561}
11562unsafe extern "C" {
11563 pub fn BORINGSSL_self_test() -> ::core::ffi::c_int;
11564}
11565unsafe extern "C" {
11566 pub fn BORINGSSL_self_test_all() -> ::core::ffi::c_int;
11567}
11568unsafe extern "C" {
11569 pub fn BORINGSSL_integrity_test() -> ::core::ffi::c_int;
11570}
11571unsafe extern "C" {
11572 pub fn CRYPTO_pre_sandbox_init();
11573}
11574unsafe extern "C" {
11575 pub fn FIPS_mode() -> ::core::ffi::c_int;
11576}
11577pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
11578pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
11579pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
11580pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
11581pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
11582pub type fips_counter_t = ::core::ffi::c_uint;
11583unsafe extern "C" {
11584 pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
11585}
11586unsafe extern "C" {
11587 pub fn OpenSSL_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11588}
11589unsafe extern "C" {
11590 pub fn SSLeay_version(which: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
11591}
11592unsafe extern "C" {
11593 pub fn SSLeay() -> ::core::ffi::c_ulong;
11594}
11595unsafe extern "C" {
11596 pub fn OpenSSL_version_num() -> ::core::ffi::c_ulong;
11597}
11598unsafe extern "C" {
11599 pub fn CRYPTO_malloc_init() -> ::core::ffi::c_int;
11600}
11601unsafe extern "C" {
11602 pub fn OPENSSL_malloc_init() -> ::core::ffi::c_int;
11603}
11604unsafe extern "C" {
11605 pub fn ENGINE_load_builtin_engines();
11606}
11607unsafe extern "C" {
11608 pub fn ENGINE_register_all_complete() -> ::core::ffi::c_int;
11609}
11610unsafe extern "C" {
11611 pub fn ENGINE_cleanup();
11612}
11613unsafe extern "C" {
11614 pub fn OPENSSL_load_builtin_modules();
11615}
11616unsafe extern "C" {
11617 pub fn OPENSSL_init_crypto(
11618 opts: u64,
11619 settings: *const OPENSSL_INIT_SETTINGS,
11620 ) -> ::core::ffi::c_int;
11621}
11622unsafe extern "C" {
11623 pub fn OPENSSL_cleanup();
11624}
11625unsafe extern "C" {
11626 pub fn FIPS_mode_set(on: ::core::ffi::c_int) -> ::core::ffi::c_int;
11627}
11628unsafe extern "C" {
11629 pub fn FIPS_module_name() -> *const ::core::ffi::c_char;
11630}
11631unsafe extern "C" {
11632 pub fn FIPS_module_hash() -> *const u8;
11633}
11634unsafe extern "C" {
11635 pub fn FIPS_version() -> u32;
11636}
11637unsafe extern "C" {
11638 pub fn FIPS_query_algorithm_status(algorithm: *const ::core::ffi::c_char)
11639 -> ::core::ffi::c_int;
11640}
11641unsafe extern "C" {
11642 pub fn CRYPTO_library_init();
11643}
11644unsafe extern "C" {
11645 pub fn CTR_DRBG_new(
11646 entropy: *const u8,
11647 personalization: *const u8,
11648 personalization_len: usize,
11649 ) -> *mut CTR_DRBG_STATE;
11650}
11651unsafe extern "C" {
11652 pub fn CTR_DRBG_new_df(
11653 entropy: *const u8,
11654 entropy_len: usize,
11655 nonce: *const u8,
11656 personalization: *const u8,
11657 personalization_len: usize,
11658 ) -> *mut CTR_DRBG_STATE;
11659}
11660unsafe extern "C" {
11661 pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
11662}
11663unsafe extern "C" {
11664 pub fn CTR_DRBG_reseed(
11665 drbg: *mut CTR_DRBG_STATE,
11666 entropy: *const u8,
11667 additional_data: *const u8,
11668 additional_data_len: usize,
11669 ) -> ::core::ffi::c_int;
11670}
11671unsafe extern "C" {
11672 pub fn CTR_DRBG_reseed_ex(
11673 drbg: *mut CTR_DRBG_STATE,
11674 entropy: *const u8,
11675 entropy_len: usize,
11676 additional_data: *const u8,
11677 additional_data_len: usize,
11678 ) -> ::core::ffi::c_int;
11679}
11680unsafe extern "C" {
11681 pub fn CTR_DRBG_generate(
11682 drbg: *mut CTR_DRBG_STATE,
11683 out: *mut u8,
11684 out_len: usize,
11685 additional_data: *const u8,
11686 additional_data_len: usize,
11687 ) -> ::core::ffi::c_int;
11688}
11689unsafe extern "C" {
11690 pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
11691}
11692unsafe extern "C" {
11693 pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
11694}
11695unsafe extern "C" {
11696 pub fn X25519(
11697 out_shared_key: *mut u8,
11698 private_key: *const u8,
11699 peer_public_value: *const u8,
11700 ) -> ::core::ffi::c_int;
11701}
11702unsafe extern "C" {
11703 pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
11704}
11705unsafe extern "C" {
11706 pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
11707}
11708unsafe extern "C" {
11709 pub fn ED25519_sign(
11710 out_sig: *mut u8,
11711 message: *const u8,
11712 message_len: usize,
11713 private_key: *const u8,
11714 ) -> ::core::ffi::c_int;
11715}
11716unsafe extern "C" {
11717 pub fn ED25519_verify(
11718 message: *const u8,
11719 message_len: usize,
11720 signature: *const u8,
11721 public_key: *const u8,
11722 ) -> ::core::ffi::c_int;
11723}
11724unsafe extern "C" {
11725 pub fn ED25519_sign_prehashed(
11726 out_sig: *mut u8,
11727 context: *const u8,
11728 context_len: usize,
11729 sha512_digest: *const u8,
11730 private_key: *const u8,
11731 ) -> ::core::ffi::c_int;
11732}
11733unsafe extern "C" {
11734 pub fn ED25519_verify_prehashed(
11735 context: *const u8,
11736 context_len: usize,
11737 sha512_digest: *const u8,
11738 signature: *const u8,
11739 public_key: *const u8,
11740 ) -> ::core::ffi::c_int;
11741}
11742unsafe extern "C" {
11743 pub fn ED25519_keypair_from_seed(
11744 out_public_key: *mut u8,
11745 out_private_key: *mut u8,
11746 seed: *const u8,
11747 );
11748}
11749pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
11750pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
11751pub type spake2_role_t = ::core::ffi::c_uint;
11752unsafe extern "C" {
11753 pub fn SPAKE2_CTX_new(
11754 my_role: spake2_role_t,
11755 my_name: *const u8,
11756 my_name_len: usize,
11757 their_name: *const u8,
11758 their_name_len: usize,
11759 ) -> *mut SPAKE2_CTX;
11760}
11761unsafe extern "C" {
11762 pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
11763}
11764unsafe extern "C" {
11765 pub fn SPAKE2_generate_msg(
11766 ctx: *mut SPAKE2_CTX,
11767 out: *mut u8,
11768 out_len: *mut usize,
11769 max_out_len: usize,
11770 password: *const u8,
11771 password_len: usize,
11772 ) -> ::core::ffi::c_int;
11773}
11774unsafe extern "C" {
11775 pub fn SPAKE2_process_msg(
11776 ctx: *mut SPAKE2_CTX,
11777 out_key: *mut u8,
11778 out_key_len: *mut usize,
11779 max_out_key_len: usize,
11780 their_msg: *const u8,
11781 their_msg_len: usize,
11782 ) -> ::core::ffi::c_int;
11783}
11784#[repr(C)]
11785#[derive(Debug, Copy, Clone)]
11786pub struct DES_cblock_st {
11787 pub bytes: [u8; 8usize],
11788}
11789pub type DES_cblock = DES_cblock_st;
11790#[repr(C)]
11791#[derive(Debug, Copy, Clone)]
11792pub struct DES_ks {
11793 pub subkeys: [[u32; 2usize]; 16usize],
11794}
11795pub type DES_key_schedule = DES_ks;
11796unsafe extern "C" {
11797 pub fn DES_set_key(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11798}
11799unsafe extern "C" {
11800 pub fn DES_set_odd_parity(key: *mut DES_cblock);
11801}
11802unsafe extern "C" {
11803 pub fn DES_ecb_encrypt(
11804 in_: *const DES_cblock,
11805 out: *mut DES_cblock,
11806 schedule: *const DES_key_schedule,
11807 is_encrypt: ::core::ffi::c_int,
11808 );
11809}
11810unsafe extern "C" {
11811 pub fn DES_ncbc_encrypt(
11812 in_: *const u8,
11813 out: *mut u8,
11814 len: usize,
11815 schedule: *const DES_key_schedule,
11816 ivec: *mut DES_cblock,
11817 enc: ::core::ffi::c_int,
11818 );
11819}
11820unsafe extern "C" {
11821 pub fn DES_ecb3_encrypt(
11822 input: *const DES_cblock,
11823 output: *mut DES_cblock,
11824 ks1: *const DES_key_schedule,
11825 ks2: *const DES_key_schedule,
11826 ks3: *const DES_key_schedule,
11827 enc: ::core::ffi::c_int,
11828 );
11829}
11830unsafe extern "C" {
11831 pub fn DES_ede3_cbc_encrypt(
11832 in_: *const u8,
11833 out: *mut u8,
11834 len: usize,
11835 ks1: *const DES_key_schedule,
11836 ks2: *const DES_key_schedule,
11837 ks3: *const DES_key_schedule,
11838 ivec: *mut DES_cblock,
11839 enc: ::core::ffi::c_int,
11840 );
11841}
11842unsafe extern "C" {
11843 pub fn DES_ede2_cbc_encrypt(
11844 in_: *const u8,
11845 out: *mut u8,
11846 len: usize,
11847 ks1: *const DES_key_schedule,
11848 ks2: *const DES_key_schedule,
11849 ivec: *mut DES_cblock,
11850 enc: ::core::ffi::c_int,
11851 );
11852}
11853unsafe extern "C" {
11854 pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
11855}
11856unsafe extern "C" {
11857 pub fn DES_ede3_cfb64_encrypt(
11858 in_: *const u8,
11859 out: *mut u8,
11860 length: ::core::ffi::c_long,
11861 ks1: *mut DES_key_schedule,
11862 ks2: *mut DES_key_schedule,
11863 ks3: *mut DES_key_schedule,
11864 ivec: *mut DES_cblock,
11865 num: *mut ::core::ffi::c_int,
11866 enc: ::core::ffi::c_int,
11867 );
11868}
11869unsafe extern "C" {
11870 pub fn DES_ede3_cfb_encrypt(
11871 in_: *const u8,
11872 out: *mut u8,
11873 numbits: ::core::ffi::c_int,
11874 length: ::core::ffi::c_long,
11875 ks1: *mut DES_key_schedule,
11876 ks2: *mut DES_key_schedule,
11877 ks3: *mut DES_key_schedule,
11878 ivec: *mut DES_cblock,
11879 enc: ::core::ffi::c_int,
11880 );
11881}
11882unsafe extern "C" {
11883 pub fn DH_new() -> *mut DH;
11884}
11885unsafe extern "C" {
11886 pub fn DH_free(dh: *mut DH);
11887}
11888unsafe extern "C" {
11889 pub fn DH_up_ref(dh: *mut DH) -> ::core::ffi::c_int;
11890}
11891unsafe extern "C" {
11892 pub fn DH_bits(dh: *const DH) -> ::core::ffi::c_uint;
11893}
11894unsafe extern "C" {
11895 pub fn DH_size(dh: *const DH) -> ::core::ffi::c_int;
11896}
11897unsafe extern "C" {
11898 pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
11899}
11900unsafe extern "C" {
11901 pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
11902}
11903unsafe extern "C" {
11904 pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
11905}
11906unsafe extern "C" {
11907 pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
11908}
11909unsafe extern "C" {
11910 pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
11911}
11912unsafe extern "C" {
11913 pub fn DH_get0_key(
11914 dh: *const DH,
11915 out_pub_key: *mut *const BIGNUM,
11916 out_priv_key: *mut *const BIGNUM,
11917 );
11918}
11919unsafe extern "C" {
11920 pub fn DH_set0_key(
11921 dh: *mut DH,
11922 pub_key: *mut BIGNUM,
11923 priv_key: *mut BIGNUM,
11924 ) -> ::core::ffi::c_int;
11925}
11926unsafe extern "C" {
11927 pub fn DH_get0_pqg(
11928 dh: *const DH,
11929 out_p: *mut *const BIGNUM,
11930 out_q: *mut *const BIGNUM,
11931 out_g: *mut *const BIGNUM,
11932 );
11933}
11934unsafe extern "C" {
11935 pub fn DH_set0_pqg(
11936 dh: *mut DH,
11937 p: *mut BIGNUM,
11938 q: *mut BIGNUM,
11939 g: *mut BIGNUM,
11940 ) -> ::core::ffi::c_int;
11941}
11942unsafe extern "C" {
11943 pub fn DH_set_length(dh: *mut DH, priv_length: ::core::ffi::c_uint) -> ::core::ffi::c_int;
11944}
11945unsafe extern "C" {
11946 pub fn DH_get_rfc7919_2048() -> *mut DH;
11947}
11948unsafe extern "C" {
11949 pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
11950}
11951unsafe extern "C" {
11952 pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
11953}
11954unsafe extern "C" {
11955 pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
11956}
11957unsafe extern "C" {
11958 pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
11959}
11960unsafe extern "C" {
11961 pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
11962}
11963unsafe extern "C" {
11964 pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
11965}
11966unsafe extern "C" {
11967 pub fn DH_generate_parameters_ex(
11968 dh: *mut DH,
11969 prime_bits: ::core::ffi::c_int,
11970 generator: ::core::ffi::c_int,
11971 cb: *mut BN_GENCB,
11972 ) -> ::core::ffi::c_int;
11973}
11974unsafe extern "C" {
11975 pub fn DH_generate_key(dh: *mut DH) -> ::core::ffi::c_int;
11976}
11977unsafe extern "C" {
11978 pub fn DH_compute_key_padded(
11979 out: *mut u8,
11980 peers_key: *const BIGNUM,
11981 dh: *mut DH,
11982 ) -> ::core::ffi::c_int;
11983}
11984unsafe extern "C" {
11985 pub fn DH_compute_key_hashed(
11986 dh: *mut DH,
11987 out: *mut u8,
11988 out_len: *mut usize,
11989 max_out_len: usize,
11990 peers_key: *const BIGNUM,
11991 digest: *const EVP_MD,
11992 ) -> ::core::ffi::c_int;
11993}
11994unsafe extern "C" {
11995 pub fn DH_check(dh: *const DH, out_flags: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
11996}
11997unsafe extern "C" {
11998 pub fn DH_check_pub_key(
11999 dh: *const DH,
12000 pub_key: *const BIGNUM,
12001 out_flags: *mut ::core::ffi::c_int,
12002 ) -> ::core::ffi::c_int;
12003}
12004unsafe extern "C" {
12005 pub fn DHparams_dup(dh: *const DH) -> *mut DH;
12006}
12007unsafe extern "C" {
12008 pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
12009}
12010unsafe extern "C" {
12011 pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::core::ffi::c_int;
12012}
12013unsafe extern "C" {
12014 pub fn DH_generate_parameters(
12015 prime_len: ::core::ffi::c_int,
12016 generator: ::core::ffi::c_int,
12017 callback: ::core::option::Option<
12018 unsafe extern "C" fn(
12019 arg1: ::core::ffi::c_int,
12020 arg2: ::core::ffi::c_int,
12021 arg3: *mut ::core::ffi::c_void,
12022 ),
12023 >,
12024 cb_arg: *mut ::core::ffi::c_void,
12025 ) -> *mut DH;
12026}
12027unsafe extern "C" {
12028 pub fn d2i_DHparams(
12029 ret: *mut *mut DH,
12030 inp: *mut *const ::core::ffi::c_uchar,
12031 len: ::core::ffi::c_long,
12032 ) -> *mut DH;
12033}
12034unsafe extern "C" {
12035 pub fn i2d_DHparams(in_: *const DH, outp: *mut *mut ::core::ffi::c_uchar)
12036 -> ::core::ffi::c_int;
12037}
12038unsafe extern "C" {
12039 pub fn DH_compute_key(
12040 out: *mut u8,
12041 peers_key: *const BIGNUM,
12042 dh: *mut DH,
12043 ) -> ::core::ffi::c_int;
12044}
12045unsafe extern "C" {
12046 pub fn EVP_md4() -> *const EVP_MD;
12047}
12048unsafe extern "C" {
12049 pub fn EVP_md5() -> *const EVP_MD;
12050}
12051unsafe extern "C" {
12052 pub fn EVP_sha1() -> *const EVP_MD;
12053}
12054unsafe extern "C" {
12055 pub fn EVP_sha224() -> *const EVP_MD;
12056}
12057unsafe extern "C" {
12058 pub fn EVP_sha256() -> *const EVP_MD;
12059}
12060unsafe extern "C" {
12061 pub fn EVP_sha384() -> *const EVP_MD;
12062}
12063unsafe extern "C" {
12064 pub fn EVP_sha512() -> *const EVP_MD;
12065}
12066unsafe extern "C" {
12067 pub fn EVP_sha512_256() -> *const EVP_MD;
12068}
12069unsafe extern "C" {
12070 pub fn EVP_blake2b256() -> *const EVP_MD;
12071}
12072unsafe extern "C" {
12073 pub fn EVP_md5_sha1() -> *const EVP_MD;
12074}
12075unsafe extern "C" {
12076 pub fn EVP_get_digestbynid(nid: ::core::ffi::c_int) -> *const EVP_MD;
12077}
12078unsafe extern "C" {
12079 pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
12080}
12081unsafe extern "C" {
12082 pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
12083}
12084unsafe extern "C" {
12085 pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
12086}
12087unsafe extern "C" {
12088 pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12089}
12090unsafe extern "C" {
12091 pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
12092}
12093unsafe extern "C" {
12094 pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
12095}
12096unsafe extern "C" {
12097 pub fn EVP_MD_CTX_copy_ex(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12098}
12099unsafe extern "C" {
12100 pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
12101}
12102unsafe extern "C" {
12103 pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
12104}
12105unsafe extern "C" {
12106 pub fn EVP_DigestInit_ex(
12107 ctx: *mut EVP_MD_CTX,
12108 type_: *const EVP_MD,
12109 engine: *mut ENGINE,
12110 ) -> ::core::ffi::c_int;
12111}
12112unsafe extern "C" {
12113 pub fn EVP_DigestUpdate(
12114 ctx: *mut EVP_MD_CTX,
12115 data: *const ::core::ffi::c_void,
12116 len: usize,
12117 ) -> ::core::ffi::c_int;
12118}
12119unsafe extern "C" {
12120 pub fn EVP_DigestFinal_ex(
12121 ctx: *mut EVP_MD_CTX,
12122 md_out: *mut u8,
12123 out_size: *mut ::core::ffi::c_uint,
12124 ) -> ::core::ffi::c_int;
12125}
12126unsafe extern "C" {
12127 pub fn EVP_DigestFinal(
12128 ctx: *mut EVP_MD_CTX,
12129 md_out: *mut u8,
12130 out_size: *mut ::core::ffi::c_uint,
12131 ) -> ::core::ffi::c_int;
12132}
12133unsafe extern "C" {
12134 pub fn EVP_Digest(
12135 data: *const ::core::ffi::c_void,
12136 len: usize,
12137 md_out: *mut u8,
12138 md_out_size: *mut ::core::ffi::c_uint,
12139 type_: *const EVP_MD,
12140 impl_: *mut ENGINE,
12141 ) -> ::core::ffi::c_int;
12142}
12143unsafe extern "C" {
12144 pub fn EVP_MD_type(md: *const EVP_MD) -> ::core::ffi::c_int;
12145}
12146unsafe extern "C" {
12147 pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
12148}
12149unsafe extern "C" {
12150 pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
12151}
12152unsafe extern "C" {
12153 pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
12154}
12155unsafe extern "C" {
12156 pub fn EVP_MD_CTX_get0_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12157}
12158unsafe extern "C" {
12159 pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
12160}
12161unsafe extern "C" {
12162 pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
12163}
12164unsafe extern "C" {
12165 pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
12166}
12167unsafe extern "C" {
12168 pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12169}
12170unsafe extern "C" {
12171 pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
12172}
12173unsafe extern "C" {
12174 pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
12175}
12176unsafe extern "C" {
12177 pub fn EVP_parse_digest_algorithm_nid(cbs: *mut CBS) -> ::core::ffi::c_int;
12178}
12179unsafe extern "C" {
12180 pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::core::ffi::c_int;
12181}
12182unsafe extern "C" {
12183 pub fn EVP_marshal_digest_algorithm_no_params(
12184 cbb: *mut CBB,
12185 md: *const EVP_MD,
12186 ) -> ::core::ffi::c_int;
12187}
12188unsafe extern "C" {
12189 pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
12190}
12191unsafe extern "C" {
12192 pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::core::ffi::c_int;
12193}
12194unsafe extern "C" {
12195 pub fn EVP_add_digest(digest: *const EVP_MD) -> ::core::ffi::c_int;
12196}
12197unsafe extern "C" {
12198 pub fn EVP_get_digestbyname(name: *const ::core::ffi::c_char) -> *const EVP_MD;
12199}
12200unsafe extern "C" {
12201 pub fn EVP_dss1() -> *const EVP_MD;
12202}
12203unsafe extern "C" {
12204 pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
12205}
12206unsafe extern "C" {
12207 pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
12208}
12209unsafe extern "C" {
12210 pub fn EVP_DigestFinalXOF(ctx: *mut EVP_MD_CTX, out: *mut u8, len: usize)
12211 -> ::core::ffi::c_int;
12212}
12213unsafe extern "C" {
12214 pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
12215}
12216unsafe extern "C" {
12217 pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::core::ffi::c_int);
12218}
12219unsafe extern "C" {
12220 pub fn EVP_MD_nid(md: *const EVP_MD) -> ::core::ffi::c_int;
12221}
12222unsafe extern "C" {
12223 pub fn EVP_MD_fetch(
12224 libctx: *mut OSSL_LIB_CTX,
12225 name: *const ::core::ffi::c_char,
12226 propq: *const ::core::ffi::c_char,
12227 ) -> *mut EVP_MD;
12228}
12229unsafe extern "C" {
12230 pub fn EVP_MD_up_ref(md: *mut EVP_MD) -> ::core::ffi::c_int;
12231}
12232unsafe extern "C" {
12233 pub fn EVP_MD_free(md: *mut EVP_MD);
12234}
12235unsafe extern "C" {
12236 pub fn EVP_Q_digest(
12237 libctx: *mut OSSL_LIB_CTX,
12238 name: *const ::core::ffi::c_char,
12239 propq: *const ::core::ffi::c_char,
12240 in_: *const ::core::ffi::c_void,
12241 in_len: usize,
12242 out: *mut u8,
12243 out_len: *mut usize,
12244 ) -> ::core::ffi::c_int;
12245}
12246#[repr(C)]
12247#[derive(Debug)]
12248pub struct evp_md_pctx_ops {
12249 _unused: [u8; 0],
12250}
12251#[repr(C)]
12252#[derive(Copy, Clone)]
12253pub struct env_md_ctx_st {
12254 pub __bindgen_anon_1: env_md_ctx_st__bindgen_ty_1,
12255 pub digest: *const EVP_MD,
12256 pub pctx: *mut EVP_PKEY_CTX,
12257 pub pctx_ops: *const evp_md_pctx_ops,
12258}
12259#[repr(C)]
12260#[derive(Copy, Clone)]
12261pub union env_md_ctx_st__bindgen_ty_1 {
12262 pub md_data: [u8; 208usize],
12263 pub alignment: u64,
12264}
12265unsafe extern "C" {
12266 pub fn DSA_new() -> *mut DSA;
12267}
12268unsafe extern "C" {
12269 pub fn DSA_free(dsa: *mut DSA);
12270}
12271unsafe extern "C" {
12272 pub fn DSA_up_ref(dsa: *mut DSA) -> ::core::ffi::c_int;
12273}
12274unsafe extern "C" {
12275 pub fn DSA_bits(dsa: *const DSA) -> ::core::ffi::c_uint;
12276}
12277unsafe extern "C" {
12278 pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
12279}
12280unsafe extern "C" {
12281 pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
12282}
12283unsafe extern "C" {
12284 pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
12285}
12286unsafe extern "C" {
12287 pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
12288}
12289unsafe extern "C" {
12290 pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
12291}
12292unsafe extern "C" {
12293 pub fn DSA_get0_key(
12294 dsa: *const DSA,
12295 out_pub_key: *mut *const BIGNUM,
12296 out_priv_key: *mut *const BIGNUM,
12297 );
12298}
12299unsafe extern "C" {
12300 pub fn DSA_get0_pqg(
12301 dsa: *const DSA,
12302 out_p: *mut *const BIGNUM,
12303 out_q: *mut *const BIGNUM,
12304 out_g: *mut *const BIGNUM,
12305 );
12306}
12307unsafe extern "C" {
12308 pub fn DSA_set0_key(
12309 dsa: *mut DSA,
12310 pub_key: *mut BIGNUM,
12311 priv_key: *mut BIGNUM,
12312 ) -> ::core::ffi::c_int;
12313}
12314unsafe extern "C" {
12315 pub fn DSA_set0_pqg(
12316 dsa: *mut DSA,
12317 p: *mut BIGNUM,
12318 q: *mut BIGNUM,
12319 g: *mut BIGNUM,
12320 ) -> ::core::ffi::c_int;
12321}
12322unsafe extern "C" {
12323 pub fn DSA_generate_parameters_ex(
12324 dsa: *mut DSA,
12325 bits: ::core::ffi::c_uint,
12326 seed: *const u8,
12327 seed_len: usize,
12328 out_counter: *mut ::core::ffi::c_int,
12329 out_h: *mut ::core::ffi::c_ulong,
12330 cb: *mut BN_GENCB,
12331 ) -> ::core::ffi::c_int;
12332}
12333unsafe extern "C" {
12334 pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
12335}
12336unsafe extern "C" {
12337 pub fn DSA_generate_key(dsa: *mut DSA) -> ::core::ffi::c_int;
12338}
12339#[repr(C)]
12340#[derive(Debug, Copy, Clone)]
12341pub struct DSA_SIG_st {
12342 pub r: *mut BIGNUM,
12343 pub s: *mut BIGNUM,
12344}
12345unsafe extern "C" {
12346 pub fn DSA_SIG_new() -> *mut DSA_SIG;
12347}
12348unsafe extern "C" {
12349 pub fn DSA_SIG_free(sig: *mut DSA_SIG);
12350}
12351unsafe extern "C" {
12352 pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
12353}
12354unsafe extern "C" {
12355 pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM) -> ::core::ffi::c_int;
12356}
12357unsafe extern "C" {
12358 pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
12359}
12360unsafe extern "C" {
12361 pub fn DSA_do_verify(
12362 digest: *const u8,
12363 digest_len: usize,
12364 sig: *const DSA_SIG,
12365 dsa: *const DSA,
12366 ) -> ::core::ffi::c_int;
12367}
12368unsafe extern "C" {
12369 pub fn DSA_do_check_signature(
12370 out_valid: *mut ::core::ffi::c_int,
12371 digest: *const u8,
12372 digest_len: usize,
12373 sig: *const DSA_SIG,
12374 dsa: *const DSA,
12375 ) -> ::core::ffi::c_int;
12376}
12377unsafe extern "C" {
12378 pub fn DSA_sign(
12379 type_: ::core::ffi::c_int,
12380 digest: *const u8,
12381 digest_len: usize,
12382 out_sig: *mut u8,
12383 out_siglen: *mut ::core::ffi::c_uint,
12384 dsa: *const DSA,
12385 ) -> ::core::ffi::c_int;
12386}
12387unsafe extern "C" {
12388 pub fn DSA_verify(
12389 type_: ::core::ffi::c_int,
12390 digest: *const u8,
12391 digest_len: usize,
12392 sig: *const u8,
12393 sig_len: usize,
12394 dsa: *const DSA,
12395 ) -> ::core::ffi::c_int;
12396}
12397unsafe extern "C" {
12398 pub fn DSA_check_signature(
12399 out_valid: *mut ::core::ffi::c_int,
12400 digest: *const u8,
12401 digest_len: usize,
12402 sig: *const u8,
12403 sig_len: usize,
12404 dsa: *const DSA,
12405 ) -> ::core::ffi::c_int;
12406}
12407unsafe extern "C" {
12408 pub fn DSA_size(dsa: *const DSA) -> ::core::ffi::c_int;
12409}
12410unsafe extern "C" {
12411 pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
12412}
12413unsafe extern "C" {
12414 pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::core::ffi::c_int;
12415}
12416unsafe extern "C" {
12417 pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
12418}
12419unsafe extern "C" {
12420 pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12421}
12422unsafe extern "C" {
12423 pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
12424}
12425unsafe extern "C" {
12426 pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12427}
12428unsafe extern "C" {
12429 pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
12430}
12431unsafe extern "C" {
12432 pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::core::ffi::c_int;
12433}
12434unsafe extern "C" {
12435 pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
12436}
12437unsafe extern "C" {
12438 pub fn DSA_get_ex_new_index(
12439 argl: ::core::ffi::c_long,
12440 argp: *mut ::core::ffi::c_void,
12441 unused: *mut CRYPTO_EX_unused,
12442 dup_unused: CRYPTO_EX_dup,
12443 free_func: CRYPTO_EX_free,
12444 ) -> ::core::ffi::c_int;
12445}
12446unsafe extern "C" {
12447 pub fn DSA_set_ex_data(
12448 dsa: *mut DSA,
12449 idx: ::core::ffi::c_int,
12450 arg: *mut ::core::ffi::c_void,
12451 ) -> ::core::ffi::c_int;
12452}
12453unsafe extern "C" {
12454 pub fn DSA_get_ex_data(dsa: *const DSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
12455}
12456unsafe extern "C" {
12457 pub fn d2i_DSA_SIG(
12458 out_sig: *mut *mut DSA_SIG,
12459 inp: *mut *const u8,
12460 len: ::core::ffi::c_long,
12461 ) -> *mut DSA_SIG;
12462}
12463unsafe extern "C" {
12464 pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
12465}
12466unsafe extern "C" {
12467 pub fn d2i_DSAPublicKey(
12468 out: *mut *mut DSA,
12469 inp: *mut *const u8,
12470 len: ::core::ffi::c_long,
12471 ) -> *mut DSA;
12472}
12473unsafe extern "C" {
12474 pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12475}
12476unsafe extern "C" {
12477 pub fn d2i_DSAPrivateKey(
12478 out: *mut *mut DSA,
12479 inp: *mut *const u8,
12480 len: ::core::ffi::c_long,
12481 ) -> *mut DSA;
12482}
12483unsafe extern "C" {
12484 pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12485}
12486unsafe extern "C" {
12487 pub fn d2i_DSAparams(
12488 out: *mut *mut DSA,
12489 inp: *mut *const u8,
12490 len: ::core::ffi::c_long,
12491 ) -> *mut DSA;
12492}
12493unsafe extern "C" {
12494 pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
12495}
12496unsafe extern "C" {
12497 pub fn DSA_generate_parameters(
12498 bits: ::core::ffi::c_int,
12499 seed: *mut ::core::ffi::c_uchar,
12500 seed_len: ::core::ffi::c_int,
12501 counter_ret: *mut ::core::ffi::c_int,
12502 h_ret: *mut ::core::ffi::c_ulong,
12503 callback: ::core::option::Option<
12504 unsafe extern "C" fn(
12505 arg1: ::core::ffi::c_int,
12506 arg2: ::core::ffi::c_int,
12507 arg3: *mut ::core::ffi::c_void,
12508 ),
12509 >,
12510 cb_arg: *mut ::core::ffi::c_void,
12511 ) -> *mut DSA;
12512}
12513#[repr(u32)]
12514#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12515pub enum point_conversion_form_t {
12516 POINT_CONVERSION_COMPRESSED = 2,
12517 POINT_CONVERSION_UNCOMPRESSED = 4,
12518 POINT_CONVERSION_HYBRID = 6,
12519}
12520unsafe extern "C" {
12521 pub fn EC_group_p224() -> *const EC_GROUP;
12522}
12523unsafe extern "C" {
12524 pub fn EC_group_p256() -> *const EC_GROUP;
12525}
12526unsafe extern "C" {
12527 pub fn EC_group_p384() -> *const EC_GROUP;
12528}
12529unsafe extern "C" {
12530 pub fn EC_group_p521() -> *const EC_GROUP;
12531}
12532unsafe extern "C" {
12533 pub fn EC_GROUP_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_GROUP;
12534}
12535unsafe extern "C" {
12536 pub fn EC_GROUP_cmp(
12537 a: *const EC_GROUP,
12538 b: *const EC_GROUP,
12539 ignored: *mut BN_CTX,
12540 ) -> ::core::ffi::c_int;
12541}
12542unsafe extern "C" {
12543 pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
12544}
12545unsafe extern "C" {
12546 pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
12547}
12548unsafe extern "C" {
12549 pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::core::ffi::c_int;
12550}
12551unsafe extern "C" {
12552 pub fn EC_GROUP_get_cofactor(
12553 group: *const EC_GROUP,
12554 cofactor: *mut BIGNUM,
12555 ctx: *mut BN_CTX,
12556 ) -> ::core::ffi::c_int;
12557}
12558unsafe extern "C" {
12559 pub fn EC_GROUP_get_curve_GFp(
12560 group: *const EC_GROUP,
12561 out_p: *mut BIGNUM,
12562 out_a: *mut BIGNUM,
12563 out_b: *mut BIGNUM,
12564 ctx: *mut BN_CTX,
12565 ) -> ::core::ffi::c_int;
12566}
12567unsafe extern "C" {
12568 pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::core::ffi::c_int;
12569}
12570unsafe extern "C" {
12571 pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::core::ffi::c_uint;
12572}
12573unsafe extern "C" {
12574 pub fn EC_curve_nid2nist(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
12575}
12576unsafe extern "C" {
12577 pub fn EC_curve_nist2nid(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
12578}
12579unsafe extern "C" {
12580 pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
12581}
12582unsafe extern "C" {
12583 pub fn EC_POINT_free(point: *mut EC_POINT);
12584}
12585unsafe extern "C" {
12586 pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::core::ffi::c_int;
12587}
12588unsafe extern "C" {
12589 pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
12590}
12591unsafe extern "C" {
12592 pub fn EC_POINT_set_to_infinity(
12593 group: *const EC_GROUP,
12594 point: *mut EC_POINT,
12595 ) -> ::core::ffi::c_int;
12596}
12597unsafe extern "C" {
12598 pub fn EC_POINT_is_at_infinity(
12599 group: *const EC_GROUP,
12600 point: *const EC_POINT,
12601 ) -> ::core::ffi::c_int;
12602}
12603unsafe extern "C" {
12604 pub fn EC_POINT_is_on_curve(
12605 group: *const EC_GROUP,
12606 point: *const EC_POINT,
12607 ctx: *mut BN_CTX,
12608 ) -> ::core::ffi::c_int;
12609}
12610unsafe extern "C" {
12611 pub fn EC_POINT_cmp(
12612 group: *const EC_GROUP,
12613 a: *const EC_POINT,
12614 b: *const EC_POINT,
12615 ctx: *mut BN_CTX,
12616 ) -> ::core::ffi::c_int;
12617}
12618unsafe extern "C" {
12619 pub fn EC_POINT_get_affine_coordinates_GFp(
12620 group: *const EC_GROUP,
12621 point: *const EC_POINT,
12622 x: *mut BIGNUM,
12623 y: *mut BIGNUM,
12624 ctx: *mut BN_CTX,
12625 ) -> ::core::ffi::c_int;
12626}
12627unsafe extern "C" {
12628 pub fn EC_POINT_get_affine_coordinates(
12629 group: *const EC_GROUP,
12630 point: *const EC_POINT,
12631 x: *mut BIGNUM,
12632 y: *mut BIGNUM,
12633 ctx: *mut BN_CTX,
12634 ) -> ::core::ffi::c_int;
12635}
12636unsafe extern "C" {
12637 pub fn EC_POINT_set_affine_coordinates_GFp(
12638 group: *const EC_GROUP,
12639 point: *mut EC_POINT,
12640 x: *const BIGNUM,
12641 y: *const BIGNUM,
12642 ctx: *mut BN_CTX,
12643 ) -> ::core::ffi::c_int;
12644}
12645unsafe extern "C" {
12646 pub fn EC_POINT_set_affine_coordinates(
12647 group: *const EC_GROUP,
12648 point: *mut EC_POINT,
12649 x: *const BIGNUM,
12650 y: *const BIGNUM,
12651 ctx: *mut BN_CTX,
12652 ) -> ::core::ffi::c_int;
12653}
12654unsafe extern "C" {
12655 pub fn EC_POINT_point2oct(
12656 group: *const EC_GROUP,
12657 point: *const EC_POINT,
12658 form: point_conversion_form_t,
12659 buf: *mut u8,
12660 max_out: usize,
12661 ctx: *mut BN_CTX,
12662 ) -> usize;
12663}
12664unsafe extern "C" {
12665 pub fn EC_POINT_point2buf(
12666 group: *const EC_GROUP,
12667 point: *const EC_POINT,
12668 form: point_conversion_form_t,
12669 out_buf: *mut *mut u8,
12670 ctx: *mut BN_CTX,
12671 ) -> usize;
12672}
12673unsafe extern "C" {
12674 pub fn EC_POINT_point2cbb(
12675 out: *mut CBB,
12676 group: *const EC_GROUP,
12677 point: *const EC_POINT,
12678 form: point_conversion_form_t,
12679 ctx: *mut BN_CTX,
12680 ) -> ::core::ffi::c_int;
12681}
12682unsafe extern "C" {
12683 pub fn EC_POINT_oct2point(
12684 group: *const EC_GROUP,
12685 point: *mut EC_POINT,
12686 buf: *const u8,
12687 len: usize,
12688 ctx: *mut BN_CTX,
12689 ) -> ::core::ffi::c_int;
12690}
12691unsafe extern "C" {
12692 pub fn EC_POINT_set_compressed_coordinates_GFp(
12693 group: *const EC_GROUP,
12694 point: *mut EC_POINT,
12695 x: *const BIGNUM,
12696 y_bit: ::core::ffi::c_int,
12697 ctx: *mut BN_CTX,
12698 ) -> ::core::ffi::c_int;
12699}
12700unsafe extern "C" {
12701 pub fn EC_POINT_add(
12702 group: *const EC_GROUP,
12703 r: *mut EC_POINT,
12704 a: *const EC_POINT,
12705 b: *const EC_POINT,
12706 ctx: *mut BN_CTX,
12707 ) -> ::core::ffi::c_int;
12708}
12709unsafe extern "C" {
12710 pub fn EC_POINT_dbl(
12711 group: *const EC_GROUP,
12712 r: *mut EC_POINT,
12713 a: *const EC_POINT,
12714 ctx: *mut BN_CTX,
12715 ) -> ::core::ffi::c_int;
12716}
12717unsafe extern "C" {
12718 pub fn EC_POINT_invert(
12719 group: *const EC_GROUP,
12720 a: *mut EC_POINT,
12721 ctx: *mut BN_CTX,
12722 ) -> ::core::ffi::c_int;
12723}
12724unsafe extern "C" {
12725 pub fn EC_POINT_mul(
12726 group: *const EC_GROUP,
12727 r: *mut EC_POINT,
12728 n: *const BIGNUM,
12729 q: *const EC_POINT,
12730 m: *const BIGNUM,
12731 ctx: *mut BN_CTX,
12732 ) -> ::core::ffi::c_int;
12733}
12734unsafe extern "C" {
12735 pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
12736 group: *const EC_GROUP,
12737 out: *mut EC_POINT,
12738 dst: *const u8,
12739 dst_len: usize,
12740 msg: *const u8,
12741 msg_len: usize,
12742 ) -> ::core::ffi::c_int;
12743}
12744unsafe extern "C" {
12745 pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
12746 group: *const EC_GROUP,
12747 out: *mut EC_POINT,
12748 dst: *const u8,
12749 dst_len: usize,
12750 msg: *const u8,
12751 msg_len: usize,
12752 ) -> ::core::ffi::c_int;
12753}
12754unsafe extern "C" {
12755 pub fn EC_encode_to_curve_p256_xmd_sha256_sswu(
12756 group: *const EC_GROUP,
12757 out: *mut EC_POINT,
12758 dst: *const u8,
12759 dst_len: usize,
12760 msg: *const u8,
12761 msg_len: usize,
12762 ) -> ::core::ffi::c_int;
12763}
12764unsafe extern "C" {
12765 pub fn EC_encode_to_curve_p384_xmd_sha384_sswu(
12766 group: *const EC_GROUP,
12767 out: *mut EC_POINT,
12768 dst: *const u8,
12769 dst_len: usize,
12770 msg: *const u8,
12771 msg_len: usize,
12772 ) -> ::core::ffi::c_int;
12773}
12774unsafe extern "C" {
12775 pub fn EC_wpa3_sae_hash_to_curve_p256(
12776 group: *const EC_GROUP,
12777 out: *mut EC_POINT,
12778 salt: *const u8,
12779 salt_len: usize,
12780 ikm: *const u8,
12781 ikm_len: usize,
12782 ) -> ::core::ffi::c_int;
12783}
12784unsafe extern "C" {
12785 pub fn EC_wpa3_sae_hunt_and_peck_p256(
12786 group: *const EC_GROUP,
12787 out: *mut EC_POINT,
12788 salt: *const u8,
12789 salt_len: usize,
12790 password: *const u8,
12791 password_len: usize,
12792 min_iterations: u8,
12793 ) -> ::core::ffi::c_int;
12794}
12795unsafe extern "C" {
12796 pub fn EC_GROUP_free(group: *mut EC_GROUP);
12797}
12798unsafe extern "C" {
12799 pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
12800}
12801unsafe extern "C" {
12802 pub fn EC_GROUP_new_curve_GFp(
12803 p: *const BIGNUM,
12804 a: *const BIGNUM,
12805 b: *const BIGNUM,
12806 ctx: *mut BN_CTX,
12807 ) -> *mut EC_GROUP;
12808}
12809unsafe extern "C" {
12810 pub fn EC_GROUP_set_generator(
12811 group: *mut EC_GROUP,
12812 generator: *const EC_POINT,
12813 order: *const BIGNUM,
12814 cofactor: *const BIGNUM,
12815 ) -> ::core::ffi::c_int;
12816}
12817unsafe extern "C" {
12818 pub fn EC_GROUP_get_order(
12819 group: *const EC_GROUP,
12820 order: *mut BIGNUM,
12821 ctx: *mut BN_CTX,
12822 ) -> ::core::ffi::c_int;
12823}
12824unsafe extern "C" {
12825 pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::core::ffi::c_int);
12826}
12827unsafe extern "C" {
12828 pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::core::ffi::c_int;
12829}
12830#[repr(C)]
12831#[derive(Debug)]
12832pub struct ec_method_st {
12833 _unused: [u8; 0],
12834}
12835pub type EC_METHOD = ec_method_st;
12836unsafe extern "C" {
12837 pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
12838}
12839unsafe extern "C" {
12840 pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::core::ffi::c_int;
12841}
12842unsafe extern "C" {
12843 pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
12844}
12845#[repr(C)]
12846#[derive(Debug, Copy, Clone)]
12847pub struct EC_builtin_curve {
12848 pub nid: ::core::ffi::c_int,
12849 pub comment: *const ::core::ffi::c_char,
12850}
12851unsafe extern "C" {
12852 pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
12853 -> usize;
12854}
12855unsafe extern "C" {
12856 pub fn EC_POINT_clear_free(point: *mut EC_POINT);
12857}
12858unsafe extern "C" {
12859 pub fn ENGINE_new() -> *mut ENGINE;
12860}
12861unsafe extern "C" {
12862 pub fn ENGINE_free(engine: *mut ENGINE) -> ::core::ffi::c_int;
12863}
12864unsafe extern "C" {
12865 pub fn ENGINE_set_RSA_method(
12866 engine: *mut ENGINE,
12867 method: *const RSA_METHOD,
12868 method_size: usize,
12869 ) -> ::core::ffi::c_int;
12870}
12871unsafe extern "C" {
12872 pub fn ENGINE_get_RSA_method(engine: *const ENGINE) -> *mut RSA_METHOD;
12873}
12874unsafe extern "C" {
12875 pub fn ENGINE_set_ECDSA_method(
12876 engine: *mut ENGINE,
12877 method: *const ECDSA_METHOD,
12878 method_size: usize,
12879 ) -> ::core::ffi::c_int;
12880}
12881unsafe extern "C" {
12882 pub fn ENGINE_get_ECDSA_method(engine: *const ENGINE) -> *mut ECDSA_METHOD;
12883}
12884unsafe extern "C" {
12885 pub fn METHOD_ref(method: *mut ::core::ffi::c_void);
12886}
12887unsafe extern "C" {
12888 pub fn METHOD_unref(method: *mut ::core::ffi::c_void);
12889}
12890#[repr(C)]
12891#[derive(Debug, Copy, Clone)]
12892pub struct openssl_method_common_st {
12893 pub references: ::core::ffi::c_int,
12894 pub is_static: ::core::ffi::c_char,
12895}
12896unsafe extern "C" {
12897 pub fn EC_KEY_new() -> *mut EC_KEY;
12898}
12899unsafe extern "C" {
12900 pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
12901}
12902unsafe extern "C" {
12903 pub fn EC_KEY_new_by_curve_name(nid: ::core::ffi::c_int) -> *mut EC_KEY;
12904}
12905unsafe extern "C" {
12906 pub fn EC_KEY_free(key: *mut EC_KEY);
12907}
12908unsafe extern "C" {
12909 pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
12910}
12911unsafe extern "C" {
12912 pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::core::ffi::c_int;
12913}
12914unsafe extern "C" {
12915 pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::core::ffi::c_int;
12916}
12917unsafe extern "C" {
12918 pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
12919}
12920unsafe extern "C" {
12921 pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::core::ffi::c_int;
12922}
12923unsafe extern "C" {
12924 pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
12925}
12926unsafe extern "C" {
12927 pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::core::ffi::c_int;
12928}
12929unsafe extern "C" {
12930 pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
12931}
12932unsafe extern "C" {
12933 pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::core::ffi::c_int;
12934}
12935unsafe extern "C" {
12936 pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::core::ffi::c_uint;
12937}
12938unsafe extern "C" {
12939 pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::core::ffi::c_uint);
12940}
12941unsafe extern "C" {
12942 pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
12943}
12944unsafe extern "C" {
12945 pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
12946}
12947unsafe extern "C" {
12948 pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::core::ffi::c_int;
12949}
12950unsafe extern "C" {
12951 pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::core::ffi::c_int;
12952}
12953unsafe extern "C" {
12954 pub fn EC_KEY_set_public_key_affine_coordinates(
12955 key: *mut EC_KEY,
12956 x: *const BIGNUM,
12957 y: *const BIGNUM,
12958 ) -> ::core::ffi::c_int;
12959}
12960unsafe extern "C" {
12961 pub fn EC_KEY_oct2key(
12962 key: *mut EC_KEY,
12963 in_: *const u8,
12964 len: usize,
12965 ctx: *mut BN_CTX,
12966 ) -> ::core::ffi::c_int;
12967}
12968unsafe extern "C" {
12969 pub fn EC_KEY_key2buf(
12970 key: *const EC_KEY,
12971 form: point_conversion_form_t,
12972 out_buf: *mut *mut u8,
12973 ctx: *mut BN_CTX,
12974 ) -> usize;
12975}
12976unsafe extern "C" {
12977 pub fn EC_KEY_oct2priv(key: *mut EC_KEY, in_: *const u8, len: usize) -> ::core::ffi::c_int;
12978}
12979unsafe extern "C" {
12980 pub fn EC_KEY_priv2oct(key: *const EC_KEY, out: *mut u8, max_out: usize) -> usize;
12981}
12982unsafe extern "C" {
12983 pub fn EC_KEY_priv2buf(key: *const EC_KEY, out_buf: *mut *mut u8) -> usize;
12984}
12985unsafe extern "C" {
12986 pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::core::ffi::c_int;
12987}
12988unsafe extern "C" {
12989 pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::core::ffi::c_int;
12990}
12991unsafe extern "C" {
12992 pub fn EC_KEY_derive_from_secret(
12993 group: *const EC_GROUP,
12994 secret: *const u8,
12995 secret_len: usize,
12996 ) -> *mut EC_KEY;
12997}
12998unsafe extern "C" {
12999 pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
13000}
13001unsafe extern "C" {
13002 pub fn EC_KEY_marshal_private_key(
13003 cbb: *mut CBB,
13004 key: *const EC_KEY,
13005 enc_flags: ::core::ffi::c_uint,
13006 ) -> ::core::ffi::c_int;
13007}
13008unsafe extern "C" {
13009 pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
13010}
13011unsafe extern "C" {
13012 pub fn EC_KEY_marshal_curve_name(cbb: *mut CBB, group: *const EC_GROUP) -> ::core::ffi::c_int;
13013}
13014unsafe extern "C" {
13015 pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
13016}
13017unsafe extern "C" {
13018 pub fn EC_KEY_get_ex_new_index(
13019 argl: ::core::ffi::c_long,
13020 argp: *mut ::core::ffi::c_void,
13021 unused: *mut CRYPTO_EX_unused,
13022 dup_unused: CRYPTO_EX_dup,
13023 free_func: CRYPTO_EX_free,
13024 ) -> ::core::ffi::c_int;
13025}
13026unsafe extern "C" {
13027 pub fn EC_KEY_set_ex_data(
13028 r: *mut EC_KEY,
13029 idx: ::core::ffi::c_int,
13030 arg: *mut ::core::ffi::c_void,
13031 ) -> ::core::ffi::c_int;
13032}
13033unsafe extern "C" {
13034 pub fn EC_KEY_get_ex_data(
13035 r: *const EC_KEY,
13036 idx: ::core::ffi::c_int,
13037 ) -> *mut ::core::ffi::c_void;
13038}
13039#[repr(C)]
13040#[derive(Debug, Copy, Clone)]
13041pub struct ecdsa_method_st {
13042 pub common: openssl_method_common_st,
13043 pub app_data: *mut ::core::ffi::c_void,
13044 pub init: ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
13045 pub finish:
13046 ::core::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::core::ffi::c_int>,
13047 pub sign: ::core::option::Option<
13048 unsafe extern "C" fn(
13049 digest: *const u8,
13050 digest_len: usize,
13051 sig: *mut u8,
13052 sig_len: *mut ::core::ffi::c_uint,
13053 eckey: *mut EC_KEY,
13054 ) -> ::core::ffi::c_int,
13055 >,
13056 pub flags: ::core::ffi::c_int,
13057}
13058unsafe extern "C" {
13059 pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::core::ffi::c_int);
13060}
13061unsafe extern "C" {
13062 pub fn d2i_ECPrivateKey(
13063 out_key: *mut *mut EC_KEY,
13064 inp: *mut *const u8,
13065 len: ::core::ffi::c_long,
13066 ) -> *mut EC_KEY;
13067}
13068unsafe extern "C" {
13069 pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
13070}
13071unsafe extern "C" {
13072 pub fn d2i_ECPKParameters(
13073 out: *mut *mut EC_GROUP,
13074 inp: *mut *const u8,
13075 len: ::core::ffi::c_long,
13076 ) -> *mut EC_GROUP;
13077}
13078unsafe extern "C" {
13079 pub fn i2d_ECPKParameters(group: *const EC_GROUP, outp: *mut *mut u8) -> ::core::ffi::c_int;
13080}
13081unsafe extern "C" {
13082 pub fn d2i_ECParameters(
13083 out_key: *mut *mut EC_KEY,
13084 inp: *mut *const u8,
13085 len: ::core::ffi::c_long,
13086 ) -> *mut EC_KEY;
13087}
13088unsafe extern "C" {
13089 pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
13090}
13091unsafe extern "C" {
13092 pub fn o2i_ECPublicKey(
13093 out_key: *mut *mut EC_KEY,
13094 inp: *mut *const u8,
13095 len: ::core::ffi::c_long,
13096 ) -> *mut EC_KEY;
13097}
13098unsafe extern "C" {
13099 pub fn i2o_ECPublicKey(
13100 key: *const EC_KEY,
13101 outp: *mut *mut ::core::ffi::c_uchar,
13102 ) -> ::core::ffi::c_int;
13103}
13104unsafe extern "C" {
13105 pub fn ECDH_compute_key(
13106 out: *mut ::core::ffi::c_void,
13107 outlen: usize,
13108 pub_key: *const EC_POINT,
13109 priv_key: *const EC_KEY,
13110 kdf: ::core::option::Option<
13111 unsafe extern "C" fn(
13112 in_: *const ::core::ffi::c_void,
13113 inlen: usize,
13114 out: *mut ::core::ffi::c_void,
13115 outlen: *mut usize,
13116 ) -> *mut ::core::ffi::c_void,
13117 >,
13118 ) -> ::core::ffi::c_int;
13119}
13120unsafe extern "C" {
13121 pub fn ECDH_compute_key_fips(
13122 out: *mut u8,
13123 out_len: usize,
13124 pub_key: *const EC_POINT,
13125 priv_key: *const EC_KEY,
13126 ) -> ::core::ffi::c_int;
13127}
13128unsafe extern "C" {
13129 pub fn ECDSA_sign(
13130 type_: ::core::ffi::c_int,
13131 digest: *const u8,
13132 digest_len: usize,
13133 sig: *mut u8,
13134 sig_len: *mut ::core::ffi::c_uint,
13135 key: *const EC_KEY,
13136 ) -> ::core::ffi::c_int;
13137}
13138unsafe extern "C" {
13139 pub fn ECDSA_verify(
13140 type_: ::core::ffi::c_int,
13141 digest: *const u8,
13142 digest_len: usize,
13143 sig: *const u8,
13144 sig_len: usize,
13145 key: *const EC_KEY,
13146 ) -> ::core::ffi::c_int;
13147}
13148unsafe extern "C" {
13149 pub fn ECDSA_size(key: *const EC_KEY) -> usize;
13150}
13151#[repr(C)]
13152#[derive(Debug, Copy, Clone)]
13153pub struct ecdsa_sig_st {
13154 pub r: *mut BIGNUM,
13155 pub s: *mut BIGNUM,
13156}
13157unsafe extern "C" {
13158 pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
13159}
13160unsafe extern "C" {
13161 pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
13162}
13163unsafe extern "C" {
13164 pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
13165}
13166unsafe extern "C" {
13167 pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
13168}
13169unsafe extern "C" {
13170 pub fn ECDSA_SIG_get0(
13171 sig: *const ECDSA_SIG,
13172 out_r: *mut *const BIGNUM,
13173 out_s: *mut *const BIGNUM,
13174 );
13175}
13176unsafe extern "C" {
13177 pub fn ECDSA_SIG_set0(
13178 sig: *mut ECDSA_SIG,
13179 r: *mut BIGNUM,
13180 s: *mut BIGNUM,
13181 ) -> ::core::ffi::c_int;
13182}
13183unsafe extern "C" {
13184 pub fn ECDSA_do_sign(
13185 digest: *const u8,
13186 digest_len: usize,
13187 key: *const EC_KEY,
13188 ) -> *mut ECDSA_SIG;
13189}
13190unsafe extern "C" {
13191 pub fn ECDSA_do_verify(
13192 digest: *const u8,
13193 digest_len: usize,
13194 sig: *const ECDSA_SIG,
13195 key: *const EC_KEY,
13196 ) -> ::core::ffi::c_int;
13197}
13198unsafe extern "C" {
13199 pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
13200}
13201unsafe extern "C" {
13202 pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
13203}
13204unsafe extern "C" {
13205 pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::core::ffi::c_int;
13206}
13207unsafe extern "C" {
13208 pub fn ECDSA_SIG_to_bytes(
13209 out_bytes: *mut *mut u8,
13210 out_len: *mut usize,
13211 sig: *const ECDSA_SIG,
13212 ) -> ::core::ffi::c_int;
13213}
13214unsafe extern "C" {
13215 pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
13216}
13217unsafe extern "C" {
13218 pub fn ECDSA_sign_p1363(
13219 digest: *const u8,
13220 digest_len: usize,
13221 sig: *mut u8,
13222 out_sig_len: *mut usize,
13223 max_sig_len: usize,
13224 key: *const EC_KEY,
13225 ) -> ::core::ffi::c_int;
13226}
13227unsafe extern "C" {
13228 pub fn ECDSA_verify_p1363(
13229 digest: *const u8,
13230 digest_len: usize,
13231 sig: *const u8,
13232 sig_len: usize,
13233 key: *const EC_KEY,
13234 ) -> ::core::ffi::c_int;
13235}
13236unsafe extern "C" {
13237 pub fn ECDSA_size_p1363(key: *const EC_KEY) -> usize;
13238}
13239unsafe extern "C" {
13240 pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
13241 digest: *const u8,
13242 digest_len: usize,
13243 eckey: *const EC_KEY,
13244 nonce: *const u8,
13245 nonce_len: usize,
13246 ) -> *mut ECDSA_SIG;
13247}
13248unsafe extern "C" {
13249 pub fn d2i_ECDSA_SIG(
13250 out: *mut *mut ECDSA_SIG,
13251 inp: *mut *const u8,
13252 len: ::core::ffi::c_long,
13253 ) -> *mut ECDSA_SIG;
13254}
13255unsafe extern "C" {
13256 pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
13257}
13258unsafe extern "C" {
13259 pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
13260}
13261unsafe extern "C" {
13262 pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
13263}
13264unsafe extern "C" {
13265 pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
13266}
13267unsafe extern "C" {
13268 pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
13269}
13270unsafe extern "C" {
13271 pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
13272}
13273unsafe extern "C" {
13274 pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
13275}
13276unsafe extern "C" {
13277 pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
13278}
13279unsafe extern "C" {
13280 pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
13281}
13282unsafe extern "C" {
13283 pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
13284}
13285unsafe extern "C" {
13286 pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
13287}
13288unsafe extern "C" {
13289 pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
13290}
13291unsafe extern "C" {
13292 pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
13293}
13294unsafe extern "C" {
13295 pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
13296}
13297unsafe extern "C" {
13298 pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
13299}
13300unsafe extern "C" {
13301 pub fn EVP_has_aes_hardware() -> ::core::ffi::c_int;
13302}
13303unsafe extern "C" {
13304 pub fn EVP_aead_aes_128_eax() -> *const EVP_AEAD;
13305}
13306unsafe extern "C" {
13307 pub fn EVP_aead_aes_256_eax() -> *const EVP_AEAD;
13308}
13309unsafe extern "C" {
13310 pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
13311}
13312unsafe extern "C" {
13313 pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
13314}
13315unsafe extern "C" {
13316 pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
13317}
13318unsafe extern "C" {
13319 pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
13320}
13321#[repr(C)]
13322#[derive(Copy, Clone)]
13323pub union evp_aead_ctx_st_state {
13324 pub opaque: [u8; 560usize],
13325 pub alignment: u64,
13326}
13327#[repr(C)]
13328#[derive(Copy, Clone)]
13329pub struct evp_aead_ctx_st {
13330 pub aead: *const EVP_AEAD,
13331 pub state: evp_aead_ctx_st_state,
13332 pub tag_len: u8,
13333}
13334unsafe extern "C" {
13335 pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
13336}
13337unsafe extern "C" {
13338 pub fn EVP_AEAD_CTX_new(
13339 aead: *const EVP_AEAD,
13340 key: *const u8,
13341 key_len: usize,
13342 tag_len: usize,
13343 ) -> *mut EVP_AEAD_CTX;
13344}
13345unsafe extern "C" {
13346 pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
13347}
13348unsafe extern "C" {
13349 pub fn EVP_AEAD_CTX_init(
13350 ctx: *mut EVP_AEAD_CTX,
13351 aead: *const EVP_AEAD,
13352 key: *const u8,
13353 key_len: usize,
13354 tag_len: usize,
13355 impl_: *mut ENGINE,
13356 ) -> ::core::ffi::c_int;
13357}
13358unsafe extern "C" {
13359 pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
13360}
13361unsafe extern "C" {
13362 pub fn EVP_AEAD_CTX_seal(
13363 ctx: *const EVP_AEAD_CTX,
13364 out: *mut u8,
13365 out_len: *mut usize,
13366 max_out_len: usize,
13367 nonce: *const u8,
13368 nonce_len: usize,
13369 in_: *const u8,
13370 in_len: usize,
13371 ad: *const u8,
13372 ad_len: usize,
13373 ) -> ::core::ffi::c_int;
13374}
13375unsafe extern "C" {
13376 pub fn EVP_AEAD_CTX_open(
13377 ctx: *const EVP_AEAD_CTX,
13378 out: *mut u8,
13379 out_len: *mut usize,
13380 max_out_len: usize,
13381 nonce: *const u8,
13382 nonce_len: usize,
13383 in_: *const u8,
13384 in_len: usize,
13385 ad: *const u8,
13386 ad_len: usize,
13387 ) -> ::core::ffi::c_int;
13388}
13389unsafe extern "C" {
13390 pub fn EVP_AEAD_CTX_seal_scatter(
13391 ctx: *const EVP_AEAD_CTX,
13392 out: *mut u8,
13393 out_tag: *mut u8,
13394 out_tag_len: *mut usize,
13395 max_out_tag_len: usize,
13396 nonce: *const u8,
13397 nonce_len: usize,
13398 in_: *const u8,
13399 in_len: usize,
13400 extra_in: *const u8,
13401 extra_in_len: usize,
13402 ad: *const u8,
13403 ad_len: usize,
13404 ) -> ::core::ffi::c_int;
13405}
13406unsafe extern "C" {
13407 pub fn EVP_AEAD_CTX_open_gather(
13408 ctx: *const EVP_AEAD_CTX,
13409 out: *mut u8,
13410 nonce: *const u8,
13411 nonce_len: usize,
13412 in_: *const u8,
13413 in_len: usize,
13414 in_tag: *const u8,
13415 in_tag_len: usize,
13416 ad: *const u8,
13417 ad_len: usize,
13418 ) -> ::core::ffi::c_int;
13419}
13420#[repr(C)]
13421#[derive(Debug, Copy, Clone)]
13422pub struct crypto_ivec_st {
13423 pub in_: *const u8,
13424 pub len: usize,
13425}
13426#[repr(C)]
13427#[derive(Debug, Copy, Clone)]
13428pub struct crypto_iovec_st {
13429 pub out: *mut u8,
13430 pub in_: *const u8,
13431 pub len: usize,
13432}
13433unsafe extern "C" {
13434 pub fn EVP_AEAD_CTX_sealv(
13435 ctx: *const EVP_AEAD_CTX,
13436 iovec: *const CRYPTO_IOVEC,
13437 num_iovec: usize,
13438 out_tag: *mut u8,
13439 out_tag_len: *mut usize,
13440 max_out_tag_len: usize,
13441 nonce: *const u8,
13442 nonce_len: usize,
13443 aadvec: *const CRYPTO_IVEC,
13444 num_aadvec: usize,
13445 ) -> ::core::ffi::c_int;
13446}
13447unsafe extern "C" {
13448 pub fn EVP_AEAD_CTX_openv(
13449 ctx: *const EVP_AEAD_CTX,
13450 iovec: *const CRYPTO_IOVEC,
13451 num_iovec: usize,
13452 out_total_bytes: *mut usize,
13453 nonce: *const u8,
13454 nonce_len: usize,
13455 aadvec: *const CRYPTO_IVEC,
13456 num_aadvec: usize,
13457 ) -> ::core::ffi::c_int;
13458}
13459unsafe extern "C" {
13460 pub fn EVP_AEAD_CTX_openv_detached(
13461 ctx: *const EVP_AEAD_CTX,
13462 iovec: *const CRYPTO_IOVEC,
13463 num_iovec: usize,
13464 nonce: *const u8,
13465 nonce_len: usize,
13466 in_tag: *const u8,
13467 in_tag_len: usize,
13468 aadvec: *const CRYPTO_IVEC,
13469 num_aadvec: usize,
13470 ) -> ::core::ffi::c_int;
13471}
13472unsafe extern "C" {
13473 pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
13474}
13475unsafe extern "C" {
13476 pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
13477}
13478unsafe extern "C" {
13479 pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13480}
13481unsafe extern "C" {
13482 pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
13483}
13484unsafe extern "C" {
13485 pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
13486}
13487unsafe extern "C" {
13488 pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13489}
13490unsafe extern "C" {
13491 pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
13492}
13493unsafe extern "C" {
13494 pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
13495}
13496unsafe extern "C" {
13497 pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
13498}
13499unsafe extern "C" {
13500 pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
13501}
13502unsafe extern "C" {
13503 pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
13504}
13505unsafe extern "C" {
13506 pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
13507}
13508pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
13509pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
13510pub type evp_aead_direction_t = ::core::ffi::c_uint;
13511unsafe extern "C" {
13512 pub fn EVP_AEAD_CTX_init_with_direction(
13513 ctx: *mut EVP_AEAD_CTX,
13514 aead: *const EVP_AEAD,
13515 key: *const u8,
13516 key_len: usize,
13517 tag_len: usize,
13518 dir: evp_aead_direction_t,
13519 ) -> ::core::ffi::c_int;
13520}
13521unsafe extern "C" {
13522 pub fn EVP_AEAD_CTX_get_iv(
13523 ctx: *const EVP_AEAD_CTX,
13524 out_iv: *mut *const u8,
13525 out_len: *mut usize,
13526 ) -> ::core::ffi::c_int;
13527}
13528unsafe extern "C" {
13529 pub fn EVP_AEAD_CTX_tag_len(
13530 ctx: *const EVP_AEAD_CTX,
13531 out_tag_len: *mut usize,
13532 in_len: usize,
13533 extra_in_len: usize,
13534 ) -> ::core::ffi::c_int;
13535}
13536unsafe extern "C" {
13537 pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
13538}
13539unsafe extern "C" {
13540 pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
13541}
13542unsafe extern "C" {
13543 pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
13544}
13545unsafe extern "C" {
13546 pub fn EVP_PKEY_dup_ref(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13547}
13548unsafe extern "C" {
13549 pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13550}
13551unsafe extern "C" {
13552 pub fn EVP_PKEY_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13553}
13554unsafe extern "C" {
13555 pub fn EVP_PKEY_copy_parameters(to: *mut EVP_PKEY, from: *const EVP_PKEY)
13556 -> ::core::ffi::c_int;
13557}
13558unsafe extern "C" {
13559 pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13560}
13561unsafe extern "C" {
13562 pub fn EVP_PKEY_parameters_eq(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
13563}
13564unsafe extern "C" {
13565 pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13566}
13567unsafe extern "C" {
13568 pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13569}
13570unsafe extern "C" {
13571 pub fn EVP_PKEY_has_public(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13572}
13573unsafe extern "C" {
13574 pub fn EVP_PKEY_has_private(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13575}
13576unsafe extern "C" {
13577 pub fn EVP_PKEY_copy_public(pkey: *const EVP_PKEY) -> *mut EVP_PKEY;
13578}
13579unsafe extern "C" {
13580 pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
13581}
13582unsafe extern "C" {
13583 pub fn EVP_pkey_rsa() -> *const EVP_PKEY_ALG;
13584}
13585unsafe extern "C" {
13586 pub fn EVP_pkey_ec_p224() -> *const EVP_PKEY_ALG;
13587}
13588unsafe extern "C" {
13589 pub fn EVP_pkey_ec_p256() -> *const EVP_PKEY_ALG;
13590}
13591unsafe extern "C" {
13592 pub fn EVP_pkey_ec_p384() -> *const EVP_PKEY_ALG;
13593}
13594unsafe extern "C" {
13595 pub fn EVP_pkey_ec_p521() -> *const EVP_PKEY_ALG;
13596}
13597unsafe extern "C" {
13598 pub fn EVP_pkey_x25519() -> *const EVP_PKEY_ALG;
13599}
13600unsafe extern "C" {
13601 pub fn EVP_pkey_ed25519() -> *const EVP_PKEY_ALG;
13602}
13603unsafe extern "C" {
13604 pub fn EVP_pkey_ml_dsa_44() -> *const EVP_PKEY_ALG;
13605}
13606unsafe extern "C" {
13607 pub fn EVP_pkey_ml_dsa_65() -> *const EVP_PKEY_ALG;
13608}
13609unsafe extern "C" {
13610 pub fn EVP_pkey_ml_dsa_87() -> *const EVP_PKEY_ALG;
13611}
13612unsafe extern "C" {
13613 pub fn EVP_pkey_ml_kem_768() -> *const EVP_PKEY_ALG;
13614}
13615unsafe extern "C" {
13616 pub fn EVP_pkey_ml_kem_1024() -> *const EVP_PKEY_ALG;
13617}
13618unsafe extern "C" {
13619 pub fn EVP_pkey_xwing() -> *const EVP_PKEY_ALG;
13620}
13621unsafe extern "C" {
13622 pub fn EVP_pkey_dsa() -> *const EVP_PKEY_ALG;
13623}
13624unsafe extern "C" {
13625 pub fn EVP_pkey_rsa_pss_sha256() -> *const EVP_PKEY_ALG;
13626}
13627unsafe extern "C" {
13628 pub fn EVP_pkey_rsa_pss_sha384() -> *const EVP_PKEY_ALG;
13629}
13630unsafe extern "C" {
13631 pub fn EVP_pkey_rsa_pss_sha512() -> *const EVP_PKEY_ALG;
13632}
13633unsafe extern "C" {
13634 pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13635}
13636unsafe extern "C" {
13637 pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::core::ffi::c_int;
13638}
13639unsafe extern "C" {
13640 pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13641}
13642unsafe extern "C" {
13643 pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
13644}
13645unsafe extern "C" {
13646 pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13647}
13648unsafe extern "C" {
13649 pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::core::ffi::c_int;
13650}
13651unsafe extern "C" {
13652 pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13653}
13654unsafe extern "C" {
13655 pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
13656}
13657unsafe extern "C" {
13658 pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13659}
13660unsafe extern "C" {
13661 pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::core::ffi::c_int;
13662}
13663unsafe extern "C" {
13664 pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13665}
13666unsafe extern "C" {
13667 pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
13668}
13669unsafe extern "C" {
13670 pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13671}
13672unsafe extern "C" {
13673 pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::core::ffi::c_int;
13674}
13675unsafe extern "C" {
13676 pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
13677}
13678unsafe extern "C" {
13679 pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
13680}
13681unsafe extern "C" {
13682 pub fn EVP_PKEY_from_subject_public_key_info(
13683 in_: *const u8,
13684 len: usize,
13685 algs: *const *const EVP_PKEY_ALG,
13686 num_algs: usize,
13687 ) -> *mut EVP_PKEY;
13688}
13689unsafe extern "C" {
13690 pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13691}
13692unsafe extern "C" {
13693 pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13694}
13695unsafe extern "C" {
13696 pub fn EVP_PKEY_from_private_key_info(
13697 in_: *const u8,
13698 len: usize,
13699 algs: *const *const EVP_PKEY_ALG,
13700 num_algs: usize,
13701 ) -> *mut EVP_PKEY;
13702}
13703unsafe extern "C" {
13704 pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
13705}
13706unsafe extern "C" {
13707 pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::core::ffi::c_int;
13708}
13709unsafe extern "C" {
13710 pub fn EVP_PKEY_from_raw_private_key(
13711 alg: *const EVP_PKEY_ALG,
13712 in_: *const u8,
13713 len: usize,
13714 ) -> *mut EVP_PKEY;
13715}
13716unsafe extern "C" {
13717 pub fn EVP_PKEY_from_private_seed(
13718 alg: *const EVP_PKEY_ALG,
13719 in_: *const u8,
13720 len: usize,
13721 ) -> *mut EVP_PKEY;
13722}
13723unsafe extern "C" {
13724 pub fn EVP_PKEY_from_raw_public_key(
13725 alg: *const EVP_PKEY_ALG,
13726 in_: *const u8,
13727 len: usize,
13728 ) -> *mut EVP_PKEY;
13729}
13730unsafe extern "C" {
13731 pub fn EVP_PKEY_get_raw_private_key(
13732 pkey: *const EVP_PKEY,
13733 out: *mut u8,
13734 out_len: *mut usize,
13735 ) -> ::core::ffi::c_int;
13736}
13737unsafe extern "C" {
13738 pub fn EVP_PKEY_get_private_seed(
13739 pkey: *const EVP_PKEY,
13740 out: *mut u8,
13741 out_len: *mut usize,
13742 ) -> ::core::ffi::c_int;
13743}
13744unsafe extern "C" {
13745 pub fn EVP_PKEY_get_raw_public_key(
13746 pkey: *const EVP_PKEY,
13747 out: *mut u8,
13748 out_len: *mut usize,
13749 ) -> ::core::ffi::c_int;
13750}
13751unsafe extern "C" {
13752 pub fn EVP_PKEY_generate_from_alg(alg: *const EVP_PKEY_ALG) -> *mut EVP_PKEY;
13753}
13754unsafe extern "C" {
13755 pub fn EVP_DigestSignInit(
13756 ctx: *mut EVP_MD_CTX,
13757 pctx: *mut *mut EVP_PKEY_CTX,
13758 type_: *const EVP_MD,
13759 e: *mut ENGINE,
13760 pkey: *mut EVP_PKEY,
13761 ) -> ::core::ffi::c_int;
13762}
13763unsafe extern "C" {
13764 pub fn EVP_DigestSignUpdate(
13765 ctx: *mut EVP_MD_CTX,
13766 data: *const ::core::ffi::c_void,
13767 len: usize,
13768 ) -> ::core::ffi::c_int;
13769}
13770unsafe extern "C" {
13771 pub fn EVP_DigestSignFinal(
13772 ctx: *mut EVP_MD_CTX,
13773 out_sig: *mut u8,
13774 out_sig_len: *mut usize,
13775 ) -> ::core::ffi::c_int;
13776}
13777unsafe extern "C" {
13778 pub fn EVP_DigestSign(
13779 ctx: *mut EVP_MD_CTX,
13780 out_sig: *mut u8,
13781 out_sig_len: *mut usize,
13782 data: *const u8,
13783 data_len: usize,
13784 ) -> ::core::ffi::c_int;
13785}
13786unsafe extern "C" {
13787 pub fn EVP_DigestVerifyInit(
13788 ctx: *mut EVP_MD_CTX,
13789 pctx: *mut *mut EVP_PKEY_CTX,
13790 type_: *const EVP_MD,
13791 e: *mut ENGINE,
13792 pkey: *mut EVP_PKEY,
13793 ) -> ::core::ffi::c_int;
13794}
13795unsafe extern "C" {
13796 pub fn EVP_DigestVerifyUpdate(
13797 ctx: *mut EVP_MD_CTX,
13798 data: *const ::core::ffi::c_void,
13799 len: usize,
13800 ) -> ::core::ffi::c_int;
13801}
13802unsafe extern "C" {
13803 pub fn EVP_DigestVerifyFinal(
13804 ctx: *mut EVP_MD_CTX,
13805 sig: *const u8,
13806 sig_len: usize,
13807 ) -> ::core::ffi::c_int;
13808}
13809unsafe extern "C" {
13810 pub fn EVP_DigestVerify(
13811 ctx: *mut EVP_MD_CTX,
13812 sig: *const u8,
13813 sig_len: usize,
13814 data: *const u8,
13815 len: usize,
13816 ) -> ::core::ffi::c_int;
13817}
13818unsafe extern "C" {
13819 pub fn EVP_SignInit_ex(
13820 ctx: *mut EVP_MD_CTX,
13821 type_: *const EVP_MD,
13822 impl_: *mut ENGINE,
13823 ) -> ::core::ffi::c_int;
13824}
13825unsafe extern "C" {
13826 pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13827}
13828unsafe extern "C" {
13829 pub fn EVP_SignUpdate(
13830 ctx: *mut EVP_MD_CTX,
13831 data: *const ::core::ffi::c_void,
13832 len: usize,
13833 ) -> ::core::ffi::c_int;
13834}
13835unsafe extern "C" {
13836 pub fn EVP_SignFinal(
13837 ctx: *const EVP_MD_CTX,
13838 sig: *mut u8,
13839 out_sig_len: *mut ::core::ffi::c_uint,
13840 pkey: *mut EVP_PKEY,
13841 ) -> ::core::ffi::c_int;
13842}
13843unsafe extern "C" {
13844 pub fn EVP_VerifyInit_ex(
13845 ctx: *mut EVP_MD_CTX,
13846 type_: *const EVP_MD,
13847 impl_: *mut ENGINE,
13848 ) -> ::core::ffi::c_int;
13849}
13850unsafe extern "C" {
13851 pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::core::ffi::c_int;
13852}
13853unsafe extern "C" {
13854 pub fn EVP_VerifyUpdate(
13855 ctx: *mut EVP_MD_CTX,
13856 data: *const ::core::ffi::c_void,
13857 len: usize,
13858 ) -> ::core::ffi::c_int;
13859}
13860unsafe extern "C" {
13861 pub fn EVP_VerifyFinal(
13862 ctx: *mut EVP_MD_CTX,
13863 sig: *const u8,
13864 sig_len: usize,
13865 pkey: *mut EVP_PKEY,
13866 ) -> ::core::ffi::c_int;
13867}
13868unsafe extern "C" {
13869 pub fn EVP_PKEY_print_public(
13870 out: *mut BIO,
13871 pkey: *const EVP_PKEY,
13872 indent: ::core::ffi::c_int,
13873 pctx: *mut ASN1_PCTX,
13874 ) -> ::core::ffi::c_int;
13875}
13876unsafe extern "C" {
13877 pub fn EVP_PKEY_print_private(
13878 out: *mut BIO,
13879 pkey: *const EVP_PKEY,
13880 indent: ::core::ffi::c_int,
13881 pctx: *mut ASN1_PCTX,
13882 ) -> ::core::ffi::c_int;
13883}
13884unsafe extern "C" {
13885 pub fn EVP_PKEY_print_params(
13886 out: *mut BIO,
13887 pkey: *const EVP_PKEY,
13888 indent: ::core::ffi::c_int,
13889 pctx: *mut ASN1_PCTX,
13890 ) -> ::core::ffi::c_int;
13891}
13892unsafe extern "C" {
13893 pub fn PKCS5_PBKDF2_HMAC(
13894 password: *const ::core::ffi::c_char,
13895 password_len: usize,
13896 salt: *const u8,
13897 salt_len: usize,
13898 iterations: u32,
13899 digest: *const EVP_MD,
13900 key_len: usize,
13901 out_key: *mut u8,
13902 ) -> ::core::ffi::c_int;
13903}
13904unsafe extern "C" {
13905 pub fn PKCS5_PBKDF2_HMAC_SHA1(
13906 password: *const ::core::ffi::c_char,
13907 password_len: usize,
13908 salt: *const u8,
13909 salt_len: usize,
13910 iterations: u32,
13911 key_len: usize,
13912 out_key: *mut u8,
13913 ) -> ::core::ffi::c_int;
13914}
13915unsafe extern "C" {
13916 pub fn EVP_PBE_scrypt(
13917 password: *const ::core::ffi::c_char,
13918 password_len: usize,
13919 salt: *const u8,
13920 salt_len: usize,
13921 N: u64,
13922 r: u64,
13923 p: u64,
13924 max_mem: usize,
13925 out_key: *mut u8,
13926 key_len: usize,
13927 ) -> ::core::ffi::c_int;
13928}
13929unsafe extern "C" {
13930 pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13931}
13932unsafe extern "C" {
13933 pub fn EVP_PKEY_CTX_new_id(id: ::core::ffi::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
13934}
13935unsafe extern "C" {
13936 pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
13937}
13938unsafe extern "C" {
13939 pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
13940}
13941unsafe extern "C" {
13942 pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
13943}
13944unsafe extern "C" {
13945 pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13946}
13947unsafe extern "C" {
13948 pub fn EVP_PKEY_sign(
13949 ctx: *mut EVP_PKEY_CTX,
13950 sig: *mut u8,
13951 sig_len: *mut usize,
13952 digest: *const u8,
13953 digest_len: usize,
13954 ) -> ::core::ffi::c_int;
13955}
13956unsafe extern "C" {
13957 pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13958}
13959unsafe extern "C" {
13960 pub fn EVP_PKEY_verify(
13961 ctx: *mut EVP_PKEY_CTX,
13962 sig: *const u8,
13963 sig_len: usize,
13964 digest: *const u8,
13965 digest_len: usize,
13966 ) -> ::core::ffi::c_int;
13967}
13968unsafe extern "C" {
13969 pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13970}
13971unsafe extern "C" {
13972 pub fn EVP_PKEY_encrypt(
13973 ctx: *mut EVP_PKEY_CTX,
13974 out: *mut u8,
13975 out_len: *mut usize,
13976 in_: *const u8,
13977 in_len: usize,
13978 ) -> ::core::ffi::c_int;
13979}
13980unsafe extern "C" {
13981 pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13982}
13983unsafe extern "C" {
13984 pub fn EVP_PKEY_decrypt(
13985 ctx: *mut EVP_PKEY_CTX,
13986 out: *mut u8,
13987 out_len: *mut usize,
13988 in_: *const u8,
13989 in_len: usize,
13990 ) -> ::core::ffi::c_int;
13991}
13992unsafe extern "C" {
13993 pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
13994}
13995unsafe extern "C" {
13996 pub fn EVP_PKEY_verify_recover(
13997 ctx: *mut EVP_PKEY_CTX,
13998 out: *mut u8,
13999 out_len: *mut usize,
14000 sig: *const u8,
14001 siglen: usize,
14002 ) -> ::core::ffi::c_int;
14003}
14004unsafe extern "C" {
14005 pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
14006}
14007unsafe extern "C" {
14008 pub fn EVP_PKEY_derive_set_peer(
14009 ctx: *mut EVP_PKEY_CTX,
14010 peer: *mut EVP_PKEY,
14011 ) -> ::core::ffi::c_int;
14012}
14013unsafe extern "C" {
14014 pub fn EVP_PKEY_derive(
14015 ctx: *mut EVP_PKEY_CTX,
14016 key: *mut u8,
14017 out_key_len: *mut usize,
14018 ) -> ::core::ffi::c_int;
14019}
14020unsafe extern "C" {
14021 pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
14022}
14023unsafe extern "C" {
14024 pub fn EVP_PKEY_keygen(
14025 ctx: *mut EVP_PKEY_CTX,
14026 out_pkey: *mut *mut EVP_PKEY,
14027 ) -> ::core::ffi::c_int;
14028}
14029unsafe extern "C" {
14030 pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::core::ffi::c_int;
14031}
14032unsafe extern "C" {
14033 pub fn EVP_PKEY_paramgen(
14034 ctx: *mut EVP_PKEY_CTX,
14035 out_pkey: *mut *mut EVP_PKEY,
14036 ) -> ::core::ffi::c_int;
14037}
14038unsafe extern "C" {
14039 pub fn EVP_PKEY_encapsulate_init(
14040 ctx: *mut EVP_PKEY_CTX,
14041 params: *const OSSL_PARAM,
14042 ) -> ::core::ffi::c_int;
14043}
14044unsafe extern "C" {
14045 pub fn EVP_PKEY_encapsulate(
14046 ctx: *mut EVP_PKEY_CTX,
14047 out_ciphertext: *mut u8,
14048 out_ciphertext_len: *mut usize,
14049 out_secret: *mut u8,
14050 out_secret_len: *mut usize,
14051 ) -> ::core::ffi::c_int;
14052}
14053unsafe extern "C" {
14054 pub fn EVP_PKEY_decapsulate_init(
14055 ctx: *mut EVP_PKEY_CTX,
14056 params: *const OSSL_PARAM,
14057 ) -> ::core::ffi::c_int;
14058}
14059unsafe extern "C" {
14060 pub fn EVP_PKEY_decapsulate(
14061 ctx: *mut EVP_PKEY_CTX,
14062 out_secret: *mut u8,
14063 out_secret_len: *mut usize,
14064 ciphertext: *const u8,
14065 ciphertext_len: usize,
14066 ) -> ::core::ffi::c_int;
14067}
14068unsafe extern "C" {
14069 pub fn EVP_PKEY_CTX_set_signature_md(
14070 ctx: *mut EVP_PKEY_CTX,
14071 md: *const EVP_MD,
14072 ) -> ::core::ffi::c_int;
14073}
14074unsafe extern "C" {
14075 pub fn EVP_PKEY_CTX_get_signature_md(
14076 ctx: *mut EVP_PKEY_CTX,
14077 out_md: *mut *const EVP_MD,
14078 ) -> ::core::ffi::c_int;
14079}
14080unsafe extern "C" {
14081 pub fn EVP_PKEY_CTX_set1_signature_context_string(
14082 ctx: *mut EVP_PKEY_CTX,
14083 context: *const u8,
14084 context_len: usize,
14085 ) -> ::core::ffi::c_int;
14086}
14087unsafe extern "C" {
14088 pub fn EVP_RSA_gen(bits: ::core::ffi::c_uint) -> *mut EVP_PKEY;
14089}
14090unsafe extern "C" {
14091 pub fn EVP_PKEY_from_rsa_public_key(
14092 alg: *const EVP_PKEY_ALG,
14093 in_: *const u8,
14094 len: usize,
14095 ) -> *mut EVP_PKEY;
14096}
14097unsafe extern "C" {
14098 pub fn EVP_PKEY_from_rsa_private_key(
14099 alg: *const EVP_PKEY_ALG,
14100 in_: *const u8,
14101 len: usize,
14102 ) -> *mut EVP_PKEY;
14103}
14104unsafe extern "C" {
14105 pub fn EVP_PKEY_marshal_rsa_public_key(
14106 cbb: *mut CBB,
14107 key: *const EVP_PKEY,
14108 ) -> ::core::ffi::c_int;
14109}
14110unsafe extern "C" {
14111 pub fn EVP_PKEY_marshal_rsa_private_key(
14112 cbb: *mut CBB,
14113 key: *const EVP_PKEY,
14114 ) -> ::core::ffi::c_int;
14115}
14116unsafe extern "C" {
14117 pub fn EVP_PKEY_CTX_set_rsa_padding(
14118 ctx: *mut EVP_PKEY_CTX,
14119 padding: ::core::ffi::c_int,
14120 ) -> ::core::ffi::c_int;
14121}
14122unsafe extern "C" {
14123 pub fn EVP_PKEY_CTX_get_rsa_padding(
14124 ctx: *mut EVP_PKEY_CTX,
14125 out_padding: *mut ::core::ffi::c_int,
14126 ) -> ::core::ffi::c_int;
14127}
14128unsafe extern "C" {
14129 pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
14130 ctx: *mut EVP_PKEY_CTX,
14131 salt_len: ::core::ffi::c_int,
14132 ) -> ::core::ffi::c_int;
14133}
14134unsafe extern "C" {
14135 pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
14136 ctx: *mut EVP_PKEY_CTX,
14137 out_salt_len: *mut ::core::ffi::c_int,
14138 ) -> ::core::ffi::c_int;
14139}
14140unsafe extern "C" {
14141 pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
14142 ctx: *mut EVP_PKEY_CTX,
14143 bits: ::core::ffi::c_int,
14144 ) -> ::core::ffi::c_int;
14145}
14146unsafe extern "C" {
14147 pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
14148 ctx: *mut EVP_PKEY_CTX,
14149 e: *mut BIGNUM,
14150 ) -> ::core::ffi::c_int;
14151}
14152unsafe extern "C" {
14153 pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
14154 ctx: *mut EVP_PKEY_CTX,
14155 md: *const EVP_MD,
14156 ) -> ::core::ffi::c_int;
14157}
14158unsafe extern "C" {
14159 pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
14160 ctx: *mut EVP_PKEY_CTX,
14161 out_md: *mut *const EVP_MD,
14162 ) -> ::core::ffi::c_int;
14163}
14164unsafe extern "C" {
14165 pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
14166 ctx: *mut EVP_PKEY_CTX,
14167 md: *const EVP_MD,
14168 ) -> ::core::ffi::c_int;
14169}
14170unsafe extern "C" {
14171 pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
14172 ctx: *mut EVP_PKEY_CTX,
14173 out_md: *mut *const EVP_MD,
14174 ) -> ::core::ffi::c_int;
14175}
14176unsafe extern "C" {
14177 pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
14178 ctx: *mut EVP_PKEY_CTX,
14179 label: *mut u8,
14180 label_len: usize,
14181 ) -> ::core::ffi::c_int;
14182}
14183unsafe extern "C" {
14184 pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
14185 ctx: *mut EVP_PKEY_CTX,
14186 out_label: *mut *const u8,
14187 ) -> ::core::ffi::c_int;
14188}
14189unsafe extern "C" {
14190 pub fn EVP_PKEY_from_ec_uncompressed_point(
14191 alg: *const EVP_PKEY_ALG,
14192 in_: *const u8,
14193 len: usize,
14194 ) -> *mut EVP_PKEY;
14195}
14196unsafe extern "C" {
14197 pub fn EVP_PKEY_from_ec_compressed_point(
14198 alg: *const EVP_PKEY_ALG,
14199 in_: *const u8,
14200 len: usize,
14201 ) -> *mut EVP_PKEY;
14202}
14203unsafe extern "C" {
14204 pub fn EVP_PKEY_marshal_ec_uncompressed_point(
14205 cbb: *mut CBB,
14206 key: *const EVP_PKEY,
14207 ) -> ::core::ffi::c_int;
14208}
14209unsafe extern "C" {
14210 pub fn EVP_PKEY_marshal_ec_compressed_point(
14211 cbb: *mut CBB,
14212 key: *const EVP_PKEY,
14213 ) -> ::core::ffi::c_int;
14214}
14215unsafe extern "C" {
14216 pub fn EVP_PKEY_from_ec_private_scalar(
14217 alg: *const EVP_PKEY_ALG,
14218 in_: *const u8,
14219 len: usize,
14220 ) -> *mut EVP_PKEY;
14221}
14222unsafe extern "C" {
14223 pub fn EVP_PKEY_marshal_ec_private_scalar(
14224 cbb: *mut CBB,
14225 key: *const EVP_PKEY,
14226 ) -> ::core::ffi::c_int;
14227}
14228unsafe extern "C" {
14229 pub fn EVP_PKEY_get_ec_curve_nid(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14230}
14231unsafe extern "C" {
14232 pub fn EVP_PKEY_get_ec_point_conv_form(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14233}
14234unsafe extern "C" {
14235 pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
14236 ctx: *mut EVP_PKEY_CTX,
14237 nid: ::core::ffi::c_int,
14238 ) -> ::core::ffi::c_int;
14239}
14240unsafe extern "C" {
14241 pub fn EVP_PKEY_CTX_set_dh_pad(
14242 ctx: *mut EVP_PKEY_CTX,
14243 pad: ::core::ffi::c_int,
14244 ) -> ::core::ffi::c_int;
14245}
14246unsafe extern "C" {
14247 pub fn EVP_kem_ml_kem_768() -> *const EVP_KEM;
14248}
14249unsafe extern "C" {
14250 pub fn EVP_kem_ml_kem_1024() -> *const EVP_KEM;
14251}
14252unsafe extern "C" {
14253 pub fn EVP_kem_xwing() -> *const EVP_KEM;
14254}
14255unsafe extern "C" {
14256 pub fn EVP_KEM_ciphertext_len(kem: *const EVP_KEM) -> usize;
14257}
14258unsafe extern "C" {
14259 pub fn EVP_KEM_secret_len(kem: *const EVP_KEM) -> usize;
14260}
14261unsafe extern "C" {
14262 pub fn EVP_KEM_entropy_len_for_testing(kem: *const EVP_KEM) -> usize;
14263}
14264unsafe extern "C" {
14265 pub fn EVP_KEM_encap(
14266 kem: *const EVP_KEM,
14267 out_ciphertext: *mut u8,
14268 ciphertext_len: usize,
14269 out_secret: *mut u8,
14270 secret_len: usize,
14271 peer_key: *const EVP_PKEY,
14272 ) -> ::core::ffi::c_int;
14273}
14274unsafe extern "C" {
14275 pub fn EVP_KEM_encap_external_entropy_for_testing(
14276 kem: *const EVP_KEM,
14277 out_ciphertext: *mut u8,
14278 ciphertext_len: usize,
14279 out_secret: *mut u8,
14280 secret_len: usize,
14281 peer_key: *const EVP_PKEY,
14282 entropy: *const u8,
14283 entropy_len: usize,
14284 ) -> ::core::ffi::c_int;
14285}
14286unsafe extern "C" {
14287 pub fn EVP_KEM_decap(
14288 kem: *const EVP_KEM,
14289 out_secret: *mut u8,
14290 secret_len: usize,
14291 ciphertext: *const u8,
14292 ciphertext_len: usize,
14293 key: *const EVP_PKEY,
14294 ) -> ::core::ffi::c_int;
14295}
14296unsafe extern "C" {
14297 pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::core::ffi::c_void;
14298}
14299unsafe extern "C" {
14300 pub fn OpenSSL_add_all_algorithms();
14301}
14302unsafe extern "C" {
14303 pub fn OPENSSL_add_all_algorithms_conf();
14304}
14305unsafe extern "C" {
14306 pub fn OpenSSL_add_all_ciphers();
14307}
14308unsafe extern "C" {
14309 pub fn OpenSSL_add_all_digests();
14310}
14311unsafe extern "C" {
14312 pub fn EVP_cleanup();
14313}
14314unsafe extern "C" {
14315 pub fn EVP_default_properties_is_fips_enabled(libctx: *mut OSSL_LIB_CTX) -> ::core::ffi::c_int;
14316}
14317unsafe extern "C" {
14318 pub fn EVP_CIPHER_do_all_sorted(
14319 callback: ::core::option::Option<
14320 unsafe extern "C" fn(
14321 cipher: *const EVP_CIPHER,
14322 name: *const ::core::ffi::c_char,
14323 unused: *const ::core::ffi::c_char,
14324 arg: *mut ::core::ffi::c_void,
14325 ),
14326 >,
14327 arg: *mut ::core::ffi::c_void,
14328 );
14329}
14330unsafe extern "C" {
14331 pub fn EVP_MD_do_all_sorted(
14332 callback: ::core::option::Option<
14333 unsafe extern "C" fn(
14334 md: *const EVP_MD,
14335 name: *const ::core::ffi::c_char,
14336 unused: *const ::core::ffi::c_char,
14337 arg: *mut ::core::ffi::c_void,
14338 ),
14339 >,
14340 arg: *mut ::core::ffi::c_void,
14341 );
14342}
14343unsafe extern "C" {
14344 pub fn EVP_MD_do_all(
14345 callback: ::core::option::Option<
14346 unsafe extern "C" fn(
14347 md: *const EVP_MD,
14348 name: *const ::core::ffi::c_char,
14349 unused: *const ::core::ffi::c_char,
14350 arg: *mut ::core::ffi::c_void,
14351 ),
14352 >,
14353 arg: *mut ::core::ffi::c_void,
14354 );
14355}
14356unsafe extern "C" {
14357 pub fn EVP_MD_do_all_provided(
14358 libctx: *mut OSSL_LIB_CTX,
14359 callback: ::core::option::Option<
14360 unsafe extern "C" fn(md: *mut EVP_MD, arg: *mut ::core::ffi::c_void),
14361 >,
14362 arg: *mut ::core::ffi::c_void,
14363 );
14364}
14365unsafe extern "C" {
14366 pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14367}
14368unsafe extern "C" {
14369 pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14370}
14371unsafe extern "C" {
14372 pub fn d2i_PrivateKey(
14373 type_: ::core::ffi::c_int,
14374 out: *mut *mut EVP_PKEY,
14375 inp: *mut *const u8,
14376 len: ::core::ffi::c_long,
14377 ) -> *mut EVP_PKEY;
14378}
14379unsafe extern "C" {
14380 pub fn d2i_AutoPrivateKey(
14381 out: *mut *mut EVP_PKEY,
14382 inp: *mut *const u8,
14383 len: ::core::ffi::c_long,
14384 ) -> *mut EVP_PKEY;
14385}
14386unsafe extern "C" {
14387 pub fn d2i_PublicKey(
14388 type_: ::core::ffi::c_int,
14389 out: *mut *mut EVP_PKEY,
14390 inp: *mut *const u8,
14391 len: ::core::ffi::c_long,
14392 ) -> *mut EVP_PKEY;
14393}
14394unsafe extern "C" {
14395 pub fn EVP_PKEY_CTX_set_ec_param_enc(
14396 ctx: *mut EVP_PKEY_CTX,
14397 encoding: ::core::ffi::c_int,
14398 ) -> ::core::ffi::c_int;
14399}
14400unsafe extern "C" {
14401 pub fn EVP_PKEY_set_type(pkey: *mut EVP_PKEY, type_: ::core::ffi::c_int) -> ::core::ffi::c_int;
14402}
14403unsafe extern "C" {
14404 pub fn EVP_PKEY_set1_tls_encodedpoint(
14405 pkey: *mut EVP_PKEY,
14406 in_: *const u8,
14407 len: usize,
14408 ) -> ::core::ffi::c_int;
14409}
14410unsafe extern "C" {
14411 pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
14412}
14413unsafe extern "C" {
14414 pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
14415}
14416unsafe extern "C" {
14417 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
14418 ctx: *mut EVP_PKEY_CTX,
14419 md: *const EVP_MD,
14420 ) -> ::core::ffi::c_int;
14421}
14422unsafe extern "C" {
14423 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
14424 ctx: *mut EVP_PKEY_CTX,
14425 salt_len: ::core::ffi::c_int,
14426 ) -> ::core::ffi::c_int;
14427}
14428unsafe extern "C" {
14429 pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
14430 ctx: *mut EVP_PKEY_CTX,
14431 md: *const EVP_MD,
14432 ) -> ::core::ffi::c_int;
14433}
14434unsafe extern "C" {
14435 pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14436}
14437unsafe extern "C" {
14438 pub fn d2i_PUBKEY(
14439 out: *mut *mut EVP_PKEY,
14440 inp: *mut *const u8,
14441 len: ::core::ffi::c_long,
14442 ) -> *mut EVP_PKEY;
14443}
14444unsafe extern "C" {
14445 pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14446}
14447unsafe extern "C" {
14448 pub fn d2i_RSA_PUBKEY(
14449 out: *mut *mut RSA,
14450 inp: *mut *const u8,
14451 len: ::core::ffi::c_long,
14452 ) -> *mut RSA;
14453}
14454unsafe extern "C" {
14455 pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
14456}
14457unsafe extern "C" {
14458 pub fn d2i_DSA_PUBKEY(
14459 out: *mut *mut DSA,
14460 inp: *mut *const u8,
14461 len: ::core::ffi::c_long,
14462 ) -> *mut DSA;
14463}
14464unsafe extern "C" {
14465 pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
14466}
14467unsafe extern "C" {
14468 pub fn d2i_EC_PUBKEY(
14469 out: *mut *mut EC_KEY,
14470 inp: *mut *const u8,
14471 len: ::core::ffi::c_long,
14472 ) -> *mut EC_KEY;
14473}
14474unsafe extern "C" {
14475 pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
14476 ctx: *mut EVP_PKEY_CTX,
14477 nbits: ::core::ffi::c_int,
14478 ) -> ::core::ffi::c_int;
14479}
14480unsafe extern "C" {
14481 pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
14482 ctx: *mut EVP_PKEY_CTX,
14483 qbits: ::core::ffi::c_int,
14484 ) -> ::core::ffi::c_int;
14485}
14486unsafe extern "C" {
14487 pub fn EVP_PKEY_assign(
14488 pkey: *mut EVP_PKEY,
14489 type_: ::core::ffi::c_int,
14490 key: *mut ::core::ffi::c_void,
14491 ) -> ::core::ffi::c_int;
14492}
14493unsafe extern "C" {
14494 pub fn EVP_PKEY_type(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
14495}
14496unsafe extern "C" {
14497 pub fn EVP_PKEY_new_raw_private_key(
14498 type_: ::core::ffi::c_int,
14499 unused: *mut ENGINE,
14500 in_: *const u8,
14501 len: usize,
14502 ) -> *mut EVP_PKEY;
14503}
14504unsafe extern "C" {
14505 pub fn EVP_PKEY_new_raw_public_key(
14506 type_: ::core::ffi::c_int,
14507 unused: *mut ENGINE,
14508 in_: *const u8,
14509 len: usize,
14510 ) -> *mut EVP_PKEY;
14511}
14512unsafe extern "C" {
14513 pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14514}
14515unsafe extern "C" {
14516 pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::core::ffi::c_int;
14517}
14518unsafe extern "C" {
14519 pub fn HKDF(
14520 out_key: *mut u8,
14521 out_len: usize,
14522 digest: *const EVP_MD,
14523 secret: *const u8,
14524 secret_len: usize,
14525 salt: *const u8,
14526 salt_len: usize,
14527 info: *const u8,
14528 info_len: usize,
14529 ) -> ::core::ffi::c_int;
14530}
14531unsafe extern "C" {
14532 pub fn HKDF_extract(
14533 out_key: *mut u8,
14534 out_len: *mut usize,
14535 digest: *const EVP_MD,
14536 secret: *const u8,
14537 secret_len: usize,
14538 salt: *const u8,
14539 salt_len: usize,
14540 ) -> ::core::ffi::c_int;
14541}
14542unsafe extern "C" {
14543 pub fn HKDF_expand(
14544 out_key: *mut u8,
14545 out_len: usize,
14546 digest: *const EVP_MD,
14547 prk: *const u8,
14548 prk_len: usize,
14549 info: *const u8,
14550 info_len: usize,
14551 ) -> ::core::ffi::c_int;
14552}
14553unsafe extern "C" {
14554 pub fn HMAC(
14555 evp_md: *const EVP_MD,
14556 key: *const ::core::ffi::c_void,
14557 key_len: usize,
14558 data: *const u8,
14559 data_len: usize,
14560 out: *mut u8,
14561 out_len: *mut ::core::ffi::c_uint,
14562 ) -> *mut u8;
14563}
14564unsafe extern "C" {
14565 pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
14566}
14567unsafe extern "C" {
14568 pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
14569}
14570unsafe extern "C" {
14571 pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
14572}
14573unsafe extern "C" {
14574 pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
14575}
14576unsafe extern "C" {
14577 pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
14578}
14579unsafe extern "C" {
14580 pub fn HMAC_Init_ex(
14581 ctx: *mut HMAC_CTX,
14582 key: *const ::core::ffi::c_void,
14583 key_len: usize,
14584 md: *const EVP_MD,
14585 impl_: *mut ENGINE,
14586 ) -> ::core::ffi::c_int;
14587}
14588unsafe extern "C" {
14589 pub fn HMAC_Update(ctx: *mut HMAC_CTX, data: *const u8, data_len: usize) -> ::core::ffi::c_int;
14590}
14591unsafe extern "C" {
14592 pub fn HMAC_Final(
14593 ctx: *mut HMAC_CTX,
14594 out: *mut u8,
14595 out_len: *mut ::core::ffi::c_uint,
14596 ) -> ::core::ffi::c_int;
14597}
14598unsafe extern "C" {
14599 pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
14600}
14601unsafe extern "C" {
14602 pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
14603}
14604unsafe extern "C" {
14605 pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14606}
14607unsafe extern "C" {
14608 pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
14609}
14610unsafe extern "C" {
14611 pub fn HMAC_Init(
14612 ctx: *mut HMAC_CTX,
14613 key: *const ::core::ffi::c_void,
14614 key_len: ::core::ffi::c_int,
14615 md: *const EVP_MD,
14616 ) -> ::core::ffi::c_int;
14617}
14618unsafe extern "C" {
14619 pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::core::ffi::c_int;
14620}
14621#[repr(C)]
14622#[derive(Copy, Clone)]
14623pub struct hmac_ctx_st {
14624 pub md: *const EVP_MD,
14625 pub md_ctx: EVP_MD_CTX,
14626 pub i_ctx: EVP_MD_CTX,
14627 pub o_ctx: EVP_MD_CTX,
14628}
14629unsafe extern "C" {
14630 pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
14631}
14632unsafe extern "C" {
14633 pub fn EVP_hpke_p256_hkdf_sha256() -> *const EVP_HPKE_KEM;
14634}
14635unsafe extern "C" {
14636 pub fn EVP_hpke_xwing() -> *const EVP_HPKE_KEM;
14637}
14638unsafe extern "C" {
14639 pub fn EVP_hpke_mlkem768() -> *const EVP_HPKE_KEM;
14640}
14641unsafe extern "C" {
14642 pub fn EVP_hpke_mlkem1024() -> *const EVP_HPKE_KEM;
14643}
14644unsafe extern "C" {
14645 pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
14646}
14647unsafe extern "C" {
14648 pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14649}
14650unsafe extern "C" {
14651 pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
14652}
14653unsafe extern "C" {
14654 pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
14655}
14656unsafe extern "C" {
14657 pub fn EVP_HPKE_KEM_shared_secret_len(kem: *const EVP_HPKE_KEM) -> usize;
14658}
14659unsafe extern "C" {
14660 pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
14661}
14662unsafe extern "C" {
14663 pub fn EVP_hpke_hkdf_sha384() -> *const EVP_HPKE_KDF;
14664}
14665unsafe extern "C" {
14666 pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
14667}
14668unsafe extern "C" {
14669 pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
14670}
14671unsafe extern "C" {
14672 pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
14673}
14674unsafe extern "C" {
14675 pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
14676}
14677unsafe extern "C" {
14678 pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
14679}
14680unsafe extern "C" {
14681 pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
14682}
14683unsafe extern "C" {
14684 pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
14685}
14686unsafe extern "C" {
14687 pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
14688}
14689unsafe extern "C" {
14690 pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
14691}
14692unsafe extern "C" {
14693 pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
14694}
14695unsafe extern "C" {
14696 pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
14697}
14698unsafe extern "C" {
14699 pub fn EVP_HPKE_KEY_copy(
14700 dst: *mut EVP_HPKE_KEY,
14701 src: *const EVP_HPKE_KEY,
14702 ) -> ::core::ffi::c_int;
14703}
14704unsafe extern "C" {
14705 pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
14706}
14707unsafe extern "C" {
14708 pub fn EVP_HPKE_KEY_init(
14709 key: *mut EVP_HPKE_KEY,
14710 kem: *const EVP_HPKE_KEM,
14711 priv_key: *const u8,
14712 priv_key_len: usize,
14713 ) -> ::core::ffi::c_int;
14714}
14715unsafe extern "C" {
14716 pub fn EVP_HPKE_KEY_generate(
14717 key: *mut EVP_HPKE_KEY,
14718 kem: *const EVP_HPKE_KEM,
14719 ) -> ::core::ffi::c_int;
14720}
14721unsafe extern "C" {
14722 pub fn EVP_HPKE_KEY_derive(
14723 key: *mut EVP_HPKE_KEY,
14724 kem: *const EVP_HPKE_KEM,
14725 ikm: *const u8,
14726 ikm_len: usize,
14727 ) -> ::core::ffi::c_int;
14728}
14729unsafe extern "C" {
14730 pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
14731}
14732unsafe extern "C" {
14733 pub fn EVP_HPKE_KEY_public_key(
14734 key: *const EVP_HPKE_KEY,
14735 out: *mut u8,
14736 out_len: *mut usize,
14737 max_out: usize,
14738 ) -> ::core::ffi::c_int;
14739}
14740unsafe extern "C" {
14741 pub fn EVP_HPKE_KEY_private_key(
14742 key: *const EVP_HPKE_KEY,
14743 out: *mut u8,
14744 out_len: *mut usize,
14745 max_out: usize,
14746 ) -> ::core::ffi::c_int;
14747}
14748unsafe extern "C" {
14749 pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
14750}
14751unsafe extern "C" {
14752 pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
14753}
14754unsafe extern "C" {
14755 pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
14756}
14757unsafe extern "C" {
14758 pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
14759}
14760unsafe extern "C" {
14761 pub fn EVP_HPKE_CTX_setup_sender(
14762 ctx: *mut EVP_HPKE_CTX,
14763 out_enc: *mut u8,
14764 out_enc_len: *mut usize,
14765 max_enc: usize,
14766 kem: *const EVP_HPKE_KEM,
14767 kdf: *const EVP_HPKE_KDF,
14768 aead: *const EVP_HPKE_AEAD,
14769 peer_public_key: *const u8,
14770 peer_public_key_len: usize,
14771 info: *const u8,
14772 info_len: usize,
14773 ) -> ::core::ffi::c_int;
14774}
14775unsafe extern "C" {
14776 pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
14777 ctx: *mut EVP_HPKE_CTX,
14778 out_enc: *mut u8,
14779 out_enc_len: *mut usize,
14780 max_enc: usize,
14781 kem: *const EVP_HPKE_KEM,
14782 kdf: *const EVP_HPKE_KDF,
14783 aead: *const EVP_HPKE_AEAD,
14784 peer_public_key: *const u8,
14785 peer_public_key_len: usize,
14786 info: *const u8,
14787 info_len: usize,
14788 seed: *const u8,
14789 seed_len: usize,
14790 ) -> ::core::ffi::c_int;
14791}
14792unsafe extern "C" {
14793 pub fn EVP_HPKE_CTX_setup_recipient(
14794 ctx: *mut EVP_HPKE_CTX,
14795 key: *const EVP_HPKE_KEY,
14796 kdf: *const EVP_HPKE_KDF,
14797 aead: *const EVP_HPKE_AEAD,
14798 enc: *const u8,
14799 enc_len: usize,
14800 info: *const u8,
14801 info_len: usize,
14802 ) -> ::core::ffi::c_int;
14803}
14804unsafe extern "C" {
14805 pub fn EVP_HPKE_CTX_setup_recipient_with_shared_secret(
14806 ctx: *mut EVP_HPKE_CTX,
14807 kem: *const EVP_HPKE_KEM,
14808 kdf: *const EVP_HPKE_KDF,
14809 aead: *const EVP_HPKE_AEAD,
14810 shared_secret: *const u8,
14811 shared_secret_len: usize,
14812 info: *const u8,
14813 info_len: usize,
14814 ) -> ::core::ffi::c_int;
14815}
14816unsafe extern "C" {
14817 pub fn EVP_HPKE_CTX_setup_auth_sender(
14818 ctx: *mut EVP_HPKE_CTX,
14819 out_enc: *mut u8,
14820 out_enc_len: *mut usize,
14821 max_enc: usize,
14822 key: *const EVP_HPKE_KEY,
14823 kdf: *const EVP_HPKE_KDF,
14824 aead: *const EVP_HPKE_AEAD,
14825 peer_public_key: *const u8,
14826 peer_public_key_len: usize,
14827 info: *const u8,
14828 info_len: usize,
14829 ) -> ::core::ffi::c_int;
14830}
14831unsafe extern "C" {
14832 pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
14833 ctx: *mut EVP_HPKE_CTX,
14834 out_enc: *mut u8,
14835 out_enc_len: *mut usize,
14836 max_enc: usize,
14837 key: *const EVP_HPKE_KEY,
14838 kdf: *const EVP_HPKE_KDF,
14839 aead: *const EVP_HPKE_AEAD,
14840 peer_public_key: *const u8,
14841 peer_public_key_len: usize,
14842 info: *const u8,
14843 info_len: usize,
14844 seed: *const u8,
14845 seed_len: usize,
14846 ) -> ::core::ffi::c_int;
14847}
14848unsafe extern "C" {
14849 pub fn EVP_HPKE_CTX_setup_auth_recipient(
14850 ctx: *mut EVP_HPKE_CTX,
14851 key: *const EVP_HPKE_KEY,
14852 kdf: *const EVP_HPKE_KDF,
14853 aead: *const EVP_HPKE_AEAD,
14854 enc: *const u8,
14855 enc_len: usize,
14856 info: *const u8,
14857 info_len: usize,
14858 peer_public_key: *const u8,
14859 peer_public_key_len: usize,
14860 ) -> ::core::ffi::c_int;
14861}
14862unsafe extern "C" {
14863 pub fn EVP_HPKE_CTX_open(
14864 ctx: *mut EVP_HPKE_CTX,
14865 out: *mut u8,
14866 out_len: *mut usize,
14867 max_out_len: usize,
14868 in_: *const u8,
14869 in_len: usize,
14870 ad: *const u8,
14871 ad_len: usize,
14872 ) -> ::core::ffi::c_int;
14873}
14874unsafe extern "C" {
14875 pub fn EVP_HPKE_CTX_seal(
14876 ctx: *mut EVP_HPKE_CTX,
14877 out: *mut u8,
14878 out_len: *mut usize,
14879 max_out_len: usize,
14880 in_: *const u8,
14881 in_len: usize,
14882 ad: *const u8,
14883 ad_len: usize,
14884 ) -> ::core::ffi::c_int;
14885}
14886unsafe extern "C" {
14887 pub fn EVP_HPKE_CTX_export(
14888 ctx: *const EVP_HPKE_CTX,
14889 out: *mut u8,
14890 secret_len: usize,
14891 context: *const u8,
14892 context_len: usize,
14893 ) -> ::core::ffi::c_int;
14894}
14895unsafe extern "C" {
14896 pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
14897}
14898unsafe extern "C" {
14899 pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
14900}
14901unsafe extern "C" {
14902 pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
14903}
14904unsafe extern "C" {
14905 pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
14906}
14907#[repr(C)]
14908#[derive(Copy, Clone)]
14909pub struct evp_hpke_ctx_st {
14910 pub kem: *const EVP_HPKE_KEM,
14911 pub aead: *const EVP_HPKE_AEAD,
14912 pub kdf: *const EVP_HPKE_KDF,
14913 pub aead_ctx: EVP_AEAD_CTX,
14914 pub base_nonce: [u8; 24usize],
14915 pub exporter_secret: [u8; 64usize],
14916 pub seq: u64,
14917 pub is_sender: ::core::ffi::c_int,
14918}
14919#[repr(C)]
14920#[derive(Debug, Copy, Clone)]
14921pub struct evp_hpke_key_st {
14922 pub kem: *const EVP_HPKE_KEM,
14923 pub private_key: [u8; 64usize],
14924 pub public_key: [u8; 1568usize],
14925 pub pkey: *mut EVP_PKEY,
14926}
14927#[repr(C)]
14928#[derive(Debug, Copy, Clone)]
14929pub struct HRSS_private_key {
14930 pub opaque: [u8; 1808usize],
14931}
14932#[repr(C)]
14933#[derive(Debug, Copy, Clone)]
14934pub struct HRSS_public_key {
14935 pub opaque: [u8; 1424usize],
14936}
14937unsafe extern "C" {
14938 pub fn HRSS_generate_key(
14939 out_pub: *mut HRSS_public_key,
14940 out_priv: *mut HRSS_private_key,
14941 input: *const u8,
14942 ) -> ::core::ffi::c_int;
14943}
14944unsafe extern "C" {
14945 pub fn HRSS_encap(
14946 out_ciphertext: *mut u8,
14947 out_shared_key: *mut u8,
14948 in_pub: *const HRSS_public_key,
14949 in_: *const u8,
14950 ) -> ::core::ffi::c_int;
14951}
14952unsafe extern "C" {
14953 pub fn HRSS_decap(
14954 out_shared_key: *mut u8,
14955 in_priv: *const HRSS_private_key,
14956 ciphertext: *const u8,
14957 ciphertext_len: usize,
14958 ) -> ::core::ffi::c_int;
14959}
14960unsafe extern "C" {
14961 pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
14962}
14963unsafe extern "C" {
14964 pub fn HRSS_parse_public_key(out: *mut HRSS_public_key, in_: *const u8) -> ::core::ffi::c_int;
14965}
14966unsafe extern "C" {
14967 pub fn EVP_PKEY_CTX_hkdf_mode(
14968 ctx: *mut EVP_PKEY_CTX,
14969 mode: ::core::ffi::c_int,
14970 ) -> ::core::ffi::c_int;
14971}
14972unsafe extern "C" {
14973 pub fn EVP_PKEY_CTX_set_hkdf_md(
14974 ctx: *mut EVP_PKEY_CTX,
14975 md: *const EVP_MD,
14976 ) -> ::core::ffi::c_int;
14977}
14978unsafe extern "C" {
14979 pub fn EVP_PKEY_CTX_set1_hkdf_key(
14980 ctx: *mut EVP_PKEY_CTX,
14981 key: *const u8,
14982 key_len: usize,
14983 ) -> ::core::ffi::c_int;
14984}
14985unsafe extern "C" {
14986 pub fn EVP_PKEY_CTX_set1_hkdf_salt(
14987 ctx: *mut EVP_PKEY_CTX,
14988 salt: *const u8,
14989 salt_len: usize,
14990 ) -> ::core::ffi::c_int;
14991}
14992unsafe extern "C" {
14993 pub fn EVP_PKEY_CTX_add1_hkdf_info(
14994 ctx: *mut EVP_PKEY_CTX,
14995 info: *const u8,
14996 info_len: usize,
14997 ) -> ::core::ffi::c_int;
14998}
14999unsafe extern "C" {
15000 pub fn MD4_Init(md4: *mut MD4_CTX) -> ::core::ffi::c_int;
15001}
15002unsafe extern "C" {
15003 pub fn MD4_Update(
15004 md4: *mut MD4_CTX,
15005 data: *const ::core::ffi::c_void,
15006 len: usize,
15007 ) -> ::core::ffi::c_int;
15008}
15009unsafe extern "C" {
15010 pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::core::ffi::c_int;
15011}
15012unsafe extern "C" {
15013 pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15014}
15015unsafe extern "C" {
15016 pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
15017}
15018#[repr(C)]
15019#[derive(Debug, Copy, Clone)]
15020pub struct md4_state_st {
15021 pub h: [u32; 4usize],
15022 pub Nl: u32,
15023 pub Nh: u32,
15024 pub data: [u8; 64usize],
15025 pub num: ::core::ffi::c_uint,
15026}
15027unsafe extern "C" {
15028 pub fn MD5_Init(md5: *mut MD5_CTX) -> ::core::ffi::c_int;
15029}
15030unsafe extern "C" {
15031 pub fn MD5_Update(
15032 md5: *mut MD5_CTX,
15033 data: *const ::core::ffi::c_void,
15034 len: usize,
15035 ) -> ::core::ffi::c_int;
15036}
15037unsafe extern "C" {
15038 pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::core::ffi::c_int;
15039}
15040unsafe extern "C" {
15041 pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15042}
15043unsafe extern "C" {
15044 pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
15045}
15046#[repr(C)]
15047#[derive(Debug, Copy, Clone)]
15048pub struct md5_state_st {
15049 pub h: [u32; 4usize],
15050 pub Nl: u32,
15051 pub Nh: u32,
15052 pub data: [u8; 64usize],
15053 pub num: ::core::ffi::c_uint,
15054}
15055#[repr(C)]
15056#[derive(Copy, Clone)]
15057pub struct MLDSA65_private_key {
15058 pub opaque: MLDSA65_private_key__bindgen_ty_1,
15059}
15060#[repr(C)]
15061#[derive(Copy, Clone)]
15062pub union MLDSA65_private_key__bindgen_ty_1 {
15063 pub bytes: [u8; 23680usize],
15064 pub alignment: u32,
15065}
15066#[repr(C)]
15067#[derive(Copy, Clone)]
15068pub struct MLDSA65_public_key {
15069 pub opaque: MLDSA65_public_key__bindgen_ty_1,
15070}
15071#[repr(C)]
15072#[derive(Copy, Clone)]
15073pub union MLDSA65_public_key__bindgen_ty_1 {
15074 pub bytes: [u8; 6240usize],
15075 pub alignment: u32,
15076}
15077#[repr(C)]
15078#[derive(Copy, Clone)]
15079pub struct MLDSA65_prehash {
15080 pub opaque: MLDSA65_prehash__bindgen_ty_1,
15081}
15082#[repr(C)]
15083#[derive(Copy, Clone)]
15084pub union MLDSA65_prehash__bindgen_ty_1 {
15085 pub bytes: [u8; 240usize],
15086 pub alignment: u64,
15087}
15088unsafe extern "C" {
15089 pub fn MLDSA65_generate_key(
15090 out_encoded_public_key: *mut u8,
15091 out_seed: *mut u8,
15092 out_private_key: *mut MLDSA65_private_key,
15093 ) -> ::core::ffi::c_int;
15094}
15095unsafe extern "C" {
15096 pub fn MLDSA65_private_key_from_seed(
15097 out_private_key: *mut MLDSA65_private_key,
15098 seed: *const u8,
15099 seed_len: usize,
15100 ) -> ::core::ffi::c_int;
15101}
15102unsafe extern "C" {
15103 pub fn MLDSA65_public_from_private(
15104 out_public_key: *mut MLDSA65_public_key,
15105 private_key: *const MLDSA65_private_key,
15106 ) -> ::core::ffi::c_int;
15107}
15108unsafe extern "C" {
15109 pub fn MLDSA65_sign(
15110 out_encoded_signature: *mut u8,
15111 private_key: *const MLDSA65_private_key,
15112 msg: *const u8,
15113 msg_len: usize,
15114 context: *const u8,
15115 context_len: usize,
15116 ) -> ::core::ffi::c_int;
15117}
15118unsafe extern "C" {
15119 pub fn MLDSA65_verify(
15120 public_key: *const MLDSA65_public_key,
15121 signature: *const u8,
15122 signature_len: usize,
15123 msg: *const u8,
15124 msg_len: usize,
15125 context: *const u8,
15126 context_len: usize,
15127 ) -> ::core::ffi::c_int;
15128}
15129unsafe extern "C" {
15130 pub fn MLDSA65_prehash_init(
15131 out_state: *mut MLDSA65_prehash,
15132 public_key: *const MLDSA65_public_key,
15133 context: *const u8,
15134 context_len: usize,
15135 ) -> ::core::ffi::c_int;
15136}
15137unsafe extern "C" {
15138 pub fn MLDSA65_prehash_update(
15139 inout_state: *mut MLDSA65_prehash,
15140 msg: *const u8,
15141 msg_len: usize,
15142 );
15143}
15144unsafe extern "C" {
15145 pub fn MLDSA65_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA65_prehash);
15146}
15147unsafe extern "C" {
15148 pub fn MLDSA65_sign_message_representative(
15149 out_encoded_signature: *mut u8,
15150 private_key: *const MLDSA65_private_key,
15151 msg_rep: *const u8,
15152 ) -> ::core::ffi::c_int;
15153}
15154unsafe extern "C" {
15155 pub fn MLDSA65_verify_message_representative(
15156 public_key: *const MLDSA65_public_key,
15157 signature: *const u8,
15158 signature_len: usize,
15159 msg_rep: *const u8,
15160 ) -> ::core::ffi::c_int;
15161}
15162unsafe extern "C" {
15163 pub fn MLDSA65_marshal_public_key(
15164 out: *mut CBB,
15165 public_key: *const MLDSA65_public_key,
15166 ) -> ::core::ffi::c_int;
15167}
15168unsafe extern "C" {
15169 pub fn MLDSA65_parse_public_key(
15170 public_key: *mut MLDSA65_public_key,
15171 in_: *mut CBS,
15172 ) -> ::core::ffi::c_int;
15173}
15174#[repr(C)]
15175#[derive(Copy, Clone)]
15176pub struct MLDSA87_private_key {
15177 pub opaque: MLDSA87_private_key__bindgen_ty_1,
15178}
15179#[repr(C)]
15180#[derive(Copy, Clone)]
15181pub union MLDSA87_private_key__bindgen_ty_1 {
15182 pub bytes: [u8; 31872usize],
15183 pub alignment: u32,
15184}
15185#[repr(C)]
15186#[derive(Copy, Clone)]
15187pub struct MLDSA87_public_key {
15188 pub opaque: MLDSA87_public_key__bindgen_ty_1,
15189}
15190#[repr(C)]
15191#[derive(Copy, Clone)]
15192pub union MLDSA87_public_key__bindgen_ty_1 {
15193 pub bytes: [u8; 8288usize],
15194 pub alignment: u32,
15195}
15196#[repr(C)]
15197#[derive(Copy, Clone)]
15198pub struct MLDSA87_prehash {
15199 pub opaque: MLDSA87_prehash__bindgen_ty_1,
15200}
15201#[repr(C)]
15202#[derive(Copy, Clone)]
15203pub union MLDSA87_prehash__bindgen_ty_1 {
15204 pub bytes: [u8; 240usize],
15205 pub alignment: u64,
15206}
15207unsafe extern "C" {
15208 pub fn MLDSA87_generate_key(
15209 out_encoded_public_key: *mut u8,
15210 out_seed: *mut u8,
15211 out_private_key: *mut MLDSA87_private_key,
15212 ) -> ::core::ffi::c_int;
15213}
15214unsafe extern "C" {
15215 pub fn MLDSA87_private_key_from_seed(
15216 out_private_key: *mut MLDSA87_private_key,
15217 seed: *const u8,
15218 seed_len: usize,
15219 ) -> ::core::ffi::c_int;
15220}
15221unsafe extern "C" {
15222 pub fn MLDSA87_public_from_private(
15223 out_public_key: *mut MLDSA87_public_key,
15224 private_key: *const MLDSA87_private_key,
15225 ) -> ::core::ffi::c_int;
15226}
15227unsafe extern "C" {
15228 pub fn MLDSA87_sign(
15229 out_encoded_signature: *mut u8,
15230 private_key: *const MLDSA87_private_key,
15231 msg: *const u8,
15232 msg_len: usize,
15233 context: *const u8,
15234 context_len: usize,
15235 ) -> ::core::ffi::c_int;
15236}
15237unsafe extern "C" {
15238 pub fn MLDSA87_verify(
15239 public_key: *const MLDSA87_public_key,
15240 signature: *const u8,
15241 signature_len: usize,
15242 msg: *const u8,
15243 msg_len: usize,
15244 context: *const u8,
15245 context_len: usize,
15246 ) -> ::core::ffi::c_int;
15247}
15248unsafe extern "C" {
15249 pub fn MLDSA87_prehash_init(
15250 out_state: *mut MLDSA87_prehash,
15251 public_key: *const MLDSA87_public_key,
15252 context: *const u8,
15253 context_len: usize,
15254 ) -> ::core::ffi::c_int;
15255}
15256unsafe extern "C" {
15257 pub fn MLDSA87_prehash_update(
15258 inout_state: *mut MLDSA87_prehash,
15259 msg: *const u8,
15260 msg_len: usize,
15261 );
15262}
15263unsafe extern "C" {
15264 pub fn MLDSA87_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA87_prehash);
15265}
15266unsafe extern "C" {
15267 pub fn MLDSA87_sign_message_representative(
15268 out_encoded_signature: *mut u8,
15269 private_key: *const MLDSA87_private_key,
15270 msg_rep: *const u8,
15271 ) -> ::core::ffi::c_int;
15272}
15273unsafe extern "C" {
15274 pub fn MLDSA87_verify_message_representative(
15275 public_key: *const MLDSA87_public_key,
15276 signature: *const u8,
15277 signature_len: usize,
15278 msg_rep: *const u8,
15279 ) -> ::core::ffi::c_int;
15280}
15281unsafe extern "C" {
15282 pub fn MLDSA87_marshal_public_key(
15283 out: *mut CBB,
15284 public_key: *const MLDSA87_public_key,
15285 ) -> ::core::ffi::c_int;
15286}
15287unsafe extern "C" {
15288 pub fn MLDSA87_parse_public_key(
15289 public_key: *mut MLDSA87_public_key,
15290 in_: *mut CBS,
15291 ) -> ::core::ffi::c_int;
15292}
15293#[repr(C)]
15294#[derive(Copy, Clone)]
15295pub struct MLDSA44_private_key {
15296 pub opaque: MLDSA44_private_key__bindgen_ty_1,
15297}
15298#[repr(C)]
15299#[derive(Copy, Clone)]
15300pub union MLDSA44_private_key__bindgen_ty_1 {
15301 pub bytes: [u8; 16512usize],
15302 pub alignment: u32,
15303}
15304#[repr(C)]
15305#[derive(Copy, Clone)]
15306pub struct MLDSA44_public_key {
15307 pub opaque: MLDSA44_public_key__bindgen_ty_1,
15308}
15309#[repr(C)]
15310#[derive(Copy, Clone)]
15311pub union MLDSA44_public_key__bindgen_ty_1 {
15312 pub bytes: [u8; 4192usize],
15313 pub alignment: u32,
15314}
15315#[repr(C)]
15316#[derive(Copy, Clone)]
15317pub struct MLDSA44_prehash {
15318 pub opaque: MLDSA44_prehash__bindgen_ty_1,
15319}
15320#[repr(C)]
15321#[derive(Copy, Clone)]
15322pub union MLDSA44_prehash__bindgen_ty_1 {
15323 pub bytes: [u8; 240usize],
15324 pub alignment: u64,
15325}
15326unsafe extern "C" {
15327 pub fn MLDSA44_generate_key(
15328 out_encoded_public_key: *mut u8,
15329 out_seed: *mut u8,
15330 out_private_key: *mut MLDSA44_private_key,
15331 ) -> ::core::ffi::c_int;
15332}
15333unsafe extern "C" {
15334 pub fn MLDSA44_private_key_from_seed(
15335 out_private_key: *mut MLDSA44_private_key,
15336 seed: *const u8,
15337 seed_len: usize,
15338 ) -> ::core::ffi::c_int;
15339}
15340unsafe extern "C" {
15341 pub fn MLDSA44_public_from_private(
15342 out_public_key: *mut MLDSA44_public_key,
15343 private_key: *const MLDSA44_private_key,
15344 ) -> ::core::ffi::c_int;
15345}
15346unsafe extern "C" {
15347 pub fn MLDSA44_sign(
15348 out_encoded_signature: *mut u8,
15349 private_key: *const MLDSA44_private_key,
15350 msg: *const u8,
15351 msg_len: usize,
15352 context: *const u8,
15353 context_len: usize,
15354 ) -> ::core::ffi::c_int;
15355}
15356unsafe extern "C" {
15357 pub fn MLDSA44_verify(
15358 public_key: *const MLDSA44_public_key,
15359 signature: *const u8,
15360 signature_len: usize,
15361 msg: *const u8,
15362 msg_len: usize,
15363 context: *const u8,
15364 context_len: usize,
15365 ) -> ::core::ffi::c_int;
15366}
15367unsafe extern "C" {
15368 pub fn MLDSA44_prehash_init(
15369 out_state: *mut MLDSA44_prehash,
15370 public_key: *const MLDSA44_public_key,
15371 context: *const u8,
15372 context_len: usize,
15373 ) -> ::core::ffi::c_int;
15374}
15375unsafe extern "C" {
15376 pub fn MLDSA44_prehash_update(
15377 inout_state: *mut MLDSA44_prehash,
15378 msg: *const u8,
15379 msg_len: usize,
15380 );
15381}
15382unsafe extern "C" {
15383 pub fn MLDSA44_prehash_finalize(out_msg_rep: *mut u8, inout_state: *mut MLDSA44_prehash);
15384}
15385unsafe extern "C" {
15386 pub fn MLDSA44_sign_message_representative(
15387 out_encoded_signature: *mut u8,
15388 private_key: *const MLDSA44_private_key,
15389 msg_rep: *const u8,
15390 ) -> ::core::ffi::c_int;
15391}
15392unsafe extern "C" {
15393 pub fn MLDSA44_verify_message_representative(
15394 public_key: *const MLDSA44_public_key,
15395 signature: *const u8,
15396 signature_len: usize,
15397 msg_rep: *const u8,
15398 ) -> ::core::ffi::c_int;
15399}
15400unsafe extern "C" {
15401 pub fn MLDSA44_marshal_public_key(
15402 out: *mut CBB,
15403 public_key: *const MLDSA44_public_key,
15404 ) -> ::core::ffi::c_int;
15405}
15406unsafe extern "C" {
15407 pub fn MLDSA44_parse_public_key(
15408 public_key: *mut MLDSA44_public_key,
15409 in_: *mut CBS,
15410 ) -> ::core::ffi::c_int;
15411}
15412#[repr(C)]
15413#[derive(Copy, Clone)]
15414pub struct MLKEM768_public_key {
15415 pub opaque: MLKEM768_public_key__bindgen_ty_1,
15416}
15417#[repr(C)]
15418#[derive(Copy, Clone)]
15419pub union MLKEM768_public_key__bindgen_ty_1 {
15420 pub bytes: [u8; 6208usize],
15421 pub alignment: u16,
15422}
15423#[repr(C)]
15424#[derive(Copy, Clone)]
15425pub struct MLKEM768_private_key {
15426 pub opaque: MLKEM768_private_key__bindgen_ty_1,
15427}
15428#[repr(C)]
15429#[derive(Copy, Clone)]
15430pub union MLKEM768_private_key__bindgen_ty_1 {
15431 pub bytes: [u8; 7776usize],
15432 pub alignment: u16,
15433}
15434unsafe extern "C" {
15435 pub fn MLKEM768_generate_key(
15436 out_encoded_public_key: *mut u8,
15437 optional_out_seed: *mut u8,
15438 out_private_key: *mut MLKEM768_private_key,
15439 );
15440}
15441unsafe extern "C" {
15442 pub fn MLKEM768_private_key_from_seed(
15443 out_private_key: *mut MLKEM768_private_key,
15444 seed: *const u8,
15445 seed_len: usize,
15446 ) -> ::core::ffi::c_int;
15447}
15448unsafe extern "C" {
15449 pub fn MLKEM768_public_from_private(
15450 out_public_key: *mut MLKEM768_public_key,
15451 private_key: *const MLKEM768_private_key,
15452 );
15453}
15454unsafe extern "C" {
15455 pub fn MLKEM768_encap(
15456 out_ciphertext: *mut u8,
15457 out_shared_secret: *mut u8,
15458 public_key: *const MLKEM768_public_key,
15459 );
15460}
15461unsafe extern "C" {
15462 pub fn MLKEM768_decap(
15463 out_shared_secret: *mut u8,
15464 ciphertext: *const u8,
15465 ciphertext_len: usize,
15466 private_key: *const MLKEM768_private_key,
15467 ) -> ::core::ffi::c_int;
15468}
15469unsafe extern "C" {
15470 pub fn MLKEM768_marshal_public_key(
15471 out: *mut CBB,
15472 public_key: *const MLKEM768_public_key,
15473 ) -> ::core::ffi::c_int;
15474}
15475unsafe extern "C" {
15476 pub fn MLKEM768_parse_public_key(
15477 out_public_key: *mut MLKEM768_public_key,
15478 in_: *mut CBS,
15479 ) -> ::core::ffi::c_int;
15480}
15481#[repr(C)]
15482#[derive(Copy, Clone)]
15483pub struct MLKEM1024_public_key {
15484 pub opaque: MLKEM1024_public_key__bindgen_ty_1,
15485}
15486#[repr(C)]
15487#[derive(Copy, Clone)]
15488pub union MLKEM1024_public_key__bindgen_ty_1 {
15489 pub bytes: [u8; 10304usize],
15490 pub alignment: u16,
15491}
15492#[repr(C)]
15493#[derive(Copy, Clone)]
15494pub struct MLKEM1024_private_key {
15495 pub opaque: MLKEM1024_private_key__bindgen_ty_1,
15496}
15497#[repr(C)]
15498#[derive(Copy, Clone)]
15499pub union MLKEM1024_private_key__bindgen_ty_1 {
15500 pub bytes: [u8; 12384usize],
15501 pub alignment: u16,
15502}
15503unsafe extern "C" {
15504 pub fn MLKEM1024_generate_key(
15505 out_encoded_public_key: *mut u8,
15506 optional_out_seed: *mut u8,
15507 out_private_key: *mut MLKEM1024_private_key,
15508 );
15509}
15510unsafe extern "C" {
15511 pub fn MLKEM1024_private_key_from_seed(
15512 out_private_key: *mut MLKEM1024_private_key,
15513 seed: *const u8,
15514 seed_len: usize,
15515 ) -> ::core::ffi::c_int;
15516}
15517unsafe extern "C" {
15518 pub fn MLKEM1024_public_from_private(
15519 out_public_key: *mut MLKEM1024_public_key,
15520 private_key: *const MLKEM1024_private_key,
15521 );
15522}
15523unsafe extern "C" {
15524 pub fn MLKEM1024_encap(
15525 out_ciphertext: *mut u8,
15526 out_shared_secret: *mut u8,
15527 public_key: *const MLKEM1024_public_key,
15528 );
15529}
15530unsafe extern "C" {
15531 pub fn MLKEM1024_decap(
15532 out_shared_secret: *mut u8,
15533 ciphertext: *const u8,
15534 ciphertext_len: usize,
15535 private_key: *const MLKEM1024_private_key,
15536 ) -> ::core::ffi::c_int;
15537}
15538unsafe extern "C" {
15539 pub fn MLKEM1024_marshal_public_key(
15540 out: *mut CBB,
15541 public_key: *const MLKEM1024_public_key,
15542 ) -> ::core::ffi::c_int;
15543}
15544unsafe extern "C" {
15545 pub fn MLKEM1024_parse_public_key(
15546 out_public_key: *mut MLKEM1024_public_key,
15547 in_: *mut CBS,
15548 ) -> ::core::ffi::c_int;
15549}
15550unsafe extern "C" {
15551 pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15552}
15553unsafe extern "C" {
15554 pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15555}
15556unsafe extern "C" {
15557 pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15558}
15559unsafe extern "C" {
15560 pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15561}
15562unsafe extern "C" {
15563 pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
15564}
15565unsafe extern "C" {
15566 pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::core::ffi::c_int;
15567}
15568unsafe extern "C" {
15569 pub fn OBJ_sn2nid(short_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15570}
15571unsafe extern "C" {
15572 pub fn OBJ_ln2nid(long_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15573}
15574unsafe extern "C" {
15575 pub fn OBJ_txt2nid(s: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
15576}
15577unsafe extern "C" {
15578 pub fn OBJ_nid2obj(nid: ::core::ffi::c_int) -> *mut ASN1_OBJECT;
15579}
15580unsafe extern "C" {
15581 pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15582}
15583unsafe extern "C" {
15584 pub fn OBJ_nid2sn(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15585}
15586unsafe extern "C" {
15587 pub fn OBJ_nid2ln(nid: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
15588}
15589unsafe extern "C" {
15590 pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
15591}
15592unsafe extern "C" {
15593 pub fn OBJ_txt2obj(
15594 s: *const ::core::ffi::c_char,
15595 dont_search_names: ::core::ffi::c_int,
15596 ) -> *mut ASN1_OBJECT;
15597}
15598unsafe extern "C" {
15599 pub fn OBJ_obj2txt(
15600 out: *mut ::core::ffi::c_char,
15601 out_len: ::core::ffi::c_int,
15602 obj: *const ASN1_OBJECT,
15603 always_return_oid: ::core::ffi::c_int,
15604 ) -> ::core::ffi::c_int;
15605}
15606unsafe extern "C" {
15607 pub fn OBJ_create(
15608 oid: *const ::core::ffi::c_char,
15609 short_name: *const ::core::ffi::c_char,
15610 long_name: *const ::core::ffi::c_char,
15611 ) -> ::core::ffi::c_int;
15612}
15613unsafe extern "C" {
15614 pub fn OBJ_find_sigid_algs(
15615 sign_nid: ::core::ffi::c_int,
15616 out_digest_nid: *mut ::core::ffi::c_int,
15617 out_pkey_nid: *mut ::core::ffi::c_int,
15618 ) -> ::core::ffi::c_int;
15619}
15620unsafe extern "C" {
15621 pub fn OBJ_find_sigid_by_algs(
15622 out_sign_nid: *mut ::core::ffi::c_int,
15623 digest_nid: ::core::ffi::c_int,
15624 pkey_nid: ::core::ffi::c_int,
15625 ) -> ::core::ffi::c_int;
15626}
15627#[repr(C)]
15628#[derive(Debug, Copy, Clone)]
15629pub struct obj_name_st {
15630 pub type_: ::core::ffi::c_int,
15631 pub alias: ::core::ffi::c_int,
15632 pub name: *const ::core::ffi::c_char,
15633 pub data: *const ::core::ffi::c_char,
15634}
15635pub type OBJ_NAME = obj_name_st;
15636unsafe extern "C" {
15637 pub fn OBJ_NAME_do_all_sorted(
15638 type_: ::core::ffi::c_int,
15639 callback: ::core::option::Option<
15640 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15641 >,
15642 arg: *mut ::core::ffi::c_void,
15643 );
15644}
15645unsafe extern "C" {
15646 pub fn OBJ_NAME_do_all(
15647 type_: ::core::ffi::c_int,
15648 callback: ::core::option::Option<
15649 unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::core::ffi::c_void),
15650 >,
15651 arg: *mut ::core::ffi::c_void,
15652 );
15653}
15654unsafe extern "C" {
15655 pub fn OBJ_cleanup();
15656}
15657#[repr(C)]
15658#[derive(Debug)]
15659pub struct stack_st_CRYPTO_BUFFER {
15660 _unused: [u8; 0],
15661}
15662#[repr(C)]
15663#[derive(Debug)]
15664pub struct stack_st_X509 {
15665 _unused: [u8; 0],
15666}
15667#[repr(C)]
15668#[derive(Debug)]
15669pub struct stack_st_X509_CRL {
15670 _unused: [u8; 0],
15671}
15672unsafe extern "C" {
15673 pub fn PKCS7_get_raw_certificates(
15674 out_certs: *mut stack_st_CRYPTO_BUFFER,
15675 cbs: *mut CBS,
15676 pool: *mut CRYPTO_BUFFER_POOL,
15677 ) -> ::core::ffi::c_int;
15678}
15679unsafe extern "C" {
15680 pub fn PKCS7_get_certificates(
15681 out_certs: *mut stack_st_X509,
15682 cbs: *mut CBS,
15683 ) -> ::core::ffi::c_int;
15684}
15685unsafe extern "C" {
15686 pub fn PKCS7_bundle_raw_certificates(
15687 out: *mut CBB,
15688 certs: *const stack_st_CRYPTO_BUFFER,
15689 ) -> ::core::ffi::c_int;
15690}
15691unsafe extern "C" {
15692 pub fn PKCS7_bundle_certificates(
15693 out: *mut CBB,
15694 certs: *const stack_st_X509,
15695 ) -> ::core::ffi::c_int;
15696}
15697unsafe extern "C" {
15698 pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS) -> ::core::ffi::c_int;
15699}
15700unsafe extern "C" {
15701 pub fn PKCS7_bundle_CRLs(out: *mut CBB, crls: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
15702}
15703unsafe extern "C" {
15704 pub fn PKCS7_get_PEM_certificates(
15705 out_certs: *mut stack_st_X509,
15706 pem_bio: *mut BIO,
15707 ) -> ::core::ffi::c_int;
15708}
15709unsafe extern "C" {
15710 pub fn PKCS7_get_PEM_CRLs(
15711 out_crls: *mut stack_st_X509_CRL,
15712 pem_bio: *mut BIO,
15713 ) -> ::core::ffi::c_int;
15714}
15715#[repr(C)]
15716#[derive(Debug, Copy, Clone)]
15717pub struct PKCS7_SIGNED {
15718 pub cert: *mut stack_st_X509,
15719 pub crl: *mut stack_st_X509_CRL,
15720}
15721#[repr(C)]
15722#[derive(Debug, Copy, Clone)]
15723pub struct PKCS7_SIGN_ENVELOPE {
15724 pub cert: *mut stack_st_X509,
15725 pub crl: *mut stack_st_X509_CRL,
15726}
15727pub type PKCS7_ENVELOPE = ::core::ffi::c_void;
15728pub type PKCS7_DIGEST = ::core::ffi::c_void;
15729pub type PKCS7_ENCRYPT = ::core::ffi::c_void;
15730pub type PKCS7_SIGNER_INFO = ::core::ffi::c_void;
15731#[repr(C)]
15732#[derive(Copy, Clone)]
15733pub struct PKCS7 {
15734 pub ber_bytes: *mut u8,
15735 pub ber_len: usize,
15736 pub type_: *mut ASN1_OBJECT,
15737 pub d: PKCS7__bindgen_ty_1,
15738}
15739#[repr(C)]
15740#[derive(Copy, Clone)]
15741pub union PKCS7__bindgen_ty_1 {
15742 pub ptr: *mut ::core::ffi::c_char,
15743 pub data: *mut ASN1_OCTET_STRING,
15744 pub sign: *mut PKCS7_SIGNED,
15745 pub enveloped: *mut PKCS7_ENVELOPE,
15746 pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
15747 pub digest: *mut PKCS7_DIGEST,
15748 pub encrypted: *mut PKCS7_ENCRYPT,
15749 pub other: *mut ASN1_TYPE,
15750}
15751unsafe extern "C" {
15752 pub fn d2i_PKCS7(out: *mut *mut PKCS7, inp: *mut *const u8, len: usize) -> *mut PKCS7;
15753}
15754unsafe extern "C" {
15755 pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
15756}
15757unsafe extern "C" {
15758 pub fn i2d_PKCS7(p7: *const PKCS7, out: *mut *mut u8) -> ::core::ffi::c_int;
15759}
15760unsafe extern "C" {
15761 pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::core::ffi::c_int;
15762}
15763unsafe extern "C" {
15764 pub fn PKCS7_free(p7: *mut PKCS7);
15765}
15766unsafe extern "C" {
15767 pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::core::ffi::c_int;
15768}
15769unsafe extern "C" {
15770 pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::core::ffi::c_int;
15771}
15772unsafe extern "C" {
15773 pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::core::ffi::c_int;
15774}
15775unsafe extern "C" {
15776 pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15777}
15778unsafe extern "C" {
15779 pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::core::ffi::c_int;
15780}
15781unsafe extern "C" {
15782 pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::core::ffi::c_int;
15783}
15784unsafe extern "C" {
15785 pub fn PKCS7_sign(
15786 sign_cert: *mut X509,
15787 pkey: *mut EVP_PKEY,
15788 certs: *mut stack_st_X509,
15789 data: *mut BIO,
15790 flags: ::core::ffi::c_int,
15791 ) -> *mut PKCS7;
15792}
15793pub type sk_CRYPTO_BUFFER_free_func =
15794 ::core::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
15795pub type sk_CRYPTO_BUFFER_copy_func =
15796 ::core::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
15797pub type sk_CRYPTO_BUFFER_cmp_func = ::core::option::Option<
15798 unsafe extern "C" fn(
15799 arg1: *const *const CRYPTO_BUFFER,
15800 arg2: *const *const CRYPTO_BUFFER,
15801 ) -> ::core::ffi::c_int,
15802>;
15803pub type sk_CRYPTO_BUFFER_delete_if_func = ::core::option::Option<
15804 unsafe extern "C" fn(
15805 arg1: *mut CRYPTO_BUFFER,
15806 arg2: *mut ::core::ffi::c_void,
15807 ) -> ::core::ffi::c_int,
15808>;
15809unsafe extern "C" {
15810 #[link_name = "sk_CRYPTO_BUFFER_call_free_func__extern"]
15811 pub fn sk_CRYPTO_BUFFER_call_free_func(
15812 free_func: OPENSSL_sk_free_func,
15813 ptr: *mut ::core::ffi::c_void,
15814 );
15815}
15816unsafe extern "C" {
15817 #[link_name = "sk_CRYPTO_BUFFER_call_copy_func__extern"]
15818 pub fn sk_CRYPTO_BUFFER_call_copy_func(
15819 copy_func: OPENSSL_sk_copy_func,
15820 ptr: *const ::core::ffi::c_void,
15821 ) -> *mut ::core::ffi::c_void;
15822}
15823unsafe extern "C" {
15824 #[link_name = "sk_CRYPTO_BUFFER_call_cmp_func__extern"]
15825 pub fn sk_CRYPTO_BUFFER_call_cmp_func(
15826 cmp_func: OPENSSL_sk_cmp_func,
15827 a: *const ::core::ffi::c_void,
15828 b: *const ::core::ffi::c_void,
15829 ) -> ::core::ffi::c_int;
15830}
15831unsafe extern "C" {
15832 #[link_name = "sk_CRYPTO_BUFFER_call_delete_if_func__extern"]
15833 pub fn sk_CRYPTO_BUFFER_call_delete_if_func(
15834 func: OPENSSL_sk_delete_if_func,
15835 obj: *mut ::core::ffi::c_void,
15836 data: *mut ::core::ffi::c_void,
15837 ) -> ::core::ffi::c_int;
15838}
15839unsafe extern "C" {
15840 #[link_name = "sk_CRYPTO_BUFFER_new__extern"]
15841 pub fn sk_CRYPTO_BUFFER_new(comp: sk_CRYPTO_BUFFER_cmp_func) -> *mut stack_st_CRYPTO_BUFFER;
15842}
15843unsafe extern "C" {
15844 #[link_name = "sk_CRYPTO_BUFFER_new_null__extern"]
15845 pub fn sk_CRYPTO_BUFFER_new_null() -> *mut stack_st_CRYPTO_BUFFER;
15846}
15847unsafe extern "C" {
15848 #[link_name = "sk_CRYPTO_BUFFER_num__extern"]
15849 pub fn sk_CRYPTO_BUFFER_num(sk: *const stack_st_CRYPTO_BUFFER) -> usize;
15850}
15851unsafe extern "C" {
15852 #[link_name = "sk_CRYPTO_BUFFER_zero__extern"]
15853 pub fn sk_CRYPTO_BUFFER_zero(sk: *mut stack_st_CRYPTO_BUFFER);
15854}
15855unsafe extern "C" {
15856 #[link_name = "sk_CRYPTO_BUFFER_value__extern"]
15857 pub fn sk_CRYPTO_BUFFER_value(
15858 sk: *const stack_st_CRYPTO_BUFFER,
15859 i: usize,
15860 ) -> *mut CRYPTO_BUFFER;
15861}
15862unsafe extern "C" {
15863 #[link_name = "sk_CRYPTO_BUFFER_last__extern"]
15864 pub fn sk_CRYPTO_BUFFER_last(sk: *const stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15865}
15866unsafe extern "C" {
15867 #[link_name = "sk_CRYPTO_BUFFER_set__extern"]
15868 pub fn sk_CRYPTO_BUFFER_set(
15869 sk: *mut stack_st_CRYPTO_BUFFER,
15870 i: usize,
15871 p: *mut CRYPTO_BUFFER,
15872 ) -> *mut CRYPTO_BUFFER;
15873}
15874unsafe extern "C" {
15875 #[link_name = "sk_CRYPTO_BUFFER_free__extern"]
15876 pub fn sk_CRYPTO_BUFFER_free(sk: *mut stack_st_CRYPTO_BUFFER);
15877}
15878unsafe extern "C" {
15879 #[link_name = "sk_CRYPTO_BUFFER_pop_free__extern"]
15880 pub fn sk_CRYPTO_BUFFER_pop_free(
15881 sk: *mut stack_st_CRYPTO_BUFFER,
15882 free_func: sk_CRYPTO_BUFFER_free_func,
15883 );
15884}
15885unsafe extern "C" {
15886 #[link_name = "sk_CRYPTO_BUFFER_insert__extern"]
15887 pub fn sk_CRYPTO_BUFFER_insert(
15888 sk: *mut stack_st_CRYPTO_BUFFER,
15889 p: *mut CRYPTO_BUFFER,
15890 where_: usize,
15891 ) -> usize;
15892}
15893unsafe extern "C" {
15894 #[link_name = "sk_CRYPTO_BUFFER_delete__extern"]
15895 pub fn sk_CRYPTO_BUFFER_delete(
15896 sk: *mut stack_st_CRYPTO_BUFFER,
15897 where_: usize,
15898 ) -> *mut CRYPTO_BUFFER;
15899}
15900unsafe extern "C" {
15901 #[link_name = "sk_CRYPTO_BUFFER_delete_ptr__extern"]
15902 pub fn sk_CRYPTO_BUFFER_delete_ptr(
15903 sk: *mut stack_st_CRYPTO_BUFFER,
15904 p: *const CRYPTO_BUFFER,
15905 ) -> *mut CRYPTO_BUFFER;
15906}
15907unsafe extern "C" {
15908 #[link_name = "sk_CRYPTO_BUFFER_delete_if__extern"]
15909 pub fn sk_CRYPTO_BUFFER_delete_if(
15910 sk: *mut stack_st_CRYPTO_BUFFER,
15911 func: sk_CRYPTO_BUFFER_delete_if_func,
15912 data: *mut ::core::ffi::c_void,
15913 );
15914}
15915unsafe extern "C" {
15916 #[link_name = "sk_CRYPTO_BUFFER_find__extern"]
15917 pub fn sk_CRYPTO_BUFFER_find(
15918 sk: *const stack_st_CRYPTO_BUFFER,
15919 out_index: *mut usize,
15920 p: *const CRYPTO_BUFFER,
15921 ) -> ::core::ffi::c_int;
15922}
15923unsafe extern "C" {
15924 #[link_name = "sk_CRYPTO_BUFFER_shift__extern"]
15925 pub fn sk_CRYPTO_BUFFER_shift(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15926}
15927unsafe extern "C" {
15928 #[link_name = "sk_CRYPTO_BUFFER_push__extern"]
15929 pub fn sk_CRYPTO_BUFFER_push(sk: *mut stack_st_CRYPTO_BUFFER, p: *mut CRYPTO_BUFFER) -> usize;
15930}
15931unsafe extern "C" {
15932 #[link_name = "sk_CRYPTO_BUFFER_pop__extern"]
15933 pub fn sk_CRYPTO_BUFFER_pop(sk: *mut stack_st_CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
15934}
15935unsafe extern "C" {
15936 #[link_name = "sk_CRYPTO_BUFFER_dup__extern"]
15937 pub fn sk_CRYPTO_BUFFER_dup(sk: *const stack_st_CRYPTO_BUFFER) -> *mut stack_st_CRYPTO_BUFFER;
15938}
15939unsafe extern "C" {
15940 #[link_name = "sk_CRYPTO_BUFFER_sort__extern"]
15941 pub fn sk_CRYPTO_BUFFER_sort(sk: *mut stack_st_CRYPTO_BUFFER);
15942}
15943unsafe extern "C" {
15944 #[link_name = "sk_CRYPTO_BUFFER_sort_and_dedup__extern"]
15945 pub fn sk_CRYPTO_BUFFER_sort_and_dedup(
15946 sk: *mut stack_st_CRYPTO_BUFFER,
15947 free_func: sk_CRYPTO_BUFFER_free_func,
15948 );
15949}
15950unsafe extern "C" {
15951 #[link_name = "sk_CRYPTO_BUFFER_is_sorted__extern"]
15952 pub fn sk_CRYPTO_BUFFER_is_sorted(sk: *const stack_st_CRYPTO_BUFFER) -> ::core::ffi::c_int;
15953}
15954unsafe extern "C" {
15955 #[link_name = "sk_CRYPTO_BUFFER_set_cmp_func__extern"]
15956 pub fn sk_CRYPTO_BUFFER_set_cmp_func(
15957 sk: *mut stack_st_CRYPTO_BUFFER,
15958 comp: sk_CRYPTO_BUFFER_cmp_func,
15959 ) -> sk_CRYPTO_BUFFER_cmp_func;
15960}
15961unsafe extern "C" {
15962 #[link_name = "sk_CRYPTO_BUFFER_deep_copy__extern"]
15963 pub fn sk_CRYPTO_BUFFER_deep_copy(
15964 sk: *const stack_st_CRYPTO_BUFFER,
15965 copy_func: sk_CRYPTO_BUFFER_copy_func,
15966 free_func: sk_CRYPTO_BUFFER_free_func,
15967 ) -> *mut stack_st_CRYPTO_BUFFER;
15968}
15969unsafe extern "C" {
15970 pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
15971}
15972unsafe extern "C" {
15973 pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
15974}
15975unsafe extern "C" {
15976 pub fn CRYPTO_BUFFER_POOL_up_ref(pool: *mut CRYPTO_BUFFER_POOL) -> ::core::ffi::c_int;
15977}
15978unsafe extern "C" {
15979 pub fn CRYPTO_BUFFER_new(
15980 data: *const u8,
15981 len: usize,
15982 pool: *mut CRYPTO_BUFFER_POOL,
15983 ) -> *mut CRYPTO_BUFFER;
15984}
15985unsafe extern "C" {
15986 pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
15987}
15988unsafe extern "C" {
15989 pub fn CRYPTO_BUFFER_new_from_CBS(
15990 cbs: *const CBS,
15991 pool: *mut CRYPTO_BUFFER_POOL,
15992 ) -> *mut CRYPTO_BUFFER;
15993}
15994unsafe extern "C" {
15995 pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
15996 data: *const u8,
15997 len: usize,
15998 pool: *mut CRYPTO_BUFFER_POOL,
15999 ) -> *mut CRYPTO_BUFFER;
16000}
16001unsafe extern "C" {
16002 pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
16003}
16004unsafe extern "C" {
16005 pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::core::ffi::c_int;
16006}
16007unsafe extern "C" {
16008 pub fn CRYPTO_BUFFER_dup_ref(buf: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER;
16009}
16010unsafe extern "C" {
16011 pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
16012}
16013unsafe extern "C" {
16014 pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
16015}
16016unsafe extern "C" {
16017 pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
16018}
16019unsafe extern "C" {
16020 pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
16021}
16022unsafe extern "C" {
16023 pub fn RSA_new_private_key(
16024 n: *const BIGNUM,
16025 e: *const BIGNUM,
16026 d: *const BIGNUM,
16027 p: *const BIGNUM,
16028 q: *const BIGNUM,
16029 dmp1: *const BIGNUM,
16030 dmq1: *const BIGNUM,
16031 iqmp: *const BIGNUM,
16032 ) -> *mut RSA;
16033}
16034unsafe extern "C" {
16035 pub fn RSA_new() -> *mut RSA;
16036}
16037unsafe extern "C" {
16038 pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
16039}
16040unsafe extern "C" {
16041 pub fn RSA_free(rsa: *mut RSA);
16042}
16043unsafe extern "C" {
16044 pub fn RSA_up_ref(rsa: *mut RSA) -> ::core::ffi::c_int;
16045}
16046unsafe extern "C" {
16047 pub fn RSA_bits(rsa: *const RSA) -> ::core::ffi::c_uint;
16048}
16049unsafe extern "C" {
16050 pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
16051}
16052unsafe extern "C" {
16053 pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
16054}
16055unsafe extern "C" {
16056 pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
16057}
16058unsafe extern "C" {
16059 pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
16060}
16061unsafe extern "C" {
16062 pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
16063}
16064unsafe extern "C" {
16065 pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
16066}
16067unsafe extern "C" {
16068 pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
16069}
16070unsafe extern "C" {
16071 pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
16072}
16073unsafe extern "C" {
16074 pub fn RSA_get0_key(
16075 rsa: *const RSA,
16076 out_n: *mut *const BIGNUM,
16077 out_e: *mut *const BIGNUM,
16078 out_d: *mut *const BIGNUM,
16079 );
16080}
16081unsafe extern "C" {
16082 pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
16083}
16084unsafe extern "C" {
16085 pub fn RSA_get0_crt_params(
16086 rsa: *const RSA,
16087 out_dmp1: *mut *const BIGNUM,
16088 out_dmq1: *mut *const BIGNUM,
16089 out_iqmp: *mut *const BIGNUM,
16090 );
16091}
16092unsafe extern "C" {
16093 pub fn RSA_set0_key(
16094 rsa: *mut RSA,
16095 n: *mut BIGNUM,
16096 e: *mut BIGNUM,
16097 d: *mut BIGNUM,
16098 ) -> ::core::ffi::c_int;
16099}
16100unsafe extern "C" {
16101 pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM) -> ::core::ffi::c_int;
16102}
16103unsafe extern "C" {
16104 pub fn RSA_set0_crt_params(
16105 rsa: *mut RSA,
16106 dmp1: *mut BIGNUM,
16107 dmq1: *mut BIGNUM,
16108 iqmp: *mut BIGNUM,
16109 ) -> ::core::ffi::c_int;
16110}
16111unsafe extern "C" {
16112 pub fn RSA_generate_key_ex(
16113 rsa: *mut RSA,
16114 bits: ::core::ffi::c_int,
16115 e: *const BIGNUM,
16116 cb: *mut BN_GENCB,
16117 ) -> ::core::ffi::c_int;
16118}
16119unsafe extern "C" {
16120 pub fn RSA_generate_key_fips(
16121 rsa: *mut RSA,
16122 bits: ::core::ffi::c_int,
16123 cb: *mut BN_GENCB,
16124 ) -> ::core::ffi::c_int;
16125}
16126unsafe extern "C" {
16127 pub fn RSA_encrypt(
16128 rsa: *mut RSA,
16129 out_len: *mut usize,
16130 out: *mut u8,
16131 max_out: usize,
16132 in_: *const u8,
16133 in_len: usize,
16134 padding: ::core::ffi::c_int,
16135 ) -> ::core::ffi::c_int;
16136}
16137unsafe extern "C" {
16138 pub fn RSA_decrypt(
16139 rsa: *mut RSA,
16140 out_len: *mut usize,
16141 out: *mut u8,
16142 max_out: usize,
16143 in_: *const u8,
16144 in_len: usize,
16145 padding: ::core::ffi::c_int,
16146 ) -> ::core::ffi::c_int;
16147}
16148unsafe extern "C" {
16149 pub fn RSA_public_encrypt(
16150 flen: usize,
16151 from: *const u8,
16152 to: *mut u8,
16153 rsa: *mut RSA,
16154 padding: ::core::ffi::c_int,
16155 ) -> ::core::ffi::c_int;
16156}
16157unsafe extern "C" {
16158 pub fn RSA_private_decrypt(
16159 flen: usize,
16160 from: *const u8,
16161 to: *mut u8,
16162 rsa: *mut RSA,
16163 padding: ::core::ffi::c_int,
16164 ) -> ::core::ffi::c_int;
16165}
16166unsafe extern "C" {
16167 pub fn RSA_sign(
16168 hash_nid: ::core::ffi::c_int,
16169 digest: *const u8,
16170 digest_len: usize,
16171 out: *mut u8,
16172 out_len: *mut ::core::ffi::c_uint,
16173 rsa: *mut RSA,
16174 ) -> ::core::ffi::c_int;
16175}
16176unsafe extern "C" {
16177 pub fn RSA_sign_pss_mgf1(
16178 rsa: *mut RSA,
16179 out_len: *mut usize,
16180 out: *mut u8,
16181 max_out: usize,
16182 digest: *const u8,
16183 digest_len: usize,
16184 md: *const EVP_MD,
16185 mgf1_md: *const EVP_MD,
16186 salt_len: ::core::ffi::c_int,
16187 ) -> ::core::ffi::c_int;
16188}
16189unsafe extern "C" {
16190 pub fn RSA_sign_raw(
16191 rsa: *mut RSA,
16192 out_len: *mut usize,
16193 out: *mut u8,
16194 max_out: usize,
16195 in_: *const u8,
16196 in_len: usize,
16197 padding: ::core::ffi::c_int,
16198 ) -> ::core::ffi::c_int;
16199}
16200unsafe extern "C" {
16201 pub fn RSA_verify(
16202 hash_nid: ::core::ffi::c_int,
16203 digest: *const u8,
16204 digest_len: usize,
16205 sig: *const u8,
16206 sig_len: usize,
16207 rsa: *mut RSA,
16208 ) -> ::core::ffi::c_int;
16209}
16210unsafe extern "C" {
16211 pub fn RSA_verify_pss_mgf1(
16212 rsa: *mut RSA,
16213 digest: *const u8,
16214 digest_len: usize,
16215 md: *const EVP_MD,
16216 mgf1_md: *const EVP_MD,
16217 salt_len: ::core::ffi::c_int,
16218 sig: *const u8,
16219 sig_len: usize,
16220 ) -> ::core::ffi::c_int;
16221}
16222unsafe extern "C" {
16223 pub fn RSA_verify_raw(
16224 rsa: *mut RSA,
16225 out_len: *mut usize,
16226 out: *mut u8,
16227 max_out: usize,
16228 in_: *const u8,
16229 in_len: usize,
16230 padding: ::core::ffi::c_int,
16231 ) -> ::core::ffi::c_int;
16232}
16233unsafe extern "C" {
16234 pub fn RSA_private_encrypt(
16235 flen: usize,
16236 from: *const u8,
16237 to: *mut u8,
16238 rsa: *mut RSA,
16239 padding: ::core::ffi::c_int,
16240 ) -> ::core::ffi::c_int;
16241}
16242unsafe extern "C" {
16243 pub fn RSA_public_decrypt(
16244 flen: usize,
16245 from: *const u8,
16246 to: *mut u8,
16247 rsa: *mut RSA,
16248 padding: ::core::ffi::c_int,
16249 ) -> ::core::ffi::c_int;
16250}
16251unsafe extern "C" {
16252 pub fn RSA_size(rsa: *const RSA) -> ::core::ffi::c_uint;
16253}
16254unsafe extern "C" {
16255 pub fn RSA_is_opaque(rsa: *const RSA) -> ::core::ffi::c_int;
16256}
16257unsafe extern "C" {
16258 pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
16259}
16260unsafe extern "C" {
16261 pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
16262}
16263unsafe extern "C" {
16264 pub fn RSA_check_key(rsa: *const RSA) -> ::core::ffi::c_int;
16265}
16266unsafe extern "C" {
16267 pub fn RSA_check_fips(key: *mut RSA) -> ::core::ffi::c_int;
16268}
16269unsafe extern "C" {
16270 pub fn RSA_verify_PKCS1_PSS_mgf1(
16271 rsa: *const RSA,
16272 mHash: *const u8,
16273 Hash: *const EVP_MD,
16274 mgf1Hash: *const EVP_MD,
16275 EM: *const u8,
16276 sLen: ::core::ffi::c_int,
16277 ) -> ::core::ffi::c_int;
16278}
16279unsafe extern "C" {
16280 pub fn RSA_padding_add_PKCS1_PSS_mgf1(
16281 rsa: *const RSA,
16282 EM: *mut u8,
16283 mHash: *const u8,
16284 Hash: *const EVP_MD,
16285 mgf1Hash: *const EVP_MD,
16286 sLen: ::core::ffi::c_int,
16287 ) -> ::core::ffi::c_int;
16288}
16289unsafe extern "C" {
16290 pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
16291 to: *mut u8,
16292 to_len: usize,
16293 from: *const u8,
16294 from_len: usize,
16295 param: *const u8,
16296 param_len: usize,
16297 md: *const EVP_MD,
16298 mgf1md: *const EVP_MD,
16299 ) -> ::core::ffi::c_int;
16300}
16301unsafe extern "C" {
16302 pub fn RSA_add_pkcs1_prefix(
16303 out_msg: *mut *mut u8,
16304 out_msg_len: *mut usize,
16305 is_alloced: *mut ::core::ffi::c_int,
16306 hash_nid: ::core::ffi::c_int,
16307 digest: *const u8,
16308 digest_len: usize,
16309 ) -> ::core::ffi::c_int;
16310}
16311unsafe extern "C" {
16312 pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
16313}
16314unsafe extern "C" {
16315 pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16316}
16317unsafe extern "C" {
16318 pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16319}
16320unsafe extern "C" {
16321 pub fn RSA_public_key_to_bytes(
16322 out_bytes: *mut *mut u8,
16323 out_len: *mut usize,
16324 rsa: *const RSA,
16325 ) -> ::core::ffi::c_int;
16326}
16327unsafe extern "C" {
16328 pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
16329}
16330unsafe extern "C" {
16331 pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
16332}
16333unsafe extern "C" {
16334 pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::core::ffi::c_int;
16335}
16336unsafe extern "C" {
16337 pub fn RSA_private_key_to_bytes(
16338 out_bytes: *mut *mut u8,
16339 out_len: *mut usize,
16340 rsa: *const RSA,
16341 ) -> ::core::ffi::c_int;
16342}
16343unsafe extern "C" {
16344 pub fn RSA_new_private_key_no_crt(
16345 n: *const BIGNUM,
16346 e: *const BIGNUM,
16347 d: *const BIGNUM,
16348 ) -> *mut RSA;
16349}
16350unsafe extern "C" {
16351 pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
16352}
16353unsafe extern "C" {
16354 pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
16355}
16356unsafe extern "C" {
16357 pub fn RSA_new_private_key_large_e(
16358 n: *const BIGNUM,
16359 e: *const BIGNUM,
16360 d: *const BIGNUM,
16361 p: *const BIGNUM,
16362 q: *const BIGNUM,
16363 dmp1: *const BIGNUM,
16364 dmq1: *const BIGNUM,
16365 iqmp: *const BIGNUM,
16366 ) -> *mut RSA;
16367}
16368unsafe extern "C" {
16369 pub fn RSA_get_ex_new_index(
16370 argl: ::core::ffi::c_long,
16371 argp: *mut ::core::ffi::c_void,
16372 unused: *mut CRYPTO_EX_unused,
16373 dup_unused: CRYPTO_EX_dup,
16374 free_func: CRYPTO_EX_free,
16375 ) -> ::core::ffi::c_int;
16376}
16377unsafe extern "C" {
16378 pub fn RSA_set_ex_data(
16379 rsa: *mut RSA,
16380 idx: ::core::ffi::c_int,
16381 arg: *mut ::core::ffi::c_void,
16382 ) -> ::core::ffi::c_int;
16383}
16384unsafe extern "C" {
16385 pub fn RSA_get_ex_data(rsa: *const RSA, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
16386}
16387unsafe extern "C" {
16388 pub fn RSA_flags(rsa: *const RSA) -> ::core::ffi::c_int;
16389}
16390unsafe extern "C" {
16391 pub fn RSA_test_flags(rsa: *const RSA, flags: ::core::ffi::c_int) -> ::core::ffi::c_int;
16392}
16393unsafe extern "C" {
16394 pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::core::ffi::c_int;
16395}
16396unsafe extern "C" {
16397 pub fn RSA_blinding_off(rsa: *mut RSA);
16398}
16399unsafe extern "C" {
16400 pub fn RSA_generate_key(
16401 bits: ::core::ffi::c_int,
16402 e: u64,
16403 callback: *mut ::core::ffi::c_void,
16404 cb_arg: *mut ::core::ffi::c_void,
16405 ) -> *mut RSA;
16406}
16407unsafe extern "C" {
16408 pub fn d2i_RSAPublicKey(
16409 out: *mut *mut RSA,
16410 inp: *mut *const u8,
16411 len: ::core::ffi::c_long,
16412 ) -> *mut RSA;
16413}
16414unsafe extern "C" {
16415 pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16416}
16417unsafe extern "C" {
16418 pub fn d2i_RSAPrivateKey(
16419 out: *mut *mut RSA,
16420 inp: *mut *const u8,
16421 len: ::core::ffi::c_long,
16422 ) -> *mut RSA;
16423}
16424unsafe extern "C" {
16425 pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::core::ffi::c_int;
16426}
16427unsafe extern "C" {
16428 pub fn RSA_padding_add_PKCS1_PSS(
16429 rsa: *const RSA,
16430 EM: *mut u8,
16431 mHash: *const u8,
16432 Hash: *const EVP_MD,
16433 sLen: ::core::ffi::c_int,
16434 ) -> ::core::ffi::c_int;
16435}
16436unsafe extern "C" {
16437 pub fn RSA_verify_PKCS1_PSS(
16438 rsa: *const RSA,
16439 mHash: *const u8,
16440 Hash: *const EVP_MD,
16441 EM: *const u8,
16442 sLen: ::core::ffi::c_int,
16443 ) -> ::core::ffi::c_int;
16444}
16445unsafe extern "C" {
16446 pub fn RSA_padding_add_PKCS1_OAEP(
16447 to: *mut u8,
16448 to_len: usize,
16449 from: *const u8,
16450 from_len: usize,
16451 param: *const u8,
16452 param_len: usize,
16453 ) -> ::core::ffi::c_int;
16454}
16455unsafe extern "C" {
16456 pub fn RSA_print(
16457 bio: *mut BIO,
16458 rsa: *const RSA,
16459 indent: ::core::ffi::c_int,
16460 ) -> ::core::ffi::c_int;
16461}
16462unsafe extern "C" {
16463 pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
16464}
16465unsafe extern "C" {
16466 pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
16467}
16468#[repr(C)]
16469#[derive(Debug, Copy, Clone)]
16470pub struct rsa_meth_st {
16471 pub common: openssl_method_common_st,
16472 pub app_data: *mut ::core::ffi::c_void,
16473 pub init: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16474 pub finish: ::core::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::core::ffi::c_int>,
16475 pub sign: ::core::option::Option<
16476 unsafe extern "C" fn(
16477 type_: ::core::ffi::c_int,
16478 m: *const u8,
16479 m_length: ::core::ffi::c_uint,
16480 sigret: *mut u8,
16481 siglen: *mut ::core::ffi::c_uint,
16482 rsa: *const RSA,
16483 ) -> ::core::ffi::c_int,
16484 >,
16485 pub sign_raw: ::core::option::Option<
16486 unsafe extern "C" fn(
16487 rsa: *mut RSA,
16488 out_len: *mut usize,
16489 out: *mut u8,
16490 max_out: usize,
16491 in_: *const u8,
16492 in_len: usize,
16493 padding: ::core::ffi::c_int,
16494 ) -> ::core::ffi::c_int,
16495 >,
16496 pub decrypt: ::core::option::Option<
16497 unsafe extern "C" fn(
16498 rsa: *mut RSA,
16499 out_len: *mut usize,
16500 out: *mut u8,
16501 max_out: usize,
16502 in_: *const u8,
16503 in_len: usize,
16504 padding: ::core::ffi::c_int,
16505 ) -> ::core::ffi::c_int,
16506 >,
16507 pub private_transform: ::core::option::Option<
16508 unsafe extern "C" fn(
16509 rsa: *mut RSA,
16510 out: *mut u8,
16511 in_: *const u8,
16512 len: usize,
16513 ) -> ::core::ffi::c_int,
16514 >,
16515 pub flags: ::core::ffi::c_int,
16516}
16517pub type sk_X509_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
16518pub type sk_X509_copy_func =
16519 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
16520pub type sk_X509_cmp_func = ::core::option::Option<
16521 unsafe extern "C" fn(arg1: *const *const X509, arg2: *const *const X509) -> ::core::ffi::c_int,
16522>;
16523pub type sk_X509_delete_if_func = ::core::option::Option<
16524 unsafe extern "C" fn(arg1: *mut X509, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
16525>;
16526unsafe extern "C" {
16527 #[link_name = "sk_X509_call_free_func__extern"]
16528 pub fn sk_X509_call_free_func(free_func: OPENSSL_sk_free_func, ptr: *mut ::core::ffi::c_void);
16529}
16530unsafe extern "C" {
16531 #[link_name = "sk_X509_call_copy_func__extern"]
16532 pub fn sk_X509_call_copy_func(
16533 copy_func: OPENSSL_sk_copy_func,
16534 ptr: *const ::core::ffi::c_void,
16535 ) -> *mut ::core::ffi::c_void;
16536}
16537unsafe extern "C" {
16538 #[link_name = "sk_X509_call_cmp_func__extern"]
16539 pub fn sk_X509_call_cmp_func(
16540 cmp_func: OPENSSL_sk_cmp_func,
16541 a: *const ::core::ffi::c_void,
16542 b: *const ::core::ffi::c_void,
16543 ) -> ::core::ffi::c_int;
16544}
16545unsafe extern "C" {
16546 #[link_name = "sk_X509_call_delete_if_func__extern"]
16547 pub fn sk_X509_call_delete_if_func(
16548 func: OPENSSL_sk_delete_if_func,
16549 obj: *mut ::core::ffi::c_void,
16550 data: *mut ::core::ffi::c_void,
16551 ) -> ::core::ffi::c_int;
16552}
16553unsafe extern "C" {
16554 #[link_name = "sk_X509_new__extern"]
16555 pub fn sk_X509_new(comp: sk_X509_cmp_func) -> *mut stack_st_X509;
16556}
16557unsafe extern "C" {
16558 #[link_name = "sk_X509_new_null__extern"]
16559 pub fn sk_X509_new_null() -> *mut stack_st_X509;
16560}
16561unsafe extern "C" {
16562 #[link_name = "sk_X509_num__extern"]
16563 pub fn sk_X509_num(sk: *const stack_st_X509) -> usize;
16564}
16565unsafe extern "C" {
16566 #[link_name = "sk_X509_zero__extern"]
16567 pub fn sk_X509_zero(sk: *mut stack_st_X509);
16568}
16569unsafe extern "C" {
16570 #[link_name = "sk_X509_value__extern"]
16571 pub fn sk_X509_value(sk: *const stack_st_X509, i: usize) -> *mut X509;
16572}
16573unsafe extern "C" {
16574 #[link_name = "sk_X509_last__extern"]
16575 pub fn sk_X509_last(sk: *const stack_st_X509) -> *mut X509;
16576}
16577unsafe extern "C" {
16578 #[link_name = "sk_X509_set__extern"]
16579 pub fn sk_X509_set(sk: *mut stack_st_X509, i: usize, p: *mut X509) -> *mut X509;
16580}
16581unsafe extern "C" {
16582 #[link_name = "sk_X509_free__extern"]
16583 pub fn sk_X509_free(sk: *mut stack_st_X509);
16584}
16585unsafe extern "C" {
16586 #[link_name = "sk_X509_pop_free__extern"]
16587 pub fn sk_X509_pop_free(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16588}
16589unsafe extern "C" {
16590 #[link_name = "sk_X509_insert__extern"]
16591 pub fn sk_X509_insert(sk: *mut stack_st_X509, p: *mut X509, where_: usize) -> usize;
16592}
16593unsafe extern "C" {
16594 #[link_name = "sk_X509_delete__extern"]
16595 pub fn sk_X509_delete(sk: *mut stack_st_X509, where_: usize) -> *mut X509;
16596}
16597unsafe extern "C" {
16598 #[link_name = "sk_X509_delete_ptr__extern"]
16599 pub fn sk_X509_delete_ptr(sk: *mut stack_st_X509, p: *const X509) -> *mut X509;
16600}
16601unsafe extern "C" {
16602 #[link_name = "sk_X509_delete_if__extern"]
16603 pub fn sk_X509_delete_if(
16604 sk: *mut stack_st_X509,
16605 func: sk_X509_delete_if_func,
16606 data: *mut ::core::ffi::c_void,
16607 );
16608}
16609unsafe extern "C" {
16610 #[link_name = "sk_X509_find__extern"]
16611 pub fn sk_X509_find(
16612 sk: *const stack_st_X509,
16613 out_index: *mut usize,
16614 p: *const X509,
16615 ) -> ::core::ffi::c_int;
16616}
16617unsafe extern "C" {
16618 #[link_name = "sk_X509_shift__extern"]
16619 pub fn sk_X509_shift(sk: *mut stack_st_X509) -> *mut X509;
16620}
16621unsafe extern "C" {
16622 #[link_name = "sk_X509_push__extern"]
16623 pub fn sk_X509_push(sk: *mut stack_st_X509, p: *mut X509) -> usize;
16624}
16625unsafe extern "C" {
16626 #[link_name = "sk_X509_pop__extern"]
16627 pub fn sk_X509_pop(sk: *mut stack_st_X509) -> *mut X509;
16628}
16629unsafe extern "C" {
16630 #[link_name = "sk_X509_dup__extern"]
16631 pub fn sk_X509_dup(sk: *const stack_st_X509) -> *mut stack_st_X509;
16632}
16633unsafe extern "C" {
16634 #[link_name = "sk_X509_sort__extern"]
16635 pub fn sk_X509_sort(sk: *mut stack_st_X509);
16636}
16637unsafe extern "C" {
16638 #[link_name = "sk_X509_sort_and_dedup__extern"]
16639 pub fn sk_X509_sort_and_dedup(sk: *mut stack_st_X509, free_func: sk_X509_free_func);
16640}
16641unsafe extern "C" {
16642 #[link_name = "sk_X509_is_sorted__extern"]
16643 pub fn sk_X509_is_sorted(sk: *const stack_st_X509) -> ::core::ffi::c_int;
16644}
16645unsafe extern "C" {
16646 #[link_name = "sk_X509_set_cmp_func__extern"]
16647 pub fn sk_X509_set_cmp_func(sk: *mut stack_st_X509, comp: sk_X509_cmp_func)
16648 -> sk_X509_cmp_func;
16649}
16650unsafe extern "C" {
16651 #[link_name = "sk_X509_deep_copy__extern"]
16652 pub fn sk_X509_deep_copy(
16653 sk: *const stack_st_X509,
16654 copy_func: sk_X509_copy_func,
16655 free_func: sk_X509_free_func,
16656 ) -> *mut stack_st_X509;
16657}
16658unsafe extern "C" {
16659 pub static X509_it: ASN1_ITEM;
16660}
16661unsafe extern "C" {
16662 pub fn X509_up_ref(x509: *mut X509) -> ::core::ffi::c_int;
16663}
16664unsafe extern "C" {
16665 pub fn X509_dup_ref(x509: *const X509) -> *mut X509;
16666}
16667unsafe extern "C" {
16668 pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
16669}
16670unsafe extern "C" {
16671 pub fn X509_dup(x509: *const X509) -> *mut X509;
16672}
16673unsafe extern "C" {
16674 pub fn X509_free(x509: *mut X509);
16675}
16676unsafe extern "C" {
16677 pub fn d2i_X509(
16678 out: *mut *mut X509,
16679 inp: *mut *const u8,
16680 len: ::core::ffi::c_long,
16681 ) -> *mut X509;
16682}
16683unsafe extern "C" {
16684 pub fn X509_parse_with_algorithms(
16685 buf: *mut CRYPTO_BUFFER,
16686 algs: *const *const EVP_PKEY_ALG,
16687 num_algs: usize,
16688 ) -> *mut X509;
16689}
16690unsafe extern "C" {
16691 pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
16692}
16693unsafe extern "C" {
16694 pub fn i2d_X509(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16695}
16696unsafe extern "C" {
16697 pub fn X509_get_version(x509: *const X509) -> ::core::ffi::c_long;
16698}
16699unsafe extern "C" {
16700 pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
16701}
16702unsafe extern "C" {
16703 pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
16704}
16705unsafe extern "C" {
16706 pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
16707}
16708unsafe extern "C" {
16709 pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
16710}
16711unsafe extern "C" {
16712 pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
16713}
16714unsafe extern "C" {
16715 pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
16716}
16717unsafe extern "C" {
16718 pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16719}
16720unsafe extern "C" {
16721 pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
16722}
16723unsafe extern "C" {
16724 pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
16725}
16726unsafe extern "C" {
16727 pub fn X509_check_private_key(x509: *const X509, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
16728}
16729unsafe extern "C" {
16730 pub fn X509_get0_uids(
16731 x509: *const X509,
16732 out_issuer_uid: *mut *const ASN1_BIT_STRING,
16733 out_subject_uid: *mut *const ASN1_BIT_STRING,
16734 );
16735}
16736unsafe extern "C" {
16737 pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
16738}
16739unsafe extern "C" {
16740 pub fn X509_get_pathlen(x509: *mut X509) -> ::core::ffi::c_long;
16741}
16742unsafe extern "C" {
16743 pub fn X509_get_key_usage(x509: *mut X509) -> u32;
16744}
16745unsafe extern "C" {
16746 pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
16747}
16748unsafe extern "C" {
16749 pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16750}
16751unsafe extern "C" {
16752 pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
16753}
16754#[repr(C)]
16755#[derive(Debug)]
16756pub struct stack_st_GENERAL_NAME {
16757 _unused: [u8; 0],
16758}
16759pub type sk_GENERAL_NAME_free_func =
16760 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
16761pub type sk_GENERAL_NAME_copy_func =
16762 ::core::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
16763pub type sk_GENERAL_NAME_cmp_func = ::core::option::Option<
16764 unsafe extern "C" fn(
16765 arg1: *const *const GENERAL_NAME,
16766 arg2: *const *const GENERAL_NAME,
16767 ) -> ::core::ffi::c_int,
16768>;
16769pub type sk_GENERAL_NAME_delete_if_func = ::core::option::Option<
16770 unsafe extern "C" fn(
16771 arg1: *mut GENERAL_NAME,
16772 arg2: *mut ::core::ffi::c_void,
16773 ) -> ::core::ffi::c_int,
16774>;
16775unsafe extern "C" {
16776 #[link_name = "sk_GENERAL_NAME_call_free_func__extern"]
16777 pub fn sk_GENERAL_NAME_call_free_func(
16778 free_func: OPENSSL_sk_free_func,
16779 ptr: *mut ::core::ffi::c_void,
16780 );
16781}
16782unsafe extern "C" {
16783 #[link_name = "sk_GENERAL_NAME_call_copy_func__extern"]
16784 pub fn sk_GENERAL_NAME_call_copy_func(
16785 copy_func: OPENSSL_sk_copy_func,
16786 ptr: *const ::core::ffi::c_void,
16787 ) -> *mut ::core::ffi::c_void;
16788}
16789unsafe extern "C" {
16790 #[link_name = "sk_GENERAL_NAME_call_cmp_func__extern"]
16791 pub fn sk_GENERAL_NAME_call_cmp_func(
16792 cmp_func: OPENSSL_sk_cmp_func,
16793 a: *const ::core::ffi::c_void,
16794 b: *const ::core::ffi::c_void,
16795 ) -> ::core::ffi::c_int;
16796}
16797unsafe extern "C" {
16798 #[link_name = "sk_GENERAL_NAME_call_delete_if_func__extern"]
16799 pub fn sk_GENERAL_NAME_call_delete_if_func(
16800 func: OPENSSL_sk_delete_if_func,
16801 obj: *mut ::core::ffi::c_void,
16802 data: *mut ::core::ffi::c_void,
16803 ) -> ::core::ffi::c_int;
16804}
16805unsafe extern "C" {
16806 #[link_name = "sk_GENERAL_NAME_new__extern"]
16807 pub fn sk_GENERAL_NAME_new(comp: sk_GENERAL_NAME_cmp_func) -> *mut stack_st_GENERAL_NAME;
16808}
16809unsafe extern "C" {
16810 #[link_name = "sk_GENERAL_NAME_new_null__extern"]
16811 pub fn sk_GENERAL_NAME_new_null() -> *mut stack_st_GENERAL_NAME;
16812}
16813unsafe extern "C" {
16814 #[link_name = "sk_GENERAL_NAME_num__extern"]
16815 pub fn sk_GENERAL_NAME_num(sk: *const stack_st_GENERAL_NAME) -> usize;
16816}
16817unsafe extern "C" {
16818 #[link_name = "sk_GENERAL_NAME_zero__extern"]
16819 pub fn sk_GENERAL_NAME_zero(sk: *mut stack_st_GENERAL_NAME);
16820}
16821unsafe extern "C" {
16822 #[link_name = "sk_GENERAL_NAME_value__extern"]
16823 pub fn sk_GENERAL_NAME_value(sk: *const stack_st_GENERAL_NAME, i: usize) -> *mut GENERAL_NAME;
16824}
16825unsafe extern "C" {
16826 #[link_name = "sk_GENERAL_NAME_last__extern"]
16827 pub fn sk_GENERAL_NAME_last(sk: *const stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16828}
16829unsafe extern "C" {
16830 #[link_name = "sk_GENERAL_NAME_set__extern"]
16831 pub fn sk_GENERAL_NAME_set(
16832 sk: *mut stack_st_GENERAL_NAME,
16833 i: usize,
16834 p: *mut GENERAL_NAME,
16835 ) -> *mut GENERAL_NAME;
16836}
16837unsafe extern "C" {
16838 #[link_name = "sk_GENERAL_NAME_free__extern"]
16839 pub fn sk_GENERAL_NAME_free(sk: *mut stack_st_GENERAL_NAME);
16840}
16841unsafe extern "C" {
16842 #[link_name = "sk_GENERAL_NAME_pop_free__extern"]
16843 pub fn sk_GENERAL_NAME_pop_free(
16844 sk: *mut stack_st_GENERAL_NAME,
16845 free_func: sk_GENERAL_NAME_free_func,
16846 );
16847}
16848unsafe extern "C" {
16849 #[link_name = "sk_GENERAL_NAME_insert__extern"]
16850 pub fn sk_GENERAL_NAME_insert(
16851 sk: *mut stack_st_GENERAL_NAME,
16852 p: *mut GENERAL_NAME,
16853 where_: usize,
16854 ) -> usize;
16855}
16856unsafe extern "C" {
16857 #[link_name = "sk_GENERAL_NAME_delete__extern"]
16858 pub fn sk_GENERAL_NAME_delete(
16859 sk: *mut stack_st_GENERAL_NAME,
16860 where_: usize,
16861 ) -> *mut GENERAL_NAME;
16862}
16863unsafe extern "C" {
16864 #[link_name = "sk_GENERAL_NAME_delete_ptr__extern"]
16865 pub fn sk_GENERAL_NAME_delete_ptr(
16866 sk: *mut stack_st_GENERAL_NAME,
16867 p: *const GENERAL_NAME,
16868 ) -> *mut GENERAL_NAME;
16869}
16870unsafe extern "C" {
16871 #[link_name = "sk_GENERAL_NAME_delete_if__extern"]
16872 pub fn sk_GENERAL_NAME_delete_if(
16873 sk: *mut stack_st_GENERAL_NAME,
16874 func: sk_GENERAL_NAME_delete_if_func,
16875 data: *mut ::core::ffi::c_void,
16876 );
16877}
16878unsafe extern "C" {
16879 #[link_name = "sk_GENERAL_NAME_find__extern"]
16880 pub fn sk_GENERAL_NAME_find(
16881 sk: *const stack_st_GENERAL_NAME,
16882 out_index: *mut usize,
16883 p: *const GENERAL_NAME,
16884 ) -> ::core::ffi::c_int;
16885}
16886unsafe extern "C" {
16887 #[link_name = "sk_GENERAL_NAME_shift__extern"]
16888 pub fn sk_GENERAL_NAME_shift(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16889}
16890unsafe extern "C" {
16891 #[link_name = "sk_GENERAL_NAME_push__extern"]
16892 pub fn sk_GENERAL_NAME_push(sk: *mut stack_st_GENERAL_NAME, p: *mut GENERAL_NAME) -> usize;
16893}
16894unsafe extern "C" {
16895 #[link_name = "sk_GENERAL_NAME_pop__extern"]
16896 pub fn sk_GENERAL_NAME_pop(sk: *mut stack_st_GENERAL_NAME) -> *mut GENERAL_NAME;
16897}
16898unsafe extern "C" {
16899 #[link_name = "sk_GENERAL_NAME_dup__extern"]
16900 pub fn sk_GENERAL_NAME_dup(sk: *const stack_st_GENERAL_NAME) -> *mut stack_st_GENERAL_NAME;
16901}
16902unsafe extern "C" {
16903 #[link_name = "sk_GENERAL_NAME_sort__extern"]
16904 pub fn sk_GENERAL_NAME_sort(sk: *mut stack_st_GENERAL_NAME);
16905}
16906unsafe extern "C" {
16907 #[link_name = "sk_GENERAL_NAME_sort_and_dedup__extern"]
16908 pub fn sk_GENERAL_NAME_sort_and_dedup(
16909 sk: *mut stack_st_GENERAL_NAME,
16910 free_func: sk_GENERAL_NAME_free_func,
16911 );
16912}
16913unsafe extern "C" {
16914 #[link_name = "sk_GENERAL_NAME_is_sorted__extern"]
16915 pub fn sk_GENERAL_NAME_is_sorted(sk: *const stack_st_GENERAL_NAME) -> ::core::ffi::c_int;
16916}
16917unsafe extern "C" {
16918 #[link_name = "sk_GENERAL_NAME_set_cmp_func__extern"]
16919 pub fn sk_GENERAL_NAME_set_cmp_func(
16920 sk: *mut stack_st_GENERAL_NAME,
16921 comp: sk_GENERAL_NAME_cmp_func,
16922 ) -> sk_GENERAL_NAME_cmp_func;
16923}
16924unsafe extern "C" {
16925 #[link_name = "sk_GENERAL_NAME_deep_copy__extern"]
16926 pub fn sk_GENERAL_NAME_deep_copy(
16927 sk: *const stack_st_GENERAL_NAME,
16928 copy_func: sk_GENERAL_NAME_copy_func,
16929 free_func: sk_GENERAL_NAME_free_func,
16930 ) -> *mut stack_st_GENERAL_NAME;
16931}
16932pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
16933unsafe extern "C" {
16934 pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
16935}
16936unsafe extern "C" {
16937 pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
16938}
16939#[repr(C)]
16940#[derive(Debug)]
16941pub struct stack_st_X509_EXTENSION {
16942 _unused: [u8; 0],
16943}
16944unsafe extern "C" {
16945 pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
16946}
16947unsafe extern "C" {
16948 pub fn X509_get_ext_count(x: *const X509) -> ::core::ffi::c_int;
16949}
16950unsafe extern "C" {
16951 pub fn X509_get_ext_by_NID(
16952 x: *const X509,
16953 nid: ::core::ffi::c_int,
16954 lastpos: ::core::ffi::c_int,
16955 ) -> ::core::ffi::c_int;
16956}
16957unsafe extern "C" {
16958 pub fn X509_get_ext_by_OBJ(
16959 x: *const X509,
16960 obj: *const ASN1_OBJECT,
16961 lastpos: ::core::ffi::c_int,
16962 ) -> ::core::ffi::c_int;
16963}
16964unsafe extern "C" {
16965 pub fn X509_get_ext_by_critical(
16966 x: *const X509,
16967 crit: ::core::ffi::c_int,
16968 lastpos: ::core::ffi::c_int,
16969 ) -> ::core::ffi::c_int;
16970}
16971unsafe extern "C" {
16972 pub fn X509_get_ext(x: *const X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
16973}
16974unsafe extern "C" {
16975 pub fn X509_get_ext_d2i(
16976 x509: *const X509,
16977 nid: ::core::ffi::c_int,
16978 out_critical: *mut ::core::ffi::c_int,
16979 out_idx: *mut ::core::ffi::c_int,
16980 ) -> *mut ::core::ffi::c_void;
16981}
16982unsafe extern "C" {
16983 pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
16984}
16985unsafe extern "C" {
16986 pub fn X509_get0_signature(
16987 out_sig: *mut *const ASN1_BIT_STRING,
16988 out_alg: *mut *const X509_ALGOR,
16989 x509: *const X509,
16990 );
16991}
16992unsafe extern "C" {
16993 pub fn X509_get_signature_nid(x509: *const X509) -> ::core::ffi::c_int;
16994}
16995unsafe extern "C" {
16996 pub fn i2d_X509_tbs(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
16997}
16998unsafe extern "C" {
16999 pub fn X509_verify(x509: *const X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17000}
17001unsafe extern "C" {
17002 pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
17003}
17004unsafe extern "C" {
17005 pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
17006}
17007unsafe extern "C" {
17008 pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
17009}
17010unsafe extern "C" {
17011 pub fn X509_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
17012}
17013unsafe extern "C" {
17014 pub fn X509_new() -> *mut X509;
17015}
17016unsafe extern "C" {
17017 pub fn X509_set_version(x509: *mut X509, version: ::core::ffi::c_long) -> ::core::ffi::c_int;
17018}
17019unsafe extern "C" {
17020 pub fn X509_set_serialNumber(
17021 x509: *mut X509,
17022 serial: *const ASN1_INTEGER,
17023 ) -> ::core::ffi::c_int;
17024}
17025unsafe extern "C" {
17026 pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
17027}
17028unsafe extern "C" {
17029 pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
17030}
17031unsafe extern "C" {
17032 pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
17033}
17034unsafe extern "C" {
17035 pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
17036}
17037unsafe extern "C" {
17038 pub fn X509_set_issuer_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
17039}
17040unsafe extern "C" {
17041 pub fn X509_set_subject_name(x509: *mut X509, name: *const X509_NAME) -> ::core::ffi::c_int;
17042}
17043unsafe extern "C" {
17044 pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17045}
17046unsafe extern "C" {
17047 pub fn X509_delete_ext(x: *mut X509, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17048}
17049unsafe extern "C" {
17050 pub fn X509_add_ext(
17051 x: *mut X509,
17052 ex: *const X509_EXTENSION,
17053 loc: ::core::ffi::c_int,
17054 ) -> ::core::ffi::c_int;
17055}
17056unsafe extern "C" {
17057 pub fn X509_add1_ext_i2d(
17058 x: *mut X509,
17059 nid: ::core::ffi::c_int,
17060 value: *mut ::core::ffi::c_void,
17061 crit: ::core::ffi::c_int,
17062 flags: ::core::ffi::c_ulong,
17063 ) -> ::core::ffi::c_int;
17064}
17065unsafe extern "C" {
17066 pub fn X509_sign(x509: *mut X509, pkey: *mut EVP_PKEY, md: *const EVP_MD)
17067 -> ::core::ffi::c_int;
17068}
17069unsafe extern "C" {
17070 pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17071}
17072unsafe extern "C" {
17073 pub fn i2d_re_X509_tbs(x509: *mut X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
17074}
17075unsafe extern "C" {
17076 pub fn X509_set1_signature_algo(x509: *mut X509, algo: *const X509_ALGOR)
17077 -> ::core::ffi::c_int;
17078}
17079unsafe extern "C" {
17080 pub fn X509_set1_signature_value(
17081 x509: *mut X509,
17082 sig: *const u8,
17083 sig_len: usize,
17084 ) -> ::core::ffi::c_int;
17085}
17086unsafe extern "C" {
17087 pub fn i2d_X509_AUX(x509: *const X509, outp: *mut *mut u8) -> ::core::ffi::c_int;
17088}
17089unsafe extern "C" {
17090 pub fn d2i_X509_AUX(
17091 x509: *mut *mut X509,
17092 inp: *mut *const u8,
17093 length: ::core::ffi::c_long,
17094 ) -> *mut X509;
17095}
17096unsafe extern "C" {
17097 pub fn X509_alias_set1(
17098 x509: *mut X509,
17099 name: *const u8,
17100 len: ossl_ssize_t,
17101 ) -> ::core::ffi::c_int;
17102}
17103unsafe extern "C" {
17104 pub fn X509_keyid_set1(x509: *mut X509, id: *const u8, len: ossl_ssize_t)
17105 -> ::core::ffi::c_int;
17106}
17107unsafe extern "C" {
17108 pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
17109}
17110unsafe extern "C" {
17111 pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::core::ffi::c_int) -> *const u8;
17112}
17113unsafe extern "C" {
17114 pub fn X509_add1_trust_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
17115}
17116unsafe extern "C" {
17117 pub fn X509_add1_reject_object(x509: *mut X509, obj: *const ASN1_OBJECT) -> ::core::ffi::c_int;
17118}
17119unsafe extern "C" {
17120 pub fn X509_trust_clear(x509: *mut X509);
17121}
17122unsafe extern "C" {
17123 pub fn X509_reject_clear(x509: *mut X509);
17124}
17125pub type sk_X509_CRL_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
17126pub type sk_X509_CRL_copy_func =
17127 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
17128pub type sk_X509_CRL_cmp_func = ::core::option::Option<
17129 unsafe extern "C" fn(
17130 arg1: *const *const X509_CRL,
17131 arg2: *const *const X509_CRL,
17132 ) -> ::core::ffi::c_int,
17133>;
17134pub type sk_X509_CRL_delete_if_func = ::core::option::Option<
17135 unsafe extern "C" fn(arg1: *mut X509_CRL, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
17136>;
17137unsafe extern "C" {
17138 #[link_name = "sk_X509_CRL_call_free_func__extern"]
17139 pub fn sk_X509_CRL_call_free_func(
17140 free_func: OPENSSL_sk_free_func,
17141 ptr: *mut ::core::ffi::c_void,
17142 );
17143}
17144unsafe extern "C" {
17145 #[link_name = "sk_X509_CRL_call_copy_func__extern"]
17146 pub fn sk_X509_CRL_call_copy_func(
17147 copy_func: OPENSSL_sk_copy_func,
17148 ptr: *const ::core::ffi::c_void,
17149 ) -> *mut ::core::ffi::c_void;
17150}
17151unsafe extern "C" {
17152 #[link_name = "sk_X509_CRL_call_cmp_func__extern"]
17153 pub fn sk_X509_CRL_call_cmp_func(
17154 cmp_func: OPENSSL_sk_cmp_func,
17155 a: *const ::core::ffi::c_void,
17156 b: *const ::core::ffi::c_void,
17157 ) -> ::core::ffi::c_int;
17158}
17159unsafe extern "C" {
17160 #[link_name = "sk_X509_CRL_call_delete_if_func__extern"]
17161 pub fn sk_X509_CRL_call_delete_if_func(
17162 func: OPENSSL_sk_delete_if_func,
17163 obj: *mut ::core::ffi::c_void,
17164 data: *mut ::core::ffi::c_void,
17165 ) -> ::core::ffi::c_int;
17166}
17167unsafe extern "C" {
17168 #[link_name = "sk_X509_CRL_new__extern"]
17169 pub fn sk_X509_CRL_new(comp: sk_X509_CRL_cmp_func) -> *mut stack_st_X509_CRL;
17170}
17171unsafe extern "C" {
17172 #[link_name = "sk_X509_CRL_new_null__extern"]
17173 pub fn sk_X509_CRL_new_null() -> *mut stack_st_X509_CRL;
17174}
17175unsafe extern "C" {
17176 #[link_name = "sk_X509_CRL_num__extern"]
17177 pub fn sk_X509_CRL_num(sk: *const stack_st_X509_CRL) -> usize;
17178}
17179unsafe extern "C" {
17180 #[link_name = "sk_X509_CRL_zero__extern"]
17181 pub fn sk_X509_CRL_zero(sk: *mut stack_st_X509_CRL);
17182}
17183unsafe extern "C" {
17184 #[link_name = "sk_X509_CRL_value__extern"]
17185 pub fn sk_X509_CRL_value(sk: *const stack_st_X509_CRL, i: usize) -> *mut X509_CRL;
17186}
17187unsafe extern "C" {
17188 #[link_name = "sk_X509_CRL_last__extern"]
17189 pub fn sk_X509_CRL_last(sk: *const stack_st_X509_CRL) -> *mut X509_CRL;
17190}
17191unsafe extern "C" {
17192 #[link_name = "sk_X509_CRL_set__extern"]
17193 pub fn sk_X509_CRL_set(sk: *mut stack_st_X509_CRL, i: usize, p: *mut X509_CRL)
17194 -> *mut X509_CRL;
17195}
17196unsafe extern "C" {
17197 #[link_name = "sk_X509_CRL_free__extern"]
17198 pub fn sk_X509_CRL_free(sk: *mut stack_st_X509_CRL);
17199}
17200unsafe extern "C" {
17201 #[link_name = "sk_X509_CRL_pop_free__extern"]
17202 pub fn sk_X509_CRL_pop_free(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
17203}
17204unsafe extern "C" {
17205 #[link_name = "sk_X509_CRL_insert__extern"]
17206 pub fn sk_X509_CRL_insert(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL, where_: usize)
17207 -> usize;
17208}
17209unsafe extern "C" {
17210 #[link_name = "sk_X509_CRL_delete__extern"]
17211 pub fn sk_X509_CRL_delete(sk: *mut stack_st_X509_CRL, where_: usize) -> *mut X509_CRL;
17212}
17213unsafe extern "C" {
17214 #[link_name = "sk_X509_CRL_delete_ptr__extern"]
17215 pub fn sk_X509_CRL_delete_ptr(sk: *mut stack_st_X509_CRL, p: *const X509_CRL) -> *mut X509_CRL;
17216}
17217unsafe extern "C" {
17218 #[link_name = "sk_X509_CRL_delete_if__extern"]
17219 pub fn sk_X509_CRL_delete_if(
17220 sk: *mut stack_st_X509_CRL,
17221 func: sk_X509_CRL_delete_if_func,
17222 data: *mut ::core::ffi::c_void,
17223 );
17224}
17225unsafe extern "C" {
17226 #[link_name = "sk_X509_CRL_find__extern"]
17227 pub fn sk_X509_CRL_find(
17228 sk: *const stack_st_X509_CRL,
17229 out_index: *mut usize,
17230 p: *const X509_CRL,
17231 ) -> ::core::ffi::c_int;
17232}
17233unsafe extern "C" {
17234 #[link_name = "sk_X509_CRL_shift__extern"]
17235 pub fn sk_X509_CRL_shift(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17236}
17237unsafe extern "C" {
17238 #[link_name = "sk_X509_CRL_push__extern"]
17239 pub fn sk_X509_CRL_push(sk: *mut stack_st_X509_CRL, p: *mut X509_CRL) -> usize;
17240}
17241unsafe extern "C" {
17242 #[link_name = "sk_X509_CRL_pop__extern"]
17243 pub fn sk_X509_CRL_pop(sk: *mut stack_st_X509_CRL) -> *mut X509_CRL;
17244}
17245unsafe extern "C" {
17246 #[link_name = "sk_X509_CRL_dup__extern"]
17247 pub fn sk_X509_CRL_dup(sk: *const stack_st_X509_CRL) -> *mut stack_st_X509_CRL;
17248}
17249unsafe extern "C" {
17250 #[link_name = "sk_X509_CRL_sort__extern"]
17251 pub fn sk_X509_CRL_sort(sk: *mut stack_st_X509_CRL);
17252}
17253unsafe extern "C" {
17254 #[link_name = "sk_X509_CRL_sort_and_dedup__extern"]
17255 pub fn sk_X509_CRL_sort_and_dedup(sk: *mut stack_st_X509_CRL, free_func: sk_X509_CRL_free_func);
17256}
17257unsafe extern "C" {
17258 #[link_name = "sk_X509_CRL_is_sorted__extern"]
17259 pub fn sk_X509_CRL_is_sorted(sk: *const stack_st_X509_CRL) -> ::core::ffi::c_int;
17260}
17261unsafe extern "C" {
17262 #[link_name = "sk_X509_CRL_set_cmp_func__extern"]
17263 pub fn sk_X509_CRL_set_cmp_func(
17264 sk: *mut stack_st_X509_CRL,
17265 comp: sk_X509_CRL_cmp_func,
17266 ) -> sk_X509_CRL_cmp_func;
17267}
17268unsafe extern "C" {
17269 #[link_name = "sk_X509_CRL_deep_copy__extern"]
17270 pub fn sk_X509_CRL_deep_copy(
17271 sk: *const stack_st_X509_CRL,
17272 copy_func: sk_X509_CRL_copy_func,
17273 free_func: sk_X509_CRL_free_func,
17274 ) -> *mut stack_st_X509_CRL;
17275}
17276#[repr(C)]
17277#[derive(Debug)]
17278pub struct stack_st_X509_REVOKED {
17279 _unused: [u8; 0],
17280}
17281pub type sk_X509_REVOKED_free_func =
17282 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
17283pub type sk_X509_REVOKED_copy_func =
17284 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
17285pub type sk_X509_REVOKED_cmp_func = ::core::option::Option<
17286 unsafe extern "C" fn(
17287 arg1: *const *const X509_REVOKED,
17288 arg2: *const *const X509_REVOKED,
17289 ) -> ::core::ffi::c_int,
17290>;
17291pub type sk_X509_REVOKED_delete_if_func = ::core::option::Option<
17292 unsafe extern "C" fn(
17293 arg1: *mut X509_REVOKED,
17294 arg2: *mut ::core::ffi::c_void,
17295 ) -> ::core::ffi::c_int,
17296>;
17297unsafe extern "C" {
17298 #[link_name = "sk_X509_REVOKED_call_free_func__extern"]
17299 pub fn sk_X509_REVOKED_call_free_func(
17300 free_func: OPENSSL_sk_free_func,
17301 ptr: *mut ::core::ffi::c_void,
17302 );
17303}
17304unsafe extern "C" {
17305 #[link_name = "sk_X509_REVOKED_call_copy_func__extern"]
17306 pub fn sk_X509_REVOKED_call_copy_func(
17307 copy_func: OPENSSL_sk_copy_func,
17308 ptr: *const ::core::ffi::c_void,
17309 ) -> *mut ::core::ffi::c_void;
17310}
17311unsafe extern "C" {
17312 #[link_name = "sk_X509_REVOKED_call_cmp_func__extern"]
17313 pub fn sk_X509_REVOKED_call_cmp_func(
17314 cmp_func: OPENSSL_sk_cmp_func,
17315 a: *const ::core::ffi::c_void,
17316 b: *const ::core::ffi::c_void,
17317 ) -> ::core::ffi::c_int;
17318}
17319unsafe extern "C" {
17320 #[link_name = "sk_X509_REVOKED_call_delete_if_func__extern"]
17321 pub fn sk_X509_REVOKED_call_delete_if_func(
17322 func: OPENSSL_sk_delete_if_func,
17323 obj: *mut ::core::ffi::c_void,
17324 data: *mut ::core::ffi::c_void,
17325 ) -> ::core::ffi::c_int;
17326}
17327unsafe extern "C" {
17328 #[link_name = "sk_X509_REVOKED_new__extern"]
17329 pub fn sk_X509_REVOKED_new(comp: sk_X509_REVOKED_cmp_func) -> *mut stack_st_X509_REVOKED;
17330}
17331unsafe extern "C" {
17332 #[link_name = "sk_X509_REVOKED_new_null__extern"]
17333 pub fn sk_X509_REVOKED_new_null() -> *mut stack_st_X509_REVOKED;
17334}
17335unsafe extern "C" {
17336 #[link_name = "sk_X509_REVOKED_num__extern"]
17337 pub fn sk_X509_REVOKED_num(sk: *const stack_st_X509_REVOKED) -> usize;
17338}
17339unsafe extern "C" {
17340 #[link_name = "sk_X509_REVOKED_zero__extern"]
17341 pub fn sk_X509_REVOKED_zero(sk: *mut stack_st_X509_REVOKED);
17342}
17343unsafe extern "C" {
17344 #[link_name = "sk_X509_REVOKED_value__extern"]
17345 pub fn sk_X509_REVOKED_value(sk: *const stack_st_X509_REVOKED, i: usize) -> *mut X509_REVOKED;
17346}
17347unsafe extern "C" {
17348 #[link_name = "sk_X509_REVOKED_last__extern"]
17349 pub fn sk_X509_REVOKED_last(sk: *const stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17350}
17351unsafe extern "C" {
17352 #[link_name = "sk_X509_REVOKED_set__extern"]
17353 pub fn sk_X509_REVOKED_set(
17354 sk: *mut stack_st_X509_REVOKED,
17355 i: usize,
17356 p: *mut X509_REVOKED,
17357 ) -> *mut X509_REVOKED;
17358}
17359unsafe extern "C" {
17360 #[link_name = "sk_X509_REVOKED_free__extern"]
17361 pub fn sk_X509_REVOKED_free(sk: *mut stack_st_X509_REVOKED);
17362}
17363unsafe extern "C" {
17364 #[link_name = "sk_X509_REVOKED_pop_free__extern"]
17365 pub fn sk_X509_REVOKED_pop_free(
17366 sk: *mut stack_st_X509_REVOKED,
17367 free_func: sk_X509_REVOKED_free_func,
17368 );
17369}
17370unsafe extern "C" {
17371 #[link_name = "sk_X509_REVOKED_insert__extern"]
17372 pub fn sk_X509_REVOKED_insert(
17373 sk: *mut stack_st_X509_REVOKED,
17374 p: *mut X509_REVOKED,
17375 where_: usize,
17376 ) -> usize;
17377}
17378unsafe extern "C" {
17379 #[link_name = "sk_X509_REVOKED_delete__extern"]
17380 pub fn sk_X509_REVOKED_delete(
17381 sk: *mut stack_st_X509_REVOKED,
17382 where_: usize,
17383 ) -> *mut X509_REVOKED;
17384}
17385unsafe extern "C" {
17386 #[link_name = "sk_X509_REVOKED_delete_ptr__extern"]
17387 pub fn sk_X509_REVOKED_delete_ptr(
17388 sk: *mut stack_st_X509_REVOKED,
17389 p: *const X509_REVOKED,
17390 ) -> *mut X509_REVOKED;
17391}
17392unsafe extern "C" {
17393 #[link_name = "sk_X509_REVOKED_delete_if__extern"]
17394 pub fn sk_X509_REVOKED_delete_if(
17395 sk: *mut stack_st_X509_REVOKED,
17396 func: sk_X509_REVOKED_delete_if_func,
17397 data: *mut ::core::ffi::c_void,
17398 );
17399}
17400unsafe extern "C" {
17401 #[link_name = "sk_X509_REVOKED_find__extern"]
17402 pub fn sk_X509_REVOKED_find(
17403 sk: *const stack_st_X509_REVOKED,
17404 out_index: *mut usize,
17405 p: *const X509_REVOKED,
17406 ) -> ::core::ffi::c_int;
17407}
17408unsafe extern "C" {
17409 #[link_name = "sk_X509_REVOKED_shift__extern"]
17410 pub fn sk_X509_REVOKED_shift(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17411}
17412unsafe extern "C" {
17413 #[link_name = "sk_X509_REVOKED_push__extern"]
17414 pub fn sk_X509_REVOKED_push(sk: *mut stack_st_X509_REVOKED, p: *mut X509_REVOKED) -> usize;
17415}
17416unsafe extern "C" {
17417 #[link_name = "sk_X509_REVOKED_pop__extern"]
17418 pub fn sk_X509_REVOKED_pop(sk: *mut stack_st_X509_REVOKED) -> *mut X509_REVOKED;
17419}
17420unsafe extern "C" {
17421 #[link_name = "sk_X509_REVOKED_dup__extern"]
17422 pub fn sk_X509_REVOKED_dup(sk: *const stack_st_X509_REVOKED) -> *mut stack_st_X509_REVOKED;
17423}
17424unsafe extern "C" {
17425 #[link_name = "sk_X509_REVOKED_sort__extern"]
17426 pub fn sk_X509_REVOKED_sort(sk: *mut stack_st_X509_REVOKED);
17427}
17428unsafe extern "C" {
17429 #[link_name = "sk_X509_REVOKED_sort_and_dedup__extern"]
17430 pub fn sk_X509_REVOKED_sort_and_dedup(
17431 sk: *mut stack_st_X509_REVOKED,
17432 free_func: sk_X509_REVOKED_free_func,
17433 );
17434}
17435unsafe extern "C" {
17436 #[link_name = "sk_X509_REVOKED_is_sorted__extern"]
17437 pub fn sk_X509_REVOKED_is_sorted(sk: *const stack_st_X509_REVOKED) -> ::core::ffi::c_int;
17438}
17439unsafe extern "C" {
17440 #[link_name = "sk_X509_REVOKED_set_cmp_func__extern"]
17441 pub fn sk_X509_REVOKED_set_cmp_func(
17442 sk: *mut stack_st_X509_REVOKED,
17443 comp: sk_X509_REVOKED_cmp_func,
17444 ) -> sk_X509_REVOKED_cmp_func;
17445}
17446unsafe extern "C" {
17447 #[link_name = "sk_X509_REVOKED_deep_copy__extern"]
17448 pub fn sk_X509_REVOKED_deep_copy(
17449 sk: *const stack_st_X509_REVOKED,
17450 copy_func: sk_X509_REVOKED_copy_func,
17451 free_func: sk_X509_REVOKED_free_func,
17452 ) -> *mut stack_st_X509_REVOKED;
17453}
17454unsafe extern "C" {
17455 pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17456}
17457unsafe extern "C" {
17458 pub fn X509_CRL_dup(crl: *const X509_CRL) -> *mut X509_CRL;
17459}
17460unsafe extern "C" {
17461 pub fn X509_CRL_free(crl: *mut X509_CRL);
17462}
17463unsafe extern "C" {
17464 pub fn d2i_X509_CRL(
17465 out: *mut *mut X509_CRL,
17466 inp: *mut *const u8,
17467 len: ::core::ffi::c_long,
17468 ) -> *mut X509_CRL;
17469}
17470unsafe extern "C" {
17471 pub fn i2d_X509_CRL(crl: *const X509_CRL, outp: *mut *mut u8) -> ::core::ffi::c_int;
17472}
17473unsafe extern "C" {
17474 pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
17475}
17476unsafe extern "C" {
17477 pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::core::ffi::c_long;
17478}
17479unsafe extern "C" {
17480 pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17481}
17482unsafe extern "C" {
17483 pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
17484}
17485unsafe extern "C" {
17486 pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
17487}
17488unsafe extern "C" {
17489 pub fn X509_CRL_get0_by_serial(
17490 crl: *mut X509_CRL,
17491 out: *mut *mut X509_REVOKED,
17492 serial: *const ASN1_INTEGER,
17493 ) -> ::core::ffi::c_int;
17494}
17495unsafe extern "C" {
17496 pub fn X509_CRL_get0_by_cert(
17497 crl: *mut X509_CRL,
17498 out: *mut *mut X509_REVOKED,
17499 x509: *const X509,
17500 ) -> ::core::ffi::c_int;
17501}
17502unsafe extern "C" {
17503 pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
17504}
17505unsafe extern "C" {
17506 pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
17507}
17508unsafe extern "C" {
17509 pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::core::ffi::c_int;
17510}
17511unsafe extern "C" {
17512 pub fn X509_CRL_get_ext_by_NID(
17513 x: *const X509_CRL,
17514 nid: ::core::ffi::c_int,
17515 lastpos: ::core::ffi::c_int,
17516 ) -> ::core::ffi::c_int;
17517}
17518unsafe extern "C" {
17519 pub fn X509_CRL_get_ext_by_OBJ(
17520 x: *const X509_CRL,
17521 obj: *const ASN1_OBJECT,
17522 lastpos: ::core::ffi::c_int,
17523 ) -> ::core::ffi::c_int;
17524}
17525unsafe extern "C" {
17526 pub fn X509_CRL_get_ext_by_critical(
17527 x: *const X509_CRL,
17528 crit: ::core::ffi::c_int,
17529 lastpos: ::core::ffi::c_int,
17530 ) -> ::core::ffi::c_int;
17531}
17532unsafe extern "C" {
17533 pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17534}
17535unsafe extern "C" {
17536 pub fn X509_CRL_get_ext_d2i(
17537 crl: *const X509_CRL,
17538 nid: ::core::ffi::c_int,
17539 out_critical: *mut ::core::ffi::c_int,
17540 out_idx: *mut ::core::ffi::c_int,
17541 ) -> *mut ::core::ffi::c_void;
17542}
17543unsafe extern "C" {
17544 pub fn X509_CRL_get0_signature(
17545 crl: *const X509_CRL,
17546 out_sig: *mut *const ASN1_BIT_STRING,
17547 out_alg: *mut *const X509_ALGOR,
17548 );
17549}
17550unsafe extern "C" {
17551 pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::core::ffi::c_int;
17552}
17553unsafe extern "C" {
17554 pub fn i2d_X509_CRL_tbs(
17555 crl: *const X509_CRL,
17556 outp: *mut *mut ::core::ffi::c_uchar,
17557 ) -> ::core::ffi::c_int;
17558}
17559unsafe extern "C" {
17560 pub fn X509_CRL_verify(crl: *const X509_CRL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17561}
17562unsafe extern "C" {
17563 pub fn X509_CRL_new() -> *mut X509_CRL;
17564}
17565unsafe extern "C" {
17566 pub fn X509_CRL_set_version(
17567 crl: *mut X509_CRL,
17568 version: ::core::ffi::c_long,
17569 ) -> ::core::ffi::c_int;
17570}
17571unsafe extern "C" {
17572 pub fn X509_CRL_set_issuer_name(
17573 crl: *mut X509_CRL,
17574 name: *const X509_NAME,
17575 ) -> ::core::ffi::c_int;
17576}
17577unsafe extern "C" {
17578 pub fn X509_CRL_set1_lastUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17579 -> ::core::ffi::c_int;
17580}
17581unsafe extern "C" {
17582 pub fn X509_CRL_set1_nextUpdate(crl: *mut X509_CRL, tm: *const ASN1_TIME)
17583 -> ::core::ffi::c_int;
17584}
17585unsafe extern "C" {
17586 pub fn X509_CRL_add0_revoked(crl: *mut X509_CRL, rev: *mut X509_REVOKED) -> ::core::ffi::c_int;
17587}
17588unsafe extern "C" {
17589 pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::core::ffi::c_int;
17590}
17591unsafe extern "C" {
17592 pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::core::ffi::c_int) -> *mut X509_EXTENSION;
17593}
17594unsafe extern "C" {
17595 pub fn X509_CRL_add_ext(
17596 x: *mut X509_CRL,
17597 ex: *const X509_EXTENSION,
17598 loc: ::core::ffi::c_int,
17599 ) -> ::core::ffi::c_int;
17600}
17601unsafe extern "C" {
17602 pub fn X509_CRL_add1_ext_i2d(
17603 x: *mut X509_CRL,
17604 nid: ::core::ffi::c_int,
17605 value: *mut ::core::ffi::c_void,
17606 crit: ::core::ffi::c_int,
17607 flags: ::core::ffi::c_ulong,
17608 ) -> ::core::ffi::c_int;
17609}
17610unsafe extern "C" {
17611 pub fn X509_CRL_sign(
17612 crl: *mut X509_CRL,
17613 pkey: *mut EVP_PKEY,
17614 md: *const EVP_MD,
17615 ) -> ::core::ffi::c_int;
17616}
17617unsafe extern "C" {
17618 pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17619}
17620unsafe extern "C" {
17621 pub fn i2d_re_X509_CRL_tbs(
17622 crl: *mut X509_CRL,
17623 outp: *mut *mut ::core::ffi::c_uchar,
17624 ) -> ::core::ffi::c_int;
17625}
17626unsafe extern "C" {
17627 pub fn X509_CRL_set1_signature_algo(
17628 crl: *mut X509_CRL,
17629 algo: *const X509_ALGOR,
17630 ) -> ::core::ffi::c_int;
17631}
17632unsafe extern "C" {
17633 pub fn X509_CRL_set1_signature_value(
17634 crl: *mut X509_CRL,
17635 sig: *const u8,
17636 sig_len: usize,
17637 ) -> ::core::ffi::c_int;
17638}
17639unsafe extern "C" {
17640 pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
17641}
17642unsafe extern "C" {
17643 pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
17644}
17645unsafe extern "C" {
17646 pub fn d2i_X509_REVOKED(
17647 out: *mut *mut X509_REVOKED,
17648 inp: *mut *const u8,
17649 len: ::core::ffi::c_long,
17650 ) -> *mut X509_REVOKED;
17651}
17652unsafe extern "C" {
17653 pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::core::ffi::c_int;
17654}
17655unsafe extern "C" {
17656 pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
17657}
17658unsafe extern "C" {
17659 pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
17660}
17661unsafe extern "C" {
17662 pub fn X509_REVOKED_set_serialNumber(
17663 revoked: *mut X509_REVOKED,
17664 serial: *const ASN1_INTEGER,
17665 ) -> ::core::ffi::c_int;
17666}
17667unsafe extern "C" {
17668 pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
17669}
17670unsafe extern "C" {
17671 pub fn X509_REVOKED_set_revocationDate(
17672 revoked: *mut X509_REVOKED,
17673 tm: *const ASN1_TIME,
17674 ) -> ::core::ffi::c_int;
17675}
17676unsafe extern "C" {
17677 pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
17678}
17679unsafe extern "C" {
17680 pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::core::ffi::c_int;
17681}
17682unsafe extern "C" {
17683 pub fn X509_REVOKED_get_ext_by_NID(
17684 x: *const X509_REVOKED,
17685 nid: ::core::ffi::c_int,
17686 lastpos: ::core::ffi::c_int,
17687 ) -> ::core::ffi::c_int;
17688}
17689unsafe extern "C" {
17690 pub fn X509_REVOKED_get_ext_by_OBJ(
17691 x: *const X509_REVOKED,
17692 obj: *const ASN1_OBJECT,
17693 lastpos: ::core::ffi::c_int,
17694 ) -> ::core::ffi::c_int;
17695}
17696unsafe extern "C" {
17697 pub fn X509_REVOKED_get_ext_by_critical(
17698 x: *const X509_REVOKED,
17699 crit: ::core::ffi::c_int,
17700 lastpos: ::core::ffi::c_int,
17701 ) -> ::core::ffi::c_int;
17702}
17703unsafe extern "C" {
17704 pub fn X509_REVOKED_get_ext(
17705 x: *const X509_REVOKED,
17706 loc: ::core::ffi::c_int,
17707 ) -> *mut X509_EXTENSION;
17708}
17709unsafe extern "C" {
17710 pub fn X509_REVOKED_delete_ext(
17711 x: *mut X509_REVOKED,
17712 loc: ::core::ffi::c_int,
17713 ) -> *mut X509_EXTENSION;
17714}
17715unsafe extern "C" {
17716 pub fn X509_REVOKED_add_ext(
17717 x: *mut X509_REVOKED,
17718 ex: *const X509_EXTENSION,
17719 loc: ::core::ffi::c_int,
17720 ) -> ::core::ffi::c_int;
17721}
17722unsafe extern "C" {
17723 pub fn X509_REVOKED_get_ext_d2i(
17724 revoked: *const X509_REVOKED,
17725 nid: ::core::ffi::c_int,
17726 out_critical: *mut ::core::ffi::c_int,
17727 out_idx: *mut ::core::ffi::c_int,
17728 ) -> *mut ::core::ffi::c_void;
17729}
17730unsafe extern "C" {
17731 pub fn X509_REVOKED_add1_ext_i2d(
17732 x: *mut X509_REVOKED,
17733 nid: ::core::ffi::c_int,
17734 value: *mut ::core::ffi::c_void,
17735 crit: ::core::ffi::c_int,
17736 flags: ::core::ffi::c_ulong,
17737 ) -> ::core::ffi::c_int;
17738}
17739unsafe extern "C" {
17740 pub fn X509_REQ_dup(req: *const X509_REQ) -> *mut X509_REQ;
17741}
17742unsafe extern "C" {
17743 pub fn X509_REQ_free(req: *mut X509_REQ);
17744}
17745unsafe extern "C" {
17746 pub fn d2i_X509_REQ(
17747 out: *mut *mut X509_REQ,
17748 inp: *mut *const u8,
17749 len: ::core::ffi::c_long,
17750 ) -> *mut X509_REQ;
17751}
17752unsafe extern "C" {
17753 pub fn i2d_X509_REQ(req: *const X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17754}
17755unsafe extern "C" {
17756 pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::core::ffi::c_long;
17757}
17758unsafe extern "C" {
17759 pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
17760}
17761unsafe extern "C" {
17762 pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17763}
17764unsafe extern "C" {
17765 pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
17766}
17767unsafe extern "C" {
17768 pub fn X509_REQ_check_private_key(
17769 req: *const X509_REQ,
17770 pkey: *const EVP_PKEY,
17771 ) -> ::core::ffi::c_int;
17772}
17773unsafe extern "C" {
17774 pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::core::ffi::c_int;
17775}
17776unsafe extern "C" {
17777 pub fn X509_REQ_get_attr(req: *const X509_REQ, loc: ::core::ffi::c_int) -> *mut X509_ATTRIBUTE;
17778}
17779unsafe extern "C" {
17780 pub fn X509_REQ_get_attr_by_NID(
17781 req: *const X509_REQ,
17782 nid: ::core::ffi::c_int,
17783 lastpos: ::core::ffi::c_int,
17784 ) -> ::core::ffi::c_int;
17785}
17786unsafe extern "C" {
17787 pub fn X509_REQ_get_attr_by_OBJ(
17788 req: *const X509_REQ,
17789 obj: *const ASN1_OBJECT,
17790 lastpos: ::core::ffi::c_int,
17791 ) -> ::core::ffi::c_int;
17792}
17793unsafe extern "C" {
17794 pub fn X509_REQ_extension_nid(nid: ::core::ffi::c_int) -> ::core::ffi::c_int;
17795}
17796unsafe extern "C" {
17797 pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
17798}
17799unsafe extern "C" {
17800 pub fn X509_REQ_get0_signature(
17801 req: *const X509_REQ,
17802 out_sig: *mut *const ASN1_BIT_STRING,
17803 out_alg: *mut *const X509_ALGOR,
17804 );
17805}
17806unsafe extern "C" {
17807 pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::core::ffi::c_int;
17808}
17809unsafe extern "C" {
17810 pub fn X509_REQ_verify(req: *const X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17811}
17812unsafe extern "C" {
17813 pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
17814}
17815unsafe extern "C" {
17816 pub fn X509_REQ_new() -> *mut X509_REQ;
17817}
17818unsafe extern "C" {
17819 pub fn X509_REQ_set_version(
17820 req: *mut X509_REQ,
17821 version: ::core::ffi::c_long,
17822 ) -> ::core::ffi::c_int;
17823}
17824unsafe extern "C" {
17825 pub fn X509_REQ_set_subject_name(
17826 req: *mut X509_REQ,
17827 name: *mut X509_NAME,
17828 ) -> ::core::ffi::c_int;
17829}
17830unsafe extern "C" {
17831 pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
17832}
17833unsafe extern "C" {
17834 pub fn X509_REQ_delete_attr(req: *mut X509_REQ, loc: ::core::ffi::c_int)
17835 -> *mut X509_ATTRIBUTE;
17836}
17837unsafe extern "C" {
17838 pub fn X509_REQ_add1_attr(
17839 req: *mut X509_REQ,
17840 attr: *const X509_ATTRIBUTE,
17841 ) -> ::core::ffi::c_int;
17842}
17843unsafe extern "C" {
17844 pub fn X509_REQ_add1_attr_by_OBJ(
17845 req: *mut X509_REQ,
17846 obj: *const ASN1_OBJECT,
17847 attrtype: ::core::ffi::c_int,
17848 data: *const ::core::ffi::c_uchar,
17849 len: ::core::ffi::c_int,
17850 ) -> ::core::ffi::c_int;
17851}
17852unsafe extern "C" {
17853 pub fn X509_REQ_add1_attr_by_NID(
17854 req: *mut X509_REQ,
17855 nid: ::core::ffi::c_int,
17856 attrtype: ::core::ffi::c_int,
17857 data: *const ::core::ffi::c_uchar,
17858 len: ::core::ffi::c_int,
17859 ) -> ::core::ffi::c_int;
17860}
17861unsafe extern "C" {
17862 pub fn X509_REQ_add1_attr_by_txt(
17863 req: *mut X509_REQ,
17864 attrname: *const ::core::ffi::c_char,
17865 attrtype: ::core::ffi::c_int,
17866 data: *const ::core::ffi::c_uchar,
17867 len: ::core::ffi::c_int,
17868 ) -> ::core::ffi::c_int;
17869}
17870unsafe extern "C" {
17871 pub fn X509_REQ_add_extensions_nid(
17872 req: *mut X509_REQ,
17873 exts: *const stack_st_X509_EXTENSION,
17874 nid: ::core::ffi::c_int,
17875 ) -> ::core::ffi::c_int;
17876}
17877unsafe extern "C" {
17878 pub fn X509_REQ_add_extensions(
17879 req: *mut X509_REQ,
17880 exts: *const stack_st_X509_EXTENSION,
17881 ) -> ::core::ffi::c_int;
17882}
17883unsafe extern "C" {
17884 pub fn X509_REQ_sign(
17885 req: *mut X509_REQ,
17886 pkey: *mut EVP_PKEY,
17887 md: *const EVP_MD,
17888 ) -> ::core::ffi::c_int;
17889}
17890unsafe extern "C" {
17891 pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::core::ffi::c_int;
17892}
17893unsafe extern "C" {
17894 pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::core::ffi::c_int;
17895}
17896unsafe extern "C" {
17897 pub fn X509_REQ_set1_signature_algo(
17898 req: *mut X509_REQ,
17899 algo: *const X509_ALGOR,
17900 ) -> ::core::ffi::c_int;
17901}
17902unsafe extern "C" {
17903 pub fn X509_REQ_set1_signature_value(
17904 req: *mut X509_REQ,
17905 sig: *const u8,
17906 sig_len: usize,
17907 ) -> ::core::ffi::c_int;
17908}
17909#[repr(C)]
17910#[derive(Debug)]
17911pub struct stack_st_X509_NAME_ENTRY {
17912 _unused: [u8; 0],
17913}
17914pub type sk_X509_NAME_ENTRY_free_func =
17915 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
17916pub type sk_X509_NAME_ENTRY_copy_func = ::core::option::Option<
17917 unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
17918>;
17919pub type sk_X509_NAME_ENTRY_cmp_func = ::core::option::Option<
17920 unsafe extern "C" fn(
17921 arg1: *const *const X509_NAME_ENTRY,
17922 arg2: *const *const X509_NAME_ENTRY,
17923 ) -> ::core::ffi::c_int,
17924>;
17925pub type sk_X509_NAME_ENTRY_delete_if_func = ::core::option::Option<
17926 unsafe extern "C" fn(
17927 arg1: *mut X509_NAME_ENTRY,
17928 arg2: *mut ::core::ffi::c_void,
17929 ) -> ::core::ffi::c_int,
17930>;
17931unsafe extern "C" {
17932 #[link_name = "sk_X509_NAME_ENTRY_call_free_func__extern"]
17933 pub fn sk_X509_NAME_ENTRY_call_free_func(
17934 free_func: OPENSSL_sk_free_func,
17935 ptr: *mut ::core::ffi::c_void,
17936 );
17937}
17938unsafe extern "C" {
17939 #[link_name = "sk_X509_NAME_ENTRY_call_copy_func__extern"]
17940 pub fn sk_X509_NAME_ENTRY_call_copy_func(
17941 copy_func: OPENSSL_sk_copy_func,
17942 ptr: *const ::core::ffi::c_void,
17943 ) -> *mut ::core::ffi::c_void;
17944}
17945unsafe extern "C" {
17946 #[link_name = "sk_X509_NAME_ENTRY_call_cmp_func__extern"]
17947 pub fn sk_X509_NAME_ENTRY_call_cmp_func(
17948 cmp_func: OPENSSL_sk_cmp_func,
17949 a: *const ::core::ffi::c_void,
17950 b: *const ::core::ffi::c_void,
17951 ) -> ::core::ffi::c_int;
17952}
17953unsafe extern "C" {
17954 #[link_name = "sk_X509_NAME_ENTRY_call_delete_if_func__extern"]
17955 pub fn sk_X509_NAME_ENTRY_call_delete_if_func(
17956 func: OPENSSL_sk_delete_if_func,
17957 obj: *mut ::core::ffi::c_void,
17958 data: *mut ::core::ffi::c_void,
17959 ) -> ::core::ffi::c_int;
17960}
17961unsafe extern "C" {
17962 #[link_name = "sk_X509_NAME_ENTRY_new__extern"]
17963 pub fn sk_X509_NAME_ENTRY_new(
17964 comp: sk_X509_NAME_ENTRY_cmp_func,
17965 ) -> *mut stack_st_X509_NAME_ENTRY;
17966}
17967unsafe extern "C" {
17968 #[link_name = "sk_X509_NAME_ENTRY_new_null__extern"]
17969 pub fn sk_X509_NAME_ENTRY_new_null() -> *mut stack_st_X509_NAME_ENTRY;
17970}
17971unsafe extern "C" {
17972 #[link_name = "sk_X509_NAME_ENTRY_num__extern"]
17973 pub fn sk_X509_NAME_ENTRY_num(sk: *const stack_st_X509_NAME_ENTRY) -> usize;
17974}
17975unsafe extern "C" {
17976 #[link_name = "sk_X509_NAME_ENTRY_zero__extern"]
17977 pub fn sk_X509_NAME_ENTRY_zero(sk: *mut stack_st_X509_NAME_ENTRY);
17978}
17979unsafe extern "C" {
17980 #[link_name = "sk_X509_NAME_ENTRY_value__extern"]
17981 pub fn sk_X509_NAME_ENTRY_value(
17982 sk: *const stack_st_X509_NAME_ENTRY,
17983 i: usize,
17984 ) -> *mut X509_NAME_ENTRY;
17985}
17986unsafe extern "C" {
17987 #[link_name = "sk_X509_NAME_ENTRY_last__extern"]
17988 pub fn sk_X509_NAME_ENTRY_last(sk: *const stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
17989}
17990unsafe extern "C" {
17991 #[link_name = "sk_X509_NAME_ENTRY_set__extern"]
17992 pub fn sk_X509_NAME_ENTRY_set(
17993 sk: *mut stack_st_X509_NAME_ENTRY,
17994 i: usize,
17995 p: *mut X509_NAME_ENTRY,
17996 ) -> *mut X509_NAME_ENTRY;
17997}
17998unsafe extern "C" {
17999 #[link_name = "sk_X509_NAME_ENTRY_free__extern"]
18000 pub fn sk_X509_NAME_ENTRY_free(sk: *mut stack_st_X509_NAME_ENTRY);
18001}
18002unsafe extern "C" {
18003 #[link_name = "sk_X509_NAME_ENTRY_pop_free__extern"]
18004 pub fn sk_X509_NAME_ENTRY_pop_free(
18005 sk: *mut stack_st_X509_NAME_ENTRY,
18006 free_func: sk_X509_NAME_ENTRY_free_func,
18007 );
18008}
18009unsafe extern "C" {
18010 #[link_name = "sk_X509_NAME_ENTRY_insert__extern"]
18011 pub fn sk_X509_NAME_ENTRY_insert(
18012 sk: *mut stack_st_X509_NAME_ENTRY,
18013 p: *mut X509_NAME_ENTRY,
18014 where_: usize,
18015 ) -> usize;
18016}
18017unsafe extern "C" {
18018 #[link_name = "sk_X509_NAME_ENTRY_delete__extern"]
18019 pub fn sk_X509_NAME_ENTRY_delete(
18020 sk: *mut stack_st_X509_NAME_ENTRY,
18021 where_: usize,
18022 ) -> *mut X509_NAME_ENTRY;
18023}
18024unsafe extern "C" {
18025 #[link_name = "sk_X509_NAME_ENTRY_delete_ptr__extern"]
18026 pub fn sk_X509_NAME_ENTRY_delete_ptr(
18027 sk: *mut stack_st_X509_NAME_ENTRY,
18028 p: *const X509_NAME_ENTRY,
18029 ) -> *mut X509_NAME_ENTRY;
18030}
18031unsafe extern "C" {
18032 #[link_name = "sk_X509_NAME_ENTRY_delete_if__extern"]
18033 pub fn sk_X509_NAME_ENTRY_delete_if(
18034 sk: *mut stack_st_X509_NAME_ENTRY,
18035 func: sk_X509_NAME_ENTRY_delete_if_func,
18036 data: *mut ::core::ffi::c_void,
18037 );
18038}
18039unsafe extern "C" {
18040 #[link_name = "sk_X509_NAME_ENTRY_find__extern"]
18041 pub fn sk_X509_NAME_ENTRY_find(
18042 sk: *const stack_st_X509_NAME_ENTRY,
18043 out_index: *mut usize,
18044 p: *const X509_NAME_ENTRY,
18045 ) -> ::core::ffi::c_int;
18046}
18047unsafe extern "C" {
18048 #[link_name = "sk_X509_NAME_ENTRY_shift__extern"]
18049 pub fn sk_X509_NAME_ENTRY_shift(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
18050}
18051unsafe extern "C" {
18052 #[link_name = "sk_X509_NAME_ENTRY_push__extern"]
18053 pub fn sk_X509_NAME_ENTRY_push(
18054 sk: *mut stack_st_X509_NAME_ENTRY,
18055 p: *mut X509_NAME_ENTRY,
18056 ) -> usize;
18057}
18058unsafe extern "C" {
18059 #[link_name = "sk_X509_NAME_ENTRY_pop__extern"]
18060 pub fn sk_X509_NAME_ENTRY_pop(sk: *mut stack_st_X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
18061}
18062unsafe extern "C" {
18063 #[link_name = "sk_X509_NAME_ENTRY_dup__extern"]
18064 pub fn sk_X509_NAME_ENTRY_dup(
18065 sk: *const stack_st_X509_NAME_ENTRY,
18066 ) -> *mut stack_st_X509_NAME_ENTRY;
18067}
18068unsafe extern "C" {
18069 #[link_name = "sk_X509_NAME_ENTRY_sort__extern"]
18070 pub fn sk_X509_NAME_ENTRY_sort(sk: *mut stack_st_X509_NAME_ENTRY);
18071}
18072unsafe extern "C" {
18073 #[link_name = "sk_X509_NAME_ENTRY_sort_and_dedup__extern"]
18074 pub fn sk_X509_NAME_ENTRY_sort_and_dedup(
18075 sk: *mut stack_st_X509_NAME_ENTRY,
18076 free_func: sk_X509_NAME_ENTRY_free_func,
18077 );
18078}
18079unsafe extern "C" {
18080 #[link_name = "sk_X509_NAME_ENTRY_is_sorted__extern"]
18081 pub fn sk_X509_NAME_ENTRY_is_sorted(sk: *const stack_st_X509_NAME_ENTRY) -> ::core::ffi::c_int;
18082}
18083unsafe extern "C" {
18084 #[link_name = "sk_X509_NAME_ENTRY_set_cmp_func__extern"]
18085 pub fn sk_X509_NAME_ENTRY_set_cmp_func(
18086 sk: *mut stack_st_X509_NAME_ENTRY,
18087 comp: sk_X509_NAME_ENTRY_cmp_func,
18088 ) -> sk_X509_NAME_ENTRY_cmp_func;
18089}
18090unsafe extern "C" {
18091 #[link_name = "sk_X509_NAME_ENTRY_deep_copy__extern"]
18092 pub fn sk_X509_NAME_ENTRY_deep_copy(
18093 sk: *const stack_st_X509_NAME_ENTRY,
18094 copy_func: sk_X509_NAME_ENTRY_copy_func,
18095 free_func: sk_X509_NAME_ENTRY_free_func,
18096 ) -> *mut stack_st_X509_NAME_ENTRY;
18097}
18098#[repr(C)]
18099#[derive(Debug)]
18100pub struct stack_st_X509_NAME {
18101 _unused: [u8; 0],
18102}
18103pub type sk_X509_NAME_free_func =
18104 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
18105pub type sk_X509_NAME_copy_func =
18106 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
18107pub type sk_X509_NAME_cmp_func = ::core::option::Option<
18108 unsafe extern "C" fn(
18109 arg1: *const *const X509_NAME,
18110 arg2: *const *const X509_NAME,
18111 ) -> ::core::ffi::c_int,
18112>;
18113pub type sk_X509_NAME_delete_if_func = ::core::option::Option<
18114 unsafe extern "C" fn(
18115 arg1: *mut X509_NAME,
18116 arg2: *mut ::core::ffi::c_void,
18117 ) -> ::core::ffi::c_int,
18118>;
18119unsafe extern "C" {
18120 #[link_name = "sk_X509_NAME_call_free_func__extern"]
18121 pub fn sk_X509_NAME_call_free_func(
18122 free_func: OPENSSL_sk_free_func,
18123 ptr: *mut ::core::ffi::c_void,
18124 );
18125}
18126unsafe extern "C" {
18127 #[link_name = "sk_X509_NAME_call_copy_func__extern"]
18128 pub fn sk_X509_NAME_call_copy_func(
18129 copy_func: OPENSSL_sk_copy_func,
18130 ptr: *const ::core::ffi::c_void,
18131 ) -> *mut ::core::ffi::c_void;
18132}
18133unsafe extern "C" {
18134 #[link_name = "sk_X509_NAME_call_cmp_func__extern"]
18135 pub fn sk_X509_NAME_call_cmp_func(
18136 cmp_func: OPENSSL_sk_cmp_func,
18137 a: *const ::core::ffi::c_void,
18138 b: *const ::core::ffi::c_void,
18139 ) -> ::core::ffi::c_int;
18140}
18141unsafe extern "C" {
18142 #[link_name = "sk_X509_NAME_call_delete_if_func__extern"]
18143 pub fn sk_X509_NAME_call_delete_if_func(
18144 func: OPENSSL_sk_delete_if_func,
18145 obj: *mut ::core::ffi::c_void,
18146 data: *mut ::core::ffi::c_void,
18147 ) -> ::core::ffi::c_int;
18148}
18149unsafe extern "C" {
18150 #[link_name = "sk_X509_NAME_new__extern"]
18151 pub fn sk_X509_NAME_new(comp: sk_X509_NAME_cmp_func) -> *mut stack_st_X509_NAME;
18152}
18153unsafe extern "C" {
18154 #[link_name = "sk_X509_NAME_new_null__extern"]
18155 pub fn sk_X509_NAME_new_null() -> *mut stack_st_X509_NAME;
18156}
18157unsafe extern "C" {
18158 #[link_name = "sk_X509_NAME_num__extern"]
18159 pub fn sk_X509_NAME_num(sk: *const stack_st_X509_NAME) -> usize;
18160}
18161unsafe extern "C" {
18162 #[link_name = "sk_X509_NAME_zero__extern"]
18163 pub fn sk_X509_NAME_zero(sk: *mut stack_st_X509_NAME);
18164}
18165unsafe extern "C" {
18166 #[link_name = "sk_X509_NAME_value__extern"]
18167 pub fn sk_X509_NAME_value(sk: *const stack_st_X509_NAME, i: usize) -> *mut X509_NAME;
18168}
18169unsafe extern "C" {
18170 #[link_name = "sk_X509_NAME_last__extern"]
18171 pub fn sk_X509_NAME_last(sk: *const stack_st_X509_NAME) -> *mut X509_NAME;
18172}
18173unsafe extern "C" {
18174 #[link_name = "sk_X509_NAME_set__extern"]
18175 pub fn sk_X509_NAME_set(
18176 sk: *mut stack_st_X509_NAME,
18177 i: usize,
18178 p: *mut X509_NAME,
18179 ) -> *mut X509_NAME;
18180}
18181unsafe extern "C" {
18182 #[link_name = "sk_X509_NAME_free__extern"]
18183 pub fn sk_X509_NAME_free(sk: *mut stack_st_X509_NAME);
18184}
18185unsafe extern "C" {
18186 #[link_name = "sk_X509_NAME_pop_free__extern"]
18187 pub fn sk_X509_NAME_pop_free(sk: *mut stack_st_X509_NAME, free_func: sk_X509_NAME_free_func);
18188}
18189unsafe extern "C" {
18190 #[link_name = "sk_X509_NAME_insert__extern"]
18191 pub fn sk_X509_NAME_insert(
18192 sk: *mut stack_st_X509_NAME,
18193 p: *mut X509_NAME,
18194 where_: usize,
18195 ) -> usize;
18196}
18197unsafe extern "C" {
18198 #[link_name = "sk_X509_NAME_delete__extern"]
18199 pub fn sk_X509_NAME_delete(sk: *mut stack_st_X509_NAME, where_: usize) -> *mut X509_NAME;
18200}
18201unsafe extern "C" {
18202 #[link_name = "sk_X509_NAME_delete_ptr__extern"]
18203 pub fn sk_X509_NAME_delete_ptr(
18204 sk: *mut stack_st_X509_NAME,
18205 p: *const X509_NAME,
18206 ) -> *mut X509_NAME;
18207}
18208unsafe extern "C" {
18209 #[link_name = "sk_X509_NAME_delete_if__extern"]
18210 pub fn sk_X509_NAME_delete_if(
18211 sk: *mut stack_st_X509_NAME,
18212 func: sk_X509_NAME_delete_if_func,
18213 data: *mut ::core::ffi::c_void,
18214 );
18215}
18216unsafe extern "C" {
18217 #[link_name = "sk_X509_NAME_find__extern"]
18218 pub fn sk_X509_NAME_find(
18219 sk: *const stack_st_X509_NAME,
18220 out_index: *mut usize,
18221 p: *const X509_NAME,
18222 ) -> ::core::ffi::c_int;
18223}
18224unsafe extern "C" {
18225 #[link_name = "sk_X509_NAME_shift__extern"]
18226 pub fn sk_X509_NAME_shift(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18227}
18228unsafe extern "C" {
18229 #[link_name = "sk_X509_NAME_push__extern"]
18230 pub fn sk_X509_NAME_push(sk: *mut stack_st_X509_NAME, p: *mut X509_NAME) -> usize;
18231}
18232unsafe extern "C" {
18233 #[link_name = "sk_X509_NAME_pop__extern"]
18234 pub fn sk_X509_NAME_pop(sk: *mut stack_st_X509_NAME) -> *mut X509_NAME;
18235}
18236unsafe extern "C" {
18237 #[link_name = "sk_X509_NAME_dup__extern"]
18238 pub fn sk_X509_NAME_dup(sk: *const stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
18239}
18240unsafe extern "C" {
18241 #[link_name = "sk_X509_NAME_sort__extern"]
18242 pub fn sk_X509_NAME_sort(sk: *mut stack_st_X509_NAME);
18243}
18244unsafe extern "C" {
18245 #[link_name = "sk_X509_NAME_sort_and_dedup__extern"]
18246 pub fn sk_X509_NAME_sort_and_dedup(
18247 sk: *mut stack_st_X509_NAME,
18248 free_func: sk_X509_NAME_free_func,
18249 );
18250}
18251unsafe extern "C" {
18252 #[link_name = "sk_X509_NAME_is_sorted__extern"]
18253 pub fn sk_X509_NAME_is_sorted(sk: *const stack_st_X509_NAME) -> ::core::ffi::c_int;
18254}
18255unsafe extern "C" {
18256 #[link_name = "sk_X509_NAME_set_cmp_func__extern"]
18257 pub fn sk_X509_NAME_set_cmp_func(
18258 sk: *mut stack_st_X509_NAME,
18259 comp: sk_X509_NAME_cmp_func,
18260 ) -> sk_X509_NAME_cmp_func;
18261}
18262unsafe extern "C" {
18263 #[link_name = "sk_X509_NAME_deep_copy__extern"]
18264 pub fn sk_X509_NAME_deep_copy(
18265 sk: *const stack_st_X509_NAME,
18266 copy_func: sk_X509_NAME_copy_func,
18267 free_func: sk_X509_NAME_free_func,
18268 ) -> *mut stack_st_X509_NAME;
18269}
18270unsafe extern "C" {
18271 pub static X509_NAME_it: ASN1_ITEM;
18272}
18273unsafe extern "C" {
18274 pub fn X509_NAME_new() -> *mut X509_NAME;
18275}
18276unsafe extern "C" {
18277 pub fn X509_NAME_free(name: *mut X509_NAME);
18278}
18279unsafe extern "C" {
18280 pub fn d2i_X509_NAME(
18281 out: *mut *mut X509_NAME,
18282 inp: *mut *const u8,
18283 len: ::core::ffi::c_long,
18284 ) -> *mut X509_NAME;
18285}
18286unsafe extern "C" {
18287 pub fn i2d_X509_NAME(in_: *const X509_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18288}
18289unsafe extern "C" {
18290 pub fn X509_NAME_dup(name: *const X509_NAME) -> *mut X509_NAME;
18291}
18292unsafe extern "C" {
18293 pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::core::ffi::c_int;
18294}
18295unsafe extern "C" {
18296 pub fn X509_NAME_get0_der(
18297 name: *const X509_NAME,
18298 out_der: *mut *const u8,
18299 out_der_len: *mut usize,
18300 ) -> ::core::ffi::c_int;
18301}
18302unsafe extern "C" {
18303 pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *const X509_NAME) -> ::core::ffi::c_int;
18304}
18305unsafe extern "C" {
18306 pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::core::ffi::c_int;
18307}
18308unsafe extern "C" {
18309 pub fn X509_NAME_get_index_by_NID(
18310 name: *const X509_NAME,
18311 nid: ::core::ffi::c_int,
18312 lastpos: ::core::ffi::c_int,
18313 ) -> ::core::ffi::c_int;
18314}
18315unsafe extern "C" {
18316 pub fn X509_NAME_get_index_by_OBJ(
18317 name: *const X509_NAME,
18318 obj: *const ASN1_OBJECT,
18319 lastpos: ::core::ffi::c_int,
18320 ) -> ::core::ffi::c_int;
18321}
18322unsafe extern "C" {
18323 pub fn X509_NAME_get_entry(
18324 name: *const X509_NAME,
18325 loc: ::core::ffi::c_int,
18326 ) -> *mut X509_NAME_ENTRY;
18327}
18328unsafe extern "C" {
18329 pub fn X509_NAME_delete_entry(
18330 name: *mut X509_NAME,
18331 loc: ::core::ffi::c_int,
18332 ) -> *mut X509_NAME_ENTRY;
18333}
18334unsafe extern "C" {
18335 pub fn X509_NAME_add_entry(
18336 name: *mut X509_NAME,
18337 entry: *const X509_NAME_ENTRY,
18338 loc: ::core::ffi::c_int,
18339 set: ::core::ffi::c_int,
18340 ) -> ::core::ffi::c_int;
18341}
18342unsafe extern "C" {
18343 pub fn X509_NAME_add_entry_by_OBJ(
18344 name: *mut X509_NAME,
18345 obj: *const ASN1_OBJECT,
18346 type_: ::core::ffi::c_int,
18347 bytes: *const u8,
18348 len: ossl_ssize_t,
18349 loc: ::core::ffi::c_int,
18350 set: ::core::ffi::c_int,
18351 ) -> ::core::ffi::c_int;
18352}
18353unsafe extern "C" {
18354 pub fn X509_NAME_add_entry_by_NID(
18355 name: *mut X509_NAME,
18356 nid: ::core::ffi::c_int,
18357 type_: ::core::ffi::c_int,
18358 bytes: *const u8,
18359 len: ossl_ssize_t,
18360 loc: ::core::ffi::c_int,
18361 set: ::core::ffi::c_int,
18362 ) -> ::core::ffi::c_int;
18363}
18364unsafe extern "C" {
18365 pub fn X509_NAME_add_entry_by_txt(
18366 name: *mut X509_NAME,
18367 field: *const ::core::ffi::c_char,
18368 type_: ::core::ffi::c_int,
18369 bytes: *const u8,
18370 len: ossl_ssize_t,
18371 loc: ::core::ffi::c_int,
18372 set: ::core::ffi::c_int,
18373 ) -> ::core::ffi::c_int;
18374}
18375unsafe extern "C" {
18376 pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
18377}
18378unsafe extern "C" {
18379 pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
18380}
18381unsafe extern "C" {
18382 pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
18383}
18384unsafe extern "C" {
18385 pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
18386}
18387unsafe extern "C" {
18388 pub fn X509_NAME_ENTRY_set_object(
18389 entry: *mut X509_NAME_ENTRY,
18390 obj: *const ASN1_OBJECT,
18391 ) -> ::core::ffi::c_int;
18392}
18393unsafe extern "C" {
18394 pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
18395}
18396unsafe extern "C" {
18397 pub fn X509_NAME_ENTRY_set_data(
18398 entry: *mut X509_NAME_ENTRY,
18399 type_: ::core::ffi::c_int,
18400 bytes: *const u8,
18401 len: ossl_ssize_t,
18402 ) -> ::core::ffi::c_int;
18403}
18404unsafe extern "C" {
18405 pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::core::ffi::c_int;
18406}
18407unsafe extern "C" {
18408 pub fn X509_NAME_ENTRY_create_by_OBJ(
18409 out: *mut *mut X509_NAME_ENTRY,
18410 obj: *const ASN1_OBJECT,
18411 type_: ::core::ffi::c_int,
18412 bytes: *const u8,
18413 len: ossl_ssize_t,
18414 ) -> *mut X509_NAME_ENTRY;
18415}
18416unsafe extern "C" {
18417 pub fn X509_NAME_ENTRY_create_by_NID(
18418 out: *mut *mut X509_NAME_ENTRY,
18419 nid: ::core::ffi::c_int,
18420 type_: ::core::ffi::c_int,
18421 bytes: *const u8,
18422 len: ossl_ssize_t,
18423 ) -> *mut X509_NAME_ENTRY;
18424}
18425unsafe extern "C" {
18426 pub fn X509_NAME_ENTRY_create_by_txt(
18427 out: *mut *mut X509_NAME_ENTRY,
18428 field: *const ::core::ffi::c_char,
18429 type_: ::core::ffi::c_int,
18430 bytes: *const u8,
18431 len: ossl_ssize_t,
18432 ) -> *mut X509_NAME_ENTRY;
18433}
18434unsafe extern "C" {
18435 pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
18436}
18437unsafe extern "C" {
18438 pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
18439}
18440unsafe extern "C" {
18441 pub fn d2i_X509_PUBKEY(
18442 out: *mut *mut X509_PUBKEY,
18443 inp: *mut *const u8,
18444 len: ::core::ffi::c_long,
18445 ) -> *mut X509_PUBKEY;
18446}
18447unsafe extern "C" {
18448 pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::core::ffi::c_int;
18449}
18450unsafe extern "C" {
18451 pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
18452}
18453unsafe extern "C" {
18454 pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18455}
18456unsafe extern "C" {
18457 pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
18458}
18459unsafe extern "C" {
18460 pub fn X509_PUBKEY_set0_param(
18461 pub_: *mut X509_PUBKEY,
18462 obj: *mut ASN1_OBJECT,
18463 param_type: ::core::ffi::c_int,
18464 param_value: *mut ::core::ffi::c_void,
18465 key: *mut u8,
18466 key_len: ::core::ffi::c_int,
18467 ) -> ::core::ffi::c_int;
18468}
18469unsafe extern "C" {
18470 pub fn X509_PUBKEY_get0_param(
18471 out_obj: *mut *mut ASN1_OBJECT,
18472 out_key: *mut *const u8,
18473 out_key_len: *mut ::core::ffi::c_int,
18474 out_alg: *mut *mut X509_ALGOR,
18475 pub_: *mut X509_PUBKEY,
18476 ) -> ::core::ffi::c_int;
18477}
18478unsafe extern "C" {
18479 pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
18480}
18481unsafe extern "C" {
18482 pub static X509_EXTENSION_it: ASN1_ITEM;
18483}
18484unsafe extern "C" {
18485 pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
18486}
18487unsafe extern "C" {
18488 pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
18489}
18490unsafe extern "C" {
18491 pub fn d2i_X509_EXTENSION(
18492 out: *mut *mut X509_EXTENSION,
18493 inp: *mut *const u8,
18494 len: ::core::ffi::c_long,
18495 ) -> *mut X509_EXTENSION;
18496}
18497unsafe extern "C" {
18498 pub fn i2d_X509_EXTENSION(ex: *const X509_EXTENSION, outp: *mut *mut u8) -> ::core::ffi::c_int;
18499}
18500unsafe extern "C" {
18501 pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
18502}
18503unsafe extern "C" {
18504 pub fn X509_EXTENSION_create_by_NID(
18505 ex: *mut *mut X509_EXTENSION,
18506 nid: ::core::ffi::c_int,
18507 crit: ::core::ffi::c_int,
18508 data: *const ASN1_OCTET_STRING,
18509 ) -> *mut X509_EXTENSION;
18510}
18511unsafe extern "C" {
18512 pub fn X509_EXTENSION_create_by_OBJ(
18513 ex: *mut *mut X509_EXTENSION,
18514 obj: *const ASN1_OBJECT,
18515 crit: ::core::ffi::c_int,
18516 data: *const ASN1_OCTET_STRING,
18517 ) -> *mut X509_EXTENSION;
18518}
18519unsafe extern "C" {
18520 pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
18521}
18522unsafe extern "C" {
18523 pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
18524}
18525unsafe extern "C" {
18526 pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
18527}
18528unsafe extern "C" {
18529 pub fn X509_EXTENSION_set_object(
18530 ex: *mut X509_EXTENSION,
18531 obj: *const ASN1_OBJECT,
18532 ) -> ::core::ffi::c_int;
18533}
18534unsafe extern "C" {
18535 pub fn X509_EXTENSION_set_critical(
18536 ex: *mut X509_EXTENSION,
18537 crit: ::core::ffi::c_int,
18538 ) -> ::core::ffi::c_int;
18539}
18540unsafe extern "C" {
18541 pub fn X509_EXTENSION_set_data(
18542 ex: *mut X509_EXTENSION,
18543 data: *const ASN1_OCTET_STRING,
18544 ) -> ::core::ffi::c_int;
18545}
18546pub type sk_X509_EXTENSION_free_func =
18547 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
18548pub type sk_X509_EXTENSION_copy_func = ::core::option::Option<
18549 unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION,
18550>;
18551pub type sk_X509_EXTENSION_cmp_func = ::core::option::Option<
18552 unsafe extern "C" fn(
18553 arg1: *const *const X509_EXTENSION,
18554 arg2: *const *const X509_EXTENSION,
18555 ) -> ::core::ffi::c_int,
18556>;
18557pub type sk_X509_EXTENSION_delete_if_func = ::core::option::Option<
18558 unsafe extern "C" fn(
18559 arg1: *mut X509_EXTENSION,
18560 arg2: *mut ::core::ffi::c_void,
18561 ) -> ::core::ffi::c_int,
18562>;
18563unsafe extern "C" {
18564 #[link_name = "sk_X509_EXTENSION_call_free_func__extern"]
18565 pub fn sk_X509_EXTENSION_call_free_func(
18566 free_func: OPENSSL_sk_free_func,
18567 ptr: *mut ::core::ffi::c_void,
18568 );
18569}
18570unsafe extern "C" {
18571 #[link_name = "sk_X509_EXTENSION_call_copy_func__extern"]
18572 pub fn sk_X509_EXTENSION_call_copy_func(
18573 copy_func: OPENSSL_sk_copy_func,
18574 ptr: *const ::core::ffi::c_void,
18575 ) -> *mut ::core::ffi::c_void;
18576}
18577unsafe extern "C" {
18578 #[link_name = "sk_X509_EXTENSION_call_cmp_func__extern"]
18579 pub fn sk_X509_EXTENSION_call_cmp_func(
18580 cmp_func: OPENSSL_sk_cmp_func,
18581 a: *const ::core::ffi::c_void,
18582 b: *const ::core::ffi::c_void,
18583 ) -> ::core::ffi::c_int;
18584}
18585unsafe extern "C" {
18586 #[link_name = "sk_X509_EXTENSION_call_delete_if_func__extern"]
18587 pub fn sk_X509_EXTENSION_call_delete_if_func(
18588 func: OPENSSL_sk_delete_if_func,
18589 obj: *mut ::core::ffi::c_void,
18590 data: *mut ::core::ffi::c_void,
18591 ) -> ::core::ffi::c_int;
18592}
18593unsafe extern "C" {
18594 #[link_name = "sk_X509_EXTENSION_new__extern"]
18595 pub fn sk_X509_EXTENSION_new(comp: sk_X509_EXTENSION_cmp_func) -> *mut stack_st_X509_EXTENSION;
18596}
18597unsafe extern "C" {
18598 #[link_name = "sk_X509_EXTENSION_new_null__extern"]
18599 pub fn sk_X509_EXTENSION_new_null() -> *mut stack_st_X509_EXTENSION;
18600}
18601unsafe extern "C" {
18602 #[link_name = "sk_X509_EXTENSION_num__extern"]
18603 pub fn sk_X509_EXTENSION_num(sk: *const stack_st_X509_EXTENSION) -> usize;
18604}
18605unsafe extern "C" {
18606 #[link_name = "sk_X509_EXTENSION_zero__extern"]
18607 pub fn sk_X509_EXTENSION_zero(sk: *mut stack_st_X509_EXTENSION);
18608}
18609unsafe extern "C" {
18610 #[link_name = "sk_X509_EXTENSION_value__extern"]
18611 pub fn sk_X509_EXTENSION_value(
18612 sk: *const stack_st_X509_EXTENSION,
18613 i: usize,
18614 ) -> *mut X509_EXTENSION;
18615}
18616unsafe extern "C" {
18617 #[link_name = "sk_X509_EXTENSION_last__extern"]
18618 pub fn sk_X509_EXTENSION_last(sk: *const stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18619}
18620unsafe extern "C" {
18621 #[link_name = "sk_X509_EXTENSION_set__extern"]
18622 pub fn sk_X509_EXTENSION_set(
18623 sk: *mut stack_st_X509_EXTENSION,
18624 i: usize,
18625 p: *mut X509_EXTENSION,
18626 ) -> *mut X509_EXTENSION;
18627}
18628unsafe extern "C" {
18629 #[link_name = "sk_X509_EXTENSION_free__extern"]
18630 pub fn sk_X509_EXTENSION_free(sk: *mut stack_st_X509_EXTENSION);
18631}
18632unsafe extern "C" {
18633 #[link_name = "sk_X509_EXTENSION_pop_free__extern"]
18634 pub fn sk_X509_EXTENSION_pop_free(
18635 sk: *mut stack_st_X509_EXTENSION,
18636 free_func: sk_X509_EXTENSION_free_func,
18637 );
18638}
18639unsafe extern "C" {
18640 #[link_name = "sk_X509_EXTENSION_insert__extern"]
18641 pub fn sk_X509_EXTENSION_insert(
18642 sk: *mut stack_st_X509_EXTENSION,
18643 p: *mut X509_EXTENSION,
18644 where_: usize,
18645 ) -> usize;
18646}
18647unsafe extern "C" {
18648 #[link_name = "sk_X509_EXTENSION_delete__extern"]
18649 pub fn sk_X509_EXTENSION_delete(
18650 sk: *mut stack_st_X509_EXTENSION,
18651 where_: usize,
18652 ) -> *mut X509_EXTENSION;
18653}
18654unsafe extern "C" {
18655 #[link_name = "sk_X509_EXTENSION_delete_ptr__extern"]
18656 pub fn sk_X509_EXTENSION_delete_ptr(
18657 sk: *mut stack_st_X509_EXTENSION,
18658 p: *const X509_EXTENSION,
18659 ) -> *mut X509_EXTENSION;
18660}
18661unsafe extern "C" {
18662 #[link_name = "sk_X509_EXTENSION_delete_if__extern"]
18663 pub fn sk_X509_EXTENSION_delete_if(
18664 sk: *mut stack_st_X509_EXTENSION,
18665 func: sk_X509_EXTENSION_delete_if_func,
18666 data: *mut ::core::ffi::c_void,
18667 );
18668}
18669unsafe extern "C" {
18670 #[link_name = "sk_X509_EXTENSION_find__extern"]
18671 pub fn sk_X509_EXTENSION_find(
18672 sk: *const stack_st_X509_EXTENSION,
18673 out_index: *mut usize,
18674 p: *const X509_EXTENSION,
18675 ) -> ::core::ffi::c_int;
18676}
18677unsafe extern "C" {
18678 #[link_name = "sk_X509_EXTENSION_shift__extern"]
18679 pub fn sk_X509_EXTENSION_shift(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18680}
18681unsafe extern "C" {
18682 #[link_name = "sk_X509_EXTENSION_push__extern"]
18683 pub fn sk_X509_EXTENSION_push(
18684 sk: *mut stack_st_X509_EXTENSION,
18685 p: *mut X509_EXTENSION,
18686 ) -> usize;
18687}
18688unsafe extern "C" {
18689 #[link_name = "sk_X509_EXTENSION_pop__extern"]
18690 pub fn sk_X509_EXTENSION_pop(sk: *mut stack_st_X509_EXTENSION) -> *mut X509_EXTENSION;
18691}
18692unsafe extern "C" {
18693 #[link_name = "sk_X509_EXTENSION_dup__extern"]
18694 pub fn sk_X509_EXTENSION_dup(
18695 sk: *const stack_st_X509_EXTENSION,
18696 ) -> *mut stack_st_X509_EXTENSION;
18697}
18698unsafe extern "C" {
18699 #[link_name = "sk_X509_EXTENSION_sort__extern"]
18700 pub fn sk_X509_EXTENSION_sort(sk: *mut stack_st_X509_EXTENSION);
18701}
18702unsafe extern "C" {
18703 #[link_name = "sk_X509_EXTENSION_sort_and_dedup__extern"]
18704 pub fn sk_X509_EXTENSION_sort_and_dedup(
18705 sk: *mut stack_st_X509_EXTENSION,
18706 free_func: sk_X509_EXTENSION_free_func,
18707 );
18708}
18709unsafe extern "C" {
18710 #[link_name = "sk_X509_EXTENSION_is_sorted__extern"]
18711 pub fn sk_X509_EXTENSION_is_sorted(sk: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18712}
18713unsafe extern "C" {
18714 #[link_name = "sk_X509_EXTENSION_set_cmp_func__extern"]
18715 pub fn sk_X509_EXTENSION_set_cmp_func(
18716 sk: *mut stack_st_X509_EXTENSION,
18717 comp: sk_X509_EXTENSION_cmp_func,
18718 ) -> sk_X509_EXTENSION_cmp_func;
18719}
18720unsafe extern "C" {
18721 #[link_name = "sk_X509_EXTENSION_deep_copy__extern"]
18722 pub fn sk_X509_EXTENSION_deep_copy(
18723 sk: *const stack_st_X509_EXTENSION,
18724 copy_func: sk_X509_EXTENSION_copy_func,
18725 free_func: sk_X509_EXTENSION_free_func,
18726 ) -> *mut stack_st_X509_EXTENSION;
18727}
18728pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
18729unsafe extern "C" {
18730 pub fn d2i_X509_EXTENSIONS(
18731 out: *mut *mut X509_EXTENSIONS,
18732 inp: *mut *const u8,
18733 len: ::core::ffi::c_long,
18734 ) -> *mut X509_EXTENSIONS;
18735}
18736unsafe extern "C" {
18737 pub fn i2d_X509_EXTENSIONS(
18738 alg: *const X509_EXTENSIONS,
18739 outp: *mut *mut u8,
18740 ) -> ::core::ffi::c_int;
18741}
18742unsafe extern "C" {
18743 pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::core::ffi::c_int;
18744}
18745unsafe extern "C" {
18746 pub fn X509v3_get_ext_by_NID(
18747 x: *const stack_st_X509_EXTENSION,
18748 nid: ::core::ffi::c_int,
18749 lastpos: ::core::ffi::c_int,
18750 ) -> ::core::ffi::c_int;
18751}
18752unsafe extern "C" {
18753 pub fn X509v3_get_ext_by_OBJ(
18754 x: *const stack_st_X509_EXTENSION,
18755 obj: *const ASN1_OBJECT,
18756 lastpos: ::core::ffi::c_int,
18757 ) -> ::core::ffi::c_int;
18758}
18759unsafe extern "C" {
18760 pub fn X509v3_get_ext_by_critical(
18761 x: *const stack_st_X509_EXTENSION,
18762 crit: ::core::ffi::c_int,
18763 lastpos: ::core::ffi::c_int,
18764 ) -> ::core::ffi::c_int;
18765}
18766unsafe extern "C" {
18767 pub fn X509v3_get_ext(
18768 x: *const stack_st_X509_EXTENSION,
18769 loc: ::core::ffi::c_int,
18770 ) -> *mut X509_EXTENSION;
18771}
18772unsafe extern "C" {
18773 pub fn X509v3_delete_ext(
18774 x: *mut stack_st_X509_EXTENSION,
18775 loc: ::core::ffi::c_int,
18776 ) -> *mut X509_EXTENSION;
18777}
18778unsafe extern "C" {
18779 pub fn X509v3_add_ext(
18780 x: *mut *mut stack_st_X509_EXTENSION,
18781 ex: *const X509_EXTENSION,
18782 loc: ::core::ffi::c_int,
18783 ) -> *mut stack_st_X509_EXTENSION;
18784}
18785unsafe extern "C" {
18786 pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::core::ffi::c_void;
18787}
18788unsafe extern "C" {
18789 pub fn X509V3_get_d2i(
18790 extensions: *const stack_st_X509_EXTENSION,
18791 nid: ::core::ffi::c_int,
18792 out_critical: *mut ::core::ffi::c_int,
18793 out_idx: *mut ::core::ffi::c_int,
18794 ) -> *mut ::core::ffi::c_void;
18795}
18796unsafe extern "C" {
18797 pub fn X509V3_EXT_free(
18798 nid: ::core::ffi::c_int,
18799 ext_data: *mut ::core::ffi::c_void,
18800 ) -> ::core::ffi::c_int;
18801}
18802unsafe extern "C" {
18803 pub fn X509V3_EXT_i2d(
18804 ext_nid: ::core::ffi::c_int,
18805 crit: ::core::ffi::c_int,
18806 ext_struc: *mut ::core::ffi::c_void,
18807 ) -> *mut X509_EXTENSION;
18808}
18809unsafe extern "C" {
18810 pub fn X509V3_add1_i2d(
18811 x: *mut *mut stack_st_X509_EXTENSION,
18812 nid: ::core::ffi::c_int,
18813 value: *mut ::core::ffi::c_void,
18814 crit: ::core::ffi::c_int,
18815 flags: ::core::ffi::c_ulong,
18816 ) -> ::core::ffi::c_int;
18817}
18818#[repr(C)]
18819#[derive(Debug, Copy, Clone)]
18820pub struct BASIC_CONSTRAINTS_st {
18821 pub ca: ASN1_BOOLEAN,
18822 pub pathlen: *mut ASN1_INTEGER,
18823}
18824unsafe extern "C" {
18825 pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
18826}
18827unsafe extern "C" {
18828 pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
18829}
18830unsafe extern "C" {
18831 pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
18832}
18833unsafe extern "C" {
18834 pub fn d2i_BASIC_CONSTRAINTS(
18835 out: *mut *mut BASIC_CONSTRAINTS,
18836 inp: *mut *const u8,
18837 len: ::core::ffi::c_long,
18838 ) -> *mut BASIC_CONSTRAINTS;
18839}
18840unsafe extern "C" {
18841 pub fn i2d_BASIC_CONSTRAINTS(
18842 bcons: *const BASIC_CONSTRAINTS,
18843 outp: *mut *mut u8,
18844 ) -> ::core::ffi::c_int;
18845}
18846pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
18847unsafe extern "C" {
18848 pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
18849}
18850unsafe extern "C" {
18851 pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
18852}
18853unsafe extern "C" {
18854 pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
18855}
18856unsafe extern "C" {
18857 pub fn d2i_EXTENDED_KEY_USAGE(
18858 out: *mut *mut EXTENDED_KEY_USAGE,
18859 inp: *mut *const u8,
18860 len: ::core::ffi::c_long,
18861 ) -> *mut EXTENDED_KEY_USAGE;
18862}
18863unsafe extern "C" {
18864 pub fn i2d_EXTENDED_KEY_USAGE(
18865 eku: *const EXTENDED_KEY_USAGE,
18866 outp: *mut *mut u8,
18867 ) -> ::core::ffi::c_int;
18868}
18869#[repr(C)]
18870#[derive(Debug, Copy, Clone)]
18871pub struct otherName_st {
18872 pub type_id: *mut ASN1_OBJECT,
18873 pub value: *mut ASN1_TYPE,
18874}
18875pub type OTHERNAME = otherName_st;
18876#[repr(C)]
18877#[derive(Debug, Copy, Clone)]
18878pub struct EDIPartyName_st {
18879 pub nameAssigner: *mut ASN1_STRING,
18880 pub partyName: *mut ASN1_STRING,
18881}
18882pub type EDIPARTYNAME = EDIPartyName_st;
18883#[repr(C)]
18884#[derive(Copy, Clone)]
18885pub struct GENERAL_NAME_st {
18886 pub type_: ::core::ffi::c_int,
18887 pub d: GENERAL_NAME_st__bindgen_ty_1,
18888}
18889#[repr(C)]
18890#[derive(Copy, Clone)]
18891pub union GENERAL_NAME_st__bindgen_ty_1 {
18892 pub ptr: *mut ::core::ffi::c_char,
18893 pub otherName: *mut OTHERNAME,
18894 pub rfc822Name: *mut ASN1_IA5STRING,
18895 pub dNSName: *mut ASN1_IA5STRING,
18896 pub x400Address: *mut ASN1_STRING,
18897 pub directoryName: *mut X509_NAME,
18898 pub ediPartyName: *mut EDIPARTYNAME,
18899 pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
18900 pub iPAddress: *mut ASN1_OCTET_STRING,
18901 pub registeredID: *mut ASN1_OBJECT,
18902 pub ip: *mut ASN1_OCTET_STRING,
18903 pub dirn: *mut X509_NAME,
18904 pub ia5: *mut ASN1_IA5STRING,
18905 pub rid: *mut ASN1_OBJECT,
18906}
18907unsafe extern "C" {
18908 pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
18909}
18910unsafe extern "C" {
18911 pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
18912}
18913unsafe extern "C" {
18914 pub fn d2i_GENERAL_NAME(
18915 out: *mut *mut GENERAL_NAME,
18916 inp: *mut *const u8,
18917 len: ::core::ffi::c_long,
18918 ) -> *mut GENERAL_NAME;
18919}
18920unsafe extern "C" {
18921 pub fn i2d_GENERAL_NAME(in_: *const GENERAL_NAME, outp: *mut *mut u8) -> ::core::ffi::c_int;
18922}
18923unsafe extern "C" {
18924 pub fn GENERAL_NAME_dup(gen_: *const GENERAL_NAME) -> *mut GENERAL_NAME;
18925}
18926unsafe extern "C" {
18927 pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
18928}
18929unsafe extern "C" {
18930 pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
18931}
18932unsafe extern "C" {
18933 pub fn d2i_GENERAL_NAMES(
18934 out: *mut *mut GENERAL_NAMES,
18935 inp: *mut *const u8,
18936 len: ::core::ffi::c_long,
18937 ) -> *mut GENERAL_NAMES;
18938}
18939unsafe extern "C" {
18940 pub fn i2d_GENERAL_NAMES(in_: *const GENERAL_NAMES, outp: *mut *mut u8) -> ::core::ffi::c_int;
18941}
18942unsafe extern "C" {
18943 pub fn OTHERNAME_new() -> *mut OTHERNAME;
18944}
18945unsafe extern "C" {
18946 pub fn OTHERNAME_free(name: *mut OTHERNAME);
18947}
18948unsafe extern "C" {
18949 pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
18950}
18951unsafe extern "C" {
18952 pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
18953}
18954unsafe extern "C" {
18955 pub fn GENERAL_NAME_set0_value(
18956 gen_: *mut GENERAL_NAME,
18957 type_: ::core::ffi::c_int,
18958 value: *mut ::core::ffi::c_void,
18959 );
18960}
18961unsafe extern "C" {
18962 pub fn GENERAL_NAME_get0_value(
18963 gen_: *const GENERAL_NAME,
18964 out_type: *mut ::core::ffi::c_int,
18965 ) -> *mut ::core::ffi::c_void;
18966}
18967unsafe extern "C" {
18968 pub fn GENERAL_NAME_set0_othername(
18969 gen_: *mut GENERAL_NAME,
18970 oid: *mut ASN1_OBJECT,
18971 value: *mut ASN1_TYPE,
18972 ) -> ::core::ffi::c_int;
18973}
18974unsafe extern "C" {
18975 pub fn GENERAL_NAME_get0_otherName(
18976 gen_: *const GENERAL_NAME,
18977 out_oid: *mut *mut ASN1_OBJECT,
18978 out_value: *mut *mut ASN1_TYPE,
18979 ) -> ::core::ffi::c_int;
18980}
18981#[repr(C)]
18982#[derive(Debug, Copy, Clone)]
18983pub struct AUTHORITY_KEYID_st {
18984 pub keyid: *mut ASN1_OCTET_STRING,
18985 pub issuer: *mut GENERAL_NAMES,
18986 pub serial: *mut ASN1_INTEGER,
18987}
18988unsafe extern "C" {
18989 pub static AUTHORITY_KEYID_it: ASN1_ITEM;
18990}
18991unsafe extern "C" {
18992 pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
18993}
18994unsafe extern "C" {
18995 pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
18996}
18997unsafe extern "C" {
18998 pub fn d2i_AUTHORITY_KEYID(
18999 out: *mut *mut AUTHORITY_KEYID,
19000 inp: *mut *const u8,
19001 len: ::core::ffi::c_long,
19002 ) -> *mut AUTHORITY_KEYID;
19003}
19004unsafe extern "C" {
19005 pub fn i2d_AUTHORITY_KEYID(
19006 akid: *const AUTHORITY_KEYID,
19007 outp: *mut *mut u8,
19008 ) -> ::core::ffi::c_int;
19009}
19010#[repr(C)]
19011#[derive(Debug, Copy, Clone)]
19012pub struct GENERAL_SUBTREE_st {
19013 pub base: *mut GENERAL_NAME,
19014 pub minimum: *mut ASN1_INTEGER,
19015 pub maximum: *mut ASN1_INTEGER,
19016}
19017pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
19018#[repr(C)]
19019#[derive(Debug)]
19020pub struct stack_st_GENERAL_SUBTREE {
19021 _unused: [u8; 0],
19022}
19023pub type sk_GENERAL_SUBTREE_free_func =
19024 ::core::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
19025pub type sk_GENERAL_SUBTREE_copy_func = ::core::option::Option<
19026 unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
19027>;
19028pub type sk_GENERAL_SUBTREE_cmp_func = ::core::option::Option<
19029 unsafe extern "C" fn(
19030 arg1: *const *const GENERAL_SUBTREE,
19031 arg2: *const *const GENERAL_SUBTREE,
19032 ) -> ::core::ffi::c_int,
19033>;
19034pub type sk_GENERAL_SUBTREE_delete_if_func = ::core::option::Option<
19035 unsafe extern "C" fn(
19036 arg1: *mut GENERAL_SUBTREE,
19037 arg2: *mut ::core::ffi::c_void,
19038 ) -> ::core::ffi::c_int,
19039>;
19040unsafe extern "C" {
19041 #[link_name = "sk_GENERAL_SUBTREE_call_free_func__extern"]
19042 pub fn sk_GENERAL_SUBTREE_call_free_func(
19043 free_func: OPENSSL_sk_free_func,
19044 ptr: *mut ::core::ffi::c_void,
19045 );
19046}
19047unsafe extern "C" {
19048 #[link_name = "sk_GENERAL_SUBTREE_call_copy_func__extern"]
19049 pub fn sk_GENERAL_SUBTREE_call_copy_func(
19050 copy_func: OPENSSL_sk_copy_func,
19051 ptr: *const ::core::ffi::c_void,
19052 ) -> *mut ::core::ffi::c_void;
19053}
19054unsafe extern "C" {
19055 #[link_name = "sk_GENERAL_SUBTREE_call_cmp_func__extern"]
19056 pub fn sk_GENERAL_SUBTREE_call_cmp_func(
19057 cmp_func: OPENSSL_sk_cmp_func,
19058 a: *const ::core::ffi::c_void,
19059 b: *const ::core::ffi::c_void,
19060 ) -> ::core::ffi::c_int;
19061}
19062unsafe extern "C" {
19063 #[link_name = "sk_GENERAL_SUBTREE_call_delete_if_func__extern"]
19064 pub fn sk_GENERAL_SUBTREE_call_delete_if_func(
19065 func: OPENSSL_sk_delete_if_func,
19066 obj: *mut ::core::ffi::c_void,
19067 data: *mut ::core::ffi::c_void,
19068 ) -> ::core::ffi::c_int;
19069}
19070unsafe extern "C" {
19071 #[link_name = "sk_GENERAL_SUBTREE_new__extern"]
19072 pub fn sk_GENERAL_SUBTREE_new(
19073 comp: sk_GENERAL_SUBTREE_cmp_func,
19074 ) -> *mut stack_st_GENERAL_SUBTREE;
19075}
19076unsafe extern "C" {
19077 #[link_name = "sk_GENERAL_SUBTREE_new_null__extern"]
19078 pub fn sk_GENERAL_SUBTREE_new_null() -> *mut stack_st_GENERAL_SUBTREE;
19079}
19080unsafe extern "C" {
19081 #[link_name = "sk_GENERAL_SUBTREE_num__extern"]
19082 pub fn sk_GENERAL_SUBTREE_num(sk: *const stack_st_GENERAL_SUBTREE) -> usize;
19083}
19084unsafe extern "C" {
19085 #[link_name = "sk_GENERAL_SUBTREE_zero__extern"]
19086 pub fn sk_GENERAL_SUBTREE_zero(sk: *mut stack_st_GENERAL_SUBTREE);
19087}
19088unsafe extern "C" {
19089 #[link_name = "sk_GENERAL_SUBTREE_value__extern"]
19090 pub fn sk_GENERAL_SUBTREE_value(
19091 sk: *const stack_st_GENERAL_SUBTREE,
19092 i: usize,
19093 ) -> *mut GENERAL_SUBTREE;
19094}
19095unsafe extern "C" {
19096 #[link_name = "sk_GENERAL_SUBTREE_last__extern"]
19097 pub fn sk_GENERAL_SUBTREE_last(sk: *const stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
19098}
19099unsafe extern "C" {
19100 #[link_name = "sk_GENERAL_SUBTREE_set__extern"]
19101 pub fn sk_GENERAL_SUBTREE_set(
19102 sk: *mut stack_st_GENERAL_SUBTREE,
19103 i: usize,
19104 p: *mut GENERAL_SUBTREE,
19105 ) -> *mut GENERAL_SUBTREE;
19106}
19107unsafe extern "C" {
19108 #[link_name = "sk_GENERAL_SUBTREE_free__extern"]
19109 pub fn sk_GENERAL_SUBTREE_free(sk: *mut stack_st_GENERAL_SUBTREE);
19110}
19111unsafe extern "C" {
19112 #[link_name = "sk_GENERAL_SUBTREE_pop_free__extern"]
19113 pub fn sk_GENERAL_SUBTREE_pop_free(
19114 sk: *mut stack_st_GENERAL_SUBTREE,
19115 free_func: sk_GENERAL_SUBTREE_free_func,
19116 );
19117}
19118unsafe extern "C" {
19119 #[link_name = "sk_GENERAL_SUBTREE_insert__extern"]
19120 pub fn sk_GENERAL_SUBTREE_insert(
19121 sk: *mut stack_st_GENERAL_SUBTREE,
19122 p: *mut GENERAL_SUBTREE,
19123 where_: usize,
19124 ) -> usize;
19125}
19126unsafe extern "C" {
19127 #[link_name = "sk_GENERAL_SUBTREE_delete__extern"]
19128 pub fn sk_GENERAL_SUBTREE_delete(
19129 sk: *mut stack_st_GENERAL_SUBTREE,
19130 where_: usize,
19131 ) -> *mut GENERAL_SUBTREE;
19132}
19133unsafe extern "C" {
19134 #[link_name = "sk_GENERAL_SUBTREE_delete_ptr__extern"]
19135 pub fn sk_GENERAL_SUBTREE_delete_ptr(
19136 sk: *mut stack_st_GENERAL_SUBTREE,
19137 p: *const GENERAL_SUBTREE,
19138 ) -> *mut GENERAL_SUBTREE;
19139}
19140unsafe extern "C" {
19141 #[link_name = "sk_GENERAL_SUBTREE_delete_if__extern"]
19142 pub fn sk_GENERAL_SUBTREE_delete_if(
19143 sk: *mut stack_st_GENERAL_SUBTREE,
19144 func: sk_GENERAL_SUBTREE_delete_if_func,
19145 data: *mut ::core::ffi::c_void,
19146 );
19147}
19148unsafe extern "C" {
19149 #[link_name = "sk_GENERAL_SUBTREE_find__extern"]
19150 pub fn sk_GENERAL_SUBTREE_find(
19151 sk: *const stack_st_GENERAL_SUBTREE,
19152 out_index: *mut usize,
19153 p: *const GENERAL_SUBTREE,
19154 ) -> ::core::ffi::c_int;
19155}
19156unsafe extern "C" {
19157 #[link_name = "sk_GENERAL_SUBTREE_shift__extern"]
19158 pub fn sk_GENERAL_SUBTREE_shift(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
19159}
19160unsafe extern "C" {
19161 #[link_name = "sk_GENERAL_SUBTREE_push__extern"]
19162 pub fn sk_GENERAL_SUBTREE_push(
19163 sk: *mut stack_st_GENERAL_SUBTREE,
19164 p: *mut GENERAL_SUBTREE,
19165 ) -> usize;
19166}
19167unsafe extern "C" {
19168 #[link_name = "sk_GENERAL_SUBTREE_pop__extern"]
19169 pub fn sk_GENERAL_SUBTREE_pop(sk: *mut stack_st_GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE;
19170}
19171unsafe extern "C" {
19172 #[link_name = "sk_GENERAL_SUBTREE_dup__extern"]
19173 pub fn sk_GENERAL_SUBTREE_dup(
19174 sk: *const stack_st_GENERAL_SUBTREE,
19175 ) -> *mut stack_st_GENERAL_SUBTREE;
19176}
19177unsafe extern "C" {
19178 #[link_name = "sk_GENERAL_SUBTREE_sort__extern"]
19179 pub fn sk_GENERAL_SUBTREE_sort(sk: *mut stack_st_GENERAL_SUBTREE);
19180}
19181unsafe extern "C" {
19182 #[link_name = "sk_GENERAL_SUBTREE_sort_and_dedup__extern"]
19183 pub fn sk_GENERAL_SUBTREE_sort_and_dedup(
19184 sk: *mut stack_st_GENERAL_SUBTREE,
19185 free_func: sk_GENERAL_SUBTREE_free_func,
19186 );
19187}
19188unsafe extern "C" {
19189 #[link_name = "sk_GENERAL_SUBTREE_is_sorted__extern"]
19190 pub fn sk_GENERAL_SUBTREE_is_sorted(sk: *const stack_st_GENERAL_SUBTREE) -> ::core::ffi::c_int;
19191}
19192unsafe extern "C" {
19193 #[link_name = "sk_GENERAL_SUBTREE_set_cmp_func__extern"]
19194 pub fn sk_GENERAL_SUBTREE_set_cmp_func(
19195 sk: *mut stack_st_GENERAL_SUBTREE,
19196 comp: sk_GENERAL_SUBTREE_cmp_func,
19197 ) -> sk_GENERAL_SUBTREE_cmp_func;
19198}
19199unsafe extern "C" {
19200 #[link_name = "sk_GENERAL_SUBTREE_deep_copy__extern"]
19201 pub fn sk_GENERAL_SUBTREE_deep_copy(
19202 sk: *const stack_st_GENERAL_SUBTREE,
19203 copy_func: sk_GENERAL_SUBTREE_copy_func,
19204 free_func: sk_GENERAL_SUBTREE_free_func,
19205 ) -> *mut stack_st_GENERAL_SUBTREE;
19206}
19207unsafe extern "C" {
19208 pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
19209}
19210unsafe extern "C" {
19211 pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
19212}
19213#[repr(C)]
19214#[derive(Debug, Copy, Clone)]
19215pub struct NAME_CONSTRAINTS_st {
19216 pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
19217 pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
19218}
19219unsafe extern "C" {
19220 pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
19221}
19222unsafe extern "C" {
19223 pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
19224}
19225unsafe extern "C" {
19226 pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
19227}
19228#[repr(C)]
19229#[derive(Debug, Copy, Clone)]
19230pub struct ACCESS_DESCRIPTION_st {
19231 pub method: *mut ASN1_OBJECT,
19232 pub location: *mut GENERAL_NAME,
19233}
19234pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
19235#[repr(C)]
19236#[derive(Debug)]
19237pub struct stack_st_ACCESS_DESCRIPTION {
19238 _unused: [u8; 0],
19239}
19240pub type sk_ACCESS_DESCRIPTION_free_func =
19241 ::core::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
19242pub type sk_ACCESS_DESCRIPTION_copy_func = ::core::option::Option<
19243 unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
19244>;
19245pub type sk_ACCESS_DESCRIPTION_cmp_func = ::core::option::Option<
19246 unsafe extern "C" fn(
19247 arg1: *const *const ACCESS_DESCRIPTION,
19248 arg2: *const *const ACCESS_DESCRIPTION,
19249 ) -> ::core::ffi::c_int,
19250>;
19251pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::core::option::Option<
19252 unsafe extern "C" fn(
19253 arg1: *mut ACCESS_DESCRIPTION,
19254 arg2: *mut ::core::ffi::c_void,
19255 ) -> ::core::ffi::c_int,
19256>;
19257unsafe extern "C" {
19258 #[link_name = "sk_ACCESS_DESCRIPTION_call_free_func__extern"]
19259 pub fn sk_ACCESS_DESCRIPTION_call_free_func(
19260 free_func: OPENSSL_sk_free_func,
19261 ptr: *mut ::core::ffi::c_void,
19262 );
19263}
19264unsafe extern "C" {
19265 #[link_name = "sk_ACCESS_DESCRIPTION_call_copy_func__extern"]
19266 pub fn sk_ACCESS_DESCRIPTION_call_copy_func(
19267 copy_func: OPENSSL_sk_copy_func,
19268 ptr: *const ::core::ffi::c_void,
19269 ) -> *mut ::core::ffi::c_void;
19270}
19271unsafe extern "C" {
19272 #[link_name = "sk_ACCESS_DESCRIPTION_call_cmp_func__extern"]
19273 pub fn sk_ACCESS_DESCRIPTION_call_cmp_func(
19274 cmp_func: OPENSSL_sk_cmp_func,
19275 a: *const ::core::ffi::c_void,
19276 b: *const ::core::ffi::c_void,
19277 ) -> ::core::ffi::c_int;
19278}
19279unsafe extern "C" {
19280 #[link_name = "sk_ACCESS_DESCRIPTION_call_delete_if_func__extern"]
19281 pub fn sk_ACCESS_DESCRIPTION_call_delete_if_func(
19282 func: OPENSSL_sk_delete_if_func,
19283 obj: *mut ::core::ffi::c_void,
19284 data: *mut ::core::ffi::c_void,
19285 ) -> ::core::ffi::c_int;
19286}
19287unsafe extern "C" {
19288 #[link_name = "sk_ACCESS_DESCRIPTION_new__extern"]
19289 pub fn sk_ACCESS_DESCRIPTION_new(
19290 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19291 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19292}
19293unsafe extern "C" {
19294 #[link_name = "sk_ACCESS_DESCRIPTION_new_null__extern"]
19295 pub fn sk_ACCESS_DESCRIPTION_new_null() -> *mut stack_st_ACCESS_DESCRIPTION;
19296}
19297unsafe extern "C" {
19298 #[link_name = "sk_ACCESS_DESCRIPTION_num__extern"]
19299 pub fn sk_ACCESS_DESCRIPTION_num(sk: *const stack_st_ACCESS_DESCRIPTION) -> usize;
19300}
19301unsafe extern "C" {
19302 #[link_name = "sk_ACCESS_DESCRIPTION_zero__extern"]
19303 pub fn sk_ACCESS_DESCRIPTION_zero(sk: *mut stack_st_ACCESS_DESCRIPTION);
19304}
19305unsafe extern "C" {
19306 #[link_name = "sk_ACCESS_DESCRIPTION_value__extern"]
19307 pub fn sk_ACCESS_DESCRIPTION_value(
19308 sk: *const stack_st_ACCESS_DESCRIPTION,
19309 i: usize,
19310 ) -> *mut ACCESS_DESCRIPTION;
19311}
19312unsafe extern "C" {
19313 #[link_name = "sk_ACCESS_DESCRIPTION_last__extern"]
19314 pub fn sk_ACCESS_DESCRIPTION_last(
19315 sk: *const stack_st_ACCESS_DESCRIPTION,
19316 ) -> *mut ACCESS_DESCRIPTION;
19317}
19318unsafe extern "C" {
19319 #[link_name = "sk_ACCESS_DESCRIPTION_set__extern"]
19320 pub fn sk_ACCESS_DESCRIPTION_set(
19321 sk: *mut stack_st_ACCESS_DESCRIPTION,
19322 i: usize,
19323 p: *mut ACCESS_DESCRIPTION,
19324 ) -> *mut ACCESS_DESCRIPTION;
19325}
19326unsafe extern "C" {
19327 #[link_name = "sk_ACCESS_DESCRIPTION_free__extern"]
19328 pub fn sk_ACCESS_DESCRIPTION_free(sk: *mut stack_st_ACCESS_DESCRIPTION);
19329}
19330unsafe extern "C" {
19331 #[link_name = "sk_ACCESS_DESCRIPTION_pop_free__extern"]
19332 pub fn sk_ACCESS_DESCRIPTION_pop_free(
19333 sk: *mut stack_st_ACCESS_DESCRIPTION,
19334 free_func: sk_ACCESS_DESCRIPTION_free_func,
19335 );
19336}
19337unsafe extern "C" {
19338 #[link_name = "sk_ACCESS_DESCRIPTION_insert__extern"]
19339 pub fn sk_ACCESS_DESCRIPTION_insert(
19340 sk: *mut stack_st_ACCESS_DESCRIPTION,
19341 p: *mut ACCESS_DESCRIPTION,
19342 where_: usize,
19343 ) -> usize;
19344}
19345unsafe extern "C" {
19346 #[link_name = "sk_ACCESS_DESCRIPTION_delete__extern"]
19347 pub fn sk_ACCESS_DESCRIPTION_delete(
19348 sk: *mut stack_st_ACCESS_DESCRIPTION,
19349 where_: usize,
19350 ) -> *mut ACCESS_DESCRIPTION;
19351}
19352unsafe extern "C" {
19353 #[link_name = "sk_ACCESS_DESCRIPTION_delete_ptr__extern"]
19354 pub fn sk_ACCESS_DESCRIPTION_delete_ptr(
19355 sk: *mut stack_st_ACCESS_DESCRIPTION,
19356 p: *const ACCESS_DESCRIPTION,
19357 ) -> *mut ACCESS_DESCRIPTION;
19358}
19359unsafe extern "C" {
19360 #[link_name = "sk_ACCESS_DESCRIPTION_delete_if__extern"]
19361 pub fn sk_ACCESS_DESCRIPTION_delete_if(
19362 sk: *mut stack_st_ACCESS_DESCRIPTION,
19363 func: sk_ACCESS_DESCRIPTION_delete_if_func,
19364 data: *mut ::core::ffi::c_void,
19365 );
19366}
19367unsafe extern "C" {
19368 #[link_name = "sk_ACCESS_DESCRIPTION_find__extern"]
19369 pub fn sk_ACCESS_DESCRIPTION_find(
19370 sk: *const stack_st_ACCESS_DESCRIPTION,
19371 out_index: *mut usize,
19372 p: *const ACCESS_DESCRIPTION,
19373 ) -> ::core::ffi::c_int;
19374}
19375unsafe extern "C" {
19376 #[link_name = "sk_ACCESS_DESCRIPTION_shift__extern"]
19377 pub fn sk_ACCESS_DESCRIPTION_shift(
19378 sk: *mut stack_st_ACCESS_DESCRIPTION,
19379 ) -> *mut ACCESS_DESCRIPTION;
19380}
19381unsafe extern "C" {
19382 #[link_name = "sk_ACCESS_DESCRIPTION_push__extern"]
19383 pub fn sk_ACCESS_DESCRIPTION_push(
19384 sk: *mut stack_st_ACCESS_DESCRIPTION,
19385 p: *mut ACCESS_DESCRIPTION,
19386 ) -> usize;
19387}
19388unsafe extern "C" {
19389 #[link_name = "sk_ACCESS_DESCRIPTION_pop__extern"]
19390 pub fn sk_ACCESS_DESCRIPTION_pop(
19391 sk: *mut stack_st_ACCESS_DESCRIPTION,
19392 ) -> *mut ACCESS_DESCRIPTION;
19393}
19394unsafe extern "C" {
19395 #[link_name = "sk_ACCESS_DESCRIPTION_dup__extern"]
19396 pub fn sk_ACCESS_DESCRIPTION_dup(
19397 sk: *const stack_st_ACCESS_DESCRIPTION,
19398 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19399}
19400unsafe extern "C" {
19401 #[link_name = "sk_ACCESS_DESCRIPTION_sort__extern"]
19402 pub fn sk_ACCESS_DESCRIPTION_sort(sk: *mut stack_st_ACCESS_DESCRIPTION);
19403}
19404unsafe extern "C" {
19405 #[link_name = "sk_ACCESS_DESCRIPTION_sort_and_dedup__extern"]
19406 pub fn sk_ACCESS_DESCRIPTION_sort_and_dedup(
19407 sk: *mut stack_st_ACCESS_DESCRIPTION,
19408 free_func: sk_ACCESS_DESCRIPTION_free_func,
19409 );
19410}
19411unsafe extern "C" {
19412 #[link_name = "sk_ACCESS_DESCRIPTION_is_sorted__extern"]
19413 pub fn sk_ACCESS_DESCRIPTION_is_sorted(
19414 sk: *const stack_st_ACCESS_DESCRIPTION,
19415 ) -> ::core::ffi::c_int;
19416}
19417unsafe extern "C" {
19418 #[link_name = "sk_ACCESS_DESCRIPTION_set_cmp_func__extern"]
19419 pub fn sk_ACCESS_DESCRIPTION_set_cmp_func(
19420 sk: *mut stack_st_ACCESS_DESCRIPTION,
19421 comp: sk_ACCESS_DESCRIPTION_cmp_func,
19422 ) -> sk_ACCESS_DESCRIPTION_cmp_func;
19423}
19424unsafe extern "C" {
19425 #[link_name = "sk_ACCESS_DESCRIPTION_deep_copy__extern"]
19426 pub fn sk_ACCESS_DESCRIPTION_deep_copy(
19427 sk: *const stack_st_ACCESS_DESCRIPTION,
19428 copy_func: sk_ACCESS_DESCRIPTION_copy_func,
19429 free_func: sk_ACCESS_DESCRIPTION_free_func,
19430 ) -> *mut stack_st_ACCESS_DESCRIPTION;
19431}
19432unsafe extern "C" {
19433 pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
19434}
19435unsafe extern "C" {
19436 pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
19437}
19438pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
19439unsafe extern "C" {
19440 pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
19441}
19442unsafe extern "C" {
19443 pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
19444}
19445unsafe extern "C" {
19446 pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
19447}
19448unsafe extern "C" {
19449 pub fn d2i_AUTHORITY_INFO_ACCESS(
19450 out: *mut *mut AUTHORITY_INFO_ACCESS,
19451 inp: *mut *const u8,
19452 len: ::core::ffi::c_long,
19453 ) -> *mut AUTHORITY_INFO_ACCESS;
19454}
19455unsafe extern "C" {
19456 pub fn i2d_AUTHORITY_INFO_ACCESS(
19457 aia: *const AUTHORITY_INFO_ACCESS,
19458 outp: *mut *mut u8,
19459 ) -> ::core::ffi::c_int;
19460}
19461#[repr(C)]
19462#[derive(Copy, Clone)]
19463pub struct DIST_POINT_NAME_st {
19464 pub type_: ::core::ffi::c_int,
19465 pub name: DIST_POINT_NAME_st__bindgen_ty_1,
19466}
19467#[repr(C)]
19468#[derive(Copy, Clone)]
19469pub union DIST_POINT_NAME_st__bindgen_ty_1 {
19470 pub fullname: *mut GENERAL_NAMES,
19471 pub relativename: *mut stack_st_X509_NAME_ENTRY,
19472}
19473pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
19474unsafe extern "C" {
19475 pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
19476}
19477unsafe extern "C" {
19478 pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
19479}
19480#[repr(C)]
19481#[derive(Debug, Copy, Clone)]
19482pub struct DIST_POINT_st {
19483 pub distpoint: *mut DIST_POINT_NAME,
19484 pub reasons: *mut ASN1_BIT_STRING,
19485 pub CRLissuer: *mut GENERAL_NAMES,
19486}
19487#[repr(C)]
19488#[derive(Debug)]
19489pub struct stack_st_DIST_POINT {
19490 _unused: [u8; 0],
19491}
19492pub type sk_DIST_POINT_free_func =
19493 ::core::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
19494pub type sk_DIST_POINT_copy_func =
19495 ::core::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
19496pub type sk_DIST_POINT_cmp_func = ::core::option::Option<
19497 unsafe extern "C" fn(
19498 arg1: *const *const DIST_POINT,
19499 arg2: *const *const DIST_POINT,
19500 ) -> ::core::ffi::c_int,
19501>;
19502pub type sk_DIST_POINT_delete_if_func = ::core::option::Option<
19503 unsafe extern "C" fn(
19504 arg1: *mut DIST_POINT,
19505 arg2: *mut ::core::ffi::c_void,
19506 ) -> ::core::ffi::c_int,
19507>;
19508unsafe extern "C" {
19509 #[link_name = "sk_DIST_POINT_call_free_func__extern"]
19510 pub fn sk_DIST_POINT_call_free_func(
19511 free_func: OPENSSL_sk_free_func,
19512 ptr: *mut ::core::ffi::c_void,
19513 );
19514}
19515unsafe extern "C" {
19516 #[link_name = "sk_DIST_POINT_call_copy_func__extern"]
19517 pub fn sk_DIST_POINT_call_copy_func(
19518 copy_func: OPENSSL_sk_copy_func,
19519 ptr: *const ::core::ffi::c_void,
19520 ) -> *mut ::core::ffi::c_void;
19521}
19522unsafe extern "C" {
19523 #[link_name = "sk_DIST_POINT_call_cmp_func__extern"]
19524 pub fn sk_DIST_POINT_call_cmp_func(
19525 cmp_func: OPENSSL_sk_cmp_func,
19526 a: *const ::core::ffi::c_void,
19527 b: *const ::core::ffi::c_void,
19528 ) -> ::core::ffi::c_int;
19529}
19530unsafe extern "C" {
19531 #[link_name = "sk_DIST_POINT_call_delete_if_func__extern"]
19532 pub fn sk_DIST_POINT_call_delete_if_func(
19533 func: OPENSSL_sk_delete_if_func,
19534 obj: *mut ::core::ffi::c_void,
19535 data: *mut ::core::ffi::c_void,
19536 ) -> ::core::ffi::c_int;
19537}
19538unsafe extern "C" {
19539 #[link_name = "sk_DIST_POINT_new__extern"]
19540 pub fn sk_DIST_POINT_new(comp: sk_DIST_POINT_cmp_func) -> *mut stack_st_DIST_POINT;
19541}
19542unsafe extern "C" {
19543 #[link_name = "sk_DIST_POINT_new_null__extern"]
19544 pub fn sk_DIST_POINT_new_null() -> *mut stack_st_DIST_POINT;
19545}
19546unsafe extern "C" {
19547 #[link_name = "sk_DIST_POINT_num__extern"]
19548 pub fn sk_DIST_POINT_num(sk: *const stack_st_DIST_POINT) -> usize;
19549}
19550unsafe extern "C" {
19551 #[link_name = "sk_DIST_POINT_zero__extern"]
19552 pub fn sk_DIST_POINT_zero(sk: *mut stack_st_DIST_POINT);
19553}
19554unsafe extern "C" {
19555 #[link_name = "sk_DIST_POINT_value__extern"]
19556 pub fn sk_DIST_POINT_value(sk: *const stack_st_DIST_POINT, i: usize) -> *mut DIST_POINT;
19557}
19558unsafe extern "C" {
19559 #[link_name = "sk_DIST_POINT_last__extern"]
19560 pub fn sk_DIST_POINT_last(sk: *const stack_st_DIST_POINT) -> *mut DIST_POINT;
19561}
19562unsafe extern "C" {
19563 #[link_name = "sk_DIST_POINT_set__extern"]
19564 pub fn sk_DIST_POINT_set(
19565 sk: *mut stack_st_DIST_POINT,
19566 i: usize,
19567 p: *mut DIST_POINT,
19568 ) -> *mut DIST_POINT;
19569}
19570unsafe extern "C" {
19571 #[link_name = "sk_DIST_POINT_free__extern"]
19572 pub fn sk_DIST_POINT_free(sk: *mut stack_st_DIST_POINT);
19573}
19574unsafe extern "C" {
19575 #[link_name = "sk_DIST_POINT_pop_free__extern"]
19576 pub fn sk_DIST_POINT_pop_free(sk: *mut stack_st_DIST_POINT, free_func: sk_DIST_POINT_free_func);
19577}
19578unsafe extern "C" {
19579 #[link_name = "sk_DIST_POINT_insert__extern"]
19580 pub fn sk_DIST_POINT_insert(
19581 sk: *mut stack_st_DIST_POINT,
19582 p: *mut DIST_POINT,
19583 where_: usize,
19584 ) -> usize;
19585}
19586unsafe extern "C" {
19587 #[link_name = "sk_DIST_POINT_delete__extern"]
19588 pub fn sk_DIST_POINT_delete(sk: *mut stack_st_DIST_POINT, where_: usize) -> *mut DIST_POINT;
19589}
19590unsafe extern "C" {
19591 #[link_name = "sk_DIST_POINT_delete_ptr__extern"]
19592 pub fn sk_DIST_POINT_delete_ptr(
19593 sk: *mut stack_st_DIST_POINT,
19594 p: *const DIST_POINT,
19595 ) -> *mut DIST_POINT;
19596}
19597unsafe extern "C" {
19598 #[link_name = "sk_DIST_POINT_delete_if__extern"]
19599 pub fn sk_DIST_POINT_delete_if(
19600 sk: *mut stack_st_DIST_POINT,
19601 func: sk_DIST_POINT_delete_if_func,
19602 data: *mut ::core::ffi::c_void,
19603 );
19604}
19605unsafe extern "C" {
19606 #[link_name = "sk_DIST_POINT_find__extern"]
19607 pub fn sk_DIST_POINT_find(
19608 sk: *const stack_st_DIST_POINT,
19609 out_index: *mut usize,
19610 p: *const DIST_POINT,
19611 ) -> ::core::ffi::c_int;
19612}
19613unsafe extern "C" {
19614 #[link_name = "sk_DIST_POINT_shift__extern"]
19615 pub fn sk_DIST_POINT_shift(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19616}
19617unsafe extern "C" {
19618 #[link_name = "sk_DIST_POINT_push__extern"]
19619 pub fn sk_DIST_POINT_push(sk: *mut stack_st_DIST_POINT, p: *mut DIST_POINT) -> usize;
19620}
19621unsafe extern "C" {
19622 #[link_name = "sk_DIST_POINT_pop__extern"]
19623 pub fn sk_DIST_POINT_pop(sk: *mut stack_st_DIST_POINT) -> *mut DIST_POINT;
19624}
19625unsafe extern "C" {
19626 #[link_name = "sk_DIST_POINT_dup__extern"]
19627 pub fn sk_DIST_POINT_dup(sk: *const stack_st_DIST_POINT) -> *mut stack_st_DIST_POINT;
19628}
19629unsafe extern "C" {
19630 #[link_name = "sk_DIST_POINT_sort__extern"]
19631 pub fn sk_DIST_POINT_sort(sk: *mut stack_st_DIST_POINT);
19632}
19633unsafe extern "C" {
19634 #[link_name = "sk_DIST_POINT_sort_and_dedup__extern"]
19635 pub fn sk_DIST_POINT_sort_and_dedup(
19636 sk: *mut stack_st_DIST_POINT,
19637 free_func: sk_DIST_POINT_free_func,
19638 );
19639}
19640unsafe extern "C" {
19641 #[link_name = "sk_DIST_POINT_is_sorted__extern"]
19642 pub fn sk_DIST_POINT_is_sorted(sk: *const stack_st_DIST_POINT) -> ::core::ffi::c_int;
19643}
19644unsafe extern "C" {
19645 #[link_name = "sk_DIST_POINT_set_cmp_func__extern"]
19646 pub fn sk_DIST_POINT_set_cmp_func(
19647 sk: *mut stack_st_DIST_POINT,
19648 comp: sk_DIST_POINT_cmp_func,
19649 ) -> sk_DIST_POINT_cmp_func;
19650}
19651unsafe extern "C" {
19652 #[link_name = "sk_DIST_POINT_deep_copy__extern"]
19653 pub fn sk_DIST_POINT_deep_copy(
19654 sk: *const stack_st_DIST_POINT,
19655 copy_func: sk_DIST_POINT_copy_func,
19656 free_func: sk_DIST_POINT_free_func,
19657 ) -> *mut stack_st_DIST_POINT;
19658}
19659unsafe extern "C" {
19660 pub fn DIST_POINT_new() -> *mut DIST_POINT;
19661}
19662unsafe extern "C" {
19663 pub fn DIST_POINT_free(dp: *mut DIST_POINT);
19664}
19665pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
19666unsafe extern "C" {
19667 pub static CRL_DIST_POINTS_it: ASN1_ITEM;
19668}
19669unsafe extern "C" {
19670 pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
19671}
19672unsafe extern "C" {
19673 pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
19674}
19675unsafe extern "C" {
19676 pub fn d2i_CRL_DIST_POINTS(
19677 out: *mut *mut CRL_DIST_POINTS,
19678 inp: *mut *const u8,
19679 len: ::core::ffi::c_long,
19680 ) -> *mut CRL_DIST_POINTS;
19681}
19682unsafe extern "C" {
19683 pub fn i2d_CRL_DIST_POINTS(
19684 crldp: *const CRL_DIST_POINTS,
19685 outp: *mut *mut u8,
19686 ) -> ::core::ffi::c_int;
19687}
19688#[repr(C)]
19689#[derive(Debug, Copy, Clone)]
19690pub struct ISSUING_DIST_POINT_st {
19691 pub distpoint: *mut DIST_POINT_NAME,
19692 pub onlyuser: ASN1_BOOLEAN,
19693 pub onlyCA: ASN1_BOOLEAN,
19694 pub onlysomereasons: *mut ASN1_BIT_STRING,
19695 pub indirectCRL: ASN1_BOOLEAN,
19696 pub onlyattr: ASN1_BOOLEAN,
19697}
19698unsafe extern "C" {
19699 pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
19700}
19701unsafe extern "C" {
19702 pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
19703}
19704unsafe extern "C" {
19705 pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
19706}
19707unsafe extern "C" {
19708 pub fn d2i_ISSUING_DIST_POINT(
19709 out: *mut *mut ISSUING_DIST_POINT,
19710 inp: *mut *const u8,
19711 len: ::core::ffi::c_long,
19712 ) -> *mut ISSUING_DIST_POINT;
19713}
19714unsafe extern "C" {
19715 pub fn i2d_ISSUING_DIST_POINT(
19716 idp: *const ISSUING_DIST_POINT,
19717 outp: *mut *mut u8,
19718 ) -> ::core::ffi::c_int;
19719}
19720#[repr(C)]
19721#[derive(Debug, Copy, Clone)]
19722pub struct NOTICEREF_st {
19723 pub organization: *mut ASN1_STRING,
19724 pub noticenos: *mut stack_st_ASN1_INTEGER,
19725}
19726pub type NOTICEREF = NOTICEREF_st;
19727unsafe extern "C" {
19728 pub fn NOTICEREF_new() -> *mut NOTICEREF;
19729}
19730unsafe extern "C" {
19731 pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
19732}
19733#[repr(C)]
19734#[derive(Debug, Copy, Clone)]
19735pub struct USERNOTICE_st {
19736 pub noticeref: *mut NOTICEREF,
19737 pub exptext: *mut ASN1_STRING,
19738}
19739pub type USERNOTICE = USERNOTICE_st;
19740unsafe extern "C" {
19741 pub fn USERNOTICE_new() -> *mut USERNOTICE;
19742}
19743unsafe extern "C" {
19744 pub fn USERNOTICE_free(notice: *mut USERNOTICE);
19745}
19746#[repr(C)]
19747#[derive(Copy, Clone)]
19748pub struct POLICYQUALINFO_st {
19749 pub pqualid: *mut ASN1_OBJECT,
19750 pub d: POLICYQUALINFO_st__bindgen_ty_1,
19751}
19752#[repr(C)]
19753#[derive(Copy, Clone)]
19754pub union POLICYQUALINFO_st__bindgen_ty_1 {
19755 pub cpsuri: *mut ASN1_IA5STRING,
19756 pub usernotice: *mut USERNOTICE,
19757 pub other: *mut ASN1_TYPE,
19758}
19759pub type POLICYQUALINFO = POLICYQUALINFO_st;
19760#[repr(C)]
19761#[derive(Debug)]
19762pub struct stack_st_POLICYQUALINFO {
19763 _unused: [u8; 0],
19764}
19765pub type sk_POLICYQUALINFO_free_func =
19766 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
19767pub type sk_POLICYQUALINFO_copy_func = ::core::option::Option<
19768 unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO,
19769>;
19770pub type sk_POLICYQUALINFO_cmp_func = ::core::option::Option<
19771 unsafe extern "C" fn(
19772 arg1: *const *const POLICYQUALINFO,
19773 arg2: *const *const POLICYQUALINFO,
19774 ) -> ::core::ffi::c_int,
19775>;
19776pub type sk_POLICYQUALINFO_delete_if_func = ::core::option::Option<
19777 unsafe extern "C" fn(
19778 arg1: *mut POLICYQUALINFO,
19779 arg2: *mut ::core::ffi::c_void,
19780 ) -> ::core::ffi::c_int,
19781>;
19782unsafe extern "C" {
19783 #[link_name = "sk_POLICYQUALINFO_call_free_func__extern"]
19784 pub fn sk_POLICYQUALINFO_call_free_func(
19785 free_func: OPENSSL_sk_free_func,
19786 ptr: *mut ::core::ffi::c_void,
19787 );
19788}
19789unsafe extern "C" {
19790 #[link_name = "sk_POLICYQUALINFO_call_copy_func__extern"]
19791 pub fn sk_POLICYQUALINFO_call_copy_func(
19792 copy_func: OPENSSL_sk_copy_func,
19793 ptr: *const ::core::ffi::c_void,
19794 ) -> *mut ::core::ffi::c_void;
19795}
19796unsafe extern "C" {
19797 #[link_name = "sk_POLICYQUALINFO_call_cmp_func__extern"]
19798 pub fn sk_POLICYQUALINFO_call_cmp_func(
19799 cmp_func: OPENSSL_sk_cmp_func,
19800 a: *const ::core::ffi::c_void,
19801 b: *const ::core::ffi::c_void,
19802 ) -> ::core::ffi::c_int;
19803}
19804unsafe extern "C" {
19805 #[link_name = "sk_POLICYQUALINFO_call_delete_if_func__extern"]
19806 pub fn sk_POLICYQUALINFO_call_delete_if_func(
19807 func: OPENSSL_sk_delete_if_func,
19808 obj: *mut ::core::ffi::c_void,
19809 data: *mut ::core::ffi::c_void,
19810 ) -> ::core::ffi::c_int;
19811}
19812unsafe extern "C" {
19813 #[link_name = "sk_POLICYQUALINFO_new__extern"]
19814 pub fn sk_POLICYQUALINFO_new(comp: sk_POLICYQUALINFO_cmp_func) -> *mut stack_st_POLICYQUALINFO;
19815}
19816unsafe extern "C" {
19817 #[link_name = "sk_POLICYQUALINFO_new_null__extern"]
19818 pub fn sk_POLICYQUALINFO_new_null() -> *mut stack_st_POLICYQUALINFO;
19819}
19820unsafe extern "C" {
19821 #[link_name = "sk_POLICYQUALINFO_num__extern"]
19822 pub fn sk_POLICYQUALINFO_num(sk: *const stack_st_POLICYQUALINFO) -> usize;
19823}
19824unsafe extern "C" {
19825 #[link_name = "sk_POLICYQUALINFO_zero__extern"]
19826 pub fn sk_POLICYQUALINFO_zero(sk: *mut stack_st_POLICYQUALINFO);
19827}
19828unsafe extern "C" {
19829 #[link_name = "sk_POLICYQUALINFO_value__extern"]
19830 pub fn sk_POLICYQUALINFO_value(
19831 sk: *const stack_st_POLICYQUALINFO,
19832 i: usize,
19833 ) -> *mut POLICYQUALINFO;
19834}
19835unsafe extern "C" {
19836 #[link_name = "sk_POLICYQUALINFO_last__extern"]
19837 pub fn sk_POLICYQUALINFO_last(sk: *const stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19838}
19839unsafe extern "C" {
19840 #[link_name = "sk_POLICYQUALINFO_set__extern"]
19841 pub fn sk_POLICYQUALINFO_set(
19842 sk: *mut stack_st_POLICYQUALINFO,
19843 i: usize,
19844 p: *mut POLICYQUALINFO,
19845 ) -> *mut POLICYQUALINFO;
19846}
19847unsafe extern "C" {
19848 #[link_name = "sk_POLICYQUALINFO_free__extern"]
19849 pub fn sk_POLICYQUALINFO_free(sk: *mut stack_st_POLICYQUALINFO);
19850}
19851unsafe extern "C" {
19852 #[link_name = "sk_POLICYQUALINFO_pop_free__extern"]
19853 pub fn sk_POLICYQUALINFO_pop_free(
19854 sk: *mut stack_st_POLICYQUALINFO,
19855 free_func: sk_POLICYQUALINFO_free_func,
19856 );
19857}
19858unsafe extern "C" {
19859 #[link_name = "sk_POLICYQUALINFO_insert__extern"]
19860 pub fn sk_POLICYQUALINFO_insert(
19861 sk: *mut stack_st_POLICYQUALINFO,
19862 p: *mut POLICYQUALINFO,
19863 where_: usize,
19864 ) -> usize;
19865}
19866unsafe extern "C" {
19867 #[link_name = "sk_POLICYQUALINFO_delete__extern"]
19868 pub fn sk_POLICYQUALINFO_delete(
19869 sk: *mut stack_st_POLICYQUALINFO,
19870 where_: usize,
19871 ) -> *mut POLICYQUALINFO;
19872}
19873unsafe extern "C" {
19874 #[link_name = "sk_POLICYQUALINFO_delete_ptr__extern"]
19875 pub fn sk_POLICYQUALINFO_delete_ptr(
19876 sk: *mut stack_st_POLICYQUALINFO,
19877 p: *const POLICYQUALINFO,
19878 ) -> *mut POLICYQUALINFO;
19879}
19880unsafe extern "C" {
19881 #[link_name = "sk_POLICYQUALINFO_delete_if__extern"]
19882 pub fn sk_POLICYQUALINFO_delete_if(
19883 sk: *mut stack_st_POLICYQUALINFO,
19884 func: sk_POLICYQUALINFO_delete_if_func,
19885 data: *mut ::core::ffi::c_void,
19886 );
19887}
19888unsafe extern "C" {
19889 #[link_name = "sk_POLICYQUALINFO_find__extern"]
19890 pub fn sk_POLICYQUALINFO_find(
19891 sk: *const stack_st_POLICYQUALINFO,
19892 out_index: *mut usize,
19893 p: *const POLICYQUALINFO,
19894 ) -> ::core::ffi::c_int;
19895}
19896unsafe extern "C" {
19897 #[link_name = "sk_POLICYQUALINFO_shift__extern"]
19898 pub fn sk_POLICYQUALINFO_shift(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19899}
19900unsafe extern "C" {
19901 #[link_name = "sk_POLICYQUALINFO_push__extern"]
19902 pub fn sk_POLICYQUALINFO_push(
19903 sk: *mut stack_st_POLICYQUALINFO,
19904 p: *mut POLICYQUALINFO,
19905 ) -> usize;
19906}
19907unsafe extern "C" {
19908 #[link_name = "sk_POLICYQUALINFO_pop__extern"]
19909 pub fn sk_POLICYQUALINFO_pop(sk: *mut stack_st_POLICYQUALINFO) -> *mut POLICYQUALINFO;
19910}
19911unsafe extern "C" {
19912 #[link_name = "sk_POLICYQUALINFO_dup__extern"]
19913 pub fn sk_POLICYQUALINFO_dup(
19914 sk: *const stack_st_POLICYQUALINFO,
19915 ) -> *mut stack_st_POLICYQUALINFO;
19916}
19917unsafe extern "C" {
19918 #[link_name = "sk_POLICYQUALINFO_sort__extern"]
19919 pub fn sk_POLICYQUALINFO_sort(sk: *mut stack_st_POLICYQUALINFO);
19920}
19921unsafe extern "C" {
19922 #[link_name = "sk_POLICYQUALINFO_sort_and_dedup__extern"]
19923 pub fn sk_POLICYQUALINFO_sort_and_dedup(
19924 sk: *mut stack_st_POLICYQUALINFO,
19925 free_func: sk_POLICYQUALINFO_free_func,
19926 );
19927}
19928unsafe extern "C" {
19929 #[link_name = "sk_POLICYQUALINFO_is_sorted__extern"]
19930 pub fn sk_POLICYQUALINFO_is_sorted(sk: *const stack_st_POLICYQUALINFO) -> ::core::ffi::c_int;
19931}
19932unsafe extern "C" {
19933 #[link_name = "sk_POLICYQUALINFO_set_cmp_func__extern"]
19934 pub fn sk_POLICYQUALINFO_set_cmp_func(
19935 sk: *mut stack_st_POLICYQUALINFO,
19936 comp: sk_POLICYQUALINFO_cmp_func,
19937 ) -> sk_POLICYQUALINFO_cmp_func;
19938}
19939unsafe extern "C" {
19940 #[link_name = "sk_POLICYQUALINFO_deep_copy__extern"]
19941 pub fn sk_POLICYQUALINFO_deep_copy(
19942 sk: *const stack_st_POLICYQUALINFO,
19943 copy_func: sk_POLICYQUALINFO_copy_func,
19944 free_func: sk_POLICYQUALINFO_free_func,
19945 ) -> *mut stack_st_POLICYQUALINFO;
19946}
19947unsafe extern "C" {
19948 pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
19949}
19950unsafe extern "C" {
19951 pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
19952}
19953#[repr(C)]
19954#[derive(Debug, Copy, Clone)]
19955pub struct POLICYINFO_st {
19956 pub policyid: *mut ASN1_OBJECT,
19957 pub qualifiers: *mut stack_st_POLICYQUALINFO,
19958}
19959pub type POLICYINFO = POLICYINFO_st;
19960#[repr(C)]
19961#[derive(Debug)]
19962pub struct stack_st_POLICYINFO {
19963 _unused: [u8; 0],
19964}
19965pub type sk_POLICYINFO_free_func =
19966 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
19967pub type sk_POLICYINFO_copy_func =
19968 ::core::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
19969pub type sk_POLICYINFO_cmp_func = ::core::option::Option<
19970 unsafe extern "C" fn(
19971 arg1: *const *const POLICYINFO,
19972 arg2: *const *const POLICYINFO,
19973 ) -> ::core::ffi::c_int,
19974>;
19975pub type sk_POLICYINFO_delete_if_func = ::core::option::Option<
19976 unsafe extern "C" fn(
19977 arg1: *mut POLICYINFO,
19978 arg2: *mut ::core::ffi::c_void,
19979 ) -> ::core::ffi::c_int,
19980>;
19981unsafe extern "C" {
19982 #[link_name = "sk_POLICYINFO_call_free_func__extern"]
19983 pub fn sk_POLICYINFO_call_free_func(
19984 free_func: OPENSSL_sk_free_func,
19985 ptr: *mut ::core::ffi::c_void,
19986 );
19987}
19988unsafe extern "C" {
19989 #[link_name = "sk_POLICYINFO_call_copy_func__extern"]
19990 pub fn sk_POLICYINFO_call_copy_func(
19991 copy_func: OPENSSL_sk_copy_func,
19992 ptr: *const ::core::ffi::c_void,
19993 ) -> *mut ::core::ffi::c_void;
19994}
19995unsafe extern "C" {
19996 #[link_name = "sk_POLICYINFO_call_cmp_func__extern"]
19997 pub fn sk_POLICYINFO_call_cmp_func(
19998 cmp_func: OPENSSL_sk_cmp_func,
19999 a: *const ::core::ffi::c_void,
20000 b: *const ::core::ffi::c_void,
20001 ) -> ::core::ffi::c_int;
20002}
20003unsafe extern "C" {
20004 #[link_name = "sk_POLICYINFO_call_delete_if_func__extern"]
20005 pub fn sk_POLICYINFO_call_delete_if_func(
20006 func: OPENSSL_sk_delete_if_func,
20007 obj: *mut ::core::ffi::c_void,
20008 data: *mut ::core::ffi::c_void,
20009 ) -> ::core::ffi::c_int;
20010}
20011unsafe extern "C" {
20012 #[link_name = "sk_POLICYINFO_new__extern"]
20013 pub fn sk_POLICYINFO_new(comp: sk_POLICYINFO_cmp_func) -> *mut stack_st_POLICYINFO;
20014}
20015unsafe extern "C" {
20016 #[link_name = "sk_POLICYINFO_new_null__extern"]
20017 pub fn sk_POLICYINFO_new_null() -> *mut stack_st_POLICYINFO;
20018}
20019unsafe extern "C" {
20020 #[link_name = "sk_POLICYINFO_num__extern"]
20021 pub fn sk_POLICYINFO_num(sk: *const stack_st_POLICYINFO) -> usize;
20022}
20023unsafe extern "C" {
20024 #[link_name = "sk_POLICYINFO_zero__extern"]
20025 pub fn sk_POLICYINFO_zero(sk: *mut stack_st_POLICYINFO);
20026}
20027unsafe extern "C" {
20028 #[link_name = "sk_POLICYINFO_value__extern"]
20029 pub fn sk_POLICYINFO_value(sk: *const stack_st_POLICYINFO, i: usize) -> *mut POLICYINFO;
20030}
20031unsafe extern "C" {
20032 #[link_name = "sk_POLICYINFO_last__extern"]
20033 pub fn sk_POLICYINFO_last(sk: *const stack_st_POLICYINFO) -> *mut POLICYINFO;
20034}
20035unsafe extern "C" {
20036 #[link_name = "sk_POLICYINFO_set__extern"]
20037 pub fn sk_POLICYINFO_set(
20038 sk: *mut stack_st_POLICYINFO,
20039 i: usize,
20040 p: *mut POLICYINFO,
20041 ) -> *mut POLICYINFO;
20042}
20043unsafe extern "C" {
20044 #[link_name = "sk_POLICYINFO_free__extern"]
20045 pub fn sk_POLICYINFO_free(sk: *mut stack_st_POLICYINFO);
20046}
20047unsafe extern "C" {
20048 #[link_name = "sk_POLICYINFO_pop_free__extern"]
20049 pub fn sk_POLICYINFO_pop_free(sk: *mut stack_st_POLICYINFO, free_func: sk_POLICYINFO_free_func);
20050}
20051unsafe extern "C" {
20052 #[link_name = "sk_POLICYINFO_insert__extern"]
20053 pub fn sk_POLICYINFO_insert(
20054 sk: *mut stack_st_POLICYINFO,
20055 p: *mut POLICYINFO,
20056 where_: usize,
20057 ) -> usize;
20058}
20059unsafe extern "C" {
20060 #[link_name = "sk_POLICYINFO_delete__extern"]
20061 pub fn sk_POLICYINFO_delete(sk: *mut stack_st_POLICYINFO, where_: usize) -> *mut POLICYINFO;
20062}
20063unsafe extern "C" {
20064 #[link_name = "sk_POLICYINFO_delete_ptr__extern"]
20065 pub fn sk_POLICYINFO_delete_ptr(
20066 sk: *mut stack_st_POLICYINFO,
20067 p: *const POLICYINFO,
20068 ) -> *mut POLICYINFO;
20069}
20070unsafe extern "C" {
20071 #[link_name = "sk_POLICYINFO_delete_if__extern"]
20072 pub fn sk_POLICYINFO_delete_if(
20073 sk: *mut stack_st_POLICYINFO,
20074 func: sk_POLICYINFO_delete_if_func,
20075 data: *mut ::core::ffi::c_void,
20076 );
20077}
20078unsafe extern "C" {
20079 #[link_name = "sk_POLICYINFO_find__extern"]
20080 pub fn sk_POLICYINFO_find(
20081 sk: *const stack_st_POLICYINFO,
20082 out_index: *mut usize,
20083 p: *const POLICYINFO,
20084 ) -> ::core::ffi::c_int;
20085}
20086unsafe extern "C" {
20087 #[link_name = "sk_POLICYINFO_shift__extern"]
20088 pub fn sk_POLICYINFO_shift(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
20089}
20090unsafe extern "C" {
20091 #[link_name = "sk_POLICYINFO_push__extern"]
20092 pub fn sk_POLICYINFO_push(sk: *mut stack_st_POLICYINFO, p: *mut POLICYINFO) -> usize;
20093}
20094unsafe extern "C" {
20095 #[link_name = "sk_POLICYINFO_pop__extern"]
20096 pub fn sk_POLICYINFO_pop(sk: *mut stack_st_POLICYINFO) -> *mut POLICYINFO;
20097}
20098unsafe extern "C" {
20099 #[link_name = "sk_POLICYINFO_dup__extern"]
20100 pub fn sk_POLICYINFO_dup(sk: *const stack_st_POLICYINFO) -> *mut stack_st_POLICYINFO;
20101}
20102unsafe extern "C" {
20103 #[link_name = "sk_POLICYINFO_sort__extern"]
20104 pub fn sk_POLICYINFO_sort(sk: *mut stack_st_POLICYINFO);
20105}
20106unsafe extern "C" {
20107 #[link_name = "sk_POLICYINFO_sort_and_dedup__extern"]
20108 pub fn sk_POLICYINFO_sort_and_dedup(
20109 sk: *mut stack_st_POLICYINFO,
20110 free_func: sk_POLICYINFO_free_func,
20111 );
20112}
20113unsafe extern "C" {
20114 #[link_name = "sk_POLICYINFO_is_sorted__extern"]
20115 pub fn sk_POLICYINFO_is_sorted(sk: *const stack_st_POLICYINFO) -> ::core::ffi::c_int;
20116}
20117unsafe extern "C" {
20118 #[link_name = "sk_POLICYINFO_set_cmp_func__extern"]
20119 pub fn sk_POLICYINFO_set_cmp_func(
20120 sk: *mut stack_st_POLICYINFO,
20121 comp: sk_POLICYINFO_cmp_func,
20122 ) -> sk_POLICYINFO_cmp_func;
20123}
20124unsafe extern "C" {
20125 #[link_name = "sk_POLICYINFO_deep_copy__extern"]
20126 pub fn sk_POLICYINFO_deep_copy(
20127 sk: *const stack_st_POLICYINFO,
20128 copy_func: sk_POLICYINFO_copy_func,
20129 free_func: sk_POLICYINFO_free_func,
20130 ) -> *mut stack_st_POLICYINFO;
20131}
20132unsafe extern "C" {
20133 pub fn POLICYINFO_new() -> *mut POLICYINFO;
20134}
20135unsafe extern "C" {
20136 pub fn POLICYINFO_free(info: *mut POLICYINFO);
20137}
20138pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
20139unsafe extern "C" {
20140 pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
20141}
20142unsafe extern "C" {
20143 pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
20144}
20145unsafe extern "C" {
20146 pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
20147}
20148unsafe extern "C" {
20149 pub fn d2i_CERTIFICATEPOLICIES(
20150 out: *mut *mut CERTIFICATEPOLICIES,
20151 inp: *mut *const u8,
20152 len: ::core::ffi::c_long,
20153 ) -> *mut CERTIFICATEPOLICIES;
20154}
20155unsafe extern "C" {
20156 pub fn i2d_CERTIFICATEPOLICIES(
20157 policies: *const CERTIFICATEPOLICIES,
20158 outp: *mut *mut u8,
20159 ) -> ::core::ffi::c_int;
20160}
20161#[repr(C)]
20162#[derive(Debug, Copy, Clone)]
20163pub struct POLICY_MAPPING_st {
20164 pub issuerDomainPolicy: *mut ASN1_OBJECT,
20165 pub subjectDomainPolicy: *mut ASN1_OBJECT,
20166}
20167pub type POLICY_MAPPING = POLICY_MAPPING_st;
20168#[repr(C)]
20169#[derive(Debug)]
20170pub struct stack_st_POLICY_MAPPING {
20171 _unused: [u8; 0],
20172}
20173pub type sk_POLICY_MAPPING_free_func =
20174 ::core::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
20175pub type sk_POLICY_MAPPING_copy_func = ::core::option::Option<
20176 unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING,
20177>;
20178pub type sk_POLICY_MAPPING_cmp_func = ::core::option::Option<
20179 unsafe extern "C" fn(
20180 arg1: *const *const POLICY_MAPPING,
20181 arg2: *const *const POLICY_MAPPING,
20182 ) -> ::core::ffi::c_int,
20183>;
20184pub type sk_POLICY_MAPPING_delete_if_func = ::core::option::Option<
20185 unsafe extern "C" fn(
20186 arg1: *mut POLICY_MAPPING,
20187 arg2: *mut ::core::ffi::c_void,
20188 ) -> ::core::ffi::c_int,
20189>;
20190unsafe extern "C" {
20191 #[link_name = "sk_POLICY_MAPPING_call_free_func__extern"]
20192 pub fn sk_POLICY_MAPPING_call_free_func(
20193 free_func: OPENSSL_sk_free_func,
20194 ptr: *mut ::core::ffi::c_void,
20195 );
20196}
20197unsafe extern "C" {
20198 #[link_name = "sk_POLICY_MAPPING_call_copy_func__extern"]
20199 pub fn sk_POLICY_MAPPING_call_copy_func(
20200 copy_func: OPENSSL_sk_copy_func,
20201 ptr: *const ::core::ffi::c_void,
20202 ) -> *mut ::core::ffi::c_void;
20203}
20204unsafe extern "C" {
20205 #[link_name = "sk_POLICY_MAPPING_call_cmp_func__extern"]
20206 pub fn sk_POLICY_MAPPING_call_cmp_func(
20207 cmp_func: OPENSSL_sk_cmp_func,
20208 a: *const ::core::ffi::c_void,
20209 b: *const ::core::ffi::c_void,
20210 ) -> ::core::ffi::c_int;
20211}
20212unsafe extern "C" {
20213 #[link_name = "sk_POLICY_MAPPING_call_delete_if_func__extern"]
20214 pub fn sk_POLICY_MAPPING_call_delete_if_func(
20215 func: OPENSSL_sk_delete_if_func,
20216 obj: *mut ::core::ffi::c_void,
20217 data: *mut ::core::ffi::c_void,
20218 ) -> ::core::ffi::c_int;
20219}
20220unsafe extern "C" {
20221 #[link_name = "sk_POLICY_MAPPING_new__extern"]
20222 pub fn sk_POLICY_MAPPING_new(comp: sk_POLICY_MAPPING_cmp_func) -> *mut stack_st_POLICY_MAPPING;
20223}
20224unsafe extern "C" {
20225 #[link_name = "sk_POLICY_MAPPING_new_null__extern"]
20226 pub fn sk_POLICY_MAPPING_new_null() -> *mut stack_st_POLICY_MAPPING;
20227}
20228unsafe extern "C" {
20229 #[link_name = "sk_POLICY_MAPPING_num__extern"]
20230 pub fn sk_POLICY_MAPPING_num(sk: *const stack_st_POLICY_MAPPING) -> usize;
20231}
20232unsafe extern "C" {
20233 #[link_name = "sk_POLICY_MAPPING_zero__extern"]
20234 pub fn sk_POLICY_MAPPING_zero(sk: *mut stack_st_POLICY_MAPPING);
20235}
20236unsafe extern "C" {
20237 #[link_name = "sk_POLICY_MAPPING_value__extern"]
20238 pub fn sk_POLICY_MAPPING_value(
20239 sk: *const stack_st_POLICY_MAPPING,
20240 i: usize,
20241 ) -> *mut POLICY_MAPPING;
20242}
20243unsafe extern "C" {
20244 #[link_name = "sk_POLICY_MAPPING_last__extern"]
20245 pub fn sk_POLICY_MAPPING_last(sk: *const stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20246}
20247unsafe extern "C" {
20248 #[link_name = "sk_POLICY_MAPPING_set__extern"]
20249 pub fn sk_POLICY_MAPPING_set(
20250 sk: *mut stack_st_POLICY_MAPPING,
20251 i: usize,
20252 p: *mut POLICY_MAPPING,
20253 ) -> *mut POLICY_MAPPING;
20254}
20255unsafe extern "C" {
20256 #[link_name = "sk_POLICY_MAPPING_free__extern"]
20257 pub fn sk_POLICY_MAPPING_free(sk: *mut stack_st_POLICY_MAPPING);
20258}
20259unsafe extern "C" {
20260 #[link_name = "sk_POLICY_MAPPING_pop_free__extern"]
20261 pub fn sk_POLICY_MAPPING_pop_free(
20262 sk: *mut stack_st_POLICY_MAPPING,
20263 free_func: sk_POLICY_MAPPING_free_func,
20264 );
20265}
20266unsafe extern "C" {
20267 #[link_name = "sk_POLICY_MAPPING_insert__extern"]
20268 pub fn sk_POLICY_MAPPING_insert(
20269 sk: *mut stack_st_POLICY_MAPPING,
20270 p: *mut POLICY_MAPPING,
20271 where_: usize,
20272 ) -> usize;
20273}
20274unsafe extern "C" {
20275 #[link_name = "sk_POLICY_MAPPING_delete__extern"]
20276 pub fn sk_POLICY_MAPPING_delete(
20277 sk: *mut stack_st_POLICY_MAPPING,
20278 where_: usize,
20279 ) -> *mut POLICY_MAPPING;
20280}
20281unsafe extern "C" {
20282 #[link_name = "sk_POLICY_MAPPING_delete_ptr__extern"]
20283 pub fn sk_POLICY_MAPPING_delete_ptr(
20284 sk: *mut stack_st_POLICY_MAPPING,
20285 p: *const POLICY_MAPPING,
20286 ) -> *mut POLICY_MAPPING;
20287}
20288unsafe extern "C" {
20289 #[link_name = "sk_POLICY_MAPPING_delete_if__extern"]
20290 pub fn sk_POLICY_MAPPING_delete_if(
20291 sk: *mut stack_st_POLICY_MAPPING,
20292 func: sk_POLICY_MAPPING_delete_if_func,
20293 data: *mut ::core::ffi::c_void,
20294 );
20295}
20296unsafe extern "C" {
20297 #[link_name = "sk_POLICY_MAPPING_find__extern"]
20298 pub fn sk_POLICY_MAPPING_find(
20299 sk: *const stack_st_POLICY_MAPPING,
20300 out_index: *mut usize,
20301 p: *const POLICY_MAPPING,
20302 ) -> ::core::ffi::c_int;
20303}
20304unsafe extern "C" {
20305 #[link_name = "sk_POLICY_MAPPING_shift__extern"]
20306 pub fn sk_POLICY_MAPPING_shift(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20307}
20308unsafe extern "C" {
20309 #[link_name = "sk_POLICY_MAPPING_push__extern"]
20310 pub fn sk_POLICY_MAPPING_push(
20311 sk: *mut stack_st_POLICY_MAPPING,
20312 p: *mut POLICY_MAPPING,
20313 ) -> usize;
20314}
20315unsafe extern "C" {
20316 #[link_name = "sk_POLICY_MAPPING_pop__extern"]
20317 pub fn sk_POLICY_MAPPING_pop(sk: *mut stack_st_POLICY_MAPPING) -> *mut POLICY_MAPPING;
20318}
20319unsafe extern "C" {
20320 #[link_name = "sk_POLICY_MAPPING_dup__extern"]
20321 pub fn sk_POLICY_MAPPING_dup(
20322 sk: *const stack_st_POLICY_MAPPING,
20323 ) -> *mut stack_st_POLICY_MAPPING;
20324}
20325unsafe extern "C" {
20326 #[link_name = "sk_POLICY_MAPPING_sort__extern"]
20327 pub fn sk_POLICY_MAPPING_sort(sk: *mut stack_st_POLICY_MAPPING);
20328}
20329unsafe extern "C" {
20330 #[link_name = "sk_POLICY_MAPPING_sort_and_dedup__extern"]
20331 pub fn sk_POLICY_MAPPING_sort_and_dedup(
20332 sk: *mut stack_st_POLICY_MAPPING,
20333 free_func: sk_POLICY_MAPPING_free_func,
20334 );
20335}
20336unsafe extern "C" {
20337 #[link_name = "sk_POLICY_MAPPING_is_sorted__extern"]
20338 pub fn sk_POLICY_MAPPING_is_sorted(sk: *const stack_st_POLICY_MAPPING) -> ::core::ffi::c_int;
20339}
20340unsafe extern "C" {
20341 #[link_name = "sk_POLICY_MAPPING_set_cmp_func__extern"]
20342 pub fn sk_POLICY_MAPPING_set_cmp_func(
20343 sk: *mut stack_st_POLICY_MAPPING,
20344 comp: sk_POLICY_MAPPING_cmp_func,
20345 ) -> sk_POLICY_MAPPING_cmp_func;
20346}
20347unsafe extern "C" {
20348 #[link_name = "sk_POLICY_MAPPING_deep_copy__extern"]
20349 pub fn sk_POLICY_MAPPING_deep_copy(
20350 sk: *const stack_st_POLICY_MAPPING,
20351 copy_func: sk_POLICY_MAPPING_copy_func,
20352 free_func: sk_POLICY_MAPPING_free_func,
20353 ) -> *mut stack_st_POLICY_MAPPING;
20354}
20355unsafe extern "C" {
20356 pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
20357}
20358unsafe extern "C" {
20359 pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
20360}
20361pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
20362unsafe extern "C" {
20363 pub static POLICY_MAPPINGS_it: ASN1_ITEM;
20364}
20365#[repr(C)]
20366#[derive(Debug, Copy, Clone)]
20367pub struct POLICY_CONSTRAINTS_st {
20368 pub requireExplicitPolicy: *mut ASN1_INTEGER,
20369 pub inhibitPolicyMapping: *mut ASN1_INTEGER,
20370}
20371pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
20372unsafe extern "C" {
20373 pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
20374}
20375unsafe extern "C" {
20376 pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
20377}
20378unsafe extern "C" {
20379 pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
20380}
20381#[repr(C)]
20382#[derive(Debug)]
20383pub struct stack_st_X509_ALGOR {
20384 _unused: [u8; 0],
20385}
20386pub type sk_X509_ALGOR_free_func =
20387 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
20388pub type sk_X509_ALGOR_copy_func =
20389 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
20390pub type sk_X509_ALGOR_cmp_func = ::core::option::Option<
20391 unsafe extern "C" fn(
20392 arg1: *const *const X509_ALGOR,
20393 arg2: *const *const X509_ALGOR,
20394 ) -> ::core::ffi::c_int,
20395>;
20396pub type sk_X509_ALGOR_delete_if_func = ::core::option::Option<
20397 unsafe extern "C" fn(
20398 arg1: *mut X509_ALGOR,
20399 arg2: *mut ::core::ffi::c_void,
20400 ) -> ::core::ffi::c_int,
20401>;
20402unsafe extern "C" {
20403 #[link_name = "sk_X509_ALGOR_call_free_func__extern"]
20404 pub fn sk_X509_ALGOR_call_free_func(
20405 free_func: OPENSSL_sk_free_func,
20406 ptr: *mut ::core::ffi::c_void,
20407 );
20408}
20409unsafe extern "C" {
20410 #[link_name = "sk_X509_ALGOR_call_copy_func__extern"]
20411 pub fn sk_X509_ALGOR_call_copy_func(
20412 copy_func: OPENSSL_sk_copy_func,
20413 ptr: *const ::core::ffi::c_void,
20414 ) -> *mut ::core::ffi::c_void;
20415}
20416unsafe extern "C" {
20417 #[link_name = "sk_X509_ALGOR_call_cmp_func__extern"]
20418 pub fn sk_X509_ALGOR_call_cmp_func(
20419 cmp_func: OPENSSL_sk_cmp_func,
20420 a: *const ::core::ffi::c_void,
20421 b: *const ::core::ffi::c_void,
20422 ) -> ::core::ffi::c_int;
20423}
20424unsafe extern "C" {
20425 #[link_name = "sk_X509_ALGOR_call_delete_if_func__extern"]
20426 pub fn sk_X509_ALGOR_call_delete_if_func(
20427 func: OPENSSL_sk_delete_if_func,
20428 obj: *mut ::core::ffi::c_void,
20429 data: *mut ::core::ffi::c_void,
20430 ) -> ::core::ffi::c_int;
20431}
20432unsafe extern "C" {
20433 #[link_name = "sk_X509_ALGOR_new__extern"]
20434 pub fn sk_X509_ALGOR_new(comp: sk_X509_ALGOR_cmp_func) -> *mut stack_st_X509_ALGOR;
20435}
20436unsafe extern "C" {
20437 #[link_name = "sk_X509_ALGOR_new_null__extern"]
20438 pub fn sk_X509_ALGOR_new_null() -> *mut stack_st_X509_ALGOR;
20439}
20440unsafe extern "C" {
20441 #[link_name = "sk_X509_ALGOR_num__extern"]
20442 pub fn sk_X509_ALGOR_num(sk: *const stack_st_X509_ALGOR) -> usize;
20443}
20444unsafe extern "C" {
20445 #[link_name = "sk_X509_ALGOR_zero__extern"]
20446 pub fn sk_X509_ALGOR_zero(sk: *mut stack_st_X509_ALGOR);
20447}
20448unsafe extern "C" {
20449 #[link_name = "sk_X509_ALGOR_value__extern"]
20450 pub fn sk_X509_ALGOR_value(sk: *const stack_st_X509_ALGOR, i: usize) -> *mut X509_ALGOR;
20451}
20452unsafe extern "C" {
20453 #[link_name = "sk_X509_ALGOR_last__extern"]
20454 pub fn sk_X509_ALGOR_last(sk: *const stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20455}
20456unsafe extern "C" {
20457 #[link_name = "sk_X509_ALGOR_set__extern"]
20458 pub fn sk_X509_ALGOR_set(
20459 sk: *mut stack_st_X509_ALGOR,
20460 i: usize,
20461 p: *mut X509_ALGOR,
20462 ) -> *mut X509_ALGOR;
20463}
20464unsafe extern "C" {
20465 #[link_name = "sk_X509_ALGOR_free__extern"]
20466 pub fn sk_X509_ALGOR_free(sk: *mut stack_st_X509_ALGOR);
20467}
20468unsafe extern "C" {
20469 #[link_name = "sk_X509_ALGOR_pop_free__extern"]
20470 pub fn sk_X509_ALGOR_pop_free(sk: *mut stack_st_X509_ALGOR, free_func: sk_X509_ALGOR_free_func);
20471}
20472unsafe extern "C" {
20473 #[link_name = "sk_X509_ALGOR_insert__extern"]
20474 pub fn sk_X509_ALGOR_insert(
20475 sk: *mut stack_st_X509_ALGOR,
20476 p: *mut X509_ALGOR,
20477 where_: usize,
20478 ) -> usize;
20479}
20480unsafe extern "C" {
20481 #[link_name = "sk_X509_ALGOR_delete__extern"]
20482 pub fn sk_X509_ALGOR_delete(sk: *mut stack_st_X509_ALGOR, where_: usize) -> *mut X509_ALGOR;
20483}
20484unsafe extern "C" {
20485 #[link_name = "sk_X509_ALGOR_delete_ptr__extern"]
20486 pub fn sk_X509_ALGOR_delete_ptr(
20487 sk: *mut stack_st_X509_ALGOR,
20488 p: *const X509_ALGOR,
20489 ) -> *mut X509_ALGOR;
20490}
20491unsafe extern "C" {
20492 #[link_name = "sk_X509_ALGOR_delete_if__extern"]
20493 pub fn sk_X509_ALGOR_delete_if(
20494 sk: *mut stack_st_X509_ALGOR,
20495 func: sk_X509_ALGOR_delete_if_func,
20496 data: *mut ::core::ffi::c_void,
20497 );
20498}
20499unsafe extern "C" {
20500 #[link_name = "sk_X509_ALGOR_find__extern"]
20501 pub fn sk_X509_ALGOR_find(
20502 sk: *const stack_st_X509_ALGOR,
20503 out_index: *mut usize,
20504 p: *const X509_ALGOR,
20505 ) -> ::core::ffi::c_int;
20506}
20507unsafe extern "C" {
20508 #[link_name = "sk_X509_ALGOR_shift__extern"]
20509 pub fn sk_X509_ALGOR_shift(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20510}
20511unsafe extern "C" {
20512 #[link_name = "sk_X509_ALGOR_push__extern"]
20513 pub fn sk_X509_ALGOR_push(sk: *mut stack_st_X509_ALGOR, p: *mut X509_ALGOR) -> usize;
20514}
20515unsafe extern "C" {
20516 #[link_name = "sk_X509_ALGOR_pop__extern"]
20517 pub fn sk_X509_ALGOR_pop(sk: *mut stack_st_X509_ALGOR) -> *mut X509_ALGOR;
20518}
20519unsafe extern "C" {
20520 #[link_name = "sk_X509_ALGOR_dup__extern"]
20521 pub fn sk_X509_ALGOR_dup(sk: *const stack_st_X509_ALGOR) -> *mut stack_st_X509_ALGOR;
20522}
20523unsafe extern "C" {
20524 #[link_name = "sk_X509_ALGOR_sort__extern"]
20525 pub fn sk_X509_ALGOR_sort(sk: *mut stack_st_X509_ALGOR);
20526}
20527unsafe extern "C" {
20528 #[link_name = "sk_X509_ALGOR_sort_and_dedup__extern"]
20529 pub fn sk_X509_ALGOR_sort_and_dedup(
20530 sk: *mut stack_st_X509_ALGOR,
20531 free_func: sk_X509_ALGOR_free_func,
20532 );
20533}
20534unsafe extern "C" {
20535 #[link_name = "sk_X509_ALGOR_is_sorted__extern"]
20536 pub fn sk_X509_ALGOR_is_sorted(sk: *const stack_st_X509_ALGOR) -> ::core::ffi::c_int;
20537}
20538unsafe extern "C" {
20539 #[link_name = "sk_X509_ALGOR_set_cmp_func__extern"]
20540 pub fn sk_X509_ALGOR_set_cmp_func(
20541 sk: *mut stack_st_X509_ALGOR,
20542 comp: sk_X509_ALGOR_cmp_func,
20543 ) -> sk_X509_ALGOR_cmp_func;
20544}
20545unsafe extern "C" {
20546 #[link_name = "sk_X509_ALGOR_deep_copy__extern"]
20547 pub fn sk_X509_ALGOR_deep_copy(
20548 sk: *const stack_st_X509_ALGOR,
20549 copy_func: sk_X509_ALGOR_copy_func,
20550 free_func: sk_X509_ALGOR_free_func,
20551 ) -> *mut stack_st_X509_ALGOR;
20552}
20553unsafe extern "C" {
20554 pub static X509_ALGOR_it: ASN1_ITEM;
20555}
20556unsafe extern "C" {
20557 pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
20558}
20559unsafe extern "C" {
20560 pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
20561}
20562unsafe extern "C" {
20563 pub fn X509_ALGOR_copy(dst: *mut X509_ALGOR, src: *const X509_ALGOR) -> ::core::ffi::c_int;
20564}
20565unsafe extern "C" {
20566 pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
20567}
20568unsafe extern "C" {
20569 pub fn d2i_X509_ALGOR(
20570 out: *mut *mut X509_ALGOR,
20571 inp: *mut *const u8,
20572 len: ::core::ffi::c_long,
20573 ) -> *mut X509_ALGOR;
20574}
20575unsafe extern "C" {
20576 pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::core::ffi::c_int;
20577}
20578unsafe extern "C" {
20579 pub fn X509_ALGOR_set0(
20580 alg: *mut X509_ALGOR,
20581 obj: *mut ASN1_OBJECT,
20582 param_type: ::core::ffi::c_int,
20583 param_value: *mut ::core::ffi::c_void,
20584 ) -> ::core::ffi::c_int;
20585}
20586unsafe extern "C" {
20587 pub fn X509_ALGOR_get0(
20588 out_obj: *mut *const ASN1_OBJECT,
20589 out_param_type: *mut ::core::ffi::c_int,
20590 out_param_value: *mut *const ::core::ffi::c_void,
20591 alg: *const X509_ALGOR,
20592 );
20593}
20594unsafe extern "C" {
20595 pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::core::ffi::c_int;
20596}
20597unsafe extern "C" {
20598 pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::core::ffi::c_int;
20599}
20600#[repr(C)]
20601#[derive(Debug)]
20602pub struct stack_st_X509_ATTRIBUTE {
20603 _unused: [u8; 0],
20604}
20605pub type sk_X509_ATTRIBUTE_free_func =
20606 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
20607pub type sk_X509_ATTRIBUTE_copy_func = ::core::option::Option<
20608 unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE,
20609>;
20610pub type sk_X509_ATTRIBUTE_cmp_func = ::core::option::Option<
20611 unsafe extern "C" fn(
20612 arg1: *const *const X509_ATTRIBUTE,
20613 arg2: *const *const X509_ATTRIBUTE,
20614 ) -> ::core::ffi::c_int,
20615>;
20616pub type sk_X509_ATTRIBUTE_delete_if_func = ::core::option::Option<
20617 unsafe extern "C" fn(
20618 arg1: *mut X509_ATTRIBUTE,
20619 arg2: *mut ::core::ffi::c_void,
20620 ) -> ::core::ffi::c_int,
20621>;
20622unsafe extern "C" {
20623 #[link_name = "sk_X509_ATTRIBUTE_call_free_func__extern"]
20624 pub fn sk_X509_ATTRIBUTE_call_free_func(
20625 free_func: OPENSSL_sk_free_func,
20626 ptr: *mut ::core::ffi::c_void,
20627 );
20628}
20629unsafe extern "C" {
20630 #[link_name = "sk_X509_ATTRIBUTE_call_copy_func__extern"]
20631 pub fn sk_X509_ATTRIBUTE_call_copy_func(
20632 copy_func: OPENSSL_sk_copy_func,
20633 ptr: *const ::core::ffi::c_void,
20634 ) -> *mut ::core::ffi::c_void;
20635}
20636unsafe extern "C" {
20637 #[link_name = "sk_X509_ATTRIBUTE_call_cmp_func__extern"]
20638 pub fn sk_X509_ATTRIBUTE_call_cmp_func(
20639 cmp_func: OPENSSL_sk_cmp_func,
20640 a: *const ::core::ffi::c_void,
20641 b: *const ::core::ffi::c_void,
20642 ) -> ::core::ffi::c_int;
20643}
20644unsafe extern "C" {
20645 #[link_name = "sk_X509_ATTRIBUTE_call_delete_if_func__extern"]
20646 pub fn sk_X509_ATTRIBUTE_call_delete_if_func(
20647 func: OPENSSL_sk_delete_if_func,
20648 obj: *mut ::core::ffi::c_void,
20649 data: *mut ::core::ffi::c_void,
20650 ) -> ::core::ffi::c_int;
20651}
20652unsafe extern "C" {
20653 #[link_name = "sk_X509_ATTRIBUTE_new__extern"]
20654 pub fn sk_X509_ATTRIBUTE_new(comp: sk_X509_ATTRIBUTE_cmp_func) -> *mut stack_st_X509_ATTRIBUTE;
20655}
20656unsafe extern "C" {
20657 #[link_name = "sk_X509_ATTRIBUTE_new_null__extern"]
20658 pub fn sk_X509_ATTRIBUTE_new_null() -> *mut stack_st_X509_ATTRIBUTE;
20659}
20660unsafe extern "C" {
20661 #[link_name = "sk_X509_ATTRIBUTE_num__extern"]
20662 pub fn sk_X509_ATTRIBUTE_num(sk: *const stack_st_X509_ATTRIBUTE) -> usize;
20663}
20664unsafe extern "C" {
20665 #[link_name = "sk_X509_ATTRIBUTE_zero__extern"]
20666 pub fn sk_X509_ATTRIBUTE_zero(sk: *mut stack_st_X509_ATTRIBUTE);
20667}
20668unsafe extern "C" {
20669 #[link_name = "sk_X509_ATTRIBUTE_value__extern"]
20670 pub fn sk_X509_ATTRIBUTE_value(
20671 sk: *const stack_st_X509_ATTRIBUTE,
20672 i: usize,
20673 ) -> *mut X509_ATTRIBUTE;
20674}
20675unsafe extern "C" {
20676 #[link_name = "sk_X509_ATTRIBUTE_last__extern"]
20677 pub fn sk_X509_ATTRIBUTE_last(sk: *const stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20678}
20679unsafe extern "C" {
20680 #[link_name = "sk_X509_ATTRIBUTE_set__extern"]
20681 pub fn sk_X509_ATTRIBUTE_set(
20682 sk: *mut stack_st_X509_ATTRIBUTE,
20683 i: usize,
20684 p: *mut X509_ATTRIBUTE,
20685 ) -> *mut X509_ATTRIBUTE;
20686}
20687unsafe extern "C" {
20688 #[link_name = "sk_X509_ATTRIBUTE_free__extern"]
20689 pub fn sk_X509_ATTRIBUTE_free(sk: *mut stack_st_X509_ATTRIBUTE);
20690}
20691unsafe extern "C" {
20692 #[link_name = "sk_X509_ATTRIBUTE_pop_free__extern"]
20693 pub fn sk_X509_ATTRIBUTE_pop_free(
20694 sk: *mut stack_st_X509_ATTRIBUTE,
20695 free_func: sk_X509_ATTRIBUTE_free_func,
20696 );
20697}
20698unsafe extern "C" {
20699 #[link_name = "sk_X509_ATTRIBUTE_insert__extern"]
20700 pub fn sk_X509_ATTRIBUTE_insert(
20701 sk: *mut stack_st_X509_ATTRIBUTE,
20702 p: *mut X509_ATTRIBUTE,
20703 where_: usize,
20704 ) -> usize;
20705}
20706unsafe extern "C" {
20707 #[link_name = "sk_X509_ATTRIBUTE_delete__extern"]
20708 pub fn sk_X509_ATTRIBUTE_delete(
20709 sk: *mut stack_st_X509_ATTRIBUTE,
20710 where_: usize,
20711 ) -> *mut X509_ATTRIBUTE;
20712}
20713unsafe extern "C" {
20714 #[link_name = "sk_X509_ATTRIBUTE_delete_ptr__extern"]
20715 pub fn sk_X509_ATTRIBUTE_delete_ptr(
20716 sk: *mut stack_st_X509_ATTRIBUTE,
20717 p: *const X509_ATTRIBUTE,
20718 ) -> *mut X509_ATTRIBUTE;
20719}
20720unsafe extern "C" {
20721 #[link_name = "sk_X509_ATTRIBUTE_delete_if__extern"]
20722 pub fn sk_X509_ATTRIBUTE_delete_if(
20723 sk: *mut stack_st_X509_ATTRIBUTE,
20724 func: sk_X509_ATTRIBUTE_delete_if_func,
20725 data: *mut ::core::ffi::c_void,
20726 );
20727}
20728unsafe extern "C" {
20729 #[link_name = "sk_X509_ATTRIBUTE_find__extern"]
20730 pub fn sk_X509_ATTRIBUTE_find(
20731 sk: *const stack_st_X509_ATTRIBUTE,
20732 out_index: *mut usize,
20733 p: *const X509_ATTRIBUTE,
20734 ) -> ::core::ffi::c_int;
20735}
20736unsafe extern "C" {
20737 #[link_name = "sk_X509_ATTRIBUTE_shift__extern"]
20738 pub fn sk_X509_ATTRIBUTE_shift(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20739}
20740unsafe extern "C" {
20741 #[link_name = "sk_X509_ATTRIBUTE_push__extern"]
20742 pub fn sk_X509_ATTRIBUTE_push(
20743 sk: *mut stack_st_X509_ATTRIBUTE,
20744 p: *mut X509_ATTRIBUTE,
20745 ) -> usize;
20746}
20747unsafe extern "C" {
20748 #[link_name = "sk_X509_ATTRIBUTE_pop__extern"]
20749 pub fn sk_X509_ATTRIBUTE_pop(sk: *mut stack_st_X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20750}
20751unsafe extern "C" {
20752 #[link_name = "sk_X509_ATTRIBUTE_dup__extern"]
20753 pub fn sk_X509_ATTRIBUTE_dup(
20754 sk: *const stack_st_X509_ATTRIBUTE,
20755 ) -> *mut stack_st_X509_ATTRIBUTE;
20756}
20757unsafe extern "C" {
20758 #[link_name = "sk_X509_ATTRIBUTE_sort__extern"]
20759 pub fn sk_X509_ATTRIBUTE_sort(sk: *mut stack_st_X509_ATTRIBUTE);
20760}
20761unsafe extern "C" {
20762 #[link_name = "sk_X509_ATTRIBUTE_sort_and_dedup__extern"]
20763 pub fn sk_X509_ATTRIBUTE_sort_and_dedup(
20764 sk: *mut stack_st_X509_ATTRIBUTE,
20765 free_func: sk_X509_ATTRIBUTE_free_func,
20766 );
20767}
20768unsafe extern "C" {
20769 #[link_name = "sk_X509_ATTRIBUTE_is_sorted__extern"]
20770 pub fn sk_X509_ATTRIBUTE_is_sorted(sk: *const stack_st_X509_ATTRIBUTE) -> ::core::ffi::c_int;
20771}
20772unsafe extern "C" {
20773 #[link_name = "sk_X509_ATTRIBUTE_set_cmp_func__extern"]
20774 pub fn sk_X509_ATTRIBUTE_set_cmp_func(
20775 sk: *mut stack_st_X509_ATTRIBUTE,
20776 comp: sk_X509_ATTRIBUTE_cmp_func,
20777 ) -> sk_X509_ATTRIBUTE_cmp_func;
20778}
20779unsafe extern "C" {
20780 #[link_name = "sk_X509_ATTRIBUTE_deep_copy__extern"]
20781 pub fn sk_X509_ATTRIBUTE_deep_copy(
20782 sk: *const stack_st_X509_ATTRIBUTE,
20783 copy_func: sk_X509_ATTRIBUTE_copy_func,
20784 free_func: sk_X509_ATTRIBUTE_free_func,
20785 ) -> *mut stack_st_X509_ATTRIBUTE;
20786}
20787unsafe extern "C" {
20788 pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
20789}
20790unsafe extern "C" {
20791 pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20792}
20793unsafe extern "C" {
20794 pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
20795}
20796unsafe extern "C" {
20797 pub fn d2i_X509_ATTRIBUTE(
20798 out: *mut *mut X509_ATTRIBUTE,
20799 inp: *mut *const u8,
20800 len: ::core::ffi::c_long,
20801 ) -> *mut X509_ATTRIBUTE;
20802}
20803unsafe extern "C" {
20804 pub fn i2d_X509_ATTRIBUTE(alg: *const X509_ATTRIBUTE, outp: *mut *mut u8)
20805 -> ::core::ffi::c_int;
20806}
20807unsafe extern "C" {
20808 pub fn X509_ATTRIBUTE_create(
20809 nid: ::core::ffi::c_int,
20810 attrtype: ::core::ffi::c_int,
20811 value: *mut ::core::ffi::c_void,
20812 ) -> *mut X509_ATTRIBUTE;
20813}
20814unsafe extern "C" {
20815 pub fn X509_ATTRIBUTE_create_by_NID(
20816 attr: *mut *mut X509_ATTRIBUTE,
20817 nid: ::core::ffi::c_int,
20818 attrtype: ::core::ffi::c_int,
20819 data: *const ::core::ffi::c_void,
20820 len: ::core::ffi::c_int,
20821 ) -> *mut X509_ATTRIBUTE;
20822}
20823unsafe extern "C" {
20824 pub fn X509_ATTRIBUTE_create_by_OBJ(
20825 attr: *mut *mut X509_ATTRIBUTE,
20826 obj: *const ASN1_OBJECT,
20827 attrtype: ::core::ffi::c_int,
20828 data: *const ::core::ffi::c_void,
20829 len: ::core::ffi::c_int,
20830 ) -> *mut X509_ATTRIBUTE;
20831}
20832unsafe extern "C" {
20833 pub fn X509_ATTRIBUTE_create_by_txt(
20834 attr: *mut *mut X509_ATTRIBUTE,
20835 attrname: *const ::core::ffi::c_char,
20836 type_: ::core::ffi::c_int,
20837 bytes: *const ::core::ffi::c_uchar,
20838 len: ::core::ffi::c_int,
20839 ) -> *mut X509_ATTRIBUTE;
20840}
20841unsafe extern "C" {
20842 pub fn X509_ATTRIBUTE_set1_object(
20843 attr: *mut X509_ATTRIBUTE,
20844 obj: *const ASN1_OBJECT,
20845 ) -> ::core::ffi::c_int;
20846}
20847unsafe extern "C" {
20848 pub fn X509_ATTRIBUTE_set1_data(
20849 attr: *mut X509_ATTRIBUTE,
20850 attrtype: ::core::ffi::c_int,
20851 data: *const ::core::ffi::c_void,
20852 len: ::core::ffi::c_int,
20853 ) -> ::core::ffi::c_int;
20854}
20855unsafe extern "C" {
20856 pub fn X509_ATTRIBUTE_get0_data(
20857 attr: *mut X509_ATTRIBUTE,
20858 idx: ::core::ffi::c_int,
20859 attrtype: ::core::ffi::c_int,
20860 unused: *mut ::core::ffi::c_void,
20861 ) -> *mut ::core::ffi::c_void;
20862}
20863unsafe extern "C" {
20864 pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::core::ffi::c_int;
20865}
20866unsafe extern "C" {
20867 pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
20868}
20869unsafe extern "C" {
20870 pub fn X509_ATTRIBUTE_get0_type(
20871 attr: *mut X509_ATTRIBUTE,
20872 idx: ::core::ffi::c_int,
20873 ) -> *mut ASN1_TYPE;
20874}
20875unsafe extern "C" {
20876 pub fn X509_STORE_new() -> *mut X509_STORE;
20877}
20878unsafe extern "C" {
20879 pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::core::ffi::c_int;
20880}
20881unsafe extern "C" {
20882 pub fn X509_STORE_free(store: *mut X509_STORE);
20883}
20884unsafe extern "C" {
20885 pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::core::ffi::c_int;
20886}
20887unsafe extern "C" {
20888 pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::core::ffi::c_int;
20889}
20890unsafe extern "C" {
20891 pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
20892}
20893unsafe extern "C" {
20894 pub fn X509_STORE_set1_param(
20895 store: *mut X509_STORE,
20896 param: *const X509_VERIFY_PARAM,
20897 ) -> ::core::ffi::c_int;
20898}
20899unsafe extern "C" {
20900 pub fn X509_STORE_set_flags(
20901 store: *mut X509_STORE,
20902 flags: ::core::ffi::c_ulong,
20903 ) -> ::core::ffi::c_int;
20904}
20905unsafe extern "C" {
20906 pub fn X509_STORE_set_depth(
20907 store: *mut X509_STORE,
20908 depth: ::core::ffi::c_int,
20909 ) -> ::core::ffi::c_int;
20910}
20911unsafe extern "C" {
20912 pub fn X509_STORE_set_purpose(
20913 store: *mut X509_STORE,
20914 purpose: ::core::ffi::c_int,
20915 ) -> ::core::ffi::c_int;
20916}
20917unsafe extern "C" {
20918 pub fn X509_STORE_set_trust(
20919 store: *mut X509_STORE,
20920 trust: ::core::ffi::c_int,
20921 ) -> ::core::ffi::c_int;
20922}
20923#[repr(C)]
20924#[derive(Debug)]
20925pub struct stack_st_X509_OBJECT {
20926 _unused: [u8; 0],
20927}
20928pub type sk_X509_OBJECT_free_func =
20929 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
20930pub type sk_X509_OBJECT_copy_func =
20931 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
20932pub type sk_X509_OBJECT_cmp_func = ::core::option::Option<
20933 unsafe extern "C" fn(
20934 arg1: *const *const X509_OBJECT,
20935 arg2: *const *const X509_OBJECT,
20936 ) -> ::core::ffi::c_int,
20937>;
20938pub type sk_X509_OBJECT_delete_if_func = ::core::option::Option<
20939 unsafe extern "C" fn(
20940 arg1: *mut X509_OBJECT,
20941 arg2: *mut ::core::ffi::c_void,
20942 ) -> ::core::ffi::c_int,
20943>;
20944unsafe extern "C" {
20945 #[link_name = "sk_X509_OBJECT_call_free_func__extern"]
20946 pub fn sk_X509_OBJECT_call_free_func(
20947 free_func: OPENSSL_sk_free_func,
20948 ptr: *mut ::core::ffi::c_void,
20949 );
20950}
20951unsafe extern "C" {
20952 #[link_name = "sk_X509_OBJECT_call_copy_func__extern"]
20953 pub fn sk_X509_OBJECT_call_copy_func(
20954 copy_func: OPENSSL_sk_copy_func,
20955 ptr: *const ::core::ffi::c_void,
20956 ) -> *mut ::core::ffi::c_void;
20957}
20958unsafe extern "C" {
20959 #[link_name = "sk_X509_OBJECT_call_cmp_func__extern"]
20960 pub fn sk_X509_OBJECT_call_cmp_func(
20961 cmp_func: OPENSSL_sk_cmp_func,
20962 a: *const ::core::ffi::c_void,
20963 b: *const ::core::ffi::c_void,
20964 ) -> ::core::ffi::c_int;
20965}
20966unsafe extern "C" {
20967 #[link_name = "sk_X509_OBJECT_call_delete_if_func__extern"]
20968 pub fn sk_X509_OBJECT_call_delete_if_func(
20969 func: OPENSSL_sk_delete_if_func,
20970 obj: *mut ::core::ffi::c_void,
20971 data: *mut ::core::ffi::c_void,
20972 ) -> ::core::ffi::c_int;
20973}
20974unsafe extern "C" {
20975 #[link_name = "sk_X509_OBJECT_new__extern"]
20976 pub fn sk_X509_OBJECT_new(comp: sk_X509_OBJECT_cmp_func) -> *mut stack_st_X509_OBJECT;
20977}
20978unsafe extern "C" {
20979 #[link_name = "sk_X509_OBJECT_new_null__extern"]
20980 pub fn sk_X509_OBJECT_new_null() -> *mut stack_st_X509_OBJECT;
20981}
20982unsafe extern "C" {
20983 #[link_name = "sk_X509_OBJECT_num__extern"]
20984 pub fn sk_X509_OBJECT_num(sk: *const stack_st_X509_OBJECT) -> usize;
20985}
20986unsafe extern "C" {
20987 #[link_name = "sk_X509_OBJECT_zero__extern"]
20988 pub fn sk_X509_OBJECT_zero(sk: *mut stack_st_X509_OBJECT);
20989}
20990unsafe extern "C" {
20991 #[link_name = "sk_X509_OBJECT_value__extern"]
20992 pub fn sk_X509_OBJECT_value(sk: *const stack_st_X509_OBJECT, i: usize) -> *mut X509_OBJECT;
20993}
20994unsafe extern "C" {
20995 #[link_name = "sk_X509_OBJECT_last__extern"]
20996 pub fn sk_X509_OBJECT_last(sk: *const stack_st_X509_OBJECT) -> *mut X509_OBJECT;
20997}
20998unsafe extern "C" {
20999 #[link_name = "sk_X509_OBJECT_set__extern"]
21000 pub fn sk_X509_OBJECT_set(
21001 sk: *mut stack_st_X509_OBJECT,
21002 i: usize,
21003 p: *mut X509_OBJECT,
21004 ) -> *mut X509_OBJECT;
21005}
21006unsafe extern "C" {
21007 #[link_name = "sk_X509_OBJECT_free__extern"]
21008 pub fn sk_X509_OBJECT_free(sk: *mut stack_st_X509_OBJECT);
21009}
21010unsafe extern "C" {
21011 #[link_name = "sk_X509_OBJECT_pop_free__extern"]
21012 pub fn sk_X509_OBJECT_pop_free(
21013 sk: *mut stack_st_X509_OBJECT,
21014 free_func: sk_X509_OBJECT_free_func,
21015 );
21016}
21017unsafe extern "C" {
21018 #[link_name = "sk_X509_OBJECT_insert__extern"]
21019 pub fn sk_X509_OBJECT_insert(
21020 sk: *mut stack_st_X509_OBJECT,
21021 p: *mut X509_OBJECT,
21022 where_: usize,
21023 ) -> usize;
21024}
21025unsafe extern "C" {
21026 #[link_name = "sk_X509_OBJECT_delete__extern"]
21027 pub fn sk_X509_OBJECT_delete(sk: *mut stack_st_X509_OBJECT, where_: usize) -> *mut X509_OBJECT;
21028}
21029unsafe extern "C" {
21030 #[link_name = "sk_X509_OBJECT_delete_ptr__extern"]
21031 pub fn sk_X509_OBJECT_delete_ptr(
21032 sk: *mut stack_st_X509_OBJECT,
21033 p: *const X509_OBJECT,
21034 ) -> *mut X509_OBJECT;
21035}
21036unsafe extern "C" {
21037 #[link_name = "sk_X509_OBJECT_delete_if__extern"]
21038 pub fn sk_X509_OBJECT_delete_if(
21039 sk: *mut stack_st_X509_OBJECT,
21040 func: sk_X509_OBJECT_delete_if_func,
21041 data: *mut ::core::ffi::c_void,
21042 );
21043}
21044unsafe extern "C" {
21045 #[link_name = "sk_X509_OBJECT_find__extern"]
21046 pub fn sk_X509_OBJECT_find(
21047 sk: *const stack_st_X509_OBJECT,
21048 out_index: *mut usize,
21049 p: *const X509_OBJECT,
21050 ) -> ::core::ffi::c_int;
21051}
21052unsafe extern "C" {
21053 #[link_name = "sk_X509_OBJECT_shift__extern"]
21054 pub fn sk_X509_OBJECT_shift(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
21055}
21056unsafe extern "C" {
21057 #[link_name = "sk_X509_OBJECT_push__extern"]
21058 pub fn sk_X509_OBJECT_push(sk: *mut stack_st_X509_OBJECT, p: *mut X509_OBJECT) -> usize;
21059}
21060unsafe extern "C" {
21061 #[link_name = "sk_X509_OBJECT_pop__extern"]
21062 pub fn sk_X509_OBJECT_pop(sk: *mut stack_st_X509_OBJECT) -> *mut X509_OBJECT;
21063}
21064unsafe extern "C" {
21065 #[link_name = "sk_X509_OBJECT_dup__extern"]
21066 pub fn sk_X509_OBJECT_dup(sk: *const stack_st_X509_OBJECT) -> *mut stack_st_X509_OBJECT;
21067}
21068unsafe extern "C" {
21069 #[link_name = "sk_X509_OBJECT_sort__extern"]
21070 pub fn sk_X509_OBJECT_sort(sk: *mut stack_st_X509_OBJECT);
21071}
21072unsafe extern "C" {
21073 #[link_name = "sk_X509_OBJECT_sort_and_dedup__extern"]
21074 pub fn sk_X509_OBJECT_sort_and_dedup(
21075 sk: *mut stack_st_X509_OBJECT,
21076 free_func: sk_X509_OBJECT_free_func,
21077 );
21078}
21079unsafe extern "C" {
21080 #[link_name = "sk_X509_OBJECT_is_sorted__extern"]
21081 pub fn sk_X509_OBJECT_is_sorted(sk: *const stack_st_X509_OBJECT) -> ::core::ffi::c_int;
21082}
21083unsafe extern "C" {
21084 #[link_name = "sk_X509_OBJECT_set_cmp_func__extern"]
21085 pub fn sk_X509_OBJECT_set_cmp_func(
21086 sk: *mut stack_st_X509_OBJECT,
21087 comp: sk_X509_OBJECT_cmp_func,
21088 ) -> sk_X509_OBJECT_cmp_func;
21089}
21090unsafe extern "C" {
21091 #[link_name = "sk_X509_OBJECT_deep_copy__extern"]
21092 pub fn sk_X509_OBJECT_deep_copy(
21093 sk: *const stack_st_X509_OBJECT,
21094 copy_func: sk_X509_OBJECT_copy_func,
21095 free_func: sk_X509_OBJECT_free_func,
21096 ) -> *mut stack_st_X509_OBJECT;
21097}
21098unsafe extern "C" {
21099 pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
21100}
21101unsafe extern "C" {
21102 pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
21103}
21104unsafe extern "C" {
21105 pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::core::ffi::c_int;
21106}
21107unsafe extern "C" {
21108 pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
21109}
21110unsafe extern "C" {
21111 pub fn X509_STORE_get1_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
21112}
21113unsafe extern "C" {
21114 pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
21115}
21116unsafe extern "C" {
21117 pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
21118}
21119unsafe extern "C" {
21120 pub fn X509_STORE_CTX_init(
21121 ctx: *mut X509_STORE_CTX,
21122 store: *mut X509_STORE,
21123 x509: *mut X509,
21124 chain: *mut stack_st_X509,
21125 ) -> ::core::ffi::c_int;
21126}
21127unsafe extern "C" {
21128 pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::core::ffi::c_int;
21129}
21130unsafe extern "C" {
21131 pub fn X509_STORE_CTX_get0_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
21132}
21133unsafe extern "C" {
21134 pub fn X509_STORE_CTX_get1_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
21135}
21136unsafe extern "C" {
21137 pub fn X509_STORE_CTX_get_error(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
21138}
21139unsafe extern "C" {
21140 pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::core::ffi::c_int);
21141}
21142unsafe extern "C" {
21143 pub fn X509_verify_cert_error_string(err: ::core::ffi::c_long) -> *const ::core::ffi::c_char;
21144}
21145unsafe extern "C" {
21146 pub fn X509_STORE_CTX_get_error_depth(ctx: *const X509_STORE_CTX) -> ::core::ffi::c_int;
21147}
21148unsafe extern "C" {
21149 pub fn X509_STORE_CTX_get_current_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
21150}
21151unsafe extern "C" {
21152 pub fn X509_STORE_CTX_get0_current_crl(ctx: *const X509_STORE_CTX) -> *mut X509_CRL;
21153}
21154unsafe extern "C" {
21155 pub fn X509_STORE_CTX_get0_store(ctx: *const X509_STORE_CTX) -> *mut X509_STORE;
21156}
21157unsafe extern "C" {
21158 pub fn X509_STORE_CTX_get0_cert(ctx: *const X509_STORE_CTX) -> *mut X509;
21159}
21160unsafe extern "C" {
21161 pub fn X509_STORE_CTX_get0_untrusted(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
21162}
21163unsafe extern "C" {
21164 pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
21165}
21166unsafe extern "C" {
21167 pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
21168}
21169unsafe extern "C" {
21170 pub fn X509_STORE_CTX_set_default(
21171 ctx: *mut X509_STORE_CTX,
21172 name: *const ::core::ffi::c_char,
21173 ) -> ::core::ffi::c_int;
21174}
21175unsafe extern "C" {
21176 pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
21177}
21178unsafe extern "C" {
21179 pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
21180}
21181unsafe extern "C" {
21182 pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::core::ffi::c_ulong);
21183}
21184unsafe extern "C" {
21185 pub fn X509_STORE_CTX_set_time(
21186 ctx: *mut X509_STORE_CTX,
21187 flags: ::core::ffi::c_ulong,
21188 t: time_t,
21189 );
21190}
21191unsafe extern "C" {
21192 pub fn X509_STORE_CTX_set_time_posix(
21193 ctx: *mut X509_STORE_CTX,
21194 flags: ::core::ffi::c_ulong,
21195 t: i64,
21196 );
21197}
21198unsafe extern "C" {
21199 pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::core::ffi::c_int);
21200}
21201unsafe extern "C" {
21202 pub fn X509_STORE_CTX_set_purpose(
21203 ctx: *mut X509_STORE_CTX,
21204 purpose: ::core::ffi::c_int,
21205 ) -> ::core::ffi::c_int;
21206}
21207unsafe extern "C" {
21208 pub fn X509_STORE_CTX_set_trust(
21209 ctx: *mut X509_STORE_CTX,
21210 trust: ::core::ffi::c_int,
21211 ) -> ::core::ffi::c_int;
21212}
21213unsafe extern "C" {
21214 pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
21215}
21216unsafe extern "C" {
21217 pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
21218}
21219unsafe extern "C" {
21220 pub fn X509_VERIFY_PARAM_inherit(
21221 to: *mut X509_VERIFY_PARAM,
21222 from: *const X509_VERIFY_PARAM,
21223 ) -> ::core::ffi::c_int;
21224}
21225unsafe extern "C" {
21226 pub fn X509_VERIFY_PARAM_set1(
21227 to: *mut X509_VERIFY_PARAM,
21228 from: *const X509_VERIFY_PARAM,
21229 ) -> ::core::ffi::c_int;
21230}
21231unsafe extern "C" {
21232 pub fn X509_VERIFY_PARAM_set_flags(
21233 param: *mut X509_VERIFY_PARAM,
21234 flags: ::core::ffi::c_ulong,
21235 ) -> ::core::ffi::c_int;
21236}
21237unsafe extern "C" {
21238 pub fn X509_VERIFY_PARAM_clear_flags(
21239 param: *mut X509_VERIFY_PARAM,
21240 flags: ::core::ffi::c_ulong,
21241 ) -> ::core::ffi::c_int;
21242}
21243unsafe extern "C" {
21244 pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_ulong;
21245}
21246unsafe extern "C" {
21247 pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::core::ffi::c_int);
21248}
21249unsafe extern "C" {
21250 pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
21251}
21252unsafe extern "C" {
21253 pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
21254}
21255unsafe extern "C" {
21256 pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
21257}
21258unsafe extern "C" {
21259 pub fn X509_VERIFY_PARAM_add0_policy(
21260 param: *mut X509_VERIFY_PARAM,
21261 policy: *mut ASN1_OBJECT,
21262 ) -> ::core::ffi::c_int;
21263}
21264unsafe extern "C" {
21265 pub fn X509_VERIFY_PARAM_set1_policies(
21266 param: *mut X509_VERIFY_PARAM,
21267 policies: *const stack_st_ASN1_OBJECT,
21268 ) -> ::core::ffi::c_int;
21269}
21270unsafe extern "C" {
21271 pub fn X509_VERIFY_PARAM_set1_host(
21272 param: *mut X509_VERIFY_PARAM,
21273 name: *const ::core::ffi::c_char,
21274 name_len: usize,
21275 ) -> ::core::ffi::c_int;
21276}
21277unsafe extern "C" {
21278 pub fn X509_VERIFY_PARAM_add1_host(
21279 param: *mut X509_VERIFY_PARAM,
21280 name: *const ::core::ffi::c_char,
21281 name_len: usize,
21282 ) -> ::core::ffi::c_int;
21283}
21284unsafe extern "C" {
21285 pub fn X509_VERIFY_PARAM_set_hostflags(
21286 param: *mut X509_VERIFY_PARAM,
21287 flags: ::core::ffi::c_uint,
21288 );
21289}
21290unsafe extern "C" {
21291 pub fn X509_VERIFY_PARAM_set1_email(
21292 param: *mut X509_VERIFY_PARAM,
21293 email: *const ::core::ffi::c_char,
21294 email_len: usize,
21295 ) -> ::core::ffi::c_int;
21296}
21297unsafe extern "C" {
21298 pub fn X509_VERIFY_PARAM_set1_ip(
21299 param: *mut X509_VERIFY_PARAM,
21300 ip: *const u8,
21301 ip_len: usize,
21302 ) -> ::core::ffi::c_int;
21303}
21304unsafe extern "C" {
21305 pub fn X509_VERIFY_PARAM_set1_ip_asc(
21306 param: *mut X509_VERIFY_PARAM,
21307 ipasc: *const ::core::ffi::c_char,
21308 ) -> ::core::ffi::c_int;
21309}
21310unsafe extern "C" {
21311 pub fn X509_VERIFY_PARAM_set_purpose(
21312 param: *mut X509_VERIFY_PARAM,
21313 purpose: ::core::ffi::c_int,
21314 ) -> ::core::ffi::c_int;
21315}
21316unsafe extern "C" {
21317 pub fn X509_VERIFY_PARAM_set_trust(
21318 param: *mut X509_VERIFY_PARAM,
21319 trust: ::core::ffi::c_int,
21320 ) -> ::core::ffi::c_int;
21321}
21322unsafe extern "C" {
21323 pub fn X509_STORE_load_locations(
21324 store: *mut X509_STORE,
21325 file: *const ::core::ffi::c_char,
21326 dir: *const ::core::ffi::c_char,
21327 ) -> ::core::ffi::c_int;
21328}
21329unsafe extern "C" {
21330 pub fn X509_STORE_add_lookup(
21331 store: *mut X509_STORE,
21332 method: *const X509_LOOKUP_METHOD,
21333 ) -> *mut X509_LOOKUP;
21334}
21335unsafe extern "C" {
21336 pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
21337}
21338unsafe extern "C" {
21339 pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
21340}
21341unsafe extern "C" {
21342 pub fn X509_LOOKUP_load_file(
21343 lookup: *mut X509_LOOKUP,
21344 file: *const ::core::ffi::c_char,
21345 type_: ::core::ffi::c_int,
21346 ) -> ::core::ffi::c_int;
21347}
21348unsafe extern "C" {
21349 pub fn X509_LOOKUP_add_dir(
21350 lookup: *mut X509_LOOKUP,
21351 path: *const ::core::ffi::c_char,
21352 type_: ::core::ffi::c_int,
21353 ) -> ::core::ffi::c_int;
21354}
21355unsafe extern "C" {
21356 pub fn X509_LOOKUP_ctrl(
21357 lookup: *mut X509_LOOKUP,
21358 cmd: ::core::ffi::c_int,
21359 argc: *const ::core::ffi::c_char,
21360 argl: ::core::ffi::c_long,
21361 ret: *mut *mut ::core::ffi::c_char,
21362 ) -> ::core::ffi::c_int;
21363}
21364unsafe extern "C" {
21365 pub fn X509_load_cert_file(
21366 lookup: *mut X509_LOOKUP,
21367 file: *const ::core::ffi::c_char,
21368 type_: ::core::ffi::c_int,
21369 ) -> ::core::ffi::c_int;
21370}
21371unsafe extern "C" {
21372 pub fn X509_load_crl_file(
21373 lookup: *mut X509_LOOKUP,
21374 file: *const ::core::ffi::c_char,
21375 type_: ::core::ffi::c_int,
21376 ) -> ::core::ffi::c_int;
21377}
21378unsafe extern "C" {
21379 pub fn X509_load_cert_crl_file(
21380 lookup: *mut X509_LOOKUP,
21381 file: *const ::core::ffi::c_char,
21382 type_: ::core::ffi::c_int,
21383 ) -> ::core::ffi::c_int;
21384}
21385unsafe extern "C" {
21386 pub fn X509_NAME_hash(name: *const X509_NAME) -> u32;
21387}
21388unsafe extern "C" {
21389 pub fn X509_NAME_hash_old(name: *const X509_NAME) -> u32;
21390}
21391unsafe extern "C" {
21392 pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::core::ffi::c_int;
21393}
21394unsafe extern "C" {
21395 pub fn X509_get_default_cert_area() -> *const ::core::ffi::c_char;
21396}
21397unsafe extern "C" {
21398 pub fn X509_get_default_cert_dir() -> *const ::core::ffi::c_char;
21399}
21400unsafe extern "C" {
21401 pub fn X509_get_default_cert_file() -> *const ::core::ffi::c_char;
21402}
21403unsafe extern "C" {
21404 pub fn X509_get_default_private_dir() -> *const ::core::ffi::c_char;
21405}
21406unsafe extern "C" {
21407 pub fn X509_get_default_cert_dir_env() -> *const ::core::ffi::c_char;
21408}
21409unsafe extern "C" {
21410 pub fn X509_get_default_cert_file_env() -> *const ::core::ffi::c_char;
21411}
21412#[repr(C)]
21413#[derive(Debug, Copy, Clone)]
21414pub struct Netscape_spki_st {
21415 pub spkac: *mut NETSCAPE_SPKAC,
21416 pub sig_algor: *mut X509_ALGOR,
21417 pub signature: *mut ASN1_BIT_STRING,
21418}
21419unsafe extern "C" {
21420 pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
21421}
21422unsafe extern "C" {
21423 pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
21424}
21425unsafe extern "C" {
21426 pub fn d2i_NETSCAPE_SPKI(
21427 out: *mut *mut NETSCAPE_SPKI,
21428 inp: *mut *const u8,
21429 len: ::core::ffi::c_long,
21430 ) -> *mut NETSCAPE_SPKI;
21431}
21432unsafe extern "C" {
21433 pub fn i2d_NETSCAPE_SPKI(spki: *const NETSCAPE_SPKI, outp: *mut *mut u8) -> ::core::ffi::c_int;
21434}
21435unsafe extern "C" {
21436 pub fn NETSCAPE_SPKI_verify(
21437 spki: *mut NETSCAPE_SPKI,
21438 pkey: *mut EVP_PKEY,
21439 ) -> ::core::ffi::c_int;
21440}
21441unsafe extern "C" {
21442 pub fn NETSCAPE_SPKI_b64_decode(
21443 str_: *const ::core::ffi::c_char,
21444 len: ossl_ssize_t,
21445 ) -> *mut NETSCAPE_SPKI;
21446}
21447unsafe extern "C" {
21448 pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::core::ffi::c_char;
21449}
21450unsafe extern "C" {
21451 pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
21452}
21453unsafe extern "C" {
21454 pub fn NETSCAPE_SPKI_set_pubkey(
21455 spki: *mut NETSCAPE_SPKI,
21456 pkey: *mut EVP_PKEY,
21457 ) -> ::core::ffi::c_int;
21458}
21459unsafe extern "C" {
21460 pub fn NETSCAPE_SPKI_sign(
21461 spki: *mut NETSCAPE_SPKI,
21462 pkey: *mut EVP_PKEY,
21463 md: *const EVP_MD,
21464 ) -> ::core::ffi::c_int;
21465}
21466#[repr(C)]
21467#[derive(Debug, Copy, Clone)]
21468pub struct Netscape_spkac_st {
21469 pub pubkey: *mut X509_PUBKEY,
21470 pub challenge: *mut ASN1_IA5STRING,
21471}
21472unsafe extern "C" {
21473 pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
21474}
21475unsafe extern "C" {
21476 pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
21477}
21478unsafe extern "C" {
21479 pub fn d2i_NETSCAPE_SPKAC(
21480 out: *mut *mut NETSCAPE_SPKAC,
21481 inp: *mut *const u8,
21482 len: ::core::ffi::c_long,
21483 ) -> *mut NETSCAPE_SPKAC;
21484}
21485unsafe extern "C" {
21486 pub fn i2d_NETSCAPE_SPKAC(
21487 spkac: *const NETSCAPE_SPKAC,
21488 outp: *mut *mut u8,
21489 ) -> ::core::ffi::c_int;
21490}
21491#[repr(C)]
21492#[derive(Debug, Copy, Clone)]
21493pub struct rsa_pss_params_st {
21494 pub hashAlgorithm: *mut X509_ALGOR,
21495 pub maskGenAlgorithm: *mut X509_ALGOR,
21496 pub saltLength: *mut ASN1_INTEGER,
21497 pub trailerField: *mut ASN1_INTEGER,
21498 pub maskHash: *mut X509_ALGOR,
21499}
21500unsafe extern "C" {
21501 pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
21502}
21503unsafe extern "C" {
21504 pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
21505}
21506unsafe extern "C" {
21507 pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
21508}
21509unsafe extern "C" {
21510 pub fn d2i_RSA_PSS_PARAMS(
21511 out: *mut *mut RSA_PSS_PARAMS,
21512 inp: *mut *const u8,
21513 len: ::core::ffi::c_long,
21514 ) -> *mut RSA_PSS_PARAMS;
21515}
21516unsafe extern "C" {
21517 pub fn i2d_RSA_PSS_PARAMS(in_: *const RSA_PSS_PARAMS, outp: *mut *mut u8)
21518 -> ::core::ffi::c_int;
21519}
21520unsafe extern "C" {
21521 pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
21522}
21523unsafe extern "C" {
21524 pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
21525}
21526unsafe extern "C" {
21527 pub fn d2i_PKCS8_PRIV_KEY_INFO(
21528 out: *mut *mut PKCS8_PRIV_KEY_INFO,
21529 inp: *mut *const u8,
21530 len: ::core::ffi::c_long,
21531 ) -> *mut PKCS8_PRIV_KEY_INFO;
21532}
21533unsafe extern "C" {
21534 pub fn i2d_PKCS8_PRIV_KEY_INFO(
21535 key: *const PKCS8_PRIV_KEY_INFO,
21536 outp: *mut *mut u8,
21537 ) -> ::core::ffi::c_int;
21538}
21539unsafe extern "C" {
21540 pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
21541}
21542unsafe extern "C" {
21543 pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
21544}
21545unsafe extern "C" {
21546 pub fn X509_SIG_new() -> *mut X509_SIG;
21547}
21548unsafe extern "C" {
21549 pub fn X509_SIG_free(key: *mut X509_SIG);
21550}
21551unsafe extern "C" {
21552 pub fn d2i_X509_SIG(
21553 out: *mut *mut X509_SIG,
21554 inp: *mut *const u8,
21555 len: ::core::ffi::c_long,
21556 ) -> *mut X509_SIG;
21557}
21558unsafe extern "C" {
21559 pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::core::ffi::c_int;
21560}
21561unsafe extern "C" {
21562 pub fn X509_SIG_get0(
21563 sig: *const X509_SIG,
21564 out_alg: *mut *const X509_ALGOR,
21565 out_digest: *mut *const ASN1_OCTET_STRING,
21566 );
21567}
21568unsafe extern "C" {
21569 pub fn X509_SIG_getm(
21570 sig: *mut X509_SIG,
21571 out_alg: *mut *mut X509_ALGOR,
21572 out_digest: *mut *mut ASN1_OCTET_STRING,
21573 );
21574}
21575unsafe extern "C" {
21576 pub fn X509_print_ex(
21577 bp: *mut BIO,
21578 x: *const X509,
21579 nmflag: ::core::ffi::c_ulong,
21580 cflag: ::core::ffi::c_ulong,
21581 ) -> ::core::ffi::c_int;
21582}
21583unsafe extern "C" {
21584 pub fn X509_print_ex_fp(
21585 fp: *mut FILE,
21586 x: *const X509,
21587 nmflag: ::core::ffi::c_ulong,
21588 cflag: ::core::ffi::c_ulong,
21589 ) -> ::core::ffi::c_int;
21590}
21591unsafe extern "C" {
21592 pub fn X509_print(bp: *mut BIO, x: *const X509) -> ::core::ffi::c_int;
21593}
21594unsafe extern "C" {
21595 pub fn X509_print_fp(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
21596}
21597unsafe extern "C" {
21598 pub fn X509_CRL_print(bp: *mut BIO, x: *const X509_CRL) -> ::core::ffi::c_int;
21599}
21600unsafe extern "C" {
21601 pub fn X509_CRL_print_fp(fp: *mut FILE, x: *const X509_CRL) -> ::core::ffi::c_int;
21602}
21603unsafe extern "C" {
21604 pub fn X509_REQ_print_ex(
21605 bp: *mut BIO,
21606 x: *const X509_REQ,
21607 nmflag: ::core::ffi::c_ulong,
21608 cflag: ::core::ffi::c_ulong,
21609 ) -> ::core::ffi::c_int;
21610}
21611unsafe extern "C" {
21612 pub fn X509_REQ_print(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21613}
21614unsafe extern "C" {
21615 pub fn X509_REQ_print_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21616}
21617unsafe extern "C" {
21618 pub fn X509_NAME_print_ex(
21619 out: *mut BIO,
21620 nm: *const X509_NAME,
21621 indent: ::core::ffi::c_int,
21622 flags: ::core::ffi::c_ulong,
21623 ) -> ::core::ffi::c_int;
21624}
21625unsafe extern "C" {
21626 pub fn X509_NAME_print(
21627 bp: *mut BIO,
21628 name: *const X509_NAME,
21629 obase: ::core::ffi::c_int,
21630 ) -> ::core::ffi::c_int;
21631}
21632unsafe extern "C" {
21633 pub fn X509_NAME_oneline(
21634 name: *const X509_NAME,
21635 buf: *mut ::core::ffi::c_char,
21636 size: ::core::ffi::c_int,
21637 ) -> *mut ::core::ffi::c_char;
21638}
21639unsafe extern "C" {
21640 pub fn X509_NAME_print_ex_fp(
21641 fp: *mut FILE,
21642 nm: *const X509_NAME,
21643 indent: ::core::ffi::c_int,
21644 flags: ::core::ffi::c_ulong,
21645 ) -> ::core::ffi::c_int;
21646}
21647unsafe extern "C" {
21648 pub fn X509_signature_dump(
21649 bio: *mut BIO,
21650 sig: *const ASN1_STRING,
21651 indent: ::core::ffi::c_int,
21652 ) -> ::core::ffi::c_int;
21653}
21654unsafe extern "C" {
21655 pub fn X509_signature_print(
21656 bio: *mut BIO,
21657 alg: *const X509_ALGOR,
21658 sig: *const ASN1_STRING,
21659 ) -> ::core::ffi::c_int;
21660}
21661unsafe extern "C" {
21662 pub fn X509V3_EXT_print(
21663 out: *mut BIO,
21664 ext: *const X509_EXTENSION,
21665 flag: ::core::ffi::c_ulong,
21666 indent: ::core::ffi::c_int,
21667 ) -> ::core::ffi::c_int;
21668}
21669unsafe extern "C" {
21670 pub fn X509V3_EXT_print_fp(
21671 out: *mut FILE,
21672 ext: *const X509_EXTENSION,
21673 flag: ::core::ffi::c_int,
21674 indent: ::core::ffi::c_int,
21675 ) -> ::core::ffi::c_int;
21676}
21677unsafe extern "C" {
21678 pub fn X509V3_extensions_print(
21679 out: *mut BIO,
21680 title: *const ::core::ffi::c_char,
21681 exts: *const stack_st_X509_EXTENSION,
21682 flag: ::core::ffi::c_ulong,
21683 indent: ::core::ffi::c_int,
21684 ) -> ::core::ffi::c_int;
21685}
21686unsafe extern "C" {
21687 pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::core::ffi::c_int;
21688}
21689unsafe extern "C" {
21690 pub fn X509_pubkey_digest(
21691 x509: *const X509,
21692 md: *const EVP_MD,
21693 out: *mut u8,
21694 out_len: *mut ::core::ffi::c_uint,
21695 ) -> ::core::ffi::c_int;
21696}
21697unsafe extern "C" {
21698 pub fn X509_digest(
21699 x509: *const X509,
21700 md: *const EVP_MD,
21701 out: *mut u8,
21702 out_len: *mut ::core::ffi::c_uint,
21703 ) -> ::core::ffi::c_int;
21704}
21705unsafe extern "C" {
21706 pub fn X509_CRL_digest(
21707 crl: *const X509_CRL,
21708 md: *const EVP_MD,
21709 out: *mut u8,
21710 out_len: *mut ::core::ffi::c_uint,
21711 ) -> ::core::ffi::c_int;
21712}
21713unsafe extern "C" {
21714 pub fn X509_REQ_digest(
21715 req: *const X509_REQ,
21716 md: *const EVP_MD,
21717 out: *mut u8,
21718 out_len: *mut ::core::ffi::c_uint,
21719 ) -> ::core::ffi::c_int;
21720}
21721unsafe extern "C" {
21722 pub fn X509_NAME_digest(
21723 name: *const X509_NAME,
21724 md: *const EVP_MD,
21725 out: *mut u8,
21726 out_len: *mut ::core::ffi::c_uint,
21727 ) -> ::core::ffi::c_int;
21728}
21729unsafe extern "C" {
21730 pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
21731}
21732unsafe extern "C" {
21733 pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21734}
21735unsafe extern "C" {
21736 pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21737}
21738unsafe extern "C" {
21739 pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21740}
21741unsafe extern "C" {
21742 pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21743}
21744unsafe extern "C" {
21745 pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21746}
21747unsafe extern "C" {
21748 pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21749}
21750unsafe extern "C" {
21751 pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21752}
21753unsafe extern "C" {
21754 pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21755}
21756unsafe extern "C" {
21757 pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21758}
21759unsafe extern "C" {
21760 pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21761}
21762unsafe extern "C" {
21763 pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
21764 bp: *mut BIO,
21765 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21766 ) -> *mut PKCS8_PRIV_KEY_INFO;
21767}
21768unsafe extern "C" {
21769 pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21770}
21771unsafe extern "C" {
21772 pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
21773}
21774unsafe extern "C" {
21775 pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21776}
21777unsafe extern "C" {
21778 pub fn i2d_X509_bio(bp: *mut BIO, x509: *const X509) -> ::core::ffi::c_int;
21779}
21780unsafe extern "C" {
21781 pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *const X509_CRL) -> ::core::ffi::c_int;
21782}
21783unsafe extern "C" {
21784 pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *const X509_REQ) -> ::core::ffi::c_int;
21785}
21786unsafe extern "C" {
21787 pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21788}
21789unsafe extern "C" {
21790 pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21791}
21792unsafe extern "C" {
21793 pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *const RSA) -> ::core::ffi::c_int;
21794}
21795unsafe extern "C" {
21796 pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21797}
21798unsafe extern "C" {
21799 pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *const DSA) -> ::core::ffi::c_int;
21800}
21801unsafe extern "C" {
21802 pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21803}
21804unsafe extern "C" {
21805 pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21806}
21807unsafe extern "C" {
21808 pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *const X509_SIG) -> ::core::ffi::c_int;
21809}
21810unsafe extern "C" {
21811 pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
21812 bp: *mut BIO,
21813 p8inf: *const PKCS8_PRIV_KEY_INFO,
21814 ) -> ::core::ffi::c_int;
21815}
21816unsafe extern "C" {
21817 pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21818}
21819unsafe extern "C" {
21820 pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21821}
21822unsafe extern "C" {
21823 pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::core::ffi::c_int;
21824}
21825unsafe extern "C" {
21826 pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21827}
21828unsafe extern "C" {
21829 pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
21830}
21831unsafe extern "C" {
21832 pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21833}
21834unsafe extern "C" {
21835 pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21836}
21837unsafe extern "C" {
21838 pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21839}
21840unsafe extern "C" {
21841 pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21842}
21843unsafe extern "C" {
21844 pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21845}
21846unsafe extern "C" {
21847 pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21848}
21849unsafe extern "C" {
21850 pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21851}
21852unsafe extern "C" {
21853 pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21854}
21855unsafe extern "C" {
21856 pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21857}
21858unsafe extern "C" {
21859 pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21860}
21861unsafe extern "C" {
21862 pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
21863 fp: *mut FILE,
21864 p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21865 ) -> *mut PKCS8_PRIV_KEY_INFO;
21866}
21867unsafe extern "C" {
21868 pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21869}
21870unsafe extern "C" {
21871 pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21872}
21873unsafe extern "C" {
21874 pub fn i2d_X509_fp(fp: *mut FILE, x509: *const X509) -> ::core::ffi::c_int;
21875}
21876unsafe extern "C" {
21877 pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *const X509_CRL) -> ::core::ffi::c_int;
21878}
21879unsafe extern "C" {
21880 pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *const X509_REQ) -> ::core::ffi::c_int;
21881}
21882unsafe extern "C" {
21883 pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21884}
21885unsafe extern "C" {
21886 pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21887}
21888unsafe extern "C" {
21889 pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *const RSA) -> ::core::ffi::c_int;
21890}
21891unsafe extern "C" {
21892 pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21893}
21894unsafe extern "C" {
21895 pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *const DSA) -> ::core::ffi::c_int;
21896}
21897unsafe extern "C" {
21898 pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21899}
21900unsafe extern "C" {
21901 pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *const EC_KEY) -> ::core::ffi::c_int;
21902}
21903unsafe extern "C" {
21904 pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *const X509_SIG) -> ::core::ffi::c_int;
21905}
21906unsafe extern "C" {
21907 pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
21908 fp: *mut FILE,
21909 p8inf: *const PKCS8_PRIV_KEY_INFO,
21910 ) -> ::core::ffi::c_int;
21911}
21912unsafe extern "C" {
21913 pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *const EVP_PKEY) -> ::core::ffi::c_int;
21914}
21915unsafe extern "C" {
21916 pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21917}
21918unsafe extern "C" {
21919 pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *const EVP_PKEY) -> ::core::ffi::c_int;
21920}
21921unsafe extern "C" {
21922 pub fn X509_find_by_issuer_and_serial(
21923 sk: *const stack_st_X509,
21924 name: *const X509_NAME,
21925 serial: *const ASN1_INTEGER,
21926 ) -> *mut X509;
21927}
21928unsafe extern "C" {
21929 pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *const X509_NAME) -> *mut X509;
21930}
21931unsafe extern "C" {
21932 pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::core::ffi::c_int;
21933}
21934unsafe extern "C" {
21935 pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::core::ffi::c_int;
21936}
21937unsafe extern "C" {
21938 pub fn X509_cmp_time_posix_nonstandard(s: *const ASN1_TIME, t: i64) -> ::core::ffi::c_int;
21939}
21940unsafe extern "C" {
21941 pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::core::ffi::c_int;
21942}
21943unsafe extern "C" {
21944 pub fn X509_time_adj(
21945 s: *mut ASN1_TIME,
21946 offset_sec: ::core::ffi::c_long,
21947 t: *const time_t,
21948 ) -> *mut ASN1_TIME;
21949}
21950unsafe extern "C" {
21951 pub fn X509_time_adj_ex(
21952 s: *mut ASN1_TIME,
21953 offset_day: ::core::ffi::c_int,
21954 offset_sec: ::core::ffi::c_long,
21955 t: *const time_t,
21956 ) -> *mut ASN1_TIME;
21957}
21958unsafe extern "C" {
21959 pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::core::ffi::c_long) -> *mut ASN1_TIME;
21960}
21961unsafe extern "C" {
21962 pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21963}
21964unsafe extern "C" {
21965 pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::core::ffi::c_int;
21966}
21967unsafe extern "C" {
21968 pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::core::ffi::c_int;
21969}
21970unsafe extern "C" {
21971 pub fn X509_issuer_name_hash(x509: *const X509) -> u32;
21972}
21973unsafe extern "C" {
21974 pub fn X509_subject_name_hash(x509: *const X509) -> u32;
21975}
21976unsafe extern "C" {
21977 pub fn X509_issuer_name_hash_old(x509: *const X509) -> u32;
21978}
21979unsafe extern "C" {
21980 pub fn X509_subject_name_hash_old(x509: *const X509) -> u32;
21981}
21982unsafe extern "C" {
21983 pub fn X509_get_ex_new_index(
21984 argl: ::core::ffi::c_long,
21985 argp: *mut ::core::ffi::c_void,
21986 unused: *mut CRYPTO_EX_unused,
21987 dup_unused: CRYPTO_EX_dup,
21988 free_func: CRYPTO_EX_free,
21989 ) -> ::core::ffi::c_int;
21990}
21991unsafe extern "C" {
21992 pub fn X509_set_ex_data(
21993 r: *mut X509,
21994 idx: ::core::ffi::c_int,
21995 arg: *mut ::core::ffi::c_void,
21996 ) -> ::core::ffi::c_int;
21997}
21998unsafe extern "C" {
21999 pub fn X509_get_ex_data(r: *mut X509, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
22000}
22001unsafe extern "C" {
22002 pub fn X509_STORE_CTX_get_ex_new_index(
22003 argl: ::core::ffi::c_long,
22004 argp: *mut ::core::ffi::c_void,
22005 unused: *mut CRYPTO_EX_unused,
22006 dup_unused: CRYPTO_EX_dup,
22007 free_func: CRYPTO_EX_free,
22008 ) -> ::core::ffi::c_int;
22009}
22010unsafe extern "C" {
22011 pub fn X509_STORE_CTX_set_ex_data(
22012 ctx: *mut X509_STORE_CTX,
22013 idx: ::core::ffi::c_int,
22014 data: *mut ::core::ffi::c_void,
22015 ) -> ::core::ffi::c_int;
22016}
22017unsafe extern "C" {
22018 pub fn X509_STORE_CTX_get_ex_data(
22019 ctx: *mut X509_STORE_CTX,
22020 idx: ::core::ffi::c_int,
22021 ) -> *mut ::core::ffi::c_void;
22022}
22023unsafe extern "C" {
22024 pub fn ASN1_digest(
22025 i2d: i2d_of_void,
22026 type_: *const EVP_MD,
22027 data: *mut ::core::ffi::c_char,
22028 md: *mut ::core::ffi::c_uchar,
22029 len: *mut ::core::ffi::c_uint,
22030 ) -> ::core::ffi::c_int;
22031}
22032unsafe extern "C" {
22033 pub fn ASN1_item_digest(
22034 it: *const ASN1_ITEM,
22035 type_: *const EVP_MD,
22036 data: *mut ::core::ffi::c_void,
22037 md: *mut ::core::ffi::c_uchar,
22038 len: *mut ::core::ffi::c_uint,
22039 ) -> ::core::ffi::c_int;
22040}
22041unsafe extern "C" {
22042 pub fn ASN1_item_verify(
22043 it: *const ASN1_ITEM,
22044 algor1: *const X509_ALGOR,
22045 signature: *const ASN1_BIT_STRING,
22046 data: *mut ::core::ffi::c_void,
22047 pkey: *mut EVP_PKEY,
22048 ) -> ::core::ffi::c_int;
22049}
22050unsafe extern "C" {
22051 pub fn ASN1_item_sign(
22052 it: *const ASN1_ITEM,
22053 algor1: *mut X509_ALGOR,
22054 algor2: *mut X509_ALGOR,
22055 signature: *mut ASN1_BIT_STRING,
22056 data: *mut ::core::ffi::c_void,
22057 pkey: *mut EVP_PKEY,
22058 type_: *const EVP_MD,
22059 ) -> ::core::ffi::c_int;
22060}
22061unsafe extern "C" {
22062 pub fn ASN1_item_sign_ctx(
22063 it: *const ASN1_ITEM,
22064 algor1: *mut X509_ALGOR,
22065 algor2: *mut X509_ALGOR,
22066 signature: *mut ASN1_BIT_STRING,
22067 asn: *mut ::core::ffi::c_void,
22068 ctx: *mut EVP_MD_CTX,
22069 ) -> ::core::ffi::c_int;
22070}
22071unsafe extern "C" {
22072 pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::core::ffi::c_int;
22073}
22074unsafe extern "C" {
22075 pub fn X509_check_ca(x509: *const X509) -> ::core::ffi::c_int;
22076}
22077unsafe extern "C" {
22078 pub fn X509_check_issued(issuer: *const X509, subject: *const X509) -> ::core::ffi::c_int;
22079}
22080unsafe extern "C" {
22081 pub fn NAME_CONSTRAINTS_check(
22082 x509: *const X509,
22083 nc: *const NAME_CONSTRAINTS,
22084 ) -> ::core::ffi::c_int;
22085}
22086unsafe extern "C" {
22087 pub fn X509_check_host(
22088 x509: *const X509,
22089 chk: *const ::core::ffi::c_char,
22090 chklen: usize,
22091 flags: ::core::ffi::c_uint,
22092 out_peername: *mut *mut ::core::ffi::c_char,
22093 ) -> ::core::ffi::c_int;
22094}
22095unsafe extern "C" {
22096 pub fn X509_check_email(
22097 x509: *const X509,
22098 chk: *const ::core::ffi::c_char,
22099 chklen: usize,
22100 flags: ::core::ffi::c_uint,
22101 ) -> ::core::ffi::c_int;
22102}
22103unsafe extern "C" {
22104 pub fn X509_check_ip(
22105 x509: *const X509,
22106 chk: *const u8,
22107 chklen: usize,
22108 flags: ::core::ffi::c_uint,
22109 ) -> ::core::ffi::c_int;
22110}
22111unsafe extern "C" {
22112 pub fn X509_check_ip_asc(
22113 x509: *const X509,
22114 ipasc: *const ::core::ffi::c_char,
22115 flags: ::core::ffi::c_uint,
22116 ) -> ::core::ffi::c_int;
22117}
22118unsafe extern "C" {
22119 pub fn X509_STORE_CTX_get1_issuer(
22120 out_issuer: *mut *mut X509,
22121 ctx: *mut X509_STORE_CTX,
22122 x509: *const X509,
22123 ) -> ::core::ffi::c_int;
22124}
22125unsafe extern "C" {
22126 pub fn X509_check_purpose(
22127 x509: *mut X509,
22128 purpose: ::core::ffi::c_int,
22129 ca: ::core::ffi::c_int,
22130 ) -> ::core::ffi::c_int;
22131}
22132unsafe extern "C" {
22133 pub fn X509_check_trust(
22134 x509: *mut X509,
22135 id: ::core::ffi::c_int,
22136 flags: ::core::ffi::c_int,
22137 ) -> ::core::ffi::c_int;
22138}
22139unsafe extern "C" {
22140 pub fn X509_STORE_CTX_get1_certs(
22141 ctx: *mut X509_STORE_CTX,
22142 name: *const X509_NAME,
22143 ) -> *mut stack_st_X509;
22144}
22145unsafe extern "C" {
22146 pub fn X509_STORE_CTX_get1_crls(
22147 ctx: *mut X509_STORE_CTX,
22148 name: *const X509_NAME,
22149 ) -> *mut stack_st_X509_CRL;
22150}
22151unsafe extern "C" {
22152 pub fn X509_STORE_CTX_get_by_subject(
22153 ctx: *mut X509_STORE_CTX,
22154 type_: ::core::ffi::c_int,
22155 name: *const X509_NAME,
22156 ret: *mut X509_OBJECT,
22157 ) -> ::core::ffi::c_int;
22158}
22159#[repr(C)]
22160#[derive(Debug, Copy, Clone)]
22161pub struct private_key_st {
22162 pub dec_pkey: *mut EVP_PKEY,
22163}
22164#[repr(C)]
22165#[derive(Debug, Copy, Clone)]
22166pub struct X509_info_st {
22167 pub x509: *mut X509,
22168 pub crl: *mut X509_CRL,
22169 pub x_pkey: *mut X509_PKEY,
22170 pub enc_cipher: EVP_CIPHER_INFO,
22171 pub enc_len: ::core::ffi::c_int,
22172 pub enc_data: *mut ::core::ffi::c_char,
22173}
22174#[repr(C)]
22175#[derive(Debug)]
22176pub struct stack_st_X509_INFO {
22177 _unused: [u8; 0],
22178}
22179pub type sk_X509_INFO_free_func =
22180 ::core::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
22181pub type sk_X509_INFO_copy_func =
22182 ::core::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
22183pub type sk_X509_INFO_cmp_func = ::core::option::Option<
22184 unsafe extern "C" fn(
22185 arg1: *const *const X509_INFO,
22186 arg2: *const *const X509_INFO,
22187 ) -> ::core::ffi::c_int,
22188>;
22189pub type sk_X509_INFO_delete_if_func = ::core::option::Option<
22190 unsafe extern "C" fn(
22191 arg1: *mut X509_INFO,
22192 arg2: *mut ::core::ffi::c_void,
22193 ) -> ::core::ffi::c_int,
22194>;
22195unsafe extern "C" {
22196 #[link_name = "sk_X509_INFO_call_free_func__extern"]
22197 pub fn sk_X509_INFO_call_free_func(
22198 free_func: OPENSSL_sk_free_func,
22199 ptr: *mut ::core::ffi::c_void,
22200 );
22201}
22202unsafe extern "C" {
22203 #[link_name = "sk_X509_INFO_call_copy_func__extern"]
22204 pub fn sk_X509_INFO_call_copy_func(
22205 copy_func: OPENSSL_sk_copy_func,
22206 ptr: *const ::core::ffi::c_void,
22207 ) -> *mut ::core::ffi::c_void;
22208}
22209unsafe extern "C" {
22210 #[link_name = "sk_X509_INFO_call_cmp_func__extern"]
22211 pub fn sk_X509_INFO_call_cmp_func(
22212 cmp_func: OPENSSL_sk_cmp_func,
22213 a: *const ::core::ffi::c_void,
22214 b: *const ::core::ffi::c_void,
22215 ) -> ::core::ffi::c_int;
22216}
22217unsafe extern "C" {
22218 #[link_name = "sk_X509_INFO_call_delete_if_func__extern"]
22219 pub fn sk_X509_INFO_call_delete_if_func(
22220 func: OPENSSL_sk_delete_if_func,
22221 obj: *mut ::core::ffi::c_void,
22222 data: *mut ::core::ffi::c_void,
22223 ) -> ::core::ffi::c_int;
22224}
22225unsafe extern "C" {
22226 #[link_name = "sk_X509_INFO_new__extern"]
22227 pub fn sk_X509_INFO_new(comp: sk_X509_INFO_cmp_func) -> *mut stack_st_X509_INFO;
22228}
22229unsafe extern "C" {
22230 #[link_name = "sk_X509_INFO_new_null__extern"]
22231 pub fn sk_X509_INFO_new_null() -> *mut stack_st_X509_INFO;
22232}
22233unsafe extern "C" {
22234 #[link_name = "sk_X509_INFO_num__extern"]
22235 pub fn sk_X509_INFO_num(sk: *const stack_st_X509_INFO) -> usize;
22236}
22237unsafe extern "C" {
22238 #[link_name = "sk_X509_INFO_zero__extern"]
22239 pub fn sk_X509_INFO_zero(sk: *mut stack_st_X509_INFO);
22240}
22241unsafe extern "C" {
22242 #[link_name = "sk_X509_INFO_value__extern"]
22243 pub fn sk_X509_INFO_value(sk: *const stack_st_X509_INFO, i: usize) -> *mut X509_INFO;
22244}
22245unsafe extern "C" {
22246 #[link_name = "sk_X509_INFO_last__extern"]
22247 pub fn sk_X509_INFO_last(sk: *const stack_st_X509_INFO) -> *mut X509_INFO;
22248}
22249unsafe extern "C" {
22250 #[link_name = "sk_X509_INFO_set__extern"]
22251 pub fn sk_X509_INFO_set(
22252 sk: *mut stack_st_X509_INFO,
22253 i: usize,
22254 p: *mut X509_INFO,
22255 ) -> *mut X509_INFO;
22256}
22257unsafe extern "C" {
22258 #[link_name = "sk_X509_INFO_free__extern"]
22259 pub fn sk_X509_INFO_free(sk: *mut stack_st_X509_INFO);
22260}
22261unsafe extern "C" {
22262 #[link_name = "sk_X509_INFO_pop_free__extern"]
22263 pub fn sk_X509_INFO_pop_free(sk: *mut stack_st_X509_INFO, free_func: sk_X509_INFO_free_func);
22264}
22265unsafe extern "C" {
22266 #[link_name = "sk_X509_INFO_insert__extern"]
22267 pub fn sk_X509_INFO_insert(
22268 sk: *mut stack_st_X509_INFO,
22269 p: *mut X509_INFO,
22270 where_: usize,
22271 ) -> usize;
22272}
22273unsafe extern "C" {
22274 #[link_name = "sk_X509_INFO_delete__extern"]
22275 pub fn sk_X509_INFO_delete(sk: *mut stack_st_X509_INFO, where_: usize) -> *mut X509_INFO;
22276}
22277unsafe extern "C" {
22278 #[link_name = "sk_X509_INFO_delete_ptr__extern"]
22279 pub fn sk_X509_INFO_delete_ptr(
22280 sk: *mut stack_st_X509_INFO,
22281 p: *const X509_INFO,
22282 ) -> *mut X509_INFO;
22283}
22284unsafe extern "C" {
22285 #[link_name = "sk_X509_INFO_delete_if__extern"]
22286 pub fn sk_X509_INFO_delete_if(
22287 sk: *mut stack_st_X509_INFO,
22288 func: sk_X509_INFO_delete_if_func,
22289 data: *mut ::core::ffi::c_void,
22290 );
22291}
22292unsafe extern "C" {
22293 #[link_name = "sk_X509_INFO_find__extern"]
22294 pub fn sk_X509_INFO_find(
22295 sk: *const stack_st_X509_INFO,
22296 out_index: *mut usize,
22297 p: *const X509_INFO,
22298 ) -> ::core::ffi::c_int;
22299}
22300unsafe extern "C" {
22301 #[link_name = "sk_X509_INFO_shift__extern"]
22302 pub fn sk_X509_INFO_shift(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22303}
22304unsafe extern "C" {
22305 #[link_name = "sk_X509_INFO_push__extern"]
22306 pub fn sk_X509_INFO_push(sk: *mut stack_st_X509_INFO, p: *mut X509_INFO) -> usize;
22307}
22308unsafe extern "C" {
22309 #[link_name = "sk_X509_INFO_pop__extern"]
22310 pub fn sk_X509_INFO_pop(sk: *mut stack_st_X509_INFO) -> *mut X509_INFO;
22311}
22312unsafe extern "C" {
22313 #[link_name = "sk_X509_INFO_dup__extern"]
22314 pub fn sk_X509_INFO_dup(sk: *const stack_st_X509_INFO) -> *mut stack_st_X509_INFO;
22315}
22316unsafe extern "C" {
22317 #[link_name = "sk_X509_INFO_sort__extern"]
22318 pub fn sk_X509_INFO_sort(sk: *mut stack_st_X509_INFO);
22319}
22320unsafe extern "C" {
22321 #[link_name = "sk_X509_INFO_sort_and_dedup__extern"]
22322 pub fn sk_X509_INFO_sort_and_dedup(
22323 sk: *mut stack_st_X509_INFO,
22324 free_func: sk_X509_INFO_free_func,
22325 );
22326}
22327unsafe extern "C" {
22328 #[link_name = "sk_X509_INFO_is_sorted__extern"]
22329 pub fn sk_X509_INFO_is_sorted(sk: *const stack_st_X509_INFO) -> ::core::ffi::c_int;
22330}
22331unsafe extern "C" {
22332 #[link_name = "sk_X509_INFO_set_cmp_func__extern"]
22333 pub fn sk_X509_INFO_set_cmp_func(
22334 sk: *mut stack_st_X509_INFO,
22335 comp: sk_X509_INFO_cmp_func,
22336 ) -> sk_X509_INFO_cmp_func;
22337}
22338unsafe extern "C" {
22339 #[link_name = "sk_X509_INFO_deep_copy__extern"]
22340 pub fn sk_X509_INFO_deep_copy(
22341 sk: *const stack_st_X509_INFO,
22342 copy_func: sk_X509_INFO_copy_func,
22343 free_func: sk_X509_INFO_free_func,
22344 ) -> *mut stack_st_X509_INFO;
22345}
22346unsafe extern "C" {
22347 pub fn X509_INFO_free(info: *mut X509_INFO);
22348}
22349pub type X509V3_EXT_NEW =
22350 ::core::option::Option<unsafe extern "C" fn() -> *mut ::core::ffi::c_void>;
22351pub type X509V3_EXT_FREE =
22352 ::core::option::Option<unsafe extern "C" fn(ext: *mut ::core::ffi::c_void)>;
22353pub type X509V3_EXT_D2I = ::core::option::Option<
22354 unsafe extern "C" fn(
22355 ext: *mut ::core::ffi::c_void,
22356 inp: *mut *const u8,
22357 len: ::core::ffi::c_long,
22358 ) -> *mut ::core::ffi::c_void,
22359>;
22360pub type X509V3_EXT_I2D = ::core::option::Option<
22361 unsafe extern "C" fn(ext: *mut ::core::ffi::c_void, outp: *mut *mut u8) -> ::core::ffi::c_int,
22362>;
22363pub type X509V3_EXT_I2V = ::core::option::Option<
22364 unsafe extern "C" fn(
22365 method: *const X509V3_EXT_METHOD,
22366 ext: *mut ::core::ffi::c_void,
22367 extlist: *mut stack_st_CONF_VALUE,
22368 ) -> *mut stack_st_CONF_VALUE,
22369>;
22370pub type X509V3_EXT_V2I = ::core::option::Option<
22371 unsafe extern "C" fn(
22372 method: *const X509V3_EXT_METHOD,
22373 ctx: *const X509V3_CTX,
22374 values: *const stack_st_CONF_VALUE,
22375 ) -> *mut ::core::ffi::c_void,
22376>;
22377pub type X509V3_EXT_I2S = ::core::option::Option<
22378 unsafe extern "C" fn(
22379 method: *const X509V3_EXT_METHOD,
22380 ext: *mut ::core::ffi::c_void,
22381 ) -> *mut ::core::ffi::c_char,
22382>;
22383pub type X509V3_EXT_S2I = ::core::option::Option<
22384 unsafe extern "C" fn(
22385 method: *const X509V3_EXT_METHOD,
22386 ctx: *const X509V3_CTX,
22387 str_: *const ::core::ffi::c_char,
22388 ) -> *mut ::core::ffi::c_void,
22389>;
22390pub type X509V3_EXT_I2R = ::core::option::Option<
22391 unsafe extern "C" fn(
22392 method: *const X509V3_EXT_METHOD,
22393 ext: *mut ::core::ffi::c_void,
22394 out: *mut BIO,
22395 indent: ::core::ffi::c_int,
22396 ) -> ::core::ffi::c_int,
22397>;
22398pub type X509V3_EXT_R2I = ::core::option::Option<
22399 unsafe extern "C" fn(
22400 method: *const X509V3_EXT_METHOD,
22401 ctx: *const X509V3_CTX,
22402 str_: *const ::core::ffi::c_char,
22403 ) -> *mut ::core::ffi::c_void,
22404>;
22405#[repr(C)]
22406#[derive(Debug, Copy, Clone)]
22407pub struct v3_ext_method {
22408 pub ext_nid: ::core::ffi::c_int,
22409 pub ext_flags: ::core::ffi::c_int,
22410 pub it: *const ASN1_ITEM_st,
22411 pub ext_new: X509V3_EXT_NEW,
22412 pub ext_free: X509V3_EXT_FREE,
22413 pub d2i: X509V3_EXT_D2I,
22414 pub i2d: X509V3_EXT_I2D,
22415 pub i2s: X509V3_EXT_I2S,
22416 pub s2i: X509V3_EXT_S2I,
22417 pub i2v: X509V3_EXT_I2V,
22418 pub v2i: X509V3_EXT_V2I,
22419 pub i2r: X509V3_EXT_I2R,
22420 pub r2i: X509V3_EXT_R2I,
22421 pub usr_data: *mut ::core::ffi::c_void,
22422}
22423unsafe extern "C" {
22424 pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
22425}
22426unsafe extern "C" {
22427 pub fn X509V3_EXT_get_nid(nid: ::core::ffi::c_int) -> *const X509V3_EXT_METHOD;
22428}
22429unsafe extern "C" {
22430 pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::core::ffi::c_int;
22431}
22432unsafe extern "C" {
22433 pub fn X509V3_EXT_add_alias(
22434 nid_to: ::core::ffi::c_int,
22435 nid_from: ::core::ffi::c_int,
22436 ) -> ::core::ffi::c_int;
22437}
22438#[repr(C)]
22439#[derive(Debug, Copy, Clone)]
22440pub struct v3_ext_ctx {
22441 pub flags: ::core::ffi::c_int,
22442 pub issuer_cert: *const X509,
22443 pub subject_cert: *const X509,
22444 pub subject_req: *const X509_REQ,
22445 pub crl: *const X509_CRL,
22446 pub db: *const CONF,
22447}
22448unsafe extern "C" {
22449 pub fn X509V3_set_ctx(
22450 ctx: *mut X509V3_CTX,
22451 issuer: *const X509,
22452 subject: *const X509,
22453 req: *const X509_REQ,
22454 crl: *const X509_CRL,
22455 flags: ::core::ffi::c_int,
22456 );
22457}
22458unsafe extern "C" {
22459 pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
22460}
22461unsafe extern "C" {
22462 pub fn X509V3_EXT_nconf(
22463 conf: *const CONF,
22464 ctx: *const X509V3_CTX,
22465 name: *const ::core::ffi::c_char,
22466 value: *const ::core::ffi::c_char,
22467 ) -> *mut X509_EXTENSION;
22468}
22469unsafe extern "C" {
22470 pub fn X509V3_EXT_nconf_nid(
22471 conf: *const CONF,
22472 ctx: *const X509V3_CTX,
22473 ext_nid: ::core::ffi::c_int,
22474 value: *const ::core::ffi::c_char,
22475 ) -> *mut X509_EXTENSION;
22476}
22477unsafe extern "C" {
22478 pub fn X509V3_EXT_conf_nid(
22479 conf: *mut CRYPTO_MUST_BE_NULL,
22480 ctx: *const X509V3_CTX,
22481 ext_nid: ::core::ffi::c_int,
22482 value: *const ::core::ffi::c_char,
22483 ) -> *mut X509_EXTENSION;
22484}
22485unsafe extern "C" {
22486 pub fn X509V3_EXT_add_nconf_sk(
22487 conf: *const CONF,
22488 ctx: *const X509V3_CTX,
22489 section: *const ::core::ffi::c_char,
22490 sk: *mut *mut stack_st_X509_EXTENSION,
22491 ) -> ::core::ffi::c_int;
22492}
22493unsafe extern "C" {
22494 pub fn X509V3_EXT_add_nconf(
22495 conf: *const CONF,
22496 ctx: *const X509V3_CTX,
22497 section: *const ::core::ffi::c_char,
22498 cert: *mut X509,
22499 ) -> ::core::ffi::c_int;
22500}
22501unsafe extern "C" {
22502 pub fn X509V3_EXT_REQ_add_nconf(
22503 conf: *const CONF,
22504 ctx: *const X509V3_CTX,
22505 section: *const ::core::ffi::c_char,
22506 req: *mut X509_REQ,
22507 ) -> ::core::ffi::c_int;
22508}
22509unsafe extern "C" {
22510 pub fn X509V3_EXT_CRL_add_nconf(
22511 conf: *const CONF,
22512 ctx: *const X509V3_CTX,
22513 section: *const ::core::ffi::c_char,
22514 crl: *mut X509_CRL,
22515 ) -> ::core::ffi::c_int;
22516}
22517unsafe extern "C" {
22518 pub fn i2s_ASN1_OCTET_STRING(
22519 method: *const X509V3_EXT_METHOD,
22520 oct: *const ASN1_OCTET_STRING,
22521 ) -> *mut ::core::ffi::c_char;
22522}
22523unsafe extern "C" {
22524 pub fn s2i_ASN1_OCTET_STRING(
22525 method: *const X509V3_EXT_METHOD,
22526 ctx: *const X509V3_CTX,
22527 str_: *const ::core::ffi::c_char,
22528 ) -> *mut ASN1_OCTET_STRING;
22529}
22530unsafe extern "C" {
22531 pub fn i2s_ASN1_INTEGER(
22532 method: *const X509V3_EXT_METHOD,
22533 aint: *const ASN1_INTEGER,
22534 ) -> *mut ::core::ffi::c_char;
22535}
22536unsafe extern "C" {
22537 pub fn s2i_ASN1_INTEGER(
22538 method: *const X509V3_EXT_METHOD,
22539 value: *const ::core::ffi::c_char,
22540 ) -> *mut ASN1_INTEGER;
22541}
22542unsafe extern "C" {
22543 pub fn i2s_ASN1_ENUMERATED(
22544 method: *const X509V3_EXT_METHOD,
22545 aint: *const ASN1_ENUMERATED,
22546 ) -> *mut ::core::ffi::c_char;
22547}
22548unsafe extern "C" {
22549 pub fn X509V3_conf_free(val: *mut CONF_VALUE);
22550}
22551unsafe extern "C" {
22552 pub fn i2v_GENERAL_NAME(
22553 method: *const X509V3_EXT_METHOD,
22554 gen_: *const GENERAL_NAME,
22555 ret: *mut stack_st_CONF_VALUE,
22556 ) -> *mut stack_st_CONF_VALUE;
22557}
22558unsafe extern "C" {
22559 pub fn i2v_GENERAL_NAMES(
22560 method: *const X509V3_EXT_METHOD,
22561 gen_: *const GENERAL_NAMES,
22562 extlist: *mut stack_st_CONF_VALUE,
22563 ) -> *mut stack_st_CONF_VALUE;
22564}
22565unsafe extern "C" {
22566 pub fn a2i_IPADDRESS(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22567}
22568unsafe extern "C" {
22569 pub fn a2i_IPADDRESS_NC(ipasc: *const ::core::ffi::c_char) -> *mut ASN1_OCTET_STRING;
22570}
22571unsafe extern "C" {
22572 pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
22573}
22574unsafe extern "C" {
22575 pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
22576}
22577unsafe extern "C" {
22578 pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22579}
22580unsafe extern "C" {
22581 pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::core::ffi::c_int;
22582}
22583unsafe extern "C" {
22584 pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22585}
22586unsafe extern "C" {
22587 pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22588}
22589unsafe extern "C" {
22590 pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
22591}
22592unsafe extern "C" {
22593 pub fn X509_NAME_get_text_by_OBJ(
22594 name: *const X509_NAME,
22595 obj: *const ASN1_OBJECT,
22596 buf: *mut ::core::ffi::c_char,
22597 len: ::core::ffi::c_int,
22598 ) -> ::core::ffi::c_int;
22599}
22600unsafe extern "C" {
22601 pub fn X509_NAME_get_text_by_NID(
22602 name: *const X509_NAME,
22603 nid: ::core::ffi::c_int,
22604 buf: *mut ::core::ffi::c_char,
22605 len: ::core::ffi::c_int,
22606 ) -> ::core::ffi::c_int;
22607}
22608unsafe extern "C" {
22609 pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *const X509_STORE_CTX) -> *mut X509_STORE_CTX;
22610}
22611unsafe extern "C" {
22612 pub fn X509_OBJECT_free_contents(obj: *mut X509_OBJECT);
22613}
22614unsafe extern "C" {
22615 pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
22616}
22617unsafe extern "C" {
22618 pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
22619}
22620unsafe extern "C" {
22621 pub fn X509V3_add_standard_extensions() -> ::core::ffi::c_int;
22622}
22623unsafe extern "C" {
22624 pub fn X509_STORE_CTX_get_chain(ctx: *const X509_STORE_CTX) -> *mut stack_st_X509;
22625}
22626unsafe extern "C" {
22627 pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22628}
22629pub type X509_STORE_CTX_verify_cb = ::core::option::Option<
22630 unsafe extern "C" fn(arg1: ::core::ffi::c_int, arg2: *mut X509_STORE_CTX) -> ::core::ffi::c_int,
22631>;
22632unsafe extern "C" {
22633 pub fn X509_STORE_CTX_set_verify_cb(
22634 ctx: *mut X509_STORE_CTX,
22635 verify_cb: ::core::option::Option<
22636 unsafe extern "C" fn(
22637 ok: ::core::ffi::c_int,
22638 ctx: *mut X509_STORE_CTX,
22639 ) -> ::core::ffi::c_int,
22640 >,
22641 );
22642}
22643unsafe extern "C" {
22644 pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
22645}
22646unsafe extern "C" {
22647 pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22648}
22649unsafe extern "C" {
22650 pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
22651}
22652unsafe extern "C" {
22653 pub fn X509_PURPOSE_get_by_sname(sname: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
22654}
22655unsafe extern "C" {
22656 pub fn X509_PURPOSE_get0(id: ::core::ffi::c_int) -> *const X509_PURPOSE;
22657}
22658unsafe extern "C" {
22659 pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::core::ffi::c_int;
22660}
22661#[repr(C)]
22662#[derive(Debug, Copy, Clone)]
22663pub struct X509_algor_st {
22664 pub algorithm: *mut ASN1_OBJECT,
22665 pub parameter: *mut ASN1_TYPE,
22666}
22667pub type pem_password_cb = ::core::option::Option<
22668 unsafe extern "C" fn(
22669 out: *mut ::core::ffi::c_char,
22670 max_out: ::core::ffi::c_int,
22671 enc: ::core::ffi::c_int,
22672 userdata: *mut ::core::ffi::c_void,
22673 ) -> ::core::ffi::c_int,
22674>;
22675unsafe extern "C" {
22676 pub fn PEM_def_callback(
22677 buf: *mut ::core::ffi::c_char,
22678 size: ::core::ffi::c_int,
22679 enc: ::core::ffi::c_int,
22680 userdata: *mut ::core::ffi::c_void,
22681 ) -> ::core::ffi::c_int;
22682}
22683unsafe extern "C" {
22684 pub fn PEM_read_bio_X509(
22685 bio: *mut BIO,
22686 out: *mut *mut X509,
22687 cb: pem_password_cb,
22688 userdata: *mut ::core::ffi::c_void,
22689 ) -> *mut X509;
22690}
22691unsafe extern "C" {
22692 pub fn PEM_write_bio_X509(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22693}
22694unsafe extern "C" {
22695 pub fn PEM_read_bio_X509_AUX(
22696 bio: *mut BIO,
22697 out: *mut *mut X509,
22698 cb: pem_password_cb,
22699 userdata: *mut ::core::ffi::c_void,
22700 ) -> *mut X509;
22701}
22702unsafe extern "C" {
22703 pub fn PEM_write_bio_X509_AUX(bio: *mut BIO, in_: *const X509) -> ::core::ffi::c_int;
22704}
22705unsafe extern "C" {
22706 pub fn PEM_read_bio_X509_CRL(
22707 bio: *mut BIO,
22708 out: *mut *mut X509_CRL,
22709 cb: pem_password_cb,
22710 userdata: *mut ::core::ffi::c_void,
22711 ) -> *mut X509_CRL;
22712}
22713unsafe extern "C" {
22714 pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, in_: *const X509_CRL) -> ::core::ffi::c_int;
22715}
22716unsafe extern "C" {
22717 pub fn PEM_read_bio_X509_REQ(
22718 bio: *mut BIO,
22719 out: *mut *mut X509_REQ,
22720 cb: pem_password_cb,
22721 userdata: *mut ::core::ffi::c_void,
22722 ) -> *mut X509_REQ;
22723}
22724unsafe extern "C" {
22725 pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22726}
22727unsafe extern "C" {
22728 pub fn PEM_write_bio_X509_REQ_NEW(bio: *mut BIO, in_: *const X509_REQ) -> ::core::ffi::c_int;
22729}
22730unsafe extern "C" {
22731 pub fn PEM_read_bio_PKCS7(
22732 bio: *mut BIO,
22733 out: *mut *mut PKCS7,
22734 cb: pem_password_cb,
22735 userdata: *mut ::core::ffi::c_void,
22736 ) -> *mut PKCS7;
22737}
22738unsafe extern "C" {
22739 pub fn PEM_write_bio_PKCS7(bio: *mut BIO, in_: *const PKCS7) -> ::core::ffi::c_int;
22740}
22741unsafe extern "C" {
22742 pub fn PEM_X509_INFO_read_bio(
22743 bio: *mut BIO,
22744 sk: *mut stack_st_X509_INFO,
22745 cb: pem_password_cb,
22746 userdata: *mut ::core::ffi::c_void,
22747 ) -> *mut stack_st_X509_INFO;
22748}
22749unsafe extern "C" {
22750 pub fn PEM_read_bio_PrivateKey(
22751 bio: *mut BIO,
22752 out: *mut *mut EVP_PKEY,
22753 cb: pem_password_cb,
22754 userdata: *mut ::core::ffi::c_void,
22755 ) -> *mut EVP_PKEY;
22756}
22757unsafe extern "C" {
22758 pub fn PEM_write_bio_PrivateKey(
22759 bio: *mut BIO,
22760 in_: *const EVP_PKEY,
22761 enc: *const EVP_CIPHER,
22762 pass: *const u8,
22763 pass_len: ::core::ffi::c_int,
22764 cb: pem_password_cb,
22765 userdata: *mut ::core::ffi::c_void,
22766 ) -> ::core::ffi::c_int;
22767}
22768unsafe extern "C" {
22769 pub fn PEM_read_bio_PUBKEY(
22770 bio: *mut BIO,
22771 out: *mut *mut EVP_PKEY,
22772 cb: pem_password_cb,
22773 userdata: *mut ::core::ffi::c_void,
22774 ) -> *mut EVP_PKEY;
22775}
22776unsafe extern "C" {
22777 pub fn PEM_write_bio_PUBKEY(bio: *mut BIO, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
22778}
22779unsafe extern "C" {
22780 pub fn PEM_write_bio_PKCS8PrivateKey_nid(
22781 bio: *mut BIO,
22782 in_: *const EVP_PKEY,
22783 nid: ::core::ffi::c_int,
22784 pass: *const ::core::ffi::c_char,
22785 pass_len: ::core::ffi::c_int,
22786 cb: pem_password_cb,
22787 userdata: *mut ::core::ffi::c_void,
22788 ) -> ::core::ffi::c_int;
22789}
22790unsafe extern "C" {
22791 pub fn PEM_write_bio_PKCS8PrivateKey(
22792 bio: *mut BIO,
22793 in_: *const EVP_PKEY,
22794 enc: *const EVP_CIPHER,
22795 pass: *const ::core::ffi::c_char,
22796 pass_len: ::core::ffi::c_int,
22797 cb: pem_password_cb,
22798 userdata: *mut ::core::ffi::c_void,
22799 ) -> ::core::ffi::c_int;
22800}
22801unsafe extern "C" {
22802 pub fn PEM_write_PKCS8PrivateKey_nid(
22803 fp: *mut FILE,
22804 in_: *const EVP_PKEY,
22805 nid: ::core::ffi::c_int,
22806 pass: *const ::core::ffi::c_char,
22807 pass_len: ::core::ffi::c_int,
22808 cb: pem_password_cb,
22809 userdata: *mut ::core::ffi::c_void,
22810 ) -> ::core::ffi::c_int;
22811}
22812unsafe extern "C" {
22813 pub fn PEM_write_PKCS8PrivateKey(
22814 fp: *mut FILE,
22815 in_: *const EVP_PKEY,
22816 enc: *const EVP_CIPHER,
22817 pass: *const ::core::ffi::c_char,
22818 pass_len: ::core::ffi::c_int,
22819 cb: pem_password_cb,
22820 userdata: *mut ::core::ffi::c_void,
22821 ) -> ::core::ffi::c_int;
22822}
22823unsafe extern "C" {
22824 pub fn PEM_read_bio_PKCS8(
22825 bio: *mut BIO,
22826 out: *mut *mut X509_SIG,
22827 cb: pem_password_cb,
22828 userdata: *mut ::core::ffi::c_void,
22829 ) -> *mut X509_SIG;
22830}
22831unsafe extern "C" {
22832 pub fn PEM_write_bio_PKCS8(bio: *mut BIO, in_: *const X509_SIG) -> ::core::ffi::c_int;
22833}
22834unsafe extern "C" {
22835 pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
22836 bio: *mut BIO,
22837 out: *mut *mut PKCS8_PRIV_KEY_INFO,
22838 cb: pem_password_cb,
22839 userdata: *mut ::core::ffi::c_void,
22840 ) -> *mut PKCS8_PRIV_KEY_INFO;
22841}
22842unsafe extern "C" {
22843 pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
22844 bio: *mut BIO,
22845 in_: *const PKCS8_PRIV_KEY_INFO,
22846 ) -> ::core::ffi::c_int;
22847}
22848unsafe extern "C" {
22849 pub fn PEM_read_bio_RSAPrivateKey(
22850 bio: *mut BIO,
22851 out: *mut *mut RSA,
22852 cb: pem_password_cb,
22853 userdata: *mut ::core::ffi::c_void,
22854 ) -> *mut RSA;
22855}
22856unsafe extern "C" {
22857 pub fn PEM_write_bio_RSAPrivateKey(
22858 bio: *mut BIO,
22859 in_: *const RSA,
22860 enc: *const EVP_CIPHER,
22861 pass: *const u8,
22862 pass_len: ::core::ffi::c_int,
22863 cb: pem_password_cb,
22864 userdata: *mut ::core::ffi::c_void,
22865 ) -> ::core::ffi::c_int;
22866}
22867unsafe extern "C" {
22868 pub fn PEM_read_bio_RSAPublicKey(
22869 bio: *mut BIO,
22870 out: *mut *mut RSA,
22871 cb: pem_password_cb,
22872 userdata: *mut ::core::ffi::c_void,
22873 ) -> *mut RSA;
22874}
22875unsafe extern "C" {
22876 pub fn PEM_write_bio_RSAPublicKey(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22877}
22878unsafe extern "C" {
22879 pub fn PEM_read_bio_RSA_PUBKEY(
22880 bio: *mut BIO,
22881 out: *mut *mut RSA,
22882 cb: pem_password_cb,
22883 userdata: *mut ::core::ffi::c_void,
22884 ) -> *mut RSA;
22885}
22886unsafe extern "C" {
22887 pub fn PEM_write_bio_RSA_PUBKEY(bio: *mut BIO, in_: *const RSA) -> ::core::ffi::c_int;
22888}
22889unsafe extern "C" {
22890 pub fn PEM_read_bio_DSAPrivateKey(
22891 bio: *mut BIO,
22892 out: *mut *mut DSA,
22893 cb: pem_password_cb,
22894 userdata: *mut ::core::ffi::c_void,
22895 ) -> *mut DSA;
22896}
22897unsafe extern "C" {
22898 pub fn PEM_write_bio_DSAPrivateKey(
22899 bio: *mut BIO,
22900 in_: *const DSA,
22901 enc: *const EVP_CIPHER,
22902 pass: *const u8,
22903 pass_len: ::core::ffi::c_int,
22904 cb: pem_password_cb,
22905 userdata: *mut ::core::ffi::c_void,
22906 ) -> ::core::ffi::c_int;
22907}
22908unsafe extern "C" {
22909 pub fn PEM_read_bio_DSA_PUBKEY(
22910 bio: *mut BIO,
22911 out: *mut *mut DSA,
22912 cb: pem_password_cb,
22913 userdata: *mut ::core::ffi::c_void,
22914 ) -> *mut DSA;
22915}
22916unsafe extern "C" {
22917 pub fn PEM_write_bio_DSA_PUBKEY(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22918}
22919unsafe extern "C" {
22920 pub fn PEM_read_bio_DSAparams(
22921 bio: *mut BIO,
22922 out: *mut *mut DSA,
22923 cb: pem_password_cb,
22924 userdata: *mut ::core::ffi::c_void,
22925 ) -> *mut DSA;
22926}
22927unsafe extern "C" {
22928 pub fn PEM_write_bio_DSAparams(bio: *mut BIO, in_: *const DSA) -> ::core::ffi::c_int;
22929}
22930unsafe extern "C" {
22931 pub fn PEM_read_bio_ECPrivateKey(
22932 bio: *mut BIO,
22933 out: *mut *mut EC_KEY,
22934 cb: pem_password_cb,
22935 userdata: *mut ::core::ffi::c_void,
22936 ) -> *mut EC_KEY;
22937}
22938unsafe extern "C" {
22939 pub fn PEM_write_bio_ECPrivateKey(
22940 bio: *mut BIO,
22941 in_: *const EC_KEY,
22942 enc: *const EVP_CIPHER,
22943 pass: *const u8,
22944 pass_len: ::core::ffi::c_int,
22945 cb: pem_password_cb,
22946 userdata: *mut ::core::ffi::c_void,
22947 ) -> ::core::ffi::c_int;
22948}
22949unsafe extern "C" {
22950 pub fn PEM_read_bio_EC_PUBKEY(
22951 bio: *mut BIO,
22952 out: *mut *mut EC_KEY,
22953 cb: pem_password_cb,
22954 userdata: *mut ::core::ffi::c_void,
22955 ) -> *mut EC_KEY;
22956}
22957unsafe extern "C" {
22958 pub fn PEM_write_bio_EC_PUBKEY(bio: *mut BIO, in_: *const EC_KEY) -> ::core::ffi::c_int;
22959}
22960unsafe extern "C" {
22961 pub fn PEM_read_bio_DHparams(
22962 bio: *mut BIO,
22963 out: *mut *mut DH,
22964 cb: pem_password_cb,
22965 userdata: *mut ::core::ffi::c_void,
22966 ) -> *mut DH;
22967}
22968unsafe extern "C" {
22969 pub fn PEM_write_bio_DHparams(bio: *mut BIO, in_: *const DH) -> ::core::ffi::c_int;
22970}
22971unsafe extern "C" {
22972 pub fn PEM_read_X509(
22973 fp: *mut FILE,
22974 out: *mut *mut X509,
22975 cb: pem_password_cb,
22976 userdata: *mut ::core::ffi::c_void,
22977 ) -> *mut X509;
22978}
22979unsafe extern "C" {
22980 pub fn PEM_read_X509_CRL(
22981 fp: *mut FILE,
22982 out: *mut *mut X509_CRL,
22983 cb: pem_password_cb,
22984 userdata: *mut ::core::ffi::c_void,
22985 ) -> *mut X509_CRL;
22986}
22987unsafe extern "C" {
22988 pub fn PEM_read_X509_AUX(
22989 fp: *mut FILE,
22990 out: *mut *mut X509,
22991 cb: pem_password_cb,
22992 userdata: *mut ::core::ffi::c_void,
22993 ) -> *mut X509;
22994}
22995unsafe extern "C" {
22996 pub fn PEM_X509_INFO_read(
22997 fp: *mut FILE,
22998 sk: *mut stack_st_X509_INFO,
22999 cb: pem_password_cb,
23000 userdata: *mut ::core::ffi::c_void,
23001 ) -> *mut stack_st_X509_INFO;
23002}
23003unsafe extern "C" {
23004 pub fn PEM_read_X509_REQ(
23005 fp: *mut FILE,
23006 out: *mut *mut X509_REQ,
23007 cb: pem_password_cb,
23008 userdata: *mut ::core::ffi::c_void,
23009 ) -> *mut X509_REQ;
23010}
23011unsafe extern "C" {
23012 pub fn PEM_read_PKCS7(
23013 fp: *mut FILE,
23014 out: *mut *mut PKCS7,
23015 cb: pem_password_cb,
23016 userdata: *mut ::core::ffi::c_void,
23017 ) -> *mut PKCS7;
23018}
23019unsafe extern "C" {
23020 pub fn PEM_read_PKCS8(
23021 fp: *mut FILE,
23022 out: *mut *mut X509_SIG,
23023 cb: pem_password_cb,
23024 userdata: *mut ::core::ffi::c_void,
23025 ) -> *mut X509_SIG;
23026}
23027unsafe extern "C" {
23028 pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
23029 fp: *mut FILE,
23030 out: *mut *mut PKCS8_PRIV_KEY_INFO,
23031 cb: pem_password_cb,
23032 userdata: *mut ::core::ffi::c_void,
23033 ) -> *mut PKCS8_PRIV_KEY_INFO;
23034}
23035unsafe extern "C" {
23036 pub fn PEM_read_RSAPrivateKey(
23037 fp: *mut FILE,
23038 out: *mut *mut RSA,
23039 cb: pem_password_cb,
23040 userdata: *mut ::core::ffi::c_void,
23041 ) -> *mut RSA;
23042}
23043unsafe extern "C" {
23044 pub fn PEM_read_RSAPublicKey(
23045 fp: *mut FILE,
23046 out: *mut *mut RSA,
23047 cb: pem_password_cb,
23048 userdata: *mut ::core::ffi::c_void,
23049 ) -> *mut RSA;
23050}
23051unsafe extern "C" {
23052 pub fn PEM_read_RSA_PUBKEY(
23053 fp: *mut FILE,
23054 out: *mut *mut RSA,
23055 cb: pem_password_cb,
23056 userdata: *mut ::core::ffi::c_void,
23057 ) -> *mut RSA;
23058}
23059unsafe extern "C" {
23060 pub fn PEM_read_DSAPrivateKey(
23061 fp: *mut FILE,
23062 out: *mut *mut DSA,
23063 cb: pem_password_cb,
23064 userdata: *mut ::core::ffi::c_void,
23065 ) -> *mut DSA;
23066}
23067unsafe extern "C" {
23068 pub fn PEM_read_DSA_PUBKEY(
23069 fp: *mut FILE,
23070 out: *mut *mut DSA,
23071 cb: pem_password_cb,
23072 userdata: *mut ::core::ffi::c_void,
23073 ) -> *mut DSA;
23074}
23075unsafe extern "C" {
23076 pub fn PEM_read_DSAparams(
23077 fp: *mut FILE,
23078 out: *mut *mut DSA,
23079 cb: pem_password_cb,
23080 userdata: *mut ::core::ffi::c_void,
23081 ) -> *mut DSA;
23082}
23083unsafe extern "C" {
23084 pub fn PEM_read_ECPrivateKey(
23085 fp: *mut FILE,
23086 out: *mut *mut EC_KEY,
23087 cb: pem_password_cb,
23088 userdata: *mut ::core::ffi::c_void,
23089 ) -> *mut EC_KEY;
23090}
23091unsafe extern "C" {
23092 pub fn PEM_read_EC_PUBKEY(
23093 fp: *mut FILE,
23094 out: *mut *mut EC_KEY,
23095 cb: pem_password_cb,
23096 userdata: *mut ::core::ffi::c_void,
23097 ) -> *mut EC_KEY;
23098}
23099unsafe extern "C" {
23100 pub fn PEM_read_DHparams(
23101 fp: *mut FILE,
23102 out: *mut *mut DH,
23103 cb: pem_password_cb,
23104 userdata: *mut ::core::ffi::c_void,
23105 ) -> *mut DH;
23106}
23107unsafe extern "C" {
23108 pub fn PEM_read_PrivateKey(
23109 fp: *mut FILE,
23110 out: *mut *mut EVP_PKEY,
23111 cb: pem_password_cb,
23112 userdata: *mut ::core::ffi::c_void,
23113 ) -> *mut EVP_PKEY;
23114}
23115unsafe extern "C" {
23116 pub fn PEM_read_PUBKEY(
23117 fp: *mut FILE,
23118 out: *mut *mut EVP_PKEY,
23119 cb: pem_password_cb,
23120 userdata: *mut ::core::ffi::c_void,
23121 ) -> *mut EVP_PKEY;
23122}
23123unsafe extern "C" {
23124 pub fn PEM_write_X509(fp: *mut FILE, x: *const X509) -> ::core::ffi::c_int;
23125}
23126unsafe extern "C" {
23127 pub fn PEM_write_X509_CRL(fp: *mut FILE, in_: *const X509_CRL) -> ::core::ffi::c_int;
23128}
23129unsafe extern "C" {
23130 pub fn PEM_write_X509_AUX(fp: *mut FILE, in_: *const X509) -> ::core::ffi::c_int;
23131}
23132unsafe extern "C" {
23133 pub fn PEM_write_X509_REQ(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
23134}
23135unsafe extern "C" {
23136 pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, in_: *const X509_REQ) -> ::core::ffi::c_int;
23137}
23138unsafe extern "C" {
23139 pub fn PEM_write_PKCS7(fp: *mut FILE, in_: *const PKCS7) -> ::core::ffi::c_int;
23140}
23141unsafe extern "C" {
23142 pub fn PEM_write_PKCS8(fp: *mut FILE, in_: *const X509_SIG) -> ::core::ffi::c_int;
23143}
23144unsafe extern "C" {
23145 pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
23146 fp: *mut FILE,
23147 in_: *const PKCS8_PRIV_KEY_INFO,
23148 ) -> ::core::ffi::c_int;
23149}
23150unsafe extern "C" {
23151 pub fn PEM_write_RSAPrivateKey(
23152 fp: *mut FILE,
23153 in_: *const RSA,
23154 enc: *const EVP_CIPHER,
23155 pass: *const u8,
23156 pass_len: ::core::ffi::c_int,
23157 cb: pem_password_cb,
23158 userdata: *mut ::core::ffi::c_void,
23159 ) -> ::core::ffi::c_int;
23160}
23161unsafe extern "C" {
23162 pub fn PEM_write_RSAPublicKey(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
23163}
23164unsafe extern "C" {
23165 pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, in_: *const RSA) -> ::core::ffi::c_int;
23166}
23167unsafe extern "C" {
23168 pub fn PEM_write_DSAPrivateKey(
23169 fp: *mut FILE,
23170 in_: *const DSA,
23171 enc: *const EVP_CIPHER,
23172 pass: *const u8,
23173 pass_len: ::core::ffi::c_int,
23174 cb: pem_password_cb,
23175 userdata: *mut ::core::ffi::c_void,
23176 ) -> ::core::ffi::c_int;
23177}
23178unsafe extern "C" {
23179 pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
23180}
23181unsafe extern "C" {
23182 pub fn PEM_write_DSAparams(fp: *mut FILE, in_: *const DSA) -> ::core::ffi::c_int;
23183}
23184unsafe extern "C" {
23185 pub fn PEM_write_ECPrivateKey(
23186 fp: *mut FILE,
23187 in_: *const EC_KEY,
23188 enc: *const EVP_CIPHER,
23189 pass: *const u8,
23190 pass_len: ::core::ffi::c_int,
23191 cb: pem_password_cb,
23192 userdata: *mut ::core::ffi::c_void,
23193 ) -> ::core::ffi::c_int;
23194}
23195unsafe extern "C" {
23196 pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, in_: *const EC_KEY) -> ::core::ffi::c_int;
23197}
23198unsafe extern "C" {
23199 pub fn PEM_write_DHparams(fp: *mut FILE, in_: *const DH) -> ::core::ffi::c_int;
23200}
23201unsafe extern "C" {
23202 pub fn PEM_write_PrivateKey(
23203 fp: *mut FILE,
23204 in_: *const EVP_PKEY,
23205 enc: *const EVP_CIPHER,
23206 pass: *const u8,
23207 pass_len: ::core::ffi::c_int,
23208 cb: pem_password_cb,
23209 userdata: *mut ::core::ffi::c_void,
23210 ) -> ::core::ffi::c_int;
23211}
23212unsafe extern "C" {
23213 pub fn PEM_write_PUBKEY(fp: *mut FILE, in_: *const EVP_PKEY) -> ::core::ffi::c_int;
23214}
23215unsafe extern "C" {
23216 pub fn PEM_read_bio(
23217 bio: *mut BIO,
23218 out_name: *mut *mut ::core::ffi::c_char,
23219 out_header: *mut *mut ::core::ffi::c_char,
23220 out_data: *mut *mut u8,
23221 out_len: *mut ::core::ffi::c_long,
23222 ) -> ::core::ffi::c_int;
23223}
23224unsafe extern "C" {
23225 pub fn PEM_read(
23226 fp: *mut FILE,
23227 out_name: *mut *mut ::core::ffi::c_char,
23228 out_header: *mut *mut ::core::ffi::c_char,
23229 out_data: *mut *mut u8,
23230 out_len: *mut ::core::ffi::c_long,
23231 ) -> ::core::ffi::c_int;
23232}
23233unsafe extern "C" {
23234 pub fn PEM_write_bio(
23235 bio: *mut BIO,
23236 name: *const ::core::ffi::c_char,
23237 hdr: *const ::core::ffi::c_char,
23238 data: *const u8,
23239 len: ::core::ffi::c_long,
23240 ) -> ::core::ffi::c_int;
23241}
23242unsafe extern "C" {
23243 pub fn PEM_write(
23244 fp: *mut FILE,
23245 name: *const ::core::ffi::c_char,
23246 hdr: *const ::core::ffi::c_char,
23247 data: *const u8,
23248 len: ::core::ffi::c_long,
23249 ) -> ::core::ffi::c_int;
23250}
23251unsafe extern "C" {
23252 pub fn PEM_bytes_read_bio(
23253 out_data: *mut *mut u8,
23254 out_len: *mut ::core::ffi::c_long,
23255 out_name: *mut *mut ::core::ffi::c_char,
23256 expected_name: *const ::core::ffi::c_char,
23257 bio: *mut BIO,
23258 cb: pem_password_cb,
23259 userdata: *mut ::core::ffi::c_void,
23260 ) -> ::core::ffi::c_int;
23261}
23262unsafe extern "C" {
23263 pub fn d2i_PKCS8PrivateKey_bio(
23264 bio: *mut BIO,
23265 out: *mut *mut EVP_PKEY,
23266 cb: pem_password_cb,
23267 userdata: *mut ::core::ffi::c_void,
23268 ) -> *mut EVP_PKEY;
23269}
23270unsafe extern "C" {
23271 pub fn i2d_PKCS8PrivateKey_bio(
23272 bio: *mut BIO,
23273 in_: *const EVP_PKEY,
23274 enc: *const EVP_CIPHER,
23275 pass: *const ::core::ffi::c_char,
23276 pass_len: ::core::ffi::c_int,
23277 cb: pem_password_cb,
23278 userdata: *mut ::core::ffi::c_void,
23279 ) -> ::core::ffi::c_int;
23280}
23281unsafe extern "C" {
23282 pub fn i2d_PKCS8PrivateKey_nid_bio(
23283 bio: *mut BIO,
23284 in_: *const EVP_PKEY,
23285 nid: ::core::ffi::c_int,
23286 pass: *const ::core::ffi::c_char,
23287 pass_len: ::core::ffi::c_int,
23288 cb: pem_password_cb,
23289 userdata: *mut ::core::ffi::c_void,
23290 ) -> ::core::ffi::c_int;
23291}
23292unsafe extern "C" {
23293 pub fn i2d_PKCS8PrivateKey_fp(
23294 fp: *mut FILE,
23295 in_: *const EVP_PKEY,
23296 enc: *const EVP_CIPHER,
23297 pass: *const ::core::ffi::c_char,
23298 pass_len: ::core::ffi::c_int,
23299 cb: pem_password_cb,
23300 userdata: *mut ::core::ffi::c_void,
23301 ) -> ::core::ffi::c_int;
23302}
23303unsafe extern "C" {
23304 pub fn i2d_PKCS8PrivateKey_nid_fp(
23305 fp: *mut FILE,
23306 in_: *const EVP_PKEY,
23307 nid: ::core::ffi::c_int,
23308 pass: *const ::core::ffi::c_char,
23309 pass_len: ::core::ffi::c_int,
23310 cb: pem_password_cb,
23311 userdata: *mut ::core::ffi::c_void,
23312 ) -> ::core::ffi::c_int;
23313}
23314unsafe extern "C" {
23315 pub fn d2i_PKCS8PrivateKey_fp(
23316 fp: *mut FILE,
23317 out: *mut *mut EVP_PKEY,
23318 cb: pem_password_cb,
23319 userdata: *mut ::core::ffi::c_void,
23320 ) -> *mut EVP_PKEY;
23321}
23322unsafe extern "C" {
23323 pub fn PEM_ASN1_read_bio(
23324 d2i: d2i_of_void,
23325 name: *const ::core::ffi::c_char,
23326 bio: *mut BIO,
23327 out: *mut *mut ::core::ffi::c_void,
23328 cb: pem_password_cb,
23329 userdata: *mut ::core::ffi::c_void,
23330 ) -> *mut ::core::ffi::c_void;
23331}
23332unsafe extern "C" {
23333 pub fn PEM_ASN1_read(
23334 d2i: d2i_of_void,
23335 name: *const ::core::ffi::c_char,
23336 fp: *mut FILE,
23337 out: *mut *mut ::core::ffi::c_void,
23338 cb: pem_password_cb,
23339 userdata: *mut ::core::ffi::c_void,
23340 ) -> *mut ::core::ffi::c_void;
23341}
23342unsafe extern "C" {
23343 pub fn PEM_ASN1_write_bio(
23344 i2d: i2d_of_void,
23345 name: *const ::core::ffi::c_char,
23346 bio: *mut BIO,
23347 in_: *const ::core::ffi::c_void,
23348 enc: *const EVP_CIPHER,
23349 pass: *const u8,
23350 pass_len: ::core::ffi::c_int,
23351 cb: pem_password_cb,
23352 userdata: *mut ::core::ffi::c_void,
23353 ) -> ::core::ffi::c_int;
23354}
23355unsafe extern "C" {
23356 pub fn PEM_ASN1_write(
23357 i2d: i2d_of_void,
23358 name: *const ::core::ffi::c_char,
23359 fp: *mut FILE,
23360 in_: *const ::core::ffi::c_void,
23361 enc: *const EVP_CIPHER,
23362 pass: *const u8,
23363 pass_len: ::core::ffi::c_int,
23364 callback: pem_password_cb,
23365 userdata: *mut ::core::ffi::c_void,
23366 ) -> ::core::ffi::c_int;
23367}
23368unsafe extern "C" {
23369 pub fn PKCS8_encrypt(
23370 pbe_nid: ::core::ffi::c_int,
23371 cipher: *const EVP_CIPHER,
23372 pass: *const ::core::ffi::c_char,
23373 pass_len: ::core::ffi::c_int,
23374 salt: *const u8,
23375 salt_len: usize,
23376 iterations: ::core::ffi::c_int,
23377 p8inf: *mut PKCS8_PRIV_KEY_INFO,
23378 ) -> *mut X509_SIG;
23379}
23380unsafe extern "C" {
23381 pub fn PKCS8_marshal_encrypted_private_key(
23382 out: *mut CBB,
23383 pbe_nid: ::core::ffi::c_int,
23384 cipher: *const EVP_CIPHER,
23385 pass: *const ::core::ffi::c_char,
23386 pass_len: usize,
23387 salt: *const u8,
23388 salt_len: usize,
23389 iterations: ::core::ffi::c_int,
23390 pkey: *const EVP_PKEY,
23391 ) -> ::core::ffi::c_int;
23392}
23393unsafe extern "C" {
23394 pub fn PKCS8_decrypt(
23395 pkcs8: *mut X509_SIG,
23396 pass: *const ::core::ffi::c_char,
23397 pass_len: ::core::ffi::c_int,
23398 ) -> *mut PKCS8_PRIV_KEY_INFO;
23399}
23400unsafe extern "C" {
23401 pub fn PKCS8_parse_encrypted_private_key(
23402 cbs: *mut CBS,
23403 pass: *const ::core::ffi::c_char,
23404 pass_len: usize,
23405 ) -> *mut EVP_PKEY;
23406}
23407unsafe extern "C" {
23408 pub fn PKCS12_get_key_and_certs(
23409 out_key: *mut *mut EVP_PKEY,
23410 out_certs: *mut stack_st_X509,
23411 in_: *mut CBS,
23412 password: *const ::core::ffi::c_char,
23413 ) -> ::core::ffi::c_int;
23414}
23415unsafe extern "C" {
23416 pub fn PKCS12_PBE_add();
23417}
23418unsafe extern "C" {
23419 pub fn d2i_PKCS12(
23420 out_p12: *mut *mut PKCS12,
23421 ber_bytes: *mut *const u8,
23422 ber_len: usize,
23423 ) -> *mut PKCS12;
23424}
23425unsafe extern "C" {
23426 pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23427}
23428unsafe extern "C" {
23429 pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
23430}
23431unsafe extern "C" {
23432 pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::core::ffi::c_int;
23433}
23434unsafe extern "C" {
23435 pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::core::ffi::c_int;
23436}
23437unsafe extern "C" {
23438 pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::core::ffi::c_int;
23439}
23440unsafe extern "C" {
23441 pub fn PKCS12_parse(
23442 p12: *const PKCS12,
23443 password: *const ::core::ffi::c_char,
23444 out_pkey: *mut *mut EVP_PKEY,
23445 out_cert: *mut *mut X509,
23446 out_ca_certs: *mut *mut stack_st_X509,
23447 ) -> ::core::ffi::c_int;
23448}
23449unsafe extern "C" {
23450 pub fn PKCS12_verify_mac(
23451 p12: *const PKCS12,
23452 password: *const ::core::ffi::c_char,
23453 password_len: ::core::ffi::c_int,
23454 ) -> ::core::ffi::c_int;
23455}
23456unsafe extern "C" {
23457 pub fn PKCS12_create(
23458 password: *const ::core::ffi::c_char,
23459 name: *const ::core::ffi::c_char,
23460 pkey: *const EVP_PKEY,
23461 cert: *mut X509,
23462 chain: *const stack_st_X509,
23463 key_nid: ::core::ffi::c_int,
23464 cert_nid: ::core::ffi::c_int,
23465 iterations: ::core::ffi::c_int,
23466 mac_iterations: ::core::ffi::c_int,
23467 key_type: ::core::ffi::c_int,
23468 ) -> *mut PKCS12;
23469}
23470unsafe extern "C" {
23471 pub fn PKCS12_free(p12: *mut PKCS12);
23472}
23473pub type poly1305_state = [u8; 512usize];
23474unsafe extern "C" {
23475 pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
23476}
23477unsafe extern "C" {
23478 pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
23479}
23480unsafe extern "C" {
23481 pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
23482}
23483unsafe extern "C" {
23484 pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23485}
23486unsafe extern "C" {
23487 pub fn RAND_enable_fork_unsafe_buffering(fd: ::core::ffi::c_int);
23488}
23489unsafe extern "C" {
23490 pub fn RAND_disable_fork_unsafe_buffering();
23491}
23492unsafe extern "C" {
23493 pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
23494}
23495unsafe extern "C" {
23496 pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::core::ffi::c_int;
23497}
23498unsafe extern "C" {
23499 pub fn RAND_seed(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int);
23500}
23501unsafe extern "C" {
23502 pub fn RAND_load_file(
23503 path: *const ::core::ffi::c_char,
23504 num: ::core::ffi::c_long,
23505 ) -> ::core::ffi::c_int;
23506}
23507unsafe extern "C" {
23508 pub fn RAND_file_name(buf: *mut ::core::ffi::c_char, num: usize) -> *const ::core::ffi::c_char;
23509}
23510unsafe extern "C" {
23511 pub fn RAND_add(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int, entropy: f64);
23512}
23513unsafe extern "C" {
23514 pub fn RAND_egd(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
23515}
23516unsafe extern "C" {
23517 pub fn RAND_poll() -> ::core::ffi::c_int;
23518}
23519unsafe extern "C" {
23520 pub fn RAND_status() -> ::core::ffi::c_int;
23521}
23522unsafe extern "C" {
23523 pub fn RAND_cleanup();
23524}
23525#[repr(C)]
23526#[derive(Debug, Copy, Clone)]
23527pub struct rand_meth_st {
23528 pub seed: ::core::option::Option<
23529 unsafe extern "C" fn(buf: *const ::core::ffi::c_void, num: ::core::ffi::c_int),
23530 >,
23531 pub bytes: ::core::option::Option<
23532 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23533 >,
23534 pub cleanup: ::core::option::Option<unsafe extern "C" fn()>,
23535 pub add: ::core::option::Option<
23536 unsafe extern "C" fn(
23537 buf: *const ::core::ffi::c_void,
23538 num: ::core::ffi::c_int,
23539 entropy: f64,
23540 ),
23541 >,
23542 pub pseudorand: ::core::option::Option<
23543 unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::core::ffi::c_int,
23544 >,
23545 pub status: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_int>,
23546}
23547unsafe extern "C" {
23548 pub fn RAND_SSLeay() -> *mut RAND_METHOD;
23549}
23550unsafe extern "C" {
23551 pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
23552}
23553unsafe extern "C" {
23554 pub fn RAND_get_rand_method() -> *const RAND_METHOD;
23555}
23556unsafe extern "C" {
23557 pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::core::ffi::c_int;
23558}
23559#[repr(C)]
23560#[derive(Debug, Copy, Clone)]
23561pub struct rc4_key_st {
23562 pub x: u32,
23563 pub y: u32,
23564 pub data: [u32; 256usize],
23565}
23566unsafe extern "C" {
23567 pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::core::ffi::c_uint, key: *const u8);
23568}
23569unsafe extern "C" {
23570 pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
23571}
23572unsafe extern "C" {
23573 pub fn RC4_options() -> *const ::core::ffi::c_char;
23574}
23575#[repr(C)]
23576#[derive(Debug, Copy, Clone)]
23577pub struct RIPEMD160state_st {
23578 pub h: [u32; 5usize],
23579 pub Nl: u32,
23580 pub Nh: u32,
23581 pub data: [u8; 64usize],
23582 pub num: ::core::ffi::c_uint,
23583}
23584unsafe extern "C" {
23585 pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23586}
23587unsafe extern "C" {
23588 pub fn RIPEMD160_Update(
23589 ctx: *mut RIPEMD160_CTX,
23590 data: *const ::core::ffi::c_void,
23591 len: usize,
23592 ) -> ::core::ffi::c_int;
23593}
23594unsafe extern "C" {
23595 pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::core::ffi::c_int;
23596}
23597unsafe extern "C" {
23598 pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
23599}
23600unsafe extern "C" {
23601 pub fn RIPEMD160_Transform(ctx: *mut RIPEMD160_CTX, block: *const u8);
23602}
23603unsafe extern "C" {
23604 pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
23605}
23606unsafe extern "C" {
23607 pub fn SLHDSA_SHA2_128S_generate_key_from_seed(
23608 out_public_key: *mut u8,
23609 out_private_key: *mut u8,
23610 seed: *const u8,
23611 );
23612}
23613unsafe extern "C" {
23614 pub fn SLHDSA_SHAKE_256F_generate_key_from_seed(
23615 out_public_key: *mut u8,
23616 out_private_key: *mut u8,
23617 seed: *const u8,
23618 );
23619}
23620unsafe extern "C" {
23621 pub fn SLHDSA_SHA2_128S_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23622}
23623unsafe extern "C" {
23624 pub fn SLHDSA_SHAKE_256F_generate_key(out_public_key: *mut u8, out_private_key: *mut u8);
23625}
23626unsafe extern "C" {
23627 pub fn SLHDSA_SHA2_128S_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23628}
23629unsafe extern "C" {
23630 pub fn SLHDSA_SHAKE_256F_public_from_private(out_public_key: *mut u8, private_key: *const u8);
23631}
23632unsafe extern "C" {
23633 pub fn SLHDSA_SHA2_128S_sign(
23634 out_signature: *mut u8,
23635 private_key: *const u8,
23636 msg: *const u8,
23637 msg_len: usize,
23638 context: *const u8,
23639 context_len: usize,
23640 ) -> ::core::ffi::c_int;
23641}
23642unsafe extern "C" {
23643 pub fn SLHDSA_SHAKE_256F_sign(
23644 out_signature: *mut u8,
23645 private_key: *const u8,
23646 msg: *const u8,
23647 msg_len: usize,
23648 context: *const u8,
23649 context_len: usize,
23650 ) -> ::core::ffi::c_int;
23651}
23652unsafe extern "C" {
23653 pub fn SLHDSA_SHA2_128S_verify(
23654 signature: *const u8,
23655 signature_len: usize,
23656 public_key: *const u8,
23657 msg: *const u8,
23658 msg_len: usize,
23659 context: *const u8,
23660 context_len: usize,
23661 ) -> ::core::ffi::c_int;
23662}
23663unsafe extern "C" {
23664 pub fn SLHDSA_SHAKE_256F_verify(
23665 signature: *const u8,
23666 signature_len: usize,
23667 public_key: *const u8,
23668 msg: *const u8,
23669 msg_len: usize,
23670 context: *const u8,
23671 context_len: usize,
23672 ) -> ::core::ffi::c_int;
23673}
23674unsafe extern "C" {
23675 pub fn SLHDSA_SHA2_128S_prehash_sign(
23676 out_signature: *mut u8,
23677 private_key: *const u8,
23678 hashed_msg: *const u8,
23679 hashed_msg_len: usize,
23680 hash_nid: ::core::ffi::c_int,
23681 context: *const u8,
23682 context_len: usize,
23683 ) -> ::core::ffi::c_int;
23684}
23685unsafe extern "C" {
23686 pub fn SLHDSA_SHA2_128S_prehash_verify(
23687 signature: *const u8,
23688 signature_len: usize,
23689 public_key: *const u8,
23690 hashed_msg: *const u8,
23691 hashed_msg_len: usize,
23692 hash_nid: ::core::ffi::c_int,
23693 context: *const u8,
23694 context_len: usize,
23695 ) -> ::core::ffi::c_int;
23696}
23697unsafe extern "C" {
23698 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_sign(
23699 out_signature: *mut u8,
23700 private_key: *const u8,
23701 hashed_msg: *const u8,
23702 hashed_msg_len: usize,
23703 hash_nid: ::core::ffi::c_int,
23704 context: *const u8,
23705 context_len: usize,
23706 ) -> ::core::ffi::c_int;
23707}
23708unsafe extern "C" {
23709 pub fn SLHDSA_SHA2_128S_prehash_warning_nonstandard_verify(
23710 signature: *const u8,
23711 signature_len: usize,
23712 public_key: *const u8,
23713 hashed_msg: *const u8,
23714 hashed_msg_len: usize,
23715 hash_nid: ::core::ffi::c_int,
23716 context: *const u8,
23717 context_len: usize,
23718 ) -> ::core::ffi::c_int;
23719}
23720unsafe extern "C" {
23721 pub fn TLS_method() -> *const SSL_METHOD;
23722}
23723unsafe extern "C" {
23724 pub fn DTLS_method() -> *const SSL_METHOD;
23725}
23726unsafe extern "C" {
23727 pub fn TLS_with_buffers_method() -> *const SSL_METHOD;
23728}
23729unsafe extern "C" {
23730 pub fn DTLS_with_buffers_method() -> *const SSL_METHOD;
23731}
23732unsafe extern "C" {
23733 pub fn SSL_CTX_new(method: *const SSL_METHOD) -> *mut SSL_CTX;
23734}
23735unsafe extern "C" {
23736 pub fn SSL_CTX_up_ref(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
23737}
23738unsafe extern "C" {
23739 pub fn SSL_CTX_free(ctx: *mut SSL_CTX);
23740}
23741unsafe extern "C" {
23742 pub fn SSL_new(ctx: *mut SSL_CTX) -> *mut SSL;
23743}
23744unsafe extern "C" {
23745 pub fn SSL_free(ssl: *mut SSL);
23746}
23747unsafe extern "C" {
23748 pub fn SSL_get_SSL_CTX(ssl: *const SSL) -> *mut SSL_CTX;
23749}
23750unsafe extern "C" {
23751 pub fn SSL_set_connect_state(ssl: *mut SSL);
23752}
23753unsafe extern "C" {
23754 pub fn SSL_set_accept_state(ssl: *mut SSL);
23755}
23756unsafe extern "C" {
23757 pub fn SSL_is_server(ssl: *const SSL) -> ::core::ffi::c_int;
23758}
23759unsafe extern "C" {
23760 pub fn SSL_is_dtls(ssl: *const SSL) -> ::core::ffi::c_int;
23761}
23762unsafe extern "C" {
23763 pub fn SSL_is_quic(ssl: *const SSL) -> ::core::ffi::c_int;
23764}
23765unsafe extern "C" {
23766 pub fn SSL_set_bio(ssl: *mut SSL, rbio: *mut BIO, wbio: *mut BIO);
23767}
23768unsafe extern "C" {
23769 pub fn SSL_set0_rbio(ssl: *mut SSL, rbio: *mut BIO);
23770}
23771unsafe extern "C" {
23772 pub fn SSL_set0_wbio(ssl: *mut SSL, wbio: *mut BIO);
23773}
23774unsafe extern "C" {
23775 pub fn SSL_get_rbio(ssl: *const SSL) -> *mut BIO;
23776}
23777unsafe extern "C" {
23778 pub fn SSL_get_wbio(ssl: *const SSL) -> *mut BIO;
23779}
23780unsafe extern "C" {
23781 pub fn SSL_get_fd(ssl: *const SSL) -> ::core::ffi::c_int;
23782}
23783unsafe extern "C" {
23784 pub fn SSL_get_rfd(ssl: *const SSL) -> ::core::ffi::c_int;
23785}
23786unsafe extern "C" {
23787 pub fn SSL_get_wfd(ssl: *const SSL) -> ::core::ffi::c_int;
23788}
23789unsafe extern "C" {
23790 pub fn SSL_set_fd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23791}
23792unsafe extern "C" {
23793 pub fn SSL_set_rfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23794}
23795unsafe extern "C" {
23796 pub fn SSL_set_wfd(ssl: *mut SSL, fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
23797}
23798unsafe extern "C" {
23799 pub fn SSL_do_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
23800}
23801unsafe extern "C" {
23802 pub fn SSL_connect(ssl: *mut SSL) -> ::core::ffi::c_int;
23803}
23804unsafe extern "C" {
23805 pub fn SSL_accept(ssl: *mut SSL) -> ::core::ffi::c_int;
23806}
23807unsafe extern "C" {
23808 pub fn SSL_read(
23809 ssl: *mut SSL,
23810 buf: *mut ::core::ffi::c_void,
23811 num: ::core::ffi::c_int,
23812 ) -> ::core::ffi::c_int;
23813}
23814unsafe extern "C" {
23815 pub fn SSL_peek(
23816 ssl: *mut SSL,
23817 buf: *mut ::core::ffi::c_void,
23818 num: ::core::ffi::c_int,
23819 ) -> ::core::ffi::c_int;
23820}
23821unsafe extern "C" {
23822 pub fn SSL_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23823}
23824unsafe extern "C" {
23825 pub fn SSL_has_pending(ssl: *const SSL) -> ::core::ffi::c_int;
23826}
23827unsafe extern "C" {
23828 pub fn SSL_write(
23829 ssl: *mut SSL,
23830 buf: *const ::core::ffi::c_void,
23831 num: ::core::ffi::c_int,
23832 ) -> ::core::ffi::c_int;
23833}
23834unsafe extern "C" {
23835 pub fn SSL_key_update(ssl: *mut SSL, request_type: ::core::ffi::c_int) -> ::core::ffi::c_int;
23836}
23837unsafe extern "C" {
23838 pub fn SSL_shutdown(ssl: *mut SSL) -> ::core::ffi::c_int;
23839}
23840unsafe extern "C" {
23841 pub fn SSL_CTX_set_quiet_shutdown(ctx: *mut SSL_CTX, mode: ::core::ffi::c_int);
23842}
23843unsafe extern "C" {
23844 pub fn SSL_CTX_get_quiet_shutdown(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
23845}
23846unsafe extern "C" {
23847 pub fn SSL_set_quiet_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
23848}
23849unsafe extern "C" {
23850 pub fn SSL_get_quiet_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
23851}
23852unsafe extern "C" {
23853 pub fn SSL_get_error(ssl: *const SSL, ret_code: ::core::ffi::c_int) -> ::core::ffi::c_int;
23854}
23855unsafe extern "C" {
23856 pub fn SSL_error_description(err: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
23857}
23858unsafe extern "C" {
23859 pub fn SSL_set_mtu(ssl: *mut SSL, mtu: ::core::ffi::c_uint) -> ::core::ffi::c_int;
23860}
23861unsafe extern "C" {
23862 pub fn DTLSv1_set_initial_timeout_duration(ssl: *mut SSL, duration_ms: u32);
23863}
23864unsafe extern "C" {
23865 pub fn DTLSv1_get_timeout(ssl: *const SSL, out: *mut timeval) -> ::core::ffi::c_int;
23866}
23867unsafe extern "C" {
23868 pub fn DTLSv1_handle_timeout(ssl: *mut SSL) -> ::core::ffi::c_int;
23869}
23870unsafe extern "C" {
23871 pub fn SSL_CTX_set_min_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23872}
23873unsafe extern "C" {
23874 pub fn SSL_CTX_set_max_proto_version(ctx: *mut SSL_CTX, version: u16) -> ::core::ffi::c_int;
23875}
23876unsafe extern "C" {
23877 pub fn SSL_CTX_get_min_proto_version(ctx: *const SSL_CTX) -> u16;
23878}
23879unsafe extern "C" {
23880 pub fn SSL_CTX_get_max_proto_version(ctx: *const SSL_CTX) -> u16;
23881}
23882unsafe extern "C" {
23883 pub fn SSL_set_min_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23884}
23885unsafe extern "C" {
23886 pub fn SSL_set_max_proto_version(ssl: *mut SSL, version: u16) -> ::core::ffi::c_int;
23887}
23888unsafe extern "C" {
23889 pub fn SSL_get_min_proto_version(ssl: *const SSL) -> u16;
23890}
23891unsafe extern "C" {
23892 pub fn SSL_get_max_proto_version(ssl: *const SSL) -> u16;
23893}
23894unsafe extern "C" {
23895 pub fn SSL_version(ssl: *const SSL) -> ::core::ffi::c_int;
23896}
23897unsafe extern "C" {
23898 pub fn SSL_CTX_set_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23899}
23900unsafe extern "C" {
23901 pub fn SSL_CTX_clear_options(ctx: *mut SSL_CTX, options: u32) -> u32;
23902}
23903unsafe extern "C" {
23904 pub fn SSL_CTX_get_options(ctx: *const SSL_CTX) -> u32;
23905}
23906unsafe extern "C" {
23907 pub fn SSL_set_options(ssl: *mut SSL, options: u32) -> u32;
23908}
23909unsafe extern "C" {
23910 pub fn SSL_clear_options(ssl: *mut SSL, options: u32) -> u32;
23911}
23912unsafe extern "C" {
23913 pub fn SSL_get_options(ssl: *const SSL) -> u32;
23914}
23915unsafe extern "C" {
23916 pub fn SSL_CTX_set_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23917}
23918unsafe extern "C" {
23919 pub fn SSL_CTX_clear_mode(ctx: *mut SSL_CTX, mode: u32) -> u32;
23920}
23921unsafe extern "C" {
23922 pub fn SSL_CTX_get_mode(ctx: *const SSL_CTX) -> u32;
23923}
23924unsafe extern "C" {
23925 pub fn SSL_set_mode(ssl: *mut SSL, mode: u32) -> u32;
23926}
23927unsafe extern "C" {
23928 pub fn SSL_clear_mode(ssl: *mut SSL, mode: u32) -> u32;
23929}
23930unsafe extern "C" {
23931 pub fn SSL_get_mode(ssl: *const SSL) -> u32;
23932}
23933unsafe extern "C" {
23934 pub fn SSL_CTX_set1_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
23935}
23936unsafe extern "C" {
23937 pub fn SSL_CREDENTIAL_new_x509() -> *mut SSL_CREDENTIAL;
23938}
23939unsafe extern "C" {
23940 pub fn SSL_CREDENTIAL_up_ref(cred: *mut SSL_CREDENTIAL);
23941}
23942unsafe extern "C" {
23943 pub fn SSL_CREDENTIAL_dup_ref(cred: *const SSL_CREDENTIAL) -> *mut SSL_CREDENTIAL;
23944}
23945unsafe extern "C" {
23946 pub fn SSL_CREDENTIAL_free(cred: *mut SSL_CREDENTIAL);
23947}
23948unsafe extern "C" {
23949 pub fn SSL_CREDENTIAL_is_complete(cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
23950}
23951unsafe extern "C" {
23952 pub fn SSL_CREDENTIAL_set1_private_key(
23953 cred: *mut SSL_CREDENTIAL,
23954 key: *mut EVP_PKEY,
23955 ) -> ::core::ffi::c_int;
23956}
23957unsafe extern "C" {
23958 pub fn SSL_CREDENTIAL_set1_signing_algorithm_prefs(
23959 cred: *mut SSL_CREDENTIAL,
23960 prefs: *const u16,
23961 num_prefs: usize,
23962 ) -> ::core::ffi::c_int;
23963}
23964unsafe extern "C" {
23965 pub fn SSL_CREDENTIAL_set1_cert_chain(
23966 cred: *mut SSL_CREDENTIAL,
23967 certs: *const *mut CRYPTO_BUFFER,
23968 num_certs: usize,
23969 ) -> ::core::ffi::c_int;
23970}
23971unsafe extern "C" {
23972 pub fn SSL_CREDENTIAL_set1_ocsp_response(
23973 cred: *mut SSL_CREDENTIAL,
23974 ocsp: *mut CRYPTO_BUFFER,
23975 ) -> ::core::ffi::c_int;
23976}
23977unsafe extern "C" {
23978 pub fn SSL_CREDENTIAL_set1_certificate_properties(
23979 cred: *mut SSL_CREDENTIAL,
23980 cert_property_list: *mut CRYPTO_BUFFER,
23981 ) -> ::core::ffi::c_int;
23982}
23983unsafe extern "C" {
23984 pub fn SSL_CREDENTIAL_set1_signed_cert_timestamp_list(
23985 cred: *mut SSL_CREDENTIAL,
23986 sct_list: *mut CRYPTO_BUFFER,
23987 ) -> ::core::ffi::c_int;
23988}
23989unsafe extern "C" {
23990 pub fn SSL_CREDENTIAL_set_must_match_issuer(
23991 cred: *mut SSL_CREDENTIAL,
23992 match_: ::core::ffi::c_int,
23993 );
23994}
23995unsafe extern "C" {
23996 pub fn SSL_CREDENTIAL_set1_session_id_context(
23997 cred: *mut SSL_CREDENTIAL,
23998 sid_ctx: *const u8,
23999 sid_ctx_len: usize,
24000 ) -> ::core::ffi::c_int;
24001}
24002unsafe extern "C" {
24003 pub fn SSL_CTX_add1_credential(
24004 ctx: *mut SSL_CTX,
24005 cred: *const SSL_CREDENTIAL,
24006 ) -> ::core::ffi::c_int;
24007}
24008unsafe extern "C" {
24009 pub fn SSL_add1_credential(ssl: *mut SSL, cred: *const SSL_CREDENTIAL) -> ::core::ffi::c_int;
24010}
24011unsafe extern "C" {
24012 pub fn SSL_certs_clear(ssl: *mut SSL);
24013}
24014unsafe extern "C" {
24015 pub fn SSL_get0_selected_credential(ssl: *const SSL) -> *const SSL_CREDENTIAL;
24016}
24017unsafe extern "C" {
24018 pub fn SSL_CTX_use_certificate(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
24019}
24020unsafe extern "C" {
24021 pub fn SSL_use_certificate(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
24022}
24023unsafe extern "C" {
24024 pub fn SSL_CTX_use_PrivateKey(ctx: *mut SSL_CTX, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
24025}
24026unsafe extern "C" {
24027 pub fn SSL_use_PrivateKey(ssl: *mut SSL, pkey: *mut EVP_PKEY) -> ::core::ffi::c_int;
24028}
24029unsafe extern "C" {
24030 pub fn SSL_CTX_set0_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
24031}
24032unsafe extern "C" {
24033 pub fn SSL_CTX_set1_chain(ctx: *mut SSL_CTX, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
24034}
24035unsafe extern "C" {
24036 pub fn SSL_set0_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
24037}
24038unsafe extern "C" {
24039 pub fn SSL_set1_chain(ssl: *mut SSL, chain: *mut stack_st_X509) -> ::core::ffi::c_int;
24040}
24041unsafe extern "C" {
24042 pub fn SSL_CTX_add0_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
24043}
24044unsafe extern "C" {
24045 pub fn SSL_CTX_add1_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
24046}
24047unsafe extern "C" {
24048 pub fn SSL_add0_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
24049}
24050unsafe extern "C" {
24051 pub fn SSL_CTX_add_extra_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
24052}
24053unsafe extern "C" {
24054 pub fn SSL_add1_chain_cert(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
24055}
24056unsafe extern "C" {
24057 pub fn SSL_CTX_clear_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
24058}
24059unsafe extern "C" {
24060 pub fn SSL_CTX_clear_extra_chain_certs(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
24061}
24062unsafe extern "C" {
24063 pub fn SSL_clear_chain_certs(ssl: *mut SSL) -> ::core::ffi::c_int;
24064}
24065unsafe extern "C" {
24066 pub fn SSL_CTX_set_cert_cb(
24067 ctx: *mut SSL_CTX,
24068 cb: ::core::option::Option<
24069 unsafe extern "C" fn(
24070 ssl: *mut SSL,
24071 arg: *mut ::core::ffi::c_void,
24072 ) -> ::core::ffi::c_int,
24073 >,
24074 arg: *mut ::core::ffi::c_void,
24075 );
24076}
24077unsafe extern "C" {
24078 pub fn SSL_CTX_set_cert_cb_ex(
24079 ctx: *mut SSL_CTX,
24080 cb: ::core::option::Option<
24081 unsafe extern "C" fn(
24082 ssl: *mut SSL,
24083 arg: *mut ::core::ffi::c_void,
24084 out_alert: *mut u8,
24085 ) -> ::core::ffi::c_int,
24086 >,
24087 arg: *mut ::core::ffi::c_void,
24088 );
24089}
24090unsafe extern "C" {
24091 pub fn SSL_set_cert_cb(
24092 ssl: *mut SSL,
24093 cb: ::core::option::Option<
24094 unsafe extern "C" fn(
24095 ssl: *mut SSL,
24096 arg: *mut ::core::ffi::c_void,
24097 ) -> ::core::ffi::c_int,
24098 >,
24099 arg: *mut ::core::ffi::c_void,
24100 );
24101}
24102unsafe extern "C" {
24103 pub fn SSL_set_cert_cb_ex(
24104 ssl: *mut SSL,
24105 cb: ::core::option::Option<
24106 unsafe extern "C" fn(
24107 ssl: *mut SSL,
24108 arg: *mut ::core::ffi::c_void,
24109 out_alert: *mut u8,
24110 ) -> ::core::ffi::c_int,
24111 >,
24112 arg: *mut ::core::ffi::c_void,
24113 );
24114}
24115unsafe extern "C" {
24116 pub fn SSL_get0_certificate_types(ssl: *const SSL, out_types: *mut *const u8) -> usize;
24117}
24118unsafe extern "C" {
24119 pub fn SSL_get0_peer_verify_algorithms(ssl: *const SSL, out_sigalgs: *mut *const u16) -> usize;
24120}
24121unsafe extern "C" {
24122 pub fn SSL_get0_peer_delegation_algorithms(
24123 ssl: *const SSL,
24124 out_sigalgs: *mut *const u16,
24125 ) -> usize;
24126}
24127unsafe extern "C" {
24128 pub fn SSL_CTX_get0_certificate(ctx: *const SSL_CTX) -> *mut X509;
24129}
24130unsafe extern "C" {
24131 pub fn SSL_get_certificate(ssl: *const SSL) -> *mut X509;
24132}
24133unsafe extern "C" {
24134 pub fn SSL_CTX_get0_privatekey(ctx: *const SSL_CTX) -> *mut EVP_PKEY;
24135}
24136unsafe extern "C" {
24137 pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
24138}
24139unsafe extern "C" {
24140 pub fn SSL_CTX_get0_chain_certs(
24141 ctx: *const SSL_CTX,
24142 out_chain: *mut *mut stack_st_X509,
24143 ) -> ::core::ffi::c_int;
24144}
24145unsafe extern "C" {
24146 pub fn SSL_CTX_get_extra_chain_certs(
24147 ctx: *const SSL_CTX,
24148 out_chain: *mut *mut stack_st_X509,
24149 ) -> ::core::ffi::c_int;
24150}
24151unsafe extern "C" {
24152 pub fn SSL_get0_chain_certs(
24153 ssl: *const SSL,
24154 out_chain: *mut *mut stack_st_X509,
24155 ) -> ::core::ffi::c_int;
24156}
24157unsafe extern "C" {
24158 pub fn SSL_CTX_set_signed_cert_timestamp_list(
24159 ctx: *mut SSL_CTX,
24160 list: *const u8,
24161 list_len: usize,
24162 ) -> ::core::ffi::c_int;
24163}
24164unsafe extern "C" {
24165 pub fn SSL_set_signed_cert_timestamp_list(
24166 ctx: *mut SSL,
24167 list: *const u8,
24168 list_len: usize,
24169 ) -> ::core::ffi::c_int;
24170}
24171unsafe extern "C" {
24172 pub fn SSL_CTX_set_ocsp_response(
24173 ctx: *mut SSL_CTX,
24174 response: *const u8,
24175 response_len: usize,
24176 ) -> ::core::ffi::c_int;
24177}
24178unsafe extern "C" {
24179 pub fn SSL_set_ocsp_response(
24180 ssl: *mut SSL,
24181 response: *const u8,
24182 response_len: usize,
24183 ) -> ::core::ffi::c_int;
24184}
24185unsafe extern "C" {
24186 pub fn SSL_get_signature_algorithm_name(
24187 sigalg: u16,
24188 include_curve: ::core::ffi::c_int,
24189 ) -> *const ::core::ffi::c_char;
24190}
24191unsafe extern "C" {
24192 pub fn SSL_get_all_signature_algorithm_names(
24193 out: *mut *const ::core::ffi::c_char,
24194 max_out: usize,
24195 ) -> usize;
24196}
24197unsafe extern "C" {
24198 pub fn SSL_get_signature_algorithm_key_type(sigalg: u16) -> ::core::ffi::c_int;
24199}
24200unsafe extern "C" {
24201 pub fn SSL_get_signature_algorithm_digest(sigalg: u16) -> *const EVP_MD;
24202}
24203unsafe extern "C" {
24204 pub fn SSL_is_signature_algorithm_rsa_pss(sigalg: u16) -> ::core::ffi::c_int;
24205}
24206unsafe extern "C" {
24207 pub fn SSL_CTX_set_signing_algorithm_prefs(
24208 ctx: *mut SSL_CTX,
24209 prefs: *const u16,
24210 num_prefs: usize,
24211 ) -> ::core::ffi::c_int;
24212}
24213unsafe extern "C" {
24214 pub fn SSL_set_signing_algorithm_prefs(
24215 ssl: *mut SSL,
24216 prefs: *const u16,
24217 num_prefs: usize,
24218 ) -> ::core::ffi::c_int;
24219}
24220unsafe extern "C" {
24221 pub fn SSL_CTX_set_chain_and_key(
24222 ctx: *mut SSL_CTX,
24223 certs: *const *mut CRYPTO_BUFFER,
24224 num_certs: usize,
24225 privkey: *mut EVP_PKEY,
24226 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
24227 ) -> ::core::ffi::c_int;
24228}
24229unsafe extern "C" {
24230 pub fn SSL_set_chain_and_key(
24231 ssl: *mut SSL,
24232 certs: *const *mut CRYPTO_BUFFER,
24233 num_certs: usize,
24234 privkey: *mut EVP_PKEY,
24235 privkey_method: *const SSL_PRIVATE_KEY_METHOD,
24236 ) -> ::core::ffi::c_int;
24237}
24238unsafe extern "C" {
24239 pub fn SSL_CTX_get0_chain(ctx: *const SSL_CTX) -> *const stack_st_CRYPTO_BUFFER;
24240}
24241unsafe extern "C" {
24242 pub fn SSL_get0_chain(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
24243}
24244unsafe extern "C" {
24245 pub fn SSL_CTX_use_RSAPrivateKey(ctx: *mut SSL_CTX, rsa: *mut RSA) -> ::core::ffi::c_int;
24246}
24247unsafe extern "C" {
24248 pub fn SSL_use_RSAPrivateKey(ssl: *mut SSL, rsa: *mut RSA) -> ::core::ffi::c_int;
24249}
24250unsafe extern "C" {
24251 pub fn SSL_CTX_use_certificate_ASN1(
24252 ctx: *mut SSL_CTX,
24253 der_len: usize,
24254 der: *const u8,
24255 ) -> ::core::ffi::c_int;
24256}
24257unsafe extern "C" {
24258 pub fn SSL_use_certificate_ASN1(
24259 ssl: *mut SSL,
24260 der: *const u8,
24261 der_len: usize,
24262 ) -> ::core::ffi::c_int;
24263}
24264unsafe extern "C" {
24265 pub fn SSL_CTX_use_PrivateKey_ASN1(
24266 pk: ::core::ffi::c_int,
24267 ctx: *mut SSL_CTX,
24268 der: *const u8,
24269 der_len: usize,
24270 ) -> ::core::ffi::c_int;
24271}
24272unsafe extern "C" {
24273 pub fn SSL_use_PrivateKey_ASN1(
24274 type_: ::core::ffi::c_int,
24275 ssl: *mut SSL,
24276 der: *const u8,
24277 der_len: usize,
24278 ) -> ::core::ffi::c_int;
24279}
24280unsafe extern "C" {
24281 pub fn SSL_CTX_use_RSAPrivateKey_ASN1(
24282 ctx: *mut SSL_CTX,
24283 der: *const u8,
24284 der_len: usize,
24285 ) -> ::core::ffi::c_int;
24286}
24287unsafe extern "C" {
24288 pub fn SSL_use_RSAPrivateKey_ASN1(
24289 ssl: *mut SSL,
24290 der: *const u8,
24291 der_len: usize,
24292 ) -> ::core::ffi::c_int;
24293}
24294unsafe extern "C" {
24295 pub fn SSL_CTX_use_RSAPrivateKey_file(
24296 ctx: *mut SSL_CTX,
24297 file: *const ::core::ffi::c_char,
24298 type_: ::core::ffi::c_int,
24299 ) -> ::core::ffi::c_int;
24300}
24301unsafe extern "C" {
24302 pub fn SSL_use_RSAPrivateKey_file(
24303 ssl: *mut SSL,
24304 file: *const ::core::ffi::c_char,
24305 type_: ::core::ffi::c_int,
24306 ) -> ::core::ffi::c_int;
24307}
24308unsafe extern "C" {
24309 pub fn SSL_CTX_use_certificate_file(
24310 ctx: *mut SSL_CTX,
24311 file: *const ::core::ffi::c_char,
24312 type_: ::core::ffi::c_int,
24313 ) -> ::core::ffi::c_int;
24314}
24315unsafe extern "C" {
24316 pub fn SSL_use_certificate_file(
24317 ssl: *mut SSL,
24318 file: *const ::core::ffi::c_char,
24319 type_: ::core::ffi::c_int,
24320 ) -> ::core::ffi::c_int;
24321}
24322unsafe extern "C" {
24323 pub fn SSL_CTX_use_PrivateKey_file(
24324 ctx: *mut SSL_CTX,
24325 file: *const ::core::ffi::c_char,
24326 type_: ::core::ffi::c_int,
24327 ) -> ::core::ffi::c_int;
24328}
24329unsafe extern "C" {
24330 pub fn SSL_use_PrivateKey_file(
24331 ssl: *mut SSL,
24332 file: *const ::core::ffi::c_char,
24333 type_: ::core::ffi::c_int,
24334 ) -> ::core::ffi::c_int;
24335}
24336unsafe extern "C" {
24337 pub fn SSL_CTX_use_certificate_chain_file(
24338 ctx: *mut SSL_CTX,
24339 file: *const ::core::ffi::c_char,
24340 ) -> ::core::ffi::c_int;
24341}
24342unsafe extern "C" {
24343 pub fn SSL_CTX_set_default_passwd_cb(ctx: *mut SSL_CTX, cb: pem_password_cb);
24344}
24345unsafe extern "C" {
24346 pub fn SSL_CTX_get_default_passwd_cb(ctx: *const SSL_CTX) -> pem_password_cb;
24347}
24348unsafe extern "C" {
24349 pub fn SSL_CTX_set_default_passwd_cb_userdata(
24350 ctx: *mut SSL_CTX,
24351 data: *mut ::core::ffi::c_void,
24352 );
24353}
24354unsafe extern "C" {
24355 pub fn SSL_CTX_get_default_passwd_cb_userdata(ctx: *const SSL_CTX) -> *mut ::core::ffi::c_void;
24356}
24357pub const ssl_private_key_result_t_ssl_private_key_success: ssl_private_key_result_t = 0;
24358pub const ssl_private_key_result_t_ssl_private_key_retry: ssl_private_key_result_t = 1;
24359pub const ssl_private_key_result_t_ssl_private_key_failure: ssl_private_key_result_t = 2;
24360pub type ssl_private_key_result_t = ::core::ffi::c_uint;
24361#[repr(C)]
24362#[derive(Debug, Copy, Clone)]
24363pub struct ssl_private_key_method_st {
24364 pub sign: ::core::option::Option<
24365 unsafe extern "C" fn(
24366 ssl: *mut SSL,
24367 out: *mut u8,
24368 out_len: *mut usize,
24369 max_out: usize,
24370 signature_algorithm: u16,
24371 in_: *const u8,
24372 in_len: usize,
24373 ) -> ssl_private_key_result_t,
24374 >,
24375 pub decrypt: ::core::option::Option<
24376 unsafe extern "C" fn(
24377 ssl: *mut SSL,
24378 out: *mut u8,
24379 out_len: *mut usize,
24380 max_out: usize,
24381 in_: *const u8,
24382 in_len: usize,
24383 ) -> ssl_private_key_result_t,
24384 >,
24385 pub complete: ::core::option::Option<
24386 unsafe extern "C" fn(
24387 ssl: *mut SSL,
24388 out: *mut u8,
24389 out_len: *mut usize,
24390 max_out: usize,
24391 ) -> ssl_private_key_result_t,
24392 >,
24393}
24394unsafe extern "C" {
24395 pub fn SSL_set_private_key_method(ssl: *mut SSL, key_method: *const SSL_PRIVATE_KEY_METHOD);
24396}
24397unsafe extern "C" {
24398 pub fn SSL_CTX_set_private_key_method(
24399 ctx: *mut SSL_CTX,
24400 key_method: *const SSL_PRIVATE_KEY_METHOD,
24401 );
24402}
24403unsafe extern "C" {
24404 pub fn SSL_CREDENTIAL_set_private_key_method(
24405 cred: *mut SSL_CREDENTIAL,
24406 key_method: *const SSL_PRIVATE_KEY_METHOD,
24407 ) -> ::core::ffi::c_int;
24408}
24409unsafe extern "C" {
24410 pub fn SSL_can_release_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
24411}
24412#[repr(C)]
24413#[derive(Debug)]
24414pub struct stack_st_SSL_CIPHER {
24415 _unused: [u8; 0],
24416}
24417pub type sk_SSL_CIPHER_free_func =
24418 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER)>;
24419pub type sk_SSL_CIPHER_copy_func =
24420 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_CIPHER) -> *const SSL_CIPHER>;
24421pub type sk_SSL_CIPHER_cmp_func = ::core::option::Option<
24422 unsafe extern "C" fn(
24423 arg1: *const *const SSL_CIPHER,
24424 arg2: *const *const SSL_CIPHER,
24425 ) -> ::core::ffi::c_int,
24426>;
24427pub type sk_SSL_CIPHER_delete_if_func = ::core::option::Option<
24428 unsafe extern "C" fn(
24429 arg1: *const SSL_CIPHER,
24430 arg2: *mut ::core::ffi::c_void,
24431 ) -> ::core::ffi::c_int,
24432>;
24433unsafe extern "C" {
24434 #[link_name = "sk_SSL_CIPHER_call_free_func__extern"]
24435 pub fn sk_SSL_CIPHER_call_free_func(
24436 free_func: OPENSSL_sk_free_func,
24437 ptr: *mut ::core::ffi::c_void,
24438 );
24439}
24440unsafe extern "C" {
24441 #[link_name = "sk_SSL_CIPHER_call_copy_func__extern"]
24442 pub fn sk_SSL_CIPHER_call_copy_func(
24443 copy_func: OPENSSL_sk_copy_func,
24444 ptr: *const ::core::ffi::c_void,
24445 ) -> *mut ::core::ffi::c_void;
24446}
24447unsafe extern "C" {
24448 #[link_name = "sk_SSL_CIPHER_call_cmp_func__extern"]
24449 pub fn sk_SSL_CIPHER_call_cmp_func(
24450 cmp_func: OPENSSL_sk_cmp_func,
24451 a: *const ::core::ffi::c_void,
24452 b: *const ::core::ffi::c_void,
24453 ) -> ::core::ffi::c_int;
24454}
24455unsafe extern "C" {
24456 #[link_name = "sk_SSL_CIPHER_call_delete_if_func__extern"]
24457 pub fn sk_SSL_CIPHER_call_delete_if_func(
24458 func: OPENSSL_sk_delete_if_func,
24459 obj: *mut ::core::ffi::c_void,
24460 data: *mut ::core::ffi::c_void,
24461 ) -> ::core::ffi::c_int;
24462}
24463unsafe extern "C" {
24464 #[link_name = "sk_SSL_CIPHER_new__extern"]
24465 pub fn sk_SSL_CIPHER_new(comp: sk_SSL_CIPHER_cmp_func) -> *mut stack_st_SSL_CIPHER;
24466}
24467unsafe extern "C" {
24468 #[link_name = "sk_SSL_CIPHER_new_null__extern"]
24469 pub fn sk_SSL_CIPHER_new_null() -> *mut stack_st_SSL_CIPHER;
24470}
24471unsafe extern "C" {
24472 #[link_name = "sk_SSL_CIPHER_num__extern"]
24473 pub fn sk_SSL_CIPHER_num(sk: *const stack_st_SSL_CIPHER) -> usize;
24474}
24475unsafe extern "C" {
24476 #[link_name = "sk_SSL_CIPHER_zero__extern"]
24477 pub fn sk_SSL_CIPHER_zero(sk: *mut stack_st_SSL_CIPHER);
24478}
24479unsafe extern "C" {
24480 #[link_name = "sk_SSL_CIPHER_value__extern"]
24481 pub fn sk_SSL_CIPHER_value(sk: *const stack_st_SSL_CIPHER, i: usize) -> *const SSL_CIPHER;
24482}
24483unsafe extern "C" {
24484 #[link_name = "sk_SSL_CIPHER_last__extern"]
24485 pub fn sk_SSL_CIPHER_last(sk: *const stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24486}
24487unsafe extern "C" {
24488 #[link_name = "sk_SSL_CIPHER_set__extern"]
24489 pub fn sk_SSL_CIPHER_set(
24490 sk: *mut stack_st_SSL_CIPHER,
24491 i: usize,
24492 p: *const SSL_CIPHER,
24493 ) -> *const SSL_CIPHER;
24494}
24495unsafe extern "C" {
24496 #[link_name = "sk_SSL_CIPHER_free__extern"]
24497 pub fn sk_SSL_CIPHER_free(sk: *mut stack_st_SSL_CIPHER);
24498}
24499unsafe extern "C" {
24500 #[link_name = "sk_SSL_CIPHER_pop_free__extern"]
24501 pub fn sk_SSL_CIPHER_pop_free(sk: *mut stack_st_SSL_CIPHER, free_func: sk_SSL_CIPHER_free_func);
24502}
24503unsafe extern "C" {
24504 #[link_name = "sk_SSL_CIPHER_insert__extern"]
24505 pub fn sk_SSL_CIPHER_insert(
24506 sk: *mut stack_st_SSL_CIPHER,
24507 p: *const SSL_CIPHER,
24508 where_: usize,
24509 ) -> usize;
24510}
24511unsafe extern "C" {
24512 #[link_name = "sk_SSL_CIPHER_delete__extern"]
24513 pub fn sk_SSL_CIPHER_delete(sk: *mut stack_st_SSL_CIPHER, where_: usize) -> *const SSL_CIPHER;
24514}
24515unsafe extern "C" {
24516 #[link_name = "sk_SSL_CIPHER_delete_ptr__extern"]
24517 pub fn sk_SSL_CIPHER_delete_ptr(
24518 sk: *mut stack_st_SSL_CIPHER,
24519 p: *const SSL_CIPHER,
24520 ) -> *const SSL_CIPHER;
24521}
24522unsafe extern "C" {
24523 #[link_name = "sk_SSL_CIPHER_delete_if__extern"]
24524 pub fn sk_SSL_CIPHER_delete_if(
24525 sk: *mut stack_st_SSL_CIPHER,
24526 func: sk_SSL_CIPHER_delete_if_func,
24527 data: *mut ::core::ffi::c_void,
24528 );
24529}
24530unsafe extern "C" {
24531 #[link_name = "sk_SSL_CIPHER_find__extern"]
24532 pub fn sk_SSL_CIPHER_find(
24533 sk: *const stack_st_SSL_CIPHER,
24534 out_index: *mut usize,
24535 p: *const SSL_CIPHER,
24536 ) -> ::core::ffi::c_int;
24537}
24538unsafe extern "C" {
24539 #[link_name = "sk_SSL_CIPHER_shift__extern"]
24540 pub fn sk_SSL_CIPHER_shift(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24541}
24542unsafe extern "C" {
24543 #[link_name = "sk_SSL_CIPHER_push__extern"]
24544 pub fn sk_SSL_CIPHER_push(sk: *mut stack_st_SSL_CIPHER, p: *const SSL_CIPHER) -> usize;
24545}
24546unsafe extern "C" {
24547 #[link_name = "sk_SSL_CIPHER_pop__extern"]
24548 pub fn sk_SSL_CIPHER_pop(sk: *mut stack_st_SSL_CIPHER) -> *const SSL_CIPHER;
24549}
24550unsafe extern "C" {
24551 #[link_name = "sk_SSL_CIPHER_dup__extern"]
24552 pub fn sk_SSL_CIPHER_dup(sk: *const stack_st_SSL_CIPHER) -> *mut stack_st_SSL_CIPHER;
24553}
24554unsafe extern "C" {
24555 #[link_name = "sk_SSL_CIPHER_sort__extern"]
24556 pub fn sk_SSL_CIPHER_sort(sk: *mut stack_st_SSL_CIPHER);
24557}
24558unsafe extern "C" {
24559 #[link_name = "sk_SSL_CIPHER_sort_and_dedup__extern"]
24560 pub fn sk_SSL_CIPHER_sort_and_dedup(
24561 sk: *mut stack_st_SSL_CIPHER,
24562 free_func: sk_SSL_CIPHER_free_func,
24563 );
24564}
24565unsafe extern "C" {
24566 #[link_name = "sk_SSL_CIPHER_is_sorted__extern"]
24567 pub fn sk_SSL_CIPHER_is_sorted(sk: *const stack_st_SSL_CIPHER) -> ::core::ffi::c_int;
24568}
24569unsafe extern "C" {
24570 #[link_name = "sk_SSL_CIPHER_set_cmp_func__extern"]
24571 pub fn sk_SSL_CIPHER_set_cmp_func(
24572 sk: *mut stack_st_SSL_CIPHER,
24573 comp: sk_SSL_CIPHER_cmp_func,
24574 ) -> sk_SSL_CIPHER_cmp_func;
24575}
24576unsafe extern "C" {
24577 #[link_name = "sk_SSL_CIPHER_deep_copy__extern"]
24578 pub fn sk_SSL_CIPHER_deep_copy(
24579 sk: *const stack_st_SSL_CIPHER,
24580 copy_func: sk_SSL_CIPHER_copy_func,
24581 free_func: sk_SSL_CIPHER_free_func,
24582 ) -> *mut stack_st_SSL_CIPHER;
24583}
24584unsafe extern "C" {
24585 pub fn SSL_get_cipher_by_value(value: u16) -> *const SSL_CIPHER;
24586}
24587unsafe extern "C" {
24588 pub fn SSL_CIPHER_get_protocol_id(cipher: *const SSL_CIPHER) -> u16;
24589}
24590unsafe extern "C" {
24591 pub fn SSL_CIPHER_is_aead(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24592}
24593unsafe extern "C" {
24594 pub fn SSL_CIPHER_is_block_cipher(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24595}
24596unsafe extern "C" {
24597 pub fn SSL_CIPHER_get_cipher_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24598}
24599unsafe extern "C" {
24600 pub fn SSL_CIPHER_get_digest_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24601}
24602unsafe extern "C" {
24603 pub fn SSL_CIPHER_get_kx_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24604}
24605unsafe extern "C" {
24606 pub fn SSL_CIPHER_get_auth_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24607}
24608unsafe extern "C" {
24609 pub fn SSL_CIPHER_get_handshake_digest(cipher: *const SSL_CIPHER) -> *const EVP_MD;
24610}
24611unsafe extern "C" {
24612 pub fn SSL_CIPHER_get_prf_nid(cipher: *const SSL_CIPHER) -> ::core::ffi::c_int;
24613}
24614unsafe extern "C" {
24615 pub fn SSL_CIPHER_get_min_version(cipher: *const SSL_CIPHER) -> u16;
24616}
24617unsafe extern "C" {
24618 pub fn SSL_CIPHER_get_max_version(cipher: *const SSL_CIPHER) -> u16;
24619}
24620unsafe extern "C" {
24621 pub fn SSL_CIPHER_standard_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24622}
24623unsafe extern "C" {
24624 pub fn SSL_CIPHER_get_kx_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
24625}
24626unsafe extern "C" {
24627 pub fn SSL_CIPHER_get_bits(
24628 cipher: *const SSL_CIPHER,
24629 out_alg_bits: *mut ::core::ffi::c_int,
24630 ) -> ::core::ffi::c_int;
24631}
24632unsafe extern "C" {
24633 pub fn SSL_get_all_cipher_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
24634}
24635unsafe extern "C" {
24636 pub fn SSL_get_all_standard_cipher_names(
24637 out: *mut *const ::core::ffi::c_char,
24638 max_out: usize,
24639 ) -> usize;
24640}
24641unsafe extern "C" {
24642 pub fn SSL_CTX_set_strict_cipher_list(
24643 ctx: *mut SSL_CTX,
24644 str_: *const ::core::ffi::c_char,
24645 ) -> ::core::ffi::c_int;
24646}
24647unsafe extern "C" {
24648 pub fn SSL_CTX_set_cipher_list(
24649 ctx: *mut SSL_CTX,
24650 str_: *const ::core::ffi::c_char,
24651 ) -> ::core::ffi::c_int;
24652}
24653unsafe extern "C" {
24654 pub fn SSL_set_strict_cipher_list(
24655 ssl: *mut SSL,
24656 str_: *const ::core::ffi::c_char,
24657 ) -> ::core::ffi::c_int;
24658}
24659unsafe extern "C" {
24660 pub fn SSL_set_cipher_list(
24661 ssl: *mut SSL,
24662 str_: *const ::core::ffi::c_char,
24663 ) -> ::core::ffi::c_int;
24664}
24665unsafe extern "C" {
24666 pub fn SSL_CTX_get_ciphers(ctx: *const SSL_CTX) -> *mut stack_st_SSL_CIPHER;
24667}
24668unsafe extern "C" {
24669 pub fn SSL_CTX_cipher_in_group(ctx: *const SSL_CTX, i: usize) -> ::core::ffi::c_int;
24670}
24671unsafe extern "C" {
24672 pub fn SSL_get_ciphers(ssl: *const SSL) -> *mut stack_st_SSL_CIPHER;
24673}
24674unsafe extern "C" {
24675 pub fn SSL_CTX_set1_tls13_ciphers(
24676 ctx: *mut SSL_CTX,
24677 cipher_ids: *const u16,
24678 flags: *const u32,
24679 num_cipher_ids: usize,
24680 ) -> ::core::ffi::c_int;
24681}
24682unsafe extern "C" {
24683 pub fn SSL_set1_tls13_ciphers(
24684 ssl: *mut SSL,
24685 cipher_ids: *const u16,
24686 flags: *const u32,
24687 num_cipher_ids: usize,
24688 ) -> ::core::ffi::c_int;
24689}
24690unsafe extern "C" {
24691 pub fn SSL_is_init_finished(ssl: *const SSL) -> ::core::ffi::c_int;
24692}
24693unsafe extern "C" {
24694 pub fn SSL_in_init(ssl: *const SSL) -> ::core::ffi::c_int;
24695}
24696unsafe extern "C" {
24697 pub fn SSL_in_false_start(ssl: *const SSL) -> ::core::ffi::c_int;
24698}
24699unsafe extern "C" {
24700 pub fn SSL_get_peer_certificate(ssl: *const SSL) -> *mut X509;
24701}
24702unsafe extern "C" {
24703 pub fn SSL_get_peer_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24704}
24705unsafe extern "C" {
24706 pub fn SSL_get_peer_full_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
24707}
24708unsafe extern "C" {
24709 pub fn SSL_get0_peer_certificates(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
24710}
24711unsafe extern "C" {
24712 pub fn SSL_get0_signed_cert_timestamp_list(
24713 ssl: *const SSL,
24714 out: *mut *const u8,
24715 out_len: *mut usize,
24716 );
24717}
24718unsafe extern "C" {
24719 pub fn SSL_get0_ocsp_response(ssl: *const SSL, out: *mut *const u8, out_len: *mut usize);
24720}
24721unsafe extern "C" {
24722 pub fn SSL_get_tls_unique(
24723 ssl: *const SSL,
24724 out: *mut u8,
24725 out_len: *mut usize,
24726 max_out: usize,
24727 ) -> ::core::ffi::c_int;
24728}
24729unsafe extern "C" {
24730 pub fn SSL_get_extms_support(ssl: *const SSL) -> ::core::ffi::c_int;
24731}
24732unsafe extern "C" {
24733 pub fn SSL_get_current_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
24734}
24735unsafe extern "C" {
24736 pub fn SSL_session_reused(ssl: *const SSL) -> ::core::ffi::c_int;
24737}
24738unsafe extern "C" {
24739 pub fn SSL_get_secure_renegotiation_support(ssl: *const SSL) -> ::core::ffi::c_int;
24740}
24741unsafe extern "C" {
24742 pub fn SSL_export_keying_material(
24743 ssl: *const SSL,
24744 out: *mut u8,
24745 out_len: usize,
24746 label: *const ::core::ffi::c_char,
24747 label_len: usize,
24748 context: *const u8,
24749 context_len: usize,
24750 use_context: ::core::ffi::c_int,
24751 ) -> ::core::ffi::c_int;
24752}
24753unsafe extern "C" {
24754 pub fn SSL_SESSION_new(ctx: *const SSL_CTX) -> *mut SSL_SESSION;
24755}
24756unsafe extern "C" {
24757 pub fn SSL_SESSION_up_ref(session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24758}
24759unsafe extern "C" {
24760 pub fn SSL_SESSION_free(session: *mut SSL_SESSION);
24761}
24762unsafe extern "C" {
24763 pub fn SSL_SESSION_to_bytes(
24764 in_: *const SSL_SESSION,
24765 out_data: *mut *mut u8,
24766 out_len: *mut usize,
24767 ) -> ::core::ffi::c_int;
24768}
24769unsafe extern "C" {
24770 pub fn SSL_SESSION_to_bytes_for_ticket(
24771 in_: *const SSL_SESSION,
24772 out_data: *mut *mut u8,
24773 out_len: *mut usize,
24774 ) -> ::core::ffi::c_int;
24775}
24776unsafe extern "C" {
24777 pub fn SSL_SESSION_from_bytes(
24778 in_: *const u8,
24779 in_len: usize,
24780 ctx: *const SSL_CTX,
24781 ) -> *mut SSL_SESSION;
24782}
24783unsafe extern "C" {
24784 pub fn PEM_read_bio_SSL_SESSION(
24785 bio: *mut BIO,
24786 out: *mut *mut SSL_SESSION,
24787 cb: pem_password_cb,
24788 userdata: *mut ::core::ffi::c_void,
24789 ) -> *mut SSL_SESSION;
24790}
24791unsafe extern "C" {
24792 pub fn PEM_read_SSL_SESSION(
24793 fp: *mut FILE,
24794 out: *mut *mut SSL_SESSION,
24795 cb: pem_password_cb,
24796 userdata: *mut ::core::ffi::c_void,
24797 ) -> *mut SSL_SESSION;
24798}
24799unsafe extern "C" {
24800 pub fn PEM_write_bio_SSL_SESSION(bio: *mut BIO, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24801}
24802unsafe extern "C" {
24803 pub fn PEM_write_SSL_SESSION(fp: *mut FILE, in_: *const SSL_SESSION) -> ::core::ffi::c_int;
24804}
24805unsafe extern "C" {
24806 pub fn SSL_SESSION_get_version(session: *const SSL_SESSION) -> *const ::core::ffi::c_char;
24807}
24808unsafe extern "C" {
24809 pub fn SSL_SESSION_get_protocol_version(session: *const SSL_SESSION) -> u16;
24810}
24811unsafe extern "C" {
24812 pub fn SSL_SESSION_set_protocol_version(
24813 session: *mut SSL_SESSION,
24814 version: u16,
24815 ) -> ::core::ffi::c_int;
24816}
24817unsafe extern "C" {
24818 pub fn SSL_SESSION_get_id(
24819 session: *const SSL_SESSION,
24820 out_len: *mut ::core::ffi::c_uint,
24821 ) -> *const u8;
24822}
24823unsafe extern "C" {
24824 pub fn SSL_SESSION_set1_id(
24825 session: *mut SSL_SESSION,
24826 sid: *const u8,
24827 sid_len: usize,
24828 ) -> ::core::ffi::c_int;
24829}
24830unsafe extern "C" {
24831 pub fn SSL_SESSION_get_time(session: *const SSL_SESSION) -> u64;
24832}
24833unsafe extern "C" {
24834 pub fn SSL_SESSION_get_timeout(session: *const SSL_SESSION) -> u32;
24835}
24836unsafe extern "C" {
24837 pub fn SSL_SESSION_get0_peer(session: *const SSL_SESSION) -> *mut X509;
24838}
24839unsafe extern "C" {
24840 pub fn SSL_SESSION_get0_peer_certificates(
24841 session: *const SSL_SESSION,
24842 ) -> *const stack_st_CRYPTO_BUFFER;
24843}
24844unsafe extern "C" {
24845 pub fn SSL_SESSION_get0_peer_rpk(session: *const SSL_SESSION) -> *mut EVP_PKEY;
24846}
24847unsafe extern "C" {
24848 pub fn SSL_SESSION_get0_signed_cert_timestamp_list(
24849 session: *const SSL_SESSION,
24850 out: *mut *const u8,
24851 out_len: *mut usize,
24852 );
24853}
24854unsafe extern "C" {
24855 pub fn SSL_SESSION_get0_ocsp_response(
24856 session: *const SSL_SESSION,
24857 out: *mut *const u8,
24858 out_len: *mut usize,
24859 );
24860}
24861unsafe extern "C" {
24862 pub fn SSL_SESSION_get_master_key(
24863 session: *const SSL_SESSION,
24864 out: *mut u8,
24865 max_out: usize,
24866 ) -> usize;
24867}
24868unsafe extern "C" {
24869 pub fn SSL_SESSION_set_time(session: *mut SSL_SESSION, time: u64) -> u64;
24870}
24871unsafe extern "C" {
24872 pub fn SSL_SESSION_set_timeout(session: *mut SSL_SESSION, timeout: u32) -> u32;
24873}
24874unsafe extern "C" {
24875 pub fn SSL_SESSION_get0_id_context(
24876 session: *const SSL_SESSION,
24877 out_len: *mut ::core::ffi::c_uint,
24878 ) -> *const u8;
24879}
24880unsafe extern "C" {
24881 pub fn SSL_SESSION_set1_id_context(
24882 session: *mut SSL_SESSION,
24883 sid_ctx: *const u8,
24884 sid_ctx_len: usize,
24885 ) -> ::core::ffi::c_int;
24886}
24887unsafe extern "C" {
24888 pub fn SSL_SESSION_should_be_single_use(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24889}
24890unsafe extern "C" {
24891 pub fn SSL_SESSION_is_resumable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24892}
24893unsafe extern "C" {
24894 pub fn SSL_SESSION_has_ticket(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24895}
24896unsafe extern "C" {
24897 pub fn SSL_SESSION_get0_ticket(
24898 session: *const SSL_SESSION,
24899 out_ticket: *mut *const u8,
24900 out_len: *mut usize,
24901 );
24902}
24903unsafe extern "C" {
24904 pub fn SSL_SESSION_set_ticket(
24905 session: *mut SSL_SESSION,
24906 ticket: *const u8,
24907 ticket_len: usize,
24908 ) -> ::core::ffi::c_int;
24909}
24910unsafe extern "C" {
24911 pub fn SSL_SESSION_get_ticket_lifetime_hint(session: *const SSL_SESSION) -> u32;
24912}
24913unsafe extern "C" {
24914 pub fn SSL_SESSION_get0_cipher(session: *const SSL_SESSION) -> *const SSL_CIPHER;
24915}
24916unsafe extern "C" {
24917 pub fn SSL_SESSION_has_peer_sha256(session: *const SSL_SESSION) -> ::core::ffi::c_int;
24918}
24919unsafe extern "C" {
24920 pub fn SSL_SESSION_get0_peer_sha256(
24921 session: *const SSL_SESSION,
24922 out_ptr: *mut *const u8,
24923 out_len: *mut usize,
24924 );
24925}
24926unsafe extern "C" {
24927 pub fn SSL_SESSION_is_resumable_across_names(session: *const SSL_SESSION)
24928 -> ::core::ffi::c_int;
24929}
24930unsafe extern "C" {
24931 pub fn SSL_CTX_set_session_cache_mode(
24932 ctx: *mut SSL_CTX,
24933 mode: ::core::ffi::c_int,
24934 ) -> ::core::ffi::c_int;
24935}
24936unsafe extern "C" {
24937 pub fn SSL_CTX_get_session_cache_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
24938}
24939unsafe extern "C" {
24940 pub fn SSL_set_session(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24941}
24942unsafe extern "C" {
24943 pub fn SSL_CTX_set_timeout(ctx: *mut SSL_CTX, timeout: u32) -> u32;
24944}
24945unsafe extern "C" {
24946 pub fn SSL_CTX_set_session_psk_dhe_timeout(ctx: *mut SSL_CTX, timeout: u32);
24947}
24948unsafe extern "C" {
24949 pub fn SSL_CTX_get_timeout(ctx: *const SSL_CTX) -> u32;
24950}
24951unsafe extern "C" {
24952 pub fn SSL_CTX_set_session_id_context(
24953 ctx: *mut SSL_CTX,
24954 sid_ctx: *const u8,
24955 sid_ctx_len: usize,
24956 ) -> ::core::ffi::c_int;
24957}
24958unsafe extern "C" {
24959 pub fn SSL_set_session_id_context(
24960 ssl: *mut SSL,
24961 sid_ctx: *const u8,
24962 sid_ctx_len: usize,
24963 ) -> ::core::ffi::c_int;
24964}
24965unsafe extern "C" {
24966 pub fn SSL_get0_session_id_context(ssl: *const SSL, out_len: *mut usize) -> *const u8;
24967}
24968unsafe extern "C" {
24969 pub fn SSL_CTX_sess_set_cache_size(
24970 ctx: *mut SSL_CTX,
24971 size: ::core::ffi::c_ulong,
24972 ) -> ::core::ffi::c_ulong;
24973}
24974unsafe extern "C" {
24975 pub fn SSL_CTX_sess_get_cache_size(ctx: *const SSL_CTX) -> ::core::ffi::c_ulong;
24976}
24977unsafe extern "C" {
24978 pub fn SSL_CTX_sess_number(ctx: *const SSL_CTX) -> usize;
24979}
24980unsafe extern "C" {
24981 pub fn SSL_CTX_add_session(ctx: *mut SSL_CTX, session: *mut SSL_SESSION) -> ::core::ffi::c_int;
24982}
24983unsafe extern "C" {
24984 pub fn SSL_CTX_remove_session(
24985 ctx: *mut SSL_CTX,
24986 session: *mut SSL_SESSION,
24987 ) -> ::core::ffi::c_int;
24988}
24989unsafe extern "C" {
24990 pub fn SSL_CTX_flush_sessions(ctx: *mut SSL_CTX, time: u64);
24991}
24992pub type SSL_new_session_cb = ::core::option::Option<
24993 unsafe extern "C" fn(ssl: *mut SSL, session: *mut SSL_SESSION) -> ::core::ffi::c_int,
24994>;
24995unsafe extern "C" {
24996 pub fn SSL_CTX_sess_set_new_cb(ctx: *mut SSL_CTX, new_session_cb: SSL_new_session_cb);
24997}
24998unsafe extern "C" {
24999 pub fn SSL_CTX_sess_get_new_cb(ctx: *mut SSL_CTX) -> SSL_new_session_cb;
25000}
25001pub type SSL_remove_session_cb =
25002 ::core::option::Option<unsafe extern "C" fn(ctx: *mut SSL_CTX, session: *mut SSL_SESSION)>;
25003unsafe extern "C" {
25004 pub fn SSL_CTX_sess_set_remove_cb(ctx: *mut SSL_CTX, remove_session_cb: SSL_remove_session_cb);
25005}
25006unsafe extern "C" {
25007 pub fn SSL_CTX_sess_get_remove_cb(ctx: *mut SSL_CTX) -> SSL_remove_session_cb;
25008}
25009pub type SSL_get_session_cb = ::core::option::Option<
25010 unsafe extern "C" fn(
25011 ssl: *mut SSL,
25012 id: *const u8,
25013 id_len: ::core::ffi::c_int,
25014 out_copy: *mut ::core::ffi::c_int,
25015 ) -> *mut SSL_SESSION,
25016>;
25017unsafe extern "C" {
25018 pub fn SSL_CTX_sess_set_get_cb(ctx: *mut SSL_CTX, get_session_cb: SSL_get_session_cb);
25019}
25020unsafe extern "C" {
25021 pub fn SSL_CTX_sess_get_get_cb(ctx: *mut SSL_CTX) -> SSL_get_session_cb;
25022}
25023unsafe extern "C" {
25024 pub fn SSL_magic_pending_session_ptr() -> *mut SSL_SESSION;
25025}
25026unsafe extern "C" {
25027 pub fn SSL_CTX_set_resumption_across_names_enabled(
25028 ctx: *mut SSL_CTX,
25029 enabled: ::core::ffi::c_int,
25030 );
25031}
25032unsafe extern "C" {
25033 pub fn SSL_set_resumption_across_names_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
25034}
25035unsafe extern "C" {
25036 pub fn SSL_CTX_get_tlsext_ticket_keys(
25037 ctx: *mut SSL_CTX,
25038 out: *mut ::core::ffi::c_void,
25039 len: usize,
25040 ) -> ::core::ffi::c_int;
25041}
25042unsafe extern "C" {
25043 pub fn SSL_CTX_set_tlsext_ticket_keys(
25044 ctx: *mut SSL_CTX,
25045 in_: *const ::core::ffi::c_void,
25046 len: usize,
25047 ) -> ::core::ffi::c_int;
25048}
25049unsafe extern "C" {
25050 pub fn SSL_CTX_set_tlsext_ticket_key_cb(
25051 ctx: *mut SSL_CTX,
25052 callback: ::core::option::Option<
25053 unsafe extern "C" fn(
25054 ssl: *mut SSL,
25055 key_name: *mut u8,
25056 iv: *mut u8,
25057 ctx: *mut EVP_CIPHER_CTX,
25058 hmac_ctx: *mut HMAC_CTX,
25059 encrypt: ::core::ffi::c_int,
25060 ) -> ::core::ffi::c_int,
25061 >,
25062 ) -> ::core::ffi::c_int;
25063}
25064pub const ssl_ticket_aead_result_t_ssl_ticket_aead_success: ssl_ticket_aead_result_t = 0;
25065pub const ssl_ticket_aead_result_t_ssl_ticket_aead_retry: ssl_ticket_aead_result_t = 1;
25066pub const ssl_ticket_aead_result_t_ssl_ticket_aead_ignore_ticket: ssl_ticket_aead_result_t = 2;
25067pub const ssl_ticket_aead_result_t_ssl_ticket_aead_error: ssl_ticket_aead_result_t = 3;
25068pub type ssl_ticket_aead_result_t = ::core::ffi::c_uint;
25069#[repr(C)]
25070#[derive(Debug, Copy, Clone)]
25071pub struct ssl_ticket_aead_method_st {
25072 pub max_overhead: ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> usize>,
25073 pub seal: ::core::option::Option<
25074 unsafe extern "C" fn(
25075 ssl: *mut SSL,
25076 out: *mut u8,
25077 out_len: *mut usize,
25078 max_out_len: usize,
25079 in_: *const u8,
25080 in_len: usize,
25081 ) -> ::core::ffi::c_int,
25082 >,
25083 pub open: ::core::option::Option<
25084 unsafe extern "C" fn(
25085 ssl: *mut SSL,
25086 out: *mut u8,
25087 out_len: *mut usize,
25088 max_out_len: usize,
25089 in_: *const u8,
25090 in_len: usize,
25091 ) -> ssl_ticket_aead_result_t,
25092 >,
25093}
25094unsafe extern "C" {
25095 pub fn SSL_CTX_set_ticket_aead_method(
25096 ctx: *mut SSL_CTX,
25097 aead_method: *const SSL_TICKET_AEAD_METHOD,
25098 );
25099}
25100unsafe extern "C" {
25101 pub fn SSL_process_tls13_new_session_ticket(
25102 ssl: *mut SSL,
25103 buf: *const u8,
25104 buf_len: usize,
25105 ) -> *mut SSL_SESSION;
25106}
25107unsafe extern "C" {
25108 pub fn SSL_CTX_set_num_tickets(ctx: *mut SSL_CTX, num_tickets: usize) -> ::core::ffi::c_int;
25109}
25110unsafe extern "C" {
25111 pub fn SSL_CTX_get_num_tickets(ctx: *const SSL_CTX) -> usize;
25112}
25113unsafe extern "C" {
25114 pub fn SSL_CTX_set1_group_ids(
25115 ctx: *mut SSL_CTX,
25116 group_ids: *const u16,
25117 num_group_ids: usize,
25118 ) -> ::core::ffi::c_int;
25119}
25120unsafe extern "C" {
25121 pub fn SSL_set1_group_ids(
25122 ssl: *mut SSL,
25123 group_ids: *const u16,
25124 num_group_ids: usize,
25125 ) -> ::core::ffi::c_int;
25126}
25127unsafe extern "C" {
25128 pub fn SSL_CTX_set1_group_ids_with_flags(
25129 ctx: *mut SSL_CTX,
25130 group_ids: *const u16,
25131 flags: *const u32,
25132 num_group_ids: usize,
25133 ) -> ::core::ffi::c_int;
25134}
25135unsafe extern "C" {
25136 pub fn SSL_set1_group_ids_with_flags(
25137 ssl: *mut SSL,
25138 group_ids: *const u16,
25139 flags: *const u32,
25140 num_group_ids: usize,
25141 ) -> ::core::ffi::c_int;
25142}
25143unsafe extern "C" {
25144 pub fn SSL_get_group_id(ssl: *const SSL) -> u16;
25145}
25146unsafe extern "C" {
25147 pub fn SSL_get_group_name(group_id: u16) -> *const ::core::ffi::c_char;
25148}
25149unsafe extern "C" {
25150 pub fn SSL_get_all_group_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
25151}
25152unsafe extern "C" {
25153 pub fn SSL_CTX_set1_groups(
25154 ctx: *mut SSL_CTX,
25155 groups: *const ::core::ffi::c_int,
25156 num_groups: usize,
25157 ) -> ::core::ffi::c_int;
25158}
25159unsafe extern "C" {
25160 pub fn SSL_set1_groups(
25161 ssl: *mut SSL,
25162 groups: *const ::core::ffi::c_int,
25163 num_groups: usize,
25164 ) -> ::core::ffi::c_int;
25165}
25166unsafe extern "C" {
25167 pub fn SSL_CTX_set1_groups_list(
25168 ctx: *mut SSL_CTX,
25169 groups: *const ::core::ffi::c_char,
25170 ) -> ::core::ffi::c_int;
25171}
25172unsafe extern "C" {
25173 pub fn SSL_set1_groups_list(
25174 ssl: *mut SSL,
25175 groups: *const ::core::ffi::c_char,
25176 ) -> ::core::ffi::c_int;
25177}
25178unsafe extern "C" {
25179 pub fn SSL_get_negotiated_group(ssl: *const SSL) -> ::core::ffi::c_int;
25180}
25181unsafe extern "C" {
25182 pub fn SSL_set1_client_key_shares(
25183 ssl: *mut SSL,
25184 group_ids: *const u16,
25185 num_group_ids: usize,
25186 ) -> ::core::ffi::c_int;
25187}
25188unsafe extern "C" {
25189 pub fn SSL_set1_server_supported_groups_hint(
25190 ssl: *mut SSL,
25191 server_groups: *const u16,
25192 num_server_groups: usize,
25193 ) -> ::core::ffi::c_int;
25194}
25195unsafe extern "C" {
25196 pub fn SSL_CTX_set_verify(
25197 ctx: *mut SSL_CTX,
25198 mode: ::core::ffi::c_int,
25199 callback: ::core::option::Option<
25200 unsafe extern "C" fn(
25201 ok: ::core::ffi::c_int,
25202 store_ctx: *mut X509_STORE_CTX,
25203 ) -> ::core::ffi::c_int,
25204 >,
25205 );
25206}
25207unsafe extern "C" {
25208 pub fn SSL_set_verify(
25209 ssl: *mut SSL,
25210 mode: ::core::ffi::c_int,
25211 callback: ::core::option::Option<
25212 unsafe extern "C" fn(
25213 ok: ::core::ffi::c_int,
25214 store_ctx: *mut X509_STORE_CTX,
25215 ) -> ::core::ffi::c_int,
25216 >,
25217 );
25218}
25219pub const ssl_verify_result_t_ssl_verify_ok: ssl_verify_result_t = 0;
25220pub const ssl_verify_result_t_ssl_verify_invalid: ssl_verify_result_t = 1;
25221pub const ssl_verify_result_t_ssl_verify_retry: ssl_verify_result_t = 2;
25222pub type ssl_verify_result_t = ::core::ffi::c_uint;
25223unsafe extern "C" {
25224 pub fn SSL_CTX_set_custom_verify(
25225 ctx: *mut SSL_CTX,
25226 mode: ::core::ffi::c_int,
25227 callback: ::core::option::Option<
25228 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
25229 >,
25230 );
25231}
25232unsafe extern "C" {
25233 pub fn SSL_set_custom_verify(
25234 ssl: *mut SSL,
25235 mode: ::core::ffi::c_int,
25236 callback: ::core::option::Option<
25237 unsafe extern "C" fn(ssl: *mut SSL, out_alert: *mut u8) -> ssl_verify_result_t,
25238 >,
25239 );
25240}
25241unsafe extern "C" {
25242 pub fn SSL_CTX_get_verify_mode(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
25243}
25244unsafe extern "C" {
25245 pub fn SSL_get_verify_mode(ssl: *const SSL) -> ::core::ffi::c_int;
25246}
25247unsafe extern "C" {
25248 pub fn SSL_CTX_get_verify_callback(
25249 ctx: *const SSL_CTX,
25250 ) -> ::core::option::Option<
25251 unsafe extern "C" fn(
25252 ctx: ::core::ffi::c_int,
25253 arg1: *mut X509_STORE_CTX,
25254 ) -> ::core::ffi::c_int,
25255 >;
25256}
25257unsafe extern "C" {
25258 pub fn SSL_get_verify_callback(
25259 ssl: *const SSL,
25260 ) -> ::core::option::Option<
25261 unsafe extern "C" fn(
25262 ssl: ::core::ffi::c_int,
25263 arg1: *mut X509_STORE_CTX,
25264 ) -> ::core::ffi::c_int,
25265 >;
25266}
25267unsafe extern "C" {
25268 pub fn SSL_set1_host(ssl: *mut SSL, hostname: *const ::core::ffi::c_char)
25269 -> ::core::ffi::c_int;
25270}
25271unsafe extern "C" {
25272 pub fn SSL_set_hostflags(ssl: *mut SSL, flags: ::core::ffi::c_uint);
25273}
25274unsafe extern "C" {
25275 pub fn SSL_CTX_set_verify_depth(ctx: *mut SSL_CTX, depth: ::core::ffi::c_int);
25276}
25277unsafe extern "C" {
25278 pub fn SSL_set_verify_depth(ssl: *mut SSL, depth: ::core::ffi::c_int);
25279}
25280unsafe extern "C" {
25281 pub fn SSL_CTX_get_verify_depth(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
25282}
25283unsafe extern "C" {
25284 pub fn SSL_get_verify_depth(ssl: *const SSL) -> ::core::ffi::c_int;
25285}
25286unsafe extern "C" {
25287 pub fn SSL_CTX_set1_param(
25288 ctx: *mut SSL_CTX,
25289 param: *const X509_VERIFY_PARAM,
25290 ) -> ::core::ffi::c_int;
25291}
25292unsafe extern "C" {
25293 pub fn SSL_set1_param(ssl: *mut SSL, param: *const X509_VERIFY_PARAM) -> ::core::ffi::c_int;
25294}
25295unsafe extern "C" {
25296 pub fn SSL_CTX_get0_param(ctx: *mut SSL_CTX) -> *mut X509_VERIFY_PARAM;
25297}
25298unsafe extern "C" {
25299 pub fn SSL_get0_param(ssl: *mut SSL) -> *mut X509_VERIFY_PARAM;
25300}
25301unsafe extern "C" {
25302 pub fn SSL_CTX_set_purpose(
25303 ctx: *mut SSL_CTX,
25304 purpose: ::core::ffi::c_int,
25305 ) -> ::core::ffi::c_int;
25306}
25307unsafe extern "C" {
25308 pub fn SSL_set_purpose(ssl: *mut SSL, purpose: ::core::ffi::c_int) -> ::core::ffi::c_int;
25309}
25310unsafe extern "C" {
25311 pub fn SSL_CTX_set_trust(ctx: *mut SSL_CTX, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
25312}
25313unsafe extern "C" {
25314 pub fn SSL_set_trust(ssl: *mut SSL, trust: ::core::ffi::c_int) -> ::core::ffi::c_int;
25315}
25316unsafe extern "C" {
25317 pub fn SSL_CTX_set_cert_store(ctx: *mut SSL_CTX, store: *mut X509_STORE);
25318}
25319unsafe extern "C" {
25320 pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE;
25321}
25322unsafe extern "C" {
25323 pub fn SSL_CTX_set_default_verify_paths(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
25324}
25325unsafe extern "C" {
25326 pub fn SSL_CTX_load_verify_locations(
25327 ctx: *mut SSL_CTX,
25328 ca_file: *const ::core::ffi::c_char,
25329 ca_dir: *const ::core::ffi::c_char,
25330 ) -> ::core::ffi::c_int;
25331}
25332unsafe extern "C" {
25333 pub fn SSL_get_verify_result(ssl: *const SSL) -> ::core::ffi::c_long;
25334}
25335unsafe extern "C" {
25336 pub fn SSL_alert_from_verify_result(result: ::core::ffi::c_long) -> ::core::ffi::c_int;
25337}
25338unsafe extern "C" {
25339 pub fn SSL_get_ex_data_X509_STORE_CTX_idx() -> ::core::ffi::c_int;
25340}
25341unsafe extern "C" {
25342 pub fn SSL_CTX_set_cert_verify_callback(
25343 ctx: *mut SSL_CTX,
25344 callback: ::core::option::Option<
25345 unsafe extern "C" fn(
25346 store_ctx: *mut X509_STORE_CTX,
25347 arg: *mut ::core::ffi::c_void,
25348 ) -> ::core::ffi::c_int,
25349 >,
25350 arg: *mut ::core::ffi::c_void,
25351 );
25352}
25353unsafe extern "C" {
25354 pub fn SSL_enable_signed_cert_timestamps(ssl: *mut SSL);
25355}
25356unsafe extern "C" {
25357 pub fn SSL_CTX_enable_signed_cert_timestamps(ctx: *mut SSL_CTX);
25358}
25359unsafe extern "C" {
25360 pub fn SSL_enable_ocsp_stapling(ssl: *mut SSL);
25361}
25362unsafe extern "C" {
25363 pub fn SSL_CTX_enable_ocsp_stapling(ctx: *mut SSL_CTX);
25364}
25365unsafe extern "C" {
25366 pub fn SSL_CTX_set0_verify_cert_store(
25367 ctx: *mut SSL_CTX,
25368 store: *mut X509_STORE,
25369 ) -> ::core::ffi::c_int;
25370}
25371unsafe extern "C" {
25372 pub fn SSL_CTX_set1_verify_cert_store(
25373 ctx: *mut SSL_CTX,
25374 store: *mut X509_STORE,
25375 ) -> ::core::ffi::c_int;
25376}
25377unsafe extern "C" {
25378 pub fn SSL_set0_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25379}
25380unsafe extern "C" {
25381 pub fn SSL_set1_verify_cert_store(ssl: *mut SSL, store: *mut X509_STORE) -> ::core::ffi::c_int;
25382}
25383unsafe extern "C" {
25384 pub fn SSL_CTX_set_verify_algorithm_prefs(
25385 ctx: *mut SSL_CTX,
25386 prefs: *const u16,
25387 num_prefs: usize,
25388 ) -> ::core::ffi::c_int;
25389}
25390unsafe extern "C" {
25391 pub fn SSL_set_verify_algorithm_prefs(
25392 ssl: *mut SSL,
25393 prefs: *const u16,
25394 num_prefs: usize,
25395 ) -> ::core::ffi::c_int;
25396}
25397unsafe extern "C" {
25398 pub fn SSL_set_client_CA_list(ssl: *mut SSL, name_list: *mut stack_st_X509_NAME);
25399}
25400unsafe extern "C" {
25401 pub fn SSL_CTX_set_client_CA_list(ctx: *mut SSL_CTX, name_list: *mut stack_st_X509_NAME);
25402}
25403unsafe extern "C" {
25404 pub fn SSL_set0_client_CAs(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25405}
25406unsafe extern "C" {
25407 pub fn SSL_set0_CA_names(ssl: *mut SSL, name_list: *mut stack_st_CRYPTO_BUFFER);
25408}
25409unsafe extern "C" {
25410 pub fn SSL_CTX_set0_client_CAs(ctx: *mut SSL_CTX, name_list: *mut stack_st_CRYPTO_BUFFER);
25411}
25412unsafe extern "C" {
25413 pub fn SSL_get_client_CA_list(ssl: *const SSL) -> *mut stack_st_X509_NAME;
25414}
25415unsafe extern "C" {
25416 pub fn SSL_get0_server_requested_CAs(ssl: *const SSL) -> *const stack_st_CRYPTO_BUFFER;
25417}
25418unsafe extern "C" {
25419 pub fn SSL_CTX_get_client_CA_list(ctx: *const SSL_CTX) -> *mut stack_st_X509_NAME;
25420}
25421unsafe extern "C" {
25422 pub fn SSL_add_client_CA(ssl: *mut SSL, x509: *mut X509) -> ::core::ffi::c_int;
25423}
25424unsafe extern "C" {
25425 pub fn SSL_CTX_add_client_CA(ctx: *mut SSL_CTX, x509: *mut X509) -> ::core::ffi::c_int;
25426}
25427unsafe extern "C" {
25428 pub fn SSL_load_client_CA_file(file: *const ::core::ffi::c_char) -> *mut stack_st_X509_NAME;
25429}
25430unsafe extern "C" {
25431 pub fn SSL_dup_CA_list(list: *mut stack_st_X509_NAME) -> *mut stack_st_X509_NAME;
25432}
25433unsafe extern "C" {
25434 pub fn SSL_add_file_cert_subjects_to_stack(
25435 out: *mut stack_st_X509_NAME,
25436 file: *const ::core::ffi::c_char,
25437 ) -> ::core::ffi::c_int;
25438}
25439unsafe extern "C" {
25440 pub fn SSL_add_bio_cert_subjects_to_stack(
25441 out: *mut stack_st_X509_NAME,
25442 bio: *mut BIO,
25443 ) -> ::core::ffi::c_int;
25444}
25445unsafe extern "C" {
25446 pub fn SSL_CREDENTIAL_set1_trust_anchor_id(
25447 cred: *mut SSL_CREDENTIAL,
25448 id: *const u8,
25449 id_len: usize,
25450 ) -> ::core::ffi::c_int;
25451}
25452unsafe extern "C" {
25453 pub fn SSL_CREDENTIAL_add1_trust_anchor_group(
25454 cred: *mut SSL_CREDENTIAL,
25455 pattern: *const u8,
25456 pattern_len: usize,
25457 ) -> ::core::ffi::c_int;
25458}
25459unsafe extern "C" {
25460 pub fn SSL_CTX_set1_requested_trust_anchors(
25461 ctx: *mut SSL_CTX,
25462 ids: *const u8,
25463 ids_len: usize,
25464 ) -> ::core::ffi::c_int;
25465}
25466unsafe extern "C" {
25467 pub fn SSL_set1_requested_trust_anchors(
25468 ssl: *mut SSL,
25469 ids: *const u8,
25470 ids_len: usize,
25471 ) -> ::core::ffi::c_int;
25472}
25473unsafe extern "C" {
25474 pub fn SSL_peer_matched_trust_anchor(ssl: *const SSL) -> ::core::ffi::c_int;
25475}
25476unsafe extern "C" {
25477 pub fn SSL_get0_peer_available_trust_anchors(
25478 ssl: *const SSL,
25479 out: *mut *const u8,
25480 out_len: *mut usize,
25481 );
25482}
25483unsafe extern "C" {
25484 pub fn SSL_CTX_set1_available_trust_anchors(
25485 ctx: *mut SSL_CTX,
25486 ids: *const u8,
25487 ids_len: usize,
25488 ) -> ::core::ffi::c_int;
25489}
25490unsafe extern "C" {
25491 pub fn SSL_set1_available_trust_anchors(
25492 ssl: *mut SSL,
25493 ids: *const u8,
25494 ids_len: usize,
25495 ) -> ::core::ffi::c_int;
25496}
25497unsafe extern "C" {
25498 pub fn SSL_set_tlsext_host_name(
25499 ssl: *mut SSL,
25500 name: *const ::core::ffi::c_char,
25501 ) -> ::core::ffi::c_int;
25502}
25503unsafe extern "C" {
25504 pub fn SSL_get_servername(
25505 ssl: *const SSL,
25506 type_: ::core::ffi::c_int,
25507 ) -> *const ::core::ffi::c_char;
25508}
25509unsafe extern "C" {
25510 pub fn SSL_get_servername_type(ssl: *const SSL) -> ::core::ffi::c_int;
25511}
25512unsafe extern "C" {
25513 pub fn SSL_CTX_set_tlsext_servername_callback(
25514 ctx: *mut SSL_CTX,
25515 callback: ::core::option::Option<
25516 unsafe extern "C" fn(
25517 ssl: *mut SSL,
25518 out_alert: *mut ::core::ffi::c_int,
25519 arg: *mut ::core::ffi::c_void,
25520 ) -> ::core::ffi::c_int,
25521 >,
25522 ) -> ::core::ffi::c_int;
25523}
25524unsafe extern "C" {
25525 pub fn SSL_CTX_set_tlsext_servername_arg(
25526 ctx: *mut SSL_CTX,
25527 arg: *mut ::core::ffi::c_void,
25528 ) -> ::core::ffi::c_int;
25529}
25530unsafe extern "C" {
25531 pub fn SSL_set_SSL_CTX(ssl: *mut SSL, ctx: *mut SSL_CTX) -> *mut SSL_CTX;
25532}
25533unsafe extern "C" {
25534 pub fn SSL_CTX_set_alpn_protos(
25535 ctx: *mut SSL_CTX,
25536 protos: *const u8,
25537 protos_len: usize,
25538 ) -> ::core::ffi::c_int;
25539}
25540unsafe extern "C" {
25541 pub fn SSL_set_alpn_protos(
25542 ssl: *mut SSL,
25543 protos: *const u8,
25544 protos_len: usize,
25545 ) -> ::core::ffi::c_int;
25546}
25547unsafe extern "C" {
25548 pub fn SSL_CTX_set_alpn_select_cb(
25549 ctx: *mut SSL_CTX,
25550 cb: ::core::option::Option<
25551 unsafe extern "C" fn(
25552 ssl: *mut SSL,
25553 out: *mut *const u8,
25554 out_len: *mut u8,
25555 in_: *const u8,
25556 in_len: ::core::ffi::c_uint,
25557 arg: *mut ::core::ffi::c_void,
25558 ) -> ::core::ffi::c_int,
25559 >,
25560 arg: *mut ::core::ffi::c_void,
25561 );
25562}
25563unsafe extern "C" {
25564 pub fn SSL_get0_alpn_selected(
25565 ssl: *const SSL,
25566 out_data: *mut *const u8,
25567 out_len: *mut ::core::ffi::c_uint,
25568 );
25569}
25570unsafe extern "C" {
25571 pub fn SSL_CTX_set_allow_unknown_alpn_protos(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25572}
25573unsafe extern "C" {
25574 pub fn SSL_add_application_settings(
25575 ssl: *mut SSL,
25576 proto: *const u8,
25577 proto_len: usize,
25578 settings: *const u8,
25579 settings_len: usize,
25580 ) -> ::core::ffi::c_int;
25581}
25582unsafe extern "C" {
25583 pub fn SSL_get0_peer_application_settings(
25584 ssl: *const SSL,
25585 out_data: *mut *const u8,
25586 out_len: *mut usize,
25587 );
25588}
25589unsafe extern "C" {
25590 pub fn SSL_has_application_settings(ssl: *const SSL) -> ::core::ffi::c_int;
25591}
25592unsafe extern "C" {
25593 pub fn SSL_set_alps_use_new_codepoint(ssl: *mut SSL, use_new: ::core::ffi::c_int);
25594}
25595pub type ssl_cert_compression_func_t = ::core::option::Option<
25596 unsafe extern "C" fn(
25597 ssl: *mut SSL,
25598 out: *mut CBB,
25599 in_: *const u8,
25600 in_len: usize,
25601 ) -> ::core::ffi::c_int,
25602>;
25603pub type ssl_cert_decompression_func_t = ::core::option::Option<
25604 unsafe extern "C" fn(
25605 ssl: *mut SSL,
25606 out: *mut *mut CRYPTO_BUFFER,
25607 uncompressed_len: usize,
25608 in_: *const u8,
25609 in_len: usize,
25610 ) -> ::core::ffi::c_int,
25611>;
25612unsafe extern "C" {
25613 pub fn SSL_CTX_add_cert_compression_alg(
25614 ctx: *mut SSL_CTX,
25615 alg_id: u16,
25616 compress: ssl_cert_compression_func_t,
25617 decompress: ssl_cert_decompression_func_t,
25618 ) -> ::core::ffi::c_int;
25619}
25620unsafe extern "C" {
25621 pub fn SSL_CTX_set_next_protos_advertised_cb(
25622 ctx: *mut SSL_CTX,
25623 cb: ::core::option::Option<
25624 unsafe extern "C" fn(
25625 ssl: *mut SSL,
25626 out: *mut *const u8,
25627 out_len: *mut ::core::ffi::c_uint,
25628 arg: *mut ::core::ffi::c_void,
25629 ) -> ::core::ffi::c_int,
25630 >,
25631 arg: *mut ::core::ffi::c_void,
25632 );
25633}
25634unsafe extern "C" {
25635 pub fn SSL_CTX_set_next_proto_select_cb(
25636 ctx: *mut SSL_CTX,
25637 cb: ::core::option::Option<
25638 unsafe extern "C" fn(
25639 ssl: *mut SSL,
25640 out: *mut *mut u8,
25641 out_len: *mut u8,
25642 in_: *const u8,
25643 in_len: ::core::ffi::c_uint,
25644 arg: *mut ::core::ffi::c_void,
25645 ) -> ::core::ffi::c_int,
25646 >,
25647 arg: *mut ::core::ffi::c_void,
25648 );
25649}
25650unsafe extern "C" {
25651 pub fn SSL_get0_next_proto_negotiated(
25652 ssl: *const SSL,
25653 out_data: *mut *const u8,
25654 out_len: *mut ::core::ffi::c_uint,
25655 );
25656}
25657unsafe extern "C" {
25658 pub fn SSL_select_next_proto(
25659 out: *mut *mut u8,
25660 out_len: *mut u8,
25661 peer: *const u8,
25662 peer_len: ::core::ffi::c_uint,
25663 supported: *const u8,
25664 supported_len: ::core::ffi::c_uint,
25665 ) -> ::core::ffi::c_int;
25666}
25667unsafe extern "C" {
25668 pub fn SSL_CTX_set_tls_channel_id_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
25669}
25670unsafe extern "C" {
25671 pub fn SSL_set_tls_channel_id_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
25672}
25673unsafe extern "C" {
25674 pub fn SSL_CTX_set1_tls_channel_id(
25675 ctx: *mut SSL_CTX,
25676 private_key: *mut EVP_PKEY,
25677 ) -> ::core::ffi::c_int;
25678}
25679unsafe extern "C" {
25680 pub fn SSL_set1_tls_channel_id(ssl: *mut SSL, private_key: *mut EVP_PKEY)
25681 -> ::core::ffi::c_int;
25682}
25683unsafe extern "C" {
25684 pub fn SSL_get_tls_channel_id(ssl: *mut SSL, out: *mut u8, max_out: usize) -> usize;
25685}
25686#[repr(C)]
25687#[derive(Debug, Copy, Clone)]
25688pub struct srtp_protection_profile_st {
25689 pub name: *const ::core::ffi::c_char,
25690 pub id: ::core::ffi::c_ulong,
25691}
25692#[repr(C)]
25693#[derive(Debug)]
25694pub struct stack_st_SRTP_PROTECTION_PROFILE {
25695 _unused: [u8; 0],
25696}
25697pub type sk_SRTP_PROTECTION_PROFILE_free_func =
25698 ::core::option::Option<unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE)>;
25699pub type sk_SRTP_PROTECTION_PROFILE_copy_func = ::core::option::Option<
25700 unsafe extern "C" fn(arg1: *const SRTP_PROTECTION_PROFILE) -> *const SRTP_PROTECTION_PROFILE,
25701>;
25702pub type sk_SRTP_PROTECTION_PROFILE_cmp_func = ::core::option::Option<
25703 unsafe extern "C" fn(
25704 arg1: *const *const SRTP_PROTECTION_PROFILE,
25705 arg2: *const *const SRTP_PROTECTION_PROFILE,
25706 ) -> ::core::ffi::c_int,
25707>;
25708pub type sk_SRTP_PROTECTION_PROFILE_delete_if_func = ::core::option::Option<
25709 unsafe extern "C" fn(
25710 arg1: *const SRTP_PROTECTION_PROFILE,
25711 arg2: *mut ::core::ffi::c_void,
25712 ) -> ::core::ffi::c_int,
25713>;
25714unsafe extern "C" {
25715 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_free_func__extern"]
25716 pub fn sk_SRTP_PROTECTION_PROFILE_call_free_func(
25717 free_func: OPENSSL_sk_free_func,
25718 ptr: *mut ::core::ffi::c_void,
25719 );
25720}
25721unsafe extern "C" {
25722 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_copy_func__extern"]
25723 pub fn sk_SRTP_PROTECTION_PROFILE_call_copy_func(
25724 copy_func: OPENSSL_sk_copy_func,
25725 ptr: *const ::core::ffi::c_void,
25726 ) -> *mut ::core::ffi::c_void;
25727}
25728unsafe extern "C" {
25729 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_cmp_func__extern"]
25730 pub fn sk_SRTP_PROTECTION_PROFILE_call_cmp_func(
25731 cmp_func: OPENSSL_sk_cmp_func,
25732 a: *const ::core::ffi::c_void,
25733 b: *const ::core::ffi::c_void,
25734 ) -> ::core::ffi::c_int;
25735}
25736unsafe extern "C" {
25737 #[link_name = "sk_SRTP_PROTECTION_PROFILE_call_delete_if_func__extern"]
25738 pub fn sk_SRTP_PROTECTION_PROFILE_call_delete_if_func(
25739 func: OPENSSL_sk_delete_if_func,
25740 obj: *mut ::core::ffi::c_void,
25741 data: *mut ::core::ffi::c_void,
25742 ) -> ::core::ffi::c_int;
25743}
25744unsafe extern "C" {
25745 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new__extern"]
25746 pub fn sk_SRTP_PROTECTION_PROFILE_new(
25747 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25748 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25749}
25750unsafe extern "C" {
25751 #[link_name = "sk_SRTP_PROTECTION_PROFILE_new_null__extern"]
25752 pub fn sk_SRTP_PROTECTION_PROFILE_new_null() -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25753}
25754unsafe extern "C" {
25755 #[link_name = "sk_SRTP_PROTECTION_PROFILE_num__extern"]
25756 pub fn sk_SRTP_PROTECTION_PROFILE_num(sk: *const stack_st_SRTP_PROTECTION_PROFILE) -> usize;
25757}
25758unsafe extern "C" {
25759 #[link_name = "sk_SRTP_PROTECTION_PROFILE_zero__extern"]
25760 pub fn sk_SRTP_PROTECTION_PROFILE_zero(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25761}
25762unsafe extern "C" {
25763 #[link_name = "sk_SRTP_PROTECTION_PROFILE_value__extern"]
25764 pub fn sk_SRTP_PROTECTION_PROFILE_value(
25765 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25766 i: usize,
25767 ) -> *const SRTP_PROTECTION_PROFILE;
25768}
25769unsafe extern "C" {
25770 #[link_name = "sk_SRTP_PROTECTION_PROFILE_last__extern"]
25771 pub fn sk_SRTP_PROTECTION_PROFILE_last(
25772 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25773 ) -> *const SRTP_PROTECTION_PROFILE;
25774}
25775unsafe extern "C" {
25776 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set__extern"]
25777 pub fn sk_SRTP_PROTECTION_PROFILE_set(
25778 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25779 i: usize,
25780 p: *const SRTP_PROTECTION_PROFILE,
25781 ) -> *const SRTP_PROTECTION_PROFILE;
25782}
25783unsafe extern "C" {
25784 #[link_name = "sk_SRTP_PROTECTION_PROFILE_free__extern"]
25785 pub fn sk_SRTP_PROTECTION_PROFILE_free(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25786}
25787unsafe extern "C" {
25788 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop_free__extern"]
25789 pub fn sk_SRTP_PROTECTION_PROFILE_pop_free(
25790 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25791 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25792 );
25793}
25794unsafe extern "C" {
25795 #[link_name = "sk_SRTP_PROTECTION_PROFILE_insert__extern"]
25796 pub fn sk_SRTP_PROTECTION_PROFILE_insert(
25797 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25798 p: *const SRTP_PROTECTION_PROFILE,
25799 where_: usize,
25800 ) -> usize;
25801}
25802unsafe extern "C" {
25803 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete__extern"]
25804 pub fn sk_SRTP_PROTECTION_PROFILE_delete(
25805 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25806 where_: usize,
25807 ) -> *const SRTP_PROTECTION_PROFILE;
25808}
25809unsafe extern "C" {
25810 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_ptr__extern"]
25811 pub fn sk_SRTP_PROTECTION_PROFILE_delete_ptr(
25812 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25813 p: *const SRTP_PROTECTION_PROFILE,
25814 ) -> *const SRTP_PROTECTION_PROFILE;
25815}
25816unsafe extern "C" {
25817 #[link_name = "sk_SRTP_PROTECTION_PROFILE_delete_if__extern"]
25818 pub fn sk_SRTP_PROTECTION_PROFILE_delete_if(
25819 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25820 func: sk_SRTP_PROTECTION_PROFILE_delete_if_func,
25821 data: *mut ::core::ffi::c_void,
25822 );
25823}
25824unsafe extern "C" {
25825 #[link_name = "sk_SRTP_PROTECTION_PROFILE_find__extern"]
25826 pub fn sk_SRTP_PROTECTION_PROFILE_find(
25827 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25828 out_index: *mut usize,
25829 p: *const SRTP_PROTECTION_PROFILE,
25830 ) -> ::core::ffi::c_int;
25831}
25832unsafe extern "C" {
25833 #[link_name = "sk_SRTP_PROTECTION_PROFILE_shift__extern"]
25834 pub fn sk_SRTP_PROTECTION_PROFILE_shift(
25835 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25836 ) -> *const SRTP_PROTECTION_PROFILE;
25837}
25838unsafe extern "C" {
25839 #[link_name = "sk_SRTP_PROTECTION_PROFILE_push__extern"]
25840 pub fn sk_SRTP_PROTECTION_PROFILE_push(
25841 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25842 p: *const SRTP_PROTECTION_PROFILE,
25843 ) -> usize;
25844}
25845unsafe extern "C" {
25846 #[link_name = "sk_SRTP_PROTECTION_PROFILE_pop__extern"]
25847 pub fn sk_SRTP_PROTECTION_PROFILE_pop(
25848 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25849 ) -> *const SRTP_PROTECTION_PROFILE;
25850}
25851unsafe extern "C" {
25852 #[link_name = "sk_SRTP_PROTECTION_PROFILE_dup__extern"]
25853 pub fn sk_SRTP_PROTECTION_PROFILE_dup(
25854 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25855 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25856}
25857unsafe extern "C" {
25858 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort__extern"]
25859 pub fn sk_SRTP_PROTECTION_PROFILE_sort(sk: *mut stack_st_SRTP_PROTECTION_PROFILE);
25860}
25861unsafe extern "C" {
25862 #[link_name = "sk_SRTP_PROTECTION_PROFILE_sort_and_dedup__extern"]
25863 pub fn sk_SRTP_PROTECTION_PROFILE_sort_and_dedup(
25864 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25865 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25866 );
25867}
25868unsafe extern "C" {
25869 #[link_name = "sk_SRTP_PROTECTION_PROFILE_is_sorted__extern"]
25870 pub fn sk_SRTP_PROTECTION_PROFILE_is_sorted(
25871 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25872 ) -> ::core::ffi::c_int;
25873}
25874unsafe extern "C" {
25875 #[link_name = "sk_SRTP_PROTECTION_PROFILE_set_cmp_func__extern"]
25876 pub fn sk_SRTP_PROTECTION_PROFILE_set_cmp_func(
25877 sk: *mut stack_st_SRTP_PROTECTION_PROFILE,
25878 comp: sk_SRTP_PROTECTION_PROFILE_cmp_func,
25879 ) -> sk_SRTP_PROTECTION_PROFILE_cmp_func;
25880}
25881unsafe extern "C" {
25882 #[link_name = "sk_SRTP_PROTECTION_PROFILE_deep_copy__extern"]
25883 pub fn sk_SRTP_PROTECTION_PROFILE_deep_copy(
25884 sk: *const stack_st_SRTP_PROTECTION_PROFILE,
25885 copy_func: sk_SRTP_PROTECTION_PROFILE_copy_func,
25886 free_func: sk_SRTP_PROTECTION_PROFILE_free_func,
25887 ) -> *mut stack_st_SRTP_PROTECTION_PROFILE;
25888}
25889unsafe extern "C" {
25890 pub fn SSL_CTX_set_srtp_profiles(
25891 ctx: *mut SSL_CTX,
25892 profiles: *const ::core::ffi::c_char,
25893 ) -> ::core::ffi::c_int;
25894}
25895unsafe extern "C" {
25896 pub fn SSL_set_srtp_profiles(
25897 ssl: *mut SSL,
25898 profiles: *const ::core::ffi::c_char,
25899 ) -> ::core::ffi::c_int;
25900}
25901unsafe extern "C" {
25902 pub fn SSL_get_srtp_profiles(ssl: *const SSL) -> *const stack_st_SRTP_PROTECTION_PROFILE;
25903}
25904unsafe extern "C" {
25905 pub fn SSL_get_selected_srtp_profile(ssl: *mut SSL) -> *const SRTP_PROTECTION_PROFILE;
25906}
25907unsafe extern "C" {
25908 pub fn SSL_CREDENTIAL_new_pre_shared_key(
25909 key: *const u8,
25910 key_len: usize,
25911 id: *const u8,
25912 id_len: usize,
25913 md: *const EVP_MD,
25914 context: *const u8,
25915 context_len: usize,
25916 ) -> *mut SSL_CREDENTIAL;
25917}
25918unsafe extern "C" {
25919 pub fn SSL_CREDENTIAL_get0_pre_shared_key_id(
25920 cred: *const SSL_CREDENTIAL,
25921 id_len: *mut usize,
25922 ) -> *const u8;
25923}
25924unsafe extern "C" {
25925 pub fn SSL_CTX_set_psk_client_callback(
25926 ctx: *mut SSL_CTX,
25927 cb: ::core::option::Option<
25928 unsafe extern "C" fn(
25929 ssl: *mut SSL,
25930 hint: *const ::core::ffi::c_char,
25931 identity: *mut ::core::ffi::c_char,
25932 max_identity_len: ::core::ffi::c_uint,
25933 psk: *mut u8,
25934 max_psk_len: ::core::ffi::c_uint,
25935 ) -> ::core::ffi::c_uint,
25936 >,
25937 );
25938}
25939unsafe extern "C" {
25940 pub fn SSL_set_psk_client_callback(
25941 ssl: *mut SSL,
25942 cb: ::core::option::Option<
25943 unsafe extern "C" fn(
25944 ssl: *mut SSL,
25945 hint: *const ::core::ffi::c_char,
25946 identity: *mut ::core::ffi::c_char,
25947 max_identity_len: ::core::ffi::c_uint,
25948 psk: *mut u8,
25949 max_psk_len: ::core::ffi::c_uint,
25950 ) -> ::core::ffi::c_uint,
25951 >,
25952 );
25953}
25954unsafe extern "C" {
25955 pub fn SSL_CTX_set_psk_server_callback(
25956 ctx: *mut SSL_CTX,
25957 cb: ::core::option::Option<
25958 unsafe extern "C" fn(
25959 ssl: *mut SSL,
25960 identity: *const ::core::ffi::c_char,
25961 psk: *mut u8,
25962 max_psk_len: ::core::ffi::c_uint,
25963 ) -> ::core::ffi::c_uint,
25964 >,
25965 );
25966}
25967unsafe extern "C" {
25968 pub fn SSL_set_psk_server_callback(
25969 ssl: *mut SSL,
25970 cb: ::core::option::Option<
25971 unsafe extern "C" fn(
25972 ssl: *mut SSL,
25973 identity: *const ::core::ffi::c_char,
25974 psk: *mut u8,
25975 max_psk_len: ::core::ffi::c_uint,
25976 ) -> ::core::ffi::c_uint,
25977 >,
25978 );
25979}
25980unsafe extern "C" {
25981 pub fn SSL_CTX_use_psk_identity_hint(
25982 ctx: *mut SSL_CTX,
25983 identity_hint: *const ::core::ffi::c_char,
25984 ) -> ::core::ffi::c_int;
25985}
25986unsafe extern "C" {
25987 pub fn SSL_use_psk_identity_hint(
25988 ssl: *mut SSL,
25989 identity_hint: *const ::core::ffi::c_char,
25990 ) -> ::core::ffi::c_int;
25991}
25992unsafe extern "C" {
25993 pub fn SSL_get_psk_identity_hint(ssl: *const SSL) -> *const ::core::ffi::c_char;
25994}
25995unsafe extern "C" {
25996 pub fn SSL_get_psk_identity(ssl: *const SSL) -> *const ::core::ffi::c_char;
25997}
25998unsafe extern "C" {
25999 pub fn SSL_CREDENTIAL_new_delegated() -> *mut SSL_CREDENTIAL;
26000}
26001unsafe extern "C" {
26002 pub fn SSL_CREDENTIAL_set1_delegated_credential(
26003 cred: *mut SSL_CREDENTIAL,
26004 dc: *mut CRYPTO_BUFFER,
26005 ) -> ::core::ffi::c_int;
26006}
26007unsafe extern "C" {
26008 pub fn SSL_CREDENTIAL_new_raw_public_key(pkey: *mut EVP_PKEY) -> *mut SSL_CREDENTIAL;
26009}
26010unsafe extern "C" {
26011 pub fn SSL_CREDENTIAL_new_raw_public_key_custom(
26012 pubkey: *mut EVP_PKEY,
26013 method: *const SSL_PRIVATE_KEY_METHOD,
26014 ) -> *mut SSL_CREDENTIAL;
26015}
26016unsafe extern "C" {
26017 pub fn SSL_CTX_set1_accepted_peer_cert_types(
26018 ctx: *mut SSL_CTX,
26019 values: *const u8,
26020 num_values: usize,
26021 ) -> ::core::ffi::c_int;
26022}
26023unsafe extern "C" {
26024 pub fn SSL_set1_accepted_peer_cert_types(
26025 ssl: *mut SSL,
26026 values: *const u8,
26027 num_values: usize,
26028 ) -> ::core::ffi::c_int;
26029}
26030unsafe extern "C" {
26031 pub fn SSL_CTX_set1_available_client_cert_types(
26032 ctx: *mut SSL_CTX,
26033 values: *const u8,
26034 num_values: usize,
26035 ) -> ::core::ffi::c_int;
26036}
26037unsafe extern "C" {
26038 pub fn SSL_set1_available_client_cert_types(
26039 ssl: *mut SSL,
26040 values: *const u8,
26041 num_values: usize,
26042 ) -> ::core::ffi::c_int;
26043}
26044unsafe extern "C" {
26045 pub fn SSL_get_peer_cert_type(ssl: *const SSL) -> ::core::ffi::c_int;
26046}
26047unsafe extern "C" {
26048 pub fn SSL_get0_peer_rpk(ssl: *const SSL) -> *mut EVP_PKEY;
26049}
26050unsafe extern "C" {
26051 pub fn SSL_spake2plusv1_register(
26052 out_w0: *mut u8,
26053 out_w1: *mut u8,
26054 out_registration_record: *mut u8,
26055 password: *const u8,
26056 password_len: usize,
26057 client_identity: *const u8,
26058 client_identity_len: usize,
26059 server_identity: *const u8,
26060 server_identity_len: usize,
26061 ) -> ::core::ffi::c_int;
26062}
26063unsafe extern "C" {
26064 pub fn SSL_CREDENTIAL_new_spake2plusv1_client(
26065 context: *const u8,
26066 context_len: usize,
26067 client_identity: *const u8,
26068 client_identity_len: usize,
26069 server_identity: *const u8,
26070 server_identity_len: usize,
26071 error_limit: u32,
26072 w0: *const u8,
26073 w0_len: usize,
26074 w1: *const u8,
26075 w1_len: usize,
26076 ) -> *mut SSL_CREDENTIAL;
26077}
26078unsafe extern "C" {
26079 pub fn SSL_CREDENTIAL_new_spake2plusv1_server(
26080 context: *const u8,
26081 context_len: usize,
26082 client_identity: *const u8,
26083 client_identity_len: usize,
26084 server_identity: *const u8,
26085 server_identity_len: usize,
26086 rate_limit: u32,
26087 w0: *const u8,
26088 w0_len: usize,
26089 registration_record: *const u8,
26090 registration_record_len: usize,
26091 ) -> *mut SSL_CREDENTIAL;
26092}
26093pub const ssl_encryption_level_t_ssl_encryption_initial: ssl_encryption_level_t = 0;
26094pub const ssl_encryption_level_t_ssl_encryption_early_data: ssl_encryption_level_t = 1;
26095pub const ssl_encryption_level_t_ssl_encryption_handshake: ssl_encryption_level_t = 2;
26096pub const ssl_encryption_level_t_ssl_encryption_application: ssl_encryption_level_t = 3;
26097pub type ssl_encryption_level_t = ::core::ffi::c_uint;
26098#[repr(C)]
26099#[derive(Debug, Copy, Clone)]
26100pub struct ssl_quic_method_st {
26101 pub set_read_secret: ::core::option::Option<
26102 unsafe extern "C" fn(
26103 ssl: *mut SSL,
26104 level: ssl_encryption_level_t,
26105 cipher: *const SSL_CIPHER,
26106 secret: *const u8,
26107 secret_len: usize,
26108 ) -> ::core::ffi::c_int,
26109 >,
26110 pub set_write_secret: ::core::option::Option<
26111 unsafe extern "C" fn(
26112 ssl: *mut SSL,
26113 level: ssl_encryption_level_t,
26114 cipher: *const SSL_CIPHER,
26115 secret: *const u8,
26116 secret_len: usize,
26117 ) -> ::core::ffi::c_int,
26118 >,
26119 pub add_handshake_data: ::core::option::Option<
26120 unsafe extern "C" fn(
26121 ssl: *mut SSL,
26122 level: ssl_encryption_level_t,
26123 data: *const u8,
26124 len: usize,
26125 ) -> ::core::ffi::c_int,
26126 >,
26127 pub flush_flight:
26128 ::core::option::Option<unsafe extern "C" fn(ssl: *mut SSL) -> ::core::ffi::c_int>,
26129 pub send_alert: ::core::option::Option<
26130 unsafe extern "C" fn(
26131 ssl: *mut SSL,
26132 level: ssl_encryption_level_t,
26133 alert: u8,
26134 ) -> ::core::ffi::c_int,
26135 >,
26136}
26137unsafe extern "C" {
26138 pub fn SSL_quic_max_handshake_flight_len(
26139 ssl: *const SSL,
26140 level: ssl_encryption_level_t,
26141 ) -> usize;
26142}
26143unsafe extern "C" {
26144 pub fn SSL_quic_read_level(ssl: *const SSL) -> ssl_encryption_level_t;
26145}
26146unsafe extern "C" {
26147 pub fn SSL_quic_write_level(ssl: *const SSL) -> ssl_encryption_level_t;
26148}
26149unsafe extern "C" {
26150 pub fn SSL_provide_quic_data(
26151 ssl: *mut SSL,
26152 level: ssl_encryption_level_t,
26153 data: *const u8,
26154 len: usize,
26155 ) -> ::core::ffi::c_int;
26156}
26157unsafe extern "C" {
26158 pub fn SSL_process_quic_post_handshake(ssl: *mut SSL) -> ::core::ffi::c_int;
26159}
26160unsafe extern "C" {
26161 pub fn SSL_CTX_set_quic_method(
26162 ctx: *mut SSL_CTX,
26163 quic_method: *const SSL_QUIC_METHOD,
26164 ) -> ::core::ffi::c_int;
26165}
26166unsafe extern "C" {
26167 pub fn SSL_set_quic_method(
26168 ssl: *mut SSL,
26169 quic_method: *const SSL_QUIC_METHOD,
26170 ) -> ::core::ffi::c_int;
26171}
26172unsafe extern "C" {
26173 pub fn SSL_set_quic_transport_params(
26174 ssl: *mut SSL,
26175 params: *const u8,
26176 params_len: usize,
26177 ) -> ::core::ffi::c_int;
26178}
26179unsafe extern "C" {
26180 pub fn SSL_get_peer_quic_transport_params(
26181 ssl: *const SSL,
26182 out_params: *mut *const u8,
26183 out_params_len: *mut usize,
26184 );
26185}
26186unsafe extern "C" {
26187 pub fn SSL_set_quic_use_legacy_codepoint(ssl: *mut SSL, use_legacy: ::core::ffi::c_int);
26188}
26189unsafe extern "C" {
26190 pub fn SSL_set_quic_early_data_context(
26191 ssl: *mut SSL,
26192 context: *const u8,
26193 context_len: usize,
26194 ) -> ::core::ffi::c_int;
26195}
26196unsafe extern "C" {
26197 pub fn SSL_CTX_set_early_data_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26198}
26199unsafe extern "C" {
26200 pub fn SSL_set_early_data_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
26201}
26202unsafe extern "C" {
26203 pub fn SSL_in_early_data(ssl: *const SSL) -> ::core::ffi::c_int;
26204}
26205unsafe extern "C" {
26206 pub fn SSL_SESSION_early_data_capable(session: *const SSL_SESSION) -> ::core::ffi::c_int;
26207}
26208unsafe extern "C" {
26209 pub fn SSL_SESSION_copy_without_early_data(session: *mut SSL_SESSION) -> *mut SSL_SESSION;
26210}
26211unsafe extern "C" {
26212 pub fn SSL_early_data_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
26213}
26214unsafe extern "C" {
26215 pub fn SSL_reset_early_data_reject(ssl: *mut SSL);
26216}
26217unsafe extern "C" {
26218 pub fn SSL_get_ticket_age_skew(ssl: *const SSL) -> i32;
26219}
26220pub const ssl_early_data_reason_t_ssl_early_data_unknown: ssl_early_data_reason_t = 0;
26221pub const ssl_early_data_reason_t_ssl_early_data_disabled: ssl_early_data_reason_t = 1;
26222pub const ssl_early_data_reason_t_ssl_early_data_accepted: ssl_early_data_reason_t = 2;
26223pub const ssl_early_data_reason_t_ssl_early_data_protocol_version: ssl_early_data_reason_t = 3;
26224pub const ssl_early_data_reason_t_ssl_early_data_peer_declined: ssl_early_data_reason_t = 4;
26225pub const ssl_early_data_reason_t_ssl_early_data_no_session_offered: ssl_early_data_reason_t = 5;
26226pub const ssl_early_data_reason_t_ssl_early_data_session_not_resumed: ssl_early_data_reason_t = 6;
26227pub const ssl_early_data_reason_t_ssl_early_data_unsupported_for_session: ssl_early_data_reason_t =
26228 7;
26229pub const ssl_early_data_reason_t_ssl_early_data_hello_retry_request: ssl_early_data_reason_t = 8;
26230pub const ssl_early_data_reason_t_ssl_early_data_alpn_mismatch: ssl_early_data_reason_t = 9;
26231pub const ssl_early_data_reason_t_ssl_early_data_channel_id: ssl_early_data_reason_t = 10;
26232pub const ssl_early_data_reason_t_ssl_early_data_ticket_age_skew: ssl_early_data_reason_t = 12;
26233pub const ssl_early_data_reason_t_ssl_early_data_quic_parameter_mismatch: ssl_early_data_reason_t =
26234 13;
26235pub const ssl_early_data_reason_t_ssl_early_data_alps_mismatch: ssl_early_data_reason_t = 14;
26236pub const ssl_early_data_reason_t_ssl_early_data_reason_max_value: ssl_early_data_reason_t = 14;
26237pub type ssl_early_data_reason_t = ::core::ffi::c_uint;
26238unsafe extern "C" {
26239 pub fn SSL_get_early_data_reason(ssl: *const SSL) -> ssl_early_data_reason_t;
26240}
26241unsafe extern "C" {
26242 pub fn SSL_early_data_reason_string(
26243 reason: ssl_early_data_reason_t,
26244 ) -> *const ::core::ffi::c_char;
26245}
26246unsafe extern "C" {
26247 pub fn SSL_set_enable_ech_grease(ssl: *mut SSL, enable: ::core::ffi::c_int);
26248}
26249unsafe extern "C" {
26250 pub fn SSL_set_reject_unusable_ech_config(ssl: *mut SSL, enable: ::core::ffi::c_int);
26251}
26252unsafe extern "C" {
26253 pub fn SSL_set1_ech_config_list(
26254 ssl: *mut SSL,
26255 ech_config_list: *const u8,
26256 ech_config_list_len: usize,
26257 ) -> ::core::ffi::c_int;
26258}
26259unsafe extern "C" {
26260 pub fn SSL_get0_ech_name_override(
26261 ssl: *const SSL,
26262 out_name: *mut *const ::core::ffi::c_char,
26263 out_name_len: *mut usize,
26264 );
26265}
26266unsafe extern "C" {
26267 pub fn SSL_get0_ech_retry_configs(
26268 ssl: *const SSL,
26269 out_retry_configs: *mut *const u8,
26270 out_retry_configs_len: *mut usize,
26271 );
26272}
26273unsafe extern "C" {
26274 pub fn SSL_marshal_ech_config(
26275 out: *mut *mut u8,
26276 out_len: *mut usize,
26277 config_id: u8,
26278 key: *const EVP_HPKE_KEY,
26279 public_name: *const ::core::ffi::c_char,
26280 max_name_len: usize,
26281 ) -> ::core::ffi::c_int;
26282}
26283unsafe extern "C" {
26284 pub fn SSL_ECH_KEYS_new() -> *mut SSL_ECH_KEYS;
26285}
26286unsafe extern "C" {
26287 pub fn SSL_ECH_KEYS_up_ref(keys: *mut SSL_ECH_KEYS);
26288}
26289unsafe extern "C" {
26290 pub fn SSL_ECH_KEYS_free(keys: *mut SSL_ECH_KEYS);
26291}
26292unsafe extern "C" {
26293 pub fn SSL_ECH_KEYS_add(
26294 keys: *mut SSL_ECH_KEYS,
26295 is_retry_config: ::core::ffi::c_int,
26296 ech_config: *const u8,
26297 ech_config_len: usize,
26298 key: *const EVP_HPKE_KEY,
26299 ) -> ::core::ffi::c_int;
26300}
26301unsafe extern "C" {
26302 pub fn SSL_ECH_KEYS_has_duplicate_config_id(keys: *const SSL_ECH_KEYS) -> ::core::ffi::c_int;
26303}
26304unsafe extern "C" {
26305 pub fn SSL_ECH_KEYS_marshal_retry_configs(
26306 keys: *const SSL_ECH_KEYS,
26307 out: *mut *mut u8,
26308 out_len: *mut usize,
26309 ) -> ::core::ffi::c_int;
26310}
26311unsafe extern "C" {
26312 pub fn SSL_CTX_set1_ech_keys(ctx: *mut SSL_CTX, keys: *mut SSL_ECH_KEYS) -> ::core::ffi::c_int;
26313}
26314unsafe extern "C" {
26315 pub fn SSL_ech_accepted(ssl: *const SSL) -> ::core::ffi::c_int;
26316}
26317unsafe extern "C" {
26318 pub fn SSL_alert_type_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26319}
26320unsafe extern "C" {
26321 pub fn SSL_alert_desc_string_long(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
26322}
26323unsafe extern "C" {
26324 pub fn SSL_send_fatal_alert(ssl: *mut SSL, alert: u8) -> ::core::ffi::c_int;
26325}
26326unsafe extern "C" {
26327 pub fn SSL_set_ex_data(
26328 ssl: *mut SSL,
26329 idx: ::core::ffi::c_int,
26330 data: *mut ::core::ffi::c_void,
26331 ) -> ::core::ffi::c_int;
26332}
26333unsafe extern "C" {
26334 pub fn SSL_get_ex_data(ssl: *const SSL, idx: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
26335}
26336unsafe extern "C" {
26337 pub fn SSL_get_ex_new_index(
26338 argl: ::core::ffi::c_long,
26339 argp: *mut ::core::ffi::c_void,
26340 unused: *mut CRYPTO_EX_unused,
26341 dup_unused: CRYPTO_EX_dup,
26342 free_func: CRYPTO_EX_free,
26343 ) -> ::core::ffi::c_int;
26344}
26345unsafe extern "C" {
26346 pub fn SSL_SESSION_set_ex_data(
26347 session: *mut SSL_SESSION,
26348 idx: ::core::ffi::c_int,
26349 data: *mut ::core::ffi::c_void,
26350 ) -> ::core::ffi::c_int;
26351}
26352unsafe extern "C" {
26353 pub fn SSL_SESSION_get_ex_data(
26354 session: *const SSL_SESSION,
26355 idx: ::core::ffi::c_int,
26356 ) -> *mut ::core::ffi::c_void;
26357}
26358unsafe extern "C" {
26359 pub fn SSL_SESSION_get_ex_new_index(
26360 argl: ::core::ffi::c_long,
26361 argp: *mut ::core::ffi::c_void,
26362 unused: *mut CRYPTO_EX_unused,
26363 dup_unused: CRYPTO_EX_dup,
26364 free_func: CRYPTO_EX_free,
26365 ) -> ::core::ffi::c_int;
26366}
26367unsafe extern "C" {
26368 pub fn SSL_CTX_set_ex_data(
26369 ctx: *mut SSL_CTX,
26370 idx: ::core::ffi::c_int,
26371 data: *mut ::core::ffi::c_void,
26372 ) -> ::core::ffi::c_int;
26373}
26374unsafe extern "C" {
26375 pub fn SSL_CTX_get_ex_data(
26376 ctx: *const SSL_CTX,
26377 idx: ::core::ffi::c_int,
26378 ) -> *mut ::core::ffi::c_void;
26379}
26380unsafe extern "C" {
26381 pub fn SSL_CTX_get_ex_new_index(
26382 argl: ::core::ffi::c_long,
26383 argp: *mut ::core::ffi::c_void,
26384 unused: *mut CRYPTO_EX_unused,
26385 dup_unused: CRYPTO_EX_dup,
26386 free_func: CRYPTO_EX_free,
26387 ) -> ::core::ffi::c_int;
26388}
26389unsafe extern "C" {
26390 pub fn SSL_CREDENTIAL_set_ex_data(
26391 cred: *mut SSL_CREDENTIAL,
26392 idx: ::core::ffi::c_int,
26393 data: *mut ::core::ffi::c_void,
26394 ) -> ::core::ffi::c_int;
26395}
26396unsafe extern "C" {
26397 pub fn SSL_CREDENTIAL_get_ex_data(
26398 cred: *const SSL_CREDENTIAL,
26399 idx: ::core::ffi::c_int,
26400 ) -> *mut ::core::ffi::c_void;
26401}
26402unsafe extern "C" {
26403 pub fn SSL_CREDENTIAL_get_ex_new_index(
26404 argl: ::core::ffi::c_long,
26405 argp: *mut ::core::ffi::c_void,
26406 unused: *mut CRYPTO_EX_unused,
26407 dup_unused: CRYPTO_EX_dup,
26408 free_func: CRYPTO_EX_free,
26409 ) -> ::core::ffi::c_int;
26410}
26411unsafe extern "C" {
26412 pub fn SSL_get_ivs(
26413 ssl: *const SSL,
26414 out_read_iv: *mut *const u8,
26415 out_write_iv: *mut *const u8,
26416 out_iv_len: *mut usize,
26417 ) -> ::core::ffi::c_int;
26418}
26419unsafe extern "C" {
26420 pub fn SSL_get_key_block_len(ssl: *const SSL) -> usize;
26421}
26422unsafe extern "C" {
26423 pub fn SSL_generate_key_block(
26424 ssl: *const SSL,
26425 out: *mut u8,
26426 out_len: usize,
26427 ) -> ::core::ffi::c_int;
26428}
26429unsafe extern "C" {
26430 pub fn SSL_get_read_sequence(ssl: *const SSL) -> u64;
26431}
26432unsafe extern "C" {
26433 pub fn SSL_get_write_sequence(ssl: *const SSL) -> u64;
26434}
26435unsafe extern "C" {
26436 pub fn SSL_CTX_set_record_protocol_version(
26437 ctx: *mut SSL_CTX,
26438 version: ::core::ffi::c_int,
26439 ) -> ::core::ffi::c_int;
26440}
26441unsafe extern "C" {
26442 pub fn SSL_is_dtls_handshake_idle(ssl: *const SSL) -> ::core::ffi::c_int;
26443}
26444unsafe extern "C" {
26445 pub fn SSL_get_dtls_handshake_read_seq(ssl: *const SSL) -> u32;
26446}
26447unsafe extern "C" {
26448 pub fn SSL_get_dtls_handshake_write_seq(ssl: *const SSL) -> u32;
26449}
26450unsafe extern "C" {
26451 pub fn SSL_get_dtls_read_epoch(ssl: *const SSL) -> u16;
26452}
26453unsafe extern "C" {
26454 pub fn SSL_get_dtls_write_epoch(ssl: *const SSL) -> u16;
26455}
26456unsafe extern "C" {
26457 pub fn SSL_get_dtls_read_sequence(ssl: *const SSL, epoch: u16) -> u64;
26458}
26459unsafe extern "C" {
26460 pub fn SSL_get_dtls_write_sequence(ssl: *const SSL, epoch: u16) -> u64;
26461}
26462unsafe extern "C" {
26463 pub fn SSL_get_dtls_read_traffic_secret(
26464 ssl: *const SSL,
26465 out_data: *mut *const u8,
26466 out_len: *mut usize,
26467 epoch: u16,
26468 ) -> ::core::ffi::c_int;
26469}
26470unsafe extern "C" {
26471 pub fn SSL_get_dtls_write_traffic_secret(
26472 ssl: *const SSL,
26473 out_data: *mut *const u8,
26474 out_len: *mut usize,
26475 epoch: u16,
26476 ) -> ::core::ffi::c_int;
26477}
26478unsafe extern "C" {
26479 pub fn SSL_serialize_capabilities(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26480}
26481unsafe extern "C" {
26482 pub fn SSL_request_handshake_hints(
26483 ssl: *mut SSL,
26484 client_hello: *const u8,
26485 client_hello_len: usize,
26486 capabilities: *const u8,
26487 capabilities_len: usize,
26488 ) -> ::core::ffi::c_int;
26489}
26490unsafe extern "C" {
26491 pub fn SSL_serialize_handshake_hints(ssl: *const SSL, out: *mut CBB) -> ::core::ffi::c_int;
26492}
26493unsafe extern "C" {
26494 pub fn SSL_set_handshake_hints(
26495 ssl: *mut SSL,
26496 hints: *const u8,
26497 hints_len: usize,
26498 ) -> ::core::ffi::c_int;
26499}
26500unsafe extern "C" {
26501 pub fn SSL_CTX_set_msg_callback(
26502 ctx: *mut SSL_CTX,
26503 cb: ::core::option::Option<
26504 unsafe extern "C" fn(
26505 is_write: ::core::ffi::c_int,
26506 version: ::core::ffi::c_int,
26507 content_type: ::core::ffi::c_int,
26508 buf: *const ::core::ffi::c_void,
26509 len: usize,
26510 ssl: *mut SSL,
26511 arg: *mut ::core::ffi::c_void,
26512 ),
26513 >,
26514 );
26515}
26516unsafe extern "C" {
26517 pub fn SSL_CTX_set_msg_callback_arg(ctx: *mut SSL_CTX, arg: *mut ::core::ffi::c_void);
26518}
26519unsafe extern "C" {
26520 pub fn SSL_set_msg_callback(
26521 ssl: *mut SSL,
26522 cb: ::core::option::Option<
26523 unsafe extern "C" fn(
26524 write_p: ::core::ffi::c_int,
26525 version: ::core::ffi::c_int,
26526 content_type: ::core::ffi::c_int,
26527 buf: *const ::core::ffi::c_void,
26528 len: usize,
26529 ssl: *mut SSL,
26530 arg: *mut ::core::ffi::c_void,
26531 ),
26532 >,
26533 );
26534}
26535unsafe extern "C" {
26536 pub fn SSL_set_msg_callback_arg(ssl: *mut SSL, arg: *mut ::core::ffi::c_void);
26537}
26538unsafe extern "C" {
26539 pub fn SSL_CTX_set_keylog_callback(
26540 ctx: *mut SSL_CTX,
26541 cb: ::core::option::Option<
26542 unsafe extern "C" fn(ssl: *const SSL, line: *const ::core::ffi::c_char),
26543 >,
26544 );
26545}
26546unsafe extern "C" {
26547 pub fn SSL_CTX_get_keylog_callback(
26548 ctx: *const SSL_CTX,
26549 ) -> ::core::option::Option<
26550 unsafe extern "C" fn(ctx: *const SSL, arg1: *const ::core::ffi::c_char),
26551 >;
26552}
26553unsafe extern "C" {
26554 pub fn SSL_CTX_set_current_time_cb(
26555 ctx: *mut SSL_CTX,
26556 cb: ::core::option::Option<unsafe extern "C" fn(ssl: *const SSL, out_clock: *mut timeval)>,
26557 );
26558}
26559unsafe extern "C" {
26560 pub fn SSL_set_shed_handshake_config(ssl: *mut SSL, enable: ::core::ffi::c_int);
26561}
26562pub const ssl_renegotiate_mode_t_ssl_renegotiate_never: ssl_renegotiate_mode_t = 0;
26563pub const ssl_renegotiate_mode_t_ssl_renegotiate_once: ssl_renegotiate_mode_t = 1;
26564pub const ssl_renegotiate_mode_t_ssl_renegotiate_freely: ssl_renegotiate_mode_t = 2;
26565pub const ssl_renegotiate_mode_t_ssl_renegotiate_ignore: ssl_renegotiate_mode_t = 3;
26566pub const ssl_renegotiate_mode_t_ssl_renegotiate_explicit: ssl_renegotiate_mode_t = 4;
26567pub type ssl_renegotiate_mode_t = ::core::ffi::c_uint;
26568unsafe extern "C" {
26569 pub fn SSL_set_renegotiate_mode(ssl: *mut SSL, mode: ssl_renegotiate_mode_t);
26570}
26571unsafe extern "C" {
26572 pub fn SSL_renegotiate(ssl: *mut SSL) -> ::core::ffi::c_int;
26573}
26574unsafe extern "C" {
26575 pub fn SSL_renegotiate_pending(ssl: *mut SSL) -> ::core::ffi::c_int;
26576}
26577unsafe extern "C" {
26578 pub fn SSL_total_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26579}
26580unsafe extern "C" {
26581 pub fn SSL_CTX_get_max_cert_list(ctx: *const SSL_CTX) -> usize;
26582}
26583unsafe extern "C" {
26584 pub fn SSL_CTX_set_max_cert_list(ctx: *mut SSL_CTX, max_cert_list: usize);
26585}
26586unsafe extern "C" {
26587 pub fn SSL_get_max_cert_list(ssl: *const SSL) -> usize;
26588}
26589unsafe extern "C" {
26590 pub fn SSL_set_max_cert_list(ssl: *mut SSL, max_cert_list: usize);
26591}
26592unsafe extern "C" {
26593 pub fn SSL_CTX_set_max_send_fragment(
26594 ctx: *mut SSL_CTX,
26595 max_send_fragment: usize,
26596 ) -> ::core::ffi::c_int;
26597}
26598unsafe extern "C" {
26599 pub fn SSL_set_max_send_fragment(ssl: *mut SSL, max_send_fragment: usize)
26600 -> ::core::ffi::c_int;
26601}
26602#[repr(C)]
26603#[derive(Debug, Copy, Clone)]
26604pub struct ssl_early_callback_ctx {
26605 pub ssl: *mut SSL,
26606 pub client_hello: *const u8,
26607 pub client_hello_len: usize,
26608 pub version: u16,
26609 pub random: *const u8,
26610 pub random_len: usize,
26611 pub session_id: *const u8,
26612 pub session_id_len: usize,
26613 pub dtls_cookie: *const u8,
26614 pub dtls_cookie_len: usize,
26615 pub cipher_suites: *const u8,
26616 pub cipher_suites_len: usize,
26617 pub compression_methods: *const u8,
26618 pub compression_methods_len: usize,
26619 pub extensions: *const u8,
26620 pub extensions_len: usize,
26621}
26622pub const ssl_select_cert_result_t_ssl_select_cert_success: ssl_select_cert_result_t = 1;
26623pub const ssl_select_cert_result_t_ssl_select_cert_retry: ssl_select_cert_result_t = 0;
26624pub const ssl_select_cert_result_t_ssl_select_cert_error: ssl_select_cert_result_t = -1;
26625pub const ssl_select_cert_result_t_ssl_select_cert_disable_ech: ssl_select_cert_result_t = -2;
26626pub type ssl_select_cert_result_t = ::core::ffi::c_int;
26627unsafe extern "C" {
26628 pub fn SSL_early_callback_ctx_extension_get(
26629 client_hello: *const SSL_CLIENT_HELLO,
26630 extension_type: u16,
26631 out_data: *mut *const u8,
26632 out_len: *mut usize,
26633 ) -> ::core::ffi::c_int;
26634}
26635unsafe extern "C" {
26636 pub fn SSL_CTX_set_select_certificate_cb(
26637 ctx: *mut SSL_CTX,
26638 cb: ::core::option::Option<
26639 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ssl_select_cert_result_t,
26640 >,
26641 );
26642}
26643unsafe extern "C" {
26644 pub fn SSL_CTX_set_dos_protection_cb(
26645 ctx: *mut SSL_CTX,
26646 cb: ::core::option::Option<
26647 unsafe extern "C" fn(arg1: *const SSL_CLIENT_HELLO) -> ::core::ffi::c_int,
26648 >,
26649 );
26650}
26651unsafe extern "C" {
26652 pub fn SSL_CTX_set_reverify_on_resume(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26653}
26654unsafe extern "C" {
26655 pub fn SSL_CTX_set_info_callback(
26656 ctx: *mut SSL_CTX,
26657 cb: ::core::option::Option<
26658 unsafe extern "C" fn(
26659 ssl: *const SSL,
26660 type_: ::core::ffi::c_int,
26661 value: ::core::ffi::c_int,
26662 ),
26663 >,
26664 );
26665}
26666unsafe extern "C" {
26667 pub fn SSL_CTX_get_info_callback(
26668 ctx: *mut SSL_CTX,
26669 ) -> ::core::option::Option<
26670 unsafe extern "C" fn(ctx: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26671 >;
26672}
26673unsafe extern "C" {
26674 pub fn SSL_set_info_callback(
26675 ssl: *mut SSL,
26676 cb: ::core::option::Option<
26677 unsafe extern "C" fn(
26678 ssl: *const SSL,
26679 type_: ::core::ffi::c_int,
26680 value: ::core::ffi::c_int,
26681 ),
26682 >,
26683 );
26684}
26685unsafe extern "C" {
26686 pub fn SSL_get_info_callback(
26687 ssl: *const SSL,
26688 ) -> ::core::option::Option<
26689 unsafe extern "C" fn(ssl: *const SSL, arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int),
26690 >;
26691}
26692unsafe extern "C" {
26693 pub fn SSL_state_string_long(ssl: *const SSL) -> *const ::core::ffi::c_char;
26694}
26695unsafe extern "C" {
26696 pub fn SSL_get_shutdown(ssl: *const SSL) -> ::core::ffi::c_int;
26697}
26698unsafe extern "C" {
26699 pub fn SSL_get_peer_signature_algorithm(ssl: *const SSL) -> u16;
26700}
26701unsafe extern "C" {
26702 pub fn SSL_get_client_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26703}
26704unsafe extern "C" {
26705 pub fn SSL_get_server_random(ssl: *const SSL, out: *mut u8, max_out: usize) -> usize;
26706}
26707unsafe extern "C" {
26708 pub fn SSL_get_signature_algorithm_used(ssl: *const SSL) -> u16;
26709}
26710unsafe extern "C" {
26711 pub fn SSL_get_pending_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
26712}
26713unsafe extern "C" {
26714 pub fn SSL_set_retain_only_sha256_of_client_certs(ssl: *mut SSL, enable: ::core::ffi::c_int);
26715}
26716unsafe extern "C" {
26717 pub fn SSL_CTX_set_retain_only_sha256_of_client_certs(
26718 ctx: *mut SSL_CTX,
26719 enable: ::core::ffi::c_int,
26720 );
26721}
26722unsafe extern "C" {
26723 pub fn SSL_CTX_set_grease_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26724}
26725unsafe extern "C" {
26726 pub fn SSL_CTX_set_grease_sigalgs_enabled(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26727}
26728unsafe extern "C" {
26729 pub fn SSL_CTX_set_permute_extensions(ctx: *mut SSL_CTX, enabled: ::core::ffi::c_int);
26730}
26731unsafe extern "C" {
26732 pub fn SSL_set_permute_extensions(ssl: *mut SSL, enabled: ::core::ffi::c_int);
26733}
26734unsafe extern "C" {
26735 pub fn SSL_max_seal_overhead(ssl: *const SSL) -> usize;
26736}
26737unsafe extern "C" {
26738 pub fn SSL_CTX_set_false_start_allowed_without_alpn(
26739 ctx: *mut SSL_CTX,
26740 allowed: ::core::ffi::c_int,
26741 );
26742}
26743unsafe extern "C" {
26744 pub fn SSL_used_hello_retry_request(ssl: *const SSL) -> ::core::ffi::c_int;
26745}
26746unsafe extern "C" {
26747 pub fn SSL_set_jdk11_workaround(ssl: *mut SSL, enable: ::core::ffi::c_int);
26748}
26749unsafe extern "C" {
26750 pub fn SSL_parse_client_hello(
26751 ssl: *const SSL,
26752 out: *mut SSL_CLIENT_HELLO,
26753 in_: *const u8,
26754 len: usize,
26755 ) -> ::core::ffi::c_int;
26756}
26757unsafe extern "C" {
26758 pub fn SSL_library_init() -> ::core::ffi::c_int;
26759}
26760unsafe extern "C" {
26761 pub fn SSL_CIPHER_description(
26762 cipher: *const SSL_CIPHER,
26763 buf: *mut ::core::ffi::c_char,
26764 len: ::core::ffi::c_int,
26765 ) -> *const ::core::ffi::c_char;
26766}
26767unsafe extern "C" {
26768 pub fn SSL_CIPHER_get_version(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26769}
26770unsafe extern "C" {
26771 pub fn SSL_CIPHER_get_id(cipher: *const SSL_CIPHER) -> u32;
26772}
26773unsafe extern "C" {
26774 pub fn SSL_CIPHER_get_name(cipher: *const SSL_CIPHER) -> *const ::core::ffi::c_char;
26775}
26776pub type COMP_METHOD = ::core::ffi::c_void;
26777pub type SSL_COMP = ssl_comp_st;
26778#[repr(C)]
26779#[derive(Debug)]
26780pub struct stack_st_SSL_COMP {
26781 _unused: [u8; 0],
26782}
26783unsafe extern "C" {
26784 pub fn SSL_COMP_get_compression_methods() -> *mut stack_st_SSL_COMP;
26785}
26786unsafe extern "C" {
26787 pub fn SSL_COMP_add_compression_method(
26788 id: ::core::ffi::c_int,
26789 cm: *mut COMP_METHOD,
26790 ) -> ::core::ffi::c_int;
26791}
26792unsafe extern "C" {
26793 pub fn SSL_COMP_get_name(comp: *const COMP_METHOD) -> *const ::core::ffi::c_char;
26794}
26795unsafe extern "C" {
26796 pub fn SSL_COMP_get0_name(comp: *const SSL_COMP) -> *const ::core::ffi::c_char;
26797}
26798unsafe extern "C" {
26799 pub fn SSL_COMP_get_id(comp: *const SSL_COMP) -> ::core::ffi::c_int;
26800}
26801unsafe extern "C" {
26802 pub fn SSL_COMP_free_compression_methods();
26803}
26804unsafe extern "C" {
26805 pub fn SSLv23_method() -> *const SSL_METHOD;
26806}
26807unsafe extern "C" {
26808 pub fn TLSv1_method() -> *const SSL_METHOD;
26809}
26810unsafe extern "C" {
26811 pub fn TLSv1_1_method() -> *const SSL_METHOD;
26812}
26813unsafe extern "C" {
26814 pub fn TLSv1_2_method() -> *const SSL_METHOD;
26815}
26816unsafe extern "C" {
26817 pub fn DTLSv1_method() -> *const SSL_METHOD;
26818}
26819unsafe extern "C" {
26820 pub fn DTLSv1_2_method() -> *const SSL_METHOD;
26821}
26822unsafe extern "C" {
26823 pub fn TLS_server_method() -> *const SSL_METHOD;
26824}
26825unsafe extern "C" {
26826 pub fn TLS_client_method() -> *const SSL_METHOD;
26827}
26828unsafe extern "C" {
26829 pub fn SSLv23_server_method() -> *const SSL_METHOD;
26830}
26831unsafe extern "C" {
26832 pub fn SSLv23_client_method() -> *const SSL_METHOD;
26833}
26834unsafe extern "C" {
26835 pub fn TLSv1_server_method() -> *const SSL_METHOD;
26836}
26837unsafe extern "C" {
26838 pub fn TLSv1_client_method() -> *const SSL_METHOD;
26839}
26840unsafe extern "C" {
26841 pub fn TLSv1_1_server_method() -> *const SSL_METHOD;
26842}
26843unsafe extern "C" {
26844 pub fn TLSv1_1_client_method() -> *const SSL_METHOD;
26845}
26846unsafe extern "C" {
26847 pub fn TLSv1_2_server_method() -> *const SSL_METHOD;
26848}
26849unsafe extern "C" {
26850 pub fn TLSv1_2_client_method() -> *const SSL_METHOD;
26851}
26852unsafe extern "C" {
26853 pub fn DTLS_server_method() -> *const SSL_METHOD;
26854}
26855unsafe extern "C" {
26856 pub fn DTLS_client_method() -> *const SSL_METHOD;
26857}
26858unsafe extern "C" {
26859 pub fn DTLSv1_server_method() -> *const SSL_METHOD;
26860}
26861unsafe extern "C" {
26862 pub fn DTLSv1_client_method() -> *const SSL_METHOD;
26863}
26864unsafe extern "C" {
26865 pub fn DTLSv1_2_server_method() -> *const SSL_METHOD;
26866}
26867unsafe extern "C" {
26868 pub fn DTLSv1_2_client_method() -> *const SSL_METHOD;
26869}
26870unsafe extern "C" {
26871 pub fn SSL_clear(ssl: *mut SSL) -> ::core::ffi::c_int;
26872}
26873unsafe extern "C" {
26874 pub fn SSL_CTX_set_tmp_rsa_callback(
26875 ctx: *mut SSL_CTX,
26876 cb: ::core::option::Option<
26877 unsafe extern "C" fn(
26878 ssl: *mut SSL,
26879 is_export: ::core::ffi::c_int,
26880 keylength: ::core::ffi::c_int,
26881 ) -> *mut RSA,
26882 >,
26883 );
26884}
26885unsafe extern "C" {
26886 pub fn SSL_set_tmp_rsa_callback(
26887 ssl: *mut SSL,
26888 cb: ::core::option::Option<
26889 unsafe extern "C" fn(
26890 ssl: *mut SSL,
26891 is_export: ::core::ffi::c_int,
26892 keylength: ::core::ffi::c_int,
26893 ) -> *mut RSA,
26894 >,
26895 );
26896}
26897unsafe extern "C" {
26898 pub fn SSL_CTX_sess_connect(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26899}
26900unsafe extern "C" {
26901 pub fn SSL_CTX_sess_connect_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26902}
26903unsafe extern "C" {
26904 pub fn SSL_CTX_sess_connect_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26905}
26906unsafe extern "C" {
26907 pub fn SSL_CTX_sess_accept(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26908}
26909unsafe extern "C" {
26910 pub fn SSL_CTX_sess_accept_renegotiate(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26911}
26912unsafe extern "C" {
26913 pub fn SSL_CTX_sess_accept_good(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26914}
26915unsafe extern "C" {
26916 pub fn SSL_CTX_sess_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26917}
26918unsafe extern "C" {
26919 pub fn SSL_CTX_sess_cb_hits(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26920}
26921unsafe extern "C" {
26922 pub fn SSL_CTX_sess_misses(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26923}
26924unsafe extern "C" {
26925 pub fn SSL_CTX_sess_timeouts(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26926}
26927unsafe extern "C" {
26928 pub fn SSL_CTX_sess_cache_full(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26929}
26930unsafe extern "C" {
26931 pub fn SSL_cutthrough_complete(ssl: *const SSL) -> ::core::ffi::c_int;
26932}
26933unsafe extern "C" {
26934 pub fn SSL_num_renegotiations(ssl: *const SSL) -> ::core::ffi::c_int;
26935}
26936unsafe extern "C" {
26937 pub fn SSL_CTX_need_tmp_RSA(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26938}
26939unsafe extern "C" {
26940 pub fn SSL_need_tmp_RSA(ssl: *const SSL) -> ::core::ffi::c_int;
26941}
26942unsafe extern "C" {
26943 pub fn SSL_CTX_set_tmp_rsa(ctx: *mut SSL_CTX, rsa: *const RSA) -> ::core::ffi::c_int;
26944}
26945unsafe extern "C" {
26946 pub fn SSL_set_tmp_rsa(ssl: *mut SSL, rsa: *const RSA) -> ::core::ffi::c_int;
26947}
26948unsafe extern "C" {
26949 pub fn SSL_CTX_get_read_ahead(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
26950}
26951unsafe extern "C" {
26952 pub fn SSL_CTX_set_read_ahead(ctx: *mut SSL_CTX, yes: ::core::ffi::c_int)
26953 -> ::core::ffi::c_int;
26954}
26955unsafe extern "C" {
26956 pub fn SSL_get_read_ahead(ssl: *const SSL) -> ::core::ffi::c_int;
26957}
26958unsafe extern "C" {
26959 pub fn SSL_set_read_ahead(ssl: *mut SSL, yes: ::core::ffi::c_int) -> ::core::ffi::c_int;
26960}
26961unsafe extern "C" {
26962 pub fn SSL_set_state(ssl: *mut SSL, state: ::core::ffi::c_int);
26963}
26964unsafe extern "C" {
26965 pub fn SSL_get_shared_ciphers(
26966 ssl: *const SSL,
26967 buf: *mut ::core::ffi::c_char,
26968 len: ::core::ffi::c_int,
26969 ) -> *mut ::core::ffi::c_char;
26970}
26971unsafe extern "C" {
26972 pub fn SSL_get_shared_sigalgs(
26973 ssl: *mut SSL,
26974 idx: ::core::ffi::c_int,
26975 psign: *mut ::core::ffi::c_int,
26976 phash: *mut ::core::ffi::c_int,
26977 psignandhash: *mut ::core::ffi::c_int,
26978 rsig: *mut u8,
26979 rhash: *mut u8,
26980 ) -> ::core::ffi::c_int;
26981}
26982unsafe extern "C" {
26983 pub fn i2d_SSL_SESSION(in_: *const SSL_SESSION, pp: *mut *mut u8) -> ::core::ffi::c_int;
26984}
26985unsafe extern "C" {
26986 pub fn d2i_SSL_SESSION(
26987 out: *mut *mut SSL_SESSION,
26988 inp: *mut *const u8,
26989 len: ::core::ffi::c_long,
26990 ) -> *mut SSL_SESSION;
26991}
26992unsafe extern "C" {
26993 pub fn i2d_SSL_SESSION_bio(bio: *mut BIO, session: *const SSL_SESSION) -> ::core::ffi::c_int;
26994}
26995unsafe extern "C" {
26996 pub fn d2i_SSL_SESSION_bio(bio: *mut BIO, out: *mut *mut SSL_SESSION) -> *mut SSL_SESSION;
26997}
26998unsafe extern "C" {
26999 pub fn ERR_load_SSL_strings();
27000}
27001unsafe extern "C" {
27002 pub fn SSL_load_error_strings();
27003}
27004unsafe extern "C" {
27005 pub fn SSL_CTX_set_tlsext_use_srtp(
27006 ctx: *mut SSL_CTX,
27007 profiles: *const ::core::ffi::c_char,
27008 ) -> ::core::ffi::c_int;
27009}
27010unsafe extern "C" {
27011 pub fn SSL_set_tlsext_use_srtp(
27012 ssl: *mut SSL,
27013 profiles: *const ::core::ffi::c_char,
27014 ) -> ::core::ffi::c_int;
27015}
27016unsafe extern "C" {
27017 pub fn SSL_get_current_compression(ssl: *mut SSL) -> *const COMP_METHOD;
27018}
27019unsafe extern "C" {
27020 pub fn SSL_get_current_expansion(ssl: *mut SSL) -> *const COMP_METHOD;
27021}
27022unsafe extern "C" {
27023 pub fn SSL_get_server_tmp_key(ssl: *mut SSL, out_key: *mut *mut EVP_PKEY)
27024 -> ::core::ffi::c_int;
27025}
27026unsafe extern "C" {
27027 pub fn SSL_get_peer_tmp_key(ssl: *mut SSL, out_key: *mut *mut EVP_PKEY) -> ::core::ffi::c_int;
27028}
27029unsafe extern "C" {
27030 pub fn SSL_CTX_set_tmp_dh(ctx: *mut SSL_CTX, dh: *const DH) -> ::core::ffi::c_int;
27031}
27032unsafe extern "C" {
27033 pub fn SSL_set_tmp_dh(ssl: *mut SSL, dh: *const DH) -> ::core::ffi::c_int;
27034}
27035unsafe extern "C" {
27036 pub fn SSL_CTX_set_tmp_dh_callback(
27037 ctx: *mut SSL_CTX,
27038 cb: ::core::option::Option<
27039 unsafe extern "C" fn(
27040 ssl: *mut SSL,
27041 is_export: ::core::ffi::c_int,
27042 keylength: ::core::ffi::c_int,
27043 ) -> *mut DH,
27044 >,
27045 );
27046}
27047unsafe extern "C" {
27048 pub fn SSL_set_tmp_dh_callback(
27049 ssl: *mut SSL,
27050 cb: ::core::option::Option<
27051 unsafe extern "C" fn(
27052 ssl: *mut SSL,
27053 is_export: ::core::ffi::c_int,
27054 keylength: ::core::ffi::c_int,
27055 ) -> *mut DH,
27056 >,
27057 );
27058}
27059unsafe extern "C" {
27060 pub fn SSL_CTX_set1_sigalgs(
27061 ctx: *mut SSL_CTX,
27062 values: *const ::core::ffi::c_int,
27063 num_values: usize,
27064 ) -> ::core::ffi::c_int;
27065}
27066unsafe extern "C" {
27067 pub fn SSL_set1_sigalgs(
27068 ssl: *mut SSL,
27069 values: *const ::core::ffi::c_int,
27070 num_values: usize,
27071 ) -> ::core::ffi::c_int;
27072}
27073unsafe extern "C" {
27074 pub fn SSL_CTX_set1_sigalgs_list(
27075 ctx: *mut SSL_CTX,
27076 str_: *const ::core::ffi::c_char,
27077 ) -> ::core::ffi::c_int;
27078}
27079unsafe extern "C" {
27080 pub fn SSL_set1_sigalgs_list(
27081 ssl: *mut SSL,
27082 str_: *const ::core::ffi::c_char,
27083 ) -> ::core::ffi::c_int;
27084}
27085#[repr(C)]
27086#[derive(Debug, Copy, Clone)]
27087pub struct ssl_comp_st {
27088 pub id: ::core::ffi::c_int,
27089 pub name: *const ::core::ffi::c_char,
27090 pub method: *mut ::core::ffi::c_char,
27091}
27092pub type sk_SSL_COMP_free_func = ::core::option::Option<unsafe extern "C" fn(arg1: *mut SSL_COMP)>;
27093pub type sk_SSL_COMP_copy_func =
27094 ::core::option::Option<unsafe extern "C" fn(arg1: *const SSL_COMP) -> *mut SSL_COMP>;
27095pub type sk_SSL_COMP_cmp_func = ::core::option::Option<
27096 unsafe extern "C" fn(
27097 arg1: *const *const SSL_COMP,
27098 arg2: *const *const SSL_COMP,
27099 ) -> ::core::ffi::c_int,
27100>;
27101pub type sk_SSL_COMP_delete_if_func = ::core::option::Option<
27102 unsafe extern "C" fn(arg1: *mut SSL_COMP, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
27103>;
27104unsafe extern "C" {
27105 #[link_name = "sk_SSL_COMP_call_free_func__extern"]
27106 pub fn sk_SSL_COMP_call_free_func(
27107 free_func: OPENSSL_sk_free_func,
27108 ptr: *mut ::core::ffi::c_void,
27109 );
27110}
27111unsafe extern "C" {
27112 #[link_name = "sk_SSL_COMP_call_copy_func__extern"]
27113 pub fn sk_SSL_COMP_call_copy_func(
27114 copy_func: OPENSSL_sk_copy_func,
27115 ptr: *const ::core::ffi::c_void,
27116 ) -> *mut ::core::ffi::c_void;
27117}
27118unsafe extern "C" {
27119 #[link_name = "sk_SSL_COMP_call_cmp_func__extern"]
27120 pub fn sk_SSL_COMP_call_cmp_func(
27121 cmp_func: OPENSSL_sk_cmp_func,
27122 a: *const ::core::ffi::c_void,
27123 b: *const ::core::ffi::c_void,
27124 ) -> ::core::ffi::c_int;
27125}
27126unsafe extern "C" {
27127 #[link_name = "sk_SSL_COMP_call_delete_if_func__extern"]
27128 pub fn sk_SSL_COMP_call_delete_if_func(
27129 func: OPENSSL_sk_delete_if_func,
27130 obj: *mut ::core::ffi::c_void,
27131 data: *mut ::core::ffi::c_void,
27132 ) -> ::core::ffi::c_int;
27133}
27134unsafe extern "C" {
27135 #[link_name = "sk_SSL_COMP_new__extern"]
27136 pub fn sk_SSL_COMP_new(comp: sk_SSL_COMP_cmp_func) -> *mut stack_st_SSL_COMP;
27137}
27138unsafe extern "C" {
27139 #[link_name = "sk_SSL_COMP_new_null__extern"]
27140 pub fn sk_SSL_COMP_new_null() -> *mut stack_st_SSL_COMP;
27141}
27142unsafe extern "C" {
27143 #[link_name = "sk_SSL_COMP_num__extern"]
27144 pub fn sk_SSL_COMP_num(sk: *const stack_st_SSL_COMP) -> usize;
27145}
27146unsafe extern "C" {
27147 #[link_name = "sk_SSL_COMP_zero__extern"]
27148 pub fn sk_SSL_COMP_zero(sk: *mut stack_st_SSL_COMP);
27149}
27150unsafe extern "C" {
27151 #[link_name = "sk_SSL_COMP_value__extern"]
27152 pub fn sk_SSL_COMP_value(sk: *const stack_st_SSL_COMP, i: usize) -> *mut SSL_COMP;
27153}
27154unsafe extern "C" {
27155 #[link_name = "sk_SSL_COMP_last__extern"]
27156 pub fn sk_SSL_COMP_last(sk: *const stack_st_SSL_COMP) -> *mut SSL_COMP;
27157}
27158unsafe extern "C" {
27159 #[link_name = "sk_SSL_COMP_set__extern"]
27160 pub fn sk_SSL_COMP_set(sk: *mut stack_st_SSL_COMP, i: usize, p: *mut SSL_COMP)
27161 -> *mut SSL_COMP;
27162}
27163unsafe extern "C" {
27164 #[link_name = "sk_SSL_COMP_free__extern"]
27165 pub fn sk_SSL_COMP_free(sk: *mut stack_st_SSL_COMP);
27166}
27167unsafe extern "C" {
27168 #[link_name = "sk_SSL_COMP_pop_free__extern"]
27169 pub fn sk_SSL_COMP_pop_free(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
27170}
27171unsafe extern "C" {
27172 #[link_name = "sk_SSL_COMP_insert__extern"]
27173 pub fn sk_SSL_COMP_insert(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP, where_: usize)
27174 -> usize;
27175}
27176unsafe extern "C" {
27177 #[link_name = "sk_SSL_COMP_delete__extern"]
27178 pub fn sk_SSL_COMP_delete(sk: *mut stack_st_SSL_COMP, where_: usize) -> *mut SSL_COMP;
27179}
27180unsafe extern "C" {
27181 #[link_name = "sk_SSL_COMP_delete_ptr__extern"]
27182 pub fn sk_SSL_COMP_delete_ptr(sk: *mut stack_st_SSL_COMP, p: *const SSL_COMP) -> *mut SSL_COMP;
27183}
27184unsafe extern "C" {
27185 #[link_name = "sk_SSL_COMP_delete_if__extern"]
27186 pub fn sk_SSL_COMP_delete_if(
27187 sk: *mut stack_st_SSL_COMP,
27188 func: sk_SSL_COMP_delete_if_func,
27189 data: *mut ::core::ffi::c_void,
27190 );
27191}
27192unsafe extern "C" {
27193 #[link_name = "sk_SSL_COMP_find__extern"]
27194 pub fn sk_SSL_COMP_find(
27195 sk: *const stack_st_SSL_COMP,
27196 out_index: *mut usize,
27197 p: *const SSL_COMP,
27198 ) -> ::core::ffi::c_int;
27199}
27200unsafe extern "C" {
27201 #[link_name = "sk_SSL_COMP_shift__extern"]
27202 pub fn sk_SSL_COMP_shift(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
27203}
27204unsafe extern "C" {
27205 #[link_name = "sk_SSL_COMP_push__extern"]
27206 pub fn sk_SSL_COMP_push(sk: *mut stack_st_SSL_COMP, p: *mut SSL_COMP) -> usize;
27207}
27208unsafe extern "C" {
27209 #[link_name = "sk_SSL_COMP_pop__extern"]
27210 pub fn sk_SSL_COMP_pop(sk: *mut stack_st_SSL_COMP) -> *mut SSL_COMP;
27211}
27212unsafe extern "C" {
27213 #[link_name = "sk_SSL_COMP_dup__extern"]
27214 pub fn sk_SSL_COMP_dup(sk: *const stack_st_SSL_COMP) -> *mut stack_st_SSL_COMP;
27215}
27216unsafe extern "C" {
27217 #[link_name = "sk_SSL_COMP_sort__extern"]
27218 pub fn sk_SSL_COMP_sort(sk: *mut stack_st_SSL_COMP);
27219}
27220unsafe extern "C" {
27221 #[link_name = "sk_SSL_COMP_sort_and_dedup__extern"]
27222 pub fn sk_SSL_COMP_sort_and_dedup(sk: *mut stack_st_SSL_COMP, free_func: sk_SSL_COMP_free_func);
27223}
27224unsafe extern "C" {
27225 #[link_name = "sk_SSL_COMP_is_sorted__extern"]
27226 pub fn sk_SSL_COMP_is_sorted(sk: *const stack_st_SSL_COMP) -> ::core::ffi::c_int;
27227}
27228unsafe extern "C" {
27229 #[link_name = "sk_SSL_COMP_set_cmp_func__extern"]
27230 pub fn sk_SSL_COMP_set_cmp_func(
27231 sk: *mut stack_st_SSL_COMP,
27232 comp: sk_SSL_COMP_cmp_func,
27233 ) -> sk_SSL_COMP_cmp_func;
27234}
27235unsafe extern "C" {
27236 #[link_name = "sk_SSL_COMP_deep_copy__extern"]
27237 pub fn sk_SSL_COMP_deep_copy(
27238 sk: *const stack_st_SSL_COMP,
27239 copy_func: sk_SSL_COMP_copy_func,
27240 free_func: sk_SSL_COMP_free_func,
27241 ) -> *mut stack_st_SSL_COMP;
27242}
27243unsafe extern "C" {
27244 pub fn SSL_cache_hit(ssl: *mut SSL) -> ::core::ffi::c_int;
27245}
27246unsafe extern "C" {
27247 pub fn SSL_get_default_timeout(ssl: *const SSL) -> ::core::ffi::c_long;
27248}
27249unsafe extern "C" {
27250 pub fn SSL_get_version(ssl: *const SSL) -> *const ::core::ffi::c_char;
27251}
27252unsafe extern "C" {
27253 pub fn SSL_get_all_version_names(out: *mut *const ::core::ffi::c_char, max_out: usize)
27254 -> usize;
27255}
27256unsafe extern "C" {
27257 pub fn SSL_get_cipher_list(
27258 ssl: *const SSL,
27259 n: ::core::ffi::c_int,
27260 ) -> *const ::core::ffi::c_char;
27261}
27262unsafe extern "C" {
27263 pub fn SSL_CTX_set_client_cert_cb(
27264 ctx: *mut SSL_CTX,
27265 cb: ::core::option::Option<
27266 unsafe extern "C" fn(
27267 ssl: *mut SSL,
27268 out_x509: *mut *mut X509,
27269 out_pkey: *mut *mut EVP_PKEY,
27270 ) -> ::core::ffi::c_int,
27271 >,
27272 );
27273}
27274unsafe extern "C" {
27275 pub fn SSL_want(ssl: *const SSL) -> ::core::ffi::c_int;
27276}
27277unsafe extern "C" {
27278 pub fn SSL_get_finished(ssl: *const SSL, buf: *mut ::core::ffi::c_void, count: usize) -> usize;
27279}
27280unsafe extern "C" {
27281 pub fn SSL_get_peer_finished(
27282 ssl: *const SSL,
27283 buf: *mut ::core::ffi::c_void,
27284 count: usize,
27285 ) -> usize;
27286}
27287unsafe extern "C" {
27288 pub fn SSL_alert_type_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
27289}
27290unsafe extern "C" {
27291 pub fn SSL_alert_desc_string(value: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
27292}
27293unsafe extern "C" {
27294 pub fn SSL_state_string(ssl: *const SSL) -> *const ::core::ffi::c_char;
27295}
27296#[repr(C)]
27297#[derive(Debug)]
27298pub struct ssl_conf_ctx_st {
27299 _unused: [u8; 0],
27300}
27301pub type SSL_CONF_CTX = ssl_conf_ctx_st;
27302unsafe extern "C" {
27303 pub fn SSL_state(ssl: *const SSL) -> ::core::ffi::c_int;
27304}
27305unsafe extern "C" {
27306 pub fn SSL_set_shutdown(ssl: *mut SSL, mode: ::core::ffi::c_int);
27307}
27308unsafe extern "C" {
27309 pub fn SSL_CTX_set_tmp_ecdh(ctx: *mut SSL_CTX, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
27310}
27311unsafe extern "C" {
27312 pub fn SSL_set_tmp_ecdh(ssl: *mut SSL, ec_key: *const EC_KEY) -> ::core::ffi::c_int;
27313}
27314unsafe extern "C" {
27315 pub fn SSL_add_dir_cert_subjects_to_stack(
27316 out: *mut stack_st_X509_NAME,
27317 dir: *const ::core::ffi::c_char,
27318 ) -> ::core::ffi::c_int;
27319}
27320unsafe extern "C" {
27321 pub fn SSL_CTX_enable_tls_channel_id(ctx: *mut SSL_CTX) -> ::core::ffi::c_int;
27322}
27323unsafe extern "C" {
27324 pub fn SSL_enable_tls_channel_id(ssl: *mut SSL) -> ::core::ffi::c_int;
27325}
27326unsafe extern "C" {
27327 pub fn BIO_f_ssl() -> *const BIO_METHOD;
27328}
27329unsafe extern "C" {
27330 pub fn BIO_set_ssl(
27331 bio: *mut BIO,
27332 ssl: *mut SSL,
27333 take_owership: ::core::ffi::c_int,
27334 ) -> ::core::ffi::c_long;
27335}
27336unsafe extern "C" {
27337 pub fn SSL_get_session(ssl: *const SSL) -> *mut SSL_SESSION;
27338}
27339unsafe extern "C" {
27340 pub fn SSL_get1_session(ssl: *mut SSL) -> *mut SSL_SESSION;
27341}
27342unsafe extern "C" {
27343 pub fn OPENSSL_init_ssl(
27344 opts: u64,
27345 settings: *const OPENSSL_INIT_SETTINGS,
27346 ) -> ::core::ffi::c_int;
27347}
27348unsafe extern "C" {
27349 pub fn SSL_set_tlsext_status_type(
27350 ssl: *mut SSL,
27351 type_: ::core::ffi::c_int,
27352 ) -> ::core::ffi::c_int;
27353}
27354unsafe extern "C" {
27355 pub fn SSL_get_tlsext_status_type(ssl: *const SSL) -> ::core::ffi::c_int;
27356}
27357unsafe extern "C" {
27358 pub fn SSL_set_tlsext_status_ocsp_resp(
27359 ssl: *mut SSL,
27360 resp: *mut u8,
27361 resp_len: usize,
27362 ) -> ::core::ffi::c_int;
27363}
27364unsafe extern "C" {
27365 pub fn SSL_get_tlsext_status_ocsp_resp(ssl: *const SSL, out: *mut *const u8) -> usize;
27366}
27367unsafe extern "C" {
27368 pub fn SSL_CTX_set_tlsext_status_cb(
27369 ctx: *mut SSL_CTX,
27370 callback: ::core::option::Option<
27371 unsafe extern "C" fn(
27372 ssl: *mut SSL,
27373 arg: *mut ::core::ffi::c_void,
27374 ) -> ::core::ffi::c_int,
27375 >,
27376 ) -> ::core::ffi::c_int;
27377}
27378unsafe extern "C" {
27379 pub fn SSL_CTX_set_tlsext_status_arg(
27380 ctx: *mut SSL_CTX,
27381 arg: *mut ::core::ffi::c_void,
27382 ) -> ::core::ffi::c_int;
27383}
27384unsafe extern "C" {
27385 pub fn SSL_get_curve_id(ssl: *const SSL) -> u16;
27386}
27387unsafe extern "C" {
27388 pub fn SSL_get_curve_name(curve_id: u16) -> *const ::core::ffi::c_char;
27389}
27390unsafe extern "C" {
27391 pub fn SSL_get_all_curve_names(out: *mut *const ::core::ffi::c_char, max_out: usize) -> usize;
27392}
27393unsafe extern "C" {
27394 pub fn SSL_CTX_set1_curves(
27395 ctx: *mut SSL_CTX,
27396 curves: *const ::core::ffi::c_int,
27397 num_curves: usize,
27398 ) -> ::core::ffi::c_int;
27399}
27400unsafe extern "C" {
27401 pub fn SSL_set1_curves(
27402 ssl: *mut SSL,
27403 curves: *const ::core::ffi::c_int,
27404 num_curves: usize,
27405 ) -> ::core::ffi::c_int;
27406}
27407unsafe extern "C" {
27408 pub fn SSL_CTX_set1_curves_list(
27409 ctx: *mut SSL_CTX,
27410 curves: *const ::core::ffi::c_char,
27411 ) -> ::core::ffi::c_int;
27412}
27413unsafe extern "C" {
27414 pub fn SSL_set1_curves_list(
27415 ssl: *mut SSL,
27416 curves: *const ::core::ffi::c_char,
27417 ) -> ::core::ffi::c_int;
27418}
27419unsafe extern "C" {
27420 pub fn SSL_CTX_check_private_key(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27421}
27422unsafe extern "C" {
27423 pub fn SSL_check_private_key(ssl: *const SSL) -> ::core::ffi::c_int;
27424}
27425unsafe extern "C" {
27426 pub fn SSL_CTX_get_security_level(ctx: *const SSL_CTX) -> ::core::ffi::c_int;
27427}
27428unsafe extern "C" {
27429 pub fn SSL_CTX_set0_buffer_pool(ctx: *mut SSL_CTX, pool: *mut CRYPTO_BUFFER_POOL);
27430}
27431pub const ssl_compliance_policy_t_ssl_compliance_policy_none: ssl_compliance_policy_t = 0;
27432pub const ssl_compliance_policy_t_ssl_compliance_policy_fips_202205: ssl_compliance_policy_t = 1;
27433pub const ssl_compliance_policy_t_ssl_compliance_policy_fips_202609: ssl_compliance_policy_t = 2;
27434pub const ssl_compliance_policy_t_ssl_compliance_policy_wpa3_192_202304: ssl_compliance_policy_t =
27435 3;
27436pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa_202407: ssl_compliance_policy_t = 4;
27437pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa1_202603: ssl_compliance_policy_t = 5;
27438pub const ssl_compliance_policy_t_ssl_compliance_policy_cnsa2_202603: ssl_compliance_policy_t = 6;
27439pub type ssl_compliance_policy_t = ::core::ffi::c_uint;
27440unsafe extern "C" {
27441 pub fn SSL_CTX_set_compliance_policy(
27442 ctx: *mut SSL_CTX,
27443 policy: ssl_compliance_policy_t,
27444 ) -> ::core::ffi::c_int;
27445}
27446unsafe extern "C" {
27447 pub fn SSL_CTX_get_compliance_policy(ctx: *const SSL_CTX) -> ssl_compliance_policy_t;
27448}
27449unsafe extern "C" {
27450 pub fn SSL_set_compliance_policy(
27451 ssl: *mut SSL,
27452 policy: ssl_compliance_policy_t,
27453 ) -> ::core::ffi::c_int;
27454}
27455unsafe extern "C" {
27456 pub fn SSL_get_compliance_policy(ssl: *const SSL) -> ssl_compliance_policy_t;
27457}
27458unsafe extern "C" {
27459 pub fn SSL_set_server_padding_request(ssl: *mut SSL, num_bytes: u16);
27460}
27461unsafe extern "C" {
27462 pub fn SSL_set_server_padding_enabled(ssl: *mut SSL, enabled: ::core::ffi::c_int);
27463}
27464unsafe extern "C" {
27465 pub fn SSL_server_sent_requested_padding(ssl: *const SSL) -> ::core::ffi::c_int;
27466}
27467unsafe extern "C" {
27468 pub fn CRYPTO_tls1_prf(
27469 digest: *const EVP_MD,
27470 out: *mut u8,
27471 out_len: usize,
27472 secret: *const u8,
27473 secret_len: usize,
27474 label: *const u8,
27475 label_len: usize,
27476 seed1: *const u8,
27477 seed1_len: usize,
27478 seed2: *const u8,
27479 seed2_len: usize,
27480 ) -> ::core::ffi::c_int;
27481}
27482unsafe extern "C" {
27483 pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27484}
27485unsafe extern "C" {
27486 pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27487}
27488unsafe extern "C" {
27489 pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27490}
27491unsafe extern "C" {
27492 pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27493}
27494unsafe extern "C" {
27495 pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27496}
27497#[repr(C)]
27498#[derive(Debug, Copy, Clone)]
27499pub struct trust_token_st {
27500 pub data: *mut u8,
27501 pub len: usize,
27502}
27503#[repr(C)]
27504#[derive(Debug)]
27505pub struct stack_st_TRUST_TOKEN {
27506 _unused: [u8; 0],
27507}
27508pub type sk_TRUST_TOKEN_free_func =
27509 ::core::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27510pub type sk_TRUST_TOKEN_copy_func =
27511 ::core::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27512pub type sk_TRUST_TOKEN_cmp_func = ::core::option::Option<
27513 unsafe extern "C" fn(
27514 arg1: *const *const TRUST_TOKEN,
27515 arg2: *const *const TRUST_TOKEN,
27516 ) -> ::core::ffi::c_int,
27517>;
27518pub type sk_TRUST_TOKEN_delete_if_func = ::core::option::Option<
27519 unsafe extern "C" fn(
27520 arg1: *mut TRUST_TOKEN,
27521 arg2: *mut ::core::ffi::c_void,
27522 ) -> ::core::ffi::c_int,
27523>;
27524unsafe extern "C" {
27525 #[link_name = "sk_TRUST_TOKEN_call_free_func__extern"]
27526 pub fn sk_TRUST_TOKEN_call_free_func(
27527 free_func: OPENSSL_sk_free_func,
27528 ptr: *mut ::core::ffi::c_void,
27529 );
27530}
27531unsafe extern "C" {
27532 #[link_name = "sk_TRUST_TOKEN_call_copy_func__extern"]
27533 pub fn sk_TRUST_TOKEN_call_copy_func(
27534 copy_func: OPENSSL_sk_copy_func,
27535 ptr: *const ::core::ffi::c_void,
27536 ) -> *mut ::core::ffi::c_void;
27537}
27538unsafe extern "C" {
27539 #[link_name = "sk_TRUST_TOKEN_call_cmp_func__extern"]
27540 pub fn sk_TRUST_TOKEN_call_cmp_func(
27541 cmp_func: OPENSSL_sk_cmp_func,
27542 a: *const ::core::ffi::c_void,
27543 b: *const ::core::ffi::c_void,
27544 ) -> ::core::ffi::c_int;
27545}
27546unsafe extern "C" {
27547 #[link_name = "sk_TRUST_TOKEN_call_delete_if_func__extern"]
27548 pub fn sk_TRUST_TOKEN_call_delete_if_func(
27549 func: OPENSSL_sk_delete_if_func,
27550 obj: *mut ::core::ffi::c_void,
27551 data: *mut ::core::ffi::c_void,
27552 ) -> ::core::ffi::c_int;
27553}
27554unsafe extern "C" {
27555 #[link_name = "sk_TRUST_TOKEN_new__extern"]
27556 pub fn sk_TRUST_TOKEN_new(comp: sk_TRUST_TOKEN_cmp_func) -> *mut stack_st_TRUST_TOKEN;
27557}
27558unsafe extern "C" {
27559 #[link_name = "sk_TRUST_TOKEN_new_null__extern"]
27560 pub fn sk_TRUST_TOKEN_new_null() -> *mut stack_st_TRUST_TOKEN;
27561}
27562unsafe extern "C" {
27563 #[link_name = "sk_TRUST_TOKEN_num__extern"]
27564 pub fn sk_TRUST_TOKEN_num(sk: *const stack_st_TRUST_TOKEN) -> usize;
27565}
27566unsafe extern "C" {
27567 #[link_name = "sk_TRUST_TOKEN_zero__extern"]
27568 pub fn sk_TRUST_TOKEN_zero(sk: *mut stack_st_TRUST_TOKEN);
27569}
27570unsafe extern "C" {
27571 #[link_name = "sk_TRUST_TOKEN_value__extern"]
27572 pub fn sk_TRUST_TOKEN_value(sk: *const stack_st_TRUST_TOKEN, i: usize) -> *mut TRUST_TOKEN;
27573}
27574unsafe extern "C" {
27575 #[link_name = "sk_TRUST_TOKEN_last__extern"]
27576 pub fn sk_TRUST_TOKEN_last(sk: *const stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27577}
27578unsafe extern "C" {
27579 #[link_name = "sk_TRUST_TOKEN_set__extern"]
27580 pub fn sk_TRUST_TOKEN_set(
27581 sk: *mut stack_st_TRUST_TOKEN,
27582 i: usize,
27583 p: *mut TRUST_TOKEN,
27584 ) -> *mut TRUST_TOKEN;
27585}
27586unsafe extern "C" {
27587 #[link_name = "sk_TRUST_TOKEN_free__extern"]
27588 pub fn sk_TRUST_TOKEN_free(sk: *mut stack_st_TRUST_TOKEN);
27589}
27590unsafe extern "C" {
27591 #[link_name = "sk_TRUST_TOKEN_pop_free__extern"]
27592 pub fn sk_TRUST_TOKEN_pop_free(
27593 sk: *mut stack_st_TRUST_TOKEN,
27594 free_func: sk_TRUST_TOKEN_free_func,
27595 );
27596}
27597unsafe extern "C" {
27598 #[link_name = "sk_TRUST_TOKEN_insert__extern"]
27599 pub fn sk_TRUST_TOKEN_insert(
27600 sk: *mut stack_st_TRUST_TOKEN,
27601 p: *mut TRUST_TOKEN,
27602 where_: usize,
27603 ) -> usize;
27604}
27605unsafe extern "C" {
27606 #[link_name = "sk_TRUST_TOKEN_delete__extern"]
27607 pub fn sk_TRUST_TOKEN_delete(sk: *mut stack_st_TRUST_TOKEN, where_: usize) -> *mut TRUST_TOKEN;
27608}
27609unsafe extern "C" {
27610 #[link_name = "sk_TRUST_TOKEN_delete_ptr__extern"]
27611 pub fn sk_TRUST_TOKEN_delete_ptr(
27612 sk: *mut stack_st_TRUST_TOKEN,
27613 p: *const TRUST_TOKEN,
27614 ) -> *mut TRUST_TOKEN;
27615}
27616unsafe extern "C" {
27617 #[link_name = "sk_TRUST_TOKEN_delete_if__extern"]
27618 pub fn sk_TRUST_TOKEN_delete_if(
27619 sk: *mut stack_st_TRUST_TOKEN,
27620 func: sk_TRUST_TOKEN_delete_if_func,
27621 data: *mut ::core::ffi::c_void,
27622 );
27623}
27624unsafe extern "C" {
27625 #[link_name = "sk_TRUST_TOKEN_find__extern"]
27626 pub fn sk_TRUST_TOKEN_find(
27627 sk: *const stack_st_TRUST_TOKEN,
27628 out_index: *mut usize,
27629 p: *const TRUST_TOKEN,
27630 ) -> ::core::ffi::c_int;
27631}
27632unsafe extern "C" {
27633 #[link_name = "sk_TRUST_TOKEN_shift__extern"]
27634 pub fn sk_TRUST_TOKEN_shift(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27635}
27636unsafe extern "C" {
27637 #[link_name = "sk_TRUST_TOKEN_push__extern"]
27638 pub fn sk_TRUST_TOKEN_push(sk: *mut stack_st_TRUST_TOKEN, p: *mut TRUST_TOKEN) -> usize;
27639}
27640unsafe extern "C" {
27641 #[link_name = "sk_TRUST_TOKEN_pop__extern"]
27642 pub fn sk_TRUST_TOKEN_pop(sk: *mut stack_st_TRUST_TOKEN) -> *mut TRUST_TOKEN;
27643}
27644unsafe extern "C" {
27645 #[link_name = "sk_TRUST_TOKEN_dup__extern"]
27646 pub fn sk_TRUST_TOKEN_dup(sk: *const stack_st_TRUST_TOKEN) -> *mut stack_st_TRUST_TOKEN;
27647}
27648unsafe extern "C" {
27649 #[link_name = "sk_TRUST_TOKEN_sort__extern"]
27650 pub fn sk_TRUST_TOKEN_sort(sk: *mut stack_st_TRUST_TOKEN);
27651}
27652unsafe extern "C" {
27653 #[link_name = "sk_TRUST_TOKEN_sort_and_dedup__extern"]
27654 pub fn sk_TRUST_TOKEN_sort_and_dedup(
27655 sk: *mut stack_st_TRUST_TOKEN,
27656 free_func: sk_TRUST_TOKEN_free_func,
27657 );
27658}
27659unsafe extern "C" {
27660 #[link_name = "sk_TRUST_TOKEN_is_sorted__extern"]
27661 pub fn sk_TRUST_TOKEN_is_sorted(sk: *const stack_st_TRUST_TOKEN) -> ::core::ffi::c_int;
27662}
27663unsafe extern "C" {
27664 #[link_name = "sk_TRUST_TOKEN_set_cmp_func__extern"]
27665 pub fn sk_TRUST_TOKEN_set_cmp_func(
27666 sk: *mut stack_st_TRUST_TOKEN,
27667 comp: sk_TRUST_TOKEN_cmp_func,
27668 ) -> sk_TRUST_TOKEN_cmp_func;
27669}
27670unsafe extern "C" {
27671 #[link_name = "sk_TRUST_TOKEN_deep_copy__extern"]
27672 pub fn sk_TRUST_TOKEN_deep_copy(
27673 sk: *const stack_st_TRUST_TOKEN,
27674 copy_func: sk_TRUST_TOKEN_copy_func,
27675 free_func: sk_TRUST_TOKEN_free_func,
27676 ) -> *mut stack_st_TRUST_TOKEN;
27677}
27678unsafe extern "C" {
27679 pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27680}
27681unsafe extern "C" {
27682 pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27683}
27684unsafe extern "C" {
27685 pub fn TRUST_TOKEN_generate_key(
27686 method: *const TRUST_TOKEN_METHOD,
27687 out_priv_key: *mut u8,
27688 out_priv_key_len: *mut usize,
27689 max_priv_key_len: usize,
27690 out_pub_key: *mut u8,
27691 out_pub_key_len: *mut usize,
27692 max_pub_key_len: usize,
27693 id: u32,
27694 ) -> ::core::ffi::c_int;
27695}
27696unsafe extern "C" {
27697 pub fn TRUST_TOKEN_derive_key_from_secret(
27698 method: *const TRUST_TOKEN_METHOD,
27699 out_priv_key: *mut u8,
27700 out_priv_key_len: *mut usize,
27701 max_priv_key_len: usize,
27702 out_pub_key: *mut u8,
27703 out_pub_key_len: *mut usize,
27704 max_pub_key_len: usize,
27705 id: u32,
27706 secret: *const u8,
27707 secret_len: usize,
27708 ) -> ::core::ffi::c_int;
27709}
27710unsafe extern "C" {
27711 pub fn TRUST_TOKEN_CLIENT_new(
27712 method: *const TRUST_TOKEN_METHOD,
27713 max_batchsize: usize,
27714 ) -> *mut TRUST_TOKEN_CLIENT;
27715}
27716unsafe extern "C" {
27717 pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27718}
27719unsafe extern "C" {
27720 pub fn TRUST_TOKEN_CLIENT_dup_for_testing(
27721 ctx: *const TRUST_TOKEN_CLIENT,
27722 ) -> *mut TRUST_TOKEN_CLIENT;
27723}
27724unsafe extern "C" {
27725 pub fn TRUST_TOKEN_CLIENT_add_key(
27726 ctx: *mut TRUST_TOKEN_CLIENT,
27727 out_key_index: *mut usize,
27728 key: *const u8,
27729 key_len: usize,
27730 ) -> ::core::ffi::c_int;
27731}
27732unsafe extern "C" {
27733 pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27734 ctx: *mut TRUST_TOKEN_CLIENT,
27735 key: *mut EVP_PKEY,
27736 ) -> ::core::ffi::c_int;
27737}
27738unsafe extern "C" {
27739 pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27740 ctx: *mut TRUST_TOKEN_CLIENT,
27741 out: *mut *mut u8,
27742 out_len: *mut usize,
27743 count: usize,
27744 ) -> ::core::ffi::c_int;
27745}
27746unsafe extern "C" {
27747 pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27748 ctx: *mut TRUST_TOKEN_CLIENT,
27749 out: *mut *mut u8,
27750 out_len: *mut usize,
27751 count: usize,
27752 msg: *const u8,
27753 msg_len: usize,
27754 ) -> ::core::ffi::c_int;
27755}
27756unsafe extern "C" {
27757 pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27758 ctx: *mut TRUST_TOKEN_CLIENT,
27759 out_key_index: *mut usize,
27760 response: *const u8,
27761 response_len: usize,
27762 ) -> *mut stack_st_TRUST_TOKEN;
27763}
27764unsafe extern "C" {
27765 pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27766 ctx: *mut TRUST_TOKEN_CLIENT,
27767 out: *mut *mut u8,
27768 out_len: *mut usize,
27769 token: *const TRUST_TOKEN,
27770 data: *const u8,
27771 data_len: usize,
27772 time: u64,
27773 ) -> ::core::ffi::c_int;
27774}
27775unsafe extern "C" {
27776 pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27777 ctx: *mut TRUST_TOKEN_CLIENT,
27778 out_rr: *mut *mut u8,
27779 out_rr_len: *mut usize,
27780 out_sig: *mut *mut u8,
27781 out_sig_len: *mut usize,
27782 response: *const u8,
27783 response_len: usize,
27784 ) -> ::core::ffi::c_int;
27785}
27786unsafe extern "C" {
27787 pub fn TRUST_TOKEN_ISSUER_new(
27788 method: *const TRUST_TOKEN_METHOD,
27789 max_batchsize: usize,
27790 ) -> *mut TRUST_TOKEN_ISSUER;
27791}
27792unsafe extern "C" {
27793 pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27794}
27795unsafe extern "C" {
27796 pub fn TRUST_TOKEN_ISSUER_add_key(
27797 ctx: *mut TRUST_TOKEN_ISSUER,
27798 key: *const u8,
27799 key_len: usize,
27800 ) -> ::core::ffi::c_int;
27801}
27802unsafe extern "C" {
27803 pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27804 ctx: *mut TRUST_TOKEN_ISSUER,
27805 key: *mut EVP_PKEY,
27806 ) -> ::core::ffi::c_int;
27807}
27808unsafe extern "C" {
27809 pub fn TRUST_TOKEN_ISSUER_issue(
27810 ctx: *const TRUST_TOKEN_ISSUER,
27811 out: *mut *mut u8,
27812 out_len: *mut usize,
27813 out_tokens_issued: *mut usize,
27814 request: *const u8,
27815 request_len: usize,
27816 public_metadata: u32,
27817 private_metadata: u8,
27818 max_issuance: usize,
27819 ) -> ::core::ffi::c_int;
27820}
27821unsafe extern "C" {
27822 pub fn TRUST_TOKEN_ISSUER_redeem(
27823 ctx: *const TRUST_TOKEN_ISSUER,
27824 out_public: *mut u32,
27825 out_private: *mut u8,
27826 out_token: *mut *mut TRUST_TOKEN,
27827 out_client_data: *mut *mut u8,
27828 out_client_data_len: *mut usize,
27829 request: *const u8,
27830 request_len: usize,
27831 ) -> ::core::ffi::c_int;
27832}
27833unsafe extern "C" {
27834 pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27835 ctx: *const TRUST_TOKEN_ISSUER,
27836 out_public: *mut u32,
27837 out_private: *mut u8,
27838 out_token: *mut *mut TRUST_TOKEN,
27839 out_client_data: *mut *mut u8,
27840 out_client_data_len: *mut usize,
27841 request: *const u8,
27842 request_len: usize,
27843 msg: *const u8,
27844 msg_len: usize,
27845 ) -> ::core::ffi::c_int;
27846}
27847unsafe extern "C" {
27848 pub fn TRUST_TOKEN_decode_private_metadata(
27849 method: *const TRUST_TOKEN_METHOD,
27850 out_value: *mut u8,
27851 key: *const u8,
27852 key_len: usize,
27853 nonce: *const u8,
27854 nonce_len: usize,
27855 encrypted_bit: u8,
27856 ) -> ::core::ffi::c_int;
27857}
27858pub type __builtin_va_list = [__va_list_tag; 1usize];
27859#[repr(C)]
27860#[derive(Debug, Copy, Clone)]
27861pub struct __va_list_tag {
27862 pub gp_offset: ::core::ffi::c_uint,
27863 pub fp_offset: ::core::ffi::c_uint,
27864 pub overflow_arg_area: *mut ::core::ffi::c_void,
27865 pub reg_save_area: *mut ::core::ffi::c_void,
27866}
27867#[repr(C)]
27868#[derive(Debug, Copy, Clone)]
27869pub struct CRYPTO_dynlock_value {
27870 pub _address: u8,
27871}
27872
27873