#include #include #include #include #define VENDOR_ID 0x1130 #define PRODUCT_ID 0x660c struct usb_device * find_usb_device_by_id(struct usb_bus *busses, int vendor, int product) { struct usb_bus *bus; struct usb_device *dev; for (bus = busses; bus; bus = bus -> next) { for (dev = bus -> devices; dev; dev = dev -> next) { if (dev->descriptor.idVendor == vendor && dev->descriptor.idProduct == product) return dev; } } return NULL; } int main() { struct usb_bus *busses, *bus; struct usb_device *dev; usb_dev_handle *handle; int timeout; usb_set_debug(0); usb_init(); usb_find_busses(); usb_find_devices(); busses = usb_get_busses(); if (!(dev = find_usb_device_by_id(busses, VENDOR_ID, PRODUCT_ID))) { fprintf(stderr, "TEMPer device not found\n"); exit(EXIT_FAILURE); } printf("TEMPer found, device %d\n", dev->devnum); exit(EXIT_SUCCESS); }