Balint Dobszay | 0e24889 | 2024-01-16 14:04:55 +0100 | [diff] [blame] | 1 | /* |
| 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 */ |