quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

crypto_driver_contexts_composites.h (5938B)


      1 /*
      2  *  Declaration of context structures for use with the PSA driver wrapper
      3  *  interface. This file contains the context structures for 'composite'
      4  *  operations, i.e. those operations which need to make use of other operations
      5  *  from the primitives (crypto_driver_contexts_primitives.h)
      6  *
      7  *  Warning: This file will be auto-generated in the future.
      8  *
      9  * \note This file may not be included directly. Applications must
     10  * include psa/crypto.h.
     11  *
     12  * \note This header and its content are not part of the Mbed TLS API and
     13  * applications must not depend on it. Its main purpose is to define the
     14  * multi-part state objects of the PSA drivers included in the cryptographic
     15  * library. The definitions of these objects are then used by crypto_struct.h
     16  * to define the implementation-defined types of PSA multi-part state objects.
     17  */
     18 /*  Copyright The Mbed TLS Contributors
     19  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
     20  */
     21 
     22 #ifndef PSA_CRYPTO_DRIVER_CONTEXTS_COMPOSITES_H
     23 #define PSA_CRYPTO_DRIVER_CONTEXTS_COMPOSITES_H
     24 
     25 #include "psa/crypto_driver_common.h"
     26 
     27 /* Include the context structure definitions for the Mbed TLS software drivers */
     28 #include "psa/crypto_builtin_composites.h"
     29 
     30 /* Include the context structure definitions for those drivers that were
     31  * declared during the autogeneration process. */
     32 
     33 #if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
     34 #include <libtestdriver1/include/psa/crypto.h>
     35 #endif
     36 
     37 #if defined(PSA_CRYPTO_DRIVER_TEST)
     38 #if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \
     39     defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_MAC)
     40 typedef libtestdriver1_mbedtls_psa_mac_operation_t
     41     mbedtls_transparent_test_driver_mac_operation_t;
     42 typedef libtestdriver1_mbedtls_psa_mac_operation_t
     43     mbedtls_opaque_test_driver_mac_operation_t;
     44 
     45 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_MAC_OPERATION_INIT \
     46     LIBTESTDRIVER1_MBEDTLS_PSA_MAC_OPERATION_INIT
     47 #define MBEDTLS_OPAQUE_TEST_DRIVER_MAC_OPERATION_INIT \
     48     LIBTESTDRIVER1_MBEDTLS_PSA_MAC_OPERATION_INIT
     49 
     50 #else
     51 typedef mbedtls_psa_mac_operation_t
     52     mbedtls_transparent_test_driver_mac_operation_t;
     53 typedef mbedtls_psa_mac_operation_t
     54     mbedtls_opaque_test_driver_mac_operation_t;
     55 
     56 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_MAC_OPERATION_INIT \
     57     MBEDTLS_PSA_MAC_OPERATION_INIT
     58 #define MBEDTLS_OPAQUE_TEST_DRIVER_MAC_OPERATION_INIT \
     59     MBEDTLS_PSA_MAC_OPERATION_INIT
     60 
     61 #endif /* MBEDTLS_TEST_LIBTESTDRIVER1 && LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_MAC */
     62 
     63 #if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \
     64     defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD)
     65 typedef libtestdriver1_mbedtls_psa_aead_operation_t
     66     mbedtls_transparent_test_driver_aead_operation_t;
     67 
     68 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_AEAD_OPERATION_INIT \
     69     LIBTESTDRIVER1_MBEDTLS_PSA_AEAD_OPERATION_INIT
     70 #else
     71 typedef mbedtls_psa_aead_operation_t
     72     mbedtls_transparent_test_driver_aead_operation_t;
     73 
     74 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_AEAD_OPERATION_INIT \
     75     MBEDTLS_PSA_AEAD_OPERATION_INIT
     76 
     77 #endif /* MBEDTLS_TEST_LIBTESTDRIVER1 && LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD */
     78 
     79 #if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \
     80     defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_PAKE)
     81 
     82 typedef libtestdriver1_mbedtls_psa_pake_operation_t
     83     mbedtls_transparent_test_driver_pake_operation_t;
     84 typedef libtestdriver1_mbedtls_psa_pake_operation_t
     85     mbedtls_opaque_test_driver_pake_operation_t;
     86 
     87 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_PAKE_OPERATION_INIT \
     88     LIBTESTDRIVER1_MBEDTLS_PSA_PAKE_OPERATION_INIT
     89 #define MBEDTLS_OPAQUE_TEST_DRIVER_PAKE_OPERATION_INIT \
     90     LIBTESTDRIVER1_MBEDTLS_PSA_PAKE_OPERATION_INIT
     91 
     92 #else
     93 typedef mbedtls_psa_pake_operation_t
     94     mbedtls_transparent_test_driver_pake_operation_t;
     95 typedef mbedtls_psa_pake_operation_t
     96     mbedtls_opaque_test_driver_pake_operation_t;
     97 
     98 #define MBEDTLS_TRANSPARENT_TEST_DRIVER_PAKE_OPERATION_INIT \
     99     MBEDTLS_PSA_PAKE_OPERATION_INIT
    100 #define MBEDTLS_OPAQUE_TEST_DRIVER_PAKE_OPERATION_INIT \
    101     MBEDTLS_PSA_PAKE_OPERATION_INIT
    102 
    103 #endif /* MBEDTLS_TEST_LIBTESTDRIVER1 && LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_PAKE */
    104 
    105 #endif /* PSA_CRYPTO_DRIVER_TEST */
    106 
    107 /* Define the context to be used for an operation that is executed through the
    108  * PSA Driver wrapper layer as the union of all possible driver's contexts.
    109  *
    110  * The union members are the driver's context structures, and the member names
    111  * are formatted as `'drivername'_ctx`. This allows for procedural generation
    112  * of both this file and the content of psa_crypto_driver_wrappers.h */
    113 
    114 typedef union {
    115     unsigned dummy; /* Make sure this union is always non-empty */
    116     mbedtls_psa_mac_operation_t mbedtls_ctx;
    117 #if defined(PSA_CRYPTO_DRIVER_TEST)
    118     mbedtls_transparent_test_driver_mac_operation_t transparent_test_driver_ctx;
    119     mbedtls_opaque_test_driver_mac_operation_t opaque_test_driver_ctx;
    120 #endif
    121 } psa_driver_mac_context_t;
    122 
    123 typedef union {
    124     unsigned dummy; /* Make sure this union is always non-empty */
    125     mbedtls_psa_aead_operation_t mbedtls_ctx;
    126 #if defined(PSA_CRYPTO_DRIVER_TEST)
    127     mbedtls_transparent_test_driver_aead_operation_t transparent_test_driver_ctx;
    128 #endif
    129 } psa_driver_aead_context_t;
    130 
    131 typedef union {
    132     unsigned dummy; /* Make sure this union is always non-empty */
    133     mbedtls_psa_sign_hash_interruptible_operation_t mbedtls_ctx;
    134 } psa_driver_sign_hash_interruptible_context_t;
    135 
    136 typedef union {
    137     unsigned dummy; /* Make sure this union is always non-empty */
    138     mbedtls_psa_verify_hash_interruptible_operation_t mbedtls_ctx;
    139 } psa_driver_verify_hash_interruptible_context_t;
    140 
    141 typedef union {
    142     unsigned dummy; /* Make sure this union is always non-empty */
    143     mbedtls_psa_pake_operation_t mbedtls_ctx;
    144 #if defined(PSA_CRYPTO_DRIVER_TEST)
    145     mbedtls_transparent_test_driver_pake_operation_t transparent_test_driver_ctx;
    146     mbedtls_opaque_test_driver_pake_operation_t opaque_test_driver_ctx;
    147 #endif
    148 } psa_driver_pake_context_t;
    149 
    150 #endif /* PSA_CRYPTO_DRIVER_CONTEXTS_COMPOSITES_H */
    151 /* End of automatically generated file. */