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

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

fidl("fuchsia.io2") {
  sdk_category = "partner"
  api = "fuchsia.io2.api"
  sources = [
    "connection-info.fidl",
    "connection-options.fidl",
    "connector.fidl",
    "debuglog.fidl",
    "deprecated.fidl",
    "directory-entry.fidl",
    "directory-iterator.fidl",
    "directory-watcher.fidl",
    "directory.fidl",
    "file.fidl",
    "io2.fidl",
    "locking.fidl",
    "memory.fidl",
    "node-attributes.fidl",
    "node.fidl",
    "pipe.fidl",
    "posix-socket.fidl",
    "rights-abilities.fidl",
  ]
  public_deps = [
    "$zx/vdso/zx",
    "//sdk/fidl/fuchsia.mem",
  ]
}
