The libusb-src
crate provides declarations and linkage for the libusb
C library.
libusb version: 1.0.26
tested on ubuntu and windows
```rust use libusb_src as ffi;
fn main(){ unsafe { let mut context = std::mem::MaybeUninit::<mut ffi::libusb_context>::uninit(); match ffi::libusb_init(context.as_mut_ptr()){ 0 => (), err => panic!("Failed to init libusb {}", err), } let mut list = std::mem::MaybeUninit::<const *mut ffi::libusbdevice>::uninit(); let listsize = ffi::libusbgetdevicelist(context.assumeinit(), list.asmutptr()); if listsize < 0 { panic!("Failed to get device list {} {:p}", -listsize, unsafe { list.assumeinit() }); }else { println!("Usb device count: {}", listsize); } ffi::libusbfreedevicelist(list.assumeinit(), 1); ffi::libusbexit(context.assumeinit()); } }
```
support windows linux and android, not test on ios and mac.