blob: 655d6799e6075b4317a6ec05c1116d61edfe7f10 [file] [log] [blame]
Miklos Balintbf25a402018-06-14 17:43:54 +02001/*
Antonio de Angelis04debbd2019-10-14 12:12:52 +01002 * Copyright (c) 2018-2020, 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 Pengc6d74502020-03-04 16:55:37 +080019#ifdef TFM_PARTITION_PROTECTED_STORAGE
20/******** TFM_SP_PS ********/
21psa_status_t tfm_tfm_ps_set_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
22psa_status_t tfm_tfm_ps_get_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
23psa_status_t tfm_tfm_ps_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_ps_remove_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
25psa_status_t tfm_tfm_ps_get_support_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
26#endif /* TFM_PARTITION_PROTECTED_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 ********/
Antonio de Angelis04debbd2019-10-14 12:12:52 +010047psa_status_t tfm_tfm_crypto_get_key_attributes_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 Angelis04debbd2019-10-14 12:12:52 +010050psa_status_t tfm_tfm_crypto_reset_key_attributes_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 +000051psa_status_t tfm_tfm_crypto_import_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
52psa_status_t tfm_tfm_crypto_destroy_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 +000053psa_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 Angelis04debbd2019-10-14 12:12:52 +010056psa_status_t tfm_tfm_crypto_hash_compute_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
57psa_status_t tfm_tfm_crypto_hash_compare_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 +000058psa_status_t tfm_tfm_crypto_hash_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
59psa_status_t tfm_tfm_crypto_hash_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
60psa_status_t tfm_tfm_crypto_hash_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
61psa_status_t tfm_tfm_crypto_hash_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
62psa_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 +010063psa_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 Angelis04debbd2019-10-14 12:12:52 +010064psa_status_t tfm_tfm_crypto_mac_compute_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
65psa_status_t tfm_tfm_crypto_mac_verify_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 +000066psa_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);
67psa_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);
68psa_status_t tfm_tfm_crypto_mac_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
69psa_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);
70psa_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);
71psa_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 Angelis04debbd2019-10-14 12:12:52 +010072psa_status_t tfm_tfm_crypto_cipher_encrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
73psa_status_t tfm_tfm_crypto_cipher_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
74psa_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);
75psa_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);
76psa_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);
77psa_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);
78psa_status_t tfm_tfm_crypto_cipher_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
79psa_status_t tfm_tfm_crypto_cipher_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
80psa_status_t tfm_tfm_crypto_cipher_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 +000081psa_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 +010082psa_status_t tfm_tfm_crypto_aead_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis04debbd2019-10-14 12:12:52 +010083psa_status_t tfm_tfm_crypto_aead_encrypt_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
84psa_status_t tfm_tfm_crypto_aead_decrypt_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
85psa_status_t tfm_tfm_crypto_aead_generate_nonce_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
86psa_status_t tfm_tfm_crypto_aead_set_nonce_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
87psa_status_t tfm_tfm_crypto_aead_set_lengths_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
88psa_status_t tfm_tfm_crypto_aead_update_ad_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
89psa_status_t tfm_tfm_crypto_aead_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
90psa_status_t tfm_tfm_crypto_aead_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
91psa_status_t tfm_tfm_crypto_aead_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
92psa_status_t tfm_tfm_crypto_aead_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
93psa_status_t tfm_tfm_crypto_sign_hash_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
94psa_status_t tfm_tfm_crypto_verify_hash_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 +010095psa_status_t tfm_tfm_crypto_asymmetric_encrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
96psa_status_t tfm_tfm_crypto_asymmetric_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Antonio de Angelis04debbd2019-10-14 12:12:52 +010097psa_status_t tfm_tfm_crypto_key_derivation_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
98psa_status_t tfm_tfm_crypto_key_derivation_get_capacity_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
99psa_status_t tfm_tfm_crypto_key_derivation_set_capacity_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
100psa_status_t tfm_tfm_crypto_key_derivation_input_bytes_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
101psa_status_t tfm_tfm_crypto_key_derivation_input_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
102psa_status_t tfm_tfm_crypto_key_derivation_key_agreement_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
103psa_status_t tfm_tfm_crypto_key_derivation_output_bytes_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
104psa_status_t tfm_tfm_crypto_key_derivation_output_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
105psa_status_t tfm_tfm_crypto_key_derivation_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
106psa_status_t tfm_tfm_crypto_raw_key_agreement_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 +0100107psa_status_t tfm_tfm_crypto_generate_random_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
108psa_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 +0800109#endif /* TFM_PARTITION_CRYPTO */
Miklos Balintbf25a402018-06-14 17:43:54 +0200110
Mingyang Sun9511e5e2019-05-29 18:18:44 +0800111#ifdef TFM_PARTITION_PLATFORM
Miklos Balintbf25a402018-06-14 17:43:54 +0200112/******** TFM_SP_PLATFORM ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000113psa_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 +0200114psa_status_t tfm_platform_sp_ioctl_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Galanakis, Minosef5118b2020-01-21 15:27:14 +0000115psa_status_t tfm_platform_sp_nv_counter_read_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
116psa_status_t tfm_platform_sp_nv_counter_increment_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Mingyang Sun9511e5e2019-05-29 18:18:44 +0800117#endif /* TFM_PARTITION_PLATFORM */
Miklos Balintbf25a402018-06-14 17:43:54 +0200118
Kevin Pengc73130f2019-10-22 17:27:18 +0800119#ifdef TFM_PARTITION_INITIAL_ATTESTATION
Miklos Balintbf25a402018-06-14 17:43:54 +0200120/******** TFM_SP_INITIAL_ATTESTATION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000121psa_status_t tfm_initial_attest_get_token_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
122psa_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 +0100123psa_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 +0800124#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
Miklos Balintbf25a402018-06-14 17:43:54 +0200125
126#ifdef TFM_PARTITION_TEST_CORE
127/******** TFM_SP_CORE_TEST ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000128psa_status_t tfm_spm_core_test_sfn_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
129psa_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);
130psa_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 +0200131#endif /* TFM_PARTITION_TEST_CORE */
132
133#ifdef TFM_PARTITION_TEST_CORE
134/******** TFM_SP_CORE_TEST_2 ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000135psa_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);
136psa_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);
137psa_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);
138psa_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 +0100139psa_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);
140psa_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 +0200141#endif /* TFM_PARTITION_TEST_CORE */
142
Miklos Balintbf25a402018-06-14 17:43:54 +0200143#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
144/******** TFM_SP_SECURE_TEST_PARTITION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000145psa_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 +0200146#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
147
Jamie Foxadf02552019-05-16 17:44:52 +0100148#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800149/******** TFM_SP_IPC_SERVICE_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100150#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800151
Jamie Foxadf02552019-05-16 17:44:52 +0100152#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800153/******** TFM_SP_IPC_CLIENT_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100154#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800155
David Hu33f2fd22019-08-16 15:32:39 +0800156#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100157/******** TFM_IRQ_TEST_1 ********/
158psa_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);
159psa_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 +0800160#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100161
Kevin Pengc6d74502020-03-04 16:55:37 +0800162#ifdef TFM_PARTITION_TEST_PS
163/******** TFM_SP_PS_TEST ********/
164psa_status_t tfm_tfm_ps_test_prepare_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
165#endif /* TFM_PARTITION_TEST_PS */
Jamie Fox0e823a02019-10-28 17:28:19 +0000166
Jamie Fox830ff762019-12-16 15:20:22 +0000167#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
168/******** TFM_SP_SECURE_CLIENT_2 ********/
169psa_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);
170#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
171
Miklos Balintbf25a402018-06-14 17:43:54 +0200172#ifdef __cplusplus
173}
174#endif
175
176#endif /* __TFM_VENEERS_H__ */