• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 LNN_DEVICE_INFO_RECOVERY_H
17 #define LNN_DEVICE_INFO_RECOVERY_H
18 
19 #include "cJSON.h"
20 #include "lnn_node_info.h"
21 #include "softbus_adapter_crypto.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #define DEVICE_INFO_P2P_MAC_ADDR "P2P_MAC_ADDR"
28 #define DEVICE_INFO_DEVICE_NAME "DEVICE_NAME"
29 #define DEVICE_INFO_SETTINGS_NICK_NAME "SETTINGS_NICK_NAME"
30 #define DEVICE_INFO_UNIFIED_DEFAULT_DEVICE_NAME "UNIFIED_DEFAULT_DEVICE_NAME"
31 #define DEVICE_INFO_UNIFIED_DEVICE_NAME "UNIFIED_DEVICE_NAME"
32 #define DEVICE_INFO_DEVICE_TYPE "DEVICE_TYPE"
33 #define DEVICE_INFO_VERSION_TYPE "VERSION_TYPE"
34 #define DEVICE_INFO_SW_VERSION "SW_VERSION"
35 #define DEVICE_INFO_PKG_VERSION "PKG_VERSION"
36 #define DEVICE_INFO_DEVICE_UDID "DEVICE_UDID"
37 #define DEVICE_INFO_DEVICE_UUID "DEVICE_UUID"
38 #define DEVICE_INFO_OS_TYPE "OS_TYPE"
39 #define DEVICE_INFO_OS_VERSION "OS_VERSION"
40 #define DEVICE_INFO_DEVICE_VERSION "DEVICE_VERSION"
41 #define DEVICE_INFO_WIFI_VERSION "WIFI_VERSION"
42 #define DEVICE_INFO_BLE_VERSION "BLE_VERSION"
43 #define DEVICE_INFO_CONNECT_INFO "CONNECT_INFO"
44 #define DEVICE_INFO_BT_MAC "BT_MAC"
45 #define DEVICE_INFO_BR_MAC_ADDR "BR_MAC_ADDR"
46 #define DEVICE_INFO_HML_MAC "HML_MAC"
47 #define DEVICE_INFO_REMAIN_POWER "REMAIN_POWER"
48 #define DEVICE_INFO_IS_CHARGING "IS_CHARGING"
49 #define DEVICE_INFO_IS_SCREENON "IS_SCREENON"
50 #define DEVICE_INFO_IP_MAC "IP_MAC"
51 #define DEVICE_INFO_P2P_ROLE "P2P_ROLE"
52 #define DEVICE_INFO_NETWORK_ID "NETWORK_ID"
53 #define DEVICE_INFO_NODE_WEIGHT "NODE_WEIGHT"
54 #define DEVICE_INFO_ACCOUNT_ID "ACCOUNT_ID"
55 #define DEVICE_INFO_DISTRIBUTED_SWITCH "DISTRIBUTED_SWITCH"
56 #define DEVICE_INFO_TRANSPORT_PROTOCOL "TRANSPORT_PROTOCOL"
57 #define DEVICE_INFO_TRANS_FLAGS "TRANS_FLAGS"
58 #define DEVICE_INFO_BLE_P2P "BLE_P2P"
59 #define DEVICE_INFO_BLE_TIMESTAMP "BLE_TIMESTAMP"
60 #define DEVICE_INFO_WIFI_BUFF_SIZE "WIFI_BUFF_SIZE"
61 #define DEVICE_INFO_BR_BUFF_SIZE "BR_BUFF_SIZE"
62 #define DEVICE_INFO_FEATURE "FEATURE"
63 #define DEVICE_INFO_CONN_SUB_FEATURE "CONN_SUB_FEATURE"
64 #define DEVICE_INFO_META_INFO_JSON_TAG "MetaNodeInfoOfEar"
65 #define DEVICE_INFO_STATIC_NET_CAP "STATIC_NET_CAP"
66 #define DEVICE_INFO_CONN_CAP "CONN_CAP"
67 #define DEVICE_INFO_NEW_CONN_CAP "NEW_CONN_CAP"
68 #define DEVICE_INFO_AUTH_CAP "AUTH_CAP"
69 #define DEVICE_INFO_HB_CAP "HB_CAP"
70 #define DEVICE_INFO_EXTDATA "EXTDATA"
71 #define DEVICE_INFO_STATE_VERSION "STATE_VERSION"
72 #define DEVICE_INFO_LOCAL_STATE_VERSION "LOCAL_STATE_VERSION"
73 #define DEVICE_INFO_STATE_VERSION_CHANGE_REASON "STATE_VERSION_CHANGE_REASON"
74 #define DEVICE_INFO_BD_KEY "BD_KEY"
75 #define DEVICE_INFO_BDKEY_TIME "BDKEY_TIME"
76 #define DEVICE_INFO_IV "IV"
77 #define DEVICE_INFO_IV_TIME "IV_TIME"
78 #define DEVICE_INFO_NETWORK_ID_TIMESTAMP "NETWORK_ID_TIMESTAMP"
79 #define DEVICE_INFO_DEVICE_IRK "IRK"
80 #define DEVICE_INFO_DEVICE_PUB_MAC "PUB_MAC"
81 #define DEVICE_INFO_BROADCAST_CIPHER_KEY "BROADCAST_CIPHER_KEY"
82 #define DEVICE_INFO_BROADCAST_CIPHER_IV "BROADCAST_CIPHER_IV"
83 #define DEVICE_INFO_DEVICE_SECURITY_LEVEL "DEVICE_SECURITY_LEVEL"
84 #define DEVICE_INFO_DEVICE_PRODUCT_ID "DEVICE_PRODUCT_ID"
85 #define DEVICE_INFO_DEVICE_MODEL_NAME "DEVICE_MODEL_NAME"
86 #define DEVICE_INFO_PTK "PTK"
87 #define DEVICE_INFO_STATIC_CAP "STATIC_CAP"
88 #define DEVICE_INFO_STATIC_CAP_LEN "STATIC_CAP_LEN"
89 #define DEVICE_INFO_JSON_BROADCAST_KEY_TABLE "JSON_KEY_TABLE_MIAN"
90 #define DEVICE_INFO_JSON_KEY_TOTAL_LIFE "JSON_KEY_TOTAL_LIFE"
91 #define DEVICE_INFO_JSON_KEY_TIMESTAMP_BEGIN "JSON_KEY_TIMESTAMP_BEGIN"
92 #define DEVICE_INFO_JSON_KEY_CURRENT_INDEX "JSON_KEY_CURRENT_INDEX"
93 #define DEVICE_INFO_TIMESTAMP "TIMESTAMP"
94 #define DEVICE_INFO_LAST_AUTH_SEQ "LAST_AUTH_SEQ"
95 #define DEVICE_INFO_USERID_CHECKSUM "USERID_CHECKSUM"
96 #define IS_SUPPORT_IPV6 "IS_SUPPORT_IPV6"
97 #define IS_AUTH_EXCHANGE_UDID "IS_AUTH_EXCHANGE_UDID"
98 #define IS_ACK_SEQ "IS_ACK_SEQ"
99 #define DEVICE_INFO_PEER_UDID "DEVICE_INFO_PEER_UDID"
100 #define DEVICE_INFO_SLE_ADDR "SLE_ADDR"
101 #define DEVICE_INFO_SLE_RANGE_CAP "SLE_RANGE_CAPABILITY"
102 #define DEVICE_INFO_HUKS_KEY_TIME "HUKS_KEY_TIME"
103 
104 int32_t LnnLoadLocalDeviceInfo(void);
105 int32_t LnnLoadRemoteDeviceInfo(void);
106 int32_t LnnSaveLocalDeviceInfo(const NodeInfo *deviceInfo);
107 int32_t LnnGetLocalDevInfo(NodeInfo *deviceInfo);
108 int32_t LnnGetAllRemoteDevInfo(NodeInfo **info, int32_t *nums);
109 int32_t LnnSaveRemoteDeviceInfo(const NodeInfo *deviceInfo);
110 int32_t LnnUpdateRemoteDeviceInfo(const NodeInfo *deviceInfo);
111 int32_t LnnRetrieveDeviceInfo(const char *udidHash, NodeInfo *deviceInfo);
112 int32_t LnnRetrieveDeviceInfoByUdid(const char *udid, NodeInfo *deviceInfo);
113 int32_t LnnRetrieveDeviceInfoByNetworkId(const char *networkId, NodeInfo *info);
114 void LnnDeleteDeviceInfo(const char *udid);
115 void ClearDeviceInfo(void);
116 int32_t LnnGetUdidByBrMac(const char *brMac, char *udid, uint32_t udidLen);
117 int32_t LnnGetLocalCacheNodeInfo(NodeInfo *info);
118 int32_t LnnLoadLocalDeviceAccountIdInfo(void);
119 int32_t LnnGetAccountIdFromLocalCache(int64_t *buf);
120 int32_t LnnPackCloudSyncDeviceInfo(cJSON *json, const NodeInfo *cloudSyncInfo);
121 int32_t LnnUnPackCloudSyncDeviceInfo(cJSON *json, NodeInfo *cloudSyncInfo);
122 void LnnUpdateAuthExchangeUdid(void);
123 void LnnClearAuthExchangeUdid(const char *networkId);
124 int32_t LnnPackCloudSyncAckSeq(cJSON *json, char *peerudid);
125 #ifdef __cplusplus
126 }
127 #endif
128 
129 #endif /* LNN_DEVICE_INFO_RECOVERY_H */
130