* Copyright (C) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef DEFINE_ENUM_H
#define DEFINE_ENUM_H
namespace Hdc {
enum MessageLevel {
MSG_FAIL,
MSG_INFO,
MSG_OK,
};
enum ConnType { CONN_USB = 0, CONN_TCP, CONN_SERIAL, CONN_BT, CONN_UNKNOWN };
const std::string conTypeDetail[] = { "USB", "TCP", "UART", "BT", "UNKNOWN" };
#ifdef HDC_SUPPORT_UART
enum UartTimeConst {
UV_TIMEOUT = 10,
UV_REPEAT = 100,
TIMEOUTS_R_INTERALTIMEOUT = 1000,
TIMEOUTS_R_TOALTIMEOUTMULTIPLIER = 500,
TIMEOUTS_R_TIMEOUTCONSTANT = 5000
};
enum UartSetSerialNBits {
UART_BIT1 = 7,
UART_BIT2 = 8
};
enum UartSetSerialNSpeed {
UART_SPEED2400 = 2400,
UART_SPEED4800 = 4800,
UART_SPEED9600 = 9600,
UART_SPEED115200 = 115200,
UART_SPEED921600 = 921600,
UART_SPEED1500000 = 1500000
};
enum UartSetSerialNStop {
UART_STOP1 = 1,
UART_STOP2 = 2
};
#endif
enum ConnStatus { STATUS_UNKNOW = 0, STATUS_READY, STATUS_CONNECTED, STATUS_OFFLINE, STATUS_UNAUTH };
const std::string conStatusDetail[] = { "Unknown", "Ready", "Connected", "Offline", "Unauthorized" };
enum AuthVerifyType { RSA_ENCRYPT = 0, RSA_3072_SHA512 = 1, PSK_TLS_AES_128_GCM_SHA256 = 2, UNKNOWN = 100 };
enum OperateID {
OP_ADD,
OP_REMOVE,
OP_QUERY,
OP_QUERY_REF,
OP_GET_STRLIST,
OP_GET_STRLIST_FULL,
OP_GET_ANY,
OP_UPDATE,
OP_CLEAR,
OP_INIT,
OP_GET_ONLY,
OP_VOTE_RESET,
OP_WAIT_FOR_ANY,
OP_PRINT
};
enum RetErrCode {
RET_SSL_HANDSHAKE_FINISHED = 1,
RET_SUCCESS = 0,
ERR_GENERIC = -1,
ERR_NO_SUPPORT = -2,
ERR_PARAM_NULLPTR = -5,
ERR_LIBUSB_OPEN = -100,
ERR_BUF_SIZE = -10000,
ERR_BUF_ALLOC,
ERR_BUF_OVERFLOW,
ERR_BUF_CHECK,
ERR_BUF_RESET,
ERR_BUF_COPY,
ERR_CHECK_VERSION,
ERR_FILE_OPEN = -11000,
ERR_FILE_READ,
ERR_FILE_WRITE,
ERR_FILE_STAT,
ERR_FILE_PATH_CHECK,
ERR_PARM_FORMAT = -12000,
ERR_PARM_SIZE,
ERR_PARM_FAIL,
ERR_API_FAIL = -13000,
ERR_IO_FAIL = -14000,
ERR_IO_TIMEOUT,
ERR_IO_SOFT_RESET,
ERR_SESSION_NOFOUND = -15000,
ERR_SESSION_OFFLINE,
ERR_SESSION_DEAD,
ERR_HANDSHAKE_NOTMATCH = -16000,
ERR_HANDSHAKE_CONNECTKEY_FAILED,
ERR_HANDSHAKE_HANGUP_CHILD,
ERR_SOCKET_FAIL = -17000,
ERR_SOCKET_DUPLICATE,
ERR_MODULE_JDWP_FAILED = -18000,
ERR_UT_MODULE_NOTREADY = -19000,
ERR_UT_MODULE_WAITMAX,
ERR_THREAD_MUTEX_FAIL = -20000,
ERR_PROCESS_SUB_FAIL = -21000,
ERR_PRIVELEGE_NEED = -22000,
ERR_ENCRYPT = -23000,
ERR_DECRYPT = -23001,
ERR_DECRYPT_WANT_READ = -23002,
};
enum AsyncEvent {
ASYNC_STOP_MAINLOOP = 0,
ASYNC_FREE_SESSION,
ASYNC_FREE_CHANNEL,
};
enum InnerCtrlCommand {
SP_START_SESSION = 0,
SP_STOP_SESSION,
SP_ATTACH_CHANNEL,
SP_DEATCH_CHANNEL,
SP_JDWP_NEWFD,
SP_ARK_NEWFD,
};
enum HdcCommand {
CMD_KERNEL_HELP = 0,
CMD_KERNEL_HANDSHAKE,
CMD_KERNEL_CHANNEL_CLOSE,
CMD_KERNEL_TARGET_DISCOVER = 4,
CMD_KERNEL_TARGET_LIST,
CMD_KERNEL_TARGET_ANY,
CMD_KERNEL_TARGET_CONNECT,
CMD_KERNEL_TARGET_DISCONNECT,
CMD_KERNEL_ECHO,
CMD_KERNEL_ECHO_RAW,
CMD_KERNEL_ENABLE_KEEPALIVE,
CMD_KERNEL_WAKEUP_SLAVETASK,
CMD_CHECK_SERVER,
CMD_CHECK_DEVICE,
CMD_WAIT_FOR,
CMD_SERVER_KILL,
CMD_SERVICE_START = 17,
CMD_KERNEL_TARGET_RECONNECT = 18,
CMD_SSL_HANDSHAKE = 20,
CMD_UNITY_COMMAND_HEAD = 1000,
CMD_UNITY_EXECUTE,
CMD_UNITY_REMOUNT,
CMD_UNITY_REBOOT,
CMD_UNITY_RUNMODE,
CMD_UNITY_HILOG,
CMD_UNITY_ROOTRUN = 1007,
CMD_JDWP_LIST,
CMD_JDWP_TRACK,
CMD_UNITY_COMMAND_TAIL,
CMD_UNITY_BUGREPORT_INIT,
CMD_UNITY_BUGREPORT_DATA,
CMD_UNITY_EXECUTE_EX = 1200,
CMD_SHELL_INIT = 2000,
CMD_SHELL_DATA,
CMD_FORWARD_INIT = 2500,
CMD_FORWARD_CHECK,
CMD_FORWARD_CHECK_RESULT,
CMD_FORWARD_ACTIVE_SLAVE,
CMD_FORWARD_ACTIVE_MASTER,
CMD_FORWARD_DATA,
CMD_FORWARD_FREE_CONTEXT,
CMD_FORWARD_LIST,
CMD_FORWARD_REMOVE,
CMD_FORWARD_SUCCESS,
CMD_FILE_INIT = 3000,
CMD_FILE_CHECK,
CMD_FILE_BEGIN,
CMD_FILE_DATA,
CMD_FILE_FINISH,
CMD_APP_SIDELOAD,
CMD_FILE_MODE,
CMD_DIR_MODE,
CMD_APP_INIT = 3500,
CMD_APP_CHECK,
CMD_APP_BEGIN,
CMD_APP_DATA,
CMD_APP_FINISH,
CMD_APP_UNINSTALL,
CMD_UNITY_JPID = CMD_JDWP_LIST,
CMD_FLASHD_UPDATE_INIT = 4000,
CMD_FLASHD_FLASH_INIT,
CMD_FLASHD_CHECK,
CMD_FLASHD_BEGIN,
CMD_FLASHD_DATA,
CMD_FLASHD_FINISH,
CMD_FLASHD_ERASE,
CMD_FLASHD_FORMAT,
CMD_FLASHD_PROGRESS,
CMD_HEARTBEAT_MSG = 5000,
CMD_SPAWN_SUB = 6000,
};
enum UsbProtocolOption {
USB_OPTION_HEADER = 1,
USB_OPTION_RESET = 2,
USB_OPTION_RESERVE4 = 4,
USB_OPTION_RESERVE8 = 8,
USB_OPTION_RESERVE16 = 16,
};
enum ShellExecuteTag {
TAG_SHELL_CMD = 0x00000000,
TAG_SHELL_BUNDLE = 0x00000001,
TAG_SHELL_DEFAULT = 0xFFFFFFFF,
};
enum CONNECT_VALIDATION_STATUS {
VALIDATION_CLOSE = 0,
VALIDATION_HDC_HOST,
VALIDATION_HDC_DAEMON,
VALIDATION_HDC_HOST_AND_DAEMON,
};
}
#endif