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__ 23constexpr const char* DM_LIB_LOAD_PATH = "/system/lib64/"; 24#else 25#if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) 26constexpr const char* DM_LIB_LOAD_PATH = "/system/lib/"; 27#else 28constexpr const char* DM_LIB_LOAD_PATH = "/usr/lib/"; 29#endif 30#endif 31 32namespace OHOS { 33namespace DistributedHardware { 34enum { 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 121constexpr const char* TAG_GROUP_ID = "groupId"; 122constexpr const char* TAG_GROUP_NAME = "GROUPNAME"; 123constexpr const char* TAG_REQUEST_ID = "REQUESTID"; 124constexpr const char* TAG_DEVICE_ID = "DEVICEID"; 125constexpr const char* TAG_AUTH_TYPE = "AUTHTYPE"; 126constexpr const char* TAG_CRYPTO_SUPPORT = "CRYPTOSUPPORT"; 127constexpr const char* TAG_VER = "ITF_VER"; 128constexpr const char* TAG_MSG_TYPE = "MSG_TYPE"; 129constexpr const char* DM_ITF_VER = "1.1"; 130constexpr const char* DM_PKG_NAME = "ohos.distributedhardware.devicemanager"; 131constexpr const char* DM_SESSION_NAME = "ohos.distributedhardware.devicemanager.resident"; 132constexpr const char* DM_PIN_HOLDER_SESSION_NAME = "ohos.distributedhardware.devicemanager.pinholder"; 133constexpr const char* DM_CAPABILITY_OSD = "osdCapability"; 134constexpr const char* DM_CAPABILITY_APPROACH = "approach"; 135constexpr const char* DM_CAPABILITY_TOUCH = "touch"; 136constexpr const char* DM_CAPABILITY_CASTPLUS = "castPlus"; 137constexpr const char* DM_CAPABILITY_VIRTUAL_LINK = "virtualLink"; 138constexpr const char* DM_CAPABILITY_SHARE = "share"; 139constexpr const char* DM_CAPABILITY_WEAR = "wear"; 140constexpr const char* DM_CREDENTIAL_TYPE = "CREDENTIAL_TYPE"; 141constexpr const char* DM_CREDENTIAL_REQJSONSTR = "CREDENTIAL_REQJSONSTR"; 142constexpr const char* DM_CREDENTIAL_RETURNJSONSTR = "CREDENTIAL_RETURNJSONSTR"; 143constexpr const char* DEVICE_MANAGER_GROUPNAME = "DMSameAccountGroup"; 144constexpr const char* FIELD_CREDENTIAL_EXISTS = "isCredentialExists"; 145constexpr int32_t DM_STRING_LENGTH_MAX = 1024; 146constexpr int32_t PKG_NAME_SIZE_MAX = 256; 147constexpr const char* DM_TYPE_MINE = "MINE"; 148constexpr const char* DM_TYPE_OH = "OH"; 149constexpr const char* TAG_SESSION_HEARTBEAT = "session_heartbeat"; 150 151//The following constant are provided only for HiLink. 152const static char *EXT_PART = "ext_part"; 153 154// Auth 155constexpr const char* AUTH_TYPE = "authType"; 156constexpr const char* APP_OPERATION = "appOperation"; 157constexpr const char* CUSTOM_DESCRIPTION = "customDescription"; 158constexpr const char* TOKEN = "token"; 159constexpr const char* PIN_TOKEN = "pinToken"; 160constexpr const char* PIN_CODE_KEY = "pinCode"; 161constexpr int32_t CHECK_AUTH_ALWAYS_POS = 0; 162constexpr const char AUTH_ALWAYS = '1'; 163constexpr const char AUTH_ONCE = '0'; 164constexpr const char* TAG_TARGET_DEVICE_NAME = "targetDeviceName"; 165 166// HiChain 167constexpr int32_t SERVICE_INIT_TRY_MAX_NUM = 200; 168constexpr int32_t DEVICE_UUID_LENGTH = 65; 169constexpr int32_t DEVICE_NETWORKID_LENGTH = 100; 170constexpr int32_t GROUP_TYPE_INVALID_GROUP = -1; 171constexpr int32_t GROUP_TYPE_IDENTICAL_ACCOUNT_GROUP = 1; 172constexpr int32_t GROUP_TYPE_PEER_TO_PEER_GROUP = 256; 173constexpr int32_t GROUP_TYPE_ACROSS_ACCOUNT_GROUP = 1282; 174constexpr int32_t GROUP_VISIBILITY_PUBLIC = -1; 175constexpr int64_t MIN_REQUEST_ID = 1000000000; 176constexpr int64_t MAX_REQUEST_ID = 9999999999; 177constexpr int32_t AUTH_DEVICE_REQ_NEGOTIATE = 600; 178constexpr int32_t AUTH_DEVICE_RESP_NEGOTIATE = 700; 179constexpr int32_t DEVICEID_LEN = 8; 180 181// ACE 182constexpr const char* EVENT_CONFIRM = "EVENT_CONFIRM"; 183constexpr const char* EVENT_CANCEL = "EVENT_CANCEL"; 184constexpr const char* EVENT_INIT = "EVENT_INIT"; 185constexpr const char* EVENT_CONFIRM_CODE = "0"; 186constexpr const char* EVENT_CANCEL_CODE = "1"; 187constexpr const char* EVENT_INIT_CODE = "2"; 188 189// Key of filter parameter 190constexpr const char* FILTER_PARA_RANGE = "FILTER_RANGE"; 191constexpr const char* FILTER_PARA_DEVICE_TYPE = "FILTER_DEVICE_TYPE"; 192constexpr const char* FILTER_PARA_INCLUDE_TRUST = "FILTER_INCLUDE_TRUST"; 193 194// Connection address type 195constexpr const char* CONN_ADDR_TYPE_ID = "ID_TYPE"; 196constexpr const char* CONN_ADDR_TYPE_BR = "BR_TYPE"; 197constexpr const char* CONN_ADDR_TYPE_BLE = "BLE_TYPE"; 198constexpr const char* CONN_ADDR_TYPE_WLAN_IP = "WLAN_IP_TYPE"; 199constexpr const char* CONN_ADDR_TYPE_ETH_IP = "ETH_IP_TYPE"; 200 201// Parameter Key 202constexpr const char* PARAM_KEY_META_TYPE = "META_TYPE"; 203constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID"; 204constexpr const char* PARAM_KEY_BR_MAC = "BR_MAC"; 205constexpr const char* PARAM_KEY_BLE_MAC = "BLE_MAC"; 206constexpr const char* PARAM_KEY_WIFI_IP = "WIFI_IP"; 207constexpr const char* PARAM_KEY_WIFI_PORT = "WIFI_PORT"; 208constexpr const char* PARAM_KEY_AUTH_TOKEN = "AUTH_TOKEN"; 209constexpr const char* PARAM_KEY_AUTH_TYPE = "AUTH_TYPE"; 210constexpr const char* PARAM_KEY_PIN_CODE = "PIN_CODE"; 211constexpr const char* PARAM_KEY_APP_OPER = "APP_OPER"; 212constexpr const char* PARAM_KEY_APP_DESC = "APP_DESC"; 213constexpr const char* PARAM_KEY_BLE_UDID_HASH = "BLE_UDID_HASH"; 214constexpr const char* PARAM_KEY_CUSTOM_DATA = "CUSTOM_DATA"; 215constexpr const char* PARAM_KEY_CONN_ADDR_TYPE = "CONN_ADDR_TYPE"; 216constexpr const char* PARAM_KEY_PUBLISH_ID = "PUBLISH_ID"; 217constexpr const char* PARAM_KEY_SUBSCRIBE_ID = "SUBSCRIBE_ID"; 218constexpr const char* PARAM_KEY_TARGET_PKG_NAME = "TARGET_PKG_NAME"; 219constexpr const char* PARAM_KEY_DISC_FREQ = "DISC_FREQ"; 220constexpr const char* PARAM_KEY_DISC_MEDIUM = "DISC_MEDIUM"; 221constexpr const char* PARAM_KEY_DISC_CAPABILITY = "DISC_CAPABILITY"; 222constexpr const char* PARAM_KEY_DISC_MODE = "DISC_MODE"; 223constexpr const char* PARAM_KEY_AUTO_STOP_ADVERTISE = "AUTO_STOP_ADVERTISE"; 224constexpr const char* PARAM_KEY_FILTER_OPTIONS = "FILTER_OPTIONS"; 225constexpr const char* PARAM_KEY_BIND_EXTRA_DATA = "BIND_EXTRA_DATA"; 226constexpr const char* PARAM_KEY_OS_TYPE = "OS_TYPE"; 227constexpr const char* PARAM_KEY_OS_VERSION = "OS_VERSION"; 228constexpr const char* DM_CONNECTION_DISCONNECTED = "DM_CONNECTION_DISCONNECTED"; 229constexpr const char* BIND_LEVEL = "bindLevel"; 230constexpr const char* TOKENID = "tokenId"; 231constexpr const char* DM_BIND_RESULT_NETWORK_ID = "DM_BIND_RESULT_NETWORK_ID"; 232constexpr const char* PARAM_KEY_POLICY_STRATEGY_FOR_BLE = "DM_POLICY_STRATEGY_FOR_BLE"; 233constexpr const char* PARAM_KEY_POLICY_TIME_OUT = "DM_POLICY_TIMEOUT"; 234constexpr const char* DEVICE_SCREEN_STATUS = "DEVICE_SCREEN_STATUS"; 235 236// screen state 237constexpr int32_t DM_SCREEN_UNKNOWN = -1; 238constexpr int32_t DM_SCREEN_ON = 0; 239constexpr int32_t DM_SCREEN_OFF = 1; 240 241// errCode map 242const 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