1 /* 2 * Copyright (c) 2021-2025 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_NODE_INFO_H 17 #define LNN_NODE_INFO_H 18 19 #include "lnn_connect_info.h" 20 #include "lnn_device_info.h" 21 #include "lnn_net_capability.h" 22 #include "lnn_node_info_struct.h" 23 #include "softbus_def.h" 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 const char *LnnGetDeviceUdid(const NodeInfo *info); 30 int32_t LnnSetDeviceUdid(NodeInfo *info, const char *udid); 31 const char *LnnGetDeviceUuid(const NodeInfo *info); 32 bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type); 33 int32_t LnnSetDiscoveryType(NodeInfo *info, DiscoveryType type); 34 int32_t LnnClearDiscoveryType(NodeInfo *info, DiscoveryType type); 35 bool LnnIsNodeOnline(const NodeInfo *info); 36 void LnnSetNodeConnStatus(NodeInfo *info, ConnectStatus status); 37 const char *LnnGetBtMac(const NodeInfo *info); 38 void LnnSetBtMac(NodeInfo *info, const char *mac); 39 const char *LnnGetBleMac(const NodeInfo *info); 40 void LnnSetBleMac(NodeInfo *info, const char *mac); 41 const char *LnnGetWiFiIp(const NodeInfo *info, int32_t ifnameIdx); 42 void LnnSetWiFiIp(NodeInfo *info, const char *ip, int32_t ifnameIdx); 43 const char *LnnGetNetIfName(const NodeInfo *info, int32_t ifnameIdx); 44 void LnnSetNetIfName(NodeInfo *info, const char *netIfName, int32_t ifnameIdx); 45 const char *LnnGetMasterUdid(const NodeInfo *info); 46 int32_t LnnSetMasterUdid(NodeInfo *info, const char *udid); 47 int32_t LnnGetAuthPort(const NodeInfo *info, int32_t ifnameIdx); 48 int32_t LnnSetAuthPort(NodeInfo *info, int32_t port, int32_t ifnameIdx); 49 int32_t LnnGetSessionPort(const NodeInfo *info, int32_t ifnameIdx); 50 int32_t LnnSetSessionPort(NodeInfo *info, int32_t port, int32_t ifnameIdx); 51 int32_t LnnGetProxyPort(const NodeInfo *info, int32_t ifnameIdx); 52 int32_t LnnSetProxyPort(NodeInfo *info, int32_t port, int32_t ifnameIdx); 53 int32_t LnnSetP2pRole(NodeInfo *info, int32_t role); 54 int32_t LnnGetP2pRole(const NodeInfo *info); 55 int32_t LnnSetWifiCfg(NodeInfo *info, const char *wifiCfg); 56 const char *LnnGetWifiCfg(const NodeInfo *info); 57 int32_t LnnSetChanList5g(NodeInfo *info, const char *chanList5g); 58 const char *LnnGetChanList5g(const NodeInfo *info); 59 int32_t LnnSetStaFrequency(NodeInfo *info, int32_t staFrequency); 60 int32_t LnnGetStaFrequency(const NodeInfo *info); 61 int32_t LnnSetP2pMac(NodeInfo *info, const char *p2pMac); 62 uint16_t LnnGetDataChangeFlag(const NodeInfo *info); 63 int32_t LnnSetDataChangeFlag(NodeInfo *info, uint16_t dataChangeFlag); 64 uint16_t LnnGetDataDynamicLevel(const NodeInfo *info); 65 int32_t LnnSetDataDynamicLevel(NodeInfo *info, uint16_t dataDynamicLevel); 66 uint16_t LnnGetDataStaticLevel(const NodeInfo *info); 67 int32_t LnnSetDataStaticLevel(NodeInfo *info, uint16_t dataStaticLvel); 68 uint32_t LnnGetDataSwitchLevel(const NodeInfo *info); 69 int32_t LnnSetDataSwitchLevel(NodeInfo *info, uint32_t dataSwitchLevel); 70 uint16_t LnnGetDataSwitchLength(const NodeInfo *info); 71 int32_t LnnSetDataSwitchLength(NodeInfo *info, uint16_t dataSwitchLevel); 72 const char *LnnGetP2pMac(const NodeInfo *info); 73 int32_t LnnSetP2pGoMac(NodeInfo *info, const char *goMac); 74 const char *LnnGetP2pGoMac(const NodeInfo *info); 75 uint64_t LnnGetSupportedProtocols(const NodeInfo *info); 76 int32_t LnnSetSupportedProtocols(NodeInfo *info, uint64_t protocols); 77 int32_t LnnSetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len); 78 int32_t LnnGetStaticCapability(NodeInfo *info, uint8_t *cap, uint32_t len); 79 int32_t LnnSetUserIdCheckSum(NodeInfo *info, uint8_t *data, uint32_t len); 80 int32_t LnnGetUserIdCheckSum(NodeInfo *info, uint8_t *data, uint32_t len); 81 int32_t LnnSetPtk(NodeInfo *info, const char *remotePtk); 82 void LnnDumpRemotePtk(const char *oldPtk, const char *newPtk, const char *log); 83 int32_t LnnSetWifiDirectAddr(NodeInfo *info, const char *wifiDirectAddr); 84 const char *LnnGetWifiDirectAddr(const NodeInfo *info); 85 void LnnDumpNodeInfo(const NodeInfo *deviceInfo, const char *log); 86 int32_t LnnSetScreenStatus(NodeInfo *info, bool isScreenOn); 87 void LnnAnonymizePtk(const char *ptk, uint32_t len, char **anonymizedStr); 88 void LnnAnonymizeBroadcastCipher(const char *broadcastCipher, uint32_t len, char **anonymizedStr); 89 void LnnAnonymizeIrk(const char *irk, uint32_t len, char **anonymizedStr); 90 bool isIfnameIdxInvalid(int32_t ifnameIdx); 91 #ifdef __cplusplus 92 } 93 #endif 94 95 #endif // LNN_NODE_INFO_H 96