/Develop_Branch/NPL/Windows/etl_native80211.npl

# · Unknown · 823 lines · 823 code · 0 blank · 0 comment · 0 complexity · f18dfede74f2ee7ea77b595acd084d0d MD5 · raw file

  1. //# (c) 2010 Outercurve Foundation
  2. //#
  3. //# Title: Microsoft-Windows-native80211
  4. //#
  5. //# Details:
  6. //#
  7. //# Public References: native80211.man
  8. //#
  9. //# Comments:
  10. //#
  11. //# Revision Class and Date:Minor, 4/1/2009
  12. //#
  13. //####
  14. [RegisterBefore(NetEvent.UserData, MicrosoftWindowsNWiFi, "{0BD3506A-9030-4f76-9B88-3E8FE1F7CFB6}")]
  15. Protocol N802_MicrosoftWindowsNWiFi = property.ETLSummary
  16. {
  17. [BuildConversationWithParent, conversation.ConversationDescription = ""]
  18. switch(property.EventID)
  19. {
  20. case 60001: [property.ETLSummary = this.ToString] N802_NetError NetError;
  21. case 60002: [property.ETLSummary = this.ToString] N802_NetWarning NetWarning;
  22. case 60003: [property.ETLSummary = this.ToString] N802_StateTransition StateTransition;
  23. case 60004: [property.ETLSummary = this.ToString] N802_ContextUpdate ContextUpdate;
  24. case 60101: [property.ETLSummary = this.ToString] N802_V4Tuple V4Tuple;
  25. case 60102: [property.ETLSummary = this.ToString] N802_V6Tuple V6Tuple;
  26. case 60103: [property.ETLSummary = this.ToString] N802_InterfaceInfo InterfaceInfo;
  27. case 10000: [property.ETLSummary = this.ToString] N802_ResetRequestComplete ResetRequestComplete;
  28. case 10001: [property.ETLSummary = this.ToString] N802_IOCTLStatus IOCTLStatus;
  29. case 10002: [property.ETLSummary = this.ToString] N802_RejectScanRequest RejectScanRequest;
  30. case 10003: [property.ETLSummary = this.ToString] N802_NoAssociation NoAssociation;
  31. case 10004: [property.ETLSummary = this.ToString] N802_UnsupportedAlgorithm UnsupportedAlgorithm;
  32. case 10005: [property.ETLSummary = this.ToString] N802_DesiredSSIDList DesiredSSIDList;
  33. case 10006: [property.ETLSummary = this.ToString] N802_SetDesiredSSIDListError SetDesiredSSIDListError;
  34. case 10007: [property.ETLSummary = this.ToString] N802_SetDesiredBSSType SetDesiredBSSType;
  35. case 10008: [property.ETLSummary = this.ToString] N802_DesiredBSSIDList DesiredBSSIDList;
  36. case 10009: [property.ETLSummary = this.ToString] N802_AuthList AuthList;
  37. case 10010: [property.ETLSummary = this.ToString] N802_SetExcludeUnencrypted SetExcludeUnencrypted;
  38. case 10011: [property.ETLSummary = this.ToString] N802_SetHiddenNetworks SetHiddenNetworks;
  39. case 10012: [property.ETLSummary = this.ToString] N802_DropCachedM1Packet DropCachedM1Packet;
  40. case 10013: [property.ETLSummary = this.ToString] N802_ReplayDetected ReplayDetected;
  41. case 10014: [property.ETLSummary = this.ToString] N802_VersionNotSupported VersionNotSupported;
  42. case 10015: [property.ETLSummary = this.ToString] N802_ReceiveG1Packet ReceiveG1Packet;
  43. case 10016: [property.ETLSummary = this.ToString] N802_ReceiveSecureM1Packet ReceiveSecureM1Packet;
  44. case 10017: [property.ETLSummary = this.ToString] N802_ReceiveM1Packet ReceiveM1Packet;
  45. case 10018: [property.ETLSummary = this.ToString] N802_ReceiveM3Packet ReceiveM3Packet;
  46. case 10019: [property.ETLSummary = this.ToString] N802_SendG2Packet SendG2Packet;
  47. case 10020: [property.ETLSummary = this.ToString] N802_AbortReceiveM1Packet AbortReceiveM1Packet;
  48. case 10021: [property.ETLSummary = this.ToString] N802_SendM2Packet SendM2Packet;
  49. case 10022: [property.ETLSummary = this.ToString] N802_ReceiveM1PacketError ReceiveM1PacketError;
  50. case 10023: [property.ETLSummary = this.ToString] N802_ReceiveM3PacketError ReceiveM3PacketError;
  51. case 10024: [property.ETLSummary = this.ToString] N802_AbortReceiveM3Packet AbortReceiveM3Packet;
  52. case 10025: [property.ETLSummary = this.ToString] N802_SendM4Packet SendM4Packet;
  53. case 10026: [property.ETLSummary = this.ToString] N802_RejectSetPMK RejectSetPMK;
  54. case 10027: [property.ETLSummary = this.ToString] N802_Receive1XPacket Receive1XPacket;
  55. case 10028: [property.ETLSummary = this.ToString] N802_Send1XPacket Send1XPacket;
  56. case 10029: [property.ETLSummary = this.ToString] N802_AbortOIDRequest AbortOIDRequest;
  57. case 10030: [property.ETLSummary = this.ToString] N802_QueryAdapterSync QueryAdapterSync;
  58. case 10031: [property.ETLSummary = this.ToString] N802_RequestAdapterSync RequestAdapterSync;
  59. case 10032: [property.ETLSummary = this.ToString] N802_CallAdapterSync CallAdapterSync;
  60. case 10033: [property.ETLSummary = this.ToString] N802_MicFailureReportsSent MicFailureReportsSent;
  61. case 10034: [property.ETLSummary = this.ToString] N802_SetSecurityEndPoint SetSecurityEndPoint;
  62. case 10035: [property.ETLSummary = this.ToString] N802_IHVSerializationStatus IHVSerializationStatus;
  63. case 10036: [property.ETLSummary = this.ToString] N802_SetSafeMode SetSafeMode;
  64. case 10037: [property.ETLSummary = this.ToString] N802_AdapterResetNewMAC AdapterResetNewMAC;
  65. case 10038: [property.ETLSummary = this.ToString] N802_AdapterReset AdapterReset;
  66. case 10039: [property.ETLSummary = this.ToString] N802_RejectResetRequest RejectResetRequest;
  67. case 10040: [property.ETLSummary = this.ToString] N802_AssocStart AssocStart;
  68. case 10041: [property.ETLSummary = this.ToString] N802_AssocComplete AssocComplete;
  69. case 10042: [property.ETLSummary = this.ToString] N802_DisassocReason DisassocReason;
  70. case 10043: [property.ETLSummary = this.ToString] N802_DeferRoaming DeferRoaming;
  71. case 10044: [property.ETLSummary = this.ToString] N802_MismatchedSessionId MismatchedSessionId;
  72. case 10045: [property.ETLSummary = this.ToString] N802_AuthFailed AuthFailed;
  73. case 10046: [property.ETLSummary = this.ToString] N802_SetPortStateResult SetPortStateResult;
  74. case 10047: [property.ETLSummary = this.ToString] N802_VirtualPortDown VirtualPortDown;
  75. case 10048: [property.ETLSummary = this.ToString] N802_SetPrivacyExemptionListError SetPrivacyExemptionListError;
  76. case 10049: [property.ETLSummary = this.ToString] N802_CancelConnect CancelConnect;
  77. case 10050: [property.ETLSummary = this.ToString] N802_ConnectComplete ConnectComplete;
  78. case 10051: [property.ETLSummary = this.ToString] N802_ConnectRadioOff ConnectRadioOff;
  79. case 10052: [property.ETLSummary = this.ToString] N802_ConnectRadioLowPower ConnectRadioLowPower;
  80. case 10053: [property.ETLSummary = this.ToString] N802_StartConnect StartConnect;
  81. case 10054: [property.ETLSummary = this.ToString] N802_Disconnect Disconnect;
  82. case 10055: [property.ETLSummary = this.ToString] N802_DisconnectRequest DisconnectRequest;
  83. case 10056: [property.ETLSummary = this.ToString] N802_PowerStateResult PowerStateResult;
  84. case 10057: [property.ETLSummary = this.ToString] N802_PowerStateChange PowerStateChange;
  85. case 10058: [property.ETLSummary = this.ToString] N802_OpModeChangeFailed OpModeChangeFailed;
  86. case 10059: [property.ETLSummary = this.ToString] N802_TerminatingConnectionTKIP TerminatingConnectionTKIP;
  87. case 10060: [property.ETLSummary = this.ToString] N802_NwifiPairwiseKeySet NwifiPairwiseKeySet;
  88. case 10061: [property.ETLSummary = this.ToString] N802_NwifiDefaultKeySet NwifiDefaultKeySet;
  89. case 20000: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume1 PerftrackNwifiResume1;
  90. case 20001: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume2 PerftrackNwifiResume2;
  91. case 20002: [property.ETLSummary = this.ToString] N802_PerftrackNwifiPortOpen1 PerftrackNwifiPortOpen1;
  92. case 20003: [property.ETLSummary = this.ToString] N802_PerftrackNwifiPortOpen2 PerftrackNwifiPortOpen2;
  93. case 20004: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd1 PerftrackNwifiResumeEnd1;
  94. case 20005: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd2 PerftrackNwifiResumeEnd2;
  95. case 20006: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume3 PerftrackNwifiResume3;
  96. case 20007: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume4 PerftrackNwifiResume4;
  97. case 20008: [property.ETLSummary = this.ToString] N802_PerftrackNwifiPortOpen3 PerftrackNwifiPortOpen3;
  98. case 20009: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd3 PerftrackNwifiResumeEnd3;
  99. case 20010: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd4 PerftrackNwifiResumeEnd4;
  100. case 20011: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume5 PerftrackNwifiResume5;
  101. case 20012: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResume6 PerftrackNwifiResume6;
  102. case 20013: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd5 PerftrackNwifiResumeEnd5;
  103. case 20014: [property.ETLSummary = this.ToString] N802_PerftrackNwifiResumeEnd6 PerftrackNwifiResumeEnd6;
  104. case 20015: [property.ETLSummary = this.ToString] N802_PerftrackNwifiPortOpen4 PerftrackNwifiPortOpen4;
  105. case 10066: [property.ETLSummary = this.ToString] N802_SoftAPIMStartBegin SoftAPIMStartBegin;
  106. case 10067: [property.ETLSummary = this.ToString] N802_SoftAPIMStartEnd SoftAPIMStartEnd;
  107. case 10068: [property.ETLSummary = this.ToString] N802_SoftAPIMStartFailed SoftAPIMStartFailed;
  108. case 10069: [property.ETLSummary = this.ToString] N802_SoftAPIMStopBegin SoftAPIMStopBegin;
  109. case 10070: [property.ETLSummary = this.ToString] N802_SoftAPIMStopEnd SoftAPIMStopEnd;
  110. case 10071: [property.ETLSummary = this.ToString] N802_SoftAPIMStopFailed SoftAPIMStopFailed;
  111. case 10072: [property.ETLSummary = this.ToString] N802_PowerMgmtSupported PowerMgmtSupported;
  112. case 10073: [property.ETLSummary = this.ToString] N802_EnterLowPowerState EnterLowPowerState;
  113. case 10074: [property.ETLSummary = this.ToString] N802_LeaveLowPowerState LeaveLowPowerState;
  114. default: [property.ETLSummary = "Not exist EventID"]struct{};
  115. }
  116. }
  117. Table N802_utOpcodeMap(value)
  118. {
  119. switch(value)
  120. {
  121. case 180: "Start State";
  122. case 181: "End State";
  123. case 182: "Closed State";
  124. case 183: "Open State";
  125. case 184: "Connect State";
  126. case 185: "Listen State";
  127. case 186: "Association State";
  128. case 187: "Authentication State";
  129. case 188: "Established State";
  130. default:
  131. FormatString("Unknown value: %d", value);
  132. }
  133. }
  134. Table N802_ResetTypeMap(value)
  135. {
  136. switch(value)
  137. {
  138. case 1: "PHY";
  139. case 2: "PHY";
  140. case 3: "PHY/MAC";
  141. default:
  142. FormatString("Unknown value: %d", value);
  143. }
  144. }
  145. Table N802_BSSTypeMap(value)
  146. {
  147. switch(value)
  148. {
  149. case 1: "infrastructure";
  150. case 2: "independent";
  151. case 3: "any";
  152. default:
  153. FormatString("Unknown value: %d", value);
  154. }
  155. }
  156. Table N802_EndPointTypeMap(value)
  157. {
  158. switch(value)
  159. {
  160. case 0: "No Security";
  161. case 1: "Standard Security";
  162. case 2: "IHV Security Endpoint";
  163. default:
  164. FormatString("Unknown value: %d", value);
  165. }
  166. }
  167. Table N802_Dot11AuthAlgorithmMap(value)
  168. {
  169. switch(value)
  170. {
  171. case 1: "Open";
  172. case 2: "Shared Key";
  173. case 3: "WPA";
  174. case 4: "WPA PSK";
  175. case 5: "WPA None";
  176. case 6: "RSNA";
  177. case 7: "RSNA PSK";
  178. default:
  179. FormatString("Unknown value: %d", value);
  180. }
  181. }
  182. Table N802_Dot11CipherAlgorithmMap(value)
  183. {
  184. switch(value)
  185. {
  186. case 0x00: "NONE";
  187. case 0x01: "WEP40";
  188. case 0x02: "TKIP";
  189. case 0x04: "CCMP";
  190. case 0x05: "WEP104";
  191. case 0x100: "USE_GROUP";
  192. case 0x101: "WEP";
  193. default:
  194. FormatString("Unknown value: %d", value);
  195. }
  196. }
  197. Table N802_Dot11DirectionMap(value)
  198. {
  199. switch(value)
  200. {
  201. case 1: "Inbound";
  202. case 2: "Outbound";
  203. case 3: "Both";
  204. default:
  205. FormatString("Unknown value: %d", value);
  206. }
  207. }
  208. Struct N802_NetError = FormatString("Error: %s Location: %s Context: %s", ErrorCode.ToString, Location.ToString, Context.ToString)
  209. {
  210. WinErrorCode ErrorCode;
  211. UINT32 Location;
  212. UINT32 Context;
  213. }
  214. Struct N802_NetWarning = FormatString("Warning: %s Location: %s Context: %s", WarningCode.ToString, Location.ToString, Context.ToString)
  215. {
  216. WinErrorCode WarningCode;
  217. UINT32 Location;
  218. UINT32 Context;
  219. }
  220. Struct N802_StateTransition = FormatString("Transitioned to State: %s Context: %s", NextState.ToString, Context.ToString)
  221. {
  222. UINT8 NextState = N802_utOpcodeMap(this);
  223. UINT32 Context;
  224. }
  225. Struct N802_ContextUpdate = FormatString("Updated Context: %s Update Reason: %s", Context.ToString, UpdateReasonCode.ToString)
  226. {
  227. UINT32 Context;
  228. UINT32 UpdateReasonCode;
  229. }
  230. Struct N802_V4Tuple = FormatString("SourceAddress: %s SourcePort: %s DestinationAddress: %s DestinationPort: %s Protocol: %s ReferenceContext: %s", SourceAddress.ToString, SourcePort.ToString, DestinationAddress.ToString, DestinationPort.ToString, Protocol.ToString, ReferenceContext.ToString)
  231. {
  232. [DataFieldByteOrder = BigEndian]IPv4Address SourceAddress;
  233. UINT32 SourcePort;
  234. [DataFieldByteOrder = BigEndian]IPv4Address DestinationAddress;
  235. UINT32 DestinationPort;
  236. UINT32 Protocol;
  237. UINT32 ReferenceContext;
  238. }
  239. Struct N802_V6Tuple = FormatString("SourceAddress: %s SourcePort: %s DestinationAddress: %s DestinationPort: %s Protocol: %s ReferenceContext: %s", SourceAddress.ToString, SourcePort.ToString, DestinationAddress.ToString, DestinationPort.ToString, Protocol.ToString, ReferenceContext.ToString)
  240. {
  241. [DataFieldByteOrder = BigEndian]IPv6Address SourceAddress;
  242. UINT32 SourcePort;
  243. [DataFieldByteOrder = BigEndian]IPv6Address DestinationAddress;
  244. UINT32 DestinationPort;
  245. UINT32 Protocol;
  246. UINT32 ReferenceContext;
  247. }
  248. Struct N802_InterfaceInfo = FormatString("Interface Guid: %s IfIndex: %s Interface Luid: %s ReferenceContext: %s", IfGuid.ToString, IfIndex.ToString, IfLuid.ToString, ReferenceContext.ToString)
  249. {
  250. GUID(true) IfGuid;
  251. UINT32 IfIndex;
  252. UINT64 IfLuid;
  253. UINT32 ReferenceContext;
  254. }
  255. Struct N802_ResetRequestComplete = FormatString("OID_DOT11_RESET_REQUEST Complete %s ResetConfirmStatus=%s", Status.ToString, ResetStatus.ToString)
  256. {
  257. EtlPtr ContextHandle;
  258. GUID(true) AdapterGuid;
  259. UINT32 Status;
  260. UINT32 ResetStatus;
  261. }
  262. Struct N802_IOCTLStatus = FormatString("IOCTL function=%s Status=%s Length=%s bytes", Function.ToString, Status.ToString, Length.ToString)
  263. {
  264. EtlPtr ContextHandle;
  265. GUID(true) AdapterGuid;
  266. UINT32 Function;
  267. UINT32 Status;
  268. UINT32 Length;
  269. }
  270. Struct N802_RejectScanRequest = FormatString("Reject Scan Request: %s", Status.ToString)
  271. {
  272. EtlPtr ContextHandle;
  273. GUID(true) AdapterGuid;
  274. UINT32 Status;
  275. }
  276. Struct N802_NoAssociation = FormatString("IOCTL_DOT11_WEP_DEFAULT_KEY_VALUE: There is no association")
  277. {
  278. EtlPtr ContextHandle;
  279. GUID(true) AdapterGuid;
  280. UINT32 Status;
  281. }
  282. Struct N802_UnsupportedAlgorithm = FormatString("Unsupported Mcast cipher algorithm %s", AlgorithmId.ToString)
  283. {
  284. EtlPtr ContextHandle;
  285. GUID(true) AdapterGuid;
  286. UINT32 AlgorithmId;
  287. }
  288. Struct N802_DesiredSSIDList = FormatString("Desired SSID List %s entries", SSIDCount.ToString)
  289. {
  290. EtlPtr ContextHandle;
  291. GUID(true) AdapterGuid;
  292. UINT32 SSIDCount;
  293. N802_SSIDList SSIDList[SSIDCount]; // Struct Array
  294. }
  295. Struct N802_SetDesiredSSIDListError = FormatString("SetDesiredSSIDList failed, status = %s", Status.ToString)
  296. {
  297. EtlPtr ContextHandle;
  298. GUID(true) AdapterGuid;
  299. UINT32 Status;
  300. }
  301. Struct N802_SetDesiredBSSType = FormatString("Set DesiredBSSType: %s", BSSType.ToString)
  302. {
  303. EtlPtr ContextHandle;
  304. GUID(true) AdapterGuid;
  305. UINT32 BSSType = N802_BSSTypeMap(this);
  306. }
  307. Struct N802_DesiredBSSIDList = FormatString("Desired BSSID List %s entries", BSSIDCount.ToString)
  308. {
  309. EtlPtr ContextHandle;
  310. GUID(true) AdapterGuid;
  311. UINT32 BSSIDCount;
  312. BLOB(6) BSSIDList[BSSIDCount];
  313. }
  314. Struct N802_AuthList = FormatString("Enabled AuthList %s entries", AuthCount.ToString)
  315. {
  316. EtlPtr ContextHandle;
  317. GUID(true) AdapterGuid;
  318. UINT32 AuthCount;
  319. UINT32 AuthAlgorithm[AuthCount] = N802_Dot11AuthAlgorithmMap(this);
  320. }
  321. Struct N802_SetExcludeUnencrypted = FormatString("Set ExcludeUnencrypted (%s): %s", Value.ToString, Status.ToString)
  322. {
  323. EtlPtr ContextHandle;
  324. GUID(true) AdapterGuid;
  325. BOOL Value;
  326. UINT32 Status;
  327. }
  328. Struct N802_SetHiddenNetworks = FormatString("Set HiddenNetworkEnabled (%s): %s", Value.ToString, Status.ToString)
  329. {
  330. EtlPtr ContextHandle;
  331. GUID(true) AdapterGuid;
  332. BOOL Value;
  333. UINT32 Status;
  334. }
  335. Struct N802_DropCachedM1Packet = FormatString("Drop cached M1: there is a pending 802.1x exchange")
  336. {
  337. EtlPtr ContextHandle;
  338. GUID(true) AdapterGuid;
  339. }
  340. Struct N802_ReplayDetected = FormatString("Replay detected (our counter %s, received %s), dropping the packet", ExpectedCounter.ToString, ReceivedCounter.ToString)
  341. {
  342. EtlPtr ContextHandle;
  343. GUID(true) AdapterGuid;
  344. UINT64 ExpectedCounter;
  345. UINT64 ReceivedCounter;
  346. }
  347. Struct N802_VersionNotSupported = FormatString("Version number %s not supported, Expecting %s", ExpectedVer.ToString, ReceivedVer.ToString)
  348. {
  349. EtlPtr ContextHandle;
  350. GUID(true) AdapterGuid;
  351. UINT32 ExpectedVer;
  352. UINT32 ReceivedVer;
  353. }
  354. Struct N802_ReceiveG1Packet = FormatString("Receive 1X packet G1: FrameSeq# %s: %s ==> %s", FrameSequence.ToString, SrcMAC.ToString, DestMAC.ToString)
  355. {
  356. EtlPtr ContextHandle;
  357. GUID(true) AdapterGuid;
  358. UINT32 FrameSequence;
  359. BLOB(6) SrcMAC;
  360. BLOB(6) DestMAC;
  361. }
  362. Struct N802_ReceiveSecureM1Packet = FormatString("Receive 1X packet M1 (4 way handshake rekey - secure bit set): FrameSeq# %s: %s ==> %s", FrameSequence.ToString, SrcMAC.ToString, DestMAC.ToString)
  363. {
  364. EtlPtr ContextHandle;
  365. GUID(true) AdapterGuid;
  366. UINT32 FrameSequence;
  367. BLOB(6) SrcMAC;
  368. BLOB(6) DestMAC;
  369. }
  370. Struct N802_ReceiveM1Packet = FormatString("Receive 1X packet M1: FrameSeq# %s: %s ==> %s", FrameSequence.ToString, SrcMAC.ToString, DestMAC.ToString)
  371. {
  372. EtlPtr ContextHandle;
  373. GUID(true) AdapterGuid;
  374. UINT32 FrameSequence;
  375. BLOB(6) SrcMAC;
  376. BLOB(6) DestMAC;
  377. }
  378. Struct N802_ReceiveM3Packet = FormatString("Receive 1X packet M3: FrameSeq# %s: %s ==> %s", FrameSequence.ToString, SrcMAC.ToString, DestMAC.ToString)
  379. {
  380. EtlPtr ContextHandle;
  381. GUID(true) AdapterGuid;
  382. UINT32 FrameSequence;
  383. BLOB(6) SrcMAC;
  384. BLOB(6) DestMAC;
  385. }
  386. Struct N802_SendG2Packet = FormatString("Send 1X packet G2: %s ==> %s", SrcMAC.ToString, DestMAC.ToString)
  387. {
  388. EtlPtr ContextHandle;
  389. GUID(true) AdapterGuid;
  390. BLOB(6) SrcMAC;
  391. BLOB(6) DestMAC;
  392. }
  393. Struct N802_AbortReceiveM1Packet = FormatString("Dot11ReceiveM1: aborted since the connection has changed")
  394. {
  395. EtlPtr ContextHandle;
  396. GUID(true) AdapterGuid;
  397. }
  398. Struct N802_SendM2Packet = FormatString("Send 1X packet M2: %s ==> %s", SrcMAC.ToString, DestMAC.ToString)
  399. {
  400. EtlPtr ContextHandle;
  401. GUID(true) AdapterGuid;
  402. BLOB(6) SrcMAC;
  403. BLOB(6) DestMAC;
  404. }
  405. Struct N802_ReceiveM1PacketError = FormatString("Dot11ReceiveM1 failed with status %s", Status.ToString)
  406. {
  407. EtlPtr ContextHandle;
  408. GUID(true) AdapterGuid;
  409. UINT32 Status;
  410. }
  411. Struct N802_ReceiveM3PacketError = FormatString("Dot11ReceiveM3 failed with status %s", Status.ToString)
  412. {
  413. EtlPtr ContextHandle;
  414. GUID(true) AdapterGuid;
  415. UINT32 Status;
  416. }
  417. Struct N802_AbortReceiveM3Packet = FormatString("Dot11ReceiveM3: aborted since the connection has changed")
  418. {
  419. EtlPtr ContextHandle;
  420. GUID(true) AdapterGuid;
  421. }
  422. Struct N802_SendM4Packet = FormatString("Send 1X packet M4: %s ==> %s", SrcMAC.ToString, DestMAC.ToString)
  423. {
  424. EtlPtr ContextHandle;
  425. GUID(true) AdapterGuid;
  426. BLOB(6) SrcMAC;
  427. BLOB(6) DestMAC;
  428. }
  429. Struct N802_RejectSetPMK = FormatString("Reject request of setting PMK since the caller is not current security endpoint")
  430. {
  431. EtlPtr ContextHandle;
  432. GUID(true) AdapterGuid;
  433. UINT32 Status;
  434. }
  435. Struct N802_Receive1XPacket = FormatString("Receive 1X packet: FrameSeq#%s: %s ==> %s, Status %s", FrameSequence.ToString, SrcMAC.ToString, DestMAC.ToString, Status.ToString)
  436. {
  437. UINT32 FrameSequence;
  438. BLOB(6) SrcMAC;
  439. BLOB(6) DestMAC;
  440. UINT32 Status;
  441. }
  442. Struct N802_Send1XPacket = FormatString("Send 1X packet: %s ==> %s", SrcMAC.ToString, DestMAC.ToString)
  443. {
  444. EtlPtr ContextHandle;
  445. GUID(true) AdapterGuid;
  446. BLOB(6) SrcMAC;
  447. BLOB(6) DestMAC;
  448. }
  449. Struct N802_AbortOIDRequest = FormatString("Abort OID request %s (low power state): PowerState=%s", OID.ToString, PowerState.ToString)
  450. {
  451. EtlPtr Adapter;
  452. UINT32 OID;
  453. UINT32 PowerState;
  454. }
  455. Struct N802_QueryAdapterSync = FormatString("QueryAdapterSync Error: %s OID %s", Status.ToString, OID.ToString)
  456. {
  457. EtlPtr Adapter;
  458. UINT32 OID;
  459. UINT32 Status;
  460. }
  461. Struct N802_RequestAdapterSync = FormatString("RequestAdapterSync Error: %s OID %s", Status.ToString, OID.ToString)
  462. {
  463. EtlPtr Adapter;
  464. UINT32 OID;
  465. UINT32 Status;
  466. }
  467. Struct N802_CallAdapterSync = FormatString("CallAdapterSync Error: %s OID %s", Status.ToString, OID.ToString)
  468. {
  469. EtlPtr Adapter;
  470. UINT32 OID;
  471. UINT32 Status;
  472. }
  473. Struct N802_MicFailureReportsSent = FormatString("All MIC failure reports are sent. Notify miniport to disassociate from %s", MAC.ToString)
  474. {
  475. EtlPtr ContextHandle;
  476. GUID(true) AdapterGuid;
  477. BLOB(6) MAC;
  478. }
  479. Struct N802_SetSecurityEndPoint = FormatString("Security endpoint type = %s", EndPointType.ToString)
  480. {
  481. EtlPtr ContextHandle;
  482. GUID(true) AdapterGuid;
  483. UINT8 EndPointType = N802_EndPointTypeMap(this);
  484. }
  485. Struct N802_IHVSerializationStatus = FormatString("IHV Serialization Enabled: %s", Enabled.ToString)
  486. {
  487. EtlPtr ContextHandle;
  488. GUID(true) AdapterGuid;
  489. BOOL Enabled;
  490. }
  491. Struct N802_SetSafeMode = FormatString("Safe mode = %s", Enabled.ToString)
  492. {
  493. EtlPtr ContextHandle;
  494. GUID(true) AdapterGuid;
  495. BOOL Enabled;
  496. }
  497. Struct N802_AdapterResetNewMAC = FormatString("Reset %s New MAC address %s SetDefaultMIB=%s", ResetType.ToString, MAC.ToString, DefaultMIB.ToString)
  498. {
  499. EtlPtr ContextHandle;
  500. GUID(true) AdapterGuid;
  501. UINT8 ResetType = N802_ResetTypeMap(this);
  502. BLOB(6) MAC;
  503. BOOL DefaultMIB;
  504. }
  505. Struct N802_AdapterReset = FormatString("Reset %s SetDefaultMIB=%s", ResetType.ToString, DefaultMIB.ToString)
  506. {
  507. EtlPtr ContextHandle;
  508. GUID(true) AdapterGuid;
  509. UINT8 ResetType = N802_ResetTypeMap(this);
  510. BLOB(6) MAC;
  511. BOOL DefaultMIB;
  512. }
  513. Struct N802_RejectResetRequest = FormatString("Reject Reset Request: %s", Status.ToString)
  514. {
  515. EtlPtr ContextHandle;
  516. GUID(true) AdapterGuid;
  517. UINT32 Status;
  518. }
  519. Struct N802_AssocStart = FormatString("Association Start: %s", MAC.ToString)
  520. {
  521. EtlPtr ContextHandle;
  522. GUID(true) AdapterGuid;
  523. BLOB(6) MAC;
  524. }
  525. Struct N802_AssocComplete = FormatString("Association Completion: %s AssocStatus=%s", MAC.ToString, Status.ToString)
  526. {
  527. EtlPtr ContextHandle;
  528. GUID(true) AdapterGuid;
  529. BLOB(6) MAC;
  530. UINT32 Status;
  531. }
  532. Struct N802_DisassocReason = FormatString("DisAssoc: %s Reason: %s", MAC.ToString, Reason.ToString)
  533. {
  534. EtlPtr ContextHandle;
  535. GUID(true) AdapterGuid;
  536. BLOB(6) MAC;
  537. UINT32 Reason;
  538. }
  539. Struct N802_DeferRoaming = FormatString("Defer roaming timer until system wakeup")
  540. {
  541. EtlPtr ContextHandle;
  542. GUID(true) AdapterGuid;
  543. }
  544. Struct N802_MismatchedSessionId = FormatString("Mismatched session ID")
  545. {
  546. EtlPtr ContextHandle;
  547. GUID(true) AdapterGuid;
  548. UINT32 SessionId;
  549. }
  550. Struct N802_AuthFailed = FormatString("PortState: Auth Failed: %s", MAC.ToString)
  551. {
  552. EtlPtr ContextHandle;
  553. GUID(true) AdapterGuid;
  554. UINT32 SessionId;
  555. BLOB(6) MAC;
  556. }
  557. Struct N802_SetPortStateResult = FormatString("SetPortState: %s: Controlled=%s Authorized=%s", MAC.ToString, Controlled.ToString, Authorized.ToString)
  558. {
  559. EtlPtr ContextHandle;
  560. GUID(true) AdapterGuid;
  561. UINT32 SessionId;
  562. BLOB(6) MAC;
  563. BOOL Controlled;
  564. BOOL Authorized;
  565. }
  566. Struct N802_VirtualPortDown = FormatString("Post Virtual PortDown Notification (MAC=%s) to Security Module", MAC.ToString)
  567. {
  568. EtlPtr ContextHandle;
  569. GUID(true) AdapterGuid;
  570. UINT32 SessionId;
  571. BLOB(6) MAC;
  572. }
  573. Struct N802_SetPrivacyExemptionListError = FormatString("Unable to set OID_DOT11_PRIVACY_EXEMPTION_LIST Status = %s", Status.ToString)
  574. {
  575. EtlPtr ContextHandle;
  576. GUID(true) AdapterGuid;
  577. UINT32 Status;
  578. }
  579. Struct N802_CancelConnect = FormatString("Cancel IOCTL_DOT11_CONNECT")
  580. {
  581. EtlPtr ContextHandle;
  582. GUID(true) AdapterGuid;
  583. EtlPtr Irp;
  584. }
  585. Struct N802_ConnectComplete = FormatString("OID_DOT11_CONNECT_REQUEST completes %s", Status.ToString)
  586. {
  587. EtlPtr ContextHandle;
  588. GUID(true) AdapterGuid;
  589. UINT32 Status;
  590. }
  591. Struct N802_ConnectRadioOff = FormatString("Fail Connect Request: Radio is off")
  592. {
  593. EtlPtr ContextHandle;
  594. GUID(true) AdapterGuid;
  595. UINT32 PowerState;
  596. }
  597. Struct N802_ConnectRadioLowPower = FormatString("Fail Connect Request in low power state: %s", PowerState.ToString)
  598. {
  599. EtlPtr ContextHandle;
  600. GUID(true) AdapterGuid;
  601. UINT32 PowerState;
  602. }
  603. Struct N802_StartConnect = FormatString("IOCTL_DOT11_CONNECT")
  604. {
  605. EtlPtr ContextHandle;
  606. GUID(true) AdapterGuid;
  607. EtlPtr Irp;
  608. }
  609. Struct N802_Disconnect = FormatString("IOCTL_DOT11_DISCONNECT")
  610. {
  611. EtlPtr ContextHandle;
  612. GUID(true) AdapterGuid;
  613. }
  614. Struct N802_DisconnectRequest = FormatString("OID_DOT11_DISCONNECT_REQUEST Status = %s", Status.ToString)
  615. {
  616. EtlPtr ContextHandle;
  617. GUID(true) AdapterGuid;
  618. UINT32 Status;
  619. }
  620. Struct N802_PowerStateResult = FormatString("OID_DOT11_NIC_POWER_STATE Status = %s", Status.ToString)
  621. {
  622. EtlPtr ContextHandle;
  623. GUID(true) AdapterGuid;
  624. UINT32 Status;
  625. }
  626. Struct N802_PowerStateChange = FormatString("Old PowerState=%s, New PowerState=%s", OldPowerState.ToString, NewPowerState.ToString)
  627. {
  628. EtlPtr ContextHandle;
  629. GUID(true) AdapterGuid;
  630. UINT32 OldPowerState;
  631. UINT32 NewPowerState;
  632. BOOL Halting;
  633. }
  634. Struct N802_OpModeChangeFailed = FormatString("Change OpMode Failed: Capability is not supported (Configured = %s, IM supported = %s, MiniPort supported = %s)", ConfiguredOpMode.ToString, IMSupportedOpModes.ToString, MiniPortSupportedOpModes.ToString)
  635. {
  636. EtlPtr ContextHandle;
  637. GUID(true) AdapterGuid;
  638. UINT32 ConfiguredOpMode;
  639. UINT32 IMSupportedOpModes;
  640. UINT32 MiniPortSupportedOpModes;
  641. }
  642. Struct N802_TerminatingConnectionTKIP = FormatString("Terminate the connection: too many TKIP-MIC countermeasures.")
  643. {
  644. EtlPtr ContextHandle;
  645. GUID(true) AdapterGuid;
  646. }
  647. Struct N802_NwifiPairwiseKeySet = FormatString("Pairwise Key (%s): Algo %s, Direction= %s, Len %s", Addr.ToString, CipherAlgoId.ToString, Direction.ToString, Len.ToString)
  648. {
  649. BLOB(6) Addr;
  650. UINT32 CipherAlgoId = N802_Dot11CipherAlgorithmMap(this);
  651. UINT8 Direction = N802_Dot11DirectionMap(this);
  652. UINT32 Len;
  653. }
  654. Struct N802_NwifiDefaultKeySet = FormatString("Default Key: Idx %s, Algo %s, Direction= %s, Len %s", Index.ToString, CipherAlgoId.ToString, Direction.ToString, Len.ToString)
  655. {
  656. UINT32 Index;
  657. UINT32 CipherAlgoId = N802_Dot11CipherAlgorithmMap(this);
  658. UINT8 Direction = N802_Dot11DirectionMap(this);
  659. UINT32 Len;
  660. }
  661. Struct N802_PerftrackNwifiResume1 = FormatString("Resume from low power 1")
  662. {
  663. GUID(true) InterfaceGuid;
  664. }
  665. Struct N802_PerftrackNwifiResume2 = FormatString("Resume from low power 2")
  666. {
  667. GUID(true) InterfaceGuid;
  668. }
  669. Struct N802_PerftrackNwifiPortOpen1 = FormatString("Port authorized 1")
  670. {
  671. GUID(true) InterfaceGuid;
  672. }
  673. Struct N802_PerftrackNwifiPortOpen2 = FormatString("Port authorized 2")
  674. {
  675. GUID(true) InterfaceGuid;
  676. }
  677. Struct N802_PerftrackNwifiResumeEnd1 = FormatString("Resume from low power (End trailing scenario) 1")
  678. {
  679. GUID(true) InterfaceGuid;
  680. }
  681. Struct N802_PerftrackNwifiResumeEnd2 = FormatString("Resume from low power (End trailing scenario) 2")
  682. {
  683. GUID(true) InterfaceGuid;
  684. }
  685. Struct N802_PerftrackNwifiResume3 = FormatString("Resume from low power 3")
  686. {
  687. GUID(true) InterfaceGuid;
  688. }
  689. Struct N802_PerftrackNwifiResume4 = FormatString("Resume from low power 4")
  690. {
  691. GUID(true) InterfaceGuid;
  692. }
  693. Struct N802_PerftrackNwifiPortOpen3 = FormatString("Port authorized 3")
  694. {
  695. GUID(true) InterfaceGuid;
  696. }
  697. Struct N802_PerftrackNwifiResumeEnd3 = FormatString("Resume from low power (End trailing scenario) 3")
  698. {
  699. GUID(true) InterfaceGuid;
  700. }
  701. Struct N802_PerftrackNwifiResumeEnd4 = FormatString("Resume from low power (End trailing scenario) 4")
  702. {
  703. GUID(true) InterfaceGuid;
  704. }
  705. Struct N802_PerftrackNwifiResume5 = FormatString("Resume from low power 5")
  706. {
  707. GUID(true) InterfaceGuid;
  708. }
  709. Struct N802_PerftrackNwifiResume6 = FormatString("Resume from low power 6")
  710. {
  711. GUID(true) InterfaceGuid;
  712. }
  713. Struct N802_PerftrackNwifiResumeEnd5 = FormatString("Resume from low power (End trailing scenario) 5")
  714. {
  715. GUID(true) InterfaceGuid;
  716. }
  717. Struct N802_PerftrackNwifiResumeEnd6 = FormatString("Resume from low power (End trailing scenario) 6")
  718. {
  719. GUID(true) InterfaceGuid;
  720. }
  721. Struct N802_PerftrackNwifiPortOpen4 = FormatString("Port authorized 4")
  722. {
  723. GUID(true) InterfaceGuid;
  724. }
  725. Struct N802_SoftAPIMStartBegin = FormatString("802.11 IM driver has begun to start the device network, adapter guid = %s, Local MAC addr = %s, SSID = %s", InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  726. {
  727. GUID(true) InterfaceGuid;
  728. EtlPtr ContextHandle;
  729. AsciiString MAC;
  730. AsciiString SSID;
  731. }
  732. Struct N802_SoftAPIMStartEnd = FormatString("802.11 IM driver has finished starting the device network, adapter guid = %s, Local MAC addr = %s, SSID = %s", InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  733. {
  734. GUID(true) InterfaceGuid;
  735. EtlPtr ContextHandle;
  736. AsciiString MAC;
  737. AsciiString SSID;
  738. }
  739. Struct N802_SoftAPIMStartFailed = FormatString("802.11 IM driver has failed to start the device network, error code = %s, adapter guid = %s, Local MAC addr = %s, SSID = %s", ErrorCode.ToString, InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  740. {
  741. GUID(true) InterfaceGuid;
  742. WinErrorCode ErrorCode;
  743. EtlPtr ContextHandle;
  744. AsciiString MAC;
  745. AsciiString SSID;
  746. }
  747. Struct N802_SoftAPIMStopBegin = FormatString("802.11 IM driver has begun to stop the device network, adapter guid = %s, Local MAC addr = %s, SSID = %s", InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  748. {
  749. GUID(true) InterfaceGuid;
  750. EtlPtr ContextHandle;
  751. AsciiString MAC;
  752. AsciiString SSID;
  753. }
  754. Struct N802_SoftAPIMStopEnd = FormatString("802.11 IM driver has finished stopping the device network, adapter guid = %s, Local MAC addr = %s, SSID = %s", InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  755. {
  756. GUID(true) InterfaceGuid;
  757. EtlPtr ContextHandle;
  758. AsciiString MAC;
  759. AsciiString SSID;
  760. }
  761. Struct N802_SoftAPIMStopFailed = FormatString("802.11 IM driver has failed to stop the device network, error code = %s, adapter guid = %s, local MAC addr = %s, SSID = %s", ErrorCode.ToString, InterfaceGuid.ToString, MAC.ToString, SSID.ToString)
  762. {
  763. GUID(true) InterfaceGuid;
  764. WinErrorCode ErrorCode;
  765. EtlPtr ContextHandle;
  766. AsciiString MAC;
  767. AsciiString SSID;
  768. }
  769. Struct N802_PowerMgmtSupported = FormatString("Results of querying power management mode: current power management mode = %s, power management mode supported by AP = %s, adapter guid = %s, AP MAC addr = %s, AP SSID = %s", PowerMgmtMode.ToString, PowerMgmtModeSupported.ToString, AdapterGuid.ToString, MAC.ToString, SSID.ToString)
  770. {
  771. UINT32 PowerMgmtMode;
  772. BOOL PowerMgmtModeSupported;
  773. GUID(true) AdapterGuid;
  774. BLOB(6) MAC;
  775. AsciiString SSID;
  776. }
  777. Struct N802_EnterLowPowerState = FormatString("Adapter going to sleep, adapter guid = %s, halted = %s", AdapterGuid.ToString, Halted.ToString)
  778. {
  779. GUID(true) AdapterGuid;
  780. BOOL Halted;
  781. }
  782. Struct N802_LeaveLowPowerState = FormatString("Adapter resumed from sleep, adapter guid = %s", AdapterGuid.ToString)
  783. {
  784. GUID(true) AdapterGuid;
  785. }
  786. struct N802_SSIDList //Array Struct
  787. {
  788. UINT8 SSIDLen;
  789. AsciiString(SSIDLen) SSID;
  790. }
  791. [RegisterBefore(EventDescriptor.DefaultKeyword, MicrosoftWindowsNWiFi_Keyword, "{0BD3506A-9030-4f76-9B88-3E8FE1F7CFB6}")]
  792. struct N802_MicrosoftWindowsNWiFi_Keyword
  793. {
  794. UINT64 Init:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_INIT":"");
  795. UINT64 Ioctls:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_IOCTLS":"");
  796. UINT64 RSNA:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_RSNA":"");
  797. UINT64 AuthUpcall:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_AUTHUPCALL":"");
  798. UINT64 IODisp:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_IODISP":"");
  799. UINT64 NDISReq:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_NDISREQ":"");
  800. UINT64 TKIPSec:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_TKIPSEC":"");
  801. UINT64 Reset:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_RESET":"");
  802. UINT64 AssocMgr:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_ASSOCMGR":"");
  803. UINT64 LWF:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_LWF":"");
  804. UINT64 SOFTAP:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_SOFTAP":"");
  805. UINT64 PowerMgmt:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_POWERMGMT":"");
  806. UINT64 SleepResume:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_SLEEPRESUME":"");
  807. UINT64 Reserved1:19 = FormatString(" (%s)", this.ToBitString);
  808. UINT64 utSendPath:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_SEND": "");
  809. UINT64 utReceivePath:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_RECEIVE":"");
  810. UINT64 utL3ConnectPath:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_L3_CONNECT":"");
  811. UINT64 utL2ConnectPath:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_L2_CONNECT":"");
  812. UINT64 utClosePath:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_CLOSE":"");
  813. UINT64 utAuthentication:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_AUTHENTICATION":"");
  814. UINT64 utConfiguration:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_CONFIGURATION":"");
  815. UINT64 utGlobal:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_GLOBAL":"");
  816. UINT64 utDropped:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_DROPPED":"");
  817. UINT64 utPiiPresent:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_PII_PRESENT":"");
  818. UINT64 utPacket:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_PACKET":"");
  819. UINT64 utAddress:1 = FormatString(" (%s) %s", this.ToBitString, this? "KW_ADDRESS":"");
  820. UINT64 utStdTemplateHint:1 = FormatString("(%s) %s", this.ToBitString, this? "KW_STD_TEMPLATE_HINT":"");
  821. UINT64 utStateTransition:1 = FormatString("(%s) %s", this.ToBitString, this? "KW_STATE_TRANSITION":"");
  822. UINT64 Reserved2:18 = FormatString(" (%s)", this.ToBitString);
  823. }