WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
crypto_errno.h
浏览该文件的文档.
1
9#ifndef CRYPTO_ERRNO_H
10#define CRYPTO_ERRNO_H
11
17/* Error for Environments Definition. */
18#define ERROR_ENV_LINUX 0x1
19#define ERROR_ENV_ITRUSTEE 0x2
20#define ERROR_ENV_OPTEE 0x3
21#define ERROR_ENV_LITEOS 0x4
22#define ERROR_ENV_SELITEOS 0x5
23#define ERROR_ENV_NOOS 0x6
24#define ERROR_ENV_FREERTOS 0x7
25#define ERROR_ENV_ALIOS 0x8
26
27/* Error for Layer Enumerations. */
28enum {
34};
35
36/* Error for Module Enumerations. */
37enum {
44};
45
46/* Error for Error Code Enumerations. */
47enum {
48 /* Common Error Code. 0x00 ~ 0x3F. */
49 ERROR_INVALID_PARAM = 0x0, /* return when the input param's value is not in the valid range. */
50 ERROR_PARAM_IS_NULL, /* return when the input param is NULL and required not NULL. */
51 ERROR_NOT_INIT, /* return when call other functions before call init function. */
52 ERROR_UNSUPPORT, /* return when some configuration is unsupport. */
53 ERROR_UNEXPECTED, /* reture when unexpected error occurs. */
54 ERROR_CHN_BUSY, /* return when try to create one channel but all channels are busy. */
55 ERROR_CTX_CLOSED, /* return when using one ctx to do something but has been closed. */
56 ERROR_NOT_SET_CONFIG, /* return when not set_config but need for symc. */
57 ERROR_NOT_ATTACHED, /* return when not attach but need for symc. */
58 ERROR_NOT_MAC_START, /* return when not mac_start but need for symc. */
59 ERROR_INVALID_HANDLE, /* return when pass one invalid handle. */
60 ERROR_GET_PHYS_ADDR, /* return when transfer from virt_addr to phys_addr failed. */
61 ERROR_SYMC_LEN_NOT_ALIGNED, /* return when length isn't aligned to 16-Byte except CTR/CCM/GCM. */
62 ERROR_SYMC_ADDR_NOT_ALIGNED, /* return when the phys_addr writing to register is not aligned to 4-Byte. */
63 ERROR_PKE_RSA_SAME_DATA, /* return when rsa exp_mod, the input is equal to output. */
64 ERROR_PKE_RSA_CRYPTO_V15_CHECK, /* return when rsa crypto v15 padding check failed. */
65 ERROR_PKE_RSA_CRYPTO_OAEP_CHECK, /* return when rsa crypto oaep padding check failed. */
66 ERROR_PKE_RSA_VERIFY_V15_CHECK, /* return when rsa verify v15 padding check failed. */
67 ERROR_PKE_RSA_VERIFY_PSS_CHECK, /* return when rsa verify pss padding check failed. */
68 ERROR_PKE_RSA_GEN_KEY, /* return when rsa generate key failed. */
69
70 ERROR_PKE_ECDSA_VERIFY_CHECK, /* return when ecdsa verify check failed. */
71 /* Outer's Error Code. 0x40 ~ 0x5F. */
72 ERROR_MEMCPY_S = 0x40, /* return when call memcpy_s failed. */
73 ERROR_MALLOC, /* return when call xxx_malloc failed. */
74 ERROR_MUTEX_INIT, /* return when call xxx_mutex_init failed. */
75 ERROR_MUTEX_LOCK, /* return when call xxx_lock failed. */
76 /* Specific Error Code for UAPI. 0x60 ~ 0x6F. */
77 ERROR_DEV_OPEN_FAILED, /* return when open dev failed. */
78 ERROR_COUNT_OVERFLOW, /* return when call init too many times. */
79
80 /* Specific Error Code for Dispatch. 0x70 ~ 0x7F. */
81 ERROR_CMD_DISMATCH = 0x70, /* return when cmd is dismatched. */
82 ERROR_COPY_FROM_USER, /* return when call copy_from_user failed. */
83 ERROR_COPY_TO_USER, /* return when call copy_to_user failed. */
84 ERROR_MEM_HANDLE_GET, /* return when parse user's mem handle to kernel's mem handle failed. */
85 ERROR_GET_OWNER, /* return when call crypto_get_owner failed. */
86
87 /* Specific Error Code for KAPI. 0x80 ~ 0x8F. */
88 ERROR_PROCESS_NOT_INIT = 0x80, /* return when one process not call kapi_xxx_init first. */
89 ERROR_MAX_PROCESS, /* return when process's num is over the limit. */
90 ERROR_MEMORY_ACCESS, /* return when access the memory that does not belong to itself. */
91 ERROR_INVALID_PROCESS, /* return when the process accesses resources of other processes. */
92 /* Specific Error Code for DRV. 0x90 ~ 0x9F. */
93
94 /* Specific Error Code for HAL. 0xA0 ~ 0xAF. */
95 ERROR_HASH_LOGIC = 0xA0, /* return when hash logic's error occurs. */
96 ERROR_PKE_LOGIC, /* return when pke logic's error occurs. */
97 ERROR_INVALID_CPU_TYPE, /* return when logic get the invalid cpu type. */
98 ERROR_INVALID_REGISTER_VALUE, /* return when value in register is invalid. */
99 ERROR_INVALID_PHYS_ADDR, /* return when phys_addr is invalid. */
100
101 /* Specific Error Code for Timeout. 0xB0 ~ 0xBF. */
102 ERROR_GET_TRNG_TIMEOUT = 0xB0, /* return when logic get rnd timeout. */
103 ERROR_HASH_CLEAR_CHN_TIMEOUT, /* return when clear hash channel timeout. */
104 ERROR_HASH_CALC_TIMEOUT, /* return when hash calculation timeout. */
105 ERROR_SYMC_CLEAR_CHN_TIMEOUT, /* return when clear symc channel timeout. */
106 ERROR_SYMC_CALC_TIMEOUT, /* return when symc crypto timeout. */
107 ERROR_SYMC_GET_TAG_TIMEOUT, /* return when symc get tag timeout. */
108 ERROR_PKE_LOCK_TIMEOUT, /* return when pke lock timeout. */
109 ERROR_PKE_WAIT_DONE_TIMEOUT, /* return when pke wait done timeout. */
110 ERROR_PKE_ROBUST_WARNING, /* return when pke wait done timeout. */
111};
112
113#define CRYPTO_COMPAT_ERRNO(env, layer, module, err_code) \
114 ((((env) & 0xF) << 28) | (((layer) & 0xF) << 24) | (((module) & 0xF) << 20) | ((err_code) & 0xFF))
115
116/* Notice: you should define CRYPTO_ERROR_ENV as one of ERROR_ENV_XXX before using these macros. */
117#define UAPI_COMPAT_ERRNO(module, err_code) \
118 CRYPTO_COMPAT_ERRNO(CRYPTO_ERROR_ENV, ERROR_LAYER_UAPI, module, err_code)
119
120#define DISPATCH_COMPAT_ERRNO(module, err_code) \
121 CRYPTO_COMPAT_ERRNO(CRYPTO_ERROR_ENV, ERROR_LAYER_DISPATCH, module, err_code)
122
123#define KAPI_COMPAT_ERRNO(module, err_code) \
124 CRYPTO_COMPAT_ERRNO(CRYPTO_ERROR_ENV, ERROR_LAYER_KAPI, module, err_code)
125
126#define DRV_COMPAT_ERRNO(module, err_code) \
127 CRYPTO_COMPAT_ERRNO(CRYPTO_ERROR_ENV, ERROR_LAYER_DRV, module, err_code)
128
129#define HAL_COMPAT_ERRNO(module, err_code) \
130 CRYPTO_COMPAT_ERRNO(CRYPTO_ERROR_ENV, ERROR_LAYER_HAL, module, err_code)
131
132enum {
134 CRYPTO_FAILURE = 0xffffffff,
135};
136
137#endif
@ ERROR_COUNT_OVERFLOW
Definition crypto_errno.h:78
@ ERROR_INVALID_PHYS_ADDR
Definition crypto_errno.h:99
@ ERROR_HASH_LOGIC
Definition crypto_errno.h:95
@ ERROR_CMD_DISMATCH
Definition crypto_errno.h:81
@ ERROR_PKE_WAIT_DONE_TIMEOUT
Definition crypto_errno.h:109
@ ERROR_NOT_MAC_START
Definition crypto_errno.h:58
@ ERROR_MEM_HANDLE_GET
Definition crypto_errno.h:84
@ ERROR_PKE_RSA_CRYPTO_OAEP_CHECK
Definition crypto_errno.h:65
@ ERROR_INVALID_PROCESS
Definition crypto_errno.h:91
@ ERROR_PKE_RSA_VERIFY_PSS_CHECK
Definition crypto_errno.h:67
@ ERROR_PKE_LOGIC
Definition crypto_errno.h:96
@ ERROR_UNSUPPORT
Definition crypto_errno.h:52
@ ERROR_PKE_ECDSA_VERIFY_CHECK
Definition crypto_errno.h:70
@ ERROR_PKE_RSA_GEN_KEY
Definition crypto_errno.h:68
@ ERROR_INVALID_REGISTER_VALUE
Definition crypto_errno.h:98
@ ERROR_COPY_TO_USER
Definition crypto_errno.h:83
@ ERROR_INVALID_HANDLE
Definition crypto_errno.h:59
@ ERROR_MUTEX_LOCK
Definition crypto_errno.h:75
@ ERROR_UNEXPECTED
Definition crypto_errno.h:53
@ ERROR_SYMC_CALC_TIMEOUT
Definition crypto_errno.h:106
@ ERROR_COPY_FROM_USER
Definition crypto_errno.h:82
@ ERROR_PKE_RSA_SAME_DATA
Definition crypto_errno.h:63
@ ERROR_GET_PHYS_ADDR
Definition crypto_errno.h:60
@ ERROR_NOT_SET_CONFIG
Definition crypto_errno.h:56
@ ERROR_SYMC_LEN_NOT_ALIGNED
Definition crypto_errno.h:61
@ ERROR_PROCESS_NOT_INIT
Definition crypto_errno.h:88
@ ERROR_DEV_OPEN_FAILED
Definition crypto_errno.h:77
@ ERROR_MAX_PROCESS
Definition crypto_errno.h:89
@ ERROR_MUTEX_INIT
Definition crypto_errno.h:74
@ ERROR_MEMORY_ACCESS
Definition crypto_errno.h:90
@ ERROR_INVALID_PARAM
Definition crypto_errno.h:49
@ ERROR_SYMC_ADDR_NOT_ALIGNED
Definition crypto_errno.h:62
@ ERROR_HASH_CALC_TIMEOUT
Definition crypto_errno.h:104
@ ERROR_GET_OWNER
Definition crypto_errno.h:85
@ ERROR_GET_TRNG_TIMEOUT
Definition crypto_errno.h:102
@ ERROR_PKE_RSA_VERIFY_V15_CHECK
Definition crypto_errno.h:66
@ ERROR_NOT_ATTACHED
Definition crypto_errno.h:57
@ ERROR_MEMCPY_S
Definition crypto_errno.h:72
@ ERROR_CTX_CLOSED
Definition crypto_errno.h:55
@ ERROR_PKE_ROBUST_WARNING
Definition crypto_errno.h:110
@ ERROR_HASH_CLEAR_CHN_TIMEOUT
Definition crypto_errno.h:103
@ ERROR_PKE_LOCK_TIMEOUT
Definition crypto_errno.h:108
@ ERROR_INVALID_CPU_TYPE
Definition crypto_errno.h:97
@ ERROR_MALLOC
Definition crypto_errno.h:73
@ ERROR_PKE_RSA_CRYPTO_V15_CHECK
Definition crypto_errno.h:64
@ ERROR_PARAM_IS_NULL
Definition crypto_errno.h:50
@ ERROR_SYMC_CLEAR_CHN_TIMEOUT
Definition crypto_errno.h:105
@ ERROR_CHN_BUSY
Definition crypto_errno.h:54
@ ERROR_SYMC_GET_TAG_TIMEOUT
Definition crypto_errno.h:107
@ ERROR_NOT_INIT
Definition crypto_errno.h:51
@ ERROR_MODULE_SYMC
Definition crypto_errno.h:38
@ ERROR_MODULE_KM
Definition crypto_errno.h:42
@ ERROR_MODULE_PKE
Definition crypto_errno.h:40
@ ERROR_MODULE_HASH
Definition crypto_errno.h:39
@ ERROR_MODULE_OTHER
Definition crypto_errno.h:43
@ ERROR_MODULE_TRNG
Definition crypto_errno.h:41
@ CRYPTO_FAILURE
Definition crypto_errno.h:134
@ CRYPTO_SUCCESS
Definition crypto_errno.h:133
@ ERROR_LAYER_DRV
Definition crypto_errno.h:32
@ ERROR_LAYER_UAPI
Definition crypto_errno.h:29
@ ERROR_LAYER_DISPATCH
Definition crypto_errno.h:30
@ ERROR_LAYER_KAPI
Definition crypto_errno.h:31
@ ERROR_LAYER_HAL
Definition crypto_errno.h:33