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 */ 97