static int usbVerifyStrings ( UsbDevice *device, const char *const *strings, unsigned char number ) { if (!strings) return 1; if (!number) return 0; char *string = usbGetString(device, number, 1000); int matched = 0; if (string) { while (*strings) { if (strcmp(*strings, string) == 0) { matched = 1; break; } strings += 1; } free(string); } return matched; }
void usbLogString ( UsbDevice *device, unsigned char number, const char *description ) { if (number) { char *string = usbGetString(device, number, 1000); if (string) { logMessage(LOG_INFO, "USB: %s: %s", description, string); free(string); } } }
int usbVerifyString ( UsbDevice *device, UsbStringVerifier verify, unsigned char index, const char *value ) { int ok = 0; if (!(value && *value)) return 1; if (index) { char *reference = usbGetString(device, index, 1000); if (reference) { if (verify(reference, value)) ok = 1; free(reference); } } return ok; }
char * usbGetSerialNumber (UsbDevice *device, int timeout) { return usbGetString(device, device->descriptor.iSerialNumber, timeout); }
char * usbGetProduct (UsbDevice *device, int timeout) { return usbGetString(device, device->descriptor.iProduct, timeout); }
char * usbGetManufacturer (UsbDevice *device, int timeout) { return usbGetString(device, device->descriptor.iManufacturer, timeout); }