Data Structures | Macros | Functions
AESCCMCC26X4_s.h File Reference
#include <stdint.h>
#include <ti/drivers/crypto/CryptoCC26X4_s.h>
#include <ti/drivers/AESCCM.h>
#include <ti/drivers/spe/SecureCallback.h>
#include <third_party/tfm/interface/include/psa/error.h>
#include <third_party/tfm/interface/include/psa/service.h>
Include dependency graph for AESCCMCC26X4_s.h:

Go to the source code of this file.

Data Structures

struct  AESCCM_s_SecureCallback
 
struct  AESCCM_s_ConstructMsg
 
struct  AESCCM_s_OpenMsg
 
struct  AESCCM_s_CallbackMsg
 
struct  AESCCM_s_CloseMsg
 
struct  AESCCM_s_OneStepOperationMsg
 
struct  AESCCM_s_SetupOperationMsg
 
struct  AESCCM_s_SetLengthsMsg
 
struct  AESCCM_s_SetNonceMsg
 
struct  AESCCM_s_AddAADMsg
 
struct  AESCCM_s_AddDataMsg
 
struct  AESCCM_s_FinalizeOperationMsg
 
struct  AESCCM_s_CancelOperationMsg
 

Macros

#define AESCCM_S_MSG_TYPE_CONSTRUCT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 0U)))
 
#define AESCCM_S_MSG_TYPE_OPEN   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 1U)))
 
#define AESCCM_S_MSG_TYPE_REGISTER_CALLBACK   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 2U)))
 
#define AESCCM_S_MSG_TYPE_CLOSE   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 3U)))
 
#define AESCCM_S_MSG_TYPE_ONE_STEP_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 4U)))
 
#define AESCCM_S_MSG_TYPE_ONE_STEP_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 5U)))
 
#define AESCCM_S_MSG_TYPE_SETUP_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 6U)))
 
#define AESCCM_S_MSG_TYPE_SETUP_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 7U)))
 
#define AESCCM_S_MSG_TYPE_SET_LENGTHS   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 8U)))
 
#define AESCCM_S_MSG_TYPE_SET_NONCE   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 9U)))
 
#define AESCCM_S_MSG_TYPE_ADD_AAD   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 10U)))
 
#define AESCCM_S_MSG_TYPE_ADD_DATA   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 11U)))
 
#define AESCCM_S_MSG_TYPE_FINALIZE_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 12U)))
 
#define AESCCM_S_MSG_TYPE_FINALIZE_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 13U)))
 
#define AESCCM_S_MSG_TYPE_CANCEL_OPERATION   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 14U)))
 
#define CONFIG_AESCCM_S_CONFIG_POOL_SIZE   1
 
#define AESCCM_SECURE_CALLBACK_COUNT   (CONFIG_TI_DRIVERS_AESCCM_COUNT + CONFIG_AESCCM_S_CONFIG_POOL_SIZE)
 

Functions

int_fast16_t AESCCM_s_oneStepEncryptFast (AESCCM_Handle handle, AESCCM_Operation *operation)
 Fast veneer to perform a single-step AESCCM encryption & authentication operation in polling mode without the overhead of PSA call. More...
 
int_fast16_t AESCCM_s_oneStepDecryptFast (AESCCM_Handle handle, AESCCM_Operation *operation)
 Fast veneer to perform a single-step AESCCM decryption & verification operation in polling mode without the overhead of PSA call. More...
 
psa_status_t AESCCM_s_handlePsaMsg (psa_msg_t *msg)
 Handles PSA messages for AES CCM secure driver. More...
 
void AESCCM_s_init (void)
 Initializes the AES CCM secure driver. More...
 

Macro Definition Documentation

§ AESCCM_S_MSG_TYPE_CONSTRUCT

#define AESCCM_S_MSG_TYPE_CONSTRUCT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 0U)))

§ AESCCM_S_MSG_TYPE_OPEN

#define AESCCM_S_MSG_TYPE_OPEN   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 1U)))

§ AESCCM_S_MSG_TYPE_REGISTER_CALLBACK

#define AESCCM_S_MSG_TYPE_REGISTER_CALLBACK   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 2U)))

§ AESCCM_S_MSG_TYPE_CLOSE

#define AESCCM_S_MSG_TYPE_CLOSE   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 3U)))

§ AESCCM_S_MSG_TYPE_ONE_STEP_ENCRYPT

#define AESCCM_S_MSG_TYPE_ONE_STEP_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 4U)))

§ AESCCM_S_MSG_TYPE_ONE_STEP_DECRYPT

#define AESCCM_S_MSG_TYPE_ONE_STEP_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 5U)))

§ AESCCM_S_MSG_TYPE_SETUP_ENCRYPT

#define AESCCM_S_MSG_TYPE_SETUP_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 6U)))

§ AESCCM_S_MSG_TYPE_SETUP_DECRYPT

#define AESCCM_S_MSG_TYPE_SETUP_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 7U)))

§ AESCCM_S_MSG_TYPE_SET_LENGTHS

#define AESCCM_S_MSG_TYPE_SET_LENGTHS   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 8U)))

§ AESCCM_S_MSG_TYPE_SET_NONCE

#define AESCCM_S_MSG_TYPE_SET_NONCE   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 9U)))

§ AESCCM_S_MSG_TYPE_ADD_AAD

#define AESCCM_S_MSG_TYPE_ADD_AAD   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 10U)))

§ AESCCM_S_MSG_TYPE_ADD_DATA

#define AESCCM_S_MSG_TYPE_ADD_DATA   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 11U)))

§ AESCCM_S_MSG_TYPE_FINALIZE_ENCRYPT

#define AESCCM_S_MSG_TYPE_FINALIZE_ENCRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 12U)))

§ AESCCM_S_MSG_TYPE_FINALIZE_DECRYPT

#define AESCCM_S_MSG_TYPE_FINALIZE_DECRYPT   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 13U)))

§ AESCCM_S_MSG_TYPE_CANCEL_OPERATION

#define AESCCM_S_MSG_TYPE_CANCEL_OPERATION   (CRYPTO_S_MSG_TYPE_INDEX_AESCCM | ((int32_t)1 << (CRYPTO_S_MSG_TYPE_SHIFT + 14U)))

§ CONFIG_AESCCM_S_CONFIG_POOL_SIZE

#define CONFIG_AESCCM_S_CONFIG_POOL_SIZE   1

§ AESCCM_SECURE_CALLBACK_COUNT

#define AESCCM_SECURE_CALLBACK_COUNT   (CONFIG_TI_DRIVERS_AESCCM_COUNT + CONFIG_AESCCM_S_CONFIG_POOL_SIZE)

Function Documentation

§ AESCCM_s_oneStepEncryptFast()

int_fast16_t AESCCM_s_oneStepEncryptFast ( AESCCM_Handle  handle,
AESCCM_Operation operation 
)

Fast veneer to perform a single-step AESCCM encryption & authentication operation in polling mode without the overhead of PSA call.

Note
See AESCCM_oneStepEncrypt() for full description, parameters, and return values. PSA_ERROR_PROGRAMMER_ERROR is an additional return value.
Return values
PSA_ERROR_PROGRAMMER_ERRORif any args point to secure addresses or handle is invalid.

§ AESCCM_s_oneStepDecryptFast()

int_fast16_t AESCCM_s_oneStepDecryptFast ( AESCCM_Handle  handle,
AESCCM_Operation operation 
)

Fast veneer to perform a single-step AESCCM decryption & verification operation in polling mode without the overhead of PSA call.

Note
See AESCCM_oneStepDecrypt() for full description, parameters, and return values. PSA_ERROR_PROGRAMMER_ERROR is an additional return value.
Return values
PSA_ERROR_PROGRAMMER_ERRORif any args point to secure addresses or handle is invalid.

§ AESCCM_s_handlePsaMsg()

psa_status_t AESCCM_s_handlePsaMsg ( psa_msg_t *  msg)

Handles PSA messages for AES CCM secure driver.

Note
This function should be called by secure partition thread only.
Parameters
[in]msgpointer to PSA message
Return values
PSA_SUCCESSif successful.
PSA_ERROR_PROGRAMMER_ERRORif any args point to secure addresses.

§ AESCCM_s_init()

void AESCCM_s_init ( void  )

Initializes the AES CCM secure driver.

Note
This function should be called by secure partition thread only.
© Copyright 1995-2022, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale