variant_ssl_sys/
crypto.rs1use super::*;
2use libc::*;
3
4cfg_if! {
5 if #[cfg(ossl110)] {
6 type CRYPTO_EX_new_ret = ();
7 type CRYPTO_EX_dup_from = *const CRYPTO_EX_DATA;
8 } else {
9 type CRYPTO_EX_new_ret = c_int;
10 type CRYPTO_EX_dup_from = *mut CRYPTO_EX_DATA;
11 }
12}
13
14cfg_if! {
15 if #[cfg(ossl300)] {
16 type CRYPTO_EX_dup_from_d = *mut *mut c_void;
17 } else {
18 type CRYPTO_EX_dup_from_d = *mut c_void;
19 }
20}
21
22pub type CRYPTO_EX_new = Option<
23 unsafe extern "C" fn(
24 parent: *mut c_void,
25 ptr: *mut c_void,
26 ad: *mut CRYPTO_EX_DATA,
27 idx: c_int,
28 argl: c_long,
29 argp: *mut c_void,
30 ) -> CRYPTO_EX_new_ret,
31>;
32pub type CRYPTO_EX_dup = Option<
33 unsafe extern "C" fn(
34 to: *mut CRYPTO_EX_DATA,
35 from: CRYPTO_EX_dup_from,
36 from_d: CRYPTO_EX_dup_from_d,
37 idx: c_int,
38 argl: c_long,
39 argp: *mut c_void,
40 ) -> c_int,
41>;
42pub type CRYPTO_EX_free = Option<
43 unsafe extern "C" fn(
44 parent: *mut c_void,
45 ptr: *mut c_void,
46 ad: *mut CRYPTO_EX_DATA,
47 idx: c_int,
48 argl: c_long,
49 argp: *mut c_void,
50 ),
51>;
52
53#[cfg(any(ossl110, libressl390))]
54#[inline]
55#[track_caller]
56pub unsafe fn OPENSSL_malloc(num: usize) -> *mut c_void {
57 CRYPTO_malloc(
58 num,
59 concat!(file!(), "\0").as_ptr() as *const _,
60 line!() as _,
61 )
62}
63
64#[cfg(not(any(ossl110, libressl390)))]
65#[inline]
66#[track_caller]
67pub unsafe fn OPENSSL_malloc(num: c_int) -> *mut c_void {
68 CRYPTO_malloc(
69 num,
70 concat!(file!(), "\0").as_ptr() as *const _,
71 line!() as _,
72 )
73}
74
75#[cfg(any(ossl110, libressl390))]
76#[inline]
77#[track_caller]
78pub unsafe fn OPENSSL_free(addr: *mut c_void) {
79 CRYPTO_free(
80 addr,
81 concat!(file!(), "\0").as_ptr() as *const _,
82 line!() as _,
83 )
84}
85
86#[cfg(not(any(ossl110, libressl390)))]
87#[inline]
88pub unsafe fn OPENSSL_free(addr: *mut c_void) {
89 CRYPTO_free(addr)
90}
91
92#[cfg(not(ossl110))]
93pub const CRYPTO_LOCK_X509: c_int = 3;
94#[cfg(not(ossl110))]
95pub const CRYPTO_LOCK_EVP_PKEY: c_int = 10;
96#[cfg(not(ossl110))]
97pub const CRYPTO_LOCK_SSL_CTX: c_int = 12;
98#[cfg(not(ossl110))]
99pub const CRYPTO_LOCK_SSL_SESSION: c_int = 14;
100
101cfg_if! {
102 if #[cfg(any(ossl110, libressl381))] {
103 pub const CRYPTO_EX_INDEX_SSL: c_int = 0;
104 pub const CRYPTO_EX_INDEX_SSL_CTX: c_int = 1;
105 } else if #[cfg(libressl)] {
106 pub const CRYPTO_EX_INDEX_SSL: c_int = 1;
107 pub const CRYPTO_EX_INDEX_SSL_CTX: c_int = 2;
108 }
109}
110
111cfg_if! {
112 if #[cfg(any(ossl110, libressl271))] {
113 pub const OPENSSL_VERSION: c_int = 0;
114 pub const OPENSSL_CFLAGS: c_int = 1;
115 pub const OPENSSL_BUILT_ON: c_int = 2;
116 pub const OPENSSL_PLATFORM: c_int = 3;
117 pub const OPENSSL_DIR: c_int = 4;
118 } else {
119 pub const SSLEAY_VERSION: c_int = 0;
120 pub const SSLEAY_CFLAGS: c_int = 2;
121 pub const SSLEAY_BUILT_ON: c_int = 3;
122 pub const SSLEAY_PLATFORM: c_int = 4;
123 pub const SSLEAY_DIR: c_int = 5;
124 }
125}
126
127#[cfg(not(osslconf = "OPENSSL_NO_DEPRECATED_3_0"))]
128pub const CRYPTO_LOCK: c_int = 1;