# Copyright 2018 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.

import("//build/fidl/fidl.gni")

fidl("fuchsia.virtualization") {
  # TODO(fxbug.dev/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    "string-bounds-not-specified",
    "vector-bounds-not-specified",
  ]

  sources = [
    "balloon_controller.fidl",
    "guest.fidl",
    "guest_config.fidl",
    "guest_manager.fidl",
    "linux_manager.fidl",
    "manager.fidl",
    "realm.fidl",
    "vsock.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.hardware.ethernet",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.sys",
    "//sdk/fidl/fuchsia.wayland",
  ]
}
