summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/COMMON/CustomizedScan.h
diff options
context:
space:
mode:
authorDaiqian Hu <[email protected]>2016-11-21 08:54:24 +0800
committerDaiqian Hu <[email protected]>2016-11-21 08:54:24 +0800
commita95eaad088f61aa55da9d73015cf1ed86e64a67e (patch)
tree15b498a08a4aee4b7f8b1627d39c965b3aa3ba98 /network/wlan/WDI/COMMON/CustomizedScan.h
parent1aa0338ec5418345ea0c383e92b4fa19f7c98425 (diff)
Re-submit for WDI sample driver to GitHub
Submit WDI sample driver to GitHub for RS1.
Diffstat (limited to 'network/wlan/WDI/COMMON/CustomizedScan.h')
-rw-r--r--network/wlan/WDI/COMMON/CustomizedScan.h319
1 files changed, 319 insertions, 0 deletions
diff --git a/network/wlan/WDI/COMMON/CustomizedScan.h b/network/wlan/WDI/COMMON/CustomizedScan.h
new file mode 100644
index 00000000..a719d7a1
--- /dev/null
+++ b/network/wlan/WDI/COMMON/CustomizedScan.h
@@ -0,0 +1,319 @@
+//---------------------------------------------------------------------------
+//
+// Copyright (c) 2014 Realtek Semiconductor, Inc. All rights reserved.
+//
+//---------------------------------------------------------------------------
+// Description:
+//
+//
+
+#ifndef __INC_CUSTOMIZED_SCAN_H
+#define __INC_CUSTOMIZED_SCAN_H
+
+
+#define CUSTOMIZED_SCAN_MAX_FRAME_LEN 512
+#define CUSTOMIZED_SCAN_MAX_REQ_NUM 8
+
+#define GET_CUSTOM_SCAN_INFO(__pAdapter) (GetDefaultMgntInfo((__pAdapter))->pCustomScanInfo)
+
+//-----------------------------------------------------------------------------
+// Data
+//-----------------------------------------------------------------------------
+
+typedef enum _CUSTOM_SCAN_STATE
+{
+ CUSTOM_SCAN_STATE_IDLE = 0, // req allocated
+ CUSTOM_SCAN_STATE_WAITING, // waiting in the request queue
+ CUSTOM_SCAN_STATE_STARTING,
+ CUSTOM_SCAN_STATE_STARTED, // MgntLinkRequest called for the request
+ CUSTOM_SCAN_STATE_SW_CHNL, // switching channel in ScanCallback
+ CUSTOM_SCAN_STATE_DWELL, // dwelling on a specific channel
+ CUSTOM_SCAN_STATE_COMPLETED, // completed
+ CUSTOM_SCAN_STATE_PRE_DESTROY,
+ CUSTOM_SCAN_STATE_DEFERRED, // deferred for some reason
+ CUSTOM_SCAN_STATE_TERMINATING
+}CUSTOM_SCAN_STATE;
+
+typedef
+VOID
+(*CUSTOM_SCAN_STATE_CB)
+(
+ IN CUSTOM_SCAN_STATE state,
+ IN VOID *pCtx
+);
+
+typedef enum _CUSTOM_SCAN_SRC_TYPE
+{
+ CUSTOM_SCAN_SRC_TYPE_SYS,
+ CUSTOM_SCAN_SRC_TYPE_BT,
+ CUSTOM_SCAN_SRC_TYPE_P2P,
+ CUSTOM_SCAN_SRC_TYPE_UNSPECIFIED
+}CUSTOM_SCAN_SRC_TYPE;
+
+typedef
+VOID
+(*CUSTOM_SCAN_ON_PROBE_RSP_CB)
+(
+ IN CUSTOM_SCAN_STATE state,
+ IN VOID *pCtx,
+ IN RT_RFD *pRfd
+);
+
+//-----------------------------------------------------------------------------
+// Driver callback
+//-----------------------------------------------------------------------------
+
+VOID
+CustomScan_ResetReqNoScanCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_ScanResetCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_ScanByTimerCb(
+ IN VOID *pInfo
+ );
+
+BOOLEAN
+CustomScan_ConstructScanListCb(
+ IN VOID *pInfo,
+ IN RT_CHANNEL_LIST *pChnlList
+ );
+
+u2Byte
+CustomScan_PreSwChnlCb(
+ IN VOID *pInfo,
+ IN RT_CHNL_LIST_ENTRY *chnl
+ );
+
+VOID
+CustomScan_OnChnlCb(
+ IN VOID *pInfo,
+ IN RT_CHNL_LIST_ENTRY *chnl
+ );
+
+BOOLEAN
+CustomScan_PreSetDwellTimerCb(
+ IN VOID *pInfo,
+ IN RT_CHNL_LIST_ENTRY *chnl
+ );
+
+BOOLEAN
+CustomScan_SendProbeCb(
+ IN VOID *pInfo,
+ IN RT_CHNL_LIST_ENTRY *chnl
+ );
+
+BOOLEAN
+CustomScan_DualBandScanCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_PreScanCompleteCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_ScanCompleteCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_ScanCompleteReturnCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_RescheduleCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_WatchDogCb(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_OnProbeRspCb(
+ IN VOID *pInfo,
+ IN RT_RFD *pRfd
+ );
+
+//-----------------------------------------------------------------------------
+// Function
+//-----------------------------------------------------------------------------
+
+VOID *
+CustomScan_AllocInfo(
+ IN ADAPTER *pAdapter
+ );
+
+VOID
+CustomScan_FreeInfo(
+ IN VOID *pInfo
+ );
+
+BOOLEAN
+CustomScan_InProgress(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_Init(
+ IN VOID *pInfo,
+ IN ADAPTER *pScanAdapter,
+ IN u8Byte dbgComp,
+ IN u4Byte dbgLevel
+ );
+
+VOID
+CustomScan_Start(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_Stop(
+ IN VOID *pInfo
+ );
+
+VOID
+CustomScan_Deinit(
+ IN VOID *pInfo
+ );
+
+VOID *
+CustomScan_AllocReq(
+ IN VOID *pInfo,
+ IN CUSTOM_SCAN_STATE_CB cb,
+ IN VOID *ctx
+ );
+
+FRAME_BUF *
+CustomScan_GetProbeReqBuf(
+ IN VOID *scanReq
+ );
+
+VOID
+CustomScan_SetupCbCtx(
+ IN VOID *scanReq,
+ IN CUSTOM_SCAN_STATE_CB cb,
+ IN VOID *ctx
+ );
+
+RT_STATUS
+CustomScan_TermReq(
+ IN VOID *pInfo,
+ IN BOOLEAN bStopOnCurChnl
+ );
+
+RT_STATUS
+CustomScan_AddScanChnl(
+ IN VOID *scanReq,
+ IN u1Byte chnl,
+ IN u1Byte count,
+ IN RT_SCAN_TYPE scanType,
+ IN u2Byte duration,
+ IN u1Byte dataRate,
+ IN FRAME_BUF *probeReqBuf
+ );
+
+RT_STATUS
+CustomScan_AddChnlPlanChnls(
+ IN VOID *scanReq,
+ IN const RT_CHANNEL_PLAN *plan,
+ IN RT_SCAN_TYPE scanType,
+ IN u2Byte duration,
+ IN u1Byte dataRate,
+ IN FRAME_BUF *probeReqBuf
+ );
+
+RT_STATUS
+CustomScan_SetTimeBound(
+ IN VOID *scanReq,
+ IN u4Byte timeBound
+ );
+
+RT_STATUS
+CustomScan_ForcePassiveScan(
+ IN VOID *scanReq
+ );
+
+RT_STATUS
+CustomScan_SetDelayStart(
+ IN VOID *scanReq,
+ IN u4Byte delayMs
+ );
+
+RT_STATUS
+CustomScan_SetRepeatIntermittent(
+ IN VOID *scanReq,
+ IN u4Byte repeatIntermittentMs
+ );
+
+RT_STATUS
+CustomScan_SetRepeatCount(
+ IN VOID *scanReq,
+ IN u4Byte count
+ );
+
+RT_STATUS
+CustomScan_SetProbeRspCb(
+ IN VOID *scanReq,
+ IN CUSTOM_SCAN_ON_PROBE_RSP_CB onProbeRspCb,
+ IN VOID *ctx
+ );
+
+u4Byte
+CustomScan_NumAddedChnl(
+ IN VOID *scanReq
+ );
+
+RT_STATUS
+CustomScan_IssueReq(
+ IN VOID *pInfo,
+ IN VOID *scanReq,
+ IN CUSTOM_SCAN_SRC_TYPE type,
+ IN const char *typeInfo
+ );
+
+RT_STATUS
+CustomScan_IssueSysScan(
+ IN VOID *pInfo,
+ IN BOOLEAN bActiveScan
+ );
+
+RT_STATUS
+CustomScan_ExtendDwellTime(
+ IN VOID *pInfo,
+ IN u2Byte dwellTime
+ );
+
+RT_STATUS
+CustomScan_ShutDwellTime(
+ IN VOID *pInfo,
+ IN VOID *req
+ );
+
+const char *
+CustomScan_ScanStateTxt(
+ IN CUSTOM_SCAN_STATE state
+ );
+
+BOOLEAN
+CustomScan_AcquireCurCtx(
+ IN VOID *pInfo,
+ IN VOID *scanReq,
+ OUT VOID **ppCtx
+ );
+
+VOID
+CustomScan_ReleaseCurCtx(
+ IN VOID *pInfo
+ );
+
+#endif // #ifndef __INC_CUSTOMIZED_SCAN_H