summaryrefslogtreecommitdiffstats
path: root/vendor/openssl-sys/src/handwritten/stack.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/openssl-sys/src/handwritten/stack.rs')
-rw-r--r--vendor/openssl-sys/src/handwritten/stack.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/openssl-sys/src/handwritten/stack.rs b/vendor/openssl-sys/src/handwritten/stack.rs
new file mode 100644
index 000000000..7f2feef6d
--- /dev/null
+++ b/vendor/openssl-sys/src/handwritten/stack.rs
@@ -0,0 +1,45 @@
+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;
+ }
+ }
+}