int ausb_init(void) { #ifdef USE_USB1 return ausb_libusb1_init(); #else return ausb_libusb0_init(); #endif }
libusb_device *ausb_libusb1_get_usbdev(const rsct_usbdev_t *d) { if (ausb_libusb1_init()) return NULL; else { libusb_device **list; size_t cnt=libusb_get_device_list(ausb_libusb1_context, &list); size_t i; libusb_device *dev=NULL; for (i=0; i<cnt; i++) { dev=list[i]; if (libusb_get_bus_number(dev)==d->busId && libusb_get_device_address(dev)==d->busPos) break; } if (dev) libusb_ref_device(dev); /* free devices and unref them */ libusb_free_device_list(list, 1); return dev; } }