Mistake on this page?
Report an issue in GitHub or email us
Macros | Functions
psa_prot_internal_storage.h File Reference

This file describes the PSA Internal Trusted Storage API. More...

#include <stddef.h>
#include <stdint.h>
#include "psa/error.h"
#include "psa/storage_common.h"
#include "mbed_toolchain.h"

Go to the source code of this file.

Macros

#define PSA_ITS_API_VERSION_MAJOR   1
 The major version number of the PSA ITS API. More...
 
#define PSA_ITS_API_VERSION_MINOR   1
 The minor version number of the PSA ITS API. More...
 

Functions

psa_status_t psa_its_set (psa_storage_uid_t uid, size_t data_length, const void *p_data, psa_storage_create_flags_t create_flags)
 create a new or modify an existing uid/value pair More...
 
psa_status_t psa_its_get (psa_storage_uid_t uid, size_t data_offset, size_t data_length, void *p_data, size_t *p_data_length)
 Retrieve the value associated with a provided uid. More...
 
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. More...
 
psa_status_t psa_its_remove (psa_storage_uid_t uid)
 Remove the provided key and its associated data from the storage. More...
 

Detailed Description

This file describes the PSA Internal Trusted Storage API.

Definition in file psa_prot_internal_storage.h.

Macro Definition Documentation

#define PSA_ITS_API_VERSION_MAJOR   1

The major version number of the PSA ITS API.

It will be incremented on significant updates that may include breaking changes

Definition at line 33 of file psa_prot_internal_storage.h.

#define PSA_ITS_API_VERSION_MINOR   1

The minor version number of the PSA ITS API.

It will be incremented in small updates that are unlikely to include breaking changes

Definition at line 34 of file psa_prot_internal_storage.h.

Function Documentation

psa_status_t psa_its_get ( psa_storage_uid_t  uid,
size_t  data_offset,
size_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 actual amount of data returned
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_BUFFER_TOO_SMALLThe operation failed because the data associated with provided uid is not the same size as 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
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
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)
psa_status_t psa_its_set ( psa_storage_uid_t  uid,
size_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_ARGUMENTSThe operation failed because one of the provided pointers(p_data) is invalid, for example is NULL or references memory the caller cannot access
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.