fSupportedDevices
if (!fSupportedDevices)
for (uint32 i = 0; !supported && fSupportedDevices[i].vendor; i++) {
if ((fSupportedDevices[i].desc.vendor != 0
&& device->VendorID() != fSupportedDevices[i].desc.vendor)
|| (fSupportedDevices[i].desc.product != 0
&& device->ProductID() != fSupportedDevices[i].desc.product))
if ((fSupportedDevices[i].desc.dev_class == 0
|| device->Class() == fSupportedDevices[i].desc.dev_class)
&& (fSupportedDevices[i].desc.dev_subclass == 0
|| device->Subclass() == fSupportedDevices[i].desc.dev_subclass)
&& (fSupportedDevices[i].desc.dev_protocol == 0
|| device->Protocol() == fSupportedDevices[i].desc.dev_protocol)) {
if ((fSupportedDevices[i].desc.dev_class == 0
|| alt->Class() == fSupportedDevices[i].desc.dev_class)
&& (fSupportedDevices[i].desc.dev_subclass == 0
|| alt->Subclass() == fSupportedDevices[i].desc.dev_subclass)
&& (fSupportedDevices[i].desc.dev_protocol == 0
|| alt->Protocol() == fSupportedDevices[i].desc.dev_protocol)) {
fSupportedDevices = devs;
{ return fSupportedDevices; };
const usb_webcam_support_descriptor* fSupportedDevices; // last is {{0,0,0,0,0}, NULL, NULL, NULL }