Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-08-27 09:43:22

0001 /**
0002  * \file psa/crypto_driver_common.h
0003  * \brief Definitions for all PSA crypto drivers
0004  *
0005  * This file contains common definitions shared by all PSA crypto drivers.
0006  * Do not include it directly: instead, include the header file(s) for
0007  * the type(s) of driver that you are implementing. For example, if
0008  * you are writing a dynamically registered driver for a secure element,
0009  * include `psa/crypto_se_driver.h`.
0010  *
0011  * This file is part of the PSA Crypto Driver Model, containing functions for
0012  * driver developers to implement to enable hardware to be called in a
0013  * standardized way by a PSA Cryptographic API implementation. The functions
0014  * comprising the driver model, which driver authors implement, are not
0015  * intended to be called by application developers.
0016  */
0017 
0018 /*
0019  *  Copyright The Mbed TLS Contributors
0020  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
0021  */
0022 #ifndef PSA_CRYPTO_DRIVER_COMMON_H
0023 #define PSA_CRYPTO_DRIVER_COMMON_H
0024 
0025 #include <stddef.h>
0026 #include <stdint.h>
0027 
0028 /* Include type definitions (psa_status_t, psa_algorithm_t,
0029  * psa_key_type_t, etc.) and macros to build and analyze values
0030  * of these types. */
0031 #include "crypto_types.h"
0032 #include "crypto_values.h"
0033 /* Include size definitions which are used to size some arrays in operation
0034  * structures. */
0035 #include <psa/crypto_sizes.h>
0036 
0037 /** For encrypt-decrypt functions, whether the operation is an encryption
0038  * or a decryption. */
0039 typedef enum {
0040     PSA_CRYPTO_DRIVER_DECRYPT,
0041     PSA_CRYPTO_DRIVER_ENCRYPT
0042 } psa_encrypt_or_decrypt_t;
0043 
0044 #endif /* PSA_CRYPTO_DRIVER_COMMON_H */