blob: ee17d3f953b80f7d8e0c94c970b4ecda0cf0fbbb [file] [log] [blame]
Miklos Balintbf25a402018-06-14 17:43:54 +02001/*
Kevin Peng578a8492020-12-31 10:22:59 +08002 * Copyright (c) 2018-2021, Arm Limited. All rights reserved.
Miklos Balintbf25a402018-06-14 17:43:54 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
Mate Toth-Pal36f21842018-11-08 16:12:51 +01008{{utilities.donotedit_warning}}
Miklos Balintbf25a402018-06-14 17:43:54 +02009
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 Peng578a8492020-12-31 10:22:59 +080019{% for partition in partitions %}
20 {% if partition.attr.conditional %}
21#ifdef {{partition.attr.conditional}}
Mate Toth-Pal36f21842018-11-08 16:12:51 +010022 {% endif %}
Kevin Peng578a8492020-12-31 10:22:59 +080023/******** {{partition.manifest.name}} ********/
24 {% for function in partition.manifest.secure_functions%}
David Hu7c2a7442021-04-01 16:34:30 +080025 {% if function.signal.lower().startswith('tfm_') %}
26 {# If signal already contains tfm_ prefix, avoid adding a duplicated one
27 in veneer function name.
28 #}
29psa_status_t {{function.signal.lower()}}_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
30 {% else %}
Edison Aifeb0f0c2019-04-16 14:49:05 +080031psa_status_t tfm_{{function.signal.lower()}}_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
David Hu7c2a7442021-04-01 16:34:30 +080032 {% endif %}
Mate Toth-Pal36f21842018-11-08 16:12:51 +010033 {% endfor %}
Kevin Peng578a8492020-12-31 10:22:59 +080034 {% if partition.attr.conditional %}
35#endif /* {{partition.attr.conditional}} */
Mate Toth-Pal36f21842018-11-08 16:12:51 +010036 {% endif %}
Miklos Balintbf25a402018-06-14 17:43:54 +020037
Mate Toth-Pal36f21842018-11-08 16:12:51 +010038{% endfor %}
Miklos Balintbf25a402018-06-14 17:43:54 +020039#ifdef __cplusplus
40}
41#endif
42
43#endif /* __TFM_VENEERS_H__ */