diff options
Diffstat (limited to 'libusbhost')
| -rw-r--r-- | libusbhost/usbhost.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libusbhost/usbhost.c b/libusbhost/usbhost.c index 1084236ed..a6b086710 100644 --- a/libusbhost/usbhost.c +++ b/libusbhost/usbhost.c @@ -41,6 +41,7 @@ #include "usbhost/usbhost.h" #define USB_FS_DIR "/dev/bus/usb" +#define USB_FS_ID_SCANNER "/dev/bus/usb/%d/%d" #if 0 #define D printf @@ -243,6 +244,13 @@ const char* usb_device_get_name(struct usb_device *device) return device->dev_name; } +int usb_device_get_unique_id(struct usb_device *device) +{ + int bus = 0, dev = 0; + sscanf(device->dev_name, USB_FS_ID_SCANNER, &bus, &dev); + return bus * 1000 + dev; +} + uint16_t usb_device_get_vendor_id(struct usb_device *device) { struct usb_device_descriptor* desc = (struct usb_device_descriptor*)device->desc; |
