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 21 #ifdef __LP64__ 22 constexpr const char* DM_LIB_LOAD_PATH = "/system/lib64/"; 23 #else 24 #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) 25 constexpr const char* DM_LIB_LOAD_PATH = "/system/lib/"; 26 #else 27 constexpr const char* DM_LIB_LOAD_PATH = "/usr/lib/"; 28 #endif 29 #endif 30 31 namespace OHOS { 32 namespace DistributedHardware { 33 enum { 34 DM_OK = 0, 35 SOFTBUS_OK = 0, 36 STOP_BIND = 1, 37 ERR_DM_FAILED = -20000, 38 ERR_DM_TIME_OUT = -20001, 39 ERR_DM_NOT_INIT = -20002, 40 ERR_DM_INIT_FAILED = -20004, 41 ERR_DM_POINT_NULL = -20005, 42 ERR_DM_INPUT_PARA_INVALID = -20006, 43 ERR_DM_NO_PERMISSION = -20007, 44 ERR_DM_MALLOC_FAILED = -20008, 45 ERR_DM_DISCOVERY_FAILED = -20009, 46 ERR_DM_MAP_KEY_ALREADY_EXISTS = -20010, 47 ERR_DM_IPC_WRITE_FAILED = -20012, 48 ERR_DM_IPC_COPY_FAILED = -20013, 49 ERR_DM_IPC_SEND_REQUEST_FAILED = -20014, 50 ERR_DM_UNSUPPORTED_IPC_COMMAND = -20015, 51 ERR_DM_IPC_RESPOND_FAILED = -20016, 52 ERR_DM_DISCOVERY_REPEATED = -20017, 53 ERR_DM_UNSUPPORTED_AUTH_TYPE = -20018, 54 ERR_DM_AUTH_BUSINESS_BUSY = -20019, 55 ERR_DM_AUTH_OPEN_SESSION_FAILED = -20020, 56 ERR_DM_AUTH_PEER_REJECT = -20021, 57 ERR_DM_AUTH_REJECT = -20022, 58 ERR_DM_AUTH_FAILED = -20023, 59 ERR_DM_AUTH_NOT_START = -20024, 60 ERR_DM_AUTH_MESSAGE_INCOMPLETE = -20025, 61 ERR_DM_CREATE_GROUP_FAILED = -20026, 62 ERR_DM_IPC_READ_FAILED = -20027, 63 ERR_DM_ENCRYPT_FAILED = -20028, 64 ERR_DM_PUBLISH_FAILED = -20029, 65 ERR_DM_PUBLISH_REPEATED = -20030, 66 ERR_DM_STOP_DISCOVERY = -20031, 67 ERR_DM_ADD_GROUP_FAILED = -20032, 68 69 // The following error codes are provided since OpenHarmony 4.1 Version. 70 ERR_DM_ADAPTER_NOT_INIT = -20032, 71 ERR_DM_UNSUPPORTED_METHOD = -20033, 72 ERR_DM_BIND_COMMON_FAILED = -20034, 73 ERR_DM_BIND_INPUT_PARA_INVALID = -20035, 74 ERR_DM_BIND_PIN_CODE_ERROR = -20036, 75 ERR_DM_BIND_USER_CANCEL = -20037, 76 ERR_DM_BIND_TIMEOUT_FAILED = -20038, 77 ERR_DM_BIND_DP_ERROR = -20039, 78 ERR_DM_BIND_HICHAIN_ERROR = -20040, 79 ERR_DM_BIND_SOFTBUS_ERROR = -20041, 80 ERR_DM_BIND_USER_CANCEL_ERROR = -20042, 81 ERR_DM_STOP_PUBLISH_LNN_FAILED = -20043, 82 ERR_DM_REFRESH_LNN_FAILED = -20044, 83 ERR_DM_STOP_REFRESH_LNN_FAILED = -20045, 84 ERR_DM_START_ADVERTISING_FAILED = -20046, 85 ERR_DM_STOP_ADVERTISING_FAILED = -20047, 86 ERR_DM_ENABLE_DISCOVERY_LISTENER_FAILED = -20048, 87 ERR_DM_DISABLE_DISCOVERY_LISTENER_FAILED = -20049, 88 ERR_DM_START_DISCOVERING_FAILED = -20050, 89 ERR_DM_STOP_DISCOVERING_FAILED = -20051, 90 ERR_DM_SOFTBUS_SERVICE_NOT_INIT = -20052, 91 ERR_DM_AUTH_CODE_INCORRECT = -20053, 92 ERR_DM_META_TYPE_INVALID = -20054, 93 ERR_DM_LOAD_CUSTOM_META_NODE = -20055, 94 ERR_DM_BIND_USER_CANCEL_PIN_CODE_DISPLAY = -20056, 95 ERR_DM_SOFTBUS_PUBLISH_SERVICE = -20057, 96 ERR_DM_SYNC_DELETE_DEVICE_REPEATED = -20058, 97 ERR_DM_BIND_PEER_UNSUPPORTED = -20059, 98 ERR_DM_HICHAIN_CREDENTIAL_REQUEST_FAILED = -20060, 99 ERR_DM_HICHAIN_CREDENTIAL_CHECK_FAILED = -20061, 100 ERR_DM_HICHAIN_CREDENTIAL_IMPORT_FAILED = -20062, 101 ERR_DM_HICHAIN_CREDENTIAL_DELETE_FAILED = -20063, 102 ERR_DM_HICHAIN_UNREGISTER_CALLBACK = -20064, 103 ERR_DM_HICHAIN_GET_REGISTER_INFO = -20065, 104 ERR_DM_HICHAIN_CREDENTIAL_EXISTS = -20066, 105 ERR_DM_HICHAIN_REGISTER_CALLBACK = -20067, 106 ERR_DM_HICHAIN_GROUP_CREATE_FAILED = -20068, 107 ERR_DM_JSON_PARSE_STRING = -20069, 108 ERR_DM_SOFTBUS_SEND_BROADCAST = -20070, 109 ERR_DM_SOFTBUS_DISCOVERY_DEVICE = -20071, 110 ERR_DM_SOFTBUS_STOP_DISCOVERY_DEVICE = -20072, 111 ERR_DM_INVALID_JSON_STRING = -20073, 112 ERR_DM_GET_DATA_SHA256_HASH = -20074, 113 }; 114 115 constexpr const char* TAG_GROUP_ID = "groupId"; 116 constexpr const char* TAG_GROUP_NAME = "GROUPNAME"; 117 constexpr const char* TAG_REQUEST_ID = "REQUESTID"; 118 constexpr const char* TAG_DEVICE_ID = "DEVICEID"; 119 constexpr const char* TAG_AUTH_TYPE = "AUTHTYPE"; 120 constexpr const char* TAG_CRYPTO_SUPPORT = "CRYPTOSUPPORT"; 121 constexpr const char* TAG_VER = "ITF_VER"; 122 constexpr const char* TAG_MSG_TYPE = "MSG_TYPE"; 123 constexpr const char* DM_ITF_VER = "1.1"; 124 constexpr const char* DM_PKG_NAME = "ohos.distributedhardware.devicemanager"; 125 constexpr const char* DM_SESSION_NAME = "ohos.distributedhardware.devicemanager.resident"; 126 constexpr const char* DM_PIN_HOLDER_SESSION_NAME = "ohos.distributedhardware.devicemanager.pinholder"; 127 constexpr const char* DM_UNBIND_SESSION_NAME = "ohos.distributedhardware.devicemanager.unbind"; 128 constexpr const char* DM_CAPABILITY_OSD = "osdCapability"; 129 constexpr const char* DM_CAPABILITY_APPROACH = "approach"; 130 constexpr const char* DM_CAPABILITY_CASTPLUS = "castPlus"; 131 constexpr const char* DM_CAPABILITY_SHARE = "share"; 132 constexpr const char* DM_CAPABILITY_WEAR = "wear"; 133 constexpr const char* DM_CREDENTIAL_TYPE = "CREDENTIAL_TYPE"; 134 constexpr const char* DM_CREDENTIAL_REQJSONSTR = "CREDENTIAL_REQJSONSTR"; 135 constexpr const char* DM_CREDENTIAL_RETURNJSONSTR = "CREDENTIAL_RETURNJSONSTR"; 136 constexpr const char* DEVICE_MANAGER_GROUPNAME = "DMSameAccountGroup"; 137 constexpr const char* FIELD_CREDENTIAL_EXISTS = "isCredentialExists"; 138 constexpr int32_t DM_STRING_LENGTH_MAX = 1024; 139 constexpr int32_t PKG_NAME_SIZE_MAX = 256; 140 constexpr const char* DM_TYPE_MINE = "MINE"; 141 constexpr const char* DM_TYPE_OH = "OH"; 142 constexpr const char* TAG_SESSION_HEARTBEAT = "session_heartbeat"; 143 144 //The following constant are provided only for HiLink. 145 const static char *EXT_PART = "ext_part"; 146 147 // Auth 148 constexpr const char* AUTH_TYPE = "authType"; 149 constexpr const char* APP_OPERATION = "appOperation"; 150 constexpr const char* CUSTOM_DESCRIPTION = "customDescription"; 151 constexpr const char* TOKEN = "token"; 152 constexpr const char* PIN_TOKEN = "pinToken"; 153 constexpr const char* PIN_CODE_KEY = "pinCode"; 154 constexpr int32_t CHECK_AUTH_ALWAYS_POS = 0; 155 constexpr const char AUTH_ALWAYS = '1'; 156 constexpr const char AUTH_ONCE = '0'; 157 constexpr const char* TAG_TARGET_DEVICE_NAME = "targetDeviceName"; 158 159 // HiChain 160 constexpr int32_t SERVICE_INIT_TRY_MAX_NUM = 200; 161 constexpr int32_t DEVICE_UUID_LENGTH = 65; 162 constexpr int32_t DEVICE_NETWORKID_LENGTH = 100; 163 constexpr int32_t GROUP_TYPE_INVALID_GROUP = -1; 164 constexpr int32_t GROUP_TYPE_IDENTICAL_ACCOUNT_GROUP = 1; 165 constexpr int32_t GROUP_TYPE_PEER_TO_PEER_GROUP = 256; 166 constexpr int32_t GROUP_TYPE_ACROSS_ACCOUNT_GROUP = 1282; 167 constexpr int32_t GROUP_VISIBILITY_PUBLIC = -1; 168 constexpr int64_t MIN_REQUEST_ID = 1000000000; 169 constexpr int64_t MAX_REQUEST_ID = 9999999999; 170 constexpr int32_t AUTH_DEVICE_REQ_NEGOTIATE = 600; 171 constexpr int32_t AUTH_DEVICE_RESP_NEGOTIATE = 700; 172 constexpr int32_t DEVICEID_LEN = 8; 173 174 // ACE 175 constexpr const char* EVENT_CONFIRM = "EVENT_CONFIRM"; 176 constexpr const char* EVENT_CANCEL = "EVENT_CANCEL"; 177 constexpr const char* EVENT_INIT = "EVENT_INIT"; 178 constexpr const char* EVENT_CONFIRM_CODE = "0"; 179 constexpr const char* EVENT_CANCEL_CODE = "1"; 180 constexpr const char* EVENT_INIT_CODE = "2"; 181 182 // Key of filter parameter 183 constexpr const char* FILTER_PARA_RANGE = "FILTER_RANGE"; 184 constexpr const char* FILTER_PARA_DEVICE_TYPE = "FILTER_DEVICE_TYPE"; 185 constexpr const char* FILTER_PARA_INCLUDE_TRUST = "FILTER_INCLUDE_TRUST"; 186 187 // Connection address type 188 constexpr const char* CONN_ADDR_TYPE_ID = "ID_TYPE"; 189 constexpr const char* CONN_ADDR_TYPE_BR = "BR_TYPE"; 190 constexpr const char* CONN_ADDR_TYPE_BLE = "BLE_TYPE"; 191 constexpr const char* CONN_ADDR_TYPE_WLAN_IP = "WLAN_IP_TYPE"; 192 constexpr const char* CONN_ADDR_TYPE_ETH_IP = "ETH_IP_TYPE"; 193 194 // Parameter Key 195 constexpr const char* PARAM_KEY_META_TYPE = "META_TYPE"; 196 constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID"; 197 constexpr const char* PARAM_KEY_BR_MAC = "BR_MAC"; 198 constexpr const char* PARAM_KEY_BLE_MAC = "BLE_MAC"; 199 constexpr const char* PARAM_KEY_WIFI_IP = "WIFI_IP"; 200 constexpr const char* PARAM_KEY_WIFI_PORT = "WIFI_PORT"; 201 constexpr const char* PARAM_KEY_AUTH_TOKEN = "AUTH_TOKEN"; 202 constexpr const char* PARAM_KEY_AUTH_TYPE = "AUTH_TYPE"; 203 constexpr const char* PARAM_KEY_PIN_CODE = "PIN_CODE"; 204 constexpr const char* PARAM_KEY_APP_OPER = "APP_OPER"; 205 constexpr const char* PARAM_KEY_APP_DESC = "APP_DESC"; 206 constexpr const char* PARAM_KEY_BLE_UDID_HASH = "BLE_UDID_HASH"; 207 constexpr const char* PARAM_KEY_CUSTOM_DATA = "CUSTOM_DATA"; 208 constexpr const char* PARAM_KEY_CONN_ADDR_TYPE = "CONN_ADDR_TYPE"; 209 constexpr const char* PARAM_KEY_PUBLISH_ID = "PUBLISH_ID"; 210 constexpr const char* PARAM_KEY_SUBSCRIBE_ID = "SUBSCRIBE_ID"; 211 constexpr const char* PARAM_KEY_TARGET_PKG_NAME = "TARGET_PKG_NAME"; 212 constexpr const char* PARAM_KEY_DISC_FREQ = "DISC_FREQ"; 213 constexpr const char* PARAM_KEY_DISC_MEDIUM = "DISC_MEDIUM"; 214 constexpr const char* PARAM_KEY_DISC_CAPABILITY = "DISC_CAPABILITY"; 215 constexpr const char* PARAM_KEY_AUTO_STOP_ADVERTISE = "AUTO_STOP_ADVERTISE"; 216 constexpr const char* PARAM_KEY_FILTER_OPTIONS = "FILTER_OPTIONS"; 217 constexpr const char* PARAM_KEY_BIND_EXTRA_DATA = "BIND_EXTRA_DATA"; 218 constexpr const char* PARAM_KEY_OS_TYPE = "OS_TYPE"; 219 constexpr const char* PARAM_KEY_OS_VERSION = "OS_VERSION"; 220 constexpr const char* DM_CONNECTION_DISCONNECTED = "DM_CONNECTION_DISCONNECTED"; 221 constexpr const char* BIND_LEVEL = "bindLevel"; 222 constexpr const char* TOKENID = "tokenId"; 223 constexpr const char* DM_BIND_RESULT_NETWORK_ID = "DM_BIND_RESULT_NETWORK_ID"; 224 } // namespace DistributedHardware 225 } // namespace OHOS 226 #endif // OHOS_DM_CONSTANTS_H