blob: 9324fbc25ef7b21c0e1932d391cde8e1b8876b0f [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.driver.framework;
using fuchsia.url;
using zx;
/// Driver matched by the driver index.
table MatchedDriver {
/// URL of the driver component.
1: string:fuchsia.url.MAX_URL_LENGTH url;
/// Node index for a composite driver (optional).
2: uint32 node_index;
/// Total number of nodes for a composite driver (optional).
3: uint32 num_nodes;
/// URL of the driver library.
/// This should only be used by DriverManager before Drivers-As-Components.
4: string:fuchsia.url.MAX_URL_LENGTH driver_url;
};
/// Protocol through which the driver index can be queried.
[Discoverable]
protocol DriverIndex {
/// Match a set of device arguments to a driver package URL.
MatchDriver(NodeAddArgs args) -> (MatchedDriver driver) error zx.status;
/// This function will block until base drivers are loaded.
WaitForBaseDrivers() -> ();
};