1 /* 2 * Copyright (c) 2022-2024 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_DM_CONSTANTS_H 17 #define OHOS_DM_CONSTANTS_H 18 19 #include <string> 20 #include <map> 21 22 #ifdef __LP64__ 23 constexpr const char* DM_LIB_LOAD_PATH = "/system/lib64/"; 24 #else 25 #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) 26 constexpr const char* DM_LIB_LOAD_PATH = "/system/lib/"; 27 #else 28 constexpr const char* DM_LIB_LOAD_PATH = "/usr/lib/"; 29 #endif 30 #endif 31 32 namespace OHOS { 33 namespace DistributedHardware { 34 enum { 35 DM_OK = 0, 36 SOFTBUS_OK = 0, 37 STOP_BIND = 1, 38 39 /* Transfer to the other end device, not define specification error code */ 40 ERR_DM_TIME_OUT = -20001, 41 ERR_DM_UNSUPPORTED_AUTH_TYPE = -20018, 42 ERR_DM_AUTH_BUSINESS_BUSY = -20019, 43 ERR_DM_AUTH_PEER_REJECT = -20021, 44 ERR_DM_AUTH_REJECT = -20022, 45 ERR_DM_CREATE_GROUP_FAILED = -20026, 46 ERR_DM_BIND_USER_CANCEL = -20037, 47 ERR_DM_BIND_USER_CANCEL_ERROR = -20042, 48 ERR_DM_AUTH_CODE_INCORRECT = -20053, 49 ERR_DM_BIND_USER_CANCEL_PIN_CODE_DISPLAY = -20056, 50 ERR_DM_SYNC_DELETE_DEVICE_REPEATED = -20058, 51 ERR_DM_VERSION_INCOMPATIBLE = -20059, 52 53 ERR_DM_FAILED = 96929744, 54 ERR_DM_NOT_INIT = 96929746, 55 ERR_DM_INIT_FAILED = 96929747, 56 ERR_DM_POINT_NULL = 96929748, 57 ERR_DM_INPUT_PARA_INVALID = 96929749, 58 ERR_DM_NO_PERMISSION = 96929750, 59 ERR_DM_MALLOC_FAILED = 96929751, 60 ERR_DM_DISCOVERY_FAILED = 96929752, 61 ERR_DM_MAP_KEY_ALREADY_EXISTS = 96929753, 62 ERR_DM_IPC_WRITE_FAILED = 96929754, 63 ERR_DM_IPC_COPY_FAILED = 96929755, 64 ERR_DM_IPC_SEND_REQUEST_FAILED = 96929756, 65 ERR_DM_UNSUPPORTED_IPC_COMMAND = 96929757, 66 ERR_DM_IPC_RESPOND_FAILED = 96929758, 67 ERR_DM_DISCOVERY_REPEATED = 96929759, 68 ERR_DM_AUTH_OPEN_SESSION_FAILED = 96929762, 69 ERR_DM_AUTH_FAILED = 96929765, 70 ERR_DM_AUTH_NOT_START = 96929766, 71 ERR_DM_AUTH_MESSAGE_INCOMPLETE = 96929767, 72 ERR_DM_IPC_READ_FAILED = 96929769, 73 ERR_DM_ENCRYPT_FAILED = 96929770, 74 ERR_DM_PUBLISH_FAILED = 96929771, 75 ERR_DM_PUBLISH_REPEATED = 96929772, 76 ERR_DM_STOP_DISCOVERY = 96929773, 77 ERR_DM_ADD_GROUP_FAILED = 96929774, 78 79 // The following error codes are provided since OpenHarmony 4.1 Version. 80 ERR_DM_ADAPTER_NOT_INIT = 96929775, 81 ERR_DM_UNSUPPORTED_METHOD = 96929776, 82 ERR_DM_BIND_COMMON_FAILED = 96929777, 83 ERR_DM_BIND_INPUT_PARA_INVALID = 96929778, 84 ERR_DM_BIND_PIN_CODE_ERROR = 96929779, 85 ERR_DM_BIND_TIMEOUT_FAILED = 96929781, 86 ERR_DM_BIND_DP_ERROR = 96929782, 87 ERR_DM_BIND_HICHAIN_ERROR = 96929783, 88 ERR_DM_BIND_SOFTBUS_ERROR = 96929784, 89 ERR_DM_STOP_PUBLISH_LNN_FAILED = 96929786, 90 ERR_DM_REFRESH_LNN_FAILED = 96929787, 91 ERR_DM_STOP_REFRESH_LNN_FAILED = 96929788, 92 ERR_DM_START_ADVERTISING_FAILED = 96929789, 93 ERR_DM_STOP_ADVERTISING_FAILED = 96929790, 94 ERR_DM_ENABLE_DISCOVERY_LISTENER_FAILED = 96929791, 95 ERR_DM_DISABLE_DISCOVERY_LISTENER_FAILED = 96929792, 96 ERR_DM_START_DISCOVERING_FAILED = 96929793, 97 ERR_DM_STOP_DISCOVERING_FAILED = 96929794, 98 ERR_DM_SOFTBUS_SERVICE_NOT_INIT = 96929795, 99 ERR_DM_META_TYPE_INVALID = 96929797, 100 ERR_DM_LOAD_CUSTOM_META_NODE = 96929798, 101 ERR_DM_SOFTBUS_PUBLISH_SERVICE = 96929800, 102 ERR_DM_BIND_PEER_UNSUPPORTED = 96929802, 103 ERR_DM_HICHAIN_CREDENTIAL_REQUEST_FAILED = 96929803, 104 ERR_DM_HICHAIN_CREDENTIAL_CHECK_FAILED = 96929804, 105 ERR_DM_HICHAIN_CREDENTIAL_IMPORT_FAILED = 96929805, 106 ERR_DM_HICHAIN_CREDENTIAL_DELETE_FAILED = 96929806, 107 ERR_DM_HICHAIN_UNREGISTER_CALLBACK = 96929807, 108 ERR_DM_HICHAIN_GET_REGISTER_INFO = 96929808, 109 ERR_DM_HICHAIN_CREDENTIAL_EXISTS = 96929809, 110 ERR_DM_HICHAIN_REGISTER_CALLBACK = 96929810, 111 ERR_DM_HICHAIN_GROUP_CREATE_FAILED = 96929811, 112 ERR_DM_JSON_PARSE_STRING = 96929812, 113 ERR_DM_SOFTBUS_SEND_BROADCAST = 96929813, 114 ERR_DM_SOFTBUS_DISCOVERY_DEVICE = 96929814, 115 ERR_DM_SOFTBUS_STOP_DISCOVERY_DEVICE = 96929815, 116 ERR_DM_INVALID_JSON_STRING = 96929816, 117 ERR_DM_GET_DATA_SHA256_HASH = 96929817, 118 ERR_DM_CHANNLE_OPEN_TIMEOUT = 96929818, 119 ERR_DM_ADD_GOUTP_TIMEOUT = 96929819, 120 ERR_DM_INPUT_TIMEOUT = 96929820, 121 }; 122 123 constexpr const char* TAG_GROUP_ID = "groupId"; 124 constexpr const char* TAG_GROUP_NAME = "GROUPNAME"; 125 constexpr const char* TAG_REQUEST_ID = "REQUESTID"; 126 constexpr const char* TAG_DEVICE_ID = "DEVICEID"; 127 constexpr const char* TAG_AUTH_TYPE = "AUTHTYPE"; 128 constexpr const char* TAG_CRYPTO_SUPPORT = "CRYPTOSUPPORT"; 129 constexpr const char* TAG_VER = "ITF_VER"; 130 constexpr const char* TAG_MSG_TYPE = "MSG_TYPE"; 131 constexpr const char* DM_ITF_VER = "1.1"; 132 constexpr const char* DM_PKG_NAME = "ohos.distributedhardware.devicemanager"; 133 constexpr const char* DM_SESSION_NAME = "ohos.distributedhardware.devicemanager.resident"; 134 constexpr const char* DM_PIN_HOLDER_SESSION_NAME = "ohos.distributedhardware.devicemanager.pinholder"; 135 constexpr const char* DM_UNBIND_SESSION_NAME = "ohos.distributedhardware.devicemanager.unbind"; 136 constexpr const char* DM_CAPABILITY_OSD = "osdCapability"; 137 constexpr const char* DM_CAPABILITY_APPROACH = "approach"; 138 constexpr const char* DM_CAPABILITY_TOUCH = "touch"; 139 constexpr const char* DM_CAPABILITY_CASTPLUS = "castPlus"; 140 constexpr const char* DM_CAPABILITY_VIRTUAL_LINK = "virtualLink"; 141 constexpr const char* DM_CAPABILITY_SHARE = "share"; 142 constexpr const char* DM_CAPABILITY_WEAR = "wear"; 143 constexpr const char* DM_CREDENTIAL_TYPE = "CREDENTIAL_TYPE"; 144 constexpr const char* DM_CREDENTIAL_REQJSONSTR = "CREDENTIAL_REQJSONSTR"; 145 constexpr const char* DM_CREDENTIAL_RETURNJSONSTR = "CREDENTIAL_RETURNJSONSTR"; 146 constexpr const char* DEVICE_MANAGER_GROUPNAME = "DMSameAccountGroup"; 147 constexpr const char* FIELD_CREDENTIAL_EXISTS = "isCredentialExists"; 148 constexpr int32_t DM_STRING_LENGTH_MAX = 1024; 149 constexpr int32_t PKG_NAME_SIZE_MAX = 256; 150 constexpr const char* DM_TYPE_MINE = "MINE"; 151 constexpr const char* DM_TYPE_OH = "OH"; 152 constexpr const char* TAG_SESSION_HEARTBEAT = "session_heartbeat"; 153 154 //The following constant are provided only for HiLink. 155 const static char *EXT_PART = "ext_part"; 156 157 // Auth 158 constexpr const char* AUTH_TYPE = "authType"; 159 constexpr const char* APP_OPERATION = "appOperation"; 160 constexpr const char* CUSTOM_DESCRIPTION = "customDescription"; 161 constexpr const char* TOKEN = "token"; 162 constexpr const char* PIN_TOKEN = "pinToken"; 163 constexpr const char* PIN_CODE_KEY = "pinCode"; 164 constexpr int32_t CHECK_AUTH_ALWAYS_POS = 0; 165 constexpr const char AUTH_ALWAYS = '1'; 166 constexpr const char AUTH_ONCE = '0'; 167 constexpr const char* TAG_TARGET_DEVICE_NAME = "targetDeviceName"; 168 169 // HiChain 170 constexpr int32_t SERVICE_INIT_TRY_MAX_NUM = 200; 171 constexpr int32_t DEVICE_UUID_LENGTH = 65; 172 constexpr int32_t DEVICE_NETWORKID_LENGTH = 100; 173 constexpr int32_t GROUP_TYPE_INVALID_GROUP = -1; 174 constexpr int32_t GROUP_TYPE_IDENTICAL_ACCOUNT_GROUP = 1; 175 constexpr int32_t GROUP_TYPE_PEER_TO_PEER_GROUP = 256; 176 constexpr int32_t GROUP_TYPE_ACROSS_ACCOUNT_GROUP = 1282; 177 constexpr int32_t GROUP_VISIBILITY_PUBLIC = -1; 178 constexpr int64_t MIN_REQUEST_ID = 1000000000; 179 constexpr int64_t MAX_REQUEST_ID = 9999999999; 180 constexpr int32_t AUTH_DEVICE_REQ_NEGOTIATE = 600; 181 constexpr int32_t AUTH_DEVICE_RESP_NEGOTIATE = 700; 182 constexpr int32_t DEVICEID_LEN = 8; 183 184 // ACE 185 constexpr const char* EVENT_CONFIRM = "EVENT_CONFIRM"; 186 constexpr const char* EVENT_CANCEL = "EVENT_CANCEL"; 187 constexpr const char* EVENT_INIT = "EVENT_INIT"; 188 constexpr const char* EVENT_CONFIRM_CODE = "0"; 189 constexpr const char* EVENT_CANCEL_CODE = "1"; 190 constexpr const char* EVENT_INIT_CODE = "2"; 191 192 // Key of filter parameter 193 constexpr const char* FILTER_PARA_RANGE = "FILTER_RANGE"; 194 constexpr const char* FILTER_PARA_DEVICE_TYPE = "FILTER_DEVICE_TYPE"; 195 constexpr const char* FILTER_PARA_INCLUDE_TRUST = "FILTER_INCLUDE_TRUST"; 196 197 // Connection address type 198 constexpr const char* CONN_ADDR_TYPE_ID = "ID_TYPE"; 199 constexpr const char* CONN_ADDR_TYPE_BR = "BR_TYPE"; 200 constexpr const char* CONN_ADDR_TYPE_BLE = "BLE_TYPE"; 201 constexpr const char* CONN_ADDR_TYPE_WLAN_IP = "WLAN_IP_TYPE"; 202 constexpr const char* CONN_ADDR_TYPE_ETH_IP = "ETH_IP_TYPE"; 203 204 // Parameter Key 205 constexpr const char* PARAM_KEY_META_TYPE = "META_TYPE"; 206 constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID"; 207 constexpr const char* PARAM_KEY_BR_MAC = "BR_MAC"; 208 constexpr const char* PARAM_KEY_BLE_MAC = "BLE_MAC"; 209 constexpr const char* PARAM_KEY_WIFI_IP = "WIFI_IP"; 210 constexpr const char* PARAM_KEY_WIFI_PORT = "WIFI_PORT"; 211 constexpr const char* PARAM_KEY_AUTH_TOKEN = "AUTH_TOKEN"; 212 constexpr const char* PARAM_KEY_AUTH_TYPE = "AUTH_TYPE"; 213 constexpr const char* PARAM_KEY_PIN_CODE = "PIN_CODE"; 214 constexpr const char* PARAM_KEY_APP_OPER = "APP_OPER"; 215 constexpr const char* PARAM_KEY_APP_DESC = "APP_DESC"; 216 constexpr const char* PARAM_KEY_BLE_UDID_HASH = "BLE_UDID_HASH"; 217 constexpr const char* PARAM_KEY_CUSTOM_DATA = "CUSTOM_DATA"; 218 constexpr const char* PARAM_KEY_CONN_ADDR_TYPE = "CONN_ADDR_TYPE"; 219 constexpr const char* PARAM_KEY_PUBLISH_ID = "PUBLISH_ID"; 220 constexpr const char* PARAM_KEY_SUBSCRIBE_ID = "SUBSCRIBE_ID"; 221 constexpr const char* PARAM_KEY_TARGET_PKG_NAME = "TARGET_PKG_NAME"; 222 constexpr const char* PARAM_KEY_DISC_FREQ = "DISC_FREQ"; 223 constexpr const char* PARAM_KEY_DISC_MEDIUM = "DISC_MEDIUM"; 224 constexpr const char* PARAM_KEY_DISC_CAPABILITY = "DISC_CAPABILITY"; 225 constexpr const char* PARAM_KEY_DISC_MODE = "DISC_MODE"; 226 constexpr const char* PARAM_KEY_AUTO_STOP_ADVERTISE = "AUTO_STOP_ADVERTISE"; 227 constexpr const char* PARAM_KEY_FILTER_OPTIONS = "FILTER_OPTIONS"; 228 constexpr const char* PARAM_KEY_BIND_EXTRA_DATA = "BIND_EXTRA_DATA"; 229 constexpr const char* PARAM_KEY_OS_TYPE = "OS_TYPE"; 230 constexpr const char* PARAM_KEY_OS_VERSION = "OS_VERSION"; 231 constexpr const char* DM_CONNECTION_DISCONNECTED = "DM_CONNECTION_DISCONNECTED"; 232 constexpr const char* BIND_LEVEL = "bindLevel"; 233 constexpr const char* TOKENID = "tokenId"; 234 constexpr const char* DM_BIND_RESULT_NETWORK_ID = "DM_BIND_RESULT_NETWORK_ID"; 235 constexpr const char* PARAM_KEY_POLICY_STRATEGY_FOR_BLE = "DM_POLICY_STRATEGY_FOR_BLE"; 236 constexpr const char* PARAM_KEY_POLICY_TIME_OUT = "DM_POLICY_TIMEOUT"; 237 constexpr const char* DEVICE_SCREEN_STATUS = "DEVICE_SCREEN_STATUS"; 238 239 // screen state 240 constexpr int32_t DM_SCREEN_UNKNOWN = -1; 241 constexpr int32_t DM_SCREEN_ON = 0; 242 constexpr int32_t DM_SCREEN_OFF = 1; 243 244 // errCode map 245 const std::map<int32_t, int32_t> MAP_ERROR_CODE = { 246 { ERR_DM_TIME_OUT, 96929745 }, { ERR_DM_UNSUPPORTED_AUTH_TYPE, 96929760 }, { ERR_DM_AUTH_BUSINESS_BUSY, 96929761 }, 247 { ERR_DM_AUTH_PEER_REJECT, 96929763 }, { ERR_DM_AUTH_REJECT, 96929764 }, { ERR_DM_CREATE_GROUP_FAILED, 96929768 }, 248 { ERR_DM_BIND_USER_CANCEL, 96929780 }, { ERR_DM_BIND_USER_CANCEL_ERROR, 96929785 }, 249 { ERR_DM_AUTH_CODE_INCORRECT, 96929796 }, { ERR_DM_BIND_USER_CANCEL_PIN_CODE_DISPLAY, 96929799 }, 250 { ERR_DM_SYNC_DELETE_DEVICE_REPEATED, 96929801 } 251 }; 252 } // namespace DistributedHardware 253 } // namespace OHOS 254 #endif // OHOS_DM_CONSTANTS_H