| // 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; |
| }); |
| }; |