Interface of trusted storage that crypto is built on. More...
#include <stddef.h>#include <stdint.h>#include <psa/crypto_types.h>#include <psa/crypto_values.h>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... | |
| Macros | |
| #define | PSA_STORAGE_FLAG_NONE 0 | 
| No flags to pass.  More... | |
| #define | PSA_STORAGE_FLAG_WRITE_ONCE (1 << 0) | 
| The data associated with the uid will not be able to be modified or deleted.  More... | |
| #define | PSA_STORAGE_SUPPORT_SET_EXTENDED (1 << 0) | 
| Flag indicating that psa_storage_create and psa_storage_set_extended are supported.  More... | |
| #define | PSA_ERROR_INVALID_SIGNATURE ((psa_status_t)-149) | 
| PSA storage specific error codes.  More... | |
| #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... | |
| Typedefs | |
| typedef uint32_t | psa_storage_create_flags_t | 
| Flags used when creating a data entry.  More... | |
| typedef uint64_t | psa_storage_uid_t | 
| A type for UIDs used for identifying data.  More... | |
| 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  More... | |
| 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.  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... | |
Interface of trusted storage that crypto is built on.
Definition in file psa_crypto_its.h.
| #define PSA_ERROR_INVALID_SIGNATURE ((psa_status_t)-149) | 
PSA storage specific error codes.
Definition at line 59 of file psa_crypto_its.h.
| #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 62 of file psa_crypto_its.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 63 of file psa_crypto_its.h.
| #define PSA_STORAGE_FLAG_NONE 0 | 
No flags to pass.
Definition at line 42 of file psa_crypto_its.h.
| #define PSA_STORAGE_FLAG_WRITE_ONCE (1 << 0) | 
The data associated with the uid will not be able to be modified or deleted.
Intended to be used to set bits in psa_storage_create_flags_t 
Definition at line 43 of file psa_crypto_its.h.
| #define PSA_STORAGE_SUPPORT_SET_EXTENDED (1 << 0) | 
Flag indicating that psa_storage_create and psa_storage_set_extended are supported.
Definition at line 55 of file psa_crypto_its.h.
| typedef uint32_t psa_storage_create_flags_t | 
Flags used when creating a data entry.
Definition at line 36 of file psa_crypto_its.h.
| typedef uint64_t psa_storage_uid_t | 
A type for UIDs used for identifying data.
Definition at line 40 of file psa_crypto_its.h.
| 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.
| [in] | uid | The uid value | 
| [in] | data_offset | The starting offset of the data requested | 
| [in] | data_length | the amount of data requested (and the minimum allocated size of the p_databuffer) | 
| [out] | p_data | The buffer where the data will be placed upon successful completion | 
| [out] | p_data_length | The amount of data returned in the p_data buffer | 
| PSA_SUCCESS | The operation completed successfully | 
| PSA_ERROR_DOES_NOT_EXIST | The operation failed because the provided uidvalue was not found in the storage | 
| PSA_ERROR_INVALID_SIZE | The operation failed because the data associated with provided uid is larger than data_size | 
| PSA_ERROR_STORAGE_FAILURE | The operation failed because the physical storage has failed (Fatal error) | 
| PSA_ERROR_INVALID_ARGUMENT | The operation failed because one of the provided pointers( p_data,p_data_length) is invalid. For example isNULLor references memory the caller cannot access. In addition, this can also happen if an invalid offset was provided. | 
| 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.
| [in] | uid | The uid value | 
| [out] | p_info | A pointer to the psa_storage_info_tstruct that will be populated with the metadata | 
| PSA_SUCCESS | The operation completed successfully | 
| PSA_ERROR_DOES_NOT_EXIST | The operation failed because the provided uid value was not found in the storage | 
| PSA_ERROR_STORAGE_FAILURE | The operation failed because the physical storage has failed (Fatal error) | 
| PSA_ERROR_INVALID_ARGUMENT | The operation failed because one of the provided pointers( p_info) is invalid, for example isNULLor 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.
| [in] | uid | The uid value | 
| PSA_SUCCESS | The operation completed successfully | 
| PSA_ERROR_DOES_NOT_EXIST | The operation failed because the provided key value was not found in the storage | 
| PSA_ERROR_NOT_PERMITTED | The operation failed because the provided key value was created with PSA_STORAGE_WRITE_ONCE_FLAG | 
| PSA_ERROR_STORAGE_FAILURE | The operation failed because the physical storage has failed (Fatal error) | 
| 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
| [in] | uid | the identifier for the data | 
| [in] | data_length | The size in bytes of the data in p_data | 
| [in] | p_data | A buffer containing the data | 
| [in] | create_flags | The flags that the data will be stored with | 
| PSA_SUCCESS | The operation completed successfully | 
| PSA_ERROR_NOT_PERMITTED | The operation failed because the provided uidvalue was already created with PSA_STORAGE_WRITE_ONCE_FLAG | 
| PSA_ERROR_NOT_SUPPORTED | The operation failed because one or more of the flags provided in create_flagsis not supported or is not valid | 
| PSA_ERROR_INSUFFICIENT_STORAGE | The operation failed because there was insufficient space on the storage medium | 
| PSA_ERROR_STORAGE_FAILURE | The operation failed because the physical storage has failed (Fatal error) | 
| PSA_ERROR_INVALID_ARGUMENT | The operation failed because one of the provided pointers( p_data) is invalid, for example isNULLor references memory the caller cannot access |