/* * * Copyright 2018,2019 NXP * SPDX-License-Identifier: Apache-2.0 */ #ifndef __FSL_SSS_LPC55S_APIS_H__ #define __FSL_SSS_LPC55S_APIS_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #if defined(SSS_USE_FTR_FILE) #include "fsl_sss_ftr.h" #else #include "fsl_sss_ftr_default.h" #endif #if defined(SECURE_WORLD) #if SSS_HAVE_HOSTCRYPTO_MBEDTLS #include #include /* ************************************************************************** */ /* Functions */ /* ************************************************************************** */ /** @copydoc sss_session_open * */ sss_status_t sss_lpc55s_impl_session_open(sss_session_t *session, sss_type_t subsystem, uint32_t application_id, sss_connection_type_t connection_type, void *connectionData); /** @copydoc sss_session_close * */ void sss_lpc55s_impl_session_close(sss_session_t *session); /** * @addtogroup sss_lpc55s_impl_mac * @{ */ /** @copydoc sss_mac_context_init * */ sss_status_t sss_lpc55s_impl_mac_context_init( sss_mac_t *context, sss_session_t *session, sss_object_t *keyObject, sss_algorithm_t algorithm, sss_mode_t mode); /** @copydoc sss_mac_one_go * */ sss_status_t sss_lpc55s_impl_mac_one_go( sss_mac_t *context, const uint8_t *message, size_t messageLen, uint8_t *mac, size_t *macLen); /** @copydoc sss_mac_context_free * */ void sss_lpc55s_impl_mac_context_free(sss_mac_t *context); /** Re-define sss_host_session_open to be redirected * from HashCrypt session open */ #ifdef sss_host_session_open #undef sss_host_session_open #define sss_host_session_open(session, subsystem, application_id, connection_type, connectionData) \ sss_lpc55s_impl_session_open((session), (subsystem), (application_id), (connection_type), (connectionData)) #endif /** Re-define sss_host_session_close to be redirected * from HashCrypt session open */ #ifdef sss_host_session_close #undef sss_host_session_close #define sss_host_session_close(session) sss_lpc55s_impl_session_close((session)) #endif /** Re-define sss_host_mac_context_init to be redirected * from HashCrypt MAC operations */ #ifdef sss_host_mac_context_init #undef sss_host_mac_context_init #define sss_host_mac_context_init(context, session, keyObject, algorithm, mode) \ sss_lpc55s_impl_mac_context_init((context), (session), (keyObject), (algorithm), (mode)) #endif /** Re-define sss_host_mac_one_go to be redirected * from HashCrypt MAC operations */ #ifdef sss_host_mac_one_go #undef sss_host_mac_one_go #define sss_host_mac_one_go(context, message, messageLen, mac, macLen) \ sss_lpc55s_impl_mac_one_go((context), (message), (messageLen), (mac), (macLen)) #endif /** Re-define sss_host_mac_context_free to be redirected * from HashCrypt MAC operations */ #ifdef sss_host_mac_context_free #undef sss_host_mac_context_free #define sss_host_mac_context_free(context) sss_lpc55s_impl_mac_context_free((context)) #endif /* clang-format on */ #endif /* SSS_HAVE_HOSTCRYPTO_MBEDTLS */ #endif /* SECURE_WORLD */ #ifdef __cplusplus } // extern "C" #endif /* __cplusplus */ #endif /* __FSL_SSS_LPC55S_APIS_H__ */