blob: 5f9c5b62c5582d10c6902f180b86211b0458633e [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 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 ********/
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);
Mingyang Sun9511e5e2019-05-29 18:18:44 +0800115#endif /* TFM_PARTITION_PLATFORM */
Miklos Balintbf25a402018-06-14 17:43:54 +0200116
Kevin Pengc73130f2019-10-22 17:27:18 +0800117#ifdef TFM_PARTITION_INITIAL_ATTESTATION
Miklos Balintbf25a402018-06-14 17:43:54 +0200118/******** TFM_SP_INITIAL_ATTESTATION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000119psa_status_t tfm_initial_attest_get_token_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
120psa_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 +0100121psa_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 +0800122#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
Miklos Balintbf25a402018-06-14 17:43:54 +0200123
124#ifdef TFM_PARTITION_TEST_CORE
125/******** TFM_SP_CORE_TEST ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000126psa_status_t tfm_spm_core_test_sfn_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
127psa_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);
128psa_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 +0200129#endif /* TFM_PARTITION_TEST_CORE */
130
131#ifdef TFM_PARTITION_TEST_CORE
132/******** TFM_SP_CORE_TEST_2 ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000133psa_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);
134psa_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);
135psa_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);
136psa_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 +0100137psa_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);
138psa_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 +0200139#endif /* TFM_PARTITION_TEST_CORE */
140
Miklos Balintbf25a402018-06-14 17:43:54 +0200141#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
142/******** TFM_SP_SECURE_TEST_PARTITION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000143psa_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 +0200144#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
145
Jamie Foxadf02552019-05-16 17:44:52 +0100146#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800147/******** TFM_SP_IPC_SERVICE_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100148#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800149
Jamie Foxadf02552019-05-16 17:44:52 +0100150#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800151/******** TFM_SP_IPC_CLIENT_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100152#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800153
David Hu33f2fd22019-08-16 15:32:39 +0800154#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100155/******** TFM_IRQ_TEST_1 ********/
156psa_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);
157psa_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 +0800158#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100159
Jamie Fox0e823a02019-10-28 17:28:19 +0000160#ifdef TFM_PARTITION_TEST_SST
161/******** TFM_SP_SST_TEST ********/
162psa_status_t tfm_tfm_sst_test_prepare_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
163#endif /* TFM_PARTITION_TEST_SST */
164
Jamie Fox830ff762019-12-16 15:20:22 +0000165#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
166/******** TFM_SP_SECURE_CLIENT_2 ********/
167psa_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);
168#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
169
David Hu240f58e2019-10-10 10:55:07 +0800170#ifdef TFM_MULTI_CORE_TEST
171/******** TFM_SP_MULTI_CORE_TEST ********/
172#endif /* TFM_MULTI_CORE_TEST */
173
Miklos Balintbf25a402018-06-14 17:43:54 +0200174#ifdef __cplusplus
175}
176#endif
177
178#endif /* __TFM_VENEERS_H__ */