libusbhost: Add usb_device_get_name_from_unique_id()
This allows converting from unique IDs to USB device names Change-Id: I8e3b300790c01383aed8e3d4f547b54bcb7c2cd4 Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
parent
123538954b
commit
7d700f8bdc
|
@ -96,13 +96,20 @@ int usb_device_get_fd(struct usb_device *device);
|
|||
*/
|
||||
const char* usb_device_get_name(struct usb_device *device);
|
||||
|
||||
/* Returns a unique ID for the device. Currently this is generated from the
|
||||
* dev_name path.
|
||||
/* Returns a unique ID for the device.
|
||||
*Currently this is generated from the dev_name path.
|
||||
*/
|
||||
int usb_device_get_unique_id(struct usb_device *device);
|
||||
|
||||
/* Returns a unique ID for the device name.
|
||||
* Currently this is generated from the device path.
|
||||
*/
|
||||
int usb_device_get_unique_id_from_name(const char* name);
|
||||
|
||||
/* Returns the device name for the unique ID.
|
||||
* Call free() to deallocate the returned string */
|
||||
char* usb_device_get_name_from_unique_id(int id);
|
||||
|
||||
/* Returns the USB vendor ID from the device descriptor for the USB device */
|
||||
uint16_t usb_device_get_vendor_id(struct usb_device *device);
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
|
||||
#define USB_FS_DIR "/dev/bus/usb"
|
||||
#define USB_FS_ID_SCANNER "/dev/bus/usb/%d/%d"
|
||||
#define USB_FS_ID_FORMAT "/dev/bus/usb/%03d/%03d"
|
||||
|
||||
|
||||
struct usb_host_context {
|
||||
|
@ -314,6 +315,15 @@ int usb_device_get_unique_id_from_name(const char* name)
|
|||
return bus * 1000 + dev;
|
||||
}
|
||||
|
||||
char* usb_device_get_name_from_unique_id(int id)
|
||||
{
|
||||
int bus = id / 1000;
|
||||
int dev = id % 1000;
|
||||
char* result = (char *)calloc(1, strlen(USB_FS_ID_FORMAT));
|
||||
snprintf(result, strlen(USB_FS_ID_FORMAT) - 1, USB_FS_ID_FORMAT, bus, dev);
|
||||
return result;
|
||||
}
|
||||
|
||||
uint16_t usb_device_get_vendor_id(struct usb_device *device)
|
||||
{
|
||||
struct usb_device_descriptor* desc = (struct usb_device_descriptor*)device->desc;
|
||||
|
|
Loading…
Reference in New Issue