| // Copyright 2019 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 zx; |
| |
| struct Uuid { |
| uint32 time_low; |
| uint16 time_mid; |
| uint16 time_hi_and_version; |
| array<uint8>:8 clock_seq_and_node; |
| }; |
| |
| [Transport = "Banjo", BanjoLayout = "ddk-protocol"] |
| protocol Tee { |
| /// Takes the server end of a FIDL connection that'll serve fuchsia.tee.Application for the |
| /// given application_uuid. |
| /// |
| /// If the connection fails, |s| will be a failing status and tee_app_request and |
| /// service_provider (if valid) will both be closed. |
| /// |
| /// The service_provider can be ZX_HANDLE_INVALID if the connection won't be used for any |
| /// requests that'll result in filesystem requests from the TEE. If not ZX_HANDLE_INVALID, the |
| /// service provider will be used in serving filesystem requests from the TEE. |
| ConnectToApplication(Uuid application_uuid, |
| zx.handle:CHANNEL tee_app_request, |
| zx.handle:CHANNEL service_provider) -> (zx.status s); |
| }; |