Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

psa_crypto_its.h File Reference

psa_crypto_its.h File Reference

Interface of trusted storage that crypto is built on. More...

Go to the source code of this file.

Data Structures

struct  psa_storage_info_t
 A container for metadata associated with a specific uid. More...

Typedefs

typedef uint32_t psa_storage_create_flags_t
 Flags used when creating a data entry.
typedef uint64_t psa_storage_uid_t
 A type for UIDs used for identifying data.

Functions

psa_status_t psa_its_set (psa_storage_uid_t uid, uint32_t data_length, const void *p_data, psa_storage_create_flags_t create_flags)
 create a new or modify an existing uid/value pair
psa_status_t psa_its_get (psa_storage_uid_t uid, uint32_t data_offset, uint32_t data_length, void *p_data, size_t *p_data_length)
 Retrieve the value associated with a provided uid.
psa_status_t psa_its_get_info (psa_storage_uid_t uid, struct psa_storage_info_t *p_info)
 Retrieve the metadata about the provided uid.
psa_status_t psa_its_remove (psa_storage_uid_t uid)
 Remove the provided key and its associated data from the storage.

Detailed Description

Interface of trusted storage that crypto is built on.

Definition in file psa_crypto_its.h.


Typedef Documentation

typedef uint32_t psa_storage_create_flags_t

Flags used when creating a data entry.

Definition at line 35 of file psa_crypto_its.h.

typedef uint64_t psa_storage_uid_t

A type for UIDs used for identifying data.

Definition at line 39 of file psa_crypto_its.h.


Function Documentation

psa_status_t psa_its_get ( psa_storage_uid_t  uid,
uint32_t  data_offset,
uint32_t  data_length,
void *  p_data,
size_t *  p_data_length 
)

Retrieve the value associated with a provided uid.

Parameters:
[in]uidThe uid value
[in]data_offsetThe starting offset of the data requested
[in]data_lengththe amount of data requested (and the minimum allocated size of the `p_data` buffer)
[out]p_dataThe buffer where the data will be placed upon successful completion
[out]p_data_lengthThe amount of data returned in the p_data buffer
Returns:
A status indicating the success/failure of the operation
Return values:
PSA_SUCCESSThe operation completed successfully
PSA_ERROR_DOES_NOT_EXISTThe operation failed because the provided `uid` value was not found in the storage
PSA_ERROR_INVALID_SIZEThe operation failed because the data associated with provided uid is larger than `data_size`
PSA_ERROR_STORAGE_FAILUREThe operation failed because the physical storage has failed (Fatal error)
PSA_ERROR_INVALID_ARGUMENTThe operation failed because one of the provided pointers(`p_data`, `p_data_length`) is invalid. For example is `NULL` or references memory the caller cannot access. In addition, this can also happen if an invalid offset was provided.

Definition at line 139 of file psa_its_file.c.

psa_status_t psa_its_get_info ( psa_storage_uid_t  uid,
struct psa_storage_info_t p_info 
)

Retrieve the metadata about the provided uid.

Parameters:
[in]uidThe uid value
[out]p_infoA pointer to the `psa_storage_info_t` struct that will be populated with the metadata
Returns:
A status indicating the success/failure of the operation
Return values:
PSA_SUCCESSThe operation completed successfully
PSA_ERROR_DOES_NOT_EXISTThe operation failed because the provided uid value was not found in the storage
PSA_ERROR_STORAGE_FAILUREThe operation failed because the physical storage has failed (Fatal error)
PSA_ERROR_INVALID_ARGUMENTThe operation failed because one of the provided pointers(`p_info`) is invalid, for example is `NULL` or references memory the caller cannot access

Definition at line 128 of file psa_its_file.c.

psa_status_t psa_its_remove ( psa_storage_uid_t  uid )

Remove the provided key and its associated data from the storage.

Parameters:
[in]uidThe uid value
Returns:
A status indicating the success/failure of the operation
Return values:
PSA_SUCCESSThe operation completed successfully
PSA_ERROR_DOES_NOT_EXISTThe operation failed because the provided key value was not found in the storage
PSA_ERROR_NOT_PERMITTEDThe operation failed because the provided key value was created with PSA_STORAGE_WRITE_ONCE_FLAG
PSA_ERROR_STORAGE_FAILUREThe operation failed because the physical storage has failed (Fatal error)

Definition at line 241 of file psa_its_file.c.

psa_status_t psa_its_set ( psa_storage_uid_t  uid,
uint32_t  data_length,
const void *  p_data,
psa_storage_create_flags_t  create_flags 
)

create a new or modify an existing uid/value pair

Parameters:
[in]uidthe identifier for the data
[in]data_lengthThe size in bytes of the data in `p_data`
[in]p_dataA buffer containing the data
[in]create_flagsThe flags that the data will be stored with
Returns:
A status indicating the success/failure of the operation
Return values:
PSA_SUCCESSThe operation completed successfully
PSA_ERROR_NOT_PERMITTEDThe operation failed because the provided `uid` value was already created with PSA_STORAGE_WRITE_ONCE_FLAG
PSA_ERROR_NOT_SUPPORTEDThe operation failed because one or more of the flags provided in `create_flags` is not supported or is not valid
PSA_ERROR_INSUFFICIENT_STORAGEThe operation failed because there was insufficient space on the storage medium
PSA_ERROR_STORAGE_FAILUREThe operation failed because the physical storage has failed (Fatal error)
PSA_ERROR_INVALID_ARGUMENTThe operation failed because one of the provided pointers(`p_data`) is invalid, for example is `NULL` or references memory the caller cannot access

Definition at line 187 of file psa_its_file.c.