• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-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 #include "lnn_node_info.h"
17 
18 #include <string.h>
19 
20 #include <securec.h>
21 
22 #include "anonymizer.h"
23 #include "lnn_log.h"
24 #include "softbus_error_code.h"
25 #include "softbus_utils.h"
26 
27 #define DYNAMIC_LEVEL_INVALID 0xFFFF
28 #define STATIC_LEVEL_INVALID 0xFFFF
29 #define SWITCH_LEVEL_INVALID 0xFFFFFFFF
30 #define SWTICH_LENGTH_INVALID 0xFFFF
31 #define SWITCH_MAX_LENGTH 24
32 
LnnHasDiscoveryType(const NodeInfo * info,DiscoveryType type)33 bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type)
34 {
35     if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
36         LNN_LOGE(LNN_LEDGER, "para error");
37         return false;
38     }
39     if (((uint32_t)info->discoveryType & (1 << (uint32_t)type)) != 0) {
40         return true;
41     }
42     return false;
43 }
44 
LnnGetDeviceUdid(const NodeInfo * info)45 const char *LnnGetDeviceUdid(const NodeInfo *info)
46 {
47     if (info == NULL) {
48         return NULL;
49     }
50     return info->deviceInfo.deviceUdid;
51 }
52 
LnnSetDeviceUdid(NodeInfo * info,const char * udid)53 int32_t LnnSetDeviceUdid(NodeInfo *info, const char *udid)
54 {
55     if (info == NULL || udid == NULL) {
56         return SOFTBUS_INVALID_PARAM;
57     }
58     if (strncpy_s(info->deviceInfo.deviceUdid, UDID_BUF_LEN, udid, strlen(udid)) != EOK) {
59         LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
60         return SOFTBUS_MEM_ERR;
61     }
62     return SOFTBUS_OK;
63 }
64 
LnnGetDeviceUuid(const NodeInfo * info)65 const char *LnnGetDeviceUuid(const NodeInfo *info)
66 {
67     if (info == NULL) {
68         return NULL;
69     }
70     return info->uuid;
71 }
72 
LnnSetDiscoveryType(NodeInfo * info,DiscoveryType type)73 int32_t LnnSetDiscoveryType(NodeInfo *info, DiscoveryType type)
74 {
75     if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
76         LNN_LOGE(LNN_LEDGER, "para error");
77         return SOFTBUS_INVALID_PARAM;
78     }
79     info->discoveryType = (uint32_t)info->discoveryType | (1 << (uint32_t)type);
80     return SOFTBUS_OK;
81 }
82 
LnnClearDiscoveryType(NodeInfo * info,DiscoveryType type)83 int32_t LnnClearDiscoveryType(NodeInfo *info, DiscoveryType type)
84 {
85     if (info == NULL || type >= DISCOVERY_TYPE_COUNT) {
86         LNN_LOGE(LNN_LEDGER, "para error");
87         return SOFTBUS_INVALID_PARAM;
88     }
89     info->discoveryType = (uint32_t)info->discoveryType & ~(1 << (uint32_t)type);
90     return SOFTBUS_OK;
91 }
92 
LnnIsNodeOnline(const NodeInfo * info)93 bool LnnIsNodeOnline(const NodeInfo *info)
94 {
95     if (info == NULL) {
96         LNN_LOGE(LNN_LEDGER, "para error");
97         return false;
98     }
99     return (info->status == STATUS_ONLINE);
100 }
101 
LnnSetNodeConnStatus(NodeInfo * info,ConnectStatus status)102 void LnnSetNodeConnStatus(NodeInfo *info, ConnectStatus status)
103 {
104     if (info == NULL) {
105         LNN_LOGE(LNN_LEDGER, "para error");
106         return;
107     }
108     info->status = status;
109 }
110 
LnnGetBtMac(const NodeInfo * info)111 const char *LnnGetBtMac(const NodeInfo *info)
112 {
113     if (info == NULL) {
114         LNN_LOGE(LNN_LEDGER, "para error");
115         return DEFAULT_MAC;
116     }
117     return info->connectInfo.macAddr;
118 }
119 
LnnSetBtMac(NodeInfo * info,const char * mac)120 void LnnSetBtMac(NodeInfo *info, const char *mac)
121 {
122     if (info == NULL || mac == NULL) {
123         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
124         return;
125     }
126     if (strncpy_s(info->connectInfo.macAddr, MAC_LEN, mac, strlen(mac)) != EOK) {
127         LNN_LOGE(LNN_LEDGER, "str copy error");
128     }
129     return;
130 }
131 
LnnGetBleMac(const NodeInfo * info)132 const char *LnnGetBleMac(const NodeInfo *info)
133 {
134     if (info == NULL) {
135         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
136         return DEFAULT_MAC;
137     }
138     return info->connectInfo.bleMacAddr;
139 }
140 
LnnSetBleMac(NodeInfo * info,const char * mac)141 void LnnSetBleMac(NodeInfo *info, const char *mac)
142 {
143     if (info == NULL || mac == NULL) {
144         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
145         return;
146     }
147     if (strcpy_s(info->connectInfo.bleMacAddr, MAC_LEN, mac) != EOK) {
148         LNN_LOGE(LNN_LEDGER, "str copy error");
149     }
150 }
151 
LnnGetNetIfName(const NodeInfo * info)152 const char *LnnGetNetIfName(const NodeInfo *info)
153 {
154     if (info == NULL) {
155         LNN_LOGE(LNN_LEDGER, "para error");
156         return DEFAULT_IFNAME;
157     }
158     return info->connectInfo.netIfName;
159 }
160 
LnnSetNetIfName(NodeInfo * info,const char * netIfName)161 void LnnSetNetIfName(NodeInfo *info, const char *netIfName)
162 {
163     if (info == NULL || netIfName == NULL) {
164         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
165         return;
166     }
167     if (strncpy_s(info->connectInfo.netIfName, NET_IF_NAME_LEN, netIfName, strlen(netIfName)) != EOK) {
168         LNN_LOGE(LNN_LEDGER, "str copy error");
169     }
170 }
171 
LnnGetWiFiIp(const NodeInfo * info)172 const char *LnnGetWiFiIp(const NodeInfo *info)
173 {
174     if (info == NULL) {
175         LNN_LOGE(LNN_LEDGER, "PARA error");
176         return DEFAULT_IP;
177     }
178     return info->connectInfo.deviceIp;
179 }
180 
LnnSetWiFiIp(NodeInfo * info,const char * ip)181 void LnnSetWiFiIp(NodeInfo *info, const char *ip)
182 {
183     if (info == NULL || ip == NULL) {
184         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
185         return;
186     }
187     if (strncpy_s(info->connectInfo.deviceIp, sizeof(info->connectInfo.deviceIp), ip, strlen(ip)) != EOK) {
188         LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
189     }
190 }
191 
LnnGetMasterUdid(const NodeInfo * info)192 const char *LnnGetMasterUdid(const NodeInfo *info)
193 {
194     if (info == NULL) {
195         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
196         return NULL;
197     }
198     return info->masterUdid;
199 }
200 
LnnSetMasterUdid(NodeInfo * info,const char * udid)201 int32_t LnnSetMasterUdid(NodeInfo *info, const char *udid)
202 {
203     if (info == NULL || udid == NULL) {
204         LNN_LOGE(LNN_LEDGER, "PARA ERROR");
205         return SOFTBUS_INVALID_PARAM;
206     }
207     if (strncpy_s(info->masterUdid, UDID_BUF_LEN, udid, strlen(udid)) != EOK) {
208         LNN_LOGE(LNN_LEDGER, "STR COPY ERROR");
209         return SOFTBUS_STRCPY_ERR;
210     }
211     return SOFTBUS_OK;
212 }
213 
LnnGetAuthPort(const NodeInfo * info)214 int32_t LnnGetAuthPort(const NodeInfo *info)
215 {
216     if (info == NULL) {
217         LNN_LOGE(LNN_LEDGER, "para error");
218         return SOFTBUS_INVALID_PARAM;
219     }
220     return info->connectInfo.authPort;
221 }
222 
LnnSetAuthPort(NodeInfo * info,int32_t port)223 int32_t LnnSetAuthPort(NodeInfo *info, int32_t port)
224 {
225     if (info == NULL) {
226         LNN_LOGE(LNN_LEDGER, "para error");
227         return SOFTBUS_INVALID_PARAM;
228     }
229     info->connectInfo.authPort = port;
230     return SOFTBUS_OK;
231 }
232 
LnnGetSessionPort(const NodeInfo * info)233 int32_t LnnGetSessionPort(const NodeInfo *info)
234 {
235     if (info == NULL) {
236         LNN_LOGE(LNN_LEDGER, "para error");
237         return SOFTBUS_INVALID_PARAM;
238     }
239     return info->connectInfo.sessionPort;
240 }
241 
LnnSetSessionPort(NodeInfo * info,int32_t port)242 int32_t LnnSetSessionPort(NodeInfo *info, int32_t port)
243 {
244     if (info == NULL) {
245         LNN_LOGE(LNN_LEDGER, "para error");
246         return SOFTBUS_INVALID_PARAM;
247     }
248     info->connectInfo.sessionPort = port;
249     return SOFTBUS_OK;
250 }
251 
LnnGetProxyPort(const NodeInfo * info)252 int32_t LnnGetProxyPort(const NodeInfo *info)
253 {
254     if (info == NULL) {
255         LNN_LOGE(LNN_LEDGER, "para error");
256         return SOFTBUS_INVALID_PARAM;
257     }
258     return info->connectInfo.proxyPort;
259 }
260 
LnnSetProxyPort(NodeInfo * info,int32_t port)261 int32_t LnnSetProxyPort(NodeInfo *info, int32_t port)
262 {
263     if (info == NULL) {
264         LNN_LOGE(LNN_LEDGER, "para error");
265         return SOFTBUS_INVALID_PARAM;
266     }
267     info->connectInfo.proxyPort = port;
268     return SOFTBUS_OK;
269 }
270 
LnnSetP2pRole(NodeInfo * info,int32_t p2pRole)271 int32_t LnnSetP2pRole(NodeInfo *info, int32_t p2pRole)
272 {
273     if (info == NULL) {
274         LNN_LOGE(LNN_LEDGER, "invalid param");
275         return SOFTBUS_INVALID_PARAM;
276     }
277     info->p2pInfo.p2pRole = p2pRole;
278     return SOFTBUS_OK;
279 }
280 
LnnGetP2pRole(const NodeInfo * info)281 int32_t LnnGetP2pRole(const NodeInfo *info)
282 {
283     if (info == NULL) {
284         LNN_LOGE(LNN_LEDGER, "invalid param");
285         return 0;
286     }
287     return info->p2pInfo.p2pRole;
288 }
289 
LnnSetWifiCfg(NodeInfo * info,const char * wifiCfg)290 int32_t LnnSetWifiCfg(NodeInfo *info, const char *wifiCfg)
291 {
292     if (info == NULL || wifiCfg == NULL) {
293         LNN_LOGE(LNN_LEDGER, "invalid param");
294         return SOFTBUS_INVALID_PARAM;
295     }
296     if (strcpy_s(info->p2pInfo.wifiCfg, sizeof(info->p2pInfo.wifiCfg), wifiCfg) != EOK) {
297         LNN_LOGE(LNN_LEDGER, "strcpy_s wifi cfg err");
298         return SOFTBUS_MEM_ERR;
299     }
300     return SOFTBUS_OK;
301 }
302 
LnnGetWifiCfg(const NodeInfo * info)303 const char *LnnGetWifiCfg(const NodeInfo *info)
304 {
305     if (info == NULL) {
306         LNN_LOGE(LNN_LEDGER, "invalid param");
307         return NULL;
308     }
309     return info->p2pInfo.wifiCfg;
310 }
311 
LnnSetChanList5g(NodeInfo * info,const char * chanList5g)312 int32_t LnnSetChanList5g(NodeInfo *info, const char *chanList5g)
313 {
314     if (info == NULL || chanList5g == NULL) {
315         LNN_LOGE(LNN_LEDGER, "invalid param");
316         return SOFTBUS_INVALID_PARAM;
317     }
318     if (strcpy_s(info->p2pInfo.chanList5g, sizeof(info->p2pInfo.chanList5g), chanList5g) != EOK) {
319         LNN_LOGE(LNN_LEDGER, "strcpy_s chan list 5g err");
320         return SOFTBUS_MEM_ERR;
321     }
322     return SOFTBUS_OK;
323 }
324 
LnnGetChanList5g(const NodeInfo * info)325 const char *LnnGetChanList5g(const NodeInfo *info)
326 {
327     if (info == NULL) {
328         LNN_LOGE(LNN_LEDGER, "invalid param");
329         return NULL;
330     }
331     return info->p2pInfo.chanList5g;
332 }
333 
LnnSetStaFrequency(NodeInfo * info,int32_t staFrequency)334 int32_t LnnSetStaFrequency(NodeInfo *info, int32_t staFrequency)
335 {
336     if (info == NULL) {
337         LNN_LOGE(LNN_LEDGER, "invalid param");
338         return SOFTBUS_INVALID_PARAM;
339     }
340     info->p2pInfo.staFrequency = staFrequency;
341     return SOFTBUS_OK;
342 }
343 
LnnGetStaFrequency(const NodeInfo * info)344 int32_t LnnGetStaFrequency(const NodeInfo *info)
345 {
346     if (info == NULL) {
347         LNN_LOGE(LNN_LEDGER, "invalid param");
348         return 0;
349     }
350     return info->p2pInfo.staFrequency;
351 }
352 
LnnSetP2pMac(NodeInfo * info,const char * p2pMac)353 int32_t LnnSetP2pMac(NodeInfo *info, const char *p2pMac)
354 {
355     if (info == NULL || p2pMac == NULL) {
356         LNN_LOGE(LNN_LEDGER, "invalid param");
357         return SOFTBUS_INVALID_PARAM;
358     }
359     if (strcpy_s(info->p2pInfo.p2pMac, sizeof(info->p2pInfo.p2pMac), p2pMac) != EOK) {
360         LNN_LOGE(LNN_LEDGER, "strcpy_s p2p mac err");
361         return SOFTBUS_MEM_ERR;
362     }
363     return SOFTBUS_OK;
364 }
365 
LnnGetP2pMac(const NodeInfo * info)366 const char *LnnGetP2pMac(const NodeInfo *info)
367 {
368     if (info == NULL) {
369         LNN_LOGE(LNN_LEDGER, "invalid param");
370         return NULL;
371     }
372     return info->p2pInfo.p2pMac;
373 }
374 
LnnGetWifiDirectAddr(const NodeInfo * info)375 const char *LnnGetWifiDirectAddr(const NodeInfo *info)
376 {
377     if (info == NULL) {
378         LNN_LOGE(LNN_LEDGER, "invalid param");
379         return NULL;
380     }
381     return info->wifiDirectAddr;
382 }
383 
LnnSetDataChangeFlag(NodeInfo * info,uint16_t dataChangeFlag)384 int32_t LnnSetDataChangeFlag(NodeInfo *info, uint16_t dataChangeFlag)
385 {
386     if (info == NULL) {
387         LNN_LOGE(LNN_LEDGER, "invalid param");
388         return SOFTBUS_INVALID_PARAM;
389     }
390     info->dataChangeFlag = dataChangeFlag;
391     return SOFTBUS_OK;
392 }
393 
LnnGetDataChangeFlag(const NodeInfo * info)394 uint16_t LnnGetDataChangeFlag(const NodeInfo *info)
395 {
396     if (info == NULL) {
397         LNN_LOGE(LNN_LEDGER, "invalid param");
398         return 0;
399     }
400     return info->dataChangeFlag;
401 }
402 
LnnGetDataDynamicLevel(const NodeInfo * info)403 uint16_t LnnGetDataDynamicLevel(const NodeInfo *info)
404 {
405     if (info == NULL) {
406         LNN_LOGE(LNN_LEDGER, "invalid param");
407         return DYNAMIC_LEVEL_INVALID;
408     }
409     return info->dataDynamicLevel;
410 }
411 
LnnSetDataDynamicLevel(NodeInfo * info,uint16_t dataDynamicLevel)412 int32_t LnnSetDataDynamicLevel(NodeInfo *info, uint16_t dataDynamicLevel)
413 {
414     if (info == NULL) {
415         LNN_LOGE(LNN_LEDGER, "invalid param");
416         return SOFTBUS_INVALID_PARAM;
417     }
418     info->dataDynamicLevel = dataDynamicLevel;
419     return SOFTBUS_OK;
420 }
421 
LnnGetDataStaticLevel(const NodeInfo * info)422 uint16_t LnnGetDataStaticLevel(const NodeInfo *info)
423 {
424     if (info == NULL) {
425         LNN_LOGE(LNN_LEDGER, "invalid param");
426         return STATIC_LEVEL_INVALID;
427     }
428     return info->dataStaticLevel;
429 }
430 
LnnSetDataStaticLevel(NodeInfo * info,uint16_t dataStaticLevel)431 int32_t LnnSetDataStaticLevel(NodeInfo *info, uint16_t dataStaticLevel)
432 {
433     if (info == NULL) {
434         LNN_LOGE(LNN_LEDGER, "invalid param");
435         return SOFTBUS_INVALID_PARAM;
436     }
437     info->dataStaticLevel = dataStaticLevel;
438     return SOFTBUS_OK;
439 }
440 
LnnGetDataSwitchLevel(const NodeInfo * info)441 uint32_t LnnGetDataSwitchLevel(const NodeInfo *info)
442 {
443     if (info == NULL) {
444         LNN_LOGE(LNN_LEDGER, "invalid param");
445         return SWITCH_LEVEL_INVALID;
446     }
447     return info->dataSwitchLevel;
448 }
449 
LnnSetDataSwitchLevel(NodeInfo * info,uint32_t dataSwitchLevel)450 int32_t LnnSetDataSwitchLevel(NodeInfo *info, uint32_t dataSwitchLevel)
451 {
452     if (info == NULL) {
453         LNN_LOGE(LNN_LEDGER, "invalid param");
454         return SOFTBUS_INVALID_PARAM;
455     }
456     info->dataSwitchLevel = dataSwitchLevel;
457     return SOFTBUS_OK;
458 }
459 
LnnGetDataSwitchLength(const NodeInfo * info)460 uint16_t LnnGetDataSwitchLength(const NodeInfo *info)
461 {
462     if (info == NULL) {
463         LNN_LOGE(LNN_LEDGER, "invalid param");
464         return SWTICH_LENGTH_INVALID;
465     }
466     return info->dataSwitchLength;
467 }
468 
LnnSetDataSwitchLength(NodeInfo * info,uint16_t dataSwitchLength)469 int32_t LnnSetDataSwitchLength(NodeInfo *info, uint16_t dataSwitchLength)
470 {
471     if (info == NULL) {
472         LNN_LOGE(LNN_LEDGER, "invalid param");
473         return SOFTBUS_INVALID_PARAM;
474     }
475     info->dataSwitchLength = dataSwitchLength;
476     return SOFTBUS_OK;
477 }
478 
LnnSetP2pGoMac(NodeInfo * info,const char * goMac)479 int32_t LnnSetP2pGoMac(NodeInfo *info, const char *goMac)
480 {
481     if (info == NULL || goMac == NULL) {
482         LNN_LOGE(LNN_LEDGER, "invalid param");
483         return SOFTBUS_INVALID_PARAM;
484     }
485 
486     if (strcpy_s(info->p2pInfo.goMac, sizeof(info->p2pInfo.goMac), goMac) != EOK) {
487         LNN_LOGE(LNN_LEDGER, "strcpy_s go mac err");
488         return SOFTBUS_MEM_ERR;
489     }
490     return SOFTBUS_OK;
491 }
492 
LnnGetP2pGoMac(const NodeInfo * info)493 const char *LnnGetP2pGoMac(const NodeInfo *info)
494 {
495     if (info == NULL) {
496         LNN_LOGE(LNN_LEDGER, "invalid param");
497         return NULL;
498     }
499     return info->p2pInfo.goMac;
500 }
501 
LnnGetSupportedProtocols(const NodeInfo * info)502 uint64_t LnnGetSupportedProtocols(const NodeInfo *info)
503 {
504     if (info == NULL) {
505         LNN_LOGE(LNN_LEDGER, "para error");
506         return 0;
507     }
508     return info->supportedProtocols;
509 }
510 
LnnSetSupportedProtocols(NodeInfo * info,uint64_t protocols)511 int32_t LnnSetSupportedProtocols(NodeInfo *info, uint64_t protocols)
512 {
513     if (info == NULL) {
514         LNN_LOGE(LNN_LEDGER, "para error");
515         return SOFTBUS_INVALID_PARAM;
516     }
517     info->supportedProtocols = protocols;
518     return SOFTBUS_OK;
519 }
520 
LnnSetWifiDirectAddr(NodeInfo * info,const char * wifiDirectAddr)521 int32_t LnnSetWifiDirectAddr(NodeInfo *info, const char *wifiDirectAddr)
522 {
523     if (info == NULL || wifiDirectAddr == NULL) {
524         LNN_LOGE(LNN_LEDGER, "invalid param");
525         return SOFTBUS_INVALID_PARAM;
526     }
527     if (strcpy_s(info->wifiDirectAddr, sizeof(info->wifiDirectAddr), wifiDirectAddr) != EOK) {
528         LNN_LOGE(LNN_LEDGER, "strcpy_s wifidirect addr err");
529         return SOFTBUS_MEM_ERR;
530     }
531     return SOFTBUS_OK;
532 }
533 
LnnSetStaticCapability(NodeInfo * info,uint8_t * cap,uint32_t len)534 int32_t LnnSetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len)
535 {
536     if (info == NULL || cap == NULL) {
537         LNN_LOGE(LNN_LEDGER, "param is null");
538         return SOFTBUS_INVALID_PARAM;
539     }
540     if (len <= 0 || len > STATIC_CAP_LEN) {
541         LNN_LOGE(LNN_LEDGER, "length error");
542         return SOFTBUS_INVALID_PARAM;
543     }
544     if (memcpy_s(info->staticCapability, STATIC_CAP_LEN, cap, len) != EOK) {
545         LNN_LOGE(LNN_LEDGER, "memcpy static cap err");
546         return SOFTBUS_MEM_ERR;
547     }
548     return SOFTBUS_OK;
549 }
550 
LnnGetStaticCapability(NodeInfo * info,uint8_t * cap,uint32_t len)551 int32_t LnnGetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len)
552 {
553     if (info == NULL || cap == NULL) {
554         LNN_LOGE(LNN_LEDGER, "param err");
555         return SOFTBUS_INVALID_PARAM;
556     }
557     if (len < 0 || len > STATIC_CAP_LEN) {
558         LNN_LOGE(LNN_LEDGER, "param err");
559         return SOFTBUS_INVALID_PARAM;
560     }
561     if (memcpy_s(cap, len, info->staticCapability, info->staticCapLen) != EOK) {
562         LNN_LOGE(LNN_LEDGER, "memcpy static cap err");
563         return SOFTBUS_MEM_ERR;
564     }
565     return SOFTBUS_OK;
566 }
567 
LnnSetUserIdCheckSum(NodeInfo * info,uint8_t * data,uint32_t len)568 int32_t LnnSetUserIdCheckSum(NodeInfo *info, uint8_t *data, uint32_t len)
569 {
570     if (info == NULL || data == NULL) {
571         LNN_LOGE(LNN_LEDGER, "param is null");
572         return SOFTBUS_INVALID_PARAM;
573     }
574     if (len != USERID_CHECKSUM_LEN) {
575         LNN_LOGE(LNN_LEDGER, "length error");
576         return SOFTBUS_INVALID_PARAM;
577     }
578     if (memcpy_s(info->userIdCheckSum, USERID_CHECKSUM_LEN, data, len) != EOK) {
579         LNN_LOGE(LNN_LEDGER, "memcpy useridchecksum err");
580         return SOFTBUS_MEM_ERR;
581     }
582     return SOFTBUS_OK;
583 }
584 
LnnGetUserIdCheckSum(NodeInfo * info,uint8_t * data,uint32_t len)585 int32_t LnnGetUserIdCheckSum(NodeInfo *info, uint8_t *data, uint32_t len)
586 {
587     if (info == NULL || data == NULL) {
588         LNN_LOGE(LNN_LEDGER, "param err");
589         return SOFTBUS_INVALID_PARAM;
590     }
591     if (len != USERID_CHECKSUM_LEN) {
592         LNN_LOGE(LNN_LEDGER, "param err");
593         return SOFTBUS_INVALID_PARAM;
594     }
595     if (memcpy_s(data, len, info->userIdCheckSum, len) != EOK) {
596         LNN_LOGE(LNN_LEDGER, "memcpy useridchecksum err");
597         return SOFTBUS_MEM_ERR;
598     }
599     return SOFTBUS_OK;
600 }
601 
LnnSetPtk(NodeInfo * info,const char * remotePtk)602 int32_t LnnSetPtk(NodeInfo *info, const char *remotePtk)
603 {
604     if (info == NULL || remotePtk == NULL) {
605         LNN_LOGE(LNN_LEDGER, "invalid param");
606         return SOFTBUS_INVALID_PARAM;
607     }
608     if (memcpy_s(info->remotePtk, PTK_DEFAULT_LEN, remotePtk, PTK_DEFAULT_LEN) != EOK) {
609         LNN_LOGE(LNN_LEDGER, "memcpy ptk err");
610         return SOFTBUS_MEM_ERR;
611     }
612     return SOFTBUS_OK;
613 }
614 
LnnDumpRemotePtk(const char * oldPtk,const char * newPtk,const char * log)615 void LnnDumpRemotePtk(const char *oldPtk, const char *newPtk, const char *log)
616 {
617     char ptkStr[PTK_STR_LEN] = { 0 };
618     char oldPtkStr[PTK_STR_LEN] = { 0 };
619 
620     if (log == NULL) {
621         return;
622     }
623     if (newPtk != NULL &&
624         ConvertBytesToUpperCaseHexString(ptkStr, PTK_STR_LEN, (unsigned char *)newPtk, PTK_DEFAULT_LEN) != SOFTBUS_OK) {
625         LNN_LOGE(LNN_LEDGER, "convert new ptk fail");
626     }
627     if (oldPtk != NULL &&
628         ConvertBytesToUpperCaseHexString(oldPtkStr, PTK_STR_LEN, (unsigned char *)oldPtk, PTK_DEFAULT_LEN) !=
629         SOFTBUS_OK) {
630         LNN_LOGE(LNN_LEDGER, "convert old ptk fail");
631     }
632     char *anonyPtk = NULL;
633     char *anonyOldPtk = NULL;
634     Anonymize(ptkStr, &anonyPtk);
635     Anonymize(oldPtkStr, &anonyOldPtk);
636     LNN_LOGI(LNN_LEDGER, "log=%{public}s, dump newPtk=%{public}s, oldPtk=%{public}s",
637         log, AnonymizeWrapper(anonyPtk), AnonymizeWrapper(anonyOldPtk));
638     AnonymizeFree(anonyPtk);
639     AnonymizeFree(anonyOldPtk);
640     (void)memset_s(ptkStr, PTK_STR_LEN, 0, PTK_STR_LEN);
641     (void)memset_s(oldPtkStr, PTK_STR_LEN, 0, PTK_STR_LEN);
642 }
643 
LnnDumpNodeInfo(const NodeInfo * deviceInfo,const char * log)644 void LnnDumpNodeInfo(const NodeInfo *deviceInfo, const char *log)
645 {
646     char *anonyNetworkId = NULL;
647     char *anonyUdid = NULL;
648     char *anonyDeviceName = NULL;
649     char *anonyBtMac = NULL;
650     Anonymize(deviceInfo->networkId, &anonyNetworkId);
651     Anonymize(deviceInfo->deviceInfo.deviceUdid, &anonyUdid);
652     Anonymize(deviceInfo->deviceInfo.deviceName, &anonyDeviceName);
653     Anonymize(deviceInfo->connectInfo.macAddr, &anonyBtMac);
654     LNN_LOGI(LNN_LEDGER, "log=%{public}s, stateVersion=%{public}d, networkId=%{public}s, udid=%{public}s, "
655         "deviceName=%{public}s, btMac=%{public}s, networkIdTimestamp=%{public}" PRId64, log, deviceInfo->stateVersion,
656         AnonymizeWrapper(anonyNetworkId), AnonymizeWrapper(anonyUdid), AnonymizeWrapper(anonyDeviceName),
657         AnonymizeWrapper(anonyBtMac), deviceInfo->networkIdTimestamp);
658     AnonymizeFree(anonyNetworkId);
659     AnonymizeFree(anonyUdid);
660     AnonymizeFree(anonyDeviceName);
661     AnonymizeFree(anonyBtMac);
662 }
663 
LnnSetScreenStatus(NodeInfo * info,bool isScreenOn)664 int32_t LnnSetScreenStatus(NodeInfo *info, bool isScreenOn)
665 {
666     if (info == NULL) {
667         LNN_LOGE(LNN_LEDGER, "invalid param");
668         return SOFTBUS_INVALID_PARAM;
669     }
670     info->isScreenOn = isScreenOn;
671     LNN_LOGI(LNN_LEDGER, "set local screen status to %{public}s", isScreenOn ? "on" : "off");
672     return SOFTBUS_OK;
673 }