blob: a2cc4955ceca5a62c46abab6eabba9c02c09fa03 [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
19/******** TFM_SP_STORAGE ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000020psa_status_t tfm_tfm_sst_set_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
21psa_status_t tfm_tfm_sst_get_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_info_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
23psa_status_t tfm_tfm_sst_remove_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
24psa_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);
Miklos Balintbf25a402018-06-14 17:43:54 +020025
TudorCretufb182bc2019-07-05 17:34:12 +010026/******** TFM_SP_ITS ********/
27psa_status_t tfm_tfm_its_set_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
28psa_status_t tfm_tfm_its_get_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
29psa_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);
30psa_status_t tfm_tfm_its_remove_req_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
31
Jamie Foxc78c62c2019-05-23 13:42:17 +010032#ifdef TFM_PARTITION_AUDIT_LOG
Miklos Balintbf25a402018-06-14 17:43:54 +020033/******** TFM_SP_AUDIT_LOG ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000034psa_status_t tfm_audit_core_retrieve_record_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
35psa_status_t tfm_audit_core_add_record_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
36psa_status_t tfm_audit_core_get_info_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
37psa_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);
38psa_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 +010039#endif /* TFM_PARTITION_AUDIT_LOG */
Miklos Balintbf25a402018-06-14 17:43:54 +020040
41/******** TFM_SP_CRYPTO ********/
Jamie Fox0e54ebc2019-04-09 14:21:04 +010042psa_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 +010043psa_status_t tfm_tfm_crypto_open_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
44psa_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 +000045psa_status_t tfm_tfm_crypto_import_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
46psa_status_t tfm_tfm_crypto_destroy_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
47psa_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);
48psa_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 +010049psa_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);
50psa_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 +000051psa_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);
52psa_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);
53psa_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 +010054psa_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 +000055psa_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);
56psa_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);
57psa_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 +000058psa_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 +000059psa_status_t tfm_tfm_crypto_cipher_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
60psa_status_t tfm_tfm_crypto_cipher_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_setup_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
62psa_status_t tfm_tfm_crypto_hash_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
63psa_status_t tfm_tfm_crypto_hash_finish_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
64psa_status_t tfm_tfm_crypto_hash_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
65psa_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 +010066psa_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 +000067psa_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);
68psa_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);
69psa_status_t tfm_tfm_crypto_mac_update_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
70psa_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);
71psa_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);
72psa_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 +000073psa_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 +010074psa_status_t tfm_tfm_crypto_aead_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
75psa_status_t tfm_tfm_crypto_asymmetric_sign_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
76psa_status_t tfm_tfm_crypto_asymmetric_verify_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
77psa_status_t tfm_tfm_crypto_asymmetric_encrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
78psa_status_t tfm_tfm_crypto_asymmetric_decrypt_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
79psa_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);
80psa_status_t tfm_tfm_crypto_generator_read_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
81psa_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);
82psa_status_t tfm_tfm_crypto_generator_abort_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
83psa_status_t tfm_tfm_crypto_key_derivation_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
84psa_status_t tfm_tfm_crypto_key_agreement_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
85psa_status_t tfm_tfm_crypto_generate_random_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
86psa_status_t tfm_tfm_crypto_generate_key_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
Miklos Balintbf25a402018-06-14 17:43:54 +020087
Mingyang Sun9511e5e2019-05-29 18:18:44 +080088#ifdef TFM_PARTITION_PLATFORM
Miklos Balintbf25a402018-06-14 17:43:54 +020089/******** TFM_SP_PLATFORM ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000090psa_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 +020091psa_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 +080092#endif /* TFM_PARTITION_PLATFORM */
Miklos Balintbf25a402018-06-14 17:43:54 +020093
94/******** TFM_SP_INITIAL_ATTESTATION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +000095psa_status_t tfm_initial_attest_get_token_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
96psa_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 +010097psa_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);
Miklos Balintbf25a402018-06-14 17:43:54 +020098
99#ifdef TFM_PARTITION_TEST_CORE
100/******** TFM_SP_CORE_TEST ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000101psa_status_t tfm_spm_core_test_sfn_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
102psa_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);
103psa_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 +0200104#endif /* TFM_PARTITION_TEST_CORE */
105
106#ifdef TFM_PARTITION_TEST_CORE
107/******** TFM_SP_CORE_TEST_2 ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000108psa_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);
109psa_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);
110psa_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);
111psa_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 +0100112psa_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);
113psa_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 +0200114#endif /* TFM_PARTITION_TEST_CORE */
115
Miklos Balintbf25a402018-06-14 17:43:54 +0200116#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
117/******** TFM_SP_SECURE_TEST_PARTITION ********/
Antonio de Angelis09586c52019-03-27 16:35:31 +0000118psa_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 +0200119#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
120
Jamie Foxadf02552019-05-16 17:44:52 +0100121#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800122/******** TFM_SP_IPC_SERVICE_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100123#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800124
Jamie Foxadf02552019-05-16 17:44:52 +0100125#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai807fedb2019-03-07 11:22:03 +0800126/******** TFM_SP_IPC_CLIENT_TEST ********/
Jamie Foxadf02552019-05-16 17:44:52 +0100127#endif /* TFM_PARTITION_TEST_CORE_IPC */
Edison Ai807fedb2019-03-07 11:22:03 +0800128
David Hu33f2fd22019-08-16 15:32:39 +0800129#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100130/******** TFM_IRQ_TEST_1 ********/
131psa_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);
132psa_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 +0800133#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal14c29d02019-03-05 16:22:13 +0100134
Jamie Fox0e823a02019-10-28 17:28:19 +0000135#ifdef TFM_PARTITION_TEST_SST
136/******** TFM_SP_SST_TEST ********/
137psa_status_t tfm_tfm_sst_test_prepare_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
138#endif /* TFM_PARTITION_TEST_SST */
139
Jamie Fox830ff762019-12-16 15:20:22 +0000140#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
141/******** TFM_SP_SECURE_CLIENT_2 ********/
142psa_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);
143#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
144
Miklos Balintbf25a402018-06-14 17:43:54 +0200145#ifdef __cplusplus
146}
147#endif
148
149#endif /* __TFM_VENEERS_H__ */