| // 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. |
| |
| #pragma once |
| |
| #include <zircon/types.h> |
| |
| /* |
| * TEE Client Implementation |
| * |
| * This file provides the Implementation specific structures necessary to complete the TEE |
| * Client API. |
| */ |
| |
| /* Maximum number of parameters that can be specified in an TEEC_Operation. */ |
| #define TEEC_NUM_PARAMS_MAX 4 |
| |
| typedef struct teec_context_impl { |
| zx_handle_t tee_channel; |
| } teec_context_impl_t; |
| |
| typedef struct teec_session_impl { |
| uint32_t session_id; |
| teec_context_impl_t* context_imp; |
| } teec_session_impl_t; |
| |
| typedef struct teec_shared_memory_impl { |
| zx_handle_t vmo; |
| zx_vaddr_t mapped_addr; |
| size_t mapped_size; |
| } teec_shared_memory_impl_t; |
| |
| typedef struct teec_operation_impl { |
| /* This is just a placeholder so that the struct is not empty. */ |
| char reserved; |
| } teec_operation_impl_t; |