46 lines
1.5 KiB
Rust
46 lines
1.5 KiB
Rust
use libc::*;
|
|
|
|
cfg_if! {
|
|
if #[cfg(ossl110)] {
|
|
pub enum OPENSSL_STACK {}
|
|
} else {
|
|
#[repr(C)]
|
|
pub struct _STACK {
|
|
pub num: c_int,
|
|
pub data: *mut *mut c_char,
|
|
pub sorted: c_int,
|
|
pub num_alloc: c_int,
|
|
pub comp: Option<unsafe extern "C" fn(*const c_void, *const c_void) -> c_int>,
|
|
}
|
|
}
|
|
}
|
|
|
|
cfg_if! {
|
|
if #[cfg(ossl110)] {
|
|
extern "C" {
|
|
pub fn OPENSSL_sk_num(stack: *const OPENSSL_STACK) -> c_int;
|
|
pub fn OPENSSL_sk_value(stack: *const OPENSSL_STACK, idx: c_int) -> *mut c_void;
|
|
|
|
pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
|
|
pub fn OPENSSL_sk_free(st: *mut OPENSSL_STACK);
|
|
pub fn OPENSSL_sk_pop_free(
|
|
st: *mut OPENSSL_STACK,
|
|
free: Option<unsafe extern "C" fn(*mut c_void)>,
|
|
);
|
|
pub fn OPENSSL_sk_push(st: *mut OPENSSL_STACK, data: *const c_void) -> c_int;
|
|
pub fn OPENSSL_sk_pop(st: *mut OPENSSL_STACK) -> *mut c_void;
|
|
}
|
|
} else {
|
|
extern "C" {
|
|
pub fn sk_num(st: *const _STACK) -> c_int;
|
|
pub fn sk_value(st: *const _STACK, n: c_int) -> *mut c_void;
|
|
|
|
pub fn sk_new_null() -> *mut _STACK;
|
|
pub fn sk_free(st: *mut _STACK);
|
|
pub fn sk_pop_free(st: *mut _STACK, free: Option<unsafe extern "C" fn(*mut c_void)>);
|
|
pub fn sk_push(st: *mut _STACK, data: *mut c_void) -> c_int;
|
|
pub fn sk_pop(st: *mut _STACK) -> *mut c_void;
|
|
}
|
|
}
|
|
}
|