1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#ifndef __INC_BSSCOEXISTENCE_H
#define __INC_BSSCOEXISTENCE_H
// Normally, the OS (windows but not including win7 or later) scans per 60 seconds,
// and we don't want the period smaller than the windows period to affect the throughput.
// In WiFi 11n 5.2.48 BSS coexistence test, the scan interval is 180 seconds.
#define RT_OBSS_MIN_TRIGGER_SCAN_INTERVAL 70 // 70 Seconds
#define SET_BSS_COEXISTENCE_ELE_INFO_REQUEST(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 0, 1, _val)
#define SET_BSS_COEXISTENCE_ELE_FORTY_INTOLERANT(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 1, 1, _val)
#define SET_BSS_COEXISTENCE_ELE_20_WIDTH_REQ(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 2, 1, _val)
#define SET_BSS_COEXISTENCE_ELE_OBSS_EXEMPTION_GRT(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 4, 1, _val)
#define GET_BSS_COEXISTENCE_ELE_FORTY_INTOLERANT(_pEleStart) LE_BITS_TO_1BYTE((_pEleStart), 1, 1)
#define GET_BSS_COEXISTENCE_ELE_20_WIDTH_REQ(_pEleStart) LE_BITS_TO_1BYTE((_pEleStart), 2, 1)
#define GET_BSS_COEXISTENCE_ELE_OBSS_EXEMPTION_GRT(_pEleStart) LE_BITS_TO_1BYTE((_pEleStart), 4, 1)
#define SET_BSS_INTOLERANT_ELE_REG_CLASS(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 0, 8, _val)
#define SET_BSS_INTOLERANT_ELE_CHANNEL(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart)+1, 0, 8, _val)
#define SET_EXT_CAPABILITY_ELE_BSS_COEXIST(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 0, 1, _val)
#define GET_EXT_CAPABILITY_ELE_BSS_COEXIST(_pEleStart) LE_BITS_TO_1BYTE((_pEleStart), 0, 1)
#define GET_OBSS_PARAM_ELE_SCAN_INTERVAL(_pEleStart) ReadEF2Byte(((_pEleStart)+4))
VOID
BSS_ParsingOBSSInfoElement(
PADAPTER Adapter,
OCTET_STRING osFrame,
PRT_WLAN_BSS pBssDesc
);
VOID
BSS_ParsingBSSCoexistElement(
PADAPTER Adapter,
OCTET_STRING osFrame,
PRT_WLAN_BSS pBssDesc
);
VOID
BSS_AppendExentedCapElement(
PADAPTER pAdapter,
POCTET_STRING posFrame
);
RT_STATUS
OnBssCoexistence(
IN PADAPTER Adapter,
IN PRT_RFD pRfd,
IN POCTET_STRING posMpdu
);
VOID
BSS_OnScanComplete(
IN PADAPTER Adapter
);
VOID
BSS_IdleScanWatchDog(
IN PADAPTER pAdapter
);
#endif
|