blob: f4f182c690bcb718b80ef9326a1576c95b48d794 [file] [log] [blame]
Miklos Balintbf25a402018-06-14 17:43:54 +02001/*
Mate Toth-Pal2a6f8c22018-12-13 16:37:17 +01002 * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
Miklos Balintbf25a402018-06-14 17:43:54 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8/*********** WARNING: This is an auto-generated file. Do not edit! ***********/
9
10#ifndef __TFM_VENEERS_H__
11#define __TFM_VENEERS_H__
12
13#include "tfm_api.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
Kevin Pengc73130f2019-10-22 17:27:18 +080019#ifdef TFM_PARTITION_SECURE_STORAGE
Miklos Balintbf25a402018-06-14 17:43:54 +020020/******** TFM_SP_STORAGE ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000021psa_status_t tfm_tfm_sst_set_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
22psa_status_t tfm_tfm_sst_get_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
23psa_status_t tfm_tfm_sst_get_info_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
24psa_status_t tfm_tfm_sst_remove_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
25psa_status_t tfm_tfm_sst_get_support_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Kevin Pengc73130f2019-10-22 17:27:18 +080026#endif /* TFM_PARTITION_SECURE_STORAGE */
Miklos Balintbf25a402018-06-14 17:43:54 +020027
Kevin Pengc73130f2019-10-22 17:27:18 +080028#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
TudorCretufb182bc2019-07-05 17:34:12 +010029/******** TFM_SP_ITS ********/
30psa_status_t tfm_tfm_its_set_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
31psa_status_t tfm_tfm_its_get_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
32psa_status_t tfm_tfm_its_get_info_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
33psa_status_t tfm_tfm_its_remove_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Kevin Pengc73130f2019-10-22 17:27:18 +080034#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
TudorCretufb182bc2019-07-05 17:34:12 +010035
Jamie Foxc78c62c2019-05-23 13:42:17 +010036#ifdef TFM_PARTITION_AUDIT_LOG
Miklos Balintbf25a402018-06-14 17:43:54 +020037/******** TFM_SP_AUDIT_LOG ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000038psa_status_t tfm_audit_core_retrieve_record_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
39psa_status_t tfm_audit_core_add_record_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
40psa_status_t tfm_audit_core_get_info_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
41psa_status_t tfm_audit_core_get_record_info_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
42psa_status_t tfm_audit_core_delete_record_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Jamie Foxc78c62c2019-05-23 13:42:17 +010043#endif /* TFM_PARTITION_AUDIT_LOG */
Miklos Balintbf25a402018-06-14 17:43:54 +020044
Kevin Pengc73130f2019-10-22 17:27:18 +080045#ifdef TFM_PARTITION_CRYPTO
Miklos Balintbf25a402018-06-14 17:43:54 +020046/******** TFM_SP_CRYPTO ********/
Jamie Fox0e54ebc2019-04-09 14:21:04 +010047psa_status_t tfm_tfm_crypto_allocate_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Jamie Foxdadb4e82019-09-03 17:59:41 +010048psa_status_t tfm_tfm_crypto_open_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
49psa_status_t tfm_tfm_crypto_close_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis09586c52019-03-27 16:35:31 +000050psa_status_t tfm_tfm_crypto_import_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
51psa_status_t tfm_tfm_crypto_destroy_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
52psa_status_t tfm_tfm_crypto_get_key_information_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
53psa_status_t tfm_tfm_crypto_export_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis25e2b2d2019-04-25 14:49:50 +010054psa_status_t tfm_tfm_crypto_export_public_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
55psa_status_t tfm_tfm_crypto_copy_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis09586c52019-03-27 16:35:31 +000056psa_status_t tfm_tfm_crypto_set_key_policy_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
57psa_status_t tfm_tfm_crypto_get_key_policy_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
58psa_status_t tfm_tfm_crypto_get_key_lifetime_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis25e2b2d2019-04-25 14:49:50 +010059psa_status_t tfm_tfm_crypto_cipher_generate_iv_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis09586c52019-03-27 16:35:31 +000060psa_status_t tfm_tfm_crypto_cipher_set_iv_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
61psa_status_t tfm_tfm_crypto_cipher_encrypt_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
62psa_status_t tfm_tfm_crypto_cipher_decrypt_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelisab85ccd2019-03-25 15:14:29 +000063psa_status_t tfm_tfm_crypto_cipher_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis09586c52019-03-27 16:35:31 +000064psa_status_t tfm_tfm_crypto_cipher_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
65psa_status_t tfm_tfm_crypto_cipher_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
66psa_status_t tfm_tfm_crypto_hash_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
67psa_status_t tfm_tfm_crypto_hash_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
68psa_status_t tfm_tfm_crypto_hash_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
69psa_status_t tfm_tfm_crypto_hash_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
70psa_status_t tfm_tfm_crypto_hash_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis25e2b2d2019-04-25 14:49:50 +010071psa_status_t tfm_tfm_crypto_hash_clone_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis09586c52019-03-27 16:35:31 +000072psa_status_t tfm_tfm_crypto_mac_sign_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
73psa_status_t tfm_tfm_crypto_mac_verify_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
74psa_status_t tfm_tfm_crypto_mac_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
75psa_status_t tfm_tfm_crypto_mac_sign_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
76psa_status_t tfm_tfm_crypto_mac_verify_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
77psa_status_t tfm_tfm_crypto_mac_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelisab85ccd2019-03-25 15:14:29 +000078psa_status_t tfm_tfm_crypto_aead_encrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis25e2b2d2019-04-25 14:49:50 +010079psa_status_t tfm_tfm_crypto_aead_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
80psa_status_t tfm_tfm_crypto_asymmetric_sign_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
81psa_status_t tfm_tfm_crypto_asymmetric_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
82psa_status_t tfm_tfm_crypto_asymmetric_encrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
83psa_status_t tfm_tfm_crypto_asymmetric_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
84psa_status_t tfm_tfm_crypto_get_generator_capacity_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
85psa_status_t tfm_tfm_crypto_generator_read_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
86psa_status_t tfm_tfm_crypto_generator_import_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
87psa_status_t tfm_tfm_crypto_generator_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
88psa_status_t tfm_tfm_crypto_key_derivation_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
89psa_status_t tfm_tfm_crypto_key_agreement_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
90psa_status_t tfm_tfm_crypto_generate_random_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
91psa_status_t tfm_tfm_crypto_generate_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Kevin Pengc73130f2019-10-22 17:27:18 +080092#endif /* TFM_PARTITION_CRYPTO */
Miklos Balintbf25a402018-06-14 17:43:54 +020093
Mingyang Sun9511e5e2019-05-29 18:18:44 +080094#ifdef TFM_PARTITION_PLATFORM
Miklos Balintbf25a402018-06-14 17:43:54 +020095/******** TFM_SP_PLATFORM ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000096psa_status_t tfm_platform_sp_system_reset_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Miklos Balintc7b1b6c2019-04-24 12:38:36 +020097psa_status_t tfm_platform_sp_ioctl_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Mingyang Sun9511e5e2019-05-29 18:18:44 +080098#endif /* TFM_PARTITION_PLATFORM */
Miklos Balintbf25a402018-06-14 17:43:54 +020099
Kevin Pengc73130f2019-10-22 17:27:18 +0800100#ifdef TFM_PARTITION_INITIAL_ATTESTATION
Miklos Balintbf25a402018-06-14 17:43:54 +0200101/******** TFM_SP_INITIAL_ATTESTATION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000102psa_status_t tfm_initial_attest_get_token_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
103psa_status_t tfm_initial_attest_get_token_size_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
David Vinczeff6da532019-11-21 00:19:50 +0100104psa_status_t tfm_initial_attest_get_public_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Kevin Pengc73130f2019-10-22 17:27:18 +0800105#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
Miklos Balintbf25a402018-06-14 17:43:54 +0200106
107#ifdef TFM_PARTITION_TEST_CORE
108/******** TFM_SP_CORE_TEST ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000109psa_status_t tfm_spm_core_test_sfn_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
110psa_status_t tfm_spm_core_test_sfn_init_success_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
111psa_status_t tfm_spm_core_test_sfn_direct_recursion_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Miklos Balintbf25a402018-06-14 17:43:54 +0200112#endif /* TFM_PARTITION_TEST_CORE */
113
114#ifdef TFM_PARTITION_TEST_CORE
115/******** TFM_SP_CORE_TEST_2 ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000116psa_status_t tfm_spm_core_test_2_slave_service_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
117psa_status_t tfm_spm_core_test_2_sfn_invert_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
118psa_status_t tfm_spm_core_test_2_check_caller_client_id_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
119psa_status_t tfm_spm_core_test_2_get_every_second_byte_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100120psa_status_t tfm_spm_core_test_2_prepare_test_scenario_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
121psa_status_t tfm_spm_core_test_2_execute_test_scenario_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Miklos Balintbf25a402018-06-14 17:43:54 +0200122#endif /* TFM_PARTITION_TEST_CORE */
123
Miklos Balintbf25a402018-06-14 17:43:54 +0200124#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
125/******** TFM_SP_SECURE_TEST_PARTITION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000126psa_status_t tfm_tfm_secure_client_service_sfn_run_tests_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Miklos Balintbf25a402018-06-14 17:43:54 +0200127#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
128
Jamie Foxadf02552019-05-16 17:44:52 +0100129#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800130/******** TFM_SP_IPC_SERVICE_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100131#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800132
Jamie Foxadf02552019-05-16 17:44:52 +0100133#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800134/******** TFM_SP_IPC_CLIENT_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100135#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800136
David Hu33f2fd22019-08-16 15:32:39 +0800137#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100138/******** TFM_IRQ_TEST_1 ********/
139psa_status_t tfm_spm_irq_test_1_prepare_test_scenario_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
140psa_status_t tfm_spm_irq_test_1_execute_test_scenario_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
David Hu33f2fd22019-08-16 15:32:39 +0800141#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100142
Jamie Fox0e823a02019-10-28 17:28:19 +0000143#ifdef TFM_PARTITION_TEST_SST
144/******** TFM_SP_SST_TEST ********/
145psa_status_t tfm_tfm_sst_test_prepare_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
146#endif /* TFM_PARTITION_TEST_SST */
147
Jamie Fox830ff762019-12-16 15:20:22 +0000148#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
149/******** TFM_SP_SECURE_CLIENT_2 ********/
150psa_status_t tfm_tfm_secure_client_2_call_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
151#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
152
David Hu240f58e2019-10-10 10:55:07 +0800153#ifdef TFM_MULTI_CORE_TEST
154/******** TFM_SP_MULTI_CORE_TEST ********/
155#endif /* TFM_MULTI_CORE_TEST */
156
Miklos Balintbf25a402018-06-14 17:43:54 +0200157#ifdef __cplusplus
158}
159#endif
160
161#endif /* __TFM_VENEERS_H__ */