chromium/third_party/blink/renderer/modules/webusb/usb_endpoint.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/#endpoints

enum USBDirection {
    "in",
    "out"
};

enum USBEndpointType {
    "bulk",
    "interrupt",
    "isochronous"
};

[
    Exposed(DedicatedWorker WebUSBOnDedicatedWorkers,
            ServiceWorker WebUSBOnServiceWorkers,
            Window WebUSB),
    SecureContext
] interface USBEndpoint {
    [RaisesException] constructor(USBAlternateInterface alternate, octet endpointNumber, USBDirection direction);
    readonly attribute octet endpointNumber;
    readonly attribute USBDirection direction;
    readonly attribute USBEndpointType type;
    readonly attribute unsigned long packetSize;
};