// Copyright 2019 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.

library fuchsia.test;

extend uint fuchsia.BIND_PROTOCOL {
  DEVICE = 80,
  COMPAT_CHILD = 81,
  POWER_CHILD = 82,
  PARENT = 83,
  DEVHOST = 124,
};

extend uint fuchsia.BIND_PLATFORM_DEV_PID {
  PBUS_TEST = 0x01,
  INTEGRATION_TEST = 0x02,
  USB_VBUS_TEST = 0x03,
  HIDCTL_TEST = 0x04,
  VCAMERA_TEST = 0x05,
  LIBDRIVER_TEST = 0x06,
  METADATA_TEST = 0x07,
  PCI_TEST = 0x08,
  DDKFIDL_TEST = 0x09,
  COMPATIBILITY_TEST = 0x0A,
  POWER_TEST = 0x0B,
  FALLBACK_RTC_TEST = 0x0C,
  SCHEDULE_WORK_TEST = 0x0D,
  DEVHOST_TEST = 0x0E,
  TEL_TEST = 0x0F,
  LIFECYCLE_TEST = 0x10,
  OT_TEST = 0x11,
  INSTANCE_LIFECYCLE_TEST = 0x12,
  INSPECT_TEST = 0x13,
  ENVIRONMENT_TEST = 0x14,
  FIRMWARE_TEST = 0x15,
};

