blob: d4b1702faf28ad8ce46cbdbc82a586dbfbaf4d3c [file] [log] [blame]
// Copyright 2018 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.tee;
using fuchsia.tee as tee;
using fuchsia.tee.manager as manager;
/// Protocol used by the TEE Manager to proxy requests for TEE access to the driver.
closed protocol DeviceConnector {
/// Requests a `DeviceInfo` connection to the TEE driver to enumerate device info.
///
/// The sole caller of this should be the TEE Manager.
strict ConnectToDeviceInfo(resource struct {
device_info_request server_end:tee.DeviceInfo;
});
/// Requests an `Application` connection from the TEE driver while the caller provides a client
/// channel end to a `Provider` server that supports the driver on any RPCs.
///
/// The sole caller of this should be the TEE Manager.
strict ConnectToApplication(resource struct {
application_uuid tee.Uuid;
service_provider client_end:<manager.Provider, optional>;
application_request server_end:tee.Application;
});
};
service Service {
device_connector client_end:DeviceConnector;
};