mbed TLS v2.23.0
include
psa
crypto_types.h
Go to the documentation of this file.
1
16
/*
17
* Copyright (C) 2018, ARM Limited, All Rights Reserved
18
* SPDX-License-Identifier: Apache-2.0
19
*
20
* Licensed under the Apache License, Version 2.0 (the "License"); you may
21
* not use this file except in compliance with the License.
22
* You may obtain a copy of the License at
23
*
24
* http://www.apache.org/licenses/LICENSE-2.0
25
*
26
* Unless required by applicable law or agreed to in writing, software
27
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
28
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
* See the License for the specific language governing permissions and
30
* limitations under the License.
31
*
32
* This file is part of mbed TLS (https://tls.mbed.org)
33
*/
34
35
#ifndef PSA_CRYPTO_TYPES_H
36
#define PSA_CRYPTO_TYPES_H
37
38
#include <stdint.h>
39
50
/* If #PSA_SUCCESS is already defined, it means that #psa_status_t
51
* is also defined in an external header, so prevent its multiple
52
* definition.
53
*/
54
#ifndef PSA_SUCCESS
55
typedef
int32_t
psa_status_t
;
56
#endif
57
66
typedef
uint16_t
psa_key_type_t
;
67
77
typedef
uint8_t
psa_ecc_curve_t
;
78
88
typedef
uint8_t
psa_dh_group_t
;
89
98
typedef
uint32_t
psa_algorithm_t
;
99
141
typedef
uint32_t
psa_key_lifetime_t
;
142
186
typedef
uint8_t
psa_key_persistence_t
;
187
220
typedef
uint32_t
psa_key_location_t
;
221
231
/* Implementation-specific quirk: The Mbed Crypto library can be built as
232
* part of a multi-client service that exposes the PSA Crypto API in each
233
* client and encodes the client identity in the key id argument of functions
234
* such as psa_open_key(). In this build configuration, we define
235
* psa_key_id_t in crypto_platform.h instead of here. */
236
#if !defined(MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER)
237
typedef
uint32_t
psa_key_id_t
;
238
#define PSA_KEY_ID_INIT 0
239
#endif
240
248
typedef
uint32_t
psa_key_usage_t
;
249
362
typedef
struct
psa_key_attributes_s
psa_key_attributes_t
;
363
364
365
#ifndef __DOXYGEN_ONLY__
366
#if defined(MBEDTLS_PSA_CRYPTO_SE_C)
367
/* Mbed Crypto defines this type in crypto_types.h because it is also
368
* visible to applications through an implementation-specific extension.
369
* For the PSA Cryptography specification, this type is only visible
370
* via crypto_se_driver.h. */
371
typedef
uint64_t
psa_key_slot_number_t
;
372
#endif
/* MBEDTLS_PSA_CRYPTO_SE_C */
373
#endif
/* !__DOXYGEN_ONLY__ */
374
382
typedef
uint16_t
psa_key_derivation_step_t
;
383
386
#endif
/* PSA_CRYPTO_TYPES_H */
psa_status_t
int32_t psa_status_t
Function return status.
Definition:
crypto_types.h:55
psa_key_attributes_s
Definition:
crypto_struct.h:343
psa_key_persistence_t
uint8_t psa_key_persistence_t
Definition:
crypto_types.h:186
psa_ecc_curve_t
uint8_t psa_ecc_curve_t
Definition:
crypto_types.h:77
psa_key_id_t
uint32_t psa_key_id_t
Definition:
crypto_types.h:237
psa_key_location_t
uint32_t psa_key_location_t
Definition:
crypto_types.h:220
psa_key_slot_number_t
uint64_t psa_key_slot_number_t
Definition:
crypto_se_driver.h:148
psa_key_usage_t
uint32_t psa_key_usage_t
Encoding of permitted usage on a key.
Definition:
crypto_types.h:248
psa_algorithm_t
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition:
crypto_types.h:98
psa_key_derivation_step_t
uint16_t psa_key_derivation_step_t
Encoding of the step of a key derivation.
Definition:
crypto_types.h:382
psa_key_type_t
uint16_t psa_key_type_t
Encoding of a key type.
Definition:
crypto_types.h:66
psa_key_lifetime_t
uint32_t psa_key_lifetime_t
Definition:
crypto_types.h:141
psa_dh_group_t
uint8_t psa_dh_group_t
Definition:
crypto_types.h:88
Generated on Sun Jul 19 2020 13:02:29 for mbed TLS v2.23.0 by
1.8.18