blob: 080e7f895a646effa1df0b504b92f496bac22b51 [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.
library fuchsia.hardware.network;
/// 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 (https://fxbug.dev/8035) and Drivers as Components
// (https://fxbug.dev/33183).
protocol DeviceInstance {
/// Connects to the [`Device`] implementation.
///
/// + request `device` device handle.
GetDevice(request<Device> device);
};