blob: 5c5ff0134b4a5b03aae9821aa668a9b3b162ebc5 [file] [log] [blame] [edit]
// 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.
deprecated_syntax;
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);
};