blob: a1dae35fb9d752314748c9c453a1012db99d212e [file] [log] [blame]
Balint Dobszay0e248892024-01-16 14:04:55 +01001/*
2 * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PREFIXED_CRYPTO_API_H
8#define PREFIXED_CRYPTO_API_H
9
10/**
11 * A set of preprocessor defines that modify psa crypto API function
12 * names to avoid name clashes where multiple realizations of the API
13 * are included within the same build.
14 */
15#ifdef BACKEND_CRYPTO_API_ADD_PREFIX
16
17/* Core operations */
18#define psa_crypto_init BACKEND_CRYPTO_API_ADD_PREFIX(psa_crypto_init)
19#define psa_asymmetric_decrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_asymmetric_decrypt)
20#define psa_asymmetric_encrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_asymmetric_encrypt)
21#define psa_copy_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_copy_key)
22#define psa_destroy_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_destroy_key)
23#define psa_export_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_export_key)
24#define psa_export_public_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_export_public_key)
25#define psa_generate_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_generate_key)
26#define psa_generate_random BACKEND_CRYPTO_API_ADD_PREFIX(psa_generate_random)
27#define psa_get_key_attributes BACKEND_CRYPTO_API_ADD_PREFIX(psa_get_key_attributes)
28#define psa_import_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_import_key)
29#define psa_purge_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_purge_key)
30#define psa_sign_hash BACKEND_CRYPTO_API_ADD_PREFIX(psa_sign_hash)
31#define psa_sign_message BACKEND_CRYPTO_API_ADD_PREFIX(psa_sign_message)
32#define psa_verify_hash BACKEND_CRYPTO_API_ADD_PREFIX(psa_verify_hash)
33#define psa_verify_message BACKEND_CRYPTO_API_ADD_PREFIX(psa_verify_message)
34#define psa_reset_key_attributes BACKEND_CRYPTO_API_ADD_PREFIX(psa_reset_key_attributes)
35
36/* Cipher operations */
37#define psa_cipher_encrypt_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_encrypt_setup)
38#define psa_cipher_decrypt_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_decrypt_setup)
39#define psa_cipher_generate_iv BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_generate_iv)
40#define psa_cipher_set_iv BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_set_iv)
41#define psa_cipher_update BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_update)
42#define psa_cipher_finish BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_finish)
43#define psa_cipher_abort BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_abort)
44#define psa_cipher_encrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_encrypt)
45#define psa_cipher_decrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_cipher_decrypt)
46
47/* Hash operations */
48#define psa_hash_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_setup)
49#define psa_hash_update BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_update)
50#define psa_hash_finish BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_finish)
51#define psa_hash_abort BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_abort)
52#define psa_hash_verify BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_verify)
53#define psa_hash_clone BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_clone)
54#define psa_hash_suspend BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_suspend)
55#define psa_hash_resume BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_resume)
56#define psa_hash_compare BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_compare)
57#define psa_hash_compute BACKEND_CRYPTO_API_ADD_PREFIX(psa_hash_compute)
58
59/* Key derivation operations */
60#define psa_key_derivation_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_setup)
61#define psa_key_derivation_get_capacity BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_get_capacity)
62#define psa_key_derivation_set_capacity BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_set_capacity)
63#define psa_key_derivation_input_bytes BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_input_bytes)
64#define psa_key_derivation_input_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_input_key)
65#define psa_key_derivation_output_bytes BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_output_bytes)
66#define psa_key_derivation_output_key BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_output_key)
67#define psa_key_derivation_abort BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_abort)
68#define psa_key_derivation_key_agreement BACKEND_CRYPTO_API_ADD_PREFIX(psa_key_derivation_key_agreement)
69#define psa_raw_key_agreement BACKEND_CRYPTO_API_ADD_PREFIX(psa_raw_key_agreement)
70
71/* MAC operations */
72#define psa_mac_sign_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_sign_setup)
73#define psa_mac_verify_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_verify_setup)
74#define psa_mac_update BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_update)
75#define psa_mac_sign_finish BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_sign_finish)
76#define psa_mac_verify_finish BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_verify_finish)
77#define psa_mac_abort BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_abort)
78#define psa_mac_verify BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_verify)
79#define psa_mac_compute BACKEND_CRYPTO_API_ADD_PREFIX(psa_mac_compute)
80
81/* AEAD operations */
82#define psa_aead_encrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_encrypt)
83#define psa_aead_decrypt BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_decrypt)
84#define psa_aead_encrypt_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_encrypt_setup)
85#define psa_aead_decrypt_setup BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_decrypt_setup)
86#define psa_aead_generate_nonce BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_generate_nonce)
87#define psa_aead_set_nonce BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_set_nonce)
88#define psa_aead_set_lengths BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_set_lengths)
89#define psa_aead_update_ad BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_update_ad)
90#define psa_aead_update BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_update)
91#define psa_aead_finish BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_finish)
92#define psa_aead_verify BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_verify)
93#define psa_aead_abort BACKEND_CRYPTO_API_ADD_PREFIX(psa_aead_abort)
94
95#endif /* BACKEND_CRYPTO_API_ADD_PREFIX */
96#endif /* PREFIXED_CRYPTO_API_H */