90 lines
2.3 KiB
Rust
90 lines
2.3 KiB
Rust
use libc::{c_char, c_int, c_long, c_uchar, c_uint, c_ulong, c_void, size_t, time_t};
|
|
|
|
use super::*;
|
|
|
|
#[repr(C)]
|
|
pub struct SSL {
|
|
version: c_int,
|
|
method: *const ::SSL_METHOD,
|
|
rbio: *mut ::BIO,
|
|
wbio: *mut ::BIO,
|
|
bbio: *mut ::BIO,
|
|
pub server: c_int,
|
|
s3: *mut c_void,
|
|
d1: *mut c_void,
|
|
param: *mut c_void,
|
|
cipher_list: *mut stack_st_SSL_CIPHER,
|
|
cert: *mut c_void,
|
|
sid_ctx_length: c_uint,
|
|
sid_ctx: [c_uchar; ::SSL_MAX_SID_CTX_LENGTH as usize],
|
|
session: *mut ::SSL_SESSION,
|
|
verify_mode: c_int,
|
|
error: c_int,
|
|
error_code: c_int,
|
|
ctx: *mut ::SSL_CTX,
|
|
verify_result: c_long,
|
|
references: c_int,
|
|
client_version: c_int,
|
|
max_send_fragment: c_uint,
|
|
tlsext_hostname: *mut c_char,
|
|
tlsext_status_type: c_int,
|
|
initial_ctx: *mut ::SSL_CTX,
|
|
enc_read_ctx: *mut ::EVP_CIPHER_CTX,
|
|
read_hash: *mut EVP_MD_CTX,
|
|
internal: *mut c_void,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub struct SSL_CTX {
|
|
method: *const ::SSL_METHOD,
|
|
cipher_list: *mut stack_st_SSL_CIPHER,
|
|
cert_store: *mut c_void,
|
|
session_timeout: c_long,
|
|
pub references: c_int,
|
|
extra_certs: *mut stack_st_X509,
|
|
verify_mode: c_int,
|
|
sid_ctx_length: c_uint,
|
|
sid_ctx: [c_uchar; ::SSL_MAX_SID_CTX_LENGTH as usize],
|
|
param: *mut ::X509_VERIFY_PARAM,
|
|
default_passwd_callback: *mut c_void,
|
|
default_passwd_callback_userdata: *mut c_void,
|
|
internal: *mut c_void,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub struct SSL_SESSION {
|
|
ssl_version: c_int,
|
|
pub master_key_length: c_int,
|
|
pub master_key: [c_uchar; 48],
|
|
session_id_length: c_uint,
|
|
session_id: [c_uchar; ::SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
|
|
sid_ctx_length: c_uint,
|
|
sid_ctx: [c_uchar; ::SSL_MAX_SID_CTX_LENGTH as usize],
|
|
peer: *mut ::X509,
|
|
verify_result: c_long,
|
|
timeout: c_long,
|
|
time: time_t,
|
|
pub references: c_int,
|
|
cipher: *const ::SSL_CIPHER,
|
|
cipher_id: c_long,
|
|
ciphers: *mut stack_st_SSL_CIPHER,
|
|
tlsext_hostname: *mut c_char,
|
|
tlsext_tick: *mut c_uchar,
|
|
tlsext_ticklen: size_t,
|
|
tlsext_tick_lifetime_int: c_long,
|
|
internal: *mut c_void,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub struct X509_VERIFY_PARAM {
|
|
pub name: *mut c_char,
|
|
pub check_time: time_t,
|
|
pub inh_flags: c_ulong,
|
|
pub flags: c_ulong,
|
|
pub purpose: c_int,
|
|
pub trust: c_int,
|
|
pub depth: c_int,
|
|
pub policies: *mut stack_st_ASN1_OBJECT,
|
|
id: *mut c_void,
|
|
}
|