blob: 36fe209195f9621dd76611154f82586a4ba1f389 [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.driver.registrar;
using fuchsia.pkg;
using zx;
/// Protocol for registering additional driver packages with the driver manager.
[Discoverable]
protocol DriverRegistrar {
/// Informs the driver manager that a new driver package is available.
/// The driver manager will cache a copy of the driver.
/// * error a zx_status value indicating failure. One of the following:
/// * `ZX_ERR_ACCESS_DENIED` if the device does not have permissions
/// to fetch the package.
/// * `ZX_ERR_NOT_FOUND` if the package does not exist.
/// * `ZX_ERR_IO` if there is some other unspecified error during I/O.
/// * `ZX_ERR_ADDRESS_UNREACHABLE` if the package resolver does not
/// know about the repo.
/// * `ZX_ERR_NO_SPACE` if the device is out of space.
/// * `ZX_ERR_UNAVAILABLE` if the package resolver could not be reached.
/// * `ZX_ERR_INTERNAL` if an unspecified error was encountered.
Register(fuchsia.pkg.PackageUrl package_url) -> () error zx.status;
};