1 /* 2 * Copyright (c) 2022-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 #ifndef OHOS_FILEMGMT_DFS_ERROR_H 17 #define OHOS_FILEMGMT_DFS_ERROR_H 18 19 #include <string_view> 20 #include <sys/types.h> 21 #include <unordered_map> 22 23 #include "errors.h" 24 25 namespace OHOS::FileManagement { 26 constexpr int STORAGE_SERVICE_SYS_CAP_TAG = 13600000; 27 constexpr int FILEIO_SYS_CAP_TAG = 13900000; 28 constexpr int USER_FILE_MANAGER_SYS_CAP_TAG = 14000000; 29 constexpr int DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG = 22400000; 30 constexpr int SOFTBUS_TRANS_FILE_PERMISSION_DENIED = -426114938; 31 constexpr int SOFTBUS_TRANS_FILE_DISK_QUOTA_EXCEEDED = -426114937; 32 constexpr int SOFTBUS_TRANS_FILE_NO_MEMORY = -426114936; 33 constexpr int SOFTBUS_TRANS_FILE_NETWORK_ERROR = -426114935; 34 constexpr int SOFTBUS_TRANS_FILE_NOT_FOUND = -426114934; 35 constexpr int SOFTBUS_TRANS_FILE_EXISTED = -426114933; 36 constexpr int DFS_CANCEL_SUCCESS = 204; 37 38 enum CloudSyncServiceErrCode : ErrCode { 39 E_OK = 0, 40 E_SEVICE_DIED, 41 E_INVAL_ARG, 42 E_BROKEN_IPC, 43 E_SA_LOAD_FAILED, 44 E_SERVICE_DESCRIPTOR_IS_EMPTY, 45 E_PERMISSION_DENIED, 46 E_PERMISSION_SYSTEM, 47 E_GET_PHYSICAL_PATH_FAILED, 48 E_GET_TOKEN_INFO_ERROR, 49 E_SYNCER_NUM_OUT_OF_RANGE, 50 E_SYNC_FAILED_BATTERY_LOW, 51 E_SYNC_FAILED_BATTERY_TOO_LOW, 52 E_SYNC_FAILED_NETWORK_NOT_AVAILABLE, 53 E_GET_NETWORK_MANAGER_FAILED, 54 E_DELETE_FAILED, 55 E_NO_SUCH_FILE, 56 E_RENAME_FAIL, 57 E_SYSTEM_LOAD_OVER, 58 E_EXCEED_MAX_SIZE, 59 E_ILLEGAL_URI, 60 61 /* data syncer */ 62 E_CLOUD_SDK, 63 E_RDB, 64 E_CONTEXT, 65 E_STOP, 66 E_PENDING, 67 E_SCHEDULE, 68 E_ASYNC_RUN, 69 E_PATH, 70 E_DATA, 71 E_NOTIFY, 72 E_UNKNOWN, 73 E_CLOUD_STORAGE_FULL, 74 E_LOCAL_STORAGE_FULL, 75 E_BUSINESS_MODE_CHANGED, 76 E_OSACCOUNT, 77 E_USER_LOCKED, 78 E_GET_SIZE_ERROR, 79 80 E_IPC_READ_FAILED, 81 E_IPC_WRITE_FAILED, 82 E_SOFTBUS_SESSION_FAILED, 83 E_GET_DEVICE_ID, 84 E_GET_USER_ID, 85 E_NULLPTR, 86 /* session */ 87 E_CREATE_SESSION, 88 E_OPEN_SESSION, 89 E_WAIT_SESSION_OPENED, 90 E_FILE_NOT_EXIST, 91 E_SEND_FILE, 92 E_MEMORY, 93 94 /* eventhandler */ 95 E_EVENT_HANDLER, 96 E_ZIP, 97 98 /* download timeout */ 99 E_TIMEOUT, 100 101 /* task running */ 102 E_TASK_RUNNING, 103 104 E_SOURCE_BASIC = 10000, 105 106 E_THM_SOURCE_BASIC = E_SOURCE_BASIC + 1000, 107 E_THM_SIZE_IS_ZERO = E_THM_SOURCE_BASIC + 201, 108 E_THM_IS_TOO_LARGE = E_THM_SIZE_IS_ZERO + 1, 109 110 E_LCD_SOURCE_BASIC = E_SOURCE_BASIC + 2000, 111 E_LCD_SIZE_IS_ZERO = E_LCD_SOURCE_BASIC + 201, 112 E_LCD_IS_TOO_LARGE = E_LCD_SIZE_IS_ZERO + 1, 113 114 E_CONTENT_SOURCE_BASIC = E_SOURCE_BASIC + 3000, 115 E_CONTENT_SIZE_IS_ZERO = E_CONTENT_SOURCE_BASIC + 201, 116 E_CONTENT_COVERT_LIVE_PHOTO = E_CONTENT_SIZE_IS_ZERO + 1, 117 118 E_FIELD_BASIC = 20000, 119 120 E_DB_FIELD_BASIC = E_FIELD_BASIC + 1000, 121 E_SIZE_IS_ZERO = E_DB_FIELD_BASIC + 1, 122 E_ALBUM_NOT_FOUND = E_SIZE_IS_ZERO + 1, 123 E_ALBUM_ID_IS_EMPTY = E_ALBUM_NOT_FOUND + 1, 124 125 E_DK_FIELD_BASIC = E_FIELD_BASIC + 2000, 126 E_NO_ATTRIBUTES = E_DK_FIELD_BASIC + 1, 127 }; 128 129 enum DFSErrCode { 130 ERR_OK = 0, 131 ERR_BAD_VALUE = -1, 132 133 ERR_APPLY_RESULT = 1, 134 ERR_DLOPEN, 135 ERR_PUBLISH_STATE, 136 ERR_ALLCONNECT, 137 ERR_CHECKOUT_COUNT, 138 139 E_PERM, 140 E_NOENT, 141 E_SRCH, 142 E_INTR, 143 E_IO, 144 E_NXIO, 145 E_2BIG, 146 E_BADF, 147 E_CHILD, 148 E_AGAIN, 149 E_NOMEM, 150 E_ACCES, 151 E_FAULT, 152 E_BUSY, 153 E_EXIST, 154 E_XDEV, 155 E_NODEV, 156 E_NOTDIR, 157 E_ISDIR, 158 E_INVAL, 159 E_NFILE, 160 E_MFILE, 161 E_TXTBSY, 162 E_FBIG, 163 E_NOSPC, 164 E_SPIPE, 165 E_ROFS, 166 E_MLINK, 167 E_DEADLK, 168 E_NAMETOOLONG, 169 E_NOSYS, 170 E_NOTEMPTY, 171 E_LOOP, 172 E_WOULDBLOCK, 173 E_BADR, 174 E_UKERR, 175 E_NETUNREACH, 176 E_CONNECTION_FAIL, 177 E_CONNECTION_ABORT, 178 E_NOTASK, 179 E_UNCANCELED, 180 E_CANCELED, 181 }; 182 183 static inline std::unordered_map<int, int> softbusErr2ErrCodeTable { 184 {SOFTBUS_TRANS_FILE_PERMISSION_DENIED, EPERM}, 185 {SOFTBUS_TRANS_FILE_DISK_QUOTA_EXCEEDED, EIO}, 186 {SOFTBUS_TRANS_FILE_NO_MEMORY, ENOMEM}, 187 {SOFTBUS_TRANS_FILE_NETWORK_ERROR, ENETUNREACH}, 188 {SOFTBUS_TRANS_FILE_NOT_FOUND, ENOENT}, 189 {SOFTBUS_TRANS_FILE_EXISTED, EEXIST}, 190 {DFS_CANCEL_SUCCESS, ECANCELED}, 191 }; 192 193 enum IPCErrCode { 194 E_DEAD_REPLY = 29189, 195 }; 196 197 enum JsErrCode { 198 E_PERMISSION = 201, 199 E_PERMISSION_SYS = 202, 200 E_DFS_CANCEL_SUCCESS = 204, 201 E_PARAMS_ = 401, 202 E_IPCSS = STORAGE_SERVICE_SYS_CAP_TAG + 1, 203 E_UNKNOWN_ERR = FILEIO_SYS_CAP_TAG + 42, 204 E_INVALID_URI = USER_FILE_MANAGER_SYS_CAP_TAG + 2, 205 E_CLOUD_NOT_READY = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 1, 206 E_NETWORK_ERR = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 2, 207 E_BATTERY_WARNING = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 3, 208 E_EXCEED_MAX_LIMIT = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 4, 209 E_DATABASE_FAILED = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 5, 210 E_OTHER_TASK_RUNNING = DISTRIBUTEDFILE_SERVICE_SYS_CAP_TAG + 6 211 }; 212 213 const std::unordered_map<int32_t, int32_t> errCodeTable { 214 { E_PERMISSION_DENIED, E_PERMISSION }, 215 { E_PERMISSION_SYSTEM, E_PERMISSION_SYS }, 216 { E_INVAL_ARG, E_PARAMS_ }, 217 { E_BROKEN_IPC, E_IPCSS }, 218 { E_CLOUD_SDK, E_CLOUD_NOT_READY }, 219 { E_ILLEGAL_URI, E_INVALID_URI }, 220 { E_SYNC_FAILED_NETWORK_NOT_AVAILABLE, E_NETWORK_ERR }, 221 { E_SYNC_FAILED_BATTERY_TOO_LOW, E_BATTERY_WARNING }, 222 { E_EXCEED_MAX_SIZE, E_EXCEED_MAX_LIMIT }, 223 { E_RDB, E_IPCSS }, 224 { E_DEAD_REPLY, E_IPCSS }, 225 { E_TASK_RUNNING, E_OTHER_TASK_RUNNING}, 226 { E_SA_LOAD_FAILED, E_IPCSS }, 227 { E_SYSTEM_LOAD_OVER, E_IPCSS } 228 }; 229 230 int32_t Convert2JsErrNum(int32_t errNum); 231 } // namespace OHOS::FileManagement 232 233 #endif // OHOS_FILEMGMT_DFS_ERROR_H