• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 G_ENHANCE_FUNC_H
17 #define G_ENHANCE_FUNC_H
18 
19 #include "auth_interface_struct.h"
20 #include "auth_attest_interface_struct.h"
21 #include "auth_device_common_key_struct.h"
22 #include "bus_center_event_struct.h"
23 #include "ble_range.h"
24 #include "cJSON.h"
25 #include "lnn_heartbeat_utils_struct.h"
26 #include "lnn_data_cloud_sync_struct.h"
27 #include "lnn_sync_info_manager_struct.h"
28 #include "lnn_lane_interface_struct.h"
29 #include "lnn_ble_lpdevice_struct.h"
30 #include "lnn_node_info_struct.h"
31 #include "lnn_cipherkey_manager_struct.h"
32 #include "lnn_decision_center_struct.h"
33 #include "lnn_device_info_recovery_struct.h"
34 #include "lnn_fast_offline_struct.h"
35 #include "lnn_lane_power_control_struct.h"
36 #include "lnn_lane_qos_struct.h"
37 #include "lnn_lane_vap_info_struct.h"
38 #include "lnn_secure_storage_struct.h"
39 #include "lnn_time_sync_impl_struct.h"
40 #include "lnn_lane_link_struct.h"
41 #include "lnn_trans_lane_struct.h"
42 #include "lnn_lane_score_struct.h"
43 #include "lnn_ranging_manager_struct.h"
44 #include "softbus_bus_center.h"
45 #include "softbus_broadcast_type_struct.h"
46 #include "softbus_adapter_crypto.h"
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 typedef void (*OnStatsPeriodAdjustmentFunc)(uint32_t ms);
53 typedef int32_t (*LnnTimeSyncImplInitFunc)(void);
54 typedef void (*LnnTimeSyncImplDeinitFunc)(void);
55 typedef int32_t (*LnnTimeChangeNotifyFunc)(void);
56 typedef int32_t (*LnnStartTimeSyncImplFunc)(const char *targetNetworkId, TimeSyncAccuracy accuracy,
57     TimeSyncPeriod period, const TimeSyncImplCallback *cb);
58 typedef int32_t (*LnnStopTimeSyncImplFunc)(const char *targetNetworkId);
59 typedef int32_t (*LnnInitDecisionCenterFunc)(uint32_t version);
60 typedef void (*LnnDeinitDecisionCenterFunc)(void);
61 typedef int32_t (*LnnDcSubscribeFunc)(DcTask *task);
62 typedef int32_t (*LnnDcUnsubscribeFunc)(DcTask *task);
63 typedef void (*LnnDcDispatchEventFunc)(DcEvent *dcEvent);
64 typedef void (*TriggerSparkGroupBuildFunc)(uint32_t delayTime);
65 typedef void (*TriggerSparkGroupClearFunc)(uint32_t state, uint32_t delayTime);
66 typedef void (*TriggerSparkGroupJoinAgainFunc)(const char *udid, uint32_t delayTime);
67 typedef int32_t (*InitControlPlaneFunc)(void);
68 typedef void (*DeinitControlPlaneFunc)(void);
69 typedef int32_t (*QueryControlPlaneNodeValidFunc)(const char *deviceId);
70 typedef int32_t (*LnnDumpControlLaneGroupInfoFunc)(int32_t fd);
71 typedef bool (*IsSparkGroupEnabledFunc)(void);
72 typedef void (*LnnDestroyCoapConnectListFunc)(void);
73 typedef void (*LnnCoapConnectFunc)(const char *ip);
74 typedef void (*LnnCoapConnectInitFunc)(void);
75 typedef void (*LnnCoapConnectDeinitFunc)(void);
76 typedef int32_t (*HbUpdateBleScanFilterFunc)(int32_t listenerId, LnnHeartbeatType type);
77 typedef int32_t (*HbGenerateBitPositionFunc)(int32_t min, int32_t max, int64_t seed, int32_t *randPos, int32_t num);
78 typedef int32_t (*LnnSendBroadcastInfoToLpFunc)(void);
79 typedef void (*LnnBleHbRegDataLevelChangeCbFunc)(const IDataLevelChangeCallback *callback);
80 typedef void (*LnnBleHbUnregDataLevelChangeCbFunc)(void);
81 typedef void (*LnnAdjustScanPolicyFunc)(void);
82 typedef int32_t (*HbBuildUserIdCheckSumFunc)(const int32_t *userIdArray, int32_t num, uint8_t *custData, int32_t len);
83 typedef int32_t (*EncryptUserIdFunc)(uint8_t *advUserId, uint32_t len, int32_t userId);
84 typedef int32_t (*DecryptUserIdFunc)(NodeInfo *deviceInfo, uint8_t *advUserId, uint32_t len);
85 typedef int32_t (*LnnRegisterBleLpDeviceMediumMgrFunc)(void);
86 typedef int32_t (*LnnRegisterSleHeartbeatMediumMgrFunc)(void);
87 typedef void (*SendDeviceStateToMlpsFunc)(void *para);
88 typedef void (*UpdateLocalDeviceInfoToMlpsFunc)(const NodeInfo *localInfo);
89 typedef void (*UpdateRemoteDeviceInfoToMlpsFunc)(const NodeInfo *info);
90 typedef void (*UpdateRemoteDeviceInfoListToMlpsFunc)(void);
91 typedef int32_t (*GetBurstAdvIdFunc)(void);
92 typedef int32_t (*SendDeviceInfoToSHByTypeFunc)(LpFeatureType type);
93 typedef int32_t (*SendAdvInfoToMlpsFunc)(LpBroadcastParam *lpAdvParam, LpServerType type);
94 typedef int32_t (*SwitchHeartbeatReportChannelFunc)(bool isToAP, uint16_t scanInterval, uint16_t scanWindow);
95 typedef bool (*IsSupportLpFeatureFunc)(void);
96 typedef bool (*LnnIsSupportLpSparkFeatureFunc)(void);
97 typedef void (*SetLpKeepAliveStateFunc)(void *para);
98 typedef int32_t (*LnnRegistBleHeartbeatMediumMgrFunc)(void);
99 typedef int32_t (*EnablePowerControlFunc)(const WifiDirectLinkInfo *wifiDirectInfo);
100 typedef void (*DisablePowerControlFunc)(const WifiDirectLinkInfo *wifiDirectInfo);
101 typedef void (*LnnDeinitScoreFunc)(void);
102 typedef int32_t (*LnnInitScoreFunc)(void);
103 typedef int32_t (*LnnStartScoringFunc)(int32_t interval);
104 typedef int32_t (*LnnStopScoringFunc)(void);
105 typedef int32_t (*LnnGetWlanLinkedInfoFunc)(LnnWlanLinkedInfo *info);
106 typedef int32_t (*LnnGetAllChannelScoreFunc)(LnnChannelScore **scoreList, uint32_t *listSize);
107 typedef int32_t (*LnnInitVapInfoFunc)(void);
108 typedef void (*LnnDeinitVapInfoFunc)(void);
109 typedef int32_t (*LnnAddLocalVapInfoFunc)(LnnVapType type, const LnnVapAttr *vapAttr);
110 typedef int32_t (*LnnDeleteLocalVapInfoFunc)(LnnVapType type);
111 typedef int32_t (*LnnGetLocalVapInfoFunc)(LnnVapType type, LnnVapAttr *vapAttr);
112 typedef int32_t (*LnnAddRemoteVapInfoFunc)(const char *udid, LnnVapType type, const LnnVapAttr *vapAttr);
113 typedef int32_t (*LnnDeleteRemoteVapInfoFunc)(const char *udid);
114 typedef int32_t (*LnnGetRemoteVapInfoFunc)(const char *udid, LnnVapType type, LnnVapAttr *vapAttr);
115 typedef int32_t (*LnnGetLocalPreferChannelFunc)(void);
116 typedef int32_t (*LnnGetLocalChannelCodeFunc)(void);
117 typedef int32_t (*LnnAddRemoteChannelCodeFunc)(const char *udid, int32_t channelCode);
118 typedef int32_t (*LnnGetRecommendChannelFunc)(const char *udid, int32_t *preferChannel);
119 typedef int32_t (*LnnGetLocalChannelInfoFunc)(VapChannelInfo *channelInfo);
120 typedef int32_t (*LnnSetLocalChannelInfoFunc)(LnnVapType type, int32_t channelId);
121 typedef bool (*IsCloudSyncEnabledFunc)(void);
122 typedef bool (*IsPowerControlEnabledFunc)(void);
123 typedef int32_t (*LnnRequestCheckOnlineStatusFunc)(const char *networkId, uint64_t timeout);
124 typedef bool (*IsSupportLowLatencyFunc)(const TransReqInfo *reqInfo, const LaneLinkInfo *laneLinkInfo);
125 typedef int32_t (*LnnInitQosFunc)(void);
126 typedef void (*LnnDeinitQosFunc)(void);
127 typedef int32_t (*LnnRegPeriodAdjustmentCallbackFunc)(OnStatsPeriodAdjustment callback);
128 typedef void (*LnnReportLaneIdStatsInfoFunc)(const LaneIdStatsInfo *statsList, uint32_t listSize);
129 typedef void (*LnnReportRippleDataFunc)(uint64_t laneId, const LnnRippleData *data);
130 typedef int32_t (*LnnRequestQosOptimizationFunc)(const uint64_t *laneIdList, uint32_t listSize,
131     int32_t *result, uint32_t resultSize);
132 typedef void (*LnnCancelQosOptimizationFunc)(const uint64_t *laneIdList, uint32_t listSize);
133 typedef int32_t (*LnnInitMetaNodeFunc)(void);
134 typedef void (*LnnDeinitMetaNodeFunc)(void);
135 typedef int32_t (*LnnInitMetaNodeExtLedgerFunc)(void);
136 typedef void (*LnnDeinitMetaNodeExtLedgerFunc)(void);
137 typedef void (*ClearMetaNodeRequestByPidFunc)(const char *pkgName, int32_t pid);
138 
139 /* lnn_cipherkey_manager.h */
140 typedef int32_t (*LnnInitCipherKeyManagerFunc)(void);
141 typedef void (*LnnDeinitCipherKeyManagerFunc)(void);
142 typedef bool (*GetCipherKeyByNetworkIdFunc)(const char *networkId,
143     int32_t seq, uint32_t tableIndex, AesCtrCipherKey *cipherkey,
144     int32_t keyLen);
145 typedef bool (*GetLocalCipherKeyFunc)(int32_t seq, uint32_t *tableIndex, AesCtrCipherKey *cipherkey, int32_t keyLen);
146 typedef void (*LoadBleBroadcastKeyFunc)(void);
147 typedef bool (*IsCipherManagerFindKeyFunc)(const char *udid);
148 typedef bool (*PackCipherKeySyncMsgFunc)(void *json);
149 typedef void (*ProcessCipherKeySyncInfoFunc)(const void *json, const char *networkId);
150 typedef int32_t (*LnnLoadLocalBroadcastCipherKeyFunc)(void);
151 typedef int32_t (*LnnGetLocalBroadcastCipherKeyFunc)(BroadcastCipherKey *broadcastKey);
152 typedef int32_t (*LnnSaveLocalBroadcastCipherKeyFunc)(const BroadcastCipherKey *broadcastKey);
153 typedef int32_t (*LnnUpdateLocalBroadcastCipherKeyFunc)(BroadcastCipherKey *broadcastKey);
154 typedef int32_t (*LnnGetLocalBroadcastCipherInfoFunc)(CloudSyncInfo *info);
155 typedef int32_t (*LnnSetRemoteBroadcastCipherInfoFunc)(const char *value, const char *udid);
156 
157 /* lnn_device_info_recovery.h */
158 typedef int32_t (*LnnLoadLocalDeviceInfoFunc)(void);
159 typedef int32_t (*LnnLoadRemoteDeviceInfoFunc)(void);
160 typedef int32_t (*LnnSaveLocalDeviceInfoFunc)(const NodeInfo *deviceInfo);
161 typedef int32_t (*LnnGetLocalDevInfoFunc)(NodeInfo *deviceInfo);
162 typedef int32_t (*LnnGetAllRemoteDevInfoFunc)(NodeInfo **info, int32_t *nums);
163 typedef int32_t (*LnnSaveRemoteDeviceInfoFunc)(const NodeInfo *deviceInfo);
164 typedef int32_t (*LnnUpdateRemoteDeviceInfoFunc)(const NodeInfo *deviceInfo);
165 typedef int32_t (*LnnRetrieveDeviceInfoFunc)(const char *udid, NodeInfo *deviceInfo);
166 typedef int32_t (*LnnRetrieveDeviceInfoByNetworkIdFunc)(const char *networkId, NodeInfo *info);
167 typedef void (*LnnDeleteDeviceInfoFunc)(const char *udid);
168 typedef void (*ClearDeviceInfoFunc)(void);
169 typedef int32_t (*LnnGetUdidByBrMacFunc)(const char *brMac, char *udid, uint32_t udidLen);
170 typedef int32_t (*LnnGetLocalCacheNodeInfoFunc)(NodeInfo *info);
171 typedef int32_t (*LnnLoadLocalDeviceAccountIdInfoFunc)(void);
172 typedef int32_t (*LnnGetAccountIdFromLocalCacheFunc)(int64_t *buf);
173 typedef int32_t (*LnnPackCloudSyncDeviceInfoFunc)(cJSON *json, const NodeInfo *cloudSyncInfo);
174 typedef int32_t (*LnnUnPackCloudSyncDeviceInfoFunc)(cJSON *json, NodeInfo *cloudSyncInfo);
175 typedef void (*LnnUpdateAuthExchangeUdidFunc)(void);
176 typedef void (*LnnClearAuthExchangeUdidFunc)(const char *networkId);
177 
178 /* lnn_fast_offline.h */
179 typedef int32_t (*LnnInitFastOfflineFunc)(void);
180 typedef int32_t (*LnnDeviceCloudConvergenceInitFunc)(void);
181 typedef void (*LnnDeinitFastOfflineFunc)(void);
182 typedef int32_t (*LnnSendNotTrustedInfoFunc)(const NotTrustedDelayInfo *info,
183     uint32_t num, LnnSyncInfoMsgComplete complete);
184 typedef int32_t (*LnnBleFastOfflineOnceBeginFunc)(void);
185 typedef void (*LnnIpAddrChangeEventHandlerFunc)(void);
186 typedef void (*EhLoginEventHandlerFunc)(void);
187 
188 typedef int32_t (*LnnInitPtkFunc)(void);
189 typedef void (*LnnDeinitPtkFunc)(void);
190 typedef int32_t (*LnnGetLocalPtkByUuidFunc)(const char *uuid, char *localPtk, uint32_t len);
191 typedef int32_t (*LnnGetLocalDefaultPtkByUuidFunc)(const char *uuid, char *localPtk, uint32_t len);
192 typedef int32_t (*LnnGetRemoteDefaultPtkByUuidFunc)(const char *uuid, char *remotePtk, uint32_t len);
193 typedef void (*LnnLoadPtkInfoFunc)(void);
194 typedef int32_t (*LnnSyncPtkFunc)(const char *networkId);
195 typedef int32_t (*UpdateLocalPtkIfValidFunc)(char *uuid);
196 typedef int32_t (*LnnGenerateLocalPtkFunc)(char *udid, char *uuid);
197 typedef int32_t (*LnnGetMetaPtkFunc)(uint32_t connId, char *metaPtk, uint32_t len);
198 
199 typedef int32_t (*LnnSaveDeviceDataFunc)(const char *data, LnnDataType dataType);
200 typedef int32_t (*LnnAsyncSaveDeviceDataFunc)(const char *data, LnnDataType dataType);
201 typedef int32_t (*LnnRetrieveDeviceDataFunc)(LnnDataType dataType, char **data, uint32_t *dataLen);
202 typedef int32_t (*LnnUpdateDeviceDataFunc)(const char *data, LnnDataType dataType);
203 typedef int32_t (*LnnDeleteDeviceDataFunc)(LnnDataType dataType);
204 typedef int32_t (*LnnLinkFinderInitFunc)(void);
205 typedef int32_t (*LnnUpdateLinkFinderInfoFunc)(void);
206 typedef int32_t (*LnnRemoveLinkFinderInfoFunc)(const char *networkId);
207 typedef int32_t (*LnnInsertLinkFinderInfoFunc)(const char *networkId);
208 
209 typedef int32_t (*AuthFindDeviceKeyFunc)(const char *udidHash, int32_t keyType, AuthDeviceKeyInfo *deviceKey);
210 typedef void (*AuthRemoveDeviceKeyByUdidFunc)(const char *udidOrHash);
211 typedef void (*RegisterOOBEMonitorFunc)(void *para);
212 typedef void (*LnnInitOOBEStateMonitorImplFunc)(void);
213 typedef int32_t (*LnnGetOOBEStateFunc)(SoftBusOOBEState *state);
214 typedef void (*AuthLoadDeviceKeyFunc)(void);
215 typedef int32_t (*AuthFindLatestNormalizeKeyFunc)(const char *udidHash, AuthDeviceKeyInfo *deviceKey, bool clearOldKey);
216 typedef int32_t (*AuthFindNormalizeKeyByServerSideFunc)(const char *udidHash,
217     bool isServer, AuthDeviceKeyInfo *deviceKey);
218 typedef void (*AuthUpdateCreateTimeFunc)(const char *udidHash, int32_t keyType, bool isServer);
219 typedef bool (*IsSupportUDIDAbatementFunc)(void);
220 typedef int32_t (*AuthMetaGetConnIdByInfoFunc)(const AuthConnInfo *connInfo, uint32_t *connectionId);
221 typedef void (*FreeSoftbusChainFunc)(SoftbusCertChain *softbusCertChain);
222 typedef int32_t (*InitSoftbusChainFunc)(SoftbusCertChain *softbusCertChain);
223 typedef int32_t (*AuthMetaOpenConnFunc)(const AuthConnInfo *info, uint32_t requestId, const AuthConnCallback *callback);
224 typedef int32_t (*AuthMetaPostTransDataFunc)(int64_t authId, const AuthTransData *dataInfo);
225 typedef void (*AuthMetaCloseConnFunc)(int64_t authId);
226 typedef int32_t (*AuthMetaGetPreferConnInfoFunc)(const char *uuid, AuthConnInfo *connInfo);
227 typedef int64_t (*AuthMetaGetIdByConnInfoFunc)(const AuthConnInfo *connInfo, bool isServer);
228 typedef int64_t (*AuthMetaGetIdByUuidFunc)(const char *uuid, AuthLinkType type, bool isServer);
229 typedef int32_t (*AuthMetaEncryptFunc)(int64_t authId, const uint8_t *inData, uint32_t inLen,
230     uint8_t *outData, uint32_t *outLen);
231 typedef int32_t (*AuthMetaDecryptFunc)(int64_t authId, const uint8_t *inData, uint32_t inLen,
232     uint8_t *outData, uint32_t *outLen);
233 typedef int32_t (*AuthMetaSetP2pMacFunc)(int64_t authId, const char *p2pMac);
234 typedef int32_t (*AuthMetaGetConnInfoFunc)(int64_t authId, AuthConnInfo *connInfo);
235 typedef int32_t (*AuthMetaGetDeviceUuidFunc)(int64_t authId, char *uuid, uint16_t size);
236 typedef int32_t (*AuthMetaGetServerSideFunc)(int64_t authId, bool *isServer);
237 typedef void (*AuthMetaCheckMetaExistFunc)(const AuthConnInfo *connInfo, bool *isExist);
238 typedef void (*AuthMetaDeinitFunc)(void);
239 typedef void (*DelAuthMetaManagerByPidFunc)(const char *pkgName, int32_t pid);
240 typedef int32_t (*LnnSyncTrustedRelationShipFunc)(const char *pkgName, const char *msg, uint32_t msgLen);
241 typedef int32_t (*LnnGetCurrChannelScoreFunc)(int32_t channelId);
242 typedef int32_t (*CustomizedSecurityProtocolInitFunc)(void);
243 typedef void (*CustomizedSecurityProtocolDeinitFunc)(void);
244 typedef int32_t (*AuthInsertDeviceKeyFunc)(const NodeInfo *deviceInfo,
245     const AuthDeviceKeyInfo *deviceKey, AuthLinkType type);
246 typedef void (*AuthUpdateKeyIndexFunc)(const char *udidHash, int32_t keyType, int64_t index, bool isServer);
247 typedef bool (*CalcHKDFFunc)(const uint8_t *ikm, uint32_t ikmLen, uint8_t *out, uint32_t outLen);
248 typedef int32_t (*LnnRetrieveDeviceInfoByUdidFunc)(const char *udid, NodeInfo *deviceInfo);
249 typedef int32_t (*LnnSyncBleOfflineMsgFunc)(void);
250 typedef int32_t (*LnnInitBroadcastLinkKeyFunc)(void);
251 typedef void (*LnnDeinitBroadcastLinkKeyFunc)(void);
252 typedef bool (*IsNeedSyncBroadcastLinkKeyFunc)(const char *networkId);
253 typedef int32_t (*LnnSyncBroadcastLinkKeyFunc)(const char *networkId);
254 typedef bool (*HaveConcurrencyPreLinkReqIdByReuseConnReqIdFunc)(uint32_t connReqId, bool isCheckPreLink);
255 typedef bool (*HaveConcurrencyPreLinkNodeByLaneReqIdFunc)(uint32_t laneReqId, bool isCheckPreLink);
256 typedef int32_t (*GetConcurrencyLaneReqIdByConnReqIdFunc)(uint32_t connReqId, uint32_t *laneReqId);
257 typedef void (*LnnFreePreLinkFunc)(void *para);
258 typedef int32_t (*GetConcurrencyLaneReqIdByActionIdFunc)(uint32_t actionId, uint32_t *laneReqId);
259 typedef int32_t (*UpdateConcurrencyReuseLaneReqIdByActionIdFunc)(uint32_t actionId, uint32_t reuseLaneReqId,
260     uint32_t connRequestId);
261 typedef int32_t (*UpdateConcurrencyReuseLaneReqIdByUdidFunc)(char *udidHash, uint32_t reuseLaneReqId,
262     uint32_t connReqId);
263 typedef int32_t (*LnnPackCloudSyncAckSeqFunc)(cJSON *json, char *peerudid);
264 typedef void (*LnnClearPtkListFunc)(void);
265 typedef int32_t (*GenerateNewLocalCipherKeyFunc)(void);
266 typedef int32_t (*InitActionBleConcurrencyFunc)(void);
267 typedef int32_t (*InitActionStateAdapterFunc)(void);
268 typedef int32_t (*RegistAuthTransListenerFunc)(void);
269 typedef void (*LnnUnregSleRangeCbFunc)(void);
270 typedef void (*LnnRegSleRangeCbFunc)(const ISleRangeInnerCallback *callback);
271 typedef int32_t (*LnnStopRangeFunc)(const RangeConfig *config);
272 typedef int32_t (*LnnStartRangeFunc)(const RangeConfig *config);
273 typedef int32_t (*UnregistAuthTransListenerFunc)(void);
274 typedef void (*SleRangeDeathCallbackFunc)(void);
275 typedef int32_t (*LnnInitUsbChannelManagerFunc)(void);
276 typedef void (*LnnDeinitUsbChannelManagerFunc)(void);
277 typedef void (*CheckNeedCloudSyncOfflineFunc)(DiscoveryType type);
278 typedef bool (*IsDeviceHasRiskFactorFunc)(void);
279 typedef int32_t (*LnnVirtualLinkInitFunc)(void);
280 typedef void (*LnnVirtualLinkDeinitFunc)(void);
281 typedef int32_t (*DcTriggerVirtualLinkFunc)(const char *peerNetworkId);
282 
283 typedef struct TagLnnEnhanceFuncList {
284     // time_sync
285     LnnTimeSyncImplInitFunc lnnTimeSyncImplInit;
286     LnnTimeChangeNotifyFunc lnnTimeChangeNotify;
287     LnnTimeSyncImplDeinitFunc lnnTimeSyncImplDeinit;
288     LnnStartTimeSyncImplFunc lnnStartTimeSyncImpl;
289     LnnStopTimeSyncImplFunc lnnStopTimeSyncImpl;
290     // decision_center
291     LnnInitDecisionCenterFunc lnnInitDecisionCenter;
292     LnnDeinitDecisionCenterFunc lnnDeinitDecisionCenter;
293     LnnDcSubscribeFunc lnnDcSubscribe;
294     LnnDcUnsubscribeFunc lnnDcUnsubscribe;
295     LnnDcDispatchEventFunc lnnDcDispatchEvent;
296     TriggerSparkGroupBuildFunc triggerSparkGroupBuild;
297     TriggerSparkGroupClearFunc triggerSparkGroupClear;
298     TriggerSparkGroupJoinAgainFunc triggerSparkGroupJoinAgain;
299     InitControlPlaneFunc initControlPlane;
300     DeinitControlPlaneFunc deinitControlPlane;
301     QueryControlPlaneNodeValidFunc queryControlPlaneNodeValid;
302     LnnDumpControlLaneGroupInfoFunc lnnDumpControlLaneGroupInfo;
303     IsSparkGroupEnabledFunc isSparkGroupEnabled;
304     // sle range
305     RegistAuthTransListenerFunc registAuthTransListener;
306     UnregistAuthTransListenerFunc unregistAuthTransListener;
307     LnnUnregSleRangeCbFunc lnnUnregSleRangeCb;
308     LnnStopRangeFunc lnnStopRange;
309     LnnStartRangeFunc lnnStartRange;
310     LnnRegSleRangeCbFunc lnnRegSleRangeCb;
311     SleRangeDeathCallbackFunc sleRangeDeathCallback;
312     // disc_mgr
313     LnnDestroyCoapConnectListFunc lnnDestroyCoapConnectList;
314     LnnCoapConnectFunc lnnCoapConnect;
315     LnnCoapConnectInitFunc lnnCoapConnectInit;
316     LnnCoapConnectDeinitFunc lnnCoapConnectDeinit;
317     // heartbeat
318     HbUpdateBleScanFilterFunc hbUpdateBleScanFilter;
319     HbGenerateBitPositionFunc hbGenerateBitPosition;
320     LnnSendBroadcastInfoToLpFunc lnnSendBroadcastInfoToLp;
321     LnnBleHbRegDataLevelChangeCbFunc lnnBleHbRegDataLevelChangeCb;
322     LnnBleHbUnregDataLevelChangeCbFunc lnnBleHbUnregDataLevelChangeCb;
323     LnnAdjustScanPolicyFunc lnnAdjustScanPolicy;
324     HbBuildUserIdCheckSumFunc hbBuildUserIdCheckSum;
325     EncryptUserIdFunc encryptUserId;
326     DecryptUserIdFunc decryptUserId;
327     LnnRegisterBleLpDeviceMediumMgrFunc lnnRegisterBleLpDeviceMediumMgr;
328     LnnRegisterSleHeartbeatMediumMgrFunc lnnRegisterSleHeartbeatMediumMgr;
329     SendDeviceStateToMlpsFunc sendDeviceStateToMlps;
330     UpdateLocalDeviceInfoToMlpsFunc updateLocalDeviceInfoToMlps;
331     UpdateRemoteDeviceInfoToMlpsFunc updateRemoteDeviceInfoToMlps;
332     UpdateRemoteDeviceInfoListToMlpsFunc updateRemoteDeviceInfoListToMlps;
333     GetBurstAdvIdFunc getBurstAdvId;
334     SendDeviceInfoToSHByTypeFunc sendDeviceInfoToSHByType;
335     SendAdvInfoToMlpsFunc sendAdvInfoToMlps;
336     SwitchHeartbeatReportChannelFunc switchHeartbeatReportChannel;
337     IsSupportLpFeatureFunc isSupportLpFeature;
338     LnnIsSupportLpSparkFeatureFunc lnnIsSupportLpSparkFeature;
339     SetLpKeepAliveStateFunc setLpKeepAliveState;
340     LnnRegistBleHeartbeatMediumMgrFunc lnnRegistBleHeartbeatMediumMgr;
341     LnnRequestCheckOnlineStatusFunc lnnRequestCheckOnlineStatus;
342     // lane_manager
343     EnablePowerControlFunc enablePowerControl;
344     DisablePowerControlFunc disablePowerControl;
345     LnnDeinitScoreFunc lnnDeinitScore;
346     LnnInitScoreFunc lnnInitScore;
347     LnnStartScoringFunc lnnStartScoring;
348     LnnStopScoringFunc lnnStopScoring;
349     LnnGetWlanLinkedInfoFunc lnnGetWlanLinkedInfo;
350     LnnGetAllChannelScoreFunc lnnGetAllChannelScore;
351     LnnInitVapInfoFunc lnnInitVapInfo;
352     LnnDeinitVapInfoFunc lnnDeinitVapInfo;
353     LnnAddLocalVapInfoFunc lnnAddLocalVapInfo;
354     LnnDeleteLocalVapInfoFunc lnnDeleteLocalVapInfo;
355     LnnGetLocalVapInfoFunc lnnGetLocalVapInfo;
356     LnnAddRemoteVapInfoFunc lnnAddRemoteVapInfo;
357     LnnDeleteRemoteVapInfoFunc lnnDeleteRemoteVapInfo;
358     LnnGetRemoteVapInfoFunc lnnGetRemoteVapInfo;
359     LnnGetLocalPreferChannelFunc lnnGetLocalPreferChannel;
360     LnnGetLocalChannelCodeFunc lnnGetLocalChannelCode;
361     LnnAddRemoteChannelCodeFunc lnnAddRemoteChannelCode;
362     LnnGetRecommendChannelFunc lnnGetRecommendChannel;
363     IsCloudSyncEnabledFunc isCloudSyncEnabled;
364     IsPowerControlEnabledFunc isPowerControlEnabled;
365     LnnGetCurrChannelScoreFunc lnnGetCurrChannelScore;
366     // lane_low_latency
367     IsSupportLowLatencyFunc isSupportLowLatency;
368     // lane_qos
369     LnnInitQosFunc lnnInitQos;
370     LnnDeinitQosFunc lnnDeinitQos;
371     LnnRegPeriodAdjustmentCallbackFunc lnnRegPeriodAdjustmentCallback;
372     LnnReportLaneIdStatsInfoFunc lnnReportLaneIdStatsInfo;
373     LnnReportRippleDataFunc lnnReportRippleData;
374     LnnRequestQosOptimizationFunc lnnRequestQosOptimization;
375     LnnCancelQosOptimizationFunc lnnCancelQosOptimization;
376     // meta_node
377     LnnInitMetaNodeFunc lnnInitMetaNode;
378     LnnInitMetaNodeExtLedgerFunc lnnInitMetaNodeExtLedger;
379     LnnDeinitMetaNodeExtLedgerFunc lnnDeinitMetaNodeExtLedger;
380     ClearMetaNodeRequestByPidFunc clearMetaNodeRequestByPid;
381     LnnDeinitMetaNodeFunc lnnDeinitMetaNode;
382     // net_builder
383     LnnInitCipherKeyManagerFunc lnnInitCipherKeyManager;
384     LnnDeinitCipherKeyManagerFunc lnnDeinitCipherKeyManager;
385     GetCipherKeyByNetworkIdFunc getCipherKeyByNetworkId;
386     GetLocalCipherKeyFunc getLocalCipherKey;
387     LoadBleBroadcastKeyFunc loadBleBroadcastKey;
388     IsCipherManagerFindKeyFunc isCipherManagerFindKey;
389     PackCipherKeySyncMsgFunc packCipherKeySyncMsg;
390     ProcessCipherKeySyncInfoFunc processCipherKeySyncInfo;
391     LnnLoadLocalBroadcastCipherKeyFunc lnnLoadLocalBroadcastCipherKey;
392     LnnGetLocalBroadcastCipherKeyFunc lnnGetLocalBroadcastCipherKey;
393     LnnSaveLocalBroadcastCipherKeyFunc lnnSaveLocalBroadcastCipherKey;
394     LnnUpdateLocalBroadcastCipherKeyFunc lnnUpdateLocalBroadcastCipherKey;
395     LnnGetLocalBroadcastCipherInfoFunc lnnGetLocalBroadcastCipherInfo;
396     LnnSetRemoteBroadcastCipherInfoFunc lnnSetRemoteBroadcastCipherInfo;
397     LnnLoadLocalDeviceInfoFunc lnnLoadLocalDeviceInfo;
398     LnnLoadRemoteDeviceInfoFunc lnnLoadRemoteDeviceInfo;
399     LnnSaveLocalDeviceInfoFunc lnnSaveLocalDeviceInfo;
400     LnnGetLocalDevInfoFunc lnnGetLocalDevInfo;
401     LnnGetAllRemoteDevInfoFunc lnnGetAllRemoteDevInfo;
402     LnnSaveRemoteDeviceInfoFunc lnnSaveRemoteDeviceInfo;
403     LnnUpdateRemoteDeviceInfoFunc lnnUpdateRemoteDeviceInfo;
404     LnnRetrieveDeviceInfoFunc lnnRetrieveDeviceInfo;
405     LnnRetrieveDeviceInfoByNetworkIdFunc lnnRetrieveDeviceInfoByNetworkId;
406     LnnDeleteDeviceInfoFunc lnnDeleteDeviceInfo;
407     ClearDeviceInfoFunc clearDeviceInfo;
408     LnnGetUdidByBrMacFunc lnnGetUdidByBrMac;
409     LnnGetLocalCacheNodeInfoFunc lnnGetLocalCacheNodeInfo;
410     LnnLoadLocalDeviceAccountIdInfoFunc lnnLoadLocalDeviceAccountIdInfo;
411     LnnGetAccountIdFromLocalCacheFunc lnnGetAccountIdFromLocalCache;
412     LnnPackCloudSyncDeviceInfoFunc lnnPackCloudSyncDeviceInfo;
413     LnnUnPackCloudSyncDeviceInfoFunc lnnUnPackCloudSyncDeviceInfo;
414     LnnUpdateAuthExchangeUdidFunc lnnUpdateAuthExchangeUdid;
415     LnnClearAuthExchangeUdidFunc lnnClearAuthExchangeUdid;
416     LnnInitFastOfflineFunc lnnInitFastOffline;
417     LnnDeviceCloudConvergenceInitFunc lnnDeviceCloudConvergenceInit;
418     LnnDeinitFastOfflineFunc lnnDeinitFastOffline;
419     LnnSendNotTrustedInfoFunc lnnSendNotTrustedInfo;
420     LnnBleFastOfflineOnceBeginFunc lnnBleFastOfflineOnceBegin;
421     LnnIpAddrChangeEventHandlerFunc lnnIpAddrChangeEventHandler;
422     EhLoginEventHandlerFunc ehLoginEventHandler;
423     LnnInitPtkFunc lnnInitPtk;
424     LnnDeinitPtkFunc lnnDeinitPtk;
425     LnnGetLocalDefaultPtkByUuidFunc lnnGetLocalDefaultPtkByUuid;
426     LnnGetRemoteDefaultPtkByUuidFunc lnnGetRemoteDefaultPtkByUuid;
427     LnnLoadPtkInfoFunc lnnLoadPtkInfo;
428     LnnSyncPtkFunc lnnSyncPtk;
429     UpdateLocalPtkIfValidFunc updateLocalPtkIfValid;
430     LnnGenerateLocalPtkFunc lnnGenerateLocalPtk;
431     LnnGetMetaPtkFunc lnnGetMetaPtk;
432     LnnGetLocalPtkByUuidFunc lnnGetLocalPtkByUuid;
433     LnnSyncTrustedRelationShipFunc lnnSyncTrustedRelationShip;
434     LnnRetrieveDeviceInfoByUdidFunc lnnRetrieveDeviceInfoByUdid;
435     LnnSyncBleOfflineMsgFunc lnnSyncBleOfflineMsg;
436     LnnInitBroadcastLinkKeyFunc lnnInitBroadcastLinkKey;
437     LnnDeinitBroadcastLinkKeyFunc lnnDeinitBroadcastLinkKey;
438     IsNeedSyncBroadcastLinkKeyFunc isNeedSyncBroadcastLinkKey;
439     LnnSyncBroadcastLinkKeyFunc lnnSyncBroadcastLinkKey;
440     IsDeviceHasRiskFactorFunc isDeviceHasRiskFactor;
441     // bus_center
442     LnnSaveDeviceDataFunc lnnSaveDeviceData;
443     LnnAsyncSaveDeviceDataFunc lnnAsyncSaveDeviceData;
444     LnnRetrieveDeviceDataFunc lnnRetrieveDeviceData;
445     LnnUpdateDeviceDataFunc lnnUpdateDeviceData;
446     GetConcurrencyLaneReqIdByConnReqIdFunc getConcurrencyLaneReqIdByConnReqId;
447     HaveConcurrencyPreLinkReqIdByReuseConnReqIdFunc haveConcurrencyPreLinkReqIdByReuseConnReqId;
448     HaveConcurrencyPreLinkNodeByLaneReqIdFunc haveConcurrencyPreLinkNodeByLaneReqId;
449     GetConcurrencyLaneReqIdByActionIdFunc getConcurrencyLaneReqIdByActionId;
450     LnnFreePreLinkFunc lnnFreePreLink;
451     UpdateConcurrencyReuseLaneReqIdByActionIdFunc updateConcurrencyReuseLaneReqIdByActionId;
452     UpdateConcurrencyReuseLaneReqIdByUdidFunc updateConcurrencyReuseLaneReqIdByUdid;
453     LnnPackCloudSyncAckSeqFunc lnnPackCloudSyncAckSeq;
454     LnnClearPtkListFunc lnnClearPtkList;
455     GenerateNewLocalCipherKeyFunc generateNewLocalCipherKey;
456     InitActionBleConcurrencyFunc initActionBleConcurrency;
457     InitActionStateAdapterFunc initActionStateAdapter;
458     // adapter bus_center
459     LnnDeleteDeviceDataFunc lnnDeleteDeviceData;
460     LnnLinkFinderInitFunc lnnLinkFinderInit;
461     LnnUpdateLinkFinderInfoFunc lnnUpdateLinkFinderInfo;
462     LnnRemoveLinkFinderInfoFunc lnnRemoveLinkFinderInfo;
463     LnnInsertLinkFinderInfoFunc lnnInsertLinkFinderInfo;
464     RegisterOOBEMonitorFunc registerOOBEMonitor;
465     LnnInitOOBEStateMonitorImplFunc lnnInitOOBEStateMonitorImpl;
466     LnnGetOOBEStateFunc lnnGetOOBEState;
467     // auth
468     AuthFindDeviceKeyFunc authFindDeviceKey;
469     AuthRemoveDeviceKeyByUdidFunc authRemoveDeviceKeyByUdid;
470     AuthLoadDeviceKeyFunc authLoadDeviceKey;
471     AuthFindLatestNormalizeKeyFunc authFindLatestNormalizeKey;
472     AuthFindNormalizeKeyByServerSideFunc authFindNormalizeKeyByServerSide;
473     AuthUpdateCreateTimeFunc authUpdateCreateTime;
474     IsSupportUDIDAbatementFunc isSupportUDIDAbatement;
475     AuthMetaGetConnIdByInfoFunc authMetaGetConnIdByInfo;
476     FreeSoftbusChainFunc freeSoftbusChain;
477     InitSoftbusChainFunc initSoftbusChain;
478     AuthMetaOpenConnFunc authMetaOpenConn;
479     AuthMetaPostTransDataFunc authMetaPostTransData;
480     AuthMetaCloseConnFunc authMetaCloseConn;
481     AuthMetaGetPreferConnInfoFunc authMetaGetPreferConnInfo;
482     AuthMetaGetIdByConnInfoFunc authMetaGetIdByConnInfo;
483     AuthMetaGetIdByUuidFunc authMetaGetIdByUuid;
484     AuthMetaEncryptFunc authMetaEncrypt;
485     AuthMetaDecryptFunc authMetaDecrypt;
486     AuthMetaSetP2pMacFunc authMetaSetP2pMac;
487     AuthMetaGetConnInfoFunc authMetaGetConnInfo;
488     AuthMetaGetDeviceUuidFunc authMetaGetDeviceUuid;
489     AuthMetaGetServerSideFunc authMetaGetServerSide;
490     AuthMetaCheckMetaExistFunc authMetaCheckMetaExist;
491     AuthMetaDeinitFunc authMetaDeinit;
492     DelAuthMetaManagerByPidFunc delAuthMetaManagerByPid;
493     AuthInsertDeviceKeyFunc authInsertDeviceKey;
494     AuthUpdateKeyIndexFunc authUpdateKeyIndex;
495     CalcHKDFFunc calcHKDF;
496     // ccmp
497     CustomizedSecurityProtocolInitFunc customizedSecurityProtocolInit;
498     CustomizedSecurityProtocolDeinitFunc customizedSecurityProtocolDeinit;
499 
500     //usb
501     LnnInitUsbChannelManagerFunc lnnInitUsbChannelManager;
502     LnnDeinitUsbChannelManagerFunc lnnDeinitUsbChannelManager;
503     CheckNeedCloudSyncOfflineFunc checkNeedCloudSyncOffline;
504 
505     // virtual link
506     LnnGetLocalChannelInfoFunc lnnGetLocalChannelInfo;
507     LnnSetLocalChannelInfoFunc lnnSetLocalChannelInfo;
508     LnnVirtualLinkInitFunc lnnVirtualLinkInit;
509     LnnVirtualLinkDeinitFunc lnnVirtualLinkDeinit;
510     DcTriggerVirtualLinkFunc dcTriggerVirtualLink;
511 } LnnEnhanceFuncList;
512 
513 LnnEnhanceFuncList *LnnEnhanceFuncListGet(void);
514 int32_t LnnRegisterEnhanceFunc(void *soHandle);
515 
516 #ifdef __cplusplus
517 }
518 #endif
519 
520 #endif