class io.UsbInterface

class UsbInterface {
    // fields

    io.UsbDevice* const m_device;
    io.UsbInterfaceDescriptor const* const m_interfaceDescriptor;
    bool readonly m_isClaimed;

    // construction

    construct();
    destruct();

    // methods

    void release();

    io.UsbEndpoint* errorcode openEndpoint(
        uint8_t endpointId,
        bool isSuspended = false
    );

    // aliases

    alias dispose = release;
};