blob: dae7b6bd0fb067ade1bde63705bce048ba091e23 [file] [log] [blame]
// 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.
/// An instance of a network device exposed on devfs.
// NOTE(brunodalbo) This protocol exists to sidestep the fact that the DDK
// doesn't allow devices to own their channels. The Device framework implicitly
// composes fuchsia.device/Controller on channels obtained through devfs, and
// the "composed" implementation is always provided by the framework itself. At
// the time of this writing it is unclear what is going to replace that or when,
// only that there is a desire to improve the pattern. The expectation is that
// pattern will be improved with Unified Services ( and
// Drivers as Components (
protocol DeviceInstance {
/// Connects to the [`Device`] implementation.
/// + request `device` device handle.
GetDevice(resource struct {
device server_end:Device;