psa_drv_se_t
crypto_se_driver.h
uint32_t uint32_t psa_drv_se_t::hal_version hal_version psa_drv_se_t::hal_version

The version of the driver HAL that this driver implements. This is a protection against loading driver binaries built against a different version of this specification. Use PSA_DRV_SE_HAL_VERSION.

size_t size_t psa_drv_se_t::persistent_data_size persistent_data_size psa_drv_se_t::persistent_data_size

The size of the driver's persistent data in bytes.

This can be 0 if the driver does not need persistent data.

See the documentation of psa_drv_se_context_t::persistent_data for more information about why and how a driver can use persistent data.

psa_drv_se_init_t psa_drv_se_init_t psa_drv_se_t::p_init p_init psa_drv_se_t::p_init

The driver initialization function.

This function is called once during the initialization of the PSA Cryptography subsystem, before any other function of the driver is called. If this function returns a failure status, the driver will be unusable, at least until the next system reset.

If this field is `NULL`, it is equivalent to a function that does nothing and returns PSA_SUCCESS.

const psa_drv_se_key_management_t * const psa_drv_se_key_management_t* psa_drv_se_t::key_management key_management psa_drv_se_t::key_management
const psa_drv_se_mac_t * const psa_drv_se_mac_t* psa_drv_se_t::mac mac psa_drv_se_t::mac
const psa_drv_se_cipher_t * const psa_drv_se_cipher_t* psa_drv_se_t::cipher cipher psa_drv_se_t::cipher
const psa_drv_se_aead_t * const psa_drv_se_aead_t* psa_drv_se_t::aead aead psa_drv_se_t::aead
const psa_drv_se_asymmetric_t * const psa_drv_se_asymmetric_t* psa_drv_se_t::asymmetric asymmetric psa_drv_se_t::asymmetric
const psa_drv_se_key_derivation_t * const psa_drv_se_key_derivation_t* psa_drv_se_t::derivation derivation psa_drv_se_t::derivation

A structure containing pointers to all the entry points of a secure element driver.

Future versions of this specification may add extra substructures at the end of this structure.

psa_drv_se_aead_t
p_decrypt
p_encrypt
psa_drv_se_asymmetric_t
p_decrypt
p_encrypt
p_sign
p_verify
psa_drv_se_cipher_t
p_ecb
p_setup
psa_drv_se_context_t
psa_drv_se_key_derivation_t
p_setup
psa_drv_se_key_management_t
p_allocate
p_destroy
p_export
p_export_public
p_generate
p_import
p_validate_slot_number
psa_drv_se_mac_t
p_mac
p_mac_verify
p_setup
psa_drv_se_t
p_init
key_management
mac
cipher
aead
asymmetric
derivation
- psa_drv_se_t
  aead
- psa_drv_se_t
  asymmetric
- psa_drv_se_t
  cipher
- psa_drv_se_t
  derivation
- psa_drv_se_t
  hal_version
- psa_drv_se_t
  key_management
- psa_drv_se_t
  mac
- psa_drv_se_t
  p_init
- psa_drv_se_t
  persistent_data_size