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