Difference between revisions of "Unit WiFi"
Line 4,071: | Line 4,071: | ||
---- | ---- | ||
− | '' | + | |
+ | '''IEEE 802.11 header''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Header = ^TIEEE80211Header;</code> | ||
+ | |||
+ | <code>TIEEE80211Header = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_hdr | ||
+ | Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DurationId:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Address1:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address2:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address3:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SequenceControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Address4:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 header 3 address''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Header3Address = ^TIEEE80211Header3Address;</code> | ||
+ | |||
+ | <code>TIEEE80211Header3Address = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_hdr_3addr | ||
+ | Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DurationId:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Address1:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address2:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address3:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SequenceControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 QOS header''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211QOSHeader = ^TIEEE80211QOSHeader;</code> | ||
+ | |||
+ | <code>TIEEE80211QOSHeader = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_qos_hdr | ||
+ | Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DurationId:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Address1:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address2:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address3:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SequenceControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>QoSControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 S header''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211SHeader = ^TIEEE80211SHeader;</code> | ||
+ | |||
+ | <code>TIEEE80211SHeader = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211s_hdr | ||
+ | Not Packed | ||
+ | |- | ||
+ | | <code>Flags:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TTL:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SequenceNumber:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>Address1:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Address2:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 quiet information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211QuietIE = ^TIEEE80211QuietIE;</code> | ||
+ | |||
+ | <code>TIEEE80211QuietIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_quiet_ie | ||
+ | |- | ||
+ | | <code>Count:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Period:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Duration:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Offset:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 measurement request/report information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211MeasurementIE = ^TIEEE80211MeasurementIE;</code> | ||
+ | |||
+ | <code>TIEEE80211MeasurementIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_msrment_ie | ||
+ | |- | ||
+ | | <code>Token:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Mode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TType:Byte;</code> | ||
+ | | Type | ||
+ | |- | ||
+ | | <code>Request:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 channel switch announcement information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ChannelSwitchIE = ^TIEEE80211ChannelSwitchIE;</code> | ||
+ | |||
+ | <code>TIEEE80211ChannelSwitchIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_channel_sw_ie | ||
+ | |- | ||
+ | | <code>Mode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>NewChannel:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Count:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 extended channel switch announcement information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ExtChannelSwitchIE = ^TIEEE80211ExtChannelSwitchIE;</code> | ||
+ | |||
+ | <code>TIEEE80211ExtChannelSwitchIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_ext_chansw_ie | ||
+ | |- | ||
+ | | <code>Mode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>NewOperatingClass:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>NewChannel:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Count:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 secondary channel offset information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211SecondaryChannelOffsetIE = ^TIEEE80211SecondaryChannelOffsetIE;</code> | ||
+ | |||
+ | <code>TIEEE80211SecondaryChannelOffsetIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_sec_chan_offs_ie | ||
+ | |- | ||
+ | | <code>SecondaryChannelOffset:Byte;</code> | ||
+ | | Secondary channel offset, uses IEEE80211_HT_PARAM_CHA_SEC_* values here | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 mesh channel switch parameters information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211MeshChannelSwitchParamsIE = ^TIEEE80211MeshChannelSwitchParamsIE;</code> | ||
+ | |||
+ | <code>TIEEE80211MeshChannelSwitchParamsIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mesh_chansw_params_ie | ||
+ | |- | ||
+ | | <code>MeshTTL:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshFlags:Byte;</code> | ||
+ | | See IEEE80211_CHAN_SWITCH_PARAM_* | ||
+ | |- | ||
+ | | <code>MeshReason:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>MeshPreValue:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 wide bandwidth channel switch information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211WidebandChannelSwitchIE = ^TIEEE80211WidebandChannelSwitchIE;</code> | ||
+ | |||
+ | <code>TIEEE80211WidebandChannelSwitchIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_wide_bw_chansw_ie | ||
+ | |- | ||
+ | | <code>NewChannelWidth:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>NewCenterFreqSeg0:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>NewCenterFreqSeg1:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 traffic indication map information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TrafficIndicationMapIE = ^TIEEE80211TrafficIndicationMapIE;</code> | ||
+ | |||
+ | <code>TIEEE80211TrafficIndicationMapIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_tim_ie | ||
+ | |- | ||
+ | | <code>DTIMCount:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DTIMPeriod:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>BitmapControl:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>VirtualMap:array[0..0] of Byte;</code> | ||
+ | | Variable size: 1 - 251 bytes | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 mesh configuration information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211MeshConfigurationIE = ^TIEEE80211MeshConfigurationIE;</code> | ||
+ | |||
+ | <code>TIEEE80211MeshConfigurationIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_meshconf_ie | ||
+ | |- | ||
+ | | <code>MeshConfPSEL:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>MeshConfPMetric:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshconfCongest:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshconfSynch:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshConfAuth:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshConfForm:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshConfCap:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 root announcement information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211RootAnnouncementIE = ^TIEEE80211RootAnnouncementIE;</code> | ||
+ | |||
+ | <code>TIEEE80211RootAnnouncementIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_rann_ie | ||
+ | |- | ||
+ | | <code>RannFlags:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RannHopcount:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RannTTL:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RannAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RannSequence:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>RannInterval:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>RannMetric:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TPC report information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TPCReportIE = ^TIEEE80211TPCReportIE;</code> | ||
+ | |||
+ | <code>TIEEE80211TPCReportIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_tpc_report_ie | ||
+ | |- | ||
+ | | <code>TXPower:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>LinkMargin:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management authority''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementAuth = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>AuthAlgorithm:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>AuthTransaction:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>StatusCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |colspan="2"|''Possibly followed by Challenge text'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management deauthority''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementDeauth = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ReasonCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management association request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementAssocRequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>CapabilitiesInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ListenInterval:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |colspan="2"|''Followed by SSID and Supported rates'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management association response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementAssocResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>CapabilitiesInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>StatusCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>AID:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |colspan="2"|''Followed by Supported rates'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management reassociation request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementReassocRequest = packed record </code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>CapabilitiesInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ListenInterval:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>CurrentAP:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Followed by SSID and Supported rates'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management disassociation''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementDisassoc = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ReasonCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management beacon''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementBeacon = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>Timestamp:Int64;</code> | ||
+ | | LE64 | ||
+ | |- | ||
+ | | <code>BeaconInterval:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>CapabilitiesInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |colspan="2"|''Followed by some of SSID, Supported rates, FH Params, DS Params, CF Params, IBSS Params, TIM'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management probe request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementProbeRequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | |colspan="2"|''Only variable items: SSID, Supported rates'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management probe response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>TIEEE80211ManagementProbeResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>Timestamp:Int64;</code> | ||
+ | | LE64 | ||
+ | |- | ||
+ | | <code>BeaconInterval:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>CapabilitiesInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |colspan="2"|''Followed by some of SSID, Supported rates, FH Params, DS Params, CF Params, IBSS Params'' | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action WME action''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionWMEAction = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>StatusCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action channel switch''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionChannelSwitch = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte; </code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action extended channel switch''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionExtChannelSwitch = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Data:TIEEE80211ExtChannelSwitchIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action measurement''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionMeasurement = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Element:TIEEE80211MeasurementIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action add BA request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionAddBARequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Capability:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Timeout:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>StartSequenceNumber:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action add BA response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionAddBAResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Status:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Capability:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Timeout:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action delete BA''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionDelBA = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Params:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ReasonCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action self protection''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionSelfProt = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action mesh action''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionMeshAction = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte; </code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action SA query''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionSAQuery = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>TransID:array[0..WLAN_SA_QUERY_TR_ID_LEN - 1] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action HTSMPS''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionHTSMPS = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>Action:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>SMPSControl:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action HT notify channel width''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionHTNotifyChannelWidth = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>ChannelWidth:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action TDLS discover response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionTDLSDiscoverResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Capability:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte; </code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action VHT opmode notify''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionVHTOpmodeNotify = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>OperatingMode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action TPC report''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementActionTPCReport = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TPCElementID:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TPCElementLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TPC:TIEEE80211TPCReportIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management action''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211ManagementAction = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | |- | ||
+ | | <code>case Integer of</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>0:(WMEAction:TIEEE80211ManagementAuth);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>1:(ChannelSwitch:TIEEE80211ManagementActionChannelSwitch);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>2:(ExtChannelSwitch:TIEEE80211ManagementActionExtChannelSwitch);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>3:(Measurement:TIEEE80211ManagementActionMeasurement);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>4:(AddBARequest:TIEEE80211ManagementActionAddBARequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>5:(AddBAResponse:TIEEE80211ManagementActionAddBAResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>6:(DelBA:TIEEE80211ManagementActionDelBA);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>7:(SelfProt:TIEEE80211ManagementActionSelfProt);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>8:(MeshAction:TIEEE80211ManagementActionMeshAction);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>9:(SAQuery:TIEEE80211ManagementActionSAQuery);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>10:(HTSMPS:TIEEE80211ManagementActionHTSMPS);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>11:(HTNotifyChannelWidth:TIEEE80211ManagementActionHTNotifyChannelWidth);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>12:(TDLSDiscoverResponse:TIEEE80211ManagementActionTDLSDiscoverResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>13:(VHTOpmodeNotify:TIEEE80211ManagementActionVHTOpmodeNotify);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>14:(TPCReport:TIEEE80211ManagementActionTPCReport);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Management = ^TIEEE80211Management;</code> | ||
+ | |||
+ | <code>TIEEE80211Management = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mgmt | ||
+ | Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Duration:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DestinationAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SourceAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>BSSID:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SequenceControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>case Integer of</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>0:(Auth:TIEEE80211ManagementAuth);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>1:(Deauth:TIEEE80211ManagementDeauth);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>2:(AssocRequest:TIEEE80211ManagementAssocRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>3:(AssocResponse:TIEEE80211ManagementAssocResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>4:(ReassocResponse:TIEEE80211ManagementAssocResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>5:(ReassocRequest:TIEEE80211ManagementReassocRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>6:(Disassoc:TIEEE80211ManagementDisassoc);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>7:(Beacon:TIEEE80211ManagementBeacon);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>8:(ProbeRequest:TIEEE80211ManagementProbeRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>9:(ProbeResponse:TIEEE80211ManagementProbeResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>10:(Action:TIEEE80211ManagementAction);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management MIC information element (IEEE 802.11w)''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ManagementMICIE = ^TIEEE80211ManagementMICIE;</code> | ||
+ | |||
+ | <code>TIEEE80211ManagementMICIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mmie | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>KeyID:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>SequenceNumber:array[0..5] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIC:array[0..7] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 management MIC information element (IEEE 802.11w) for GMAC and CMAC-256''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ManagementMIC16IE = ^TIEEE80211ManagementMIC16IE;</code> | ||
+ | |||
+ | <code>TIEEE80211ManagementMIC16IE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mmie_16 | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>KeyID:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>SequenceNumber:array[0..5] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MIC:array[0..15] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 vendor information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211VendorIE = ^TIEEE80211VendorIE;</code> | ||
+ | |||
+ | <code>TIEEE80211VendorIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_vendor_ie | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OUI:array[0..2] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OUIType:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 WMM AC parameters''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211WMMACParam = ^TIEEE80211WMMACParam;</code> | ||
+ | |||
+ | <code>TIEEE80211WMMACParam = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_wmm_ac_param | ||
+ | |- | ||
+ | | <code>ACI_AIFSN:Byte;</code> | ||
+ | | AIFSN, ACM, ACI | ||
+ | |- | ||
+ | | <code>CW:Byte;</code> | ||
+ | | ECWmin, ECWmax (CW = 2^ECW - 1) | ||
+ | |- | ||
+ | | <code>TXOpLimit:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 WMM parameters information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211WMMParamIE = ^TIEEE80211WMMParamIE;</code> | ||
+ | |||
+ | <code>TIEEE80211WMMParamIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_wmm_param_ie | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | Element ID: 221 (= $dd); | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | Length: 24 | ||
+ | |- | ||
+ | |colspan="2"|''Required fields for WMM version 1'' | ||
+ | |- | ||
+ | | <code>OUI:array[0..2] of Byte;</code> | ||
+ | | 00:50:f2 | ||
+ | |- | ||
+ | | <code>OUIType:Byte;</code> | ||
+ | | 2 | ||
+ | |- | ||
+ | | <code>OUISubType:Byte;</code> | ||
+ | | 1 | ||
+ | |- | ||
+ | | <code>Version:Byte;</code> | ||
+ | | 1 for WMM version 1.0 | ||
+ | |- | ||
+ | | <code>QoSInfo:Byte;</code> | ||
+ | | AP/STA specific QoS info | ||
+ | |- | ||
+ | | <code>Reserved:Byte;</code> | ||
+ | | 0 | ||
+ | |- | ||
+ | |colspan="2"|''AC_BE, AC_BK, AC_VI, AC_VO'' | ||
+ | |- | ||
+ | | <code>AC:array[0..3] of TIEEE80211WMMACParam;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 RTS''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211RTS = ^TIEEE80211RTS;</code> | ||
+ | |||
+ | <code>TIEEE80211RTS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Duration:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ReceiverAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TransmitterAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 CTS''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211CTS = ^TIEEE80211CTS;</code> | ||
+ | |||
+ | <code>TIEEE80211CTS = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Duration:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ReceiverAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 PS poll''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211PSPoll = ^TIEEE80211PSPoll;</code> | ||
+ | |||
+ | <code>TIEEE80211PSPoll = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Not Packed | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>AID:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>BSSID:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TransmitterAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 channel switch timing''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ChannelSwitchTiming = ^TIEEE80211ChannelSwitchTiming;</code> | ||
+ | |||
+ | <code>TIEEE80211ChannelSwitchTiming = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_ch_switch_timing | ||
+ | |- | ||
+ | | <code>SwitchTime:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>SwitchTimeout:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS link-id information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TDLSLinkIdentifierIE = ^TIEEE80211TDLSLinkIdentifierIE;</code> | ||
+ | |||
+ | <code>TIEEE80211TDLSLinkIdentifierIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_tdls_lnkie | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | Link Identifier IE | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>BSSID:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>InitiatingStation:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RespondingStation:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data setup request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataSetupRequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Capability:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data setup response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataSetupResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>StatusCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Capability:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data setup confirmation''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataSetupConfirm = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>StatusCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data teardown''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataTeardown = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>ReasonCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data discover request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataDiscoverRequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>DialogToken:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data channel switch request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataChannelSwitchRequest = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>TargetChannel:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>OperatingClass:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data channel switch response''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211TDLSDataChannelSwitchResponse = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>StatusCode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Variable:array[0..0] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TDLS data''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TDLSData = ^TIEEE80211TDLSData;</code> | ||
+ | |||
+ | <code>TIEEE80211TDLSData = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_tdls_data | ||
+ | |- | ||
+ | | <code>DestinationAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SourceAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>EtherType:Word;</code> | ||
+ | | BE16 (As per Ethernet Header) | ||
+ | |- | ||
+ | | <code>PayloadType:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Category:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ActionCode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>case Integer of</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>0:(SetupRequest:TIEEE80211TDLSDataSetupRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>1:(SetupResponse:TIEEE80211TDLSDataSetupResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>2:(SetupConfirm:TIEEE80211TDLSDataSetupConfirm);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>3:(Teardown:TIEEE80211TDLSDataTeardown);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>4:(DiscoverRequest:TIEEE80211TDLSDataDiscoverRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>5:(ChannelSwitchRequest:TIEEE80211TDLSDataChannelSwitchRequest);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>6:(ChannelSwitchResponse:TIEEE80211TDLSDataChannelSwitchResponse);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 P2P notice of absence description''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211P2PNOADescription = ^TIEEE80211P2PNOADescription;</code> | ||
+ | |||
+ | <code>TIEEE80211P2PNOADescription = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_p2p_noa_desc | ||
+ | |- | ||
+ | | <code>Count:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Duration:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>Interval:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>StartTime:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 P2P notice of absence attribute''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211P2PNOAAttribute = ^TIEEE80211P2PNOAAttribute;</code> | ||
+ | |||
+ | <code>TIEEE80211P2PNOAAttribute = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_p2p_noa_attr | ||
+ | |- | ||
+ | | <code>Index:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>OPPPS_CTWindow:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Description:array[0..IEEE80211_P2P_NOA_DESC_MAX - 1] of TIEEE80211P2PNOADescription;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 HT block acknowledgement request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Bar = ^TIEEE80211Bar;</code> | ||
+ | |||
+ | <code>TIEEE80211Bar = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: This structure refers to "HT BlockAckReq" as described in 802.11n draft section 7.2.1.7.1 | ||
+ | From Linux ieee80211.h ieee80211_bar | ||
+ | |- | ||
+ | | <code>FrameControl:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>Duration:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>ReceiverAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TransmitterAddress:THardwareAddress;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Control:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>StartSequenceNumber:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 HT MCS information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211MCSInfo = ^TIEEE80211MCSInfo;</code> | ||
+ | |||
+ | <code>TIEEE80211MCSInfo = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_mcs_info | ||
+ | |- | ||
+ | | <code>RXMask:array[0..IEEE80211_HT_MCS_MASK_LEN - 1] of Byte;</code> | ||
+ | | RX mask | ||
+ | |- | ||
+ | | <code>RXHighest:Word;</code> | ||
+ | | Highest supported RX rate (LE16). If set represents the highest supported RX data rate in units of 1 Mbps. If this field is 0 this value should not be used to consider the highest RX data rate supported. | ||
+ | |- | ||
+ | | <code>TXParams:Byte;</code> | ||
+ | | TX parameters | ||
+ | |- | ||
+ | | <code>Reserved:array[0..2] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 HT capabilities''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211HTCapabilities = ^TIEEE80211HTCapabilities;</code> | ||
+ | |||
+ | <code>TIEEE80211HTCapabilities = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: This structure is the "HT capabilities element" as described in 802.11n D5.0 7.3.2.57 | ||
+ | From Linux ieee80211.h ieee80211_ht_cap | ||
+ | |- | ||
+ | | <code>CapabilityInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>AMPDUParamsInfo:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MCS:TIEEE80211MCSInfo;</code> | ||
+ | | 16 bytes MCS information | ||
+ | |- | ||
+ | | <code>ExtendedHTCapInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>TXBFCapInfo:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>AntennaSelectionInfo:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 HT operation''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211HTOperation = ^TIEEE80211HTOperation;</code> | ||
+ | |||
+ | <code>TIEEE80211HTOperation = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_ht_operation | ||
+ | |- | ||
+ | | <code>PrimaryChannel:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HTParam:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OperationMode:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>STBCParam:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>BasicSet:array[0..15] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 VHT MCS information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211VHTMCSInfo = ^TIEEE80211VHTMCSInfo;</code> | ||
+ | |||
+ | <code>TIEEE80211VHTMCSInfo = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_vht_mcs_info | ||
+ | |- | ||
+ | | <code>RXMCSMap:Word;</code> | ||
+ | | LE16 RX MCS map 2 bits for each stream, total 8 streams | ||
+ | |- | ||
+ | | <code>RXHighest:Word;</code> | ||
+ | | LE16 Indicates highest long GI VHT PPDU data rate STA can receive. Rate expressed in units of 1 Mbps. If this field is 0 this value should not be used to consider the highest RX data rate supported. The top 3 bits of this field are reserved. | ||
+ | |- | ||
+ | | <code>TXMCSMap:Word;</code> | ||
+ | | LE16 TX MCS map 2 bits for each stream, total 8 streams | ||
+ | |- | ||
+ | | <code>TXHighest:Word;</code> | ||
+ | | LE16 Indicates highest long GI VHT PPDU data rate STA can transmit. Rate expressed in units of 1 Mbps. If this field is 0 this value should not be used to consider the highest TX data rate supported. The top 3 bits of this field are reserved. | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 VHT capabilities''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211VHTCapabilities = ^TIEEE80211VHTCapabilities;</code> | ||
+ | |||
+ | <code>TIEEE80211VHTCapabilities = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: This structure is the "VHT capabilities element" as described in 802.11ac D3.0 8.4.2.160 | ||
+ | From Linux ieee80211.h ieee80211_vht_cap | ||
+ | |- | ||
+ | | <code>VHTCapabilityInfo:LongWord;</code> | ||
+ | | LE32 VHT capability info | ||
+ | |- | ||
+ | | <code>SupportedMCS:TIEEE80211VHTMCSInfo;</code> | ||
+ | | VHT MCS supported rates | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 VHT operation''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211VHTOperation = ^TIEEE80211VHTOperation;</code> | ||
+ | |||
+ | <code>TIEEE80211VHTOperation = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: This structure is the "VHT operation element" as described in 802.11ac D3.0 8.4.2.161 | ||
+ | From Linux ieee80211.h ieee80211_vht_operation | ||
+ | |- | ||
+ | | <code>ChannelWidth:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CenterFreqSeg1Idx:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CenterFreqSeg2Idx:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>BasicMCSSet:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 country triplet information element channels''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211CountryTripletIEChannels = packed record </code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>FirstChannel:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>NumChannels:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MaxPower:ShortInt;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 country triplet information element extended''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TIEEE80211CountryTripletIEExt = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RegExtensionID:Byte;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>RegClass:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CoverageClass:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 country triplet information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211CountryTripletIE = ^TIEEE80211CountryTripletIE;</code> | ||
+ | |||
+ | <code>TIEEE80211CountryTripletIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Channels numbers in the IE must be monotonically increasing if dot11RegulatoryClassesRequired is not true. If dot11RegulatoryClassesRequired is true consecutive subband triplets following a regulatory triplet shall have monotonically increasing first_channel number fields. Channel numbers shall not overlap. Note that MaxPower is signed. | ||
+ | From Linux ieee80211.h ieee80211_country_ie_triplet | ||
+ | |- | ||
+ | | <code>case Integer of</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>0:(Channels:TIEEE80211CountryTripletIEChannels);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>1:(Ext:TIEEE80211CountryTripletIEExt);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 timeout interval information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TimeoutIntervalIE = ^TIEEE80211TimeoutIntervalIE;</code> | ||
+ | |||
+ | <code>TIEEE80211TimeoutIntervalIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_timeout_interval_ie | ||
+ | |- | ||
+ | | <code>IntervalType:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Value:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 Tspec information element''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TSpecIE = ^TIEEE80211TSpecIE;</code> | ||
+ | |||
+ | <code>TIEEE80211TSpecIE = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211.h ieee80211_tspec_ie | ||
+ | |- | ||
+ | | <code>ElementID:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Length:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OUI:array[0..2] of Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OUIType:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OUISubType:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Version:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TSInfo:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>TSInfoReserved:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>NominalMSDU:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>MaxMSDU:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>MinServiceInt:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>MaxServiceInt:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>InactivityInt:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>SuspensionInt:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>ServiceStartTime:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>MinDataRate:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>MeanDataRate:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>PeakDataRate:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>MaxBurstRize:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>DelayBound:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>MinPhyRate:LongWord;</code> | ||
+ | | LE32 | ||
+ | |- | ||
+ | | <code>SBA:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>MediumTime:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 channel''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Channel = ^TIEEE80211Channel;</code> | ||
+ | |||
+ | <code>TIEEE80211Channel = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: These structures are NOT defined by IEEE 802.11 but are internal to the implementation | ||
+ | From Linux cfg80211.h ieee80211_channel | ||
+ | |- | ||
+ | | <code>Band:LongWord;</code> | ||
+ | | IEEE80211_BAND_2GHZ etc | ||
+ | |- | ||
+ | | <code>CenterFrequency:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HardwareChannel:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | IEEE80211_CHAN_DISABLED etc | ||
+ | |- | ||
+ | | <code>MaxAntennaGain:LongInt;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MaxPower:LongInt;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MaxRegPower:LongInt;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>BeaconFound:LongBool;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 channels''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Channels = ^TIEEE80211Channels;</code> | ||
+ | |||
+ | <code>TIEEE80211Channels = array[0..0] of TIEEE80211Channel;</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 rate''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Rate = ^TIEEE80211Rate;</code> | ||
+ | |||
+ | <code>TIEEE80211Rate = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux cfg80211.h ieee80211_rate | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Rate-specific flags | ||
+ | |- | ||
+ | | <code>BitRate:Word;</code> | ||
+ | | Bitrate in units of 100 Kbps | ||
+ | |- | ||
+ | | <code>HardwareRate:Word;</code> | ||
+ | | Driver/hardware value for this rate | ||
+ | |- | ||
+ | | <code>HardwareRateShort:Word;</code> | ||
+ | | Driver/hardware value for this rate when short preamble is used | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 rates''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211Rates = ^TIEEE80211Rates;</code> | ||
+ | |||
+ | <code>TIEEE80211Rates = array[0..0] of TIEEE80211Rate;</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 channel definition''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211ChannelDefinition = ^TIEEE80211ChannelDefinition;</code> | ||
+ | |||
+ | <code>TIEEE80211ChannelDefinition = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Channel:PIEEE80211Channel;</code> | ||
+ | | Control channel | ||
+ | |- | ||
+ | | <code>Width:LongWord;</code> | ||
+ | | Channel width (See WIFI_CHAN_WIDTH_*) | ||
+ | |- | ||
+ | | <code>CenterFrequency1:LongWord;</code> | ||
+ | | Center frequency of first segment | ||
+ | |- | ||
+ | | <code>CenterFrequency2:LongWord;</code> | ||
+ | | Center frequency of second segment (only with 80+80 MHz) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 station HT capabilities''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211StationHTCap = ^TIEEE80211StationHTCap;</code> | ||
+ | |||
+ | <code>TIEEE80211StationHTCap = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux cfg80211.h ieee80211_sta_ht_cap | ||
+ | |- | ||
+ | | <code>Capabilities:LongWord;</code> | ||
+ | | HT capabilities map as described in 802.11n spec (eg IEEE80211_HT_CAP_*) | ||
+ | |- | ||
+ | | <code>HTSupported:LongBool;</code> | ||
+ | | True if HT supported by the STA | ||
+ | |- | ||
+ | | <code>AMPDUFactor:LongWord;</code> | ||
+ | | Maximum A-MPDU length factor | ||
+ | |- | ||
+ | | <code>AMPDUDensity:LongWord;</code> | ||
+ | | Minimum A-MPDU spacing | ||
+ | |- | ||
+ | | <code>MCS:TIEEE80211MCSInfo;</code> | ||
+ | | Supported MCS rates | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 station VHT capabilities''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211StationVHTCap = ^TIEEE80211StationVHTCap;</code> | ||
+ | |||
+ | <code>TIEEE80211StationVHTCap = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux cfg80211.h ieee80211_sta_vht_cap | ||
+ | |- | ||
+ | | <code>Capabilities:LongWord;</code> | ||
+ | | VHT capabilities map as described in 802.11ac spec (eg IEEE80211_VHT_CAP_*) | ||
+ | |- | ||
+ | | <code>VHTSupported:LongBool;</code> | ||
+ | | True if VHT supported by the STA | ||
+ | |- | ||
+ | | <code>VHTMCS:TIEEE80211VHTMCSInfo;</code> | ||
+ | | Supported VHT MCS rates | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 supported band''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211SupportedBand = ^TIEEE80211SupportedBand;</code> | ||
+ | |||
+ | <code>TIEEE80211SupportedBand = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux cfg80211.h ieee80211_supported_band | ||
+ | |- | ||
+ | | <code>Channels:PIEEE80211Channels;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Rates:PIEEE80211Rates;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ChannelCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RateCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HTCapabilities:TIEEE80211StationHTCap;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>VHTCapabilities:TIEEE80211StationVHTCap;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 BSS configuration''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211BSSConfiguration = ^TIEEE80211BSSConfiguration;</code> | ||
+ | |||
+ | <code>TIEEE80211BSSConfiguration = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux mac80211.h ieee80211_bss_conf | ||
+ | |- | ||
+ | | <code>BSSID:PByte;</code> | ||
+ | | The BSSID for this BSS | ||
+ | |- | ||
+ | |colspan="2"|''Association related'' | ||
+ | |- | ||
+ | | <code>Associated:LongBool;</code> | ||
+ | | Association status | ||
+ | |- | ||
+ | | <code>IBSSJoined:LongBool;</code> | ||
+ | | Indicates whether this station is part of an IBSS or not | ||
+ | |- | ||
+ | | <code>IBSSCreator:LongBool;</code> | ||
+ | | Indicates if a new IBSS network is being created | ||
+ | |- | ||
+ | | <code>AssociationID:Word;</code> | ||
+ | | Association Id number, valid only when Associated is true | ||
+ | |- | ||
+ | |colspan="2"|''ERP related'' | ||
+ | |- | ||
+ | | <code>UseCTSProtection:LongBool;</code> | ||
+ | | Use CTS protection | ||
+ | |- | ||
+ | | <code>UseShortPreamble:LongBool;</code> | ||
+ | | Use 802.11b short preamble (if the hardware cannot handle this it must set the IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE flag) | ||
+ | |- | ||
+ | | <code>UseShortSlot:LongBool;</code> | ||
+ | | Use short slot time (only relevant for ERP) (if the hardware cannot handle this it must set the IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE flag) | ||
+ | |- | ||
+ | | <code>EnableBeacon:LongBool;</code> | ||
+ | | Whether beaconing should be enabled or not | ||
+ | |- | ||
+ | | <code>DTIMPeriod:Byte;</code> | ||
+ | | No of beacons before the next DTIM, for beaconing, valid in station mode only if after the driver was notified with the BSS_CHANGED_BEACON_INFO flag, will be non-zero then. | ||
+ | |- | ||
+ | | <code>BeaconInterval:Word;</code> | ||
+ | | Beacon interval | ||
+ | |- | ||
+ | | <code>AssociationCapability:Word;</code> | ||
+ | | Capabilities taken from association response | ||
+ | |- | ||
+ | | <code>SyncTSF:Int64;</code> | ||
+ | | Last beacon's/probe response's TSF timestamp (could be old as it may have been received during scanning long ago) | ||
+ | |- | ||
+ | | <code>SyncDeviceTS:LongWord;</code> | ||
+ | | The device timestamp corresponding to the SyncTSF | ||
+ | |- | ||
+ | | <code>SyncDTIMCount:Byte;</code> | ||
+ | | Only valid when IEEE80211_HW_TIMING_BEACON_ONLY is requested | ||
+ | |- | ||
+ | | <code>BasicRates:LongWord;</code> | ||
+ | | Bitmap of basic rates, each bit stands for an index into the rate table configured by the driver in the current band | ||
+ | |- | ||
+ | | <code>BeaconRate:PIEEE80211Rate;</code> | ||
+ | | Associated AP's beacon TX rate | ||
+ | |- | ||
+ | | <code>MulticastRate:array[0..IEEE80211_NUM_BANDS - 1] of Integer;</code> | ||
+ | | Per-band multicast rate index + 1 (0: disabled) | ||
+ | |- | ||
+ | | <code>HTOperationMode:Word;</code> | ||
+ | | HT operation mode like in TIEEE80211HTOperation | ||
+ | |- | ||
+ | | <code>CQMRSSIThreshold:LongInt;</code> | ||
+ | | Connection quality monitor RSSI threshold, a zero value implies disabled. | ||
+ | |- | ||
+ | | <code>CQMRSSIHysteresis:LongWord;</code> | ||
+ | | Connection quality monitor RSSI hysteresis | ||
+ | |- | ||
+ | | <code>ChannelDefinition:TIEEE80211ChannelDefinition;</code> | ||
+ | | Channel definition for this BSS (the hardware might be configured a higher bandwidth than this BSS uses) | ||
+ | |- | ||
+ | | <code>QoS:LongBool;</code> | ||
+ | | This is a QoS-enabled BSS | ||
+ | |- | ||
+ | | <code>Idle:LongBool;</code> | ||
+ | | This interface is idle. There's also a global idle flag in the hardware config which may be more appropriate depending on what your driver/device needs to do. | ||
+ | |- | ||
+ | | <code>Powersave:LongBool;</code> | ||
+ | | Power-save mode (STA only). This flag is NOT affected by offchannel/dynamic_ps operations. | ||
+ | |- | ||
+ | | <code>SSID:array[0..IEEE80211_MAX_SSID_LEN - 1] of Byte;</code> | ||
+ | | The SSID of the current interface. Valid in AP and IBSS mode. | ||
+ | |- | ||
+ | | <code>SSIDLength:LongWord;</code> | ||
+ | | Length of SSID given in SSID | ||
+ | |- | ||
+ | | <code>HiddenSSID:LongBool;</code> | ||
+ | | The SSID of the current interface is hidden. Only valid in AP-mode. | ||
+ | |- | ||
+ | | <code>TXPower:LongInt;</code> | ||
+ | | TX power in dBm | ||
+ | |- | ||
+ | | <code>TXPowerType:LongWord;</code> | ||
+ | | TX power adjustment used to control per packet Transmit Power Control (TPC) in driver for the current interface (WIFI_TX_POWER_*) | ||
+ | |- | ||
+ | | <code>P2PNOAAttribute:TIEEE80211P2PNOAAttribute;</code> | ||
+ | | P2P NoA attribute for P2P powersave | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 RX status''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211RXStatus = ^TIEEE80211RXStatus;</code> | ||
+ | |||
+ | <code>TIEEE80211RXStatus = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux mac80211.h ieee80211_rx_status | ||
+ | |- | ||
+ | | <code>MACTime:Int64;</code> | ||
+ | | Value in microseconds of the 64-bit Time Synchronization Function (TSF) timer when the first data symbol (MPDU) arrived at the hardware | ||
+ | |- | ||
+ | | <code>DeviceTimestamp:LongWord;</code> | ||
+ | | Arbitrary timestamp for the device | ||
+ | |- | ||
+ | | <code>AMPDUReference:LongWord;</code> | ||
+ | | A-MPDU reference number, must be a different value for each A-MPDU but the same for each subframe within one A-MPDU. | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | WIFI_RX_FLAG_* | ||
+ | |- | ||
+ | | <code>Frequency:Word;</code> | ||
+ | | Frequency the radio was tuned to when receiving this frame, in MHz. | ||
+ | |- | ||
+ | | <code>VHTFlags:Byte;</code> | ||
+ | | WIFI_RX_VHT_FLAG_* | ||
+ | |- | ||
+ | | <code>RateIndex:Byte;</code> | ||
+ | | Index of data rate into band's supported rates or MCS index if HT or VHT is used (WIFI_RX_FLAG_HT/WIFI_RX_FLAG_VHT) | ||
+ | |- | ||
+ | | <code>VHTNSS:Byte;</code> | ||
+ | | Number of streams (VHT only) | ||
+ | |- | ||
+ | | <code>RXFlags:Byte;</code> | ||
+ | | Internal RX flags (IEEE80211_RX_*) | ||
+ | |- | ||
+ | | <code>Band:Byte;</code> | ||
+ | | The active band when this frame was received | ||
+ | |- | ||
+ | | <code>Antenna:Byte;</code> | ||
+ | | Antenna used | ||
+ | |- | ||
+ | | <code>Signal:Byte;</code> | ||
+ | | Signal strength when receiving this frame, either in dBm, in dB or unspecified depending on the hardware capabilities flags IEEE80211_HW_SIGNAL_* | ||
+ | |- | ||
+ | | <code>Chains:Byte;</code> | ||
+ | | Bitmask of receive chains for which separate signal strength values were filled | ||
+ | |- | ||
+ | | <code>ChainSignal:array[0..IEEE80211_MAX_CHAINS - 1] of Byte;</code> | ||
+ | | Per-chain signal strength, in dBm (unlike Signal, doesn't support dB or unspecified units). | ||
+ | |- | ||
+ | | <code>AMPDUDelimiterCRC:Byte;</code> | ||
+ | | A-MPDU delimiter CRC | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 TX information''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211TXInfo = ^TIEEE80211TXInfo;</code> | ||
+ | |||
+ | <code>TIEEE80211TXInfo = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux mac80211.h ieee80211_tx_info | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''IEEE 802.11 information elements''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PIEEE80211InformationElements = ^TIEEE80211InformationElements;</code> | ||
+ | |||
+ | <code>TIEEE80211InformationElements = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: From Linux ieee80211_i.h ieee802_11_elems | ||
+ | |- | ||
+ | | <code>Address:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Information Elements'' | ||
+ | |- | ||
+ | | <code>LinkIdentifier:PIEEE80211TDLSLinkIdentifierIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ChannelSwitchTiming:PIEEE80211ChannelSwitchTiming;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ExtendedCapabilities:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SSID:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SupportedRates:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DSParameters:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TrafficIndicationMap:PIEEE80211TrafficIndicationMapIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ChallengeText:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RSN:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ERPInfo:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ExtendedSupportedRates:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WMMInfo:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WMMParam:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HTCapabilities:PIEEE80211HTCapabilities;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HTOperation:PIEEE80211HTOperation;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>VHTCapabilities:PIEEE80211VHTCapabilities;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>VHTOperation:PIEEE80211VHTOperation;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshConfiguration:PIEEE80211MeshConfigurationIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshID:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PeerManagement:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshAwakeWindow:Word;</code> | ||
+ | | LE16 | ||
+ | |- | ||
+ | | <code>PREQ:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PREP:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PERR:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RootAnnouncement:PIEEE80211RootAnnouncementIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ChannelSwitch:PIEEE80211ChannelSwitchIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ExtChannelSwitch:PIEEE80211ExtChannelSwitchIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WidebandChannelSwitch:PIEEE80211WidebandChannelSwitchIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Country:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PowerConstraint:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CiscoDTPC:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TimeoutInterval:PIEEE80211TimeoutIntervalIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>OpmodeNotification:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SecondaryChannelOffset:PIEEE80211SecondaryChannelOffsetIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshChannelSwitchParams:PIEEE80211MeshChannelSwitchParamsIE;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Lengths of Elements'' | ||
+ | |- | ||
+ | | <code>ExtendedCapabilitiesLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SSIDLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SupportedRatesLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>TrafficIndicationMapLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ChallengeTextLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RSNLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ExtendedSupportedRatesLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WMMInfoLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WMMParamLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>MeshIDLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PeerManagementLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PREQLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PREPLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PERRLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CountryLength:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''WiFi device event''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWiFiDeviceEvent = ^TWiFiDeviceEvent;</code> | ||
+ | |||
+ | <code>TWiFiDeviceEvent = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Timer:TTimerHandle;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Device:PNetworkDevice;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''WiFi hardware''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWiFiHardware = ^TWiFiHardware;</code> | ||
+ | |||
+ | <code>TWiFiHardware = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Hardware flags (See IEEE80211_HW_*) | ||
+ | |- | ||
+ | | <code>ExtraTXHeadroom:LongWord;</code> | ||
+ | | Headroom to reserve in each transmit buffer for use by the driver (e.g. for transmit headers) | ||
+ | |- | ||
+ | | <code>ExtraBeaconTailroom:LongWord;</code> | ||
+ | | Tailroom to reserve in each beacon tx buffer. Can be used by drivers to add extra IE. | ||
+ | |- | ||
+ | | <code>MaxListenInterval:LongWord;</code> | ||
+ | | Max listen interval in units of beacon interval that HW supports | ||
+ | |- | ||
+ | | <code>MaxSignal:LongInt;</code> | ||
+ | | Maximum value for signal (RSSI) in RX information | ||
+ | |- | ||
+ | | <code>MaxRates:LongWord;</code> | ||
+ | | Maximum number of alternate rate retry stages the hw can handle | ||
+ | |- | ||
+ | | <code>MaxReportRates:LongWord;</code> | ||
+ | | Maximum number of alternate rate retry stages the hw can report back | ||
+ | |- | ||
+ | | <code>MaxRateTries:LongWord;</code> | ||
+ | | Maximum number of tries for each stage | ||
+ | |- | ||
+ | | <code>MaxRXAggregationSubframes:LongWord;</code> | ||
+ | | Maximum buffer size (number of sub-frames) to be used for A-MPDU block ack receiver aggregation | ||
+ | |- | ||
+ | | <code>MaxTXAggregationSubframes:LongWord;</code> | ||
+ | | Maximum number of subframes in an aggregate an HT driver will transmit, used by the peer as a hint to size its reorder buffer. | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''WiFi configuration''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWiFiConfiguration = ^TWiFiConfiguration;</code> | ||
+ | |||
+ | <code>TWiFiConfiguration = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Configuration flags (See IEEE80211_CONF_*) | ||
+ | |- | ||
+ | | <code>PowerLevel:LongInt;</code> | ||
+ | | Requested transmit power (in dBm), backward compatibility value only that is set to the minimum of all interfaces. | ||
+ | |- | ||
+ | | <code>ListenInterval:LongWord;</code> | ||
+ | | Listen interval in units of beacon interval | ||
+ | |- | ||
+ | | <code>LongFrameMaxTXCount:LongWord;</code> | ||
+ | | Maximum number of transmissions for a "long" frame (a frame not RTS protected), called "dot11LongRetryLimit" in 802.11, but actually means the number of transmissions not the number of retries. | ||
+ | |- | ||
+ | | <code>ShortFrameMaxTXCount:LongWord;</code> | ||
+ | | Maximum number of transmissions for a "short" frame, called "dot11ShortRetryLimit" in 802.11, but actually means the number of transmissions not the number of retries. | ||
+ | |- | ||
+ | | <code>RadarEnabled:LongBool;</code> | ||
+ | | Whether radar detection is enabled | ||
+ | |- | ||
+ | | <code>SMPSMode:LongWord;</code> | ||
+ | | Spatial multiplexing powersave mode. Note that IEEE80211_SMPS_STATIC is used when the device is not configured for an HT channel. | ||
+ | |- | ||
+ | | <code>ChannelDefinition:TIEEE80211ChannelDefinition;</code> | ||
+ | | The channel definition to tune to | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''WiFi interface''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWiFiInterface = ^TWiFiInterface;</code> | ||
+ | |||
+ | <code>TWiFiInterface = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>InterfaceType:LongWord;</code> | ||
+ | | Type of this virtual interface (WIFI_IFTYPE_*) | ||
+ | |- | ||
+ | | <code>Address:THardwareAddress;</code> | ||
+ | | Address of this interface | ||
+ | |- | ||
+ | | <code>BSSConfiguration:TIEEE80211BSSConfiguration;</code> | ||
+ | | BSS configuration for this interface, either our own or the BSS we're associated to. | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>DriverFlags:LongWord;</code> | ||
+ | | Interface specific flags (IEEE80211_VIF_*) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''WiFi device configure''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TWiFiDeviceConfigure = function(WiFi:PWiFiDevice; Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''WiFi device configure filter''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TWiFiDeviceConfigureFilter = function(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''WiFi device configuration interface''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TWiFiDeviceConfigureInterface = function(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''WiFi device''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWiFiDevice = ^TWiFiDevice;</code> | ||
+ | |||
+ | <code>TWiFiDevice = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Network Properties'' | ||
+ | |- | ||
+ | | <code>Network:TNetworkDevice;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''WiFi Properties'' | ||
+ | |- | ||
+ | | <code>WiFiFlags:LongWord;</code> | ||
+ | | Flags for this WiFi device (eg WIFI_FLAG_*) | ||
+ | |- | ||
+ | | <code>WiFiState:LongWord;</code> | ||
+ | | State of this WiFi device (eg WIFI_STATE_*) | ||
+ | |- | ||
+ | | <code>WiFiStatus:LongWord;</code> | ||
+ | | Status of this WiFi device (eg WIFI_STATUS_*) | ||
+ | |- | ||
+ | | <code>WiFiFeatures:LongWord;</code> | ||
+ | | Features of this WiFi device (eg WIFI_FEATURE_*) | ||
+ | |- | ||
+ | | <code>DeviceConfigure:TWiFiDeviceConfigure;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DeviceConfigureFilter:TWiFiDeviceConfigureFilter;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DeviceConfigureInterface:TWiFiDeviceConfigureInterface;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>PermanentAddress:THardwareAddress;</code> | ||
+ | | The permanent MAC address of this device | ||
+ | |- | ||
+ | | <code>AddressMask:THardwareAddress;</code> | ||
+ | | If the device supports multiple MAC addresses by masking, set this to a mask with variable bits set to 1, e.g. if the last four bits are variable then set it to 00-00-00-00-00-0f | ||
+ | |- | ||
+ | | <code>Addresses:PHardwareAddresses;</code> | ||
+ | | If the device has more than one address, set this to a list of addresses (6 bytes each). The first one will be used by default for PermanentAddress. In this case, the mask should be set to all zeroes. | ||
+ | |- | ||
+ | | <code>AddressCount:LongWord;</code> | ||
+ | | The number of addresses in Addresses array | ||
+ | |- | ||
+ | | <code>InterfaceModes:LongWord;</code> | ||
+ | | Bitmask of interfaces types valid for this wifi, must be set by driver (eg 1 shl WIFI_IFTYPE_*) | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>SignalType:LongWord;</code> | ||
+ | | Signal type reported in bss | ||
+ | |- | ||
+ | | <code>RetryShort:LongWord;</code> | ||
+ | | Retry limit for short frames (dot11ShortRetryLimit) | ||
+ | |- | ||
+ | | <code>RetryLong:LongWord;</code> | ||
+ | | Retry limit for long frames (dot11LongRetryLimit) | ||
+ | |- | ||
+ | | <code>FragThreshold:LongWord;</code> | ||
+ | | Fragmentation threshold (dot11FragmentationThreshold); -1 = fragmentation disabled, only odd values >= 256 used | ||
+ | |- | ||
+ | | <code>RTSThreshold:LongWord;</code> | ||
+ | | RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled | ||
+ | |- | ||
+ | | <code>CoverageClass:LongWord;</code> | ||
+ | | Current coverage class | ||
+ | |- | ||
+ | | <code>MaxCSACounters:Byte;</code> | ||
+ | | Number of supported csa_counters in beacons and probe responses | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>MaxScanSSIDs:Byte;</code> | ||
+ | | Maximum number of SSIDs the device can scan for in any given scan | ||
+ | |- | ||
+ | | <code>MaxScanIELength:Word;</code> | ||
+ | | Maximum length of user-controlled IEs device can add to probe request frames transmitted during a scan, must not include fixed IEs like supported rates. | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>MaxRemainOnChannelDuration:Word;</code> | ||
+ | | Maximum time a remain-on-channel operation may request, if implemented. | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>CipherSuites:PLongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CipherSuiteCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>Bands:array[0..IEEE80211_NUM_BANDS - 1] of PIEEE80211SupportedBand;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>RXChains:LongWord;</code> | ||
+ | | Number of RX chains the hardware has | ||
+ | |- | ||
+ | | <code>TXHeadroom:LongWord;</code> | ||
+ | | Required headroom for hardware | ||
+ | |- | ||
+ | | <code>ScanIELength:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>Hardware:TWiFiHardware;</code> | ||
+ | | Hardware information and state | ||
+ | |- | ||
+ | | <code>Configuration:TWiFiConfiguration;</code> | ||
+ | | Configuration of the device | ||
+ | |- | ||
+ | | <code>Interrface:TWiFiInterface;</code> | ||
+ | | Interface of the device | ||
+ | |- | ||
+ | |colspan="2"|''Driver Properties'' | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === |
Revision as of 04:18, 27 June 2017
Return to Unit Reference
Contents
[hide]Description
Ultibo WiFi (IEEE 802.11 / WPA) interface unit
To be documented
Constants
IEEE80211_*
IEEE80211_STYPE_ASSOC_*
IEEE80211_STYPE_CTL_*
IEEE80211_STYPE_DATA*
IEEE80211_STYPE_DMG_*
IEEE80211_CTL_EXT_*
IEEE80211_MAX_*, IEEE80211_NUM_*
IEEE80211_QOS_CTL_LEN*
IEEE80211_QOS_CTL_*_MASK*
IEEE80211_WMM_IE_AP_*
IEEE80211_WMM_IE_STA_*
IEEE80211_WMM_IE_STA_*_SP_*
IEEE80211_HT_CTL_LEN*
IEEE80211_MESH_FLAGS_*
IEEE80211_PREQ_PROACTIVE_*_FLAG*
IEEE80211_PREQ_*_FLAG*
IEEE80211_MESHCONF_CAPAB_*
WLAN_EID_CHAN_SWITCH_PARAM_*
IEEE80211_RANN_FLAG_*
IEEE80211_HT_CHANWIDTH_*
IEEE80211_OPMODE_*
WLAN_SA_QUERY_*_*_LEN*
IEEE80211_BSS_*
IEEE80211_P2P_*
IEEE80211_BAR_CTRL_*
IEEE80211_HT_MCS_*_LEN*
IEEE80211_HT_MCS_*
IEEE80211_HT_CAP_*
IEEE80211_HT_EXT_CAP_*
IEEE80211_HT_AMPDU_PARM_*
IEEE80211_HT_MAX_AMPDU_*
IEEE80211_VHT_MAX_AMPDU_*
IEEE80211_HT_MPDU_DENSITY_*
IEEE80211_HT_PARAM_*
IEEE80211_HT_OP_MODE_*
IEEE80211_HT_STBC_PARAM_*
IEEE80211_*_PARAM_*
IEEE80211_*_AMPDU_BUF*
WLAN_HT_CAP_SM_PS_*
WLAN_HT_SMPS_CONTROL_*
IEEE80211_VHT_MCS_SUPPORT_*
IEEE80211_VHT_CHANWIDTH_*
IEEE80211_VHT_CAP_*
WLAN_AUTH_*
WLAN_CAPABILITY_*
IEEE80211_SPCT_MSR_*
WLAN_ERP_*
WLAN_ERP_PREAMBLE_*
IEEE80211_BANDID_*
WLAN_STATUS_*
WLAN_REASON_*
WLAN_EID_*
WLAN_CATEGORY_*
WLAN_ACTION_SPCT_*
WLAN_HT_ACTION_*
WLAN_VHT_ACTION_*
WLAN_SP_*
WLAN_MESH_ACTION_*
WLAN_KEY_LEN_*
IEEE80211_*_LEN
WLAN_PUB_ACTION_*
WLAN_TDLS_*
WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING*
WLAN_EXT_CAPA4_TDLS_*
WLAN_EXT_CAPA4_INTERWORKING_*
WLAN_EXT_CAPA5_TDLS_*
WLAN_EXT_CAPA8_TDLS_*
WLAN_TDLS_*_RFTYPE*
WLAN_*_COEX_INFORMATION_*
IEEE80211_SYNC_METHOD_*
IEEE80211_PATH_PROTOCOL_*
IEEE80211_PATH_METRIC_*
IEEE80211_ROOTMODE_*
IEEE80211_COUNTRY_*
WLAN_TIMEOUT_*
WLAN_ACTION_*
WLAN_BACK_*
WLAN_ACTION_SA_QUERY_*
WLAN_CIPHER_SUITE_*
WLAN_AKM_SUITE_*
WLAN_*_KEY_LEN*
WLAN_OUI_WFA*
IEEE80211_WMM_IE_TSPEC_TID_*
IEEE80211_TSPEC_STATUS_*
IEEE80211_BAND_*
IEEE80211_CHAN_*
IEEE80211_DFS_MIN_*_TIME_MS*
IEEE80211_RATE_*
IEEE80211_BSS_TYPE_*
IEEE80211_PRIVACY_*
IEEE80211_FIF_*
IEEE80211_HW_*
IEEE80211_CONF_*
IEEE80211_CONF_CHANGE_*
IEEE80211_TX_STATUS_HEADROOM_*
IEEE80211_MAX_CSA_COUNTERS_*
WIFI_*
WIFI_STATE_*
WIFI_STATUS_*
WIFI_FLAG_*
WIFI_FEATURE_*
WIFI_LED_*
WIFI_IFTYPE_*
WIFI_CHAN_*
WIFI_CHAN_WIDTH_*
WIFI_SIGNAL_TYPE_*
WIFI_TX_POWER_*
WIFI_RX_FLAG_*
WIFI_RX_VHT_FLAG_*
Type definitions
IEEE 802.11 header
IEEE 802.11 header 3 address
IEEE 802.11 QOS header
IEEE 802.11 S header
IEEE 802.11 quiet information element
IEEE 802.11 measurement request/report information element
PIEEE80211MeasurementIE = ^TIEEE80211MeasurementIE;
TIEEE80211MeasurementIE = packed record
IEEE 802.11 channel switch announcement information element
PIEEE80211ChannelSwitchIE = ^TIEEE80211ChannelSwitchIE;
TIEEE80211ChannelSwitchIE = packed record
IEEE 802.11 extended channel switch announcement information element
PIEEE80211ExtChannelSwitchIE = ^TIEEE80211ExtChannelSwitchIE;
TIEEE80211ExtChannelSwitchIE = packed record
IEEE 802.11 secondary channel offset information element
PIEEE80211SecondaryChannelOffsetIE = ^TIEEE80211SecondaryChannelOffsetIE;
TIEEE80211SecondaryChannelOffsetIE = packed record
IEEE 802.11 mesh channel switch parameters information element
PIEEE80211MeshChannelSwitchParamsIE = ^TIEEE80211MeshChannelSwitchParamsIE;
TIEEE80211MeshChannelSwitchParamsIE = packed record
IEEE 802.11 wide bandwidth channel switch information element
PIEEE80211WidebandChannelSwitchIE = ^TIEEE80211WidebandChannelSwitchIE;
TIEEE80211WidebandChannelSwitchIE = packed record
IEEE 802.11 traffic indication map information element
PIEEE80211TrafficIndicationMapIE = ^TIEEE80211TrafficIndicationMapIE;
TIEEE80211TrafficIndicationMapIE = packed record
IEEE 802.11 mesh configuration information element
PIEEE80211MeshConfigurationIE = ^TIEEE80211MeshConfigurationIE;
TIEEE80211MeshConfigurationIE = packed record
IEEE 802.11 root announcement information element
PIEEE80211RootAnnouncementIE = ^TIEEE80211RootAnnouncementIE;
TIEEE80211RootAnnouncementIE = packed record
IEEE 802.11 TPC report information element
IEEE 802.11 management authority
TIEEE80211ManagementAuth = packed record
IEEE 802.11 management deauthority
TIEEE80211ManagementDeauth = packed record
IEEE 802.11 management association request
TIEEE80211ManagementAssocRequest = packed record
IEEE 802.11 management association response
TIEEE80211ManagementAssocResponse = packed record
IEEE 802.11 management reassociation request
TIEEE80211ManagementReassocRequest = packed record
IEEE 802.11 management disassociation
TIEEE80211ManagementDisassoc = packed record
IEEE 802.11 management beacon
TIEEE80211ManagementBeacon = packed record
IEEE 802.11 management probe request
TIEEE80211ManagementProbeRequest = packed record
IEEE 802.11 management probe response
TIEEE80211ManagementProbeResponse = packed record
IEEE 802.11 management action WME action
TIEEE80211ManagementActionWMEAction = packed record
IEEE 802.11 management action channel switch
TIEEE80211ManagementActionChannelSwitch = packed record
IEEE 802.11 management action extended channel switch
TIEEE80211ManagementActionExtChannelSwitch = packed record
IEEE 802.11 management action measurement
TIEEE80211ManagementActionMeasurement = packed record
IEEE 802.11 management action add BA request
TIEEE80211ManagementActionAddBARequest = packed record
IEEE 802.11 management action add BA response
TIEEE80211ManagementActionAddBAResponse = packed record
IEEE 802.11 management action delete BA
TIEEE80211ManagementActionDelBA = packed record
IEEE 802.11 management action self protection
TIEEE80211ManagementActionSelfProt = packed record
IEEE 802.11 management action mesh action
TIEEE80211ManagementActionMeshAction = packed record
IEEE 802.11 management action SA query
TIEEE80211ManagementActionSAQuery = packed record
IEEE 802.11 management action HTSMPS
TIEEE80211ManagementActionHTSMPS = packed record
IEEE 802.11 management action HT notify channel width
TIEEE80211ManagementActionHTNotifyChannelWidth = packed record
IEEE 802.11 management action TDLS discover response
TIEEE80211ManagementActionTDLSDiscoverResponse = packed record
IEEE 802.11 management action VHT opmode notify
TIEEE80211ManagementActionVHTOpmodeNotify = packed record
IEEE 802.11 management action TPC report
TIEEE80211ManagementActionTPCReport = packed record
IEEE 802.11 management action
TIEEE80211ManagementAction = packed record
IEEE 802.11 management
IEEE 802.11 management MIC information element (IEEE 802.11w)
PIEEE80211ManagementMICIE = ^TIEEE80211ManagementMICIE;
TIEEE80211ManagementMICIE = packed record
IEEE 802.11 management MIC information element (IEEE 802.11w) for GMAC and CMAC-256
PIEEE80211ManagementMIC16IE = ^TIEEE80211ManagementMIC16IE;
TIEEE80211ManagementMIC16IE = packed record
IEEE 802.11 vendor information element
IEEE 802.11 WMM AC parameters
IEEE 802.11 WMM parameters information element
IEEE 802.11 RTS
IEEE 802.11 CTS
IEEE 802.11 PS poll
IEEE 802.11 channel switch timing
PIEEE80211ChannelSwitchTiming = ^TIEEE80211ChannelSwitchTiming;
TIEEE80211ChannelSwitchTiming = packed record
IEEE 802.11 TDLS link-id information element
PIEEE80211TDLSLinkIdentifierIE = ^TIEEE80211TDLSLinkIdentifierIE;
TIEEE80211TDLSLinkIdentifierIE = packed record
IEEE 802.11 TDLS data setup request
TIEEE80211TDLSDataSetupRequest = packed record
IEEE 802.11 TDLS data setup response
TIEEE80211TDLSDataSetupResponse = packed record
IEEE 802.11 TDLS data setup confirmation
TIEEE80211TDLSDataSetupConfirm = packed record
IEEE 802.11 TDLS data teardown
TIEEE80211TDLSDataTeardown = packed record
IEEE 802.11 TDLS data discover request
TIEEE80211TDLSDataDiscoverRequest = packed record
IEEE 802.11 TDLS data channel switch request
TIEEE80211TDLSDataChannelSwitchRequest = packed record
IEEE 802.11 TDLS data channel switch response
TIEEE80211TDLSDataChannelSwitchResponse = packed record
IEEE 802.11 TDLS data
IEEE 802.11 P2P notice of absence description
PIEEE80211P2PNOADescription = ^TIEEE80211P2PNOADescription;
TIEEE80211P2PNOADescription = packed record
IEEE 802.11 P2P notice of absence attribute
PIEEE80211P2PNOAAttribute = ^TIEEE80211P2PNOAAttribute;
TIEEE80211P2PNOAAttribute = packed record
IEEE 802.11 HT block acknowledgement request
IEEE 802.11 HT MCS information
IEEE 802.11 HT capabilities
PIEEE80211HTCapabilities = ^TIEEE80211HTCapabilities;
TIEEE80211HTCapabilities = packed record
IEEE 802.11 HT operation
IEEE 802.11 VHT MCS information
IEEE 802.11 VHT capabilities
PIEEE80211VHTCapabilities = ^TIEEE80211VHTCapabilities;
TIEEE80211VHTCapabilities = packed record
IEEE 802.11 VHT operation
IEEE 802.11 country triplet information element channels
TIEEE80211CountryTripletIEChannels = packed record
IEEE 802.11 country triplet information element extended
TIEEE80211CountryTripletIEExt = packed record
IEEE 802.11 country triplet information element
PIEEE80211CountryTripletIE = ^TIEEE80211CountryTripletIE;
TIEEE80211CountryTripletIE = packed record
IEEE 802.11 timeout interval information element
PIEEE80211TimeoutIntervalIE = ^TIEEE80211TimeoutIntervalIE;
TIEEE80211TimeoutIntervalIE = packed record
IEEE 802.11 Tspec information element
IEEE 802.11 channel
IEEE 802.11 channels
PIEEE80211Channels = ^TIEEE80211Channels;
TIEEE80211Channels = array[0..0] of TIEEE80211Channel;
IEEE 802.11 rate
IEEE 802.11 rates
IEEE 802.11 channel definition
PIEEE80211ChannelDefinition = ^TIEEE80211ChannelDefinition;
TIEEE80211ChannelDefinition = record
IEEE 802.11 station HT capabilities
IEEE 802.11 station VHT capabilities
IEEE 802.11 supported band
IEEE 802.11 BSS configuration
PIEEE80211BSSConfiguration = ^TIEEE80211BSSConfiguration;
TIEEE80211BSSConfiguration = record
IEEE 802.11 RX status
IEEE 802.11 TX information
IEEE 802.11 information elements
PIEEE80211InformationElements = ^TIEEE80211InformationElements;
TIEEE80211InformationElements = record
WiFi device event
WiFi hardware
WiFi configuration
WiFi interface
WiFi device configure
TWiFiDeviceConfigure = function(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
|
WiFi device configure filter
TWiFiDeviceConfigureFilter = function(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
|
WiFi device configuration interface
TWiFiDeviceConfigureInterface = function(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
|
WiFi device
Public variables
To be documented
Function declarations
To be documented
Return to Unit Reference