// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

using fuchsia.usb;
using fuchsia.google.platform.usb;

fuchsia.BIND_PROTOCOL == fuchsia.usb.BIND_PROTOCOL.FUNCTION;
fuchsia.BIND_USB_VID == fuchsia.google.platform.usb.BIND_USB_VID.GOOGLE;
accept fuchsia.BIND_USB_PID {
  fuchsia.google.platform.usb.BIND_USB_PID.FUNCTION_TEST,
  fuchsia.google.platform.usb.BIND_USB_PID.CDC_AND_FUNCTION_TEST,
}
