libusbk_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5mod bindings;
6
7pub use bindings::*;
8
9#[cfg(test)]
10mod tests {
11    use super::*;
12
13    #[test]
14    fn get_version() {
15        let mut version = KLIB_VERSION::default();
16
17        unsafe { LibK_GetVersion(&mut version) }
18        assert_ne!(version.Major, 0)
19    }
20
21    #[test]
22    fn get_usb() {
23        let mut handle: KLIB_HANDLE = std::ptr::null_mut();
24        let flags = 0;
25
26        let ret = unsafe { LstK_Init(&mut handle, flags) };
27        assert_ne!(ret, 0);
28
29        let mut device_info: KLST_DEVINFO_HANDLE = std::ptr::null_mut();
30        let _ = unsafe { LstK_FindByVidPid(handle, 0x0955, 0x7321, &mut device_info) };
31        let ret = unsafe { LstK_Free(handle) };
32        assert_ne!(ret, 0);
33
34        if device_info != std::ptr::null_mut() {
35            dbg!(unsafe { *device_info });
36        }
37    }
38
39    #[test]
40    fn get_usb_count() {
41        let mut handle: KLIB_HANDLE = std::ptr::null_mut();
42        let flags = 0;
43
44        let ret = unsafe { LstK_Init(&mut handle, flags) };
45        assert_ne!(ret, 0);
46
47        let mut count = 0;
48        let ret = unsafe { LstK_Count(handle, &mut count) };
49
50        assert_ne!(ret, 0);
51
52        let ret = unsafe { LstK_Free(handle) };
53        assert_ne!(ret, 0);
54
55        dbg!(count);
56    }
57}