📄 pararoamingproc.h
字号:
HANDLE hManualRoamingEvent;
/*Trigger event for wlan smart detection*/
HANDLE hWlanSmartDetectionEvent;
/*Trigger event for wlan all detection*/
HANDLE hWlanAllDetectionEvent;
#ifdef CONFIG_VERTICAL_HANDOFF
/*Trigger event for beacon rssi listen*/
HANDLE hBeaconRSSIListenEvent;
#endif
/*Event for scan finished*/
HANDLE hScanFinishedEvent;
/*Event for authentication finished*/
HANDLE hAuthFinishedEvent;
/*Event for association finished*/
HANDLE hAssoFinishedEvent;
/*Event for disauthentication finished*/
HANDLE hDeauthFinishedEvent;
/*Event for OIDSetSSID finished*/
HANDLE hOIDSetSSIDFinishedEvent;
/*Event for WZC prefer list set is ready*/
HANDLE hWZCPreferListReadyEvent;
/*Event for Get Mac addr finished*/
HANDLE hGetMacAddrFinishedEvent;
#ifdef PARA_SIP_UNREGISTER_AND_IP_REALEASE_BEFORE_SYS_SHUTDOWN
/*Event for IP release finished and start to turn off wifi card*/
HANDLE hStartTurnOffCardEvent;
#endif
#ifdef CONFIG_VERTICAL_HANDOFF
/*Event for beacon rssi is updated*/
HANDLE hBeaconRSSIUpdatedEvent;
#endif
#ifdef PARA_WPA_1X
/*zzh aded Event for Notify roaming the state of wifi OK from registry*/
HANDLE hRegNotifyWifiOK;
#endif
/*Mutex for set or get scan operation atomatically */
HANDLE hParaScanMutex;
/*Thread for auto-roaming*/
HANDLE hAutoRoamingThread;
/*Thread for manual-roaming*/
HANDLE hManualRoamingThread;
/*Thread for wlan smart detection*/
HANDLE hWlanSmartDetectionThread;
/*Thread for wlan all detection*/
HANDLE hWlanAllDetectionThread;
#ifdef CONFIG_VERTICAL_HANDOFF
/*Thread for update beacon rssi*/
HANDLE hBeaconRSSIListenThread;
#endif
/*Data protection for auto-roaming thread*/
CRITICAL_SECTION AutoRoamingCriticalSection;
/*Data protection for manual-roaming thread*/
CRITICAL_SECTION ManualRoamingCriticalSection;
/*Data protection for wlan smart detection thread*/
CRITICAL_SECTION WlanSmartDetectionCriticalSection;
/*Data protection for wlan all detection thread*/
CRITICAL_SECTION WlanAllDetectionCriticalSection;
#ifdef CONFIG_VERTICAL_HANDOFF
/*Data protection for beacon rssi listen thread*/
CRITICAL_SECTION BeaconRSSIListenCriticalSection;
#endif
#ifdef PARA_WPA_1X
/*zzh added critical section for wap/1x used for multi thread safe*/
//CRITICAL_SECTION WPA1XCriticalSection;
#endif
// NDIS Timer
NDIS_MINIPORT_TIMER AutoRoamingTimer;
NDIS_MINIPORT_TIMER DataBusyRetryRoamingTimer;
NDIS_MINIPORT_TIMER LinkLostCheckTimer;
#ifdef CONFIG_VERTICAL_HANDOFF
NDIS_MINIPORT_TIMER GetBeaconRSSITimer;
#endif
#ifdef CONFIG_VERTICAL_HANDOFF
int iAutoRoamingTimeout;
#endif
int iLinkLostCheckTimeout;
PARA_ROAMING_POLICY RoamingPolicy;
NDIS_802_11_SSID FreeRoamingSSID;
NDIS_802_11_SSID HandoffSSID;
NDIS_802_11_MAC_ADDRESS HandoffBSSID;
ULONG PreviousProfilesNumber;
ULONG RSSITriggerCounter;
LONG RSSIAverage;
ULONG iRxDataCount;
UCHAR SmartScanChannel;
UCHAR SmartScanChanLeft;
UCHAR CurrentChannel;
UCHAR SmartScanType;
UCHAR AllScanType;
UCHAR MacAddr[MRVDRV_ETH_ADDR_LEN];
// NDIS Timer flag
BOOLEAN bAutoRoamingTimerIsSet;
BOOLEAN bDataBusyRetryRoamingTimerIsSet;
boolean bLinkLostCheckTimerIsSet;
#ifdef CONFIG_VERTICAL_HANDOFF
BOOLEAN bGetBeaconRSSITimerIsSet;
#endif
BOOLEAN bManualRoamingInProcess;
BOOLEAN bAutoRoamingInProcess;
BOOLEAN bWlanSmartDetectionInProcess;
BOOLEAN bWlanAllDetectionInProcess;
BOOLEAN bFastAutoRoaming;
BOOLEAN bHandoffViaBSSID;
BOOLEAN bAuthenticated;
BOOLEAN bStopRoaming;
BOOLEAN bProfileSetWiFiConnected;
BOOLEAN bUpdateCurrentProfileChanList;
BOOLEAN bSmartScan;
BOOLEAN bOID_BSSID_LIST_SCAN;
BOOLEAN bOID_SET_SSID;
BOOLEAN bBootRoamingByPRM;
BOOLEAN bAddedPrelistByPRM;
BOOLEAN bFindSameAPInFastRoaming;
BOOLEAN bGetMacAddr;
BOOLEAN bProcessedHandOff;
BOOLEAN bSysShutDown;
BOOLEAN bRebootCardInProcess;
#ifdef CONFIG_VERTICAL_HANDOFF
BOOLEAN bVerticalHandoffEnabled;
BOOLEAN bBeaconRSSIListenInProcess;
BOOLEAN bWiFiGood;
#endif
/*end of zhangbing*/
}PRIVATE_PARAROAMING_ADAPTER, *PPRIVATE_PARAROAMING_ADAPTER;
#define RMM_ADDING_PREFERLIST 2
#define RMM_ADD_PREFERLIST_SUCCESS 1
#define RMM_ENABLE_GET_VIRTUAL_SCAN_LIST 1
#define RMM_ADD_PREFERLIST_FAILED 0
//////////////////FUNCTION USED BY ROAMING MODULE/////////////////////////////
extern DWORD RMM_MsgProc(DWORD msg, DWORD p1, DWORD p2);
extern DWORD RMM_Init(DWORD dwData);
extern BOOLEAN RMM_Deinit(DWORD dwData);
extern NDIS_STATUS InitParaPrivAdapterObject(PMRVDRV_ADAPTER Adapter);
extern void InitParaPrivAdapterFlags(PRIVATE_PARAROAMING_ADAPTER *priv);
extern void FreeParaPrivAdapterObject();
extern void AutoRoamingThread(PVOID pContext);
extern void ManualRoamingThread(PVOID pContext);
extern void WlanSmartDetectionThread(PVOID pContext);
extern void WlanALLDetectionThread(PVOID pContext);
#ifdef CONFIG_VERTICAL_HANDOFF
extern void BeaconRSSIListenThread(PVOID pContext);
#endif
extern VOID AutoRoamingTimerFunction(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);
extern VOID DataBusyRetryRoamingTimerFunction(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);
extern VOID LinkLostCheckTimerFunction(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);
#ifdef CONFIG_VERTICAL_HANDOFF
extern VOID GetBeaconRSSITimerFunction(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);
extern inline void UpdateBeaconRSSI(PRIVATE_PARAROAMING_ADAPTER *priv);
#endif
extern inline int ParaIsNetworkCompatible(PMRVDRV_ADAPTER Adapter,
int bssid_idx, int profile_idx,int mode,PARA_ROAMING_POLICY policy);
extern inline int ParaSearchAPInScanList(PRIVATE_PARAROAMING_ADAPTER *priv,
NDIS_802_11_SSID *ssid, NDIS_802_11_MAC_ADDRESS bssid, int mode,PARA_ROAMING_POLICY policy);
extern inline UCHAR RefreshConnectProfileIdx(PRIVATE_PARAROAMING_ADAPTER *priv);
extern int ParaDisableWep(PRIVATE_PARAROAMING_ADAPTER *priv);
extern int ParaSetEncodeWep(PRIVATE_PARAROAMING_ADAPTER *priv, UCHAR ProfileIdx);
extern int HandoffHandler(PRIVATE_PARAROAMING_ADAPTER *priv, UCHAR ProfileIdx);
extern void InitProfileChanList(PRIVATE_PARAROAMING_ADAPTER *priv,int profile_idx);
extern void InitAllProfileChanList(PRIVATE_PARAROAMING_ADAPTER *priv);
extern inline void UpdateChanListByScan(PRIVATE_PARAROAMING_ADAPTER *priv);
extern inline void ChangeChanListByProfiles(PRIVATE_PARAROAMING_ADAPTER *priv);
extern inline int CheckProfiles(PRIVATE_PARAROAMING_ADAPTER *priv);
extern inline void AllChannelScan(PRIVATE_PARAROAMING_ADAPTER *priv);
extern inline void SmartScan(PRIVATE_PARAROAMING_ADAPTER *priv);
extern int GetMacAddr(void);
extern void ParaResetDisconnectStatus(PMRVDRV_ADAPTER Adapter);
extern void ParaDisconnectWiFi(PRIVATE_PARAROAMING_ADAPTER *priv);
extern void ParaPrintFile(const char *fmt, ...);
extern void SetRegisterWiFiState(DWORD dwWiFi);
extern DWORD ReadRegisterWiFiState(void);
extern void SetRegParaWifiPowerState(LPCWSTR pszKey, LPCWSTR pszValueName, DWORD dwValue);
extern BOOL GetRegParaWifiPowerState(LPCWSTR pszKey, LPCWSTR pszValueName, LPDWORD lpdwValue);
extern BOOL GetRegStr(LPCWSTR pszKey, LPCWSTR pszValueName, TCHAR* szStr);
extern void SetRegStr(LPCWSTR pszKey, LPCWSTR pszValueName, TCHAR* szStr);
#ifdef PARA_WPA_1X
extern int IsRoamingWantWZCWorkProperly(void);
extern int SetWZCWorkProperly(int p);////0:work properly;1:work as Roaming wanted
extern int GetAttemptProfileIndex(void);
extern int SendNotifyToRoaming_wx(int event,DWORD param1,DWORD param2,DWORD param3);
#define DEAUTHENTICATE_EVENT_WX 0
#define INSTALL_GTK_SUCCESS_EVENT_WX 1
#define ADD_WEP_KEY_SUCCESS_EVENT_WX 2
#define LINK_SUCCESS_FROM_REGISTRY_WX 3
#define ADD_WPA_KEY_SUCCESS_EVENT_WX 4
#endif
#endif /* _PARA_ROAMING_PROC_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -