quickjs-tart

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

crypto_driver_common.h (1559B)


      1 /**
      2  * \file psa/crypto_driver_common.h
      3  * \brief Definitions for all PSA crypto drivers
      4  *
      5  * This file contains common definitions shared by all PSA crypto drivers.
      6  * Do not include it directly: instead, include the header file(s) for
      7  * the type(s) of driver that you are implementing. For example, if
      8  * you are writing a dynamically registered driver for a secure element,
      9  * include `psa/crypto_se_driver.h`.
     10  *
     11  * This file is part of the PSA Crypto Driver Model, containing functions for
     12  * driver developers to implement to enable hardware to be called in a
     13  * standardized way by a PSA Cryptographic API implementation. The functions
     14  * comprising the driver model, which driver authors implement, are not
     15  * intended to be called by application developers.
     16  */
     17 
     18 /*
     19  *  Copyright The Mbed TLS Contributors
     20  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
     21  */
     22 #ifndef PSA_CRYPTO_DRIVER_COMMON_H
     23 #define PSA_CRYPTO_DRIVER_COMMON_H
     24 
     25 #include <stddef.h>
     26 #include <stdint.h>
     27 
     28 /* Include type definitions (psa_status_t, psa_algorithm_t,
     29  * psa_key_type_t, etc.) and macros to build and analyze values
     30  * of these types. */
     31 #include "crypto_types.h"
     32 #include "crypto_values.h"
     33 /* Include size definitions which are used to size some arrays in operation
     34  * structures. */
     35 #include <psa/crypto_sizes.h>
     36 
     37 /** For encrypt-decrypt functions, whether the operation is an encryption
     38  * or a decryption. */
     39 typedef enum {
     40     PSA_CRYPTO_DRIVER_DECRYPT,
     41     PSA_CRYPTO_DRIVER_ENCRYPT
     42 } psa_encrypt_or_decrypt_t;
     43 
     44 #endif /* PSA_CRYPTO_DRIVER_COMMON_H */