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