| // 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 service from the TEE driver while the caller provides a client end to a |
| /// Provider server that supports the driver on any RPCs. |
| /// |
| /// The sole caller of this should be the TEE Manager. |
| [Transitional] |
| ConnectTee(manager.Provider? service_provider, request<tee.Device> tee_request); |
| |
| /// Requests a `DeviceInfo` connection to the TEE driver to enumerate device info. |
| /// |
| /// The sole caller of this should be the TEE Manager. |
| [Transitional] |
| ConnectToDeviceInfo(request<tee.DeviceInfo> device_info_request); |
| |
| /// 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. |
| [Transitional] |
| ConnectToApplication(tee.Uuid application_uuid, manager.Provider? service_provider, |
| request<tee.Application> application_request); |
| }; |