common
PSA公共模块提供PSA Certified API通用的状态码类型、存储类型定义、结构体及宏常量,供其他PSA模块共用。
头文件清单
#include <middleware/utils/psa/psa_error.h>
#include <middleware/utils/psa/psa_storage_common.h>
接口清单
该模块无函数声明,仅提供类型定义与宏常量供其他PSA模块共用。
Type definitions
psa_status_t
typedef int32_t psa_status_t;
使用说明 PSA Certified API通用状态码类型,作为PSA各模块接口的返回值类型使用 [SDK公共基础类型]
psa_storage_create_flags_t
typedef uint32_t psa_storage_create_flags_t;
使用说明 PSA存储创建标志位类型,作为psa_storage_info_t结构体成员及PSA存储接口的参数类型使用
psa_storage_uid_t
typedef uint64_t psa_storage_uid_t;
使用说明 PSA存储唯一标识符类型,作为PSA存储接口的uid参数类型使用
Structures
psa_storage_info_t
struct psa_storage_info_t {
/// @brief The allocated capacity of the storage associated with a uid.
size_t capacity;
/// @brief The size of the data associated with a uid.
size_t size;
/// @brief The flags set when the uid was create
psa_storage_create_flags_t flags;
};
成员说明
| 成员名称 |
数据类型 |
描述 |
| capacity |
size_t |
与uid关联的存储分配容量 |
| size |
size_t |
与uid关联的数据大小 |
| flags |
psa_storage_create_flags_t |
创建uid时设置的标志位 |
Macros
PSA_STORAGE_FLAG_NONE
#define PSA_STORAGE_FLAG_NONE 0u
PSA_STORAGE_FLAG_WRITE_ONCE
#define PSA_STORAGE_FLAG_WRITE_ONCE (1u << 0)
PSA_STORAGE_FLAG_NO_CONFIDENTIALITY
#define PSA_STORAGE_FLAG_NO_CONFIDENTIALITY (1u << 1)
PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION
#define PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION (1u << 2)
PSA_STORAGE_SUPPORT_SET_EXTENDED
#define PSA_STORAGE_SUPPORT_SET_EXTENDED (1u << 0)
PSA_SUCCESS
#define PSA_SUCCESS ((psa_status_t)0)
PSA_ERROR_PROGRAMMER_ERROR
#define PSA_ERROR_PROGRAMMER_ERROR ((psa_status_t)-129)
PSA_ERROR_CONNECTION_REFUSED
#define PSA_ERROR_CONNECTION_REFUSED ((psa_status_t)-130)
PSA_ERROR_CONNECTION_BUSY
#define PSA_ERROR_CONNECTION_BUSY ((psa_status_t)-131)
PSA_ERROR_GENERIC_ERROR
#define PSA_ERROR_GENERIC_ERROR ((psa_status_t)-132)
PSA_ERROR_NOT_PERMITTED
#define PSA_ERROR_NOT_PERMITTED ((psa_status_t)-133)
PSA_ERROR_NOT_SUPPORTED
#define PSA_ERROR_NOT_SUPPORTED ((psa_status_t)-134)
PSA_ERROR_INVALID_ARGUMENT
#define PSA_ERROR_INVALID_ARGUMENT ((psa_status_t)-135)
PSA_ERROR_INVALID_HANDLE
#define PSA_ERROR_INVALID_HANDLE ((psa_status_t)-136)
PSA_ERROR_BAD_STATE
#define PSA_ERROR_BAD_STATE ((psa_status_t)-137)
PSA_ERROR_BUFFER_TOO_SMALL
#define PSA_ERROR_BUFFER_TOO_SMALL ((psa_status_t)-138)
PSA_ERROR_ALREADY_EXISTS
#define PSA_ERROR_ALREADY_EXISTS ((psa_status_t)-139)
PSA_ERROR_DOES_NOT_EXIST
#define PSA_ERROR_DOES_NOT_EXIST ((psa_status_t)-140)
PSA_ERROR_INSUFFICIENT_MEMORY
#define PSA_ERROR_INSUFFICIENT_MEMORY ((psa_status_t)-141)
PSA_ERROR_INSUFFICIENT_STORAGE
#define PSA_ERROR_INSUFFICIENT_STORAGE ((psa_status_t)-142)
PSA_ERROR_INSUFFICIENT_DATA
#define PSA_ERROR_INSUFFICIENT_DATA ((psa_status_t)-143)
PSA_ERROR_SERVICE_FAILURE
#define PSA_ERROR_SERVICE_FAILURE ((psa_status_t)-144)
PSA_ERROR_COMMUNICATION_FAILURE
#define PSA_ERROR_COMMUNICATION_FAILURE ((psa_status_t)-145)
PSA_ERROR_STORAGE_FAILURE
#define PSA_ERROR_STORAGE_FAILURE ((psa_status_t)-146)
PSA_ERROR_HARDWARE_FAILURE
#define PSA_ERROR_HARDWARE_FAILURE ((psa_status_t)-147)
PSA_ERROR_INVALID_SIGNATURE
#define PSA_ERROR_INVALID_SIGNATURE ((psa_status_t)-149)
PSA_ERROR_INVALID_PADDING
#define PSA_ERROR_INVALID_PADDING ((psa_status_t)-150)
PSA_ERROR_CORRUPTION_DETECTED
#define PSA_ERROR_CORRUPTION_DETECTED ((psa_status_t)-151)
PSA_ERROR_DATA_CORRUPT
#define PSA_ERROR_DATA_CORRUPT ((psa_status_t)-152)
PSA_ERROR_DATA_INVALID
#define PSA_ERROR_DATA_INVALID ((psa_status_t)-153)
PSA_OPERATION_INCOMPLETE
#define PSA_OPERATION_INCOMPLETE ((psa_status_t)-248)
PSA_ERR_KEY_SLOT_IS_FULL
#define PSA_ERR_KEY_SLOT_IS_FULL ((psa_status_t)-249)
PSA_ERR_MEMCPY_S
#define PSA_ERR_MEMCPY_S ((psa_status_t)-250)