#ifndef PSA_CRYPTO_STRUCT_H
#define PSA_CRYPTO_STRUCT_H
#include "mbedtls/private_access.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "psa/build_info.h"
#include "psa/crypto_driver_contexts_primitives.h"
struct psa_hash_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_HASH_OPERATION_INIT …
#else
#define PSA_HASH_OPERATION_INIT …
#endif
static inline struct psa_hash_operation_s psa_hash_operation_init(void)
{ … }
struct psa_cipher_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_CIPHER_OPERATION_INIT …
#else
#define PSA_CIPHER_OPERATION_INIT …
#endif
static inline struct psa_cipher_operation_s psa_cipher_operation_init(void)
{ … }
#include "psa/crypto_driver_contexts_composites.h"
struct psa_mac_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_MAC_OPERATION_INIT …
#else
#define PSA_MAC_OPERATION_INIT …
#endif
static inline struct psa_mac_operation_s psa_mac_operation_init(void)
{ … }
struct psa_aead_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_AEAD_OPERATION_INIT …
#else
#define PSA_AEAD_OPERATION_INIT …
#endif
static inline struct psa_aead_operation_s psa_aead_operation_init(void)
{ … }
#include "psa/crypto_driver_contexts_key_derivation.h"
struct psa_key_derivation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_KEY_DERIVATION_OPERATION_INIT …
#else
#define PSA_KEY_DERIVATION_OPERATION_INIT …
#endif
static inline struct psa_key_derivation_s psa_key_derivation_operation_init(
void)
{ … }
struct psa_custom_key_parameters_s { … };
#define PSA_CUSTOM_KEY_PARAMETERS_INIT …
#ifndef __cplusplus
struct psa_key_production_parameters_s { … };
#define PSA_KEY_PRODUCTION_PARAMETERS_INIT …
#endif
struct psa_key_policy_s { … };
psa_key_policy_t;
#define PSA_KEY_POLICY_INIT …
static inline struct psa_key_policy_s psa_key_policy_init(void)
{ … }
psa_key_bits_t;
#define PSA_KEY_BITS_TOO_LARGE …
#define PSA_MAX_KEY_BITS …
struct psa_key_attributes_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_SE_C)
#define PSA_KEY_ATTRIBUTES_MAYBE_SLOT_NUMBER …
#else
#define PSA_KEY_ATTRIBUTES_MAYBE_SLOT_NUMBER
#endif
#define PSA_KEY_ATTRIBUTES_INIT …
static inline struct psa_key_attributes_s psa_key_attributes_init(void)
{ … }
static inline void psa_set_key_id(psa_key_attributes_t *attributes,
mbedtls_svc_key_id_t key)
{ … }
static inline mbedtls_svc_key_id_t psa_get_key_id(
const psa_key_attributes_t *attributes)
{ … }
#ifdef MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
static inline void mbedtls_set_key_owner_id(psa_key_attributes_t *attributes,
mbedtls_key_owner_id_t owner)
{
attributes->MBEDTLS_PRIVATE(id).MBEDTLS_PRIVATE(owner) = owner;
}
#endif
static inline void psa_set_key_lifetime(psa_key_attributes_t *attributes,
psa_key_lifetime_t lifetime)
{ … }
static inline psa_key_lifetime_t psa_get_key_lifetime(
const psa_key_attributes_t *attributes)
{ … }
static inline void psa_extend_key_usage_flags(psa_key_usage_t *usage_flags)
{ … }
static inline void psa_set_key_usage_flags(psa_key_attributes_t *attributes,
psa_key_usage_t usage_flags)
{ … }
static inline psa_key_usage_t psa_get_key_usage_flags(
const psa_key_attributes_t *attributes)
{ … }
static inline void psa_set_key_algorithm(psa_key_attributes_t *attributes,
psa_algorithm_t alg)
{ … }
static inline psa_algorithm_t psa_get_key_algorithm(
const psa_key_attributes_t *attributes)
{ … }
static inline void psa_set_key_type(psa_key_attributes_t *attributes,
psa_key_type_t type)
{ … }
static inline psa_key_type_t psa_get_key_type(
const psa_key_attributes_t *attributes)
{ … }
static inline void psa_set_key_bits(psa_key_attributes_t *attributes,
size_t bits)
{ … }
static inline size_t psa_get_key_bits(
const psa_key_attributes_t *attributes)
{ … }
struct psa_sign_hash_interruptible_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT …
#else
#define PSA_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT …
#endif
static inline struct psa_sign_hash_interruptible_operation_s
psa_sign_hash_interruptible_operation_init(void)
{ … }
struct psa_verify_hash_interruptible_operation_s { … };
#if defined(MBEDTLS_PSA_CRYPTO_CLIENT) && !defined(MBEDTLS_PSA_CRYPTO_C)
#define PSA_VERIFY_HASH_INTERRUPTIBLE_OPERATION_INIT …
#else
#define PSA_VERIFY_HASH_INTERRUPTIBLE_OPERATION_INIT …
#endif
static inline struct psa_verify_hash_interruptible_operation_s
psa_verify_hash_interruptible_operation_init(void)
{ … }
#ifdef __cplusplus
}
#endif
#endif