1 /* 2 * Copyright (c) 2025-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 /** 17 * @file hks_type_error_code.h 18 * 19 * @brief Declares huks error code. 20 * 21 * @since 8 22 */ 23 24 #ifndef HKS_ERROR_CODE_H 25 #define HKS_ERROR_CODE_H 26 27 #include <stdbool.h> 28 #include <stdint.h> 29 #include <stdlib.h> 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 /** 36 * @brief hks error code 37 */ 38 enum HksErrorCode { 39 HKS_SUCCESS = 0, 40 HKS_FAILURE = -1, 41 HKS_ERROR_BAD_STATE = -2, 42 HKS_ERROR_INVALID_ARGUMENT = -3, 43 HKS_ERROR_NOT_SUPPORTED = -4, 44 HKS_ERROR_NO_PERMISSION = -5, 45 HKS_ERROR_INSUFFICIENT_DATA = -6, 46 HKS_ERROR_BUFFER_TOO_SMALL = -7, 47 HKS_ERROR_INSUFFICIENT_MEMORY = -8, 48 HKS_ERROR_COMMUNICATION_FAILURE = -9, 49 HKS_ERROR_STORAGE_FAILURE = -10, 50 HKS_ERROR_HARDWARE_FAILURE = -11, 51 HKS_ERROR_ALREADY_EXISTS = -12, 52 HKS_ERROR_NOT_EXIST = -13, 53 HKS_ERROR_NULL_POINTER = -14, 54 HKS_ERROR_FILE_SIZE_FAIL = -15, 55 HKS_ERROR_READ_FILE_FAIL = -16, 56 HKS_ERROR_INVALID_PUBLIC_KEY = -17, 57 HKS_ERROR_INVALID_PRIVATE_KEY = -18, 58 HKS_ERROR_INVALID_KEY_INFO = -19, 59 HKS_ERROR_HASH_NOT_EQUAL = -20, 60 HKS_ERROR_MALLOC_FAIL = -21, 61 HKS_ERROR_WRITE_FILE_FAIL = -22, 62 HKS_ERROR_REMOVE_FILE_FAIL = -23, 63 HKS_ERROR_OPEN_FILE_FAIL = -24, 64 HKS_ERROR_CLOSE_FILE_FAIL = -25, 65 HKS_ERROR_MAKE_DIR_FAIL = -26, 66 HKS_ERROR_INVALID_KEY_FILE = -27, 67 HKS_ERROR_IPC_MSG_FAIL = -28, 68 HKS_ERROR_REQUEST_OVERFLOWS = -29, 69 HKS_ERROR_PARAM_NOT_EXIST = -30, 70 HKS_ERROR_CRYPTO_ENGINE_ERROR = -31, 71 HKS_ERROR_COMMUNICATION_TIMEOUT = -32, 72 HKS_ERROR_IPC_INIT_FAIL = -33, 73 HKS_ERROR_IPC_DLOPEN_FAIL = -34, 74 HKS_ERROR_EFUSE_READ_FAIL = -35, 75 HKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST = -36, 76 HKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL = -37, 77 HKS_ERROR_VERIFICATION_FAILED = -38, 78 HKS_ERROR_SESSION_REACHED_LIMIT = -39, 79 80 HKS_ERROR_GET_USERIAM_SECINFO_FAILED = -40, 81 HKS_ERROR_GET_USERIAM_AUTHINFO_FAILED = -41, 82 HKS_ERROR_USER_AUTH_TYPE_NOT_SUPPORT = -42, 83 HKS_ERROR_KEY_AUTH_FAILED = -43, 84 HKS_ERROR_DEVICE_NO_CREDENTIAL = -44, 85 HKS_ERROR_API_NOT_SUPPORTED = -45, 86 HKS_ERROR_KEY_AUTH_PERMANENTLY_INVALIDATED = -46, 87 HKS_ERROR_KEY_AUTH_VERIFY_FAILED = -47, 88 HKS_ERROR_KEY_AUTH_TIME_OUT = -48, 89 90 HKS_ERROR_CREDENTIAL_NOT_EXIST = -49, 91 92 HKS_ERROR_CHECK_GET_ALG_FAIL = -100, 93 HKS_ERROR_CHECK_GET_KEY_SIZE_FAIL = -101, 94 HKS_ERROR_CHECK_GET_PADDING_FAIL = -102, 95 HKS_ERROR_CHECK_GET_PURPOSE_FAIL = -103, 96 HKS_ERROR_CHECK_GET_DIGEST_FAIL = -104, 97 HKS_ERROR_CHECK_GET_MODE_FAIL = -105, 98 HKS_ERROR_CHECK_GET_NONCE_FAIL = -106, 99 HKS_ERROR_CHECK_GET_AAD_FAIL = -107, 100 HKS_ERROR_CHECK_GET_IV_FAIL = -108, 101 HKS_ERROR_CHECK_GET_AE_TAG_FAIL = -109, 102 HKS_ERROR_CHECK_GET_SALT_FAIL = -110, 103 HKS_ERROR_CHECK_GET_ITERATION_FAIL = -111, 104 HKS_ERROR_INVALID_ALGORITHM = -112, 105 HKS_ERROR_INVALID_KEY_SIZE = -113, 106 HKS_ERROR_INVALID_PADDING = -114, 107 HKS_ERROR_INVALID_PURPOSE = -115, 108 HKS_ERROR_INVALID_MODE = -116, 109 HKS_ERROR_INVALID_DIGEST = -117, 110 HKS_ERROR_INVALID_SIGNATURE_SIZE = -118, 111 HKS_ERROR_INVALID_IV = -119, 112 HKS_ERROR_INVALID_AAD = -120, 113 HKS_ERROR_INVALID_NONCE = -121, 114 HKS_ERROR_INVALID_AE_TAG = -122, 115 HKS_ERROR_INVALID_SALT = -123, 116 HKS_ERROR_INVALID_ITERATION = -124, 117 HKS_ERROR_INVALID_OPERATION = -125, 118 HKS_ERROR_INVALID_WRAPPED_FORMAT = -126, 119 HKS_ERROR_INVALID_USAGE_OF_KEY = -127, 120 HKS_ERROR_CHECK_GET_AUTH_TYP_FAILED = -128, 121 HKS_ERROR_CHECK_GET_CHALLENGE_TYPE_FAILED = -129, 122 HKS_ERROR_CHECK_GET_ACCESS_TYPE_FAILED = -130, 123 HKS_ERROR_CHECK_GET_AUTH_TOKEN_FAILED = -131, 124 HKS_ERROR_INVALID_TIME_OUT = -132, 125 HKS_ERROR_INVALID_AUTH_TYPE = -133, 126 HKS_ERROR_INVALID_CHALLENGE_TYPE = -134, 127 HKS_ERROR_INVALID_ACCESS_TYPE = -135, 128 HKS_ERROR_INVALID_AUTH_TOKEN = -136, 129 HKS_ERROR_INVALID_SECURE_SIGN_TYPE = -137, 130 HKS_ERROR_NEED_SKIP_ACCESS_CONTROL = -138, 131 HKS_ERROR_DEVICE_PASSWORD_UNSET = -139, 132 HKS_ERROR_NOT_SYSTEM_APP = -140, 133 HKS_ERROR_EXCEED_LIMIT = -141, 134 HKS_ERROR_UPGRADE_FAIL = -142, 135 HKS_ERROR_INVALID_ACCOUNT_INFO = -143, 136 HKS_ERROR_CORRUPT_FILE = -144, 137 HKS_ERROR_KEY_NODE_NOT_FOUND = -145, 138 HKS_ERROR_KEY_NODE_IN_USE = -146, 139 HKS_ERROR_RETRYABLE_ERROR = -147, 140 HKS_ERROR_TRUST_RING_DECRYPT_FAILED = -148, 141 HKS_ERROR_KEY_CLEAR_FAILED = -149, 142 HKS_ERROR_KEY_CONFLICT = -150, 143 HKS_ERROR_EMPTY_BASE64_STRING = -151, 144 HKS_ERROR_ACCESS_OTHER_USER_KEY = -152, 145 146 HKS_ERROR_INVALID_KEY_WRAP_TYPE = -153, 147 HKS_ERROR_GENERATE_SHARE_KEY = -154, 148 HKS_ERROR_DSTB_PRE_ATTESTATION = -155, 149 HKS_ERROR_KEY_NOT_ALLOW_WRAP = -156, 150 HKS_ERROR_CHECK_WRAP_DATA_STORAGE_LEVEL = -157, 151 HKS_ERROR_CHECK_WRAP_DATA_IS_PASSWORD_SET = -158, 152 HKS_ERROR_CHECK_WRAP_DATA_KEY_ACCESS_TYPE = -159, 153 HKS_ERROR_WRAP_KEY_BY_SHARE_KEY_VERSION_MISMATCH = -160, 154 HKS_ERROR_INVALID_DATA_WRAP_TYPE = -161, 155 HKS_ERROR_ASSET_KEY_NOT_FOUND = -162, 156 HKS_ERROR_PARCEL_WRITE_FAIL = -163, 157 HKS_ERROR_PARCEL_READ_FAIL = -164, 158 HKS_ERROR_PARCEL_GET_FAIL = -165, 159 HKS_ERROR_PARSE_OLD_AAD = -166, 160 HKS_ERROR_CODE_KEY_ALREADY_EXIST = -167, 161 162 HKS_ERROR_NEW_INVALID_ARGUMENT = -997, 163 HKS_ERROR_LOAD_PLUGIN_FAIL = -998, 164 HKS_ERROR_INTERNAL_ERROR = -999, 165 HKS_ERROR_UNKNOWN_ERROR = -1000, 166 }; 167 168 /** 169 * @brief hks err code 170 */ 171 enum HksErrCode { 172 HUKS_ERR_CODE_PERMISSION_FAIL = 201, 173 HUKS_ERR_CODE_NOT_SYSTEM_APP = 202, 174 HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401, 175 HUKS_ERR_CODE_NOT_SUPPORTED_API = 801, 176 177 HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED = 12000001, 178 HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT = 12000002, 179 HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT = 12000003, 180 HUKS_ERR_CODE_FILE_OPERATION_FAIL = 12000004, 181 HUKS_ERR_CODE_COMMUNICATION_FAIL = 12000005, 182 HUKS_ERR_CODE_CRYPTO_FAIL = 12000006, 183 HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED = 12000007, 184 HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED = 12000008, 185 HUKS_ERR_CODE_KEY_AUTH_TIME_OUT = 12000009, 186 HUKS_ERR_CODE_SESSION_LIMIT = 12000010, 187 HUKS_ERR_CODE_ITEM_NOT_EXIST = 12000011, 188 HUKS_ERR_CODE_EXTERNAL_ERROR = 12000012, 189 HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST = 12000013, 190 HUKS_ERR_CODE_INSUFFICIENT_MEMORY = 12000014, 191 HUKS_ERR_CODE_CALL_SERVICE_FAILED = 12000015, 192 HUKS_ERR_CODE_DEVICE_PASSWORD_UNSET = 12000016, 193 HUKS_ERR_CODE_KEY_ALREADY_EXIST = 12000017, 194 HUKS_ERR_CODE_INVALID_ARGUMENT = 12000018, 195 }; 196 197 #ifdef __cplusplus 198 } 199 #endif 200 201 #endif /* HKS_ERROR_CODE_H */ 202