• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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