summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/COMMON/WOLPattern.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/WOLPattern.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/WOLPattern.h')
-rw-r--r--network/wlan/WDI/COMMON/WOLPattern.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/network/wlan/WDI/COMMON/WOLPattern.h b/network/wlan/WDI/COMMON/WOLPattern.h
new file mode 100644
index 00000000..5048d6f8
--- /dev/null
+++ b/network/wlan/WDI/COMMON/WOLPattern.h
@@ -0,0 +1,95 @@
+#ifndef __INC_WOLPATTERN_H
+#define __INC_WOLPATTERN_H
+
+
+//#define MAX_SUPPORT_WOL_PATTERN_NUM 8
+
+//#define MAX_WOL_BIT_MASK_SIZE 16 //unit: byte
+//#define MAX_WOL_PATTERN_SIZE 128
+
+#define WOL_REASON_PTK_UPDATE BIT0 // Pairwise key update event triggers this NIC to wake up
+#define WOL_REASON_GTK_UPDATE BIT1 // Group key update event triggers this NIC to wake up
+#define WOL_REASON_DISASSOC BIT2 // Disassociation event triggers this NIC to wake up
+#define WOL_REASON_DEAUTH BIT3 // Deauthentication event triggers this NIC to wake up
+#define WOL_REASON_AP_LOST BIT4 // FW decision disconnection event triggers this NIC to wake up
+#define WOL_REASON_MAGIC_PKT BIT5
+#define WOL_REASON_UNICAST_PKT BIT6
+#define WOL_REASON_PATTERN_PKT BIT7
+#define WOL_REASON_RTD3_SSID_MATCH BIT8
+#define WOL_REASON_REALWOW_V2_WAKEUPPKT BIT9
+#define WOL_REASON_REALWOW_V2_ACKLOST BIT10
+#define WOL_REASON_NLO_SSID_MATCH BIT11
+
+VOID
+GetWOLWakeUpPattern(
+ IN PADAPTER pAdapter,
+ IN pu1Byte pWOLPatternMask,
+ IN u4Byte WOLPatternMaskSize,
+ IN pu1Byte pWOLPatternContent,
+ IN u4Byte WOLPatternContentSize,
+ IN u1Byte Index,
+ IN BOOLEAN bMgntFrame
+ );
+
+u2Byte
+CalculateWOLPatternCRC(
+ pu1Byte Pattern,
+ u4Byte PatternLength
+ );
+
+u2Byte
+CRC16_CCITT(
+ u1Byte data,
+ u2Byte CRC
+ );
+
+VOID
+ResetWoLPara(
+ IN PADAPTER Adapter
+ );
+
+VOID
+ConstructUserDefinedWakeUpPattern(
+ IN PADAPTER Adapter
+);
+
+VOID
+WolByGtkUpdate(
+ IN PADAPTER pAdapter
+ );
+
+VOID
+RemoveUserDefinedWoLPattern(
+ IN PADAPTER Adapter
+ );
+
+VOID
+AddWoLPatternEntry(
+ IN PADAPTER Adapter,
+ IN pu1Byte pWOLPatternMask,
+ IN u4Byte WOLPatternMaskSize,
+ IN pu1Byte pWOLPatternContent,
+ IN u4Byte WOLPatternContentSize,
+ IN u1Byte Index
+ );
+
+VOID
+GetWoLPatternMatchOffloadEntries(
+ IN PADAPTER Adapter,
+ IN u1Byte EntryNum
+ );
+
+BOOLEAN
+WoL_HandleReceivedPacket(
+ PADAPTER Adapter,
+ PRT_RFD pRfd
+ );
+
+VOID
+WoL_ParsingRxBufferPacket(
+ PADAPTER Adapter
+ );
+
+
+#endif //#ifndef __INC_WOLPATTERN_H
+