crypto_builtin_primitives.h
psa/crypto_driver_common.h
mbedtls/md2.h
mbedtls/md4.h
mbedtls/md5.h
mbedtls/ripemd160.h
mbedtls/sha1.h
mbedtls/sha256.h
mbedtls/sha512.h
mbedtls/cipher.h
crypto_driver_contexts_primitives.h
mbedtls/check_config.h
mbedtls/cipher.h
mbedtls/config.h
mbedtls/config_psa.h
mbedtls/md2.h
mbedtls/md4.h
mbedtls/md5.h
mbedtls/platform_time.h
mbedtls/platform_util.h
mbedtls/ripemd160.h
mbedtls/sha1.h
mbedtls/sha256.h
mbedtls/sha512.h
crypto_builtin_primitives.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_primitives.h
crypto_driver_contexts_primitives.h
crypto_struct.h
mbedtls_psa_hash_operation_t
mbedtls_psa_cipher_operation_t
MBEDTLS_PSA_BUILTIN_HASH
MBEDTLS_PSA_HASH_OPERATION_INIT
{ 0, { 0 } }
MBEDTLS_PSA_BUILTIN_CIPHER
1
MBEDTLS_PSA_CIPHER_OPERATION_INIT
{ 0, 0, 0, { 0 } }

    /*
    *ContextstructuredeclarationoftheMbedTLSsoftware-basedPSAdrivers
    *calledthroughthePSACryptodriverdispatchlayer.
    *Thisfilecontainsthecontextstructuresofthosealgorithmswhichdonot
    *relyonotheralgorithms,i.e.are'primitive'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_PRIMITIVES_H
    #definePSA_CRYPTO_BUILTIN_PRIMITIVES_H

    #include<psa/crypto_driver_common.h>

    /*
    *Hashmulti-partoperationdefinitions.
    */

    #include"mbedtls/md2.h"
    #include"mbedtls/md4.h"
    #include"mbedtls/md5.h"
    #include"mbedtls/ripemd160.h"
    #include"mbedtls/sha1.h"
    #include"mbedtls/sha256.h"
    #include"mbedtls/sha512.h"

    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD2)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_MD4)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_MD5)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)
    #defineMBEDTLS_PSA_BUILTIN_HASH
    #endif

    typedefstruct{
    psa_algorithm_talg;
    union{
    unsigneddummy;/*Maketheunionnon-emptyevenwithnosupportedalgorithms.*/
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD2)
    mbedtls_md2_contextmd2;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD4)
    mbedtls_md4_contextmd4;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_MD5)
    mbedtls_md5_contextmd5;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160)
    mbedtls_ripemd160_contextripemd160;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_1)
    mbedtls_sha1_contextsha1;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_224)
    mbedtls_sha256_contextsha256;
    #endif
    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_SHA_512)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_384)
    mbedtls_sha512_contextsha512;
    #endif
    }ctx;
    }mbedtls_psa_hash_operation_t;

    #defineMBEDTLS_PSA_HASH_OPERATION_INIT{0,{0}}

    /*
    *Ciphermulti-partoperationdefinitions.
    */

    #include"mbedtls/cipher.h"

    #ifdefined(MBEDTLS_PSA_BUILTIN_ALG_STREAM_CIPHER)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CTR)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CFB)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_OFB)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_NO_PADDING)||\
    defined(MBEDTLS_PSA_BUILTIN_ALG_CBC_PKCS7)
    #defineMBEDTLS_PSA_BUILTIN_CIPHER1
    #endif

    typedefstruct{
    /*ContextstructurefortheMbedTLScipherimplementation.*/
    psa_algorithm_talg;
    uint8_tiv_length;
    uint8_tblock_length;
    union{
    unsignedintdummy;
    mbedtls_cipher_context_tcipher;
    }ctx;
    }mbedtls_psa_cipher_operation_t;

    #defineMBEDTLS_PSA_CIPHER_OPERATION_INIT{0,0,0,{0}}

    #endif/*PSA_CRYPTO_BUILTIN_PRIMITIVES_H*/