Skip to main content

variant_ssl_sys/handwritten/
types.rs

1use libc::size_t;
2use std::ffi::{c_char, c_int, c_uint, c_void};
3
4#[allow(unused_imports)]
5use super::super::*;
6
7pub enum ASN1_OBJECT {}
8pub enum ASN1_VALUE {}
9
10pub type ASN1_BOOLEAN = c_int;
11pub enum ASN1_INTEGER {}
12pub enum ASN1_ENUMERATED {}
13pub enum ASN1_GENERALIZEDTIME {}
14pub enum ASN1_STRING {}
15pub enum ASN1_BIT_STRING {}
16pub enum ASN1_TIME {}
17pub enum ASN1_OCTET_STRING {}
18pub enum ASN1_NULL {}
19pub enum ASN1_PRINTABLESTRING {}
20pub enum ASN1_T61STRING {}
21pub enum ASN1_IA5STRING {}
22pub enum ASN1_GENERALSTRING {}
23pub enum ASN1_BMPSTRING {}
24pub enum ASN1_UNIVERSALSTRING {}
25pub enum ASN1_UTCTIME {}
26pub enum ASN1_VISIBLESTRING {}
27pub enum ASN1_UTF8STRING {}
28
29pub enum bio_st {} // FIXME remove
30pub enum BIO {}
31cfg_if! {
32    if #[cfg(ossl320)] {
33        pub enum BIO_ADDR {}
34        pub enum BIO_POLL_DESCRIPTOR {}
35        #[repr(C)]
36        pub struct BIO_MSG {
37            pub data: *mut c_void,
38            pub data_len: usize,
39            pub peer: *mut BIO_ADDR,
40            pub local: *mut BIO_ADDR,
41            pub flags: u64,
42        }
43    }
44}
45pub enum BIGNUM {}
46pub enum BN_BLINDING {}
47pub enum BN_MONT_CTX {}
48
49pub enum BN_CTX {}
50pub enum BN_GENCB {}
51
52pub enum EVP_CIPHER {}
53pub enum EVP_CIPHER_CTX {}
54pub enum EVP_MD {}
55pub enum EVP_MD_CTX {}
56
57pub enum PKCS8_PRIV_KEY_INFO {}
58
59pub enum EVP_PKEY_ASN1_METHOD {}
60
61pub enum EVP_PKEY_CTX {}
62
63pub enum CMAC_CTX {}
64
65pub enum HMAC_CTX {}
66
67pub enum DH {}
68pub enum DH_METHOD {}
69
70pub enum DSA {}
71pub enum DSA_METHOD {}
72
73pub enum RSA {}
74pub enum RSA_METHOD {}
75
76pub enum EC_KEY {}
77
78pub enum X509 {}
79cfg_if! {
80    if #[cfg(any(ossl110, libressl382))] {
81        pub enum X509_ALGOR {}
82    } else {
83        #[repr(C)]
84        pub struct X509_ALGOR {
85            pub algorithm: *mut ASN1_OBJECT,
86            parameter: *mut c_void,
87        }
88    }
89}
90
91stack!(stack_st_X509_ALGOR);
92
93pub enum X509_LOOKUP_METHOD {}
94
95pub enum X509_NAME {}
96
97pub enum X509_PUBKEY {}
98
99pub enum X509_STORE {}
100
101pub enum X509_STORE_CTX {}
102pub enum X509_VERIFY_PARAM {}
103pub enum X509_OBJECT {}
104pub enum X509_LOOKUP {}
105
106#[repr(C)]
107pub struct X509V3_CTX {
108    flags: c_int,
109    issuer_cert: *mut c_void,
110    subject_cert: *mut c_void,
111    subject_req: *mut c_void,
112    crl: *mut c_void,
113    #[cfg(not(libressl400))]
114    db_meth: *mut c_void,
115    db: *mut c_void,
116    #[cfg(ossl300)]
117    issuer_pkey: *mut c_void,
118    // I like the last comment line, it is copied from OpenSSL sources:
119    // Maybe more here
120}
121pub enum CONF {}
122#[cfg(ossl110)]
123pub enum OPENSSL_INIT_SETTINGS {}
124
125pub enum ENGINE {}
126pub enum SSL {}
127pub enum SSL_CTX {}
128
129cfg_if! {
130    if #[cfg(ossl320)] {
131        #[repr(C)]
132        pub struct SSL_CONN_CLOSE_INFO {
133            pub error_code: u64,
134            pub frame_type: u64,
135            pub reason: *const c_char,
136            pub reason_len: usize,
137            pub flags: u32,
138        }
139        #[repr(C)]
140        pub struct SSL_SHUTDOWN_EX_ARGS {
141            pub quic_error_code: u64,
142            pub quic_reason: *const c_char,
143        }
144        #[repr(C)]
145        pub struct SSL_STREAM_RESET_ARGS {
146            pub quic_error_code: u64,
147        }
148    }
149}
150
151pub enum COMP_CTX {}
152
153#[cfg(not(osslconf = "OPENSSL_NO_COMP"))]
154pub enum COMP_METHOD {}
155
156pub enum CRYPTO_EX_DATA {}
157
158pub enum OCSP_RESPONSE {}
159
160#[cfg(ossl300)]
161pub enum OSSL_PROVIDER {}
162
163#[cfg(ossl300)]
164pub enum OSSL_LIB_CTX {}
165
166#[cfg(ossl300)]
167#[repr(C)]
168pub struct OSSL_PARAM {
169    pub key: *const c_char,
170    pub data_type: c_uint,
171    pub data: *mut c_void,
172    pub data_size: size_t,
173    /// Number of bytes the most recent get-params call wrote into this
174    /// parameter's data buffer. Only meaningful once
175    /// [`crate::OSSL_PARAM_modified`] has confirmed the parameter was
176    /// touched -- before that, this field still holds the sentinel set
177    /// by the `OSSL_PARAM_construct_*` typed constructors.
178    pub return_size: size_t,
179}
180
181#[cfg(ossl300)]
182pub enum OSSL_PARAM_BLD {}
183
184#[cfg(ossl300)]
185pub enum EVP_KDF {}
186#[cfg(ossl300)]
187pub enum EVP_KDF_CTX {}
188
189#[cfg(ossl300)]
190pub enum OSSL_ENCODER_CTX {}
191#[cfg(ossl300)]
192pub enum OSSL_DECODER_CTX {}
193
194#[cfg(ossl300)]
195pub type OSSL_PASSPHRASE_CALLBACK = Option<
196    unsafe extern "C" fn(
197        pass: *mut c_char,
198        pass_size: size_t,
199        pass_len: *mut size_t,
200        params: *const OSSL_PARAM,
201        arg: *mut c_void,
202    ) -> c_int,
203>;
204
205#[cfg(ossl300)]
206pub enum EVP_MAC {}
207#[cfg(ossl300)]
208pub enum EVP_MAC_CTX {}