blob: 12997029bf51e7645a125a4c06a456eb9b32d2bc [file] [log] [blame]
// 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);
};