1 /* 2 * Copyright (C) 2021 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 #ifndef DEFINE_ENUM_H 16 #define DEFINE_ENUM_H 17 18 namespace Hdc { 19 enum MessageLevel { 20 MSG_FAIL, 21 MSG_INFO, 22 MSG_OK, 23 }; 24 25 enum ConnType { CONN_USB = 0, CONN_TCP, CONN_SERIAL, CONN_BT, CONN_UNKNOWN }; 26 const std::string conTypeDetail[] = { "USB", "TCP", "UART", "BT", "UNKNOWN" }; 27 28 #ifdef HDC_SUPPORT_UART 29 enum UartTimeConst { 30 UV_TIMEOUT = 10, 31 UV_REPEAT = 100, 32 TIMEOUTS_R_INTERALTIMEOUT = 1000, 33 TIMEOUTS_R_TOALTIMEOUTMULTIPLIER = 500, 34 TIMEOUTS_R_TIMEOUTCONSTANT = 5000 35 }; 36 enum UartSetSerialNBits { 37 UART_BIT1 = 7, 38 UART_BIT2 = 8 39 }; 40 enum UartSetSerialNSpeed { 41 UART_SPEED2400 = 2400, 42 UART_SPEED4800 = 4800, 43 UART_SPEED9600 = 9600, 44 UART_SPEED115200 = 115200, 45 UART_SPEED921600 = 921600, 46 UART_SPEED1500000 = 1500000 47 }; 48 enum UartSetSerialNStop { 49 UART_STOP1 = 1, 50 UART_STOP2 = 2 51 }; 52 #endif 53 enum ConnStatus { STATUS_UNKNOW = 0, STATUS_READY, STATUS_CONNECTED, STATUS_OFFLINE, STATUS_UNAUTH }; 54 const std::string conStatusDetail[] = { "Unknown", "Ready", "Connected", "Offline", "Unauthorized" }; 55 56 enum AuthVerifyType { RSA_ENCRYPT = 0, RSA_3072_SHA512 = 1, PSK_TLS_AES_128_GCM_SHA256 = 2, UNKNOWN = 100 }; 57 58 enum OperateID { 59 OP_ADD, 60 OP_REMOVE, 61 OP_QUERY, 62 OP_QUERY_REF, // crossthread query, manually reduce ref 63 OP_GET_STRLIST, 64 OP_GET_STRLIST_FULL, 65 OP_GET_ANY, 66 OP_UPDATE, 67 OP_CLEAR, 68 OP_INIT, 69 OP_GET_ONLY, 70 OP_VOTE_RESET, 71 OP_WAIT_FOR_ANY, 72 OP_PRINT 73 }; 74 75 enum RetErrCode { 76 RET_SSL_HANDSHAKE_FINISHED = 1, 77 RET_SUCCESS = 0, 78 ERR_GENERIC = -1, 79 ERR_NO_SUPPORT = -2, 80 ERR_PARAM_NULLPTR = -5, 81 ERR_LIBUSB_OPEN = -100, 82 ERR_BUF_SIZE = -10000, 83 ERR_BUF_ALLOC, 84 ERR_BUF_OVERFLOW, 85 ERR_BUF_CHECK, 86 ERR_BUF_RESET, 87 ERR_BUF_COPY, 88 ERR_CHECK_VERSION, 89 ERR_FILE_OPEN = -11000, 90 ERR_FILE_READ, 91 ERR_FILE_WRITE, 92 ERR_FILE_STAT, 93 ERR_FILE_PATH_CHECK, 94 ERR_PARM_FORMAT = -12000, 95 ERR_PARM_SIZE, 96 ERR_PARM_FAIL, 97 ERR_API_FAIL = -13000, 98 ERR_IO_FAIL = -14000, 99 ERR_IO_TIMEOUT, 100 ERR_IO_SOFT_RESET, 101 ERR_SESSION_NOFOUND = -15000, 102 ERR_SESSION_OFFLINE, 103 ERR_SESSION_DEAD, 104 ERR_HANDSHAKE_NOTMATCH = -16000, 105 ERR_HANDSHAKE_CONNECTKEY_FAILED, 106 ERR_HANDSHAKE_HANGUP_CHILD, 107 ERR_SOCKET_FAIL = -17000, 108 ERR_SOCKET_DUPLICATE, 109 ERR_MODULE_JDWP_FAILED = -18000, 110 ERR_UT_MODULE_NOTREADY = -19000, 111 ERR_UT_MODULE_WAITMAX, 112 ERR_THREAD_MUTEX_FAIL = -20000, 113 ERR_PROCESS_SUB_FAIL = -21000, 114 ERR_PRIVELEGE_NEED = -22000, 115 ERR_ENCRYPT = -23000, 116 ERR_DECRYPT = -23001, 117 ERR_DECRYPT_WANT_READ = -23002, 118 }; 119 120 // Flags shared by multiple modules 121 enum AsyncEvent { 122 ASYNC_STOP_MAINLOOP = 0, 123 ASYNC_FREE_SESSION, 124 ASYNC_FREE_CHANNEL, 125 }; 126 enum InnerCtrlCommand { 127 SP_START_SESSION = 0, 128 SP_STOP_SESSION, 129 SP_ATTACH_CHANNEL, 130 SP_DEATCH_CHANNEL, 131 SP_JDWP_NEWFD, 132 SP_ARK_NEWFD, 133 }; 134 135 enum HdcCommand { 136 // core commands types 137 CMD_KERNEL_HELP = 0, 138 CMD_KERNEL_HANDSHAKE, 139 CMD_KERNEL_CHANNEL_CLOSE, 140 CMD_KERNEL_TARGET_DISCOVER = 4, 141 CMD_KERNEL_TARGET_LIST, 142 CMD_KERNEL_TARGET_ANY, 143 CMD_KERNEL_TARGET_CONNECT, 144 CMD_KERNEL_TARGET_DISCONNECT, 145 CMD_KERNEL_ECHO, 146 CMD_KERNEL_ECHO_RAW, 147 CMD_KERNEL_ENABLE_KEEPALIVE, 148 CMD_KERNEL_WAKEUP_SLAVETASK, 149 CMD_CHECK_SERVER, 150 CMD_CHECK_DEVICE, 151 CMD_WAIT_FOR, 152 CMD_SERVER_KILL, // channel kill, not use 153 CMD_SERVICE_START = 17, 154 CMD_SSL_HANDSHAKE = 20, 155 // One-pass simple commands 156 CMD_UNITY_COMMAND_HEAD = 1000, // not use 157 CMD_UNITY_EXECUTE, 158 CMD_UNITY_REMOUNT, 159 CMD_UNITY_REBOOT, 160 CMD_UNITY_RUNMODE, 161 CMD_UNITY_HILOG, 162 CMD_UNITY_ROOTRUN = 1007, 163 CMD_JDWP_LIST, 164 CMD_JDWP_TRACK, 165 CMD_UNITY_COMMAND_TAIL, // not use 166 // It will be separated from unity in the near future 167 CMD_UNITY_BUGREPORT_INIT, 168 CMD_UNITY_BUGREPORT_DATA, 169 CMD_UNITY_EXECUTE_EX = 1200, // need to check TAG_FEATURE_SHELL_OPT 170 // Shell commands types 171 CMD_SHELL_INIT = 2000, 172 CMD_SHELL_DATA, 173 // Forward commands types 174 CMD_FORWARD_INIT = 2500, 175 CMD_FORWARD_CHECK, 176 CMD_FORWARD_CHECK_RESULT, 177 CMD_FORWARD_ACTIVE_SLAVE, 178 CMD_FORWARD_ACTIVE_MASTER, 179 CMD_FORWARD_DATA, 180 CMD_FORWARD_FREE_CONTEXT, 181 CMD_FORWARD_LIST, 182 CMD_FORWARD_REMOVE, 183 CMD_FORWARD_SUCCESS, 184 // File commands 185 CMD_FILE_INIT = 3000, 186 CMD_FILE_CHECK, 187 CMD_FILE_BEGIN, 188 CMD_FILE_DATA, 189 CMD_FILE_FINISH, 190 CMD_APP_SIDELOAD, 191 CMD_FILE_MODE, 192 CMD_DIR_MODE, 193 // App commands 194 CMD_APP_INIT = 3500, 195 CMD_APP_CHECK, 196 CMD_APP_BEGIN, 197 CMD_APP_DATA, 198 CMD_APP_FINISH, 199 CMD_APP_UNINSTALL, 200 201 // deprecated, remove later 202 CMD_UNITY_JPID = CMD_JDWP_LIST, 203 204 // Flashd commands 205 CMD_FLASHD_UPDATE_INIT = 4000, 206 CMD_FLASHD_FLASH_INIT, 207 CMD_FLASHD_CHECK, 208 CMD_FLASHD_BEGIN, 209 CMD_FLASHD_DATA, 210 CMD_FLASHD_FINISH, 211 CMD_FLASHD_ERASE, 212 CMD_FLASHD_FORMAT, 213 CMD_FLASHD_PROGRESS, 214 215 //Heartbeat commands 216 CMD_HEARTBEAT_MSG = 5000, 217 }; 218 219 enum UsbProtocolOption { 220 USB_OPTION_HEADER = 1, 221 USB_OPTION_RESET = 2, 222 USB_OPTION_RESERVE4 = 4, 223 USB_OPTION_RESERVE8 = 8, 224 USB_OPTION_RESERVE16 = 16, 225 }; 226 227 enum ShellExecuteTag { 228 TAG_SHELL_CMD = 0x00000000, 229 TAG_SHELL_BUNDLE = 0x00000001, 230 TAG_SHELL_DEFAULT = 0xFFFFFFFF, 231 }; 232 } 233 #endif