diff --git a/headers/private/shared/usb-utils.h b/headers/private/shared/usb-utils.h new file mode 100644 index 0000000000..fe6749a90b --- /dev/null +++ b/headers/private/shared/usb-utils.h @@ -0,0 +1,43 @@ +/* + * Copyright 2008, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Jérôme Duval + */ + +#include + +#include "usbdevs.h" +#include "usbdevs_data.h" + +void +usb_get_vendor_info(uint16 vendorID, const char **vendorName) +{ + int i; + for (i = 0; usb_knowndevs[i].vendor != 0; i++) { + if (usb_knowndevs[i].vendor == vendorID) { + *vendorName = usb_knowndevs[i].vendorname; + return; + } + } + *vendorName = NULL; +} + + +void +usb_get_vendor_device_info(uint16 vendorID, uint16 deviceID, const char **vendorName, const char **deviceName) +{ + int i; + for (i = 0; usb_knowndevs[i].vendor != 0; i++) { + if (usb_knowndevs[i].vendor == vendorID + && usb_knowndevs[i].product == deviceID + && usb_knowndevs[i].flags != USB_KNOWNDEV_NOPROD) { + *deviceName = usb_knowndevs[i].productname; + *vendorName = usb_knowndevs[i].vendorname; + return; + } + } + *vendorName = NULL; + *deviceName = NULL; +}