Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers crypto_driver_common.h Source File

crypto_driver_common.h

Go to the documentation of this file.
00001 /**
00002  * \file psa/crypto_driver_common.h
00003  * \brief Definitions for all PSA crypto drivers
00004  *
00005  * This file contains common definitions shared by all PSA crypto drivers.
00006  * Do not include it directly: instead, include the header file(s) for
00007  * the type(s) of driver that you are implementing. For example, if
00008  * you are writing a driver for a chip that provides both a hardware
00009  * random generator and an accelerator for some cryptographic algorithms,
00010  * include `psa/crypto_entropy_driver.h` and `psa/crypto_accel_driver.h`.
00011  *
00012  * This file is part of the PSA Crypto Driver Model, containing functions for
00013  * driver developers to implement to enable hardware to be called in a
00014  * standardized way by a PSA Cryptographic API implementation. The functions
00015  * comprising the driver model, which driver authors implement, are not
00016  * intended to be called by application developers.
00017  */
00018 
00019 /*
00020  *  Copyright (C) 2018, ARM Limited, All Rights Reserved
00021  *  SPDX-License-Identifier: Apache-2.0
00022  *
00023  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
00024  *  not use this file except in compliance with the License.
00025  *  You may obtain a copy of the License at
00026  *
00027  *  http://www.apache.org/licenses/LICENSE-2.0
00028  *
00029  *  Unless required by applicable law or agreed to in writing, software
00030  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00031  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00032  *  See the License for the specific language governing permissions and
00033  *  limitations under the License.
00034  */
00035 #ifndef PSA_CRYPTO_DRIVER_COMMON_H
00036 #define PSA_CRYPTO_DRIVER_COMMON_H
00037 
00038 #include <stddef.h>
00039 #include <stdint.h>
00040 
00041 /* Include type definitions (psa_status_t, psa_algorithm_t,
00042  * psa_key_type_t, etc.) and macros to build and analyze values
00043  * of these types. */
00044 #include "crypto_types.h"
00045 #include "crypto_values.h"
00046 
00047 /** For encrypt-decrypt functions, whether the operation is an encryption
00048  * or a decryption. */
00049 typedef enum {
00050     PSA_CRYPTO_DRIVER_DECRYPT,
00051     PSA_CRYPTO_DRIVER_ENCRYPT
00052 } psa_encrypt_or_decrypt_t;
00053 
00054 #endif /* PSA_CRYPTO_DRIVER_COMMON_H */