openconnect_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4extern crate openssl_sys;
5
6#[cfg(target_os = "macos")]
7#[cfg(target_arch = "aarch64")]
8include!("bindings_aarch64_macos.rs");
9
10#[cfg(target_os = "macos")]
11#[cfg(target_arch = "x86_64")]
12include!("bindings_x86_64_macos.rs");
13
14#[cfg(target_os = "linux")]
15#[cfg(target_arch = "x86_64")]
16#[cfg(target_env = "gnu")]
17include!("bindings_x86_64_linux_gnu.rs");
18
19#[cfg(target_os = "linux")]
20#[cfg(target_arch = "x86_64")]
21#[cfg(target_env = "musl")]
22include!("bindings_x86_64_linux_musl.rs");
23
24#[cfg(target_os = "windows")]
25#[cfg(target_arch = "x86_64")]
26#[cfg(target_env = "gnu")]
27include!("bindings_x86_64_windows_gnu.rs");
28
29#[cfg(test)]
30mod tests {
31    use super::*;
32
33    #[test]
34    fn test_openconnect_version() {
35        let version = unsafe {
36            let raw_version = openconnect_get_version();
37            std::ffi::CStr::from_ptr(raw_version).to_str().ok()
38        };
39        println!("OpenConnect version: {:?}", version.unwrap());
40    }
41}