blob: 2ef4a977ff28ee7826a84940acfe7b470df0bd49 [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(resource struct {
device server_end:Device;
});
};