blob: a79ce173853c142f179514025e3ebee0c6f17870 [file] [log] [blame]
Gilles Peskinedb9c18d2021-06-15 18:18:07 +02001/*
Dave Rodgman53a18f22022-09-12 17:57:32 +01002 * Copyright The Mbed TLS Contributors
3 * SPDX-License-Identifier: Apache-2.0
Gilles Peskinedb9c18d2021-06-15 18:18:07 +02004 *
Dave Rodgman53a18f22022-09-12 17:57:32 +01005 * Licensed under the Apache License, Version 2.0 (the "License"); you may
6 * not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020016 *
17 */
18
19/**
20 * \file crypto_spe.h
21 *
22 * \brief When Mbed Crypto is built with the MBEDTLS_PSA_CRYPTO_SPM option
23 * enabled, this header is included by all .c files in Mbed Crypto that
24 * use PSA Crypto function names. This avoids duplication of symbols
25 * between TF-M and Mbed Crypto.
26 *
27 * \note This file should be included before including any PSA Crypto headers
28 * from Mbed Crypto.
29 */
30
31#ifndef CRYPTO_SPE_H
32#define CRYPTO_SPE_H
33
34#define PSA_FUNCTION_NAME(x) mbedcrypto__ ## x
35
36#define psa_crypto_init \
Gilles Peskine449bd832023-01-11 14:50:10 +010037 PSA_FUNCTION_NAME(psa_crypto_init)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020038#define psa_key_derivation_get_capacity \
Gilles Peskine449bd832023-01-11 14:50:10 +010039 PSA_FUNCTION_NAME(psa_key_derivation_get_capacity)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020040#define psa_key_derivation_set_capacity \
Gilles Peskine449bd832023-01-11 14:50:10 +010041 PSA_FUNCTION_NAME(psa_key_derivation_set_capacity)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020042#define psa_key_derivation_input_bytes \
Gilles Peskine449bd832023-01-11 14:50:10 +010043 PSA_FUNCTION_NAME(psa_key_derivation_input_bytes)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020044#define psa_key_derivation_output_bytes \
Gilles Peskine449bd832023-01-11 14:50:10 +010045 PSA_FUNCTION_NAME(psa_key_derivation_output_bytes)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020046#define psa_key_derivation_input_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010047 PSA_FUNCTION_NAME(psa_key_derivation_input_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020048#define psa_key_derivation_output_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010049 PSA_FUNCTION_NAME(psa_key_derivation_output_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020050#define psa_key_derivation_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +010051 PSA_FUNCTION_NAME(psa_key_derivation_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020052#define psa_key_derivation_abort \
Gilles Peskine449bd832023-01-11 14:50:10 +010053 PSA_FUNCTION_NAME(psa_key_derivation_abort)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020054#define psa_key_derivation_key_agreement \
Gilles Peskine449bd832023-01-11 14:50:10 +010055 PSA_FUNCTION_NAME(psa_key_derivation_key_agreement)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020056#define psa_raw_key_agreement \
Gilles Peskine449bd832023-01-11 14:50:10 +010057 PSA_FUNCTION_NAME(psa_raw_key_agreement)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020058#define psa_generate_random \
Gilles Peskine449bd832023-01-11 14:50:10 +010059 PSA_FUNCTION_NAME(psa_generate_random)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020060#define psa_aead_encrypt \
Gilles Peskine449bd832023-01-11 14:50:10 +010061 PSA_FUNCTION_NAME(psa_aead_encrypt)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020062#define psa_aead_decrypt \
Gilles Peskine449bd832023-01-11 14:50:10 +010063 PSA_FUNCTION_NAME(psa_aead_decrypt)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020064#define psa_open_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010065 PSA_FUNCTION_NAME(psa_open_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020066#define psa_close_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010067 PSA_FUNCTION_NAME(psa_close_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020068#define psa_import_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010069 PSA_FUNCTION_NAME(psa_import_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020070#define psa_destroy_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010071 PSA_FUNCTION_NAME(psa_destroy_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020072#define psa_get_key_attributes \
Gilles Peskine449bd832023-01-11 14:50:10 +010073 PSA_FUNCTION_NAME(psa_get_key_attributes)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020074#define psa_reset_key_attributes \
Gilles Peskine449bd832023-01-11 14:50:10 +010075 PSA_FUNCTION_NAME(psa_reset_key_attributes)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020076#define psa_export_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010077 PSA_FUNCTION_NAME(psa_export_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020078#define psa_export_public_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010079 PSA_FUNCTION_NAME(psa_export_public_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020080#define psa_purge_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010081 PSA_FUNCTION_NAME(psa_purge_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020082#define psa_copy_key \
Gilles Peskine449bd832023-01-11 14:50:10 +010083 PSA_FUNCTION_NAME(psa_copy_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020084#define psa_cipher_operation_init \
Gilles Peskine449bd832023-01-11 14:50:10 +010085 PSA_FUNCTION_NAME(psa_cipher_operation_init)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020086#define psa_cipher_generate_iv \
Gilles Peskine449bd832023-01-11 14:50:10 +010087 PSA_FUNCTION_NAME(psa_cipher_generate_iv)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020088#define psa_cipher_set_iv \
Gilles Peskine449bd832023-01-11 14:50:10 +010089 PSA_FUNCTION_NAME(psa_cipher_set_iv)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020090#define psa_cipher_encrypt_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +010091 PSA_FUNCTION_NAME(psa_cipher_encrypt_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020092#define psa_cipher_decrypt_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +010093 PSA_FUNCTION_NAME(psa_cipher_decrypt_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020094#define psa_cipher_update \
Gilles Peskine449bd832023-01-11 14:50:10 +010095 PSA_FUNCTION_NAME(psa_cipher_update)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020096#define psa_cipher_finish \
Gilles Peskine449bd832023-01-11 14:50:10 +010097 PSA_FUNCTION_NAME(psa_cipher_finish)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +020098#define psa_cipher_abort \
Gilles Peskine449bd832023-01-11 14:50:10 +010099 PSA_FUNCTION_NAME(psa_cipher_abort)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200100#define psa_hash_operation_init \
Gilles Peskine449bd832023-01-11 14:50:10 +0100101 PSA_FUNCTION_NAME(psa_hash_operation_init)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200102#define psa_hash_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +0100103 PSA_FUNCTION_NAME(psa_hash_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200104#define psa_hash_update \
Gilles Peskine449bd832023-01-11 14:50:10 +0100105 PSA_FUNCTION_NAME(psa_hash_update)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200106#define psa_hash_finish \
Gilles Peskine449bd832023-01-11 14:50:10 +0100107 PSA_FUNCTION_NAME(psa_hash_finish)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200108#define psa_hash_verify \
Gilles Peskine449bd832023-01-11 14:50:10 +0100109 PSA_FUNCTION_NAME(psa_hash_verify)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200110#define psa_hash_abort \
Gilles Peskine449bd832023-01-11 14:50:10 +0100111 PSA_FUNCTION_NAME(psa_hash_abort)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200112#define psa_hash_clone \
Gilles Peskine449bd832023-01-11 14:50:10 +0100113 PSA_FUNCTION_NAME(psa_hash_clone)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200114#define psa_hash_compute \
Gilles Peskine449bd832023-01-11 14:50:10 +0100115 PSA_FUNCTION_NAME(psa_hash_compute)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200116#define psa_hash_compare \
Gilles Peskine449bd832023-01-11 14:50:10 +0100117 PSA_FUNCTION_NAME(psa_hash_compare)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200118#define psa_mac_operation_init \
Gilles Peskine449bd832023-01-11 14:50:10 +0100119 PSA_FUNCTION_NAME(psa_mac_operation_init)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200120#define psa_mac_sign_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +0100121 PSA_FUNCTION_NAME(psa_mac_sign_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200122#define psa_mac_verify_setup \
Gilles Peskine449bd832023-01-11 14:50:10 +0100123 PSA_FUNCTION_NAME(psa_mac_verify_setup)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200124#define psa_mac_update \
Gilles Peskine449bd832023-01-11 14:50:10 +0100125 PSA_FUNCTION_NAME(psa_mac_update)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200126#define psa_mac_sign_finish \
Gilles Peskine449bd832023-01-11 14:50:10 +0100127 PSA_FUNCTION_NAME(psa_mac_sign_finish)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200128#define psa_mac_verify_finish \
Gilles Peskine449bd832023-01-11 14:50:10 +0100129 PSA_FUNCTION_NAME(psa_mac_verify_finish)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200130#define psa_mac_abort \
Gilles Peskine449bd832023-01-11 14:50:10 +0100131 PSA_FUNCTION_NAME(psa_mac_abort)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200132#define psa_sign_hash \
Gilles Peskine449bd832023-01-11 14:50:10 +0100133 PSA_FUNCTION_NAME(psa_sign_hash)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200134#define psa_verify_hash \
Gilles Peskine449bd832023-01-11 14:50:10 +0100135 PSA_FUNCTION_NAME(psa_verify_hash)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200136#define psa_asymmetric_encrypt \
Gilles Peskine449bd832023-01-11 14:50:10 +0100137 PSA_FUNCTION_NAME(psa_asymmetric_encrypt)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200138#define psa_asymmetric_decrypt \
Gilles Peskine449bd832023-01-11 14:50:10 +0100139 PSA_FUNCTION_NAME(psa_asymmetric_decrypt)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200140#define psa_generate_key \
Gilles Peskine449bd832023-01-11 14:50:10 +0100141 PSA_FUNCTION_NAME(psa_generate_key)
Gilles Peskinedb9c18d2021-06-15 18:18:07 +0200142
143#endif /* CRYPTO_SPE_H */