# Copyright 2017 The Chromium 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.netstack") {
  # TODO(fxb/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    "invalid-case-for-constant",
    "invalid-case-for-decl-member",
    "string-bounds-not-specified",
    "vector-bounds-not-specified",
  ]

  sdk_category = "partner"

  sources = [ "netstack.fidl" ]

  public_deps = [
    "//sdk/fidl/fuchsia.hardware.ethernet",
    "//sdk/fidl/fuchsia.net.dhcp",
    "//zircon/system/fidl/fuchsia-net",
    "//zircon/system/fidl/fuchsia-posix-socket",
  ]
}
