跳转至

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)