chromium/third_party/blink/renderer/modules/webusb/usb_alternate_interface.idl

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://wicg.github.io/webusb/#interfaces

[
    Exposed(DedicatedWorker WebUSBOnDedicatedWorkers,
            ServiceWorker WebUSBOnServiceWorkers,
            Window WebUSB),
    SecureContext
] interface USBAlternateInterface {
    [RaisesException] constructor(USBInterface deviceInterface, octet alternateSetting);
    readonly attribute octet alternateSetting;
    readonly attribute octet interfaceClass;
    readonly attribute octet interfaceSubclass;
    readonly attribute octet interfaceProtocol;
    readonly attribute DOMString? interfaceName;
    readonly attribute FrozenArray<USBEndpoint> endpoints;
};