blob: 6d14b330ef3f45a59114554673f770cf4d88e912 [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.
protocol DeviceConnector {
/// Requests a `DeviceInfo` connection to the TEE driver to enumerate device info.
///
/// The sole caller of this should be the TEE Manager.
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.
ConnectToApplication(resource struct {
application_uuid tee.Uuid;
service_provider client_end:<manager.Provider, optional>;
application_request server_end:tee.Application;
});
};