crypto_builtin_composites.h
psa/crypto_driver_common.h
mbedtls/cmac.h
crypto_driver_contexts_composites.h
mbedtls/check_config.h
mbedtls/cipher.h
mbedtls/cmac.h
mbedtls/config.h
mbedtls/config_psa.h
mbedtls/platform_time.h
mbedtls/platform_util.h
crypto_builtin_composites.h
psa/crypto_driver_common.h
crypto_platform.h
psa/crypto_sizes.h
crypto_types.h
crypto_values.h
limits.h
stddef.h
stdint.h
time.h
crypto.h
crypto_builtin_composites.h
crypto_driver_contexts_composites.h
crypto_struct.h
mbedtls_psa_hmac_operation_t
mbedtls_psa_mac_operation_t
MBEDTLS_PSA_BUILTIN_MAC
MBEDTLS_PSA_BUILTIN_AEAD
1
MBEDTLS_PSA_HMAC_OPERATION_INIT
{ 0, PSA_HASH_OPERATION_INIT, { 0 } }
MBEDTLS_PSA_MAC_OPERATION_INIT
{ 0, { 0 } }

    /*
    *ContextstructuredeclarationoftheMbedTLSsoftware-basedPSAdrivers
    *calledthroughthePSACryptodriverdispatchlayer.
    *Thisfilecontainsthecontextstructuresofthosealgorithmswhichneedto
    *relyonotheralgorithms,i.e.are'composite'algorithms.
    *
    *\noteThisfilemaynotbeincludeddirectly.Applicationsmust
    *includepsa/crypto.h.
    *
    *\noteThisheaderanditscontentisnotpartoftheMbedTLSAPIand
    *applicationsmustnotdependonit.Itsmainpurposeistodefinethe
    *multi-partstateobjectsoftheMbedTLSsoftware-basedPSAdrivers.The
    *definitionoftheseobjectsarethenusedbycrypto_struct.htodefinethe
    *implementation-definedtypesofPSAmulti-partstateobjects.
    */
    /*
    *CopyrightTheMbedTLSContributors
    *SPDX-License-Identifier:Apache-2.0ORGPL-2.0-or-later
    */

    #ifndefPSA_CRYPTO_BUILTIN_COMPOSITES_H
    #definePSA_CRYPTO_BUILTIN_COMPOSITES_H

    #include<psa/crypto_driver_common.h>

    /*
    *MACmulti-partoperationdefinitions.
    */
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_CMAC)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_HMAC)
    #defineMBEDTLS_PSA_BUILTIN_MAC
    #endif

    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_GCM)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CCM)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305)
    #defineMBEDTLS_PSA_BUILTIN_AEAD1
    #endif

    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_HMAC)||defined(PSA_CRYPTO_DRIVER_TEST)
    typedefstruct{
    psa_algorithm_talg;
    structpsa_hash_operation_shash_ctx;
    uint8_topad[PSA_HMAC_MAX_HASH_BLOCK_SIZE];
    }mbedtls_psa_hmac_operation_t;

    #defineMBEDTLS_PSA_HMAC_OPERATION_INIT{0,PSA_HASH_OPERATION_INIT,{0}}
    #endif/*MBEDTLS_PSA_BUILTIN_ALG_HMAC*/

    #include"mbedtls/cmac.h"

    typedefstruct{
    psa_algorithm_talg;
    union{
    unsigneddummy;/*Maketheunionnon-emptyevenwithnosupportedalgorithms.*/
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_HMAC)||defined(PSA_CRYPTO_DRIVER_TEST)
    mbedtls_psa_hmac_operation_thmac;
    #endif/*MBEDTLS_PSA_BUILTIN_ALG_HMAC*/
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_CMAC)||defined(PSA_CRYPTO_DRIVER_TEST)
    mbedtls_cipher_context_tcmac;
    #endif/*MBEDTLS_PSA_BUILTIN_ALG_CMAC*/
    }ctx;
    }mbedtls_psa_mac_operation_t;

    #defineMBEDTLS_PSA_MAC_OPERATION_INIT{0,{0}}

    #endif/*PSA_CRYPTO_BUILTIN_COMPOSITES_H*/