Difference between revisions of "Unit WiFi"
(9 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '''Ultibo WiFi (IEEE 802.11 / WPA) | + | '''Ultibo WiFi (IEEE 802.11 / WPA) Interface unit''' |
− | + | ||
− | + | ||
=== Constants === | === Constants === | ||
---- | ---- | ||
− | '' | + | |
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 specific constants''' <code> IEEE80211_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux ieee80211.h | ||
+ | |- | ||
+ | | <code>IEEE80211_FCS_LEN = 4;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_VERS = $0003;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_FTYPE = $000c;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_STYPE = $00f0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_TODS = $0100;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_FROMDS = $0200;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_MOREFRAGS = $0400;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_RETRY = $0800;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_PM = $1000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_MOREDATA = $2000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_PROTECTED = $4000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_ORDER = $8000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FCTL_CTL_EXT = $0f00;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_SCTL_FRAG = $000F;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_SCTL_SEQ = $FFF0;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_FTYPE_MGMT = $0000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FTYPE_CTL = $0004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FTYPE_DATA = $0008;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_FTYPE_EXT = $000c;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 management''' <code> IEEE80211_STYPE_ASSOC_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_ASSOC_REQ = $0000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_ASSOC_RESP = $0010;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_REASSOC_REQ = $0020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_REASSOC_RESP = $0030;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_PROBE_REQ = $0040;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_PROBE_RESP = $0050;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_BEACON = $0080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_ATIM = $0090;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DISASSOC = $00A0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_AUTH = $00B0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DEAUTH = $00C0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_ACTION = $00D0;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 control''' <code> IEEE80211_STYPE_CTL_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CTL_EXT = $0060;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_BACK_REQ = $0080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_BACK = $0090;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_PSPOLL = $00A0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_RTS = $00B0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CTS = $00C0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_ACK = $00D0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CFEND = $00E0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CFENDACK = $00F0;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 data''' <code> IEEE80211_STYPE_DATA* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DATA = $0000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DATA_CFACK = $0010;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DATA_CFPOLL = $0020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DATA_CFACKPOLL = $0030;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_NULLFUNC = $0040;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CFACK = $0050;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CFPOLL = $0060;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_CFACKPOLL = $0070;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_DATA = $0080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_DATA_CFACK = $0090;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_DATA_CFPOLL = $00A0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_DATA_CFACKPOLL = $00B0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_NULLFUNC = $00C0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_CFACK = $00D0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_CFPOLL = $00E0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_QOS_CFACKPOLL = $00F0;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 extension''' <code> IEEE80211_STYPE_DMG_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Extension added by 802.11ad | ||
+ | |- | ||
+ | | <code>IEEE80211_STYPE_DMG_BEACON = $0000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 control extension''' <code> IEEE80211_CTL_EXT_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Control extension - for IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTL_EXT | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_POLL = $2000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_SPR = $3000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_GRANT = $4000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_DMG_CTS = $5000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_DMG_DTS = $6000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_SSW = $8000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_SSW_FBACK = $9000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CTL_EXT_SSW_ACK = $a000;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 miscellaneous constants''' <code> IEEE80211_MAX_*, IEEE80211_NUM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_FRAG_THRESHOLD = 2352;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_RTS_THRESHOLD = 2353;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_AID = 2007;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_TIM_LEN = 251;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_MESH_PEERINGS = 63;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|Maximum size for the MA-UNITDATA primitive, 802.11 standard section 6.2.1.1.2. | ||
+ | 802.11e clarifies the figure in section 7.1.2. The frame body is up to 2304 octets long (maximum MSDU size) plus any crypt overhead. | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_DATA_LEN = 2304;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|802.11ad extends maximum MSDU size for DMG (freq > 40Ghz) networks to 7920 bytes, see 8.2.3 General frame format. | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_DATA_LEN_DMG = 7920;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |colspan="2"|30 byte 4 addr hdr, 2 byte QoS, 2304 byte MSDU, 12 byte crypt, 4 byte FCS | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_FRAME_LEN = 2352;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_SSID_LEN = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_MESH_ID_LEN = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_FIRST_TSPEC_TSID = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_NUM_TIDS = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_CHAINS = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |colspan="2"|Number of user priorities 802.11 uses | ||
+ | |- | ||
+ | | <code>IEEE80211_NUM_UPS = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 QOS control lengths''' <code> IEEE80211_QOS_CTL_LEN* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_LEN = 2;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 QOS control masks''' <code> IEEE80211_QOS_CTL_*_MASK* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_TAG1D_MASK = $0007;</code> | ||
+ | | 1d tag mask | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_TID_MASK = $000f;</code> | ||
+ | | TID mask | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_EOSP = $0010;</code> | ||
+ | | EOSP | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_ACK_POLICY_NORMAL = $0000;</code> | ||
+ | | ACK policy | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_ACK_POLICY_NOACK = $0020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_ACK_POLICY_NO_EXPL = $0040;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_ACK_POLICY_BLOCKACK = $0060;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_ACK_POLICY_MASK = $0060;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_A_MSDU_PRESENT = $0080;</code> | ||
+ | | A-MSDU 802.11n | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT = $0100;</code> | ||
+ | | Mesh Control 802.11s | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_MESH_PS_LEVEL = $0200;</code> | ||
+ | | Mesh Power Save Level | ||
+ | |- | ||
+ | | <code>IEEE80211_QOS_CTL_RSPI = $0400;</code> | ||
+ | | Mesh Receiver Service Period Initiated | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 WMM IE U-APSD queue sent by AP''' <code> IEEE80211_WMM_IE_AP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_AP_QOSINFO_UAPSD = (1 shl 7);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_AP_QOSINFO_PARAM_SET_CNT_MASK = $0f;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 WMM IE U-APSD queue sent by STA''' <code> IEEE80211_WMM_IE_STA_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_AC_VO = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_AC_VI = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_AC_BK = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_AC_BE = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK = $0f;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 WMM IE U-APSD max SP length sent by STA''' <code> IEEE80211_WMM_IE_STA_*_SP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL = $00;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_2 = $01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_4 = $02;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_6 = $03;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK = $03;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT control lengths''' <code> IEEE80211_HT_CTL_LEN* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CTL_LEN = 4;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh flags''' <code> IEEE80211_MESH_FLAGS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_MESH_FLAGS_AE_A4 = $1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_MESH_FLAGS_AE_A5_A6 = $2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MESH_FLAGS_AE = $3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_MESH_FLAGS_PS_DEEP = $4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh PREQ element flags''' <code> IEEE80211_PREQ_PROACTIVE_*_FLAG* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_PREQ_PROACTIVE_PREP_FLAG = (1 shl 2);</code> | ||
+ | | Proactive PREP subfield | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh PREQ element per target flags''' <code> IEEE80211_PREQ_*_FLAG* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_PREQ_TO_FLAG = (1 shl 0);</code> | ||
+ | | Target only subfield | ||
+ | |- | ||
+ | | <code>IEEE80211_PREQ_USN_FLAG = (1 shl 2);</code> | ||
+ | | Unknown target HWMP sequence number subfield | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh configuration IE capability field flags''' <code> IEEE80211_MESHCONF_CAPAB_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_MESHCONF_CAPAB_ACCEPT_PLINKS = $01;</code> | ||
+ | | STA is willing to establish additional mesh peerings with other mesh STAs | ||
+ | |- | ||
+ | | <code>IEEE80211_MESHCONF_CAPAB_FORWARDING = $08;</code> | ||
+ | | The STA forwards MSDUs | ||
+ | |- | ||
+ | | <code>IEEE80211_MESHCONF_CAPAB_TBTT_ADJUSTING = $20;</code> | ||
+ | | TBTT adjustment procedure is ongoing | ||
+ | |- | ||
+ | | <code>IEEE80211_MESHCONF_CAPAB_POWER_SAVE_LEVEL = $40;</code> | ||
+ | | STA is in deep sleep mode or has neighbors in deep sleep mode | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN mesh channel switch parameters flags''' <code> WLAN_EID_CHAN_SWITCH_PARAM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHAN_SWITCH_PARAM_TX_RESTRICT = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHAN_SWITCH_PARAM_INITIATOR = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHAN_SWITCH_PARAM_REASON = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 root announcement flags''' <code> IEEE80211_RANN_FLAG_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_RANN_FLAG_IS_GATE = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT channel width values''' <code> IEEE80211_HT_CHANWIDTH_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CHANWIDTH_20MHZ = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CHANWIDTH_ANY = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 VHT operating mode field bits''' <code> IEEE80211_OPMODE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK = 3;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ = 0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_RX_NSS_MASK = $70;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF = $80;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN SA query length''' <code> WLAN_SA_QUERY_*_*_LEN* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_SA_QUERY_TR_ID_LEN = 2;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 supported rate values''' <code> IEEE80211_BSS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Supported Rates value encodings in 802.11n-2009 7.3.2.2 | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_MEMBERSHIP_SELECTOR_HT_PHY = 127;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 peer-to-peer attribute related definitions''' <code> IEEE80211_P2P_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_STATUS = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_MINOR_REASON = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_CAPABILITY = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_DEVICE_ID = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_GO_INTENT = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_LISTEN_CHANNEL = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_GROUP_BSSID = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_MANAGABILITY = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_CHANNEL_LIST = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_ABSENCE_NOTICE = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_DEVICE_INFO = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_GROUP_INFO = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_GROUP_ID = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_INTERFACE = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_OPER_CHANNEL = 17;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_INVITE_FLAGS = 18;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''19 - 220: Reserved'' | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_VENDOR_SPECIFIC = 221;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_ATTR_MAX = 222;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_NOA_DESC_MAX = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_OPPPS_ENABLE_BIT = (1 shl 7);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_P2P_OPPPS_CTWINDOW_MASK = $7F;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 BAR control masks''' <code> IEEE80211_BAR_CTRL_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL = $0000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_BAR_CTRL_MULTI_TID = $0002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA = $0004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_BAR_CTRL_TID_INFO_MASK = $f000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_BAR_CTRL_TID_INFO_SHIFT = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT MCS lengths''' <code> IEEE80211_HT_MCS_*_LEN* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_MASK_LEN = 10;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT MCS capability settings''' <code> IEEE80211_HT_MCS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_RX_HIGHEST_MASK = $3ff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_DEFINED = $01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_RX_DIFF = $02;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK = $0C;</code> | ||
+ | | value 0 == 1 stream etc | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_MAX_STREAMS = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_TX_UNEQUAL_MODULATION = $10;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|802.11n D5.0 20.3.5 / 20.6 says: | ||
+ | - indices 0 to 7 and 32 are single spatial stream | ||
+ | <br />- 8 to 31 are multiple spatial streams using equal modulation | ||
+ | |- | ||
+ | |colspan="2"|[8..15 for two streams, 16..23 for three and 24..31 for four] | ||
+ | - remainder are multiple spatial streams using unequal modulation | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_UNEQUAL_MODULATION_START = 33;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MCS_UNEQUAL_MODULATION_START_BYTE = (IEEE80211_HT_MCS_UNEQUAL_MODULATION_START div 8);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT capabilities masks''' <code> IEEE80211_HT_CAP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For CapabilitiesInfo | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_LDPC_CODING = $0001;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_SUP_WIDTH_20_40 = $0002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_SM_PS = $000C;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_SM_PS_SHIFT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_GRN_FLD = $0010;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_SGI_20 = $0020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_SGI_40 = $0040;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_TX_STBC = $0080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_RX_STBC = $0300;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_RX_STBC_SHIFT = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_DELAY_BA = $0400;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_MAX_AMSDU = $0800;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_DSSSCCK40 = $1000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_RESERVED = $2000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_40MHZ_INTOLERANT = $4000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_CAP_LSIG_TXOP_PROT = $8000;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT extended capabilities masks''' <code> IEEE80211_HT_EXT_CAP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For ExtendedHTCapInfo | ||
+ | |- | ||
+ | | <code> IEEE80211_HT_EXT_CAP_PCO = $0001;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_PCO_TIME = $0006;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_PCO_TIME_SHIFT = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_MCS_FB = $0300;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_MCS_FB_SHIFT = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_HTC_SUP = $0400;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_EXT_CAP_RD_RESPONDER = $0800;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT AMPDU capability settings''' <code> IEEE80211_HT_AMPDU_PARM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For AMPDUParamsInfo | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_AMPDU_PARM_FACTOR = $03;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_AMPDU_PARM_DENSITY = $1C;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT maximum lengths''' <code> IEEE80211_HT_MAX_AMPDU_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Maximum length of AMPDU that the STA can receive in high-throughput (HT). Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets) | ||
+ | As per Linux ieee80211.h ieee80211_max_ampdu_length_exp | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MAX_AMPDU_8K = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MAX_AMPDU_16K = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MAX_AMPDU_32K = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MAX_AMPDU_64K = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 VHT maximum lengths''' <code> IEEE80211_VHT_MAX_AMPDU_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Maximum length of AMPDU that the STA can receive in VHT.Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets) | ||
+ | As per Linux ieee80211.h ieee80211_vht_max_ampdu_length_exp | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_8K = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_16K = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_32K = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_64K = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_128K = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_256K = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_512K = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MAX_AMPDU_1024K = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MAX_AMPDU_FACTOR = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT MPDU start spacing''' <code> IEEE80211_HT_MPDU_DENSITY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Minimum MPDU start spacing | ||
+ | As per Linux ieee80211.h ieee80211_min_mpdu_spacing | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_NONE = 0;</code> | ||
+ | | No restriction | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_0_25 = 1;</code> | ||
+ | | 1/4 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_0_5 = 2;</code> | ||
+ | | 1/2 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_1 = 3;</code> | ||
+ | | 1 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_2 = 4;</code> | ||
+ | | 2 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_4 = 5;</code> | ||
+ | | 4 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_8 = 6;</code> | ||
+ | | 8 usec | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_MPDU_DENSITY_16 = 7;</code> | ||
+ | | 16 usec | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT operation parameters''' <code> IEEE80211_HT_PARAM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For HT operation IE HTParam | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_CHA_SEC_OFFSET = $03;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_CHA_SEC_NONE = $00;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_CHA_SEC_ABOVE = $01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_CHA_SEC_BELOW = $03;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_CHAN_WIDTH_ANY = $04;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_PARAM_RIFS_MODE = $08;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT operation modes''' <code> IEEE80211_HT_OP_MODE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For HT operation IE OperationMode | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_PROTECTION = $0003;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_PROTECTION_NONE = 0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_PROTECTION_20MHZ = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT = $0004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT = $0010;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 HT STBC parameters''' <code> IEEE80211_HT_STBC_PARAM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For HT operation IE STBCParam | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_DUAL_BEACON = $0040;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_DUAL_CTS_PROT = $0080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_STBC_BEACON = $0100;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_LSIG_TXOP_FULLPROT = $0200;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_PCO_ACTIVE = $0400;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HT_STBC_PARAM_PCO_PHASE = $0800;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 block-ack parameters''' <code> IEEE80211_*_PARAM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_ADDBA_PARAM_AMSDU_MASK = $0001;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_ADDBA_PARAM_POLICY_MASK = $0002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_ADDBA_PARAM_TID_MASK = $003C;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK = $FFC0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_DELBA_PARAM_TID_MASK = $F000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_DELBA_PARAM_INITIATOR_MASK = $0800;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 A-PMDU buffer sizes''' <code> IEEE80211_*_AMPDU_BUF* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2) | ||
+ | |- | ||
+ | | <code>IEEE80211_MIN_AMPDU_BUF = $8;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_AMPDU_BUF = $40;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN HT spatial multiplexing power save modes''' <code> WLAN_HT_CAP_SM_PS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Spatial Multiplexing Power Save Modes (for capability) | ||
+ | |- | ||
+ | | <code>WLAN_HT_CAP_SM_PS_STATIC = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_HT_CAP_SM_PS_DYNAMIC = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_CAP_SM_PS_INVALID = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_CAP_SM_PS_DISABLED = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN HT SM power control fields''' <code> WLAN_HT_SMPS_CONTROL_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: For SM power control field lower two bits | ||
+ | |- | ||
+ | | <code>WLAN_HT_SMPS_CONTROL_DISABLED = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_HT_SMPS_CONTROL_STATIC = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_SMPS_CONTROL_DYNAMIC = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 VHT MCS support definitions''' <code> IEEE80211_VHT_MCS_SUPPORT_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: These definitions are used in each 2-bit subfield of the RXMCSMap and TXMCSMap fields of TIEEE8021VHTMCSInfo, which are both split into 8 subfields by number of streams. These values indicate which MCSes are supported for the number of streams the value appears for. | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MCS_SUPPORT_0_7 = 0;</code> | ||
+ | | MCSes 0-7 are supported for the number of streams | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MCS_SUPPORT_0_8 = 1;</code> | ||
+ | | MCSes 0-8 are supported | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MCS_SUPPORT_0_9 = 2;</code> | ||
+ | | MCSes 0-9 are supported | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_MCS_NOT_SUPPORTED = 3;</code> | ||
+ | | This number of streams isn't supported | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 VHT channel width''' <code> IEEE80211_VHT_CHANWIDTH_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CHANWIDTH_USE_HT = 0;</code> | ||
+ | | Use the HT operation IE to determine the channel width (20 or 40 MHz) | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CHANWIDTH_80MHZ = 1;</code> | ||
+ | | 80 MHz bandwidth | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CHANWIDTH_160MHZ = 2;</code> | ||
+ | | 160 MHz bandwidth | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3;</code> | ||
+ | | 80+80 MHz bandwidth | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 VHT capabilities''' <code> IEEE80211_VHT_CAP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 = $00000000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 = $00000001;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 = $00000002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ = $00000004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ = $00000008;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK = $0000000C;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXLDPC = $00000010;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SHORT_GI_80 = $00000020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SHORT_GI_160 = $00000040;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_TXSTBC = $00000080;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXSTBC_1 = $00000100;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXSTBC_2 = $00000200;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXSTBC_3 = $00000300;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXSTBC_4 = $00000400;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RXSTBC_MASK = $00000700;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE = $00000800;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE = $00001000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK = (7 shl IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK = (7 shl IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE = $00080000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE = $00100000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_VHT_TXOP_PS = $00200000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_HTC_VHT = $00400000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT = 23;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK = (7 shl IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB = $08000000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB = $0c000000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN = $10000000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN = $20000000;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN authentication algorithms''' <code> WLAN_AUTH_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_OPEN = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_SHARED_KEY = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_FT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_SAE = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_LEAP = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_AUTH_CHALLENGE_LEN = 128;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN capabilities''' <code> WLAN_CAPABILITY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_ESS = (1 shl 0);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_IBSS = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |colspan="2"|Note: A mesh STA sets the ESS and IBSS capability bits to zero. However, this holds true for p2p probe responses (in the p2p_find phase) as well. | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_CF_POLLABLE = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_CF_POLL_REQUEST = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_PRIVACY = (1 shl 4);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_SHORT_PREAMBLE = (1 shl 5);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_PBCC = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_CHANNEL_AGILITY = (1 shl 7);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11h'' | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_SPECTRUM_MGMT = (1 shl 8);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_QOS = (1 shl 9);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_SHORT_SLOT_TIME = (1 shl 10);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_APSD = (1 shl 11);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_RADIO_MEASURE = (1 shl 12);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DSSS_OFDM = (1 shl 13);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DEL_BACK = (1 shl 14);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_IMM_BACK = (1 shl 15);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |colspan="2"|''DMG (60gHz) 802.11ad'' | ||
+ | |- | ||
+ | |colspan="2"|''Type - bits 0..1'' | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_TYPE_MASK = (3 shl 0);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_TYPE_IBSS = (1 shl 0);</code> | ||
+ | | Tx by: STA | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_TYPE_PBSS = (2 shl 0);</code> | ||
+ | | Tx by: PCP | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_TYPE_AP = (3 shl 0);</code> | ||
+ | | Tx by: AP | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_CBAP_ONLY = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_CBAP_SOURCE = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_PRIVACY = (1 shl 4);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_ECPAC = (1 shl 5);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_SPECTRUM_MGMT = (1 shl 8);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CAPABILITY_DMG_RADIO_MEASURE = (1 shl 12);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 spectrum measurement''' <code> IEEE80211_SPCT_MSR_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_MODE_LATE = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_MODE_REFUSED = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_TYPE_BASIC = 0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_TYPE_CCA = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_SPCT_MSR_RPRT_TYPE_RPI = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN ERP information element''' <code> WLAN_ERP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_ERP_NON_ERP_PRESENT = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_ERP_USE_PROTECTION = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_ERP_BARKER_PREAMBLE = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN ERP barker preamble values''' <code> WLAN_ERP_PREAMBLE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_ERP_PREAMBLE_SHORT = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_ERP_PREAMBLE_LONG = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 band Id''' <code> IEEE80211_BANDID_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: 802.11ad #8.4.1.45 | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_TV_WS = 0;</code> | ||
+ | | TV white spaces | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_SUB1 = 1;</code> | ||
+ | | Sub-1 GHz (excluding TV white spaces) | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_2G = 2;</code> | ||
+ | | 2.4 GHz | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_3G = 3;</code> | ||
+ | | 3.6 GHz | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_5G = 4;</code> | ||
+ | | 4.9 and 5 GHz | ||
+ | |- | ||
+ | | <code>IEEE80211_BANDID_60G = 5;</code> | ||
+ | | 60 GHz | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN status codes''' <code> WLAN_STATUS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_SUCCESS = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_UNSPECIFIED_FAILURE = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_CAPS_UNSUPPORTED = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REASSOC_NO_ASSOC = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_UNSPEC = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_CHALLENGE_FAIL = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_AUTH_TIMEOUT = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_RATES = 18;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11b'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOSHORTPREAMBLE = 19;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOPBCC = 20;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOAGILITY = 21;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11h'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOSPECTRUM = 22;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_REJECTED_BAD_POWER = 23;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_REJECTED_BAD_SUPP_CHAN = 24;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11g'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME = 25;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM = 26;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11w'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY = 30;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ROBUST_MGMT_FRAME_POLICY_VIOLATION = 31;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11i'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_IE = 40;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_GROUP_CIPHER = 41;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_PAIRWISE_CIPHER = 42;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_AKMP = 43;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_UNSUPP_RSN_VERSION = 44;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_RSN_IE_CAP = 45;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_CIPHER_SUITE_REJECTED = 46;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11e'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_UNSPECIFIED_QOS = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_NOBANDWIDTH = 33;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_LOWACK = 34;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ASSOC_DENIED_UNSUPP_QOS = 35;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REQUEST_DECLINED = 37;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_INVALID_QOS_PARAM = 38;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_CHANGE_TSPEC = 39;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_WAIT_TS_DELAY = 47;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_NO_DIRECT_LINK = 48;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_STA_NOT_PRESENT = 49;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_STA_NOT_QSTA = 50;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11s'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_ANTI_CLOG_REQUIRED = 76;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_FCG_NOT_SUPP = 78;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_STA_NO_TBTT = 78;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11ad'' | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REJECTED_WITH_SUGGESTED_CHANGES = 39;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REJECTED_FOR_DELAY_PERIOD = 47;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REJECT_WITH_SCHEDULE = 83;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_PENDING_ADMITTING_FST_SESSION = 86;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_PERFORMING_FST_NOW = 87;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_PENDING_GAP_IN_BA_WINDOW = 88;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REJECT_U_PID_SETTING = 89;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_REJECT_DSE_BAND = 96;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN reason codes''' <code> WLAN_REASON_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_REASON_UNSPECIFIED = 1;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_REASON_PREV_AUTH_NOT_VALID = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DEAUTH_LEAVING = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_AP_BUSY = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_STA_HAS_LEFT = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11h'' | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_BAD_POWER = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_BAD_SUPP_CHAN = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11i'' | ||
+ | |- | ||
+ | | <code>WLAN_REASON_INVALID_IE = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MIC_FAILURE = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_GROUP_KEY_HANDSHAKE_TIMEOUT = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_IE_DIFFERENT = 17;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_INVALID_GROUP_CIPHER = 18;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_INVALID_PAIRWISE_CIPHER = 19;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_INVALID_AKMP = 20;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_UNSUPP_RSN_VERSION = 21;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_INVALID_RSN_IE_CAP = 22;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_IEEE8021X_FAILED = 23;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_CIPHER_SUITE_REJECTED = 24;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''TDLS (802.11z)'' | ||
+ | |- | ||
+ | | <code>WLAN_REASON_TDLS_TEARDOWN_UNREACHABLE = 25;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_TDLS_TEARDOWN_UNSPECIFIED = 26;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11e'' | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_UNSPECIFIED_QOS = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_QAP_NO_BANDWIDTH = 33;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_LOW_ACK = 34;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_DISASSOC_QAP_EXCEED_TXOP = 35;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_QSTA_LEAVE_QBSS = 36;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_QSTA_NOT_USE = 37;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_QSTA_REQUIRE_SETUP = 38;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_QSTA_TIMEOUT = 39;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_QSTA_CIPHER_NOT_SUPP = 45;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''802.11s'' | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_PEER_CANCELED = 52;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_MAX_PEERS = 53;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_CONFIG = 54;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_CLOSE = 55;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_MAX_RETRIES = 56;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_CONFIRM_TIMEOUT = 57;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_INVALID_GTK = 58;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_INCONSISTENT_PARAM = 59;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_INVALID_SECURITY = 60;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_PATH_ERROR = 61;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_PATH_NOFORWARD = 62;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_PATH_DEST_UNREACHABLE = 63;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MAC_EXISTS_IN_MBSS = 64;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_CHAN_REGULATORY = 65;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_REASON_MESH_CHAN = 66;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN information element Ids''' <code> WLAN_EID_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_EID_SSID = 0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SUPP_RATES = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_FH_PARAMS = 2;</code> | ||
+ | | reserved now | ||
+ | |- | ||
+ | | <code>WLAN_EID_DS_PARAMS = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CF_PARAMS = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIM = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_IBSS_PARAMS = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_COUNTRY = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''8-9 reserved'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_REQUEST = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QBSS_LOAD = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EDCA_PARAM_SET = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TSPEC = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TCLAS = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SCHEDULE = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHALLENGE = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''17-31 reserved for challenge text extension'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_PWR_CONSTRAINT = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PWR_CAPABILITY = 33;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TPC_REQUEST = 34;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TPC_REPORT = 35;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SUPPORTED_CHANNELS = 36;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHANNEL_SWITCH = 37;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MEASURE_REQUEST = 38;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MEASURE_REPORT = 39;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QUIET = 40;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_IBSS_DFS = 41;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ERP_INFO = 42;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TS_DELAY = 43;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TCLAS_PROCESSING = 44;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_HT_CAPABILITY = 45;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QOS_CAPA = 46;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''47 reserved for Broadcom'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_RSN = 48;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_802_15_COEX = 49;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXT_SUPP_RATES = 50;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_AP_CHAN_REPORT = 51;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_NEIGHBOR_REPORT = 52;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RCPI = 53;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MOBILITY_DOMAIN = 54;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_FAST_BSS_TRANSITION = 55;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIMEOUT_INTERVAL = 56;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RIC_DATA = 57;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DSE_REGISTERED_LOCATION = 58;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXT_CHANSWITCH_ANN = 60;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_HT_OPERATION = 61;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SECONDARY_CHANNEL_OFFSET = 62;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_AVG_ACCESS_DELAY = 63;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ANTENNA_INFO = 64;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RSNI = 65;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_AVAILABLE_CAPACITY = 67;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_AC_ACCESS_DELAY = 68;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIME_ADVERTISEMENT = 69;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RRM_ENABLED_CAPABILITIES = 70;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MULTIPLE_BSSID = 71;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_COEX_2040 = 72;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_INTOLERANT_CHL_REPORT = 73;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RIC_DESCRIPTOR = 75;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MMIE = 76;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ASSOC_COMEBACK_TIME = 77;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EVENT_REQUEST = 78;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EVENT_REPORT = 79;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DIAGNOSTIC_REQUEST = 80;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DIAGNOSTIC_REPORT = 81;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_LOCATION_PARAMS = 82;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_NON_TX_BSSID_CAP = 83;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SSID_LIST = 84;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MULTI_BSSID_IDX = 85;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_FMS_DESCRIPTOR = 86;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_FMS_REQUEST = 87;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_FMS_RESPONSE = 88;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QOS_TRAFFIC_CAPA = 89;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BSS_MAX_IDLE_PERIOD = 90;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TSF_REQUEST = 91;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TSF_RESPOSNE = 92;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_WNM_SLEEP_MODE = 93;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIM_BCAST_REQ = 94;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIM_BCAST_RESP = 95;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_COLL_IF_REPORT = 96;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHANNEL_USAGE = 97;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_TIME_ZONE = 98;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMS_REQUEST = 99;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMS_RESPONSE = 100;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_LINK_ID = 101;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_WAKEUP_SCHEDUL = 102;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''103 reserved'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHAN_SWITCH_TIMING = 104;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PTI_CONTROL = 105;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PU_BUFFER_STATUS = 106;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_INTERWORKING = 107;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ADVERTISEMENT_PROTOCOL = 108;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXPEDITED_BW_REQ = 109;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QOS_MAP_SET = 110;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ROAMING_CONSORTIUM = 111;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EMERGENCY_ALERT = 112;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MESH_CONFIG = 113;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MESH_ID = 114;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_LINK_METRIC_REPORT = 115;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CONGESTION_NOTIFICATION = 116;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PEER_MGMT = 117;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHAN_SWITCH_PARAM = 118;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MESH_AWAKE_WINDOW = 119;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BEACON_TIMING = 120;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MCCAOP_SETUP_REQ = 121;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MCCAOP_SETUP_RESP = 122;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MCCAOP_ADVERT = 123;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MCCAOP_TEARDOWN = 124;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_GANN = 125;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RANN = 126;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXT_CAPABILITY = 127;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''128-129 reserved for Agere'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_PREQ = 130;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PREP = 131;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PERR = 132;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''133-136 reserved for Cisco'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_PXU = 137;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PXUC = 138;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_AUTH_MESH_PEER_EXCH = 139;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MIC = 140;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DESTINATION_URI = 141;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_UAPSD_COEX = 142;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_WAKEUP_SCHEDULE = 143;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXT_SCHEDULE = 144;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_STA_AVAILABILITY = 145;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_TSPEC = 146;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_AT = 147;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_CAP = 148;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''149 reserved for Cisco'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_CISCO_VENDOR_SPECIFIC = 150;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_OPERATION = 151;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_BSS_PARAM_CHANGE = 152;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_BEAM_REFINEMENT = 153;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''155-156 reserved for Cisco'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_AWAKE_WINDOW = 157;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MULTI_BAND = 158;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ADDBA_EXT = 159;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_NEXT_PCP_LIST = 160;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_PCP_HANDOVER = 161;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_LINK_MARGIN = 162;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SWITCHING_STREAM = 163;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SESSION_TRANSITION = 164;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DYN_TONE_PAIRING_REPORT = 165;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CLUSTER_REPORT = 166;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RELAY_CAP = 167;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_RELAY_XFER_PARAM_SET = 168;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_BEAM_LINK_MAINT = 169;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_MULTIPLE_MAC_ADDR = 170;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_U_PID = 171;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_DMG_LINK_ADAPT_ACK = 172;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''173 reserved for Symbol'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_MCCAOP_ADV_OVERVIEW = 174;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QUIET_PERIOD_REQ = 175;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''176 reserved for Symbol'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_QUIET_PERIOD_RESP = 177;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''178-179 reserved for Symbol'' | ||
+ | |- | ||
+ | |colspan="2"|''180 reserved for ISO/IEC 20011'' | ||
+ | |- | ||
+ | | <code>WLAN_EID_EPAC_POLICY = 182;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CLISTER_TIME_OFF = 183;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_INTER_AC_PRIO = 184;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_SCS_DESCRIPTOR = 185;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QLOAD_REPORT = 186;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_HCCA_TXOP_UPDATE_COUNT = 187;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_HL_STREAM_ID = 188;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_GCR_GROUP_ADDR = 189;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_VHT_CAPABILITY = 191;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_VHT_OPERATION = 192;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_EXTENDED_BSS_LOAD = 193;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_VHT_TX_POWER_ENVELOPE = 195;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_AID = 197;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QUIET_CHANNEL = 198;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_OPMODE_NOTIF = 199;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_EID_VENDOR_SPECIFIC = 221;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EID_QOS_PARAMETER = 222;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN action category codes''' <code> WLAN_CATEGORY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_SPECTRUM_MGMT = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_QOS = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_DLS = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_BACK = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_PUBLIC = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_RADIO_MEASUREMENT = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_HT = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_SA_QUERY = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_WNM = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_WNM_UNPROTECTED = 11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_TDLS = 12;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_MESH_ACTION = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_MULTIHOP_ACTION = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_SELF_PROTECTED = 15;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_DMG = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_WMM = 17;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_FST = 18;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_UNPROT_DMG = 20;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_VHT = 21;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CATEGORY_VENDOR_SPECIFIC = 127;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN spectrum action codes''' <code> WLAN_ACTION_SPCT_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SPCT_MSR_REQ = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SPCT_MSR_RPRT = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code> WLAN_ACTION_SPCT_TPC_REQ = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SPCT_TPC_RPRT = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SPCT_CHL_SWITCH = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN HT action codes''' <code> WLAN_HT_ACTION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_NOTIFY_CHANWIDTH = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_SMPS = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_PSMP = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_PCO_PHASE = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_CSI = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_NONCOMPRESSED_BF = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_COMPRESSED_BF = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN VHT action codes''' <code> WLAN_VHT_ACTION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_VHT_ACTION_COMPRESSED_BF = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_VHT_ACTION_GROUPID_MGMT = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_VHT_ACTION_OPMODE_NOTIF = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN self protected action codes''' <code> WLAN_SP_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_SP_RESERVED = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_SP_MESH_PEERING_OPEN = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_SP_MESH_PEERING_CONFIRM = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_SP_MESH_PEERING_CLOSE = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_SP_MGK_INFORM = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_SP_MGK_ACK = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN mesh action codes''' <code> WLAN_MESH_ACTION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_LINK_METRIC_REPORT = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_HWMP_PATH_SELECTION = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_GATE_ANNOUNCEMENT = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_MCCA_SETUP_REQUEST = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_MCCA_SETUP_REPLY = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_MCCA_ADVERTISEMENT = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_MCCA_TEARDOWN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN security key lengths''' <code> WLAN_KEY_LEN_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_WEP40 = 5;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_WEP104 = 13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_CCMP = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_CCMP_256 = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_TKIP = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_AES_CMAC = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_SMS4 = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_GCMP = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_GCMP_256 = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_BIP_CMAC_256 = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_BIP_GMAC_128 = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_KEY_LEN_BIP_GMAC_256 = 32;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 security key lengths''' <code> IEEE80211_*_LEN </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_WEP_IV_LEN = 4;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_WEP_ICV_LEN = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_HDR_LEN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_MIC_LEN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_PN_LEN = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_256_HDR_LEN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_256_MIC_LEN = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CCMP_256_PN_LEN = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_TKIP_IV_LEN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_TKIP_ICV_LEN = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CMAC_PN_LEN = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_GMAC_PN_LEN = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_GCMP_HDR_LEN = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_GCMP_MIC_LEN = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_GCMP_PN_LEN = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN public action codes''' <code> WLAN_PUB_ACTION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_PUB_ACTION_EXT_CHANSW_ANN = 4;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_PUB_ACTION_TDLS_DISCOVER_RES = 14;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN TDLS action codes''' <code> WLAN_TDLS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_SETUP_REQUEST = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_SETUP_RESPONSE = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_SETUP_CONFIRM = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_TEARDOWN = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_PEER_TRAFFIC_INDICATION = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_CHANNEL_SWITCH_REQUEST = 5;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_CHANNEL_SWITCH_RESPONSE = 6;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_PEER_PSM_REQUEST = 7;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_PEER_PSM_RESPONSE = 8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_PEER_TRAFFIC_RESPONSE = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_DISCOVERY_REQUEST = 10;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN extended channel switching capabilities 1st byte''' <code> WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Extended Channel Switching capability to be set in the 1st byte of the WLAN_EID_EXT_CAPABILITY information element | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING = (1 shl 2);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN extended TDLS capabilities 4th byte''' <code> WLAN_EXT_CAPA4_TDLS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: TDLS capabilities in the 4th byte of WLAN_EID_EXT_CAPABILITY | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA4_TDLS_BUFFER_STA = (1 shl 4);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA4_TDLS_PEER_PSM = (1 shl 5);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN extended interworking capabilities 4th byte''' <code> WLAN_EXT_CAPA4_INTERWORKING_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Interworking capabilities are set in 7th bit of 4th byte of the WLAN_EID_EXT_CAPABILITY information element | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA4_INTERWORKING_ENABLED = (1 shl 7);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN extended TDLS capabilities 5th byte''' <code> WLAN_EXT_CAPA5_TDLS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: TDLS capabililites to be enabled in the 5th byte of the WLAN_EID_EXT_CAPABILITY information element | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA5_TDLS_ENABLED = (1 shl 5);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA5_TDLS_PROHIBITED = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA5_TDLS_CH_SW_PROHIBITED = (1 shl 7);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN extended TDLS capabilities 8th byte''' <code> WLAN_EXT_CAPA8_TDLS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED = (1 shl 5);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_EXT_CAPA8_OPMODE_NOTIF = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN TDLS specific payload type''' <code> WLAN_TDLS_*_RFTYPE* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: TDLS specific payload type in the LLC/SNAP header | ||
+ | |- | ||
+ | | <code>WLAN_TDLS_SNAP_RFTYPE = $2;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN coex IE information field bits''' <code> WLAN_*_COEX_INFORMATION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_BSS_COEX_INFORMATION_REQUEST = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh synchronization method identifier''' <code> IEEE80211_SYNC_METHOD_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1;</code> | ||
+ | | The default synchronization method | ||
+ | |- | ||
+ | | <code>IEEE80211_SYNC_METHOD_VENDOR = 255;</code> | ||
+ | | A vendor specific synchronization method that will be specified in a vendor specific information element | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh path selection protocol identifier''' <code> IEEE80211_PATH_PROTOCOL_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_PATH_PROTOCOL_HWMP = 1;</code> | ||
+ | | The default path selection protocol | ||
+ | |- | ||
+ | | <code>IEEE80211_PATH_PROTOCOL_VENDOR = 255;</code> | ||
+ | | A vendor specific protocol that will be specified in a vendor specific information element | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 mesh path selection metric identifier''' <code> IEEE80211_PATH_METRIC_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_PATH_METRIC_AIRTIME = 1;</code> | ||
+ | | The default path selection metric | ||
+ | |- | ||
+ | | <code>IEEE80211_PATH_METRIC_VENDOR = 255;</code> | ||
+ | | A vendor specific metric that will be specified in a vendor specific information element | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 root mesh STA mode identifier''' <code> IEEE80211_ROOTMODE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: These attributes are used by dot11MeshHWMPRootMode to set root mesh STA mode | ||
+ | |- | ||
+ | | <code>IEEE80211_ROOTMODE_NO_ROOT = 0;</code> | ||
+ | | The mesh STA is not a root mesh STA (default) | ||
+ | |- | ||
+ | | <code>IEEE80211_ROOTMODE_ROOT = 1;</code> | ||
+ | | The mesh STA is a root mesh STA if greater than this value | ||
+ | |- | ||
+ | | <code>IEEE80211_PROACTIVE_PREQ_NO_PREP = 2;</code> | ||
+ | | The mesh STA is a root mesh STA supports the proactive PREQ with proactive PREP subfield set to 0 | ||
+ | |- | ||
+ | | <code>IEEE80211_PROACTIVE_PREQ_WITH_PREP = 3;</code> | ||
+ | | The mesh STA is a root mesh STA supports the proactive PREQ with proactive PREP subfield set to 1 | ||
+ | |- | ||
+ | | <code>IEEE80211_PROACTIVE_RANN = 4;</code> | ||
+ | | The mesh STA is a root mesh STA supports the proactive RANN | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 country information element''' <code> IEEE80211_COUNTRY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: IEEE 802.11-2007 7.3.2.9 country information element | ||
+ | |- | ||
+ | | <code>IEEE80211_COUNTRY_IE_MIN_LEN = 6;</code> | ||
+ | | Minimum length is 8 octets, ie len must be evenly divisible by 2. | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_COUNTRY_STRING_LEN = 3;</code> | ||
+ | | The Country String field of the element shall be 3 octets in length. | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | |colspan="2"|Note: For regulatory extension stuff see IEEE 802.11-2007 Annex I (page 1141) and Annex J (page 1147). Also review 7.3.2.9. | ||
+ | When dot11RegulatoryClassesRequired is true and the first_channel/reg_extension_id is >= 201 then the IE compromises of the 'ext' struct represented below: | ||
+ | <br />- Regulatory extension ID - when generating IE this just needs to be monotonically increasing for each triplet passed in the IE | ||
+ | <br />- Regulatory class - index into set of rules | ||
+ | <br />- Coverage class - index into air propagation time (Table 7-27), in microseconds, you can compute the air propagation time from the index by multiplying by 3, so index 10 yields a propagation of 10 us. Valid values are 0-31, values 32-255 are not defined yet. A value of 0 inicates air propagation of <= 1 us. | ||
+ | |- | ||
+ | |colspan="2"|See also Table I.2 for Emission limit sets and table I.3 for Behavior limit sets. Table J.1 indicates how to map a reg_class to an emission limit set and behavior limit set | ||
+ | |- | ||
+ | | <code>IEEE80211_COUNTRY_EXTENSION_ID = 201;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN timeout interval''' <code> WLAN_TIMEOUT_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_TIMEOUT_REASSOC_DEADLINE = 1;</code> | ||
+ | | 802.11r | ||
+ | |- | ||
+ | | <code>WLAN_TIMEOUT_KEY_LIFETIME = 2;</code> | ||
+ | | 802.11r | ||
+ | |- | ||
+ | | <code>WLAN_TIMEOUT_ASSOC_COMEBACK = 3;</code> | ||
+ | | 802.11w | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN block-ack action code''' <code> WLAN_ACTION_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_ADDBA_REQ = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_ADDBA_RESP = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_DELBA = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN block-ack parties''' <code> WLAN_BACK_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_BACK_RECIPIENT = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_BACK_INITIATOR = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN SA query action''' <code> WLAN_ACTION_SA_QUERY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SA_QUERY_REQUEST = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_ACTION_SA_QUERY_RESPONSE = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN cipher suite selectors''' <code> WLAN_CIPHER_SUITE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_USE_GROUP = $000FAC00;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_WEP40 = $000FAC01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_TKIP = $000FAC02;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Reserved: = $000FAC03'' | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_CCMP = $000FAC04;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_WEP104 = $000FAC05;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_AES_CMAC = $000FAC06;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_GCMP = $000FAC08;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_GCMP_256 = $000FAC09;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_CCMP_256 = $000FAC0A;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_BIP_GMAC_128 = $000FAC0B;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_BIP_GMAC_256 = $000FAC0C;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_BIP_CMAC_256 = $000FAC0D;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_CIPHER_SUITE_SMS4 = $00147201;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN AKM suite selectors''' <code> WLAN_AKM_SUITE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_8021X = $000FAC01;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_PSK = $000FAC02;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_8021X_SHA256 = $000FAC05;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_PSK_SHA256 = $000FAC06;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_TDLS = $000FAC07;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_SAE = $000FAC08;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_AKM_SUITE_FT_OVER_SAE = $000FAC09;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN key lengths''' <code> WLAN_*_KEY_LEN* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_MAX_KEY_LEN = 32;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WLAN_PMKID_LEN = 16;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WLAN OUI types''' <code> WLAN_OUI_WFA* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WLAN_OUI_WFA = $506f9a;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WLAN_OUI_TYPE_WFA_P2P = 9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_OUI_MICROSOFT = $0050f2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_OUI_TYPE_MICROSOFT_WPA = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_OUI_TYPE_MICROSOFT_WMM = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WLAN_OUI_TYPE_MICROSOFT_WPS = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 Tspec element''' <code> IEEE80211_WMM_IE_TSPEC_TID_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_TSPEC_TID_MASK = $0F;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_WMM_IE_TSPEC_TID_SHIFT = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 Tspec status''' <code> IEEE80211_TSPEC_STATUS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_TSPEC_STATUS_ADMISS_ACCEPTED = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_TSPEC_STATUS_ADDTS_INVAL_PARAMS = $1;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 frequency bands''' <code> IEEE80211_BAND_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: These constants are NOT defined by IEEE 802.11 but are internal to the implementation | ||
+ | As per Linux cfg80211.h IEEE80211_BAND_* | ||
+ | |- | ||
+ | | <code>IEEE80211_BAND_2GHZ = 0;</code> | ||
+ | | (NL80211_BAND_2GHZ) 2.4GHz ISM band | ||
+ | |- | ||
+ | | <code>IEEE80211_BAND_5GHZ = 1;</code> | ||
+ | | (NL80211_BAND_5GHZ) 5GHz band (4.9-5.7) | ||
+ | |- | ||
+ | | <code>IEEE80211_BAND_60GHZ = 2;</code> | ||
+ | | (NL80211_BAND_60GHZ) 60 GHz band (58.32 - 64.80 GHz) | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_NUM_BANDS = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 channel flags''' <code> IEEE80211_CHAN_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h IEEE80211_CHAN_* | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_DISABLED = (1 shl 0);</code> | ||
+ | | This channel is disabled | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_IR = (1 shl 1);</code> | ||
+ | | Do not initiate radiation, this includes sending probe requests or beaconing. | ||
+ | |- | ||
+ | |colspan="2"|''(1 shl 2)'' | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_RADAR = (1 shl 3);</code> | ||
+ | | Radar detection is required on this channel | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_HT40PLUS = (1 shl 4);</code> | ||
+ | | Extension channel above this channel is not permitted | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_HT40MINUS = (1 shl 5);</code> | ||
+ | | Extension channel below this channel is not permitted | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_OFDM = (1 shl 6);</code> | ||
+ | | OFDM is not allowed on this channel | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_80MHZ = (1 shl 7);</code> | ||
+ | | If the driver supports 80 MHz on the band, this flag indicates that an 80 MHz channel cannot use this channel as the control or any of the secondary channels. | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_160MHZ = (1 shl 8);</code> | ||
+ | | If the driver supports 160 MHz on the band, this flag indicates that an 160 MHz channel cannot use this channel as the control or any of the secondary channels. | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_INDOOR_ONLY = (1 shl 9);</code> | ||
+ | | see NL80211_FREQUENCY_ATTR_INDOOR_ONLY | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_GO_CONCURRENT = (1 shl 10);</code> | ||
+ | | see NL80211_FREQUENCY_ATTR_GO_CONCURRENT | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_20MHZ = (1 shl 11);</code> | ||
+ | | 20 MHz bandwidth is not permitted on this channel | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_10MHZ = (1 shl 12);</code> | ||
+ | | 10 MHz bandwidth is not permitted on this channel | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>IEEE80211_CHAN_NO_HT40 = IEEE80211_CHAN_NO_HT40PLUS or IEEE80211_CHAN_NO_HT40MINUS;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 DFS times''' <code> IEEE80211_DFS_MIN_*_TIME_MS* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_DFS_MIN_CAC_TIME_MS = 60000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_DFS_MIN_NOP_TIME_MS = (30 * 60 * 1000);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 rate flags''' <code> IEEE80211_RATE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h IEEE80211_RATE_* | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_SHORT_PREAMBLE = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_MANDATORY_A = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_MANDATORY_B = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_MANDATORY_G = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_ERP_G = (1 shl 4);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_SUPPORTS_5MHZ = (1 shl 5);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_RATE_SUPPORTS_10MHZ = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 BSS type values''' <code> IEEE80211_BSS_TYPE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h IEEE80211_BSS_TYPE_* | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_TYPE_ESS = 0;</code> | ||
+ | | Infrastructure BSS | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_TYPE_PBSS = 1;</code> | ||
+ | | Personal BSS | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_TYPE_IBSS = 2;</code> | ||
+ | | Independent BSS | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_TYPE_MBSS = 3;</code> | ||
+ | | Mesh BSS | ||
+ | |- | ||
+ | | <code>IEEE80211_BSS_TYPE_ANY = 4;</code> | ||
+ | | Wildcard value for matching any BSS type | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 privacy values''' <code> IEEE80211_PRIVACY_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h IEEE80211_PRIVACY_* | ||
+ | |- | ||
+ | | <code>IEEE80211_PRIVACY_ON = 0;</code> | ||
+ | | Privacy bit set | ||
+ | |- | ||
+ | | <code>IEEE80211_PRIVACY_OFF = 1;</code> | ||
+ | | Privacy bit clear | ||
+ | |- | ||
+ | | <code>IEEE80211_PRIVACY_ANY = 2;</code> | ||
+ | | Wildcard value for matching any privacy setting | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 filter flags''' <code> IEEE80211_FIF_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h FIF_* | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_PROMISC_IN_BSS = (1 shl 0);</code> | ||
+ | | Promiscuous mode within your BSS, think of the BSS as your network segment and then this corresponds to the regular ethernet device promiscuous mode. | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_ALLMULTI = (1 shl 1);</code> | ||
+ | | Pass all multicast frames, this is used if requested by the user or if the hardware is not capable of filtering by multicast address. | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_FCSFAIL = (1 shl 2);</code> | ||
+ | | Pass frames with failed FCS | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_PLCPFAIL = (1 shl 3);</code> | ||
+ | | Pass frames with failed PLCP CRC | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_BCN_PRBRESP_PROMISC = (1 shl 4);</code> | ||
+ | | Set during scanning to indicate to the hardware that it should not filter beacons or probe responses by BSSID | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_CONTROL = (1 shl 5);</code> | ||
+ | | Pass control frames (except for PS Poll), if PROMISC_IN_BSS is not set then only those addressed to this station. | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_OTHER_BSS = (1 shl 6);</code> | ||
+ | | Pass frames destined to other BSSes | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_PSPOLL = (1 shl 7);</code> | ||
+ | | Pass PS Poll frames, if PROMISC_IN_BSS is not set then only those addressed to this station. | ||
+ | |- | ||
+ | | <code>IEEE80211_FIF_PROBE_REQ = (1 shl 8);</code> | ||
+ | | Pass probe request frames | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 hardware flags''' <code> IEEE80211_HW_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h IEEE80211_HW_* | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_HAS_RATE_CONTROL = (1 shl 0);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_RX_INCLUDES_FCS = (1 shl 1);</code> | ||
+ | | Indicates that received frames passed to the stack include the FCS at the end | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE = (1 shl 3);</code> | ||
+ | | Hardware is not capable of short slot operation on the 2.4 GHz band | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE = (1 shl 4);</code> | ||
+ | | Hardware is not capable of receiving frames with short preamble on the 2.4 GHz band | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SIGNAL_UNSPEC = (1 shl 5);</code> | ||
+ | | Hardware can provide signal values but we don't know its units. We expect values between 0 and MaxSignal. | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SIGNAL_DBM = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC = (1 shl 7);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SPECTRUM_MGMT = (1 shl 8);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_AMPDU_AGGREGATION = (1 shl 9);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_PS = (1 shl 10);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_PS_NULLFUNC_STACK = (1 shl 11);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_DYNAMIC_PS = (1 shl 12);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_MFP_CAPABLE = (1 shl 13);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_WANT_MONITOR_VIF = (1 shl 14);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_NO_AUTO_VIF = (1 shl 15);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SW_CRYPTO_CONTROL = (1 shl 16);</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''free slots'' | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_REPORTS_TX_ACK_STATUS = (1 shl 18);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_CONNECTION_MONITOR = (1 shl 19);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_QUEUE_CONTROL = (1 shl 20);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_PER_STA_GTK = (1 shl 21);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_AP_LINK_PS = (1 shl 22);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_TX_AMPDU_SETUP_IN_HW = (1 shl 23);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_RC_TABLE = (1 shl 24);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF = (1 shl 25);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_TIMING_BEACON_ONLY = (1 shl 26);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_HT_CCK_RATES = (1 shl 27);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_CHANCTX_STA_CSA = (1 shl 28);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_HW_SUPPORTS_CLONED_SKBS = (1 shl 29);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_SINGLE_HW_SCAN_ON_ALL_BANDS = (1 shl 30);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 configuration flags''' <code> IEEE80211_CONF_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h IEEE80211_CONF_* | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_MONITOR = (1 shl 0);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_PS = (1 shl 1);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_IDLE = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_OFFCHANNEL = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 configuration changed flags''' <code> IEEE80211_CONF_CHANGE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h IEEE80211_CONF_CHANGE_* | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_SMPS = (1 shl 1);</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_LISTEN_INTERVAL = (1 shl 2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_MONITOR = (1 shl 3);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_PS = (1 shl 4);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_POWER = (1 shl 5);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_CHANNEL = (1 shl 6);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_RETRY_LIMITS = (1 shl 7);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>IEEE80211_CONF_CHANGE_IDLE = (1 shl 8);</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 TX status headroom''' <code> IEEE80211_TX_STATUS_HEADROOM_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_TX_STATUS_HEADROOM = 14;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''IEEE 802.11 max CSA counters''' <code> IEEE80211_MAX_CSA_COUNTERS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>IEEE80211_MAX_CSA_COUNTERS_NUM = 2;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi specific constants''' <code> WIFI_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WIFI_DEVICE_TIMER_INTERVAL = 100;</code> | ||
+ | | Timer interval for new device additions | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>EAPOL_TRANSPORT_NAME = 'EAPOL';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RSN_TRANSPORT_NAME = 'RSN';</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi device states''' <code> WIFI_STATE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WIFI_STATE_NONE = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi device status''' <code> WIFI_STATUS_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WIFI_STATUS_NONE = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi device flags''' <code> WIFI_FLAG_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h WIPHY_FLAG_* | ||
+ | |- | ||
+ | |colspan="2"|''(1 shl 0)'' | ||
+ | |- | ||
+ | |colspan="2"|''(1 shl 1)'' | ||
+ | |- | ||
+ | |colspan="2"|''(1 shl 2)'' | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_NETNS_OK = (1 shl 3);</code> | ||
+ | | If not set, do not allow changing the netns of this wiphy at all. | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_PS_ON_BY_DEFAULT = (1 shl 4);</code> | ||
+ | | If set to true, powersave will be enabled by default. | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_4ADDR_AP = (1 shl 5);</code> | ||
+ | | Supports 4addr mode even on AP (with a single station on a VLAN interface) | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_4ADDR_STATION = (1 shl 6);</code> | ||
+ | | Supports 4addr mode even as a station | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_CONTROL_PORT_PROTOCOL = (1 shl 7);</code> | ||
+ | | This device supports setting the control port protocol ethertype | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_IBSS_RSN = (1 shl 8);</code> | ||
+ | | The device supports IBSS RSN | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_MESH_AUTH = (1 shl 10);</code> | ||
+ | | The device supports mesh authentication | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_SUPPORTS_SCHED_SCAN = (1 shl 11);</code> | ||
+ | | The device supports scheduled scans | ||
+ | |- | ||
+ | |colspan="2"|''(1 shl 12)'' | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_SUPPORTS_FW_ROAM = (1 shl 13);</code> | ||
+ | | The device supports roaming feature in the firmware | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_AP_UAPSD = (1 shl 14);</code> | ||
+ | | The device supports uapsd on AP | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_SUPPORTS_TDLS = (1 shl 15);</code> | ||
+ | | The device supports TDLS (802.11z) operation | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_TDLS_EXTERNAL_SETUP = (1 shl 16);</code> | ||
+ | | The device does not handle TDLS (802.11z) link setup/discovery operations internally | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_HAVE_AP_SME = (1 shl 17);</code> | ||
+ | | Device integrates AP SME | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_REPORTS_OBSS = (1 shl 18);</code> | ||
+ | | The device will report beacons from other BSSes | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_AP_PROBE_RESP_OFFLOAD = (1 shl 19);</code> | ||
+ | | When operating as an AP, the device responds to probe-requests in hardware. | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_OFFCHAN_TX = (1 shl 20);</code> | ||
+ | | Device supports direct off-channel TX | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_HAS_REMAIN_ON_CHANNEL = (1 shl 21);</code> | ||
+ | | Device supports remain-on-channel call | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_SUPPORTS_5_10_MHZ = (1 shl 22);</code> | ||
+ | | Device supports 5 MHz and 10 MHz channels | ||
+ | |- | ||
+ | | <code>WIFI_FLAG_HAS_CHANNEL_SWITCH = (1 shl 23);</code> | ||
+ | | Device supports channel switch in beaconing mode (AP, IBSS, Mesh, ...) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi device features''' <code> WIFI_FEATURE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux nl80211.h NL80211_FEATURE_* | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SK_TX_STATUS = (1 shl 0);</code> | ||
+ | | This driver supports reflecting back TX status to the socket error queue when requested with the socket option | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_HT_IBSS = (1 shl 1);</code> | ||
+ | | This driver supports IBSS with HT datarates | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_INACTIVITY_TIMER = (1 shl 2);</code> | ||
+ | | This driver takes care of freeing up the connected inactive stations in AP mode | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_CELL_BASE_REG_HINTS = (1 shl 3);</code> | ||
+ | | This driver has been tested to work properly to support receiving regulatory hints from cellular base stations | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = (1 shl 4);</code> | ||
+ | | No longer available, only here to reserve the value for API/ABI compatibility | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SAE = (1 shl 5);</code> | ||
+ | | This driver supports simultaneous authentication of equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station mode | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_LOW_PRIORITY_SCAN = (1 shl 6);</code> | ||
+ | | This driver supports low priority scan | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SCAN_FLUSH = (1 shl 7);</code> | ||
+ | | Scan flush is supported | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_AP_SCAN = (1 shl 8);</code> | ||
+ | | Support scanning using an AP vif | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_VIF_TXPOWER = (1 shl 9);</code> | ||
+ | | The driver supports per-vif TX power setting | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_NEED_OBSS_SCAN = (1 shl 10);</code> | ||
+ | | The driver expects userspace to perform OBSS scans and generate 20/40 BSS coex reports | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_P2P_GO_CTWIN = (1 shl 11);</code> | ||
+ | | P2P GO implementation supports CT Window setting | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_P2P_GO_OPPPS = (1 shl 12);</code> | ||
+ | | P2P GO implementation supports opportunistic powersave | ||
+ | |- | ||
+ | |colspan="2"|''bit 13 is reserved'' | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_ADVERTISE_CHAN_LIMITS = (1 shl 14);</code> | ||
+ | | cfg80211 advertises channel limits (HT40, VHT 80/160 MHz) if this flag is set | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_FULL_AP_CLIENT_STATE = (1 shl 15);</code> | ||
+ | | The driver supports full state transitions for AP clients | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_USERSPACE_MPM = (1 shl 16);</code> | ||
+ | | This driver supports a userspace Mesh Peering Management | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_ACTIVE_MONITOR = (1 shl 17);</code> | ||
+ | | This driver supports an active monitor interface | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = (1 shl 18);</code> | ||
+ | | This driver supports dynamic channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the lifetime of a BSS | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_DS_PARAM_SET_IE_IN_PROBES = (1 shl 19);</code> | ||
+ | | This device adds a DS Parameter Set IE to probe requests | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_WFA_TPC_IE_IN_PROBES = (1 shl 20);</code> | ||
+ | | This device adds a WFA TPC Report IE to probe requests | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_QUIET = (1 shl 21);</code> | ||
+ | | This device, in client mode, supports Quiet Period requests sent to it by an AP. | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_TX_POWER_INSERTION = (1 shl 22);</code> | ||
+ | | This device is capable of inserting the current tx power value into the TPC Report IE in the spectrum management TPC Report action frame, and in the Radio Measurement Link Measurement Report action frame. | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_ACKTO_ESTIMATION = (1 shl 23);</code> | ||
+ | | This driver supports dynamic ACK timeout estimation | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_STATIC_SMPS = (1 shl 24);</code> | ||
+ | | Device supports static spatial multiplexing powersave | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_DYNAMIC_SMPS = (1 shl 25);</code> | ||
+ | | Device supports dynamic spatial multiplexing powersave | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SUPPORTS_WMM_ADMISSION = (1 shl 26);</code> | ||
+ | | The device supports setting up WMM TSPEC sessions | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_MAC_ON_CREATE = (1 shl 27);</code> | ||
+ | | Device supports configuring the vif's MAC address upon creation | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_TDLS_CHANNEL_SWITCH = (1 shl 28);</code> | ||
+ | | Driver supports channel switching when operating as a TDLS peer | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SCAN_RANDOM_MAC_ADDR = (1 shl 29);</code> | ||
+ | | This device/driver supports using a random MAC address during scan (if the device is unassociated) | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = (1 shl 30);</code> | ||
+ | | This device/driver supports using a random MAC address for every scan iteration during scheduled scan (while not associated) | ||
+ | |- | ||
+ | | <code>WIFI_FEATURE_ND_RANDOM_MAC_ADDR = (1 shl 31);</code> | ||
+ | | This device/driver supports using a random MAC address for every scan iteration during "net detect" i.e. scan in unassociated WoWLAN | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi device LED values''' <code> WIFI_LED_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>WIFI_LED_OFF = 0;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>WIFI_LED_HALF = 127;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WIFI_LED_FULL = 255;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi interface types''' <code> WIFI_IFTYPE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux nl80211.h NL80211_IFTYPE_* | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_UNSPECIFIED = 0;</code> | ||
+ | | Unspecified type, driver decides. | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_ADHOC = 1;</code> | ||
+ | | Independent BSS member | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_STATION = 2;</code> | ||
+ | | Managed BSS member | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_AP = 3;</code> | ||
+ | | Access point | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_AP_VLAN = 4;</code> | ||
+ | | VLAN interface for access points | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_WDS = 5;</code> | ||
+ | | Wireless distribution interface | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_MONITOR = 6;</code> | ||
+ | | Monitor interface receiving all frames | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_MESH_POINT = 7;</code> | ||
+ | | Mesh point | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_P2P_CLIENT = 8;</code> | ||
+ | | P2P client | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_P2P_GO = 9;</code> | ||
+ | | P2P group owner | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_P2P_DEVICE = 10;</code> | ||
+ | | P2P device interface type | ||
+ | |- | ||
+ | | <code>WIFI_IFTYPE_OCB = 11;</code> | ||
+ | | Outside Context of a BSS | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>WIFI_NUM_IFTYPES = 12;</code> | ||
+ | | Number of defined interface types | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi channel types''' <code> WIFI_CHAN_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux nl80211.h NL80211_CHAN_* | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_NO_HT = 0;</code> | ||
+ | | 20 MHz, non-HT channel | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_HT20 = 1;</code> | ||
+ | | 20 MHz HT channel | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_HT40MINUS = 2;</code> | ||
+ | | HT40 channel, secondary channel below the control channel. | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_HT40PLUS = 3;</code> | ||
+ | | HT40 channel, secondary channel above the control channel. | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi channel widths''' <code> WIFI_CHAN_WIDTH_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux nl80211.h NL80211_CHAN_WIDTH_* | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_20_NOHT = 0;</code> | ||
+ | | 20 MHz, non-HT channel | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_20 = 1;</code> | ||
+ | | 20 MHz HT channel | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_40 = 2;</code> | ||
+ | | 40 MHz channel, the NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well. | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_80 = 3;</code> | ||
+ | | 80 MHz channel, the NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well. | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_80P80 = 4;</code> | ||
+ | | 80+80 MHz channel, the NL80211_ATTR_CENTER_FREQ1 and NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well. | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_160 = 5;</code> | ||
+ | | 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_5 = 6;</code> | ||
+ | | 5 MHz OFDM channel | ||
+ | |- | ||
+ | | <code>WIFI_CHAN_WIDTH_10 = 7;</code> | ||
+ | | 10 MHz OFDM channel | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi signal types''' <code> WIFI_SIGNAL_TYPE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux cfg80211.h CFG80211_SIGNAL_TYPE_* | ||
+ | |- | ||
+ | | <code>WIFI_SIGNAL_TYPE_NONE = 0;</code> | ||
+ | | No signal strength information available | ||
+ | |- | ||
+ | | <code>WIFI_SIGNAL_TYPE_MBM = 1;</code> | ||
+ | | Signal strength in mBm (100*dBm) | ||
+ | |- | ||
+ | | <code>WIFI_SIGNAL_TYPE_UNSPEC = 2;</code> | ||
+ | | Signal strength, increasing from 0 through 100 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi TX power adjustment''' <code> WIFI_TX_POWER_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux nl80211.h NL80211_TX_POWER_* | ||
+ | |- | ||
+ | | <code>WIFI_TX_POWER_AUTOMATIC = 0;</code> | ||
+ | | Automatically determine transmit power | ||
+ | |- | ||
+ | | <code>WIFI_TX_POWER_LIMITED = 1;</code> | ||
+ | | Limit TX power by the mBm parameter | ||
+ | |- | ||
+ | | <code>WIFI_TX_POWER_FIXED = 2;</code> | ||
+ | | Fix TX power to the mBm parameter | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi RX flags''' <code> WIFI_RX_FLAG_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h RX_FLAG_* | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_MMIC_ERROR = (1 shl 0);</code> | ||
+ | | Michael MIC error was reported on this frame | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_DECRYPTED = (1 shl 1);</code> | ||
+ | | This frame was decrypted in hardware | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_MMIC_STRIPPED = (1 shl 3);</code> | ||
+ | | The Michael MIC is stripped off this frame, verification has been done by the hardware. | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_IV_STRIPPED = (1 shl 4);</code> | ||
+ | | The IV/ICV are stripped from this frame | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_FAILED_FCS_CRC = (1 shl 5);</code> | ||
+ | | Set this flag if the FCS check failed on the frame | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_FAILED_PLCP_CRC = (1 shl 6);</code> | ||
+ | | Set this flag if the PCLP check failed on the frame | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_MACTIME_START = (1 shl 7);</code> | ||
+ | | The timestamp passed in the RX status MACTime field is valid and contains the time the first symbol of the MPDU was received | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_SHORTPRE = (1 shl 8);</code> | ||
+ | | Short preamble was used for this frame | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_HT = (1 shl 9);</code> | ||
+ | | HT MCS was used and RateIndex is MCS index | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_40MHZ = (1 shl 10);</code> | ||
+ | | HT40 (40 MHz) was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_SHORT_GI = (1 shl 11);</code> | ||
+ | | Short guard interval was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_NO_SIGNAL_VAL = (1 shl 12);</code> | ||
+ | | The signal strength value is not present. Valid only for data frames (mainly A-MPDU). | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_HT_GF = (1 shl 13);</code> | ||
+ | | This frame was received in a HT-greenfield transmission | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_DETAILS = (1 shl 14);</code> | ||
+ | | A-MPDU details are known | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_REPORT_ZEROLEN = (1 shl 15);</code> | ||
+ | | Driver reports 0-length subframes | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_IS_ZEROLEN = (1 shl 16);</code> | ||
+ | | This is a zero-length subframe | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_LAST_KNOWN = (1 shl 17);</code> | ||
+ | | Last subframe is known | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_IS_LAST = (1 shl 18);</code> | ||
+ | | This subframe is the last subframe of the A-MPDU | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_DELIM_CRC_ERROR = (1 shl 19);</code> | ||
+ | | A delimiter CRC error has been detected on this subframe | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMPDU_DELIM_CRC_KNOWN = (1 shl 20);</code> | ||
+ | | The delimiter CRC field is known | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_MACTIME_END = (1 shl 21);</code> | ||
+ | | The timestamp passed in the RX status MACTime field is valid and contains the time the last symbol of the MPDU (including FCS) was received | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_VHT = (1 shl 22);</code> | ||
+ | | HT MCS was used and RateIndex is MCS index | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_LDPC = (1 shl 23);</code> | ||
+ | | LDPC was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_STBC_MASK = (1 shl 26) or (1 shl 27);</code> | ||
+ | | STBC 2 bit bitmask. 1 - Nss=1, 2 - Nss=2, 3 - Nss=3 | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_10MHZ = (1 shl 28);</code> | ||
+ | | 10 MHz (half channel) was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_5MHZ = (1 shl 29);</code> | ||
+ | | 5 MHz (quarter channel) was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_AMSDU_MORE = (1 shl 30);</code> | ||
+ | | Some drivers may prefer to report separate A-MSDU subframes instead of a one huge frame for performance reasons | ||
+ | |- | ||
+ | | <code>WIFI_RX_FLAG_RADIOTAP_VENDOR_DATA = (1 shl 31);</code> | ||
+ | | This frame contains vendor-specific radiotap data in the data (before the frame) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''WiFi RX VHT flags''' <code> WIFI_RX_VHT_FLAG_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: As per Linux mac80211.h RX_VHT_FLAG_* | ||
+ | |- | ||
+ | | <code>WIFI_RX_VHT_FLAG_80MHZ = (1 shl 0);</code> | ||
+ | | 80 MHz was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_VHT_FLAG_160MHZ = (1 shl 1);</code> | ||
+ | | 160 MHz was used | ||
+ | |- | ||
+ | | <code>WIFI_RX_VHT_FLAG_BF = (1 shl 2);</code> | ||
+ | | Packet was beamformed | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Type definitions === | === Type definitions === | ||
---- | ---- | ||
− | '' | + | |
+ | '''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>MaxBurstSize: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 /> | ||
+ | |||
+ | === Class definitions === | ||
+ | ---- | ||
+ | |||
+ | |||
+ | '''WiFi specific classes''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWiFiAdapter|<code>TWiFiAdapter = class(TNetworkAdapter)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TEAPOLTransportAdapter|<code>TEAPOLTransportAdapter = class(TTransportAdapter)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TEAPOLTransport|<code>TEAPOLTransport = class(TNetworkTransport)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TRSNTransportAdapter|<code>TRSNTransportAdapter = class(TTransportAdapter)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TRSNTransport|<code>TRSNTransport = class(TNetworkTransport)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
---- | ---- | ||
− | '' | + | ''None defined'' |
=== Function declarations === | === Function declarations === | ||
---- | ---- | ||
− | |||
+ | '''Initialization functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure WiFiInit;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiStart(Data:Pointer; Event:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiStop(Data:Pointer; Event:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiStartCompleted:Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Return | ||
+ | | Returns True if the WiFi sub system has been started | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''WiFi functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord; </pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceCreate:PWiFiDevice;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Create a new WiFi entry</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Return | ||
+ | | Pointer to new WiFi entry or nil if entry could not be created | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceCreateEx(Size:LongWord):PWiFiDevice;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Create a new WiFi entry</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Size | ||
+ | | Size in bytes to allocate for new entry (Including the WiFi entry) | ||
+ | |- | ||
+ | ! Return | ||
+ | | Pointer to new WiFi entry or nil if entry could not be created | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceDestroy(WiFi:PWiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceRegister(WiFi:PWiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiDeviceDeregister(WiFi:PWiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''WiFi helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiConfigurationIsHT(Configuration:PWiFiConfiguration):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | conf_is_ht | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiConfigurationIsHT20(Configuration:PWiFiConfiguration):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | conf_is_ht20 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiConfigurationIsHT40(Configuration:PWiFiConfiguration):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | conf_is_ht40 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiConfigurationIsHT40Plus(Configuration:PWiFiConfiguration):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | conf_is_ht40_plus | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiConfigurationIsHT40Minus(Configuration:PWiFiConfiguration):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | conf_is_ht40_minus | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure WiFiNetworkDeviceAdd(Event:PWiFiDeviceEvent);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiNetworkDeviceRemove(Network:PNetworkDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function WiFiNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''IEEE 802.11 helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasToDS(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_TODS is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_tods | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasFromDS(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_FROMDS is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_fromds | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasA4(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_TODS and IEEE80211_FCTL_FROMDS are set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_a4 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasMoreFrags(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_MOREFRAGS is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_morefrags | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasRetry(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_RETRY is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_retry | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasPM(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_PM is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_pm | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasMoreData(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_MOREDATA is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_moredata | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasProtected(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_PROTECTED is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_protected | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HasOrder(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FCTL_ORDER is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_has_order | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsMgmt(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if type is IEEE80211_FTYPE_MGMT</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_mgmt | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsCtl(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if type is IEEE80211_FTYPE_CTL</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_ctl | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsData(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if type is IEEE80211_FTYPE_DATA</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_data | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsDataQoS(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if type is IEEE80211_FTYPE_DATA and IEEE80211_STYPE_QOS_DATA is set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_data_qos | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsDataPresent(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if type is IEEE80211_FTYPE_DATA and has data</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_data_present | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsAssocReq(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_REQ</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_assoc_req | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsAssocResp(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_RESP</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_assoc_resp | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsReassocReq(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_REQ</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_reassoc_req | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsReassocResp(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_RESP</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_reassoc_resp | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsProbeReq(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_REQ</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_probe_req | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsProbeResp(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_RESP</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_probe_resp | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsBeacon(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_BEACON</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_beacon | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsATIM(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ATIM</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_atim | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsDisassoc(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DISASSOC</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_disassoc | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsAuth(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_AUTH</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_auth | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsDeauth(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DEAUTH</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_deauth | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsAction(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ACTION</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_action | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsBackReq(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK_REQ</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_back_req | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsBack(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_back | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsPSPoll(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_PSPOLL</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_pspoll | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsRTS(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_RTS</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_rts | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsCTS(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CTS</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_cts | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsACK(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_ACK</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_ack | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsCFEnd(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFEND</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_cfend | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsCFEndAck(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFENDACK</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_cfendack | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsNullFunc(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if frame is a regular (non-QoS) nullfunc frame</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_nullfunc | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsQoSNullFunc(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if frame is a QoS nullfunc frame</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_qos_nullfunc | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsBufferableMMPDU(FrameControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if frame is bufferable MMPDU</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_bufferable_mmpdu | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211IsFirstFrag(SequenceControl:Word):Boolean; inline;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if IEEE80211_SCTL_FRAG is not set</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_is_first_frag | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HeaderLength(FrameControl:Word):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_hdrlen | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211HeaderLengthFromBuffer(Data:Pointer; Size:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_get_hdrlen_from_skb | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211MCSToChains(MCS:PIEEE80211MCSInfo):Byte;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_mcs_to_chains | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211ChannelToFrequency(Channel:Integer; Band:LongWord):Integer;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_channel_to_frequency | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211FrequencyToChannel(Frequency:Integer):Integer;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee80211_frequency_to_channel | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure IEEE80211InitializeChannelDefinition(Definition:PIEEE80211ChannelDefinition; Channel:PIEEE80211Channel; ChannelType:LongWord);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | cfg80211_chandef_create | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211FindInformationElement(Identifier:Byte; InformationElement:PByte; ElementLength:LongWord):PByte;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | cfg80211_find_ie | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function IEEE80211ParseInformationElements(Buffer:Pointer; Size:LongWord; Action:Boolean; Elements:PIEEE80211InformationElements):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | ieee802_11_parse_elems_crc | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
Return to [[Unit_Reference|Unit Reference]] | Return to [[Unit_Reference|Unit Reference]] |
Latest revision as of 05:33, 31 August 2021
Return to Unit Reference
Contents
Description
Ultibo WiFi (IEEE 802.11 / WPA) Interface unit
Constants
IEEE80211_*
Note: As per Linux ieee80211.h | |
IEEE80211_FCS_LEN = 4;
|
|
IEEE80211_FCTL_VERS = $0003;
|
|
IEEE80211_FCTL_FTYPE = $000c;
|
|
IEEE80211_FCTL_STYPE = $00f0;
|
|
IEEE80211_FCTL_TODS = $0100;
|
|
IEEE80211_FCTL_FROMDS = $0200;
|
|
IEEE80211_FCTL_MOREFRAGS = $0400;
|
|
IEEE80211_FCTL_RETRY = $0800;
|
|
IEEE80211_FCTL_PM = $1000;
|
|
IEEE80211_FCTL_MOREDATA = $2000;
|
|
IEEE80211_FCTL_PROTECTED = $4000;
|
|
IEEE80211_FCTL_ORDER = $8000;
|
|
IEEE80211_FCTL_CTL_EXT = $0f00;
|
|
IEEE80211_SCTL_FRAG = $000F;
|
|
IEEE80211_SCTL_SEQ = $FFF0;
|
|
IEEE80211_FTYPE_MGMT = $0000;
|
|
IEEE80211_FTYPE_CTL = $0004;
|
|
IEEE80211_FTYPE_DATA = $0008;
|
|
IEEE80211_FTYPE_EXT = $000c;
|
IEEE80211_STYPE_ASSOC_*
IEEE80211_STYPE_ASSOC_REQ = $0000;
|
|
IEEE80211_STYPE_ASSOC_RESP = $0010;
|
|
IEEE80211_STYPE_REASSOC_REQ = $0020;
|
|
IEEE80211_STYPE_REASSOC_RESP = $0030;
|
|
IEEE80211_STYPE_PROBE_REQ = $0040;
|
|
IEEE80211_STYPE_PROBE_RESP = $0050;
|
|
IEEE80211_STYPE_BEACON = $0080;
|
|
IEEE80211_STYPE_ATIM = $0090;
|
|
IEEE80211_STYPE_DISASSOC = $00A0;
|
|
IEEE80211_STYPE_AUTH = $00B0;
|
|
IEEE80211_STYPE_DEAUTH = $00C0;
|
|
IEEE80211_STYPE_ACTION = $00D0;
|
IEEE80211_STYPE_CTL_*
IEEE80211_STYPE_CTL_EXT = $0060;
|
|
IEEE80211_STYPE_BACK_REQ = $0080;
|
|
IEEE80211_STYPE_BACK = $0090;
|
|
IEEE80211_STYPE_PSPOLL = $00A0;
|
|
IEEE80211_STYPE_RTS = $00B0;
|
|
IEEE80211_STYPE_CTS = $00C0;
|
|
IEEE80211_STYPE_ACK = $00D0;
|
|
IEEE80211_STYPE_CFEND = $00E0;
|
|
IEEE80211_STYPE_CFENDACK = $00F0;
|
IEEE80211_STYPE_DATA*
IEEE80211_STYPE_DATA = $0000;
|
|
IEEE80211_STYPE_DATA_CFACK = $0010;
|
|
IEEE80211_STYPE_DATA_CFPOLL = $0020;
|
|
IEEE80211_STYPE_DATA_CFACKPOLL = $0030;
|
|
IEEE80211_STYPE_NULLFUNC = $0040;
|
|
IEEE80211_STYPE_CFACK = $0050;
|
|
IEEE80211_STYPE_CFPOLL = $0060;
|
|
IEEE80211_STYPE_CFACKPOLL = $0070;
|
|
IEEE80211_STYPE_QOS_DATA = $0080;
|
|
IEEE80211_STYPE_QOS_DATA_CFACK = $0090;
|
|
IEEE80211_STYPE_QOS_DATA_CFPOLL = $00A0;
|
|
IEEE80211_STYPE_QOS_DATA_CFACKPOLL = $00B0;
|
|
IEEE80211_STYPE_QOS_NULLFUNC = $00C0;
|
|
IEEE80211_STYPE_QOS_CFACK = $00D0;
|
|
IEEE80211_STYPE_QOS_CFPOLL = $00E0;
|
|
IEEE80211_STYPE_QOS_CFACKPOLL = $00F0;
|
IEEE80211_STYPE_DMG_*
Note: Extension added by 802.11ad | |
IEEE80211_STYPE_DMG_BEACON = $0000;
|
IEEE80211_CTL_EXT_*
Note: Control extension - for IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTL_EXT | |
IEEE80211_CTL_EXT_POLL = $2000;
|
|
IEEE80211_CTL_EXT_SPR = $3000;
|
|
IEEE80211_CTL_EXT_GRANT = $4000;
|
|
IEEE80211_CTL_EXT_DMG_CTS = $5000;
|
|
IEEE80211_CTL_EXT_DMG_DTS = $6000;
|
|
IEEE80211_CTL_EXT_SSW = $8000;
|
|
IEEE80211_CTL_EXT_SSW_FBACK = $9000;
|
|
IEEE80211_CTL_EXT_SSW_ACK = $a000;
|
IEEE80211_MAX_*, IEEE80211_NUM_*
IEEE80211_MAX_FRAG_THRESHOLD = 2352;
|
|
IEEE80211_MAX_RTS_THRESHOLD = 2353;
|
|
IEEE80211_MAX_AID = 2007;
|
|
IEEE80211_MAX_TIM_LEN = 251;
|
|
IEEE80211_MAX_MESH_PEERINGS = 63;
|
|
Maximum size for the MA-UNITDATA primitive, 802.11 standard section 6.2.1.1.2.
802.11e clarifies the figure in section 7.1.2. The frame body is up to 2304 octets long (maximum MSDU size) plus any crypt overhead. | |
IEEE80211_MAX_DATA_LEN = 2304;
|
|
802.11ad extends maximum MSDU size for DMG (freq > 40Ghz) networks to 7920 bytes, see 8.2.3 General frame format. | |
IEEE80211_MAX_DATA_LEN_DMG = 7920;
|
|
30 byte 4 addr hdr, 2 byte QoS, 2304 byte MSDU, 12 byte crypt, 4 byte FCS | |
IEEE80211_MAX_FRAME_LEN = 2352;
|
|
IEEE80211_MAX_SSID_LEN = 32;
|
|
IEEE80211_MAX_MESH_ID_LEN = 32;
|
|
IEEE80211_FIRST_TSPEC_TSID = 8;
|
|
IEEE80211_NUM_TIDS = 16;
|
|
IEEE80211_MAX_CHAINS = 4;
|
|
Number of user priorities 802.11 uses | |
IEEE80211_NUM_UPS = 8;
|
IEEE80211_QOS_CTL_LEN*
IEEE80211_QOS_CTL_LEN = 2;
|
IEEE80211_QOS_CTL_*_MASK*
IEEE80211_QOS_CTL_TAG1D_MASK = $0007;
|
1d tag mask |
IEEE80211_QOS_CTL_TID_MASK = $000f;
|
TID mask |
IEEE80211_QOS_CTL_EOSP = $0010;
|
EOSP |
IEEE80211_QOS_CTL_ACK_POLICY_NORMAL = $0000;
|
ACK policy |
IEEE80211_QOS_CTL_ACK_POLICY_NOACK = $0020;
|
|
IEEE80211_QOS_CTL_ACK_POLICY_NO_EXPL = $0040;
|
|
IEEE80211_QOS_CTL_ACK_POLICY_BLOCKACK = $0060;
|
|
IEEE80211_QOS_CTL_ACK_POLICY_MASK = $0060;
|
|
IEEE80211_QOS_CTL_A_MSDU_PRESENT = $0080;
|
A-MSDU 802.11n |
IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT = $0100;
|
Mesh Control 802.11s |
IEEE80211_QOS_CTL_MESH_PS_LEVEL = $0200;
|
Mesh Power Save Level |
IEEE80211_QOS_CTL_RSPI = $0400;
|
Mesh Receiver Service Period Initiated |
IEEE80211_WMM_IE_AP_*
IEEE80211_WMM_IE_AP_QOSINFO_UAPSD = (1 shl 7);
|
|
IEEE80211_WMM_IE_AP_QOSINFO_PARAM_SET_CNT_MASK = $0f;
|
IEEE80211_WMM_IE_STA_*
IEEE80211_WMM_IE_STA_QOSINFO_AC_VO = (1 shl 0);
|
|
IEEE80211_WMM_IE_STA_QOSINFO_AC_VI = (1 shl 1);
|
|
IEEE80211_WMM_IE_STA_QOSINFO_AC_BK = (1 shl 2);
|
|
IEEE80211_WMM_IE_STA_QOSINFO_AC_BE = (1 shl 3);
|
|
IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK = $0f;
|
IEEE80211_WMM_IE_STA_*_SP_*
IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL = $00;
|
|
IEEE80211_WMM_IE_STA_QOSINFO_SP_2 = $01;
|
|
IEEE80211_WMM_IE_STA_QOSINFO_SP_4 = $02;
|
|
IEEE80211_WMM_IE_STA_QOSINFO_SP_6 = $03;
|
|
IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK = $03;
|
|
IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT = 5;
|
IEEE80211_HT_CTL_LEN*
IEEE80211_HT_CTL_LEN = 4;
|
IEEE80211_MESH_FLAGS_*
IEEE80211_MESH_FLAGS_AE_A4 = $1;
|
|
IEEE80211_MESH_FLAGS_AE_A5_A6 = $2;
|
|
IEEE80211_MESH_FLAGS_AE = $3;
|
|
IEEE80211_MESH_FLAGS_PS_DEEP = $4;
|
IEEE80211_PREQ_PROACTIVE_*_FLAG*
IEEE80211_PREQ_PROACTIVE_PREP_FLAG = (1 shl 2);
|
Proactive PREP subfield |
IEEE80211_PREQ_*_FLAG*
IEEE80211_PREQ_TO_FLAG = (1 shl 0);
|
Target only subfield |
IEEE80211_PREQ_USN_FLAG = (1 shl 2);
|
Unknown target HWMP sequence number subfield |
IEEE80211_MESHCONF_CAPAB_*
IEEE80211_MESHCONF_CAPAB_ACCEPT_PLINKS = $01;
|
STA is willing to establish additional mesh peerings with other mesh STAs |
IEEE80211_MESHCONF_CAPAB_FORWARDING = $08;
|
The STA forwards MSDUs |
IEEE80211_MESHCONF_CAPAB_TBTT_ADJUSTING = $20;
|
TBTT adjustment procedure is ongoing |
IEEE80211_MESHCONF_CAPAB_POWER_SAVE_LEVEL = $40;
|
STA is in deep sleep mode or has neighbors in deep sleep mode |
WLAN_EID_CHAN_SWITCH_PARAM_*
WLAN_EID_CHAN_SWITCH_PARAM_TX_RESTRICT = (1 shl 0);
|
|
WLAN_EID_CHAN_SWITCH_PARAM_INITIATOR = (1 shl 1);
|
|
WLAN_EID_CHAN_SWITCH_PARAM_REASON = (1 shl 2);
|
IEEE80211_RANN_FLAG_*
IEEE80211_RANN_FLAG_IS_GATE = (1 shl 0);
|
IEEE80211_HT_CHANWIDTH_*
IEEE80211_HT_CHANWIDTH_20MHZ = 0;
|
|
IEEE80211_HT_CHANWIDTH_ANY = 1;
|
IEEE80211_OPMODE_*
IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK = 3;
|
|
IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ = 0;
|
|
IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ = 1;
|
|
IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ = 2;
|
|
IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ = 3;
|
|
IEEE80211_OPMODE_NOTIF_RX_NSS_MASK = $70;
|
|
IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT = 4;
|
|
IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF = $80;
|
WLAN_SA_QUERY_*_*_LEN*
WLAN_SA_QUERY_TR_ID_LEN = 2;
|
IEEE80211_BSS_*
Note: Supported Rates value encodings in 802.11n-2009 7.3.2.2 | |
IEEE80211_BSS_MEMBERSHIP_SELECTOR_HT_PHY = 127;
|
IEEE80211_P2P_*
IEEE80211_P2P_ATTR_STATUS = 0;
|
|
IEEE80211_P2P_ATTR_MINOR_REASON = 1;
|
|
IEEE80211_P2P_ATTR_CAPABILITY = 2;
|
|
IEEE80211_P2P_ATTR_DEVICE_ID = 3;
|
|
IEEE80211_P2P_ATTR_GO_INTENT = 4;
|
|
IEEE80211_P2P_ATTR_GO_CONFIG_TIMEOUT = 5;
|
|
IEEE80211_P2P_ATTR_LISTEN_CHANNEL = 6;
|
|
IEEE80211_P2P_ATTR_GROUP_BSSID = 7;
|
|
IEEE80211_P2P_ATTR_EXT_LISTEN_TIMING = 8;
|
|
IEEE80211_P2P_ATTR_INTENDED_IFACE_ADDR = 9;
|
|
IEEE80211_P2P_ATTR_MANAGABILITY = 10;
|
|
IEEE80211_P2P_ATTR_CHANNEL_LIST = 11;
|
|
IEEE80211_P2P_ATTR_ABSENCE_NOTICE = 12;
|
|
IEEE80211_P2P_ATTR_DEVICE_INFO = 13;
|
|
IEEE80211_P2P_ATTR_GROUP_INFO = 14;
|
|
IEEE80211_P2P_ATTR_GROUP_ID = 15;
|
|
IEEE80211_P2P_ATTR_INTERFACE = 16;
|
|
IEEE80211_P2P_ATTR_OPER_CHANNEL = 17;
|
|
IEEE80211_P2P_ATTR_INVITE_FLAGS = 18;
|
|
19 - 220: Reserved | |
IEEE80211_P2P_ATTR_VENDOR_SPECIFIC = 221;
|
|
IEEE80211_P2P_ATTR_MAX = 222;
|
|
IEEE80211_P2P_NOA_DESC_MAX = 4;
|
|
IEEE80211_P2P_OPPPS_ENABLE_BIT = (1 shl 7);
|
|
IEEE80211_P2P_OPPPS_CTWINDOW_MASK = $7F;
|
IEEE80211_BAR_CTRL_*
IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL = $0000;
|
|
IEEE80211_BAR_CTRL_MULTI_TID = $0002;
|
|
IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA = $0004;
|
|
IEEE80211_BAR_CTRL_TID_INFO_MASK = $f000;
|
|
IEEE80211_BAR_CTRL_TID_INFO_SHIFT = 12;
|
IEEE80211_HT_MCS_*_LEN*
IEEE80211_HT_MCS_MASK_LEN = 10;
|
IEEE80211_HT_MCS_*
IEEE80211_HT_MCS_RX_HIGHEST_MASK = $3ff;
|
|
IEEE80211_HT_MCS_TX_DEFINED = $01;
|
|
IEEE80211_HT_MCS_TX_RX_DIFF = $02;
|
|
IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK = $0C;
|
value 0 == 1 stream etc |
IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT = 2;
|
|
IEEE80211_HT_MCS_TX_MAX_STREAMS = 4;
|
|
IEEE80211_HT_MCS_TX_UNEQUAL_MODULATION = $10;
|
|
802.11n D5.0 20.3.5 / 20.6 says:
- indices 0 to 7 and 32 are single spatial stream
| |
[8..15 for two streams, 16..23 for three and 24..31 for four]
- remainder are multiple spatial streams using unequal modulation | |
IEEE80211_HT_MCS_UNEQUAL_MODULATION_START = 33;
|
|
IEEE80211_HT_MCS_UNEQUAL_MODULATION_START_BYTE = (IEEE80211_HT_MCS_UNEQUAL_MODULATION_START div 8);
|
IEEE80211_HT_CAP_*
Note: For CapabilitiesInfo | |
IEEE80211_HT_CAP_LDPC_CODING = $0001;
|
|
IEEE80211_HT_CAP_SUP_WIDTH_20_40 = $0002;
|
|
IEEE80211_HT_CAP_SM_PS = $000C;
|
|
IEEE80211_HT_CAP_SM_PS_SHIFT = 2;
|
|
IEEE80211_HT_CAP_GRN_FLD = $0010;
|
|
IEEE80211_HT_CAP_SGI_20 = $0020;
|
|
IEEE80211_HT_CAP_SGI_40 = $0040;
|
|
IEEE80211_HT_CAP_TX_STBC = $0080;
|
|
IEEE80211_HT_CAP_RX_STBC = $0300;
|
|
IEEE80211_HT_CAP_RX_STBC_SHIFT = 8;
|
|
IEEE80211_HT_CAP_DELAY_BA = $0400;
|
|
IEEE80211_HT_CAP_MAX_AMSDU = $0800;
|
|
IEEE80211_HT_CAP_DSSSCCK40 = $1000;
|
|
IEEE80211_HT_CAP_RESERVED = $2000;
|
|
IEEE80211_HT_CAP_40MHZ_INTOLERANT = $4000;
|
|
IEEE80211_HT_CAP_LSIG_TXOP_PROT = $8000;
|
IEEE80211_HT_EXT_CAP_*
Note: For ExtendedHTCapInfo | |
IEEE80211_HT_EXT_CAP_PCO = $0001;
|
|
IEEE80211_HT_EXT_CAP_PCO_TIME = $0006;
|
|
IEEE80211_HT_EXT_CAP_PCO_TIME_SHIFT = 1;
|
|
IEEE80211_HT_EXT_CAP_MCS_FB = $0300;
|
|
IEEE80211_HT_EXT_CAP_MCS_FB_SHIFT = 8;
|
|
IEEE80211_HT_EXT_CAP_HTC_SUP = $0400;
|
|
IEEE80211_HT_EXT_CAP_RD_RESPONDER = $0800;
|
IEEE80211_HT_AMPDU_PARM_*
Note: For AMPDUParamsInfo | |
IEEE80211_HT_AMPDU_PARM_FACTOR = $03;
|
|
IEEE80211_HT_AMPDU_PARM_DENSITY = $1C;
|
|
IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT = 2;
|
IEEE80211_HT_MAX_AMPDU_*
Note: Maximum length of AMPDU that the STA can receive in high-throughput (HT). Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets)
As per Linux ieee80211.h ieee80211_max_ampdu_length_exp | |
IEEE80211_HT_MAX_AMPDU_8K = 0;
|
|
IEEE80211_HT_MAX_AMPDU_16K = 1;
|
|
IEEE80211_HT_MAX_AMPDU_32K = 2;
|
|
IEEE80211_HT_MAX_AMPDU_64K = 3;
|
IEEE80211_VHT_MAX_AMPDU_*
Note: Maximum length of AMPDU that the STA can receive in VHT.Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets)
As per Linux ieee80211.h ieee80211_vht_max_ampdu_length_exp | |
IEEE80211_VHT_MAX_AMPDU_8K = 0;
|
|
IEEE80211_VHT_MAX_AMPDU_16K = 1;
|
|
IEEE80211_VHT_MAX_AMPDU_32K = 2;
|
|
IEEE80211_VHT_MAX_AMPDU_64K = 3;
|
|
IEEE80211_VHT_MAX_AMPDU_128K = 4;
|
|
IEEE80211_VHT_MAX_AMPDU_256K = 5;
|
|
IEEE80211_VHT_MAX_AMPDU_512K = 6;
|
|
IEEE80211_VHT_MAX_AMPDU_1024K = 7;
|
|
IEEE80211_HT_MAX_AMPDU_FACTOR = 13;
|
IEEE80211_HT_MPDU_DENSITY_*
Note: Minimum MPDU start spacing
As per Linux ieee80211.h ieee80211_min_mpdu_spacing | |
IEEE80211_HT_MPDU_DENSITY_NONE = 0;
|
No restriction |
IEEE80211_HT_MPDU_DENSITY_0_25 = 1;
|
1/4 usec |
IEEE80211_HT_MPDU_DENSITY_0_5 = 2;
|
1/2 usec |
IEEE80211_HT_MPDU_DENSITY_1 = 3;
|
1 usec |
IEEE80211_HT_MPDU_DENSITY_2 = 4;
|
2 usec |
IEEE80211_HT_MPDU_DENSITY_4 = 5;
|
4 usec |
IEEE80211_HT_MPDU_DENSITY_8 = 6;
|
8 usec |
IEEE80211_HT_MPDU_DENSITY_16 = 7;
|
16 usec |
IEEE80211_HT_PARAM_*
Note: For HT operation IE HTParam | |
IEEE80211_HT_PARAM_CHA_SEC_OFFSET = $03;
|
|
IEEE80211_HT_PARAM_CHA_SEC_NONE = $00;
|
|
IEEE80211_HT_PARAM_CHA_SEC_ABOVE = $01;
|
|
IEEE80211_HT_PARAM_CHA_SEC_BELOW = $03;
|
|
IEEE80211_HT_PARAM_CHAN_WIDTH_ANY = $04;
|
|
IEEE80211_HT_PARAM_RIFS_MODE = $08;
|
IEEE80211_HT_OP_MODE_*
Note: For HT operation IE OperationMode | |
IEEE80211_HT_OP_MODE_PROTECTION = $0003;
|
|
IEEE80211_HT_OP_MODE_PROTECTION_NONE = 0;
|
|
IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER = 1;
|
|
IEEE80211_HT_OP_MODE_PROTECTION_20MHZ = 2;
|
|
IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED = 3;
|
|
IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT = $0004;
|
|
IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT = $0010;
|
IEEE80211_HT_STBC_PARAM_*
Note: For HT operation IE STBCParam | |
IEEE80211_HT_STBC_PARAM_DUAL_BEACON = $0040;
|
|
IEEE80211_HT_STBC_PARAM_DUAL_CTS_PROT = $0080;
|
|
IEEE80211_HT_STBC_PARAM_STBC_BEACON = $0100;
|
|
IEEE80211_HT_STBC_PARAM_LSIG_TXOP_FULLPROT = $0200;
|
|
IEEE80211_HT_STBC_PARAM_PCO_ACTIVE = $0400;
|
|
IEEE80211_HT_STBC_PARAM_PCO_PHASE = $0800;
|
IEEE80211_*_PARAM_*
IEEE80211_ADDBA_PARAM_AMSDU_MASK = $0001;
|
|
IEEE80211_ADDBA_PARAM_POLICY_MASK = $0002;
|
|
IEEE80211_ADDBA_PARAM_TID_MASK = $003C;
|
|
IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK = $FFC0;
|
|
IEEE80211_DELBA_PARAM_TID_MASK = $F000;
|
|
IEEE80211_DELBA_PARAM_INITIATOR_MASK = $0800;
|
IEEE80211_*_AMPDU_BUF*
Note: According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2) | |
IEEE80211_MIN_AMPDU_BUF = $8;
|
|
IEEE80211_MAX_AMPDU_BUF = $40;
|
WLAN_HT_CAP_SM_PS_*
Note: Spatial Multiplexing Power Save Modes (for capability) | |
WLAN_HT_CAP_SM_PS_STATIC = 0;
|
|
WLAN_HT_CAP_SM_PS_DYNAMIC = 1;
|
|
WLAN_HT_CAP_SM_PS_INVALID = 2;
|
|
WLAN_HT_CAP_SM_PS_DISABLED = 3;
|
WLAN_HT_SMPS_CONTROL_*
Note: For SM power control field lower two bits | |
WLAN_HT_SMPS_CONTROL_DISABLED = 0;
|
|
WLAN_HT_SMPS_CONTROL_STATIC = 1;
|
|
WLAN_HT_SMPS_CONTROL_DYNAMIC = 3;
|
IEEE80211_VHT_MCS_SUPPORT_*
Note: These definitions are used in each 2-bit subfield of the RXMCSMap and TXMCSMap fields of TIEEE8021VHTMCSInfo, which are both split into 8 subfields by number of streams. These values indicate which MCSes are supported for the number of streams the value appears for. | |
IEEE80211_VHT_MCS_SUPPORT_0_7 = 0;
|
MCSes 0-7 are supported for the number of streams |
IEEE80211_VHT_MCS_SUPPORT_0_8 = 1;
|
MCSes 0-8 are supported |
IEEE80211_VHT_MCS_SUPPORT_0_9 = 2;
|
MCSes 0-9 are supported |
IEEE80211_VHT_MCS_NOT_SUPPORTED = 3;
|
This number of streams isn't supported |
IEEE80211_VHT_CHANWIDTH_*
IEEE80211_VHT_CHANWIDTH_USE_HT = 0;
|
Use the HT operation IE to determine the channel width (20 or 40 MHz) |
IEEE80211_VHT_CHANWIDTH_80MHZ = 1;
|
80 MHz bandwidth |
IEEE80211_VHT_CHANWIDTH_160MHZ = 2;
|
160 MHz bandwidth |
IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3;
|
80+80 MHz bandwidth |
IEEE80211_VHT_CAP_*
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 = $00000000;
|
|
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 = $00000001;
|
|
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 = $00000002;
|
|
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ = $00000004;
|
|
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ = $00000008;
|
|
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK = $0000000C;
|
|
IEEE80211_VHT_CAP_RXLDPC = $00000010;
|
|
IEEE80211_VHT_CAP_SHORT_GI_80 = $00000020;
|
|
IEEE80211_VHT_CAP_SHORT_GI_160 = $00000040;
|
|
IEEE80211_VHT_CAP_TXSTBC = $00000080;
|
|
IEEE80211_VHT_CAP_RXSTBC_1 = $00000100;
|
|
IEEE80211_VHT_CAP_RXSTBC_2 = $00000200;
|
|
IEEE80211_VHT_CAP_RXSTBC_3 = $00000300;
|
|
IEEE80211_VHT_CAP_RXSTBC_4 = $00000400;
|
|
IEEE80211_VHT_CAP_RXSTBC_MASK = $00000700;
|
|
IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE = $00000800;
|
|
IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE = $00001000;
|
|
IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT = 13;
|
|
IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK = (7 shl IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT);
|
|
IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT = 16;
|
|
IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK = (7 shl IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT);
|
|
IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE = $00080000;
|
|
IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE = $00100000;
|
|
IEEE80211_VHT_CAP_VHT_TXOP_PS = $00200000;
|
|
IEEE80211_VHT_CAP_HTC_VHT = $00400000;
|
|
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT = 23;
|
|
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK = (7 shl IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT);
|
|
IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB = $08000000;
|
|
IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB = $0c000000;
|
|
IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN = $10000000;
|
|
IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN = $20000000;
|
WLAN_AUTH_*
WLAN_AUTH_OPEN = 0;
|
|
WLAN_AUTH_SHARED_KEY = 1;
|
|
WLAN_AUTH_FT = 2;
|
|
WLAN_AUTH_SAE = 3;
|
|
WLAN_AUTH_LEAP = 128;
|
|
WLAN_AUTH_CHALLENGE_LEN = 128;
|
WLAN_CAPABILITY_*
WLAN_CAPABILITY_ESS = (1 shl 0);
|
|
WLAN_CAPABILITY_IBSS = (1 shl 1);
|
|
Note: A mesh STA sets the ESS and IBSS capability bits to zero. However, this holds true for p2p probe responses (in the p2p_find phase) as well. | |
WLAN_CAPABILITY_CF_POLLABLE = (1 shl 2);
|
|
WLAN_CAPABILITY_CF_POLL_REQUEST = (1 shl 3);
|
|
WLAN_CAPABILITY_PRIVACY = (1 shl 4);
|
|
WLAN_CAPABILITY_SHORT_PREAMBLE = (1 shl 5);
|
|
WLAN_CAPABILITY_PBCC = (1 shl 6);
|
|
WLAN_CAPABILITY_CHANNEL_AGILITY = (1 shl 7);
|
|
802.11h | |
WLAN_CAPABILITY_SPECTRUM_MGMT = (1 shl 8);
|
|
WLAN_CAPABILITY_QOS = (1 shl 9);
|
|
WLAN_CAPABILITY_SHORT_SLOT_TIME = (1 shl 10);
|
|
WLAN_CAPABILITY_APSD = (1 shl 11);
|
|
WLAN_CAPABILITY_RADIO_MEASURE = (1 shl 12);
|
|
WLAN_CAPABILITY_DSSS_OFDM = (1 shl 13);
|
|
WLAN_CAPABILITY_DEL_BACK = (1 shl 14);
|
|
WLAN_CAPABILITY_IMM_BACK = (1 shl 15);
|
|
DMG (60gHz) 802.11ad | |
Type - bits 0..1 | |
WLAN_CAPABILITY_DMG_TYPE_MASK = (3 shl 0);
|
|
WLAN_CAPABILITY_DMG_TYPE_IBSS = (1 shl 0);
|
Tx by: STA |
WLAN_CAPABILITY_DMG_TYPE_PBSS = (2 shl 0);
|
Tx by: PCP |
WLAN_CAPABILITY_DMG_TYPE_AP = (3 shl 0);
|
Tx by: AP |
WLAN_CAPABILITY_DMG_CBAP_ONLY = (1 shl 2);
|
|
WLAN_CAPABILITY_DMG_CBAP_SOURCE = (1 shl 3);
|
|
WLAN_CAPABILITY_DMG_PRIVACY = (1 shl 4);
|
|
WLAN_CAPABILITY_DMG_ECPAC = (1 shl 5);
|
|
WLAN_CAPABILITY_DMG_SPECTRUM_MGMT = (1 shl 8);
|
|
WLAN_CAPABILITY_DMG_RADIO_MEASURE = (1 shl 12);
|
IEEE80211_SPCT_MSR_*
IEEE80211_SPCT_MSR_RPRT_MODE_LATE = (1 shl 0);
|
|
IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE = (1 shl 1);
|
|
IEEE80211_SPCT_MSR_RPRT_MODE_REFUSED = (1 shl 2);
|
|
IEEE80211_SPCT_MSR_RPRT_TYPE_BASIC = 0;
|
|
IEEE80211_SPCT_MSR_RPRT_TYPE_CCA = 1;
|
|
IEEE80211_SPCT_MSR_RPRT_TYPE_RPI = 2;
|
WLAN_ERP_*
WLAN_ERP_NON_ERP_PRESENT = (1 shl 0);
|
|
WLAN_ERP_USE_PROTECTION = (1 shl 1);
|
|
WLAN_ERP_BARKER_PREAMBLE = (1 shl 2);
|
WLAN_ERP_PREAMBLE_*
WLAN_ERP_PREAMBLE_SHORT = 0;
|
|
WLAN_ERP_PREAMBLE_LONG = 1;
|
IEEE80211_BANDID_*
Note: 802.11ad #8.4.1.45 | |
IEEE80211_BANDID_TV_WS = 0;
|
TV white spaces |
IEEE80211_BANDID_SUB1 = 1;
|
Sub-1 GHz (excluding TV white spaces) |
IEEE80211_BANDID_2G = 2;
|
2.4 GHz |
IEEE80211_BANDID_3G = 3;
|
3.6 GHz |
IEEE80211_BANDID_5G = 4;
|
4.9 and 5 GHz |
IEEE80211_BANDID_60G = 5;
|
60 GHz |
WLAN_STATUS_*
WLAN_STATUS_SUCCESS = 0;
|
|
WLAN_STATUS_UNSPECIFIED_FAILURE = 1;
|
|
WLAN_STATUS_CAPS_UNSUPPORTED = 10;
|
|
WLAN_STATUS_REASSOC_NO_ASSOC = 11;
|
|
WLAN_STATUS_ASSOC_DENIED_UNSPEC = 12;
|
|
WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG = 13;
|
|
WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION = 14;
|
|
WLAN_STATUS_CHALLENGE_FAIL = 15;
|
|
WLAN_STATUS_AUTH_TIMEOUT = 16;
|
|
WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17;
|
|
WLAN_STATUS_ASSOC_DENIED_RATES = 18;
|
|
802.11b | |
WLAN_STATUS_ASSOC_DENIED_NOSHORTPREAMBLE = 19;
|
|
WLAN_STATUS_ASSOC_DENIED_NOPBCC = 20;
|
|
WLAN_STATUS_ASSOC_DENIED_NOAGILITY = 21;
|
|
802.11h | |
WLAN_STATUS_ASSOC_DENIED_NOSPECTRUM = 22;
|
|
WLAN_STATUS_ASSOC_REJECTED_BAD_POWER = 23;
|
|
WLAN_STATUS_ASSOC_REJECTED_BAD_SUPP_CHAN = 24;
|
|
802.11g | |
WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME = 25;
|
|
WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM = 26;
|
|
802.11w | |
WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY = 30;
|
|
WLAN_STATUS_ROBUST_MGMT_FRAME_POLICY_VIOLATION = 31;
|
|
802.11i | |
WLAN_STATUS_INVALID_IE = 40;
|
|
WLAN_STATUS_INVALID_GROUP_CIPHER = 41;
|
|
WLAN_STATUS_INVALID_PAIRWISE_CIPHER = 42;
|
|
WLAN_STATUS_INVALID_AKMP = 43;
|
|
WLAN_STATUS_UNSUPP_RSN_VERSION = 44;
|
|
WLAN_STATUS_INVALID_RSN_IE_CAP = 45;
|
|
WLAN_STATUS_CIPHER_SUITE_REJECTED = 46;
|
|
802.11e | |
WLAN_STATUS_UNSPECIFIED_QOS = 32;
|
|
WLAN_STATUS_ASSOC_DENIED_NOBANDWIDTH = 33;
|
|
WLAN_STATUS_ASSOC_DENIED_LOWACK = 34;
|
|
WLAN_STATUS_ASSOC_DENIED_UNSUPP_QOS = 35;
|
|
WLAN_STATUS_REQUEST_DECLINED = 37;
|
|
WLAN_STATUS_INVALID_QOS_PARAM = 38;
|
|
WLAN_STATUS_CHANGE_TSPEC = 39;
|
|
WLAN_STATUS_WAIT_TS_DELAY = 47;
|
|
WLAN_STATUS_NO_DIRECT_LINK = 48;
|
|
WLAN_STATUS_STA_NOT_PRESENT = 49;
|
|
WLAN_STATUS_STA_NOT_QSTA = 50;
|
|
802.11s | |
WLAN_STATUS_ANTI_CLOG_REQUIRED = 76;
|
|
WLAN_STATUS_FCG_NOT_SUPP = 78;
|
|
WLAN_STATUS_STA_NO_TBTT = 78;
|
|
802.11ad | |
WLAN_STATUS_REJECTED_WITH_SUGGESTED_CHANGES = 39;
|
|
WLAN_STATUS_REJECTED_FOR_DELAY_PERIOD = 47;
|
|
WLAN_STATUS_REJECT_WITH_SCHEDULE = 83;
|
|
WLAN_STATUS_PENDING_ADMITTING_FST_SESSION = 86;
|
|
WLAN_STATUS_PERFORMING_FST_NOW = 87;
|
|
WLAN_STATUS_PENDING_GAP_IN_BA_WINDOW = 88;
|
|
WLAN_STATUS_REJECT_U_PID_SETTING = 89;
|
|
WLAN_STATUS_REJECT_DSE_BAND = 96;
|
|
WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99;
|
|
WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103;
|
WLAN_REASON_*
WLAN_REASON_UNSPECIFIED = 1;
|
|
WLAN_REASON_PREV_AUTH_NOT_VALID = 2;
|
|
WLAN_REASON_DEAUTH_LEAVING = 3;
|
|
WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY = 4;
|
|
WLAN_REASON_DISASSOC_AP_BUSY = 5;
|
|
WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA = 6;
|
|
WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA = 7;
|
|
WLAN_REASON_DISASSOC_STA_HAS_LEFT = 8;
|
|
WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH = 9;
|
|
802.11h | |
WLAN_REASON_DISASSOC_BAD_POWER = 10;
|
|
WLAN_REASON_DISASSOC_BAD_SUPP_CHAN = 11;
|
|
802.11i | |
WLAN_REASON_INVALID_IE = 13;
|
|
WLAN_REASON_MIC_FAILURE = 14;
|
|
WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT = 15;
|
|
WLAN_REASON_GROUP_KEY_HANDSHAKE_TIMEOUT = 16;
|
|
WLAN_REASON_IE_DIFFERENT = 17;
|
|
WLAN_REASON_INVALID_GROUP_CIPHER = 18;
|
|
WLAN_REASON_INVALID_PAIRWISE_CIPHER = 19;
|
|
WLAN_REASON_INVALID_AKMP = 20;
|
|
WLAN_REASON_UNSUPP_RSN_VERSION = 21;
|
|
WLAN_REASON_INVALID_RSN_IE_CAP = 22;
|
|
WLAN_REASON_IEEE8021X_FAILED = 23;
|
|
WLAN_REASON_CIPHER_SUITE_REJECTED = 24;
|
|
TDLS (802.11z) | |
WLAN_REASON_TDLS_TEARDOWN_UNREACHABLE = 25;
|
|
WLAN_REASON_TDLS_TEARDOWN_UNSPECIFIED = 26;
|
|
802.11e | |
WLAN_REASON_DISASSOC_UNSPECIFIED_QOS = 32;
|
|
WLAN_REASON_DISASSOC_QAP_NO_BANDWIDTH = 33;
|
|
WLAN_REASON_DISASSOC_LOW_ACK = 34;
|
|
WLAN_REASON_DISASSOC_QAP_EXCEED_TXOP = 35;
|
|
WLAN_REASON_QSTA_LEAVE_QBSS = 36;
|
|
WLAN_REASON_QSTA_NOT_USE = 37;
|
|
WLAN_REASON_QSTA_REQUIRE_SETUP = 38;
|
|
WLAN_REASON_QSTA_TIMEOUT = 39;
|
|
WLAN_REASON_QSTA_CIPHER_NOT_SUPP = 45;
|
|
802.11s | |
WLAN_REASON_MESH_PEER_CANCELED = 52;
|
|
WLAN_REASON_MESH_MAX_PEERS = 53;
|
|
WLAN_REASON_MESH_CONFIG = 54;
|
|
WLAN_REASON_MESH_CLOSE = 55;
|
|
WLAN_REASON_MESH_MAX_RETRIES = 56;
|
|
WLAN_REASON_MESH_CONFIRM_TIMEOUT = 57;
|
|
WLAN_REASON_MESH_INVALID_GTK = 58;
|
|
WLAN_REASON_MESH_INCONSISTENT_PARAM = 59;
|
|
WLAN_REASON_MESH_INVALID_SECURITY = 60;
|
|
WLAN_REASON_MESH_PATH_ERROR = 61;
|
|
WLAN_REASON_MESH_PATH_NOFORWARD = 62;
|
|
WLAN_REASON_MESH_PATH_DEST_UNREACHABLE = 63;
|
|
WLAN_REASON_MAC_EXISTS_IN_MBSS = 64;
|
|
WLAN_REASON_MESH_CHAN_REGULATORY = 65;
|
|
WLAN_REASON_MESH_CHAN = 66;
|
WLAN_EID_*
WLAN_EID_SSID = 0;
|
|
WLAN_EID_SUPP_RATES = 1;
|
|
WLAN_EID_FH_PARAMS = 2;
|
reserved now |
WLAN_EID_DS_PARAMS = 3;
|
|
WLAN_EID_CF_PARAMS = 4;
|
|
WLAN_EID_TIM = 5;
|
|
WLAN_EID_IBSS_PARAMS = 6;
|
|
WLAN_EID_COUNTRY = 7;
|
|
8-9 reserved | |
WLAN_EID_REQUEST = 10;
|
|
WLAN_EID_QBSS_LOAD = 11;
|
|
WLAN_EID_EDCA_PARAM_SET = 12;
|
|
WLAN_EID_TSPEC = 13;
|
|
WLAN_EID_TCLAS = 14;
|
|
WLAN_EID_SCHEDULE = 15;
|
|
WLAN_EID_CHALLENGE = 16;
|
|
17-31 reserved for challenge text extension | |
WLAN_EID_PWR_CONSTRAINT = 32;
|
|
WLAN_EID_PWR_CAPABILITY = 33;
|
|
WLAN_EID_TPC_REQUEST = 34;
|
|
WLAN_EID_TPC_REPORT = 35;
|
|
WLAN_EID_SUPPORTED_CHANNELS = 36;
|
|
WLAN_EID_CHANNEL_SWITCH = 37;
|
|
WLAN_EID_MEASURE_REQUEST = 38;
|
|
WLAN_EID_MEASURE_REPORT = 39;
|
|
WLAN_EID_QUIET = 40;
|
|
WLAN_EID_IBSS_DFS = 41;
|
|
WLAN_EID_ERP_INFO = 42;
|
|
WLAN_EID_TS_DELAY = 43;
|
|
WLAN_EID_TCLAS_PROCESSING = 44;
|
|
WLAN_EID_HT_CAPABILITY = 45;
|
|
WLAN_EID_QOS_CAPA = 46;
|
|
47 reserved for Broadcom | |
WLAN_EID_RSN = 48;
|
|
WLAN_EID_802_15_COEX = 49;
|
|
WLAN_EID_EXT_SUPP_RATES = 50;
|
|
WLAN_EID_AP_CHAN_REPORT = 51;
|
|
WLAN_EID_NEIGHBOR_REPORT = 52;
|
|
WLAN_EID_RCPI = 53;
|
|
WLAN_EID_MOBILITY_DOMAIN = 54;
|
|
WLAN_EID_FAST_BSS_TRANSITION = 55;
|
|
WLAN_EID_TIMEOUT_INTERVAL = 56;
|
|
WLAN_EID_RIC_DATA = 57;
|
|
WLAN_EID_DSE_REGISTERED_LOCATION = 58;
|
|
WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59;
|
|
WLAN_EID_EXT_CHANSWITCH_ANN = 60;
|
|
WLAN_EID_HT_OPERATION = 61;
|
|
WLAN_EID_SECONDARY_CHANNEL_OFFSET = 62;
|
|
WLAN_EID_BSS_AVG_ACCESS_DELAY = 63;
|
|
WLAN_EID_ANTENNA_INFO = 64;
|
|
WLAN_EID_RSNI = 65;
|
|
WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66;
|
|
WLAN_EID_BSS_AVAILABLE_CAPACITY = 67;
|
|
WLAN_EID_BSS_AC_ACCESS_DELAY = 68;
|
|
WLAN_EID_TIME_ADVERTISEMENT = 69;
|
|
WLAN_EID_RRM_ENABLED_CAPABILITIES = 70;
|
|
WLAN_EID_MULTIPLE_BSSID = 71;
|
|
WLAN_EID_BSS_COEX_2040 = 72;
|
|
WLAN_EID_BSS_INTOLERANT_CHL_REPORT = 73;
|
|
WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74;
|
|
WLAN_EID_RIC_DESCRIPTOR = 75;
|
|
WLAN_EID_MMIE = 76;
|
|
WLAN_EID_ASSOC_COMEBACK_TIME = 77;
|
|
WLAN_EID_EVENT_REQUEST = 78;
|
|
WLAN_EID_EVENT_REPORT = 79;
|
|
WLAN_EID_DIAGNOSTIC_REQUEST = 80;
|
|
WLAN_EID_DIAGNOSTIC_REPORT = 81;
|
|
WLAN_EID_LOCATION_PARAMS = 82;
|
|
WLAN_EID_NON_TX_BSSID_CAP = 83;
|
|
WLAN_EID_SSID_LIST = 84;
|
|
WLAN_EID_MULTI_BSSID_IDX = 85;
|
|
WLAN_EID_FMS_DESCRIPTOR = 86;
|
|
WLAN_EID_FMS_REQUEST = 87;
|
|
WLAN_EID_FMS_RESPONSE = 88;
|
|
WLAN_EID_QOS_TRAFFIC_CAPA = 89;
|
|
WLAN_EID_BSS_MAX_IDLE_PERIOD = 90;
|
|
WLAN_EID_TSF_REQUEST = 91;
|
|
WLAN_EID_TSF_RESPOSNE = 92;
|
|
WLAN_EID_WNM_SLEEP_MODE = 93;
|
|
WLAN_EID_TIM_BCAST_REQ = 94;
|
|
WLAN_EID_TIM_BCAST_RESP = 95;
|
|
WLAN_EID_COLL_IF_REPORT = 96;
|
|
WLAN_EID_CHANNEL_USAGE = 97;
|
|
WLAN_EID_TIME_ZONE = 98;
|
|
WLAN_EID_DMS_REQUEST = 99;
|
|
WLAN_EID_DMS_RESPONSE = 100;
|
|
WLAN_EID_LINK_ID = 101;
|
|
WLAN_EID_WAKEUP_SCHEDUL = 102;
|
|
103 reserved | |
WLAN_EID_CHAN_SWITCH_TIMING = 104;
|
|
WLAN_EID_PTI_CONTROL = 105;
|
|
WLAN_EID_PU_BUFFER_STATUS = 106;
|
|
WLAN_EID_INTERWORKING = 107;
|
|
WLAN_EID_ADVERTISEMENT_PROTOCOL = 108;
|
|
WLAN_EID_EXPEDITED_BW_REQ = 109;
|
|
WLAN_EID_QOS_MAP_SET = 110;
|
|
WLAN_EID_ROAMING_CONSORTIUM = 111;
|
|
WLAN_EID_EMERGENCY_ALERT = 112;
|
|
WLAN_EID_MESH_CONFIG = 113;
|
|
WLAN_EID_MESH_ID = 114;
|
|
WLAN_EID_LINK_METRIC_REPORT = 115;
|
|
WLAN_EID_CONGESTION_NOTIFICATION = 116;
|
|
WLAN_EID_PEER_MGMT = 117;
|
|
WLAN_EID_CHAN_SWITCH_PARAM = 118;
|
|
WLAN_EID_MESH_AWAKE_WINDOW = 119;
|
|
WLAN_EID_BEACON_TIMING = 120;
|
|
WLAN_EID_MCCAOP_SETUP_REQ = 121;
|
|
WLAN_EID_MCCAOP_SETUP_RESP = 122;
|
|
WLAN_EID_MCCAOP_ADVERT = 123;
|
|
WLAN_EID_MCCAOP_TEARDOWN = 124;
|
|
WLAN_EID_GANN = 125;
|
|
WLAN_EID_RANN = 126;
|
|
WLAN_EID_EXT_CAPABILITY = 127;
|
|
128-129 reserved for Agere | |
WLAN_EID_PREQ = 130;
|
|
WLAN_EID_PREP = 131;
|
|
WLAN_EID_PERR = 132;
|
|
133-136 reserved for Cisco | |
WLAN_EID_PXU = 137;
|
|
WLAN_EID_PXUC = 138;
|
|
WLAN_EID_AUTH_MESH_PEER_EXCH = 139;
|
|
WLAN_EID_MIC = 140;
|
|
WLAN_EID_DESTINATION_URI = 141;
|
|
WLAN_EID_UAPSD_COEX = 142;
|
|
WLAN_EID_WAKEUP_SCHEDULE = 143;
|
|
WLAN_EID_EXT_SCHEDULE = 144;
|
|
WLAN_EID_STA_AVAILABILITY = 145;
|
|
WLAN_EID_DMG_TSPEC = 146;
|
|
WLAN_EID_DMG_AT = 147;
|
|
WLAN_EID_DMG_CAP = 148;
|
|
149 reserved for Cisco | |
WLAN_EID_CISCO_VENDOR_SPECIFIC = 150;
|
|
WLAN_EID_DMG_OPERATION = 151;
|
|
WLAN_EID_DMG_BSS_PARAM_CHANGE = 152;
|
|
WLAN_EID_DMG_BEAM_REFINEMENT = 153;
|
|
WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154;
|
|
155-156 reserved for Cisco | |
WLAN_EID_AWAKE_WINDOW = 157;
|
|
WLAN_EID_MULTI_BAND = 158;
|
|
WLAN_EID_ADDBA_EXT = 159;
|
|
WLAN_EID_NEXT_PCP_LIST = 160;
|
|
WLAN_EID_PCP_HANDOVER = 161;
|
|
WLAN_EID_DMG_LINK_MARGIN = 162;
|
|
WLAN_EID_SWITCHING_STREAM = 163;
|
|
WLAN_EID_SESSION_TRANSITION = 164;
|
|
WLAN_EID_DYN_TONE_PAIRING_REPORT = 165;
|
|
WLAN_EID_CLUSTER_REPORT = 166;
|
|
WLAN_EID_RELAY_CAP = 167;
|
|
WLAN_EID_RELAY_XFER_PARAM_SET = 168;
|
|
WLAN_EID_BEAM_LINK_MAINT = 169;
|
|
WLAN_EID_MULTIPLE_MAC_ADDR = 170;
|
|
WLAN_EID_U_PID = 171;
|
|
WLAN_EID_DMG_LINK_ADAPT_ACK = 172;
|
|
173 reserved for Symbol | |
WLAN_EID_MCCAOP_ADV_OVERVIEW = 174;
|
|
WLAN_EID_QUIET_PERIOD_REQ = 175;
|
|
176 reserved for Symbol | |
WLAN_EID_QUIET_PERIOD_RESP = 177;
|
|
178-179 reserved for Symbol | |
180 reserved for ISO/IEC 20011 | |
WLAN_EID_EPAC_POLICY = 182;
|
|
WLAN_EID_CLISTER_TIME_OFF = 183;
|
|
WLAN_EID_INTER_AC_PRIO = 184;
|
|
WLAN_EID_SCS_DESCRIPTOR = 185;
|
|
WLAN_EID_QLOAD_REPORT = 186;
|
|
WLAN_EID_HCCA_TXOP_UPDATE_COUNT = 187;
|
|
WLAN_EID_HL_STREAM_ID = 188;
|
|
WLAN_EID_GCR_GROUP_ADDR = 189;
|
|
WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190;
|
|
WLAN_EID_VHT_CAPABILITY = 191;
|
|
WLAN_EID_VHT_OPERATION = 192;
|
|
WLAN_EID_EXTENDED_BSS_LOAD = 193;
|
|
WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194;
|
|
WLAN_EID_VHT_TX_POWER_ENVELOPE = 195;
|
|
WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196;
|
|
WLAN_EID_AID = 197;
|
|
WLAN_EID_QUIET_CHANNEL = 198;
|
|
WLAN_EID_OPMODE_NOTIF = 199;
|
|
WLAN_EID_VENDOR_SPECIFIC = 221;
|
|
WLAN_EID_QOS_PARAMETER = 222;
|
WLAN_CATEGORY_*
WLAN_CATEGORY_SPECTRUM_MGMT = 0;
|
|
WLAN_CATEGORY_QOS = 1;
|
|
WLAN_CATEGORY_DLS = 2;
|
|
WLAN_CATEGORY_BACK = 3;
|
|
WLAN_CATEGORY_PUBLIC = 4;
|
|
WLAN_CATEGORY_RADIO_MEASUREMENT = 5;
|
|
WLAN_CATEGORY_HT = 7;
|
|
WLAN_CATEGORY_SA_QUERY = 8;
|
|
WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9;
|
|
WLAN_CATEGORY_WNM = 10;
|
|
WLAN_CATEGORY_WNM_UNPROTECTED = 11;
|
|
WLAN_CATEGORY_TDLS = 12;
|
|
WLAN_CATEGORY_MESH_ACTION = 13;
|
|
WLAN_CATEGORY_MULTIHOP_ACTION = 14;
|
|
WLAN_CATEGORY_SELF_PROTECTED = 15;
|
|
WLAN_CATEGORY_DMG = 16;
|
|
WLAN_CATEGORY_WMM = 17;
|
|
WLAN_CATEGORY_FST = 18;
|
|
WLAN_CATEGORY_UNPROT_DMG = 20;
|
|
WLAN_CATEGORY_VHT = 21;
|
|
WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126;
|
|
WLAN_CATEGORY_VENDOR_SPECIFIC = 127;
|
WLAN_ACTION_SPCT_*
WLAN_ACTION_SPCT_MSR_REQ = 0;
|
|
WLAN_ACTION_SPCT_MSR_RPRT = 1;
|
|
WLAN_ACTION_SPCT_TPC_REQ = 2;
|
|
WLAN_ACTION_SPCT_TPC_RPRT = 3;
|
|
WLAN_ACTION_SPCT_CHL_SWITCH = 4;
|
WLAN_HT_ACTION_*
WLAN_HT_ACTION_NOTIFY_CHANWIDTH = 0;
|
|
WLAN_HT_ACTION_SMPS = 1;
|
|
WLAN_HT_ACTION_PSMP = 2;
|
|
WLAN_HT_ACTION_PCO_PHASE = 3;
|
|
WLAN_HT_ACTION_CSI = 4;
|
|
WLAN_HT_ACTION_NONCOMPRESSED_BF = 5;
|
|
WLAN_HT_ACTION_COMPRESSED_BF = 6;
|
|
WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7;
|
WLAN_VHT_ACTION_*
WLAN_VHT_ACTION_COMPRESSED_BF = 0;
|
|
WLAN_VHT_ACTION_GROUPID_MGMT = 1;
|
|
WLAN_VHT_ACTION_OPMODE_NOTIF = 2;
|
WLAN_SP_*
WLAN_SP_RESERVED = 0;
|
|
WLAN_SP_MESH_PEERING_OPEN = 1;
|
|
WLAN_SP_MESH_PEERING_CONFIRM = 2;
|
|
WLAN_SP_MESH_PEERING_CLOSE = 3;
|
|
WLAN_SP_MGK_INFORM = 4;
|
|
WLAN_SP_MGK_ACK = 5;
|
WLAN_MESH_ACTION_*
WLAN_MESH_ACTION_LINK_METRIC_REPORT = 0;
|
|
WLAN_MESH_ACTION_HWMP_PATH_SELECTION = 1;
|
|
WLAN_MESH_ACTION_GATE_ANNOUNCEMENT = 2;
|
|
WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION = 3;
|
|
WLAN_MESH_ACTION_MCCA_SETUP_REQUEST = 4;
|
|
WLAN_MESH_ACTION_MCCA_SETUP_REPLY = 5;
|
|
WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST = 6;
|
|
WLAN_MESH_ACTION_MCCA_ADVERTISEMENT = 7;
|
|
WLAN_MESH_ACTION_MCCA_TEARDOWN = 8;
|
|
WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST = 9;
|
|
WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE = 10;
|
WLAN_KEY_LEN_*
WLAN_KEY_LEN_WEP40 = 5;
|
|
WLAN_KEY_LEN_WEP104 = 13;
|
|
WLAN_KEY_LEN_CCMP = 16;
|
|
WLAN_KEY_LEN_CCMP_256 = 32;
|
|
WLAN_KEY_LEN_TKIP = 32;
|
|
WLAN_KEY_LEN_AES_CMAC = 16;
|
|
WLAN_KEY_LEN_SMS4 = 32;
|
|
WLAN_KEY_LEN_GCMP = 16;
|
|
WLAN_KEY_LEN_GCMP_256 = 32;
|
|
WLAN_KEY_LEN_BIP_CMAC_256 = 32;
|
|
WLAN_KEY_LEN_BIP_GMAC_128 = 16;
|
|
WLAN_KEY_LEN_BIP_GMAC_256 = 32;
|
IEEE80211_*_LEN
IEEE80211_WEP_IV_LEN = 4;
|
|
IEEE80211_WEP_ICV_LEN = 4;
|
|
IEEE80211_CCMP_HDR_LEN = 8;
|
|
IEEE80211_CCMP_MIC_LEN = 8;
|
|
IEEE80211_CCMP_PN_LEN = 6;
|
|
IEEE80211_CCMP_256_HDR_LEN = 8;
|
|
IEEE80211_CCMP_256_MIC_LEN = 16;
|
|
IEEE80211_CCMP_256_PN_LEN = 6;
|
|
IEEE80211_TKIP_IV_LEN = 8;
|
|
IEEE80211_TKIP_ICV_LEN = 4;
|
|
IEEE80211_CMAC_PN_LEN = 6;
|
|
IEEE80211_GMAC_PN_LEN = 6;
|
|
IEEE80211_GCMP_HDR_LEN = 8;
|
|
IEEE80211_GCMP_MIC_LEN = 16;
|
|
IEEE80211_GCMP_PN_LEN = 6;
|
WLAN_PUB_ACTION_*
WLAN_PUB_ACTION_EXT_CHANSW_ANN = 4;
|
|
WLAN_PUB_ACTION_TDLS_DISCOVER_RES = 14;
|
WLAN_TDLS_*
WLAN_TDLS_SETUP_REQUEST = 0;
|
|
WLAN_TDLS_SETUP_RESPONSE = 1;
|
|
WLAN_TDLS_SETUP_CONFIRM = 2;
|
|
WLAN_TDLS_TEARDOWN = 3;
|
|
WLAN_TDLS_PEER_TRAFFIC_INDICATION = 4;
|
|
WLAN_TDLS_CHANNEL_SWITCH_REQUEST = 5;
|
|
WLAN_TDLS_CHANNEL_SWITCH_RESPONSE = 6;
|
|
WLAN_TDLS_PEER_PSM_REQUEST = 7;
|
|
WLAN_TDLS_PEER_PSM_RESPONSE = 8;
|
|
WLAN_TDLS_PEER_TRAFFIC_RESPONSE = 9;
|
|
WLAN_TDLS_DISCOVERY_REQUEST = 10;
|
WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING*
Note: Extended Channel Switching capability to be set in the 1st byte of the WLAN_EID_EXT_CAPABILITY information element | |
WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING = (1 shl 2);
|
WLAN_EXT_CAPA4_TDLS_*
Note: TDLS capabilities in the 4th byte of WLAN_EID_EXT_CAPABILITY | |
WLAN_EXT_CAPA4_TDLS_BUFFER_STA = (1 shl 4);
|
|
WLAN_EXT_CAPA4_TDLS_PEER_PSM = (1 shl 5);
|
|
WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH = (1 shl 6);
|
WLAN_EXT_CAPA4_INTERWORKING_*
Note: Interworking capabilities are set in 7th bit of 4th byte of the WLAN_EID_EXT_CAPABILITY information element | |
WLAN_EXT_CAPA4_INTERWORKING_ENABLED = (1 shl 7);
|
WLAN_EXT_CAPA5_TDLS_*
Note: TDLS capabililites to be enabled in the 5th byte of the WLAN_EID_EXT_CAPABILITY information element | |
WLAN_EXT_CAPA5_TDLS_ENABLED = (1 shl 5);
|
|
WLAN_EXT_CAPA5_TDLS_PROHIBITED = (1 shl 6);
|
|
WLAN_EXT_CAPA5_TDLS_CH_SW_PROHIBITED = (1 shl 7);
|
WLAN_EXT_CAPA8_TDLS_*
WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED = (1 shl 5);
|
|
WLAN_EXT_CAPA8_OPMODE_NOTIF = (1 shl 6);
|
WLAN_TDLS_*_RFTYPE*
Note: TDLS specific payload type in the LLC/SNAP header | |
WLAN_TDLS_SNAP_RFTYPE = $2;
|
WLAN_*_COEX_INFORMATION_*
WLAN_BSS_COEX_INFORMATION_REQUEST = (1 shl 0);
|
IEEE80211_SYNC_METHOD_*
IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1;
|
The default synchronization method |
IEEE80211_SYNC_METHOD_VENDOR = 255;
|
A vendor specific synchronization method that will be specified in a vendor specific information element |
IEEE80211_PATH_PROTOCOL_*
IEEE80211_PATH_PROTOCOL_HWMP = 1;
|
The default path selection protocol |
IEEE80211_PATH_PROTOCOL_VENDOR = 255;
|
A vendor specific protocol that will be specified in a vendor specific information element |
IEEE80211_PATH_METRIC_*
IEEE80211_PATH_METRIC_AIRTIME = 1;
|
The default path selection metric |
IEEE80211_PATH_METRIC_VENDOR = 255;
|
A vendor specific metric that will be specified in a vendor specific information element |
IEEE80211_ROOTMODE_*
Note: These attributes are used by dot11MeshHWMPRootMode to set root mesh STA mode | |
IEEE80211_ROOTMODE_NO_ROOT = 0;
|
The mesh STA is not a root mesh STA (default) |
IEEE80211_ROOTMODE_ROOT = 1;
|
The mesh STA is a root mesh STA if greater than this value |
IEEE80211_PROACTIVE_PREQ_NO_PREP = 2;
|
The mesh STA is a root mesh STA supports the proactive PREQ with proactive PREP subfield set to 0 |
IEEE80211_PROACTIVE_PREQ_WITH_PREP = 3;
|
The mesh STA is a root mesh STA supports the proactive PREQ with proactive PREP subfield set to 1 |
IEEE80211_PROACTIVE_RANN = 4;
|
The mesh STA is a root mesh STA supports the proactive RANN |
IEEE80211_COUNTRY_*
Note: IEEE 802.11-2007 7.3.2.9 country information element | |
IEEE80211_COUNTRY_IE_MIN_LEN = 6;
|
Minimum length is 8 octets, ie len must be evenly divisible by 2. |
IEEE80211_COUNTRY_STRING_LEN = 3;
|
The Country String field of the element shall be 3 octets in length. |
Note: For regulatory extension stuff see IEEE 802.11-2007 Annex I (page 1141) and Annex J (page 1147). Also review 7.3.2.9.
When dot11RegulatoryClassesRequired is true and the first_channel/reg_extension_id is >= 201 then the IE compromises of the 'ext' struct represented below:
| |
See also Table I.2 for Emission limit sets and table I.3 for Behavior limit sets. Table J.1 indicates how to map a reg_class to an emission limit set and behavior limit set | |
IEEE80211_COUNTRY_EXTENSION_ID = 201;
|
WLAN_TIMEOUT_*
WLAN_TIMEOUT_REASSOC_DEADLINE = 1;
|
802.11r |
WLAN_TIMEOUT_KEY_LIFETIME = 2;
|
802.11r |
WLAN_TIMEOUT_ASSOC_COMEBACK = 3;
|
802.11w |
WLAN_ACTION_*
WLAN_ACTION_ADDBA_REQ = 0;
|
|
WLAN_ACTION_ADDBA_RESP = 1;
|
|
WLAN_ACTION_DELBA = 2;
|
WLAN_BACK_*
WLAN_BACK_RECIPIENT = 0;
|
|
WLAN_BACK_INITIATOR = 1;
|
WLAN_ACTION_SA_QUERY_*
WLAN_ACTION_SA_QUERY_REQUEST = 0;
|
|
WLAN_ACTION_SA_QUERY_RESPONSE = 1;
|
WLAN_CIPHER_SUITE_*
WLAN_CIPHER_SUITE_USE_GROUP = $000FAC00;
|
|
WLAN_CIPHER_SUITE_WEP40 = $000FAC01;
|
|
WLAN_CIPHER_SUITE_TKIP = $000FAC02;
|
|
Reserved: = $000FAC03 | |
WLAN_CIPHER_SUITE_CCMP = $000FAC04;
|
|
WLAN_CIPHER_SUITE_WEP104 = $000FAC05;
|
|
WLAN_CIPHER_SUITE_AES_CMAC = $000FAC06;
|
|
WLAN_CIPHER_SUITE_GCMP = $000FAC08;
|
|
WLAN_CIPHER_SUITE_GCMP_256 = $000FAC09;
|
|
WLAN_CIPHER_SUITE_CCMP_256 = $000FAC0A;
|
|
WLAN_CIPHER_SUITE_BIP_GMAC_128 = $000FAC0B;
|
|
WLAN_CIPHER_SUITE_BIP_GMAC_256 = $000FAC0C;
|
|
WLAN_CIPHER_SUITE_BIP_CMAC_256 = $000FAC0D;
|
|
WLAN_CIPHER_SUITE_SMS4 = $00147201;
|
WLAN_AKM_SUITE_*
WLAN_AKM_SUITE_8021X = $000FAC01;
|
|
WLAN_AKM_SUITE_PSK = $000FAC02;
|
|
WLAN_AKM_SUITE_8021X_SHA256 = $000FAC05;
|
|
WLAN_AKM_SUITE_PSK_SHA256 = $000FAC06;
|
|
WLAN_AKM_SUITE_TDLS = $000FAC07;
|
|
WLAN_AKM_SUITE_SAE = $000FAC08;
|
|
WLAN_AKM_SUITE_FT_OVER_SAE = $000FAC09;
|
WLAN_*_KEY_LEN*
WLAN_MAX_KEY_LEN = 32;
|
|
WLAN_PMKID_LEN = 16;
|
WLAN_OUI_WFA*
WLAN_OUI_WFA = $506f9a;
|
|
WLAN_OUI_TYPE_WFA_P2P = 9;
|
|
WLAN_OUI_MICROSOFT = $0050f2;
|
|
WLAN_OUI_TYPE_MICROSOFT_WPA = 1;
|
|
WLAN_OUI_TYPE_MICROSOFT_WMM = 2;
|
|
WLAN_OUI_TYPE_MICROSOFT_WPS = 4;
|
IEEE80211_WMM_IE_TSPEC_TID_*
IEEE80211_WMM_IE_TSPEC_TID_MASK = $0F;
|
|
IEEE80211_WMM_IE_TSPEC_TID_SHIFT = 1;
|
IEEE80211_TSPEC_STATUS_*
IEEE80211_TSPEC_STATUS_ADMISS_ACCEPTED = 0;
|
|
IEEE80211_TSPEC_STATUS_ADDTS_INVAL_PARAMS = $1;
|
IEEE80211_BAND_*
Note: These constants are NOT defined by IEEE 802.11 but are internal to the implementation
As per Linux cfg80211.h IEEE80211_BAND_* | |
IEEE80211_BAND_2GHZ = 0;
|
(NL80211_BAND_2GHZ) 2.4GHz ISM band |
IEEE80211_BAND_5GHZ = 1;
|
(NL80211_BAND_5GHZ) 5GHz band (4.9-5.7) |
IEEE80211_BAND_60GHZ = 2;
|
(NL80211_BAND_60GHZ) 60 GHz band (58.32 - 64.80 GHz) |
IEEE80211_NUM_BANDS = 3;
|
IEEE80211_CHAN_*
Note: As per Linux cfg80211.h IEEE80211_CHAN_* | |
IEEE80211_CHAN_DISABLED = (1 shl 0);
|
This channel is disabled |
IEEE80211_CHAN_NO_IR = (1 shl 1);
|
Do not initiate radiation, this includes sending probe requests or beaconing. |
(1 shl 2) | |
IEEE80211_CHAN_RADAR = (1 shl 3);
|
Radar detection is required on this channel |
IEEE80211_CHAN_NO_HT40PLUS = (1 shl 4);
|
Extension channel above this channel is not permitted |
IEEE80211_CHAN_NO_HT40MINUS = (1 shl 5);
|
Extension channel below this channel is not permitted |
IEEE80211_CHAN_NO_OFDM = (1 shl 6);
|
OFDM is not allowed on this channel |
IEEE80211_CHAN_NO_80MHZ = (1 shl 7);
|
If the driver supports 80 MHz on the band, this flag indicates that an 80 MHz channel cannot use this channel as the control or any of the secondary channels. |
IEEE80211_CHAN_NO_160MHZ = (1 shl 8);
|
If the driver supports 160 MHz on the band, this flag indicates that an 160 MHz channel cannot use this channel as the control or any of the secondary channels. |
IEEE80211_CHAN_INDOOR_ONLY = (1 shl 9);
|
see NL80211_FREQUENCY_ATTR_INDOOR_ONLY |
IEEE80211_CHAN_GO_CONCURRENT = (1 shl 10);
|
see NL80211_FREQUENCY_ATTR_GO_CONCURRENT |
IEEE80211_CHAN_NO_20MHZ = (1 shl 11);
|
20 MHz bandwidth is not permitted on this channel |
IEEE80211_CHAN_NO_10MHZ = (1 shl 12);
|
10 MHz bandwidth is not permitted on this channel |
IEEE80211_CHAN_NO_HT40 = IEEE80211_CHAN_NO_HT40PLUS or IEEE80211_CHAN_NO_HT40MINUS;
|
IEEE80211_DFS_MIN_*_TIME_MS*
IEEE80211_DFS_MIN_CAC_TIME_MS = 60000;
|
|
IEEE80211_DFS_MIN_NOP_TIME_MS = (30 * 60 * 1000);
|
IEEE80211_RATE_*
Note: As per Linux cfg80211.h IEEE80211_RATE_* | |
IEEE80211_RATE_SHORT_PREAMBLE = (1 shl 0);
|
|
IEEE80211_RATE_MANDATORY_A = (1 shl 1);
|
|
IEEE80211_RATE_MANDATORY_B = (1 shl 2);
|
|
IEEE80211_RATE_MANDATORY_G = (1 shl 3);
|
|
IEEE80211_RATE_ERP_G = (1 shl 4);
|
|
IEEE80211_RATE_SUPPORTS_5MHZ = (1 shl 5);
|
|
IEEE80211_RATE_SUPPORTS_10MHZ = (1 shl 6);
|
IEEE80211_BSS_TYPE_*
Note: As per Linux cfg80211.h IEEE80211_BSS_TYPE_* | |
IEEE80211_BSS_TYPE_ESS = 0;
|
Infrastructure BSS |
IEEE80211_BSS_TYPE_PBSS = 1;
|
Personal BSS |
IEEE80211_BSS_TYPE_IBSS = 2;
|
Independent BSS |
IEEE80211_BSS_TYPE_MBSS = 3;
|
Mesh BSS |
IEEE80211_BSS_TYPE_ANY = 4;
|
Wildcard value for matching any BSS type |
IEEE80211_PRIVACY_*
Note: As per Linux cfg80211.h IEEE80211_PRIVACY_* | |
IEEE80211_PRIVACY_ON = 0;
|
Privacy bit set |
IEEE80211_PRIVACY_OFF = 1;
|
Privacy bit clear |
IEEE80211_PRIVACY_ANY = 2;
|
Wildcard value for matching any privacy setting |
IEEE80211_FIF_*
Note: As per Linux mac80211.h FIF_* | |
IEEE80211_FIF_PROMISC_IN_BSS = (1 shl 0);
|
Promiscuous mode within your BSS, think of the BSS as your network segment and then this corresponds to the regular ethernet device promiscuous mode. |
IEEE80211_FIF_ALLMULTI = (1 shl 1);
|
Pass all multicast frames, this is used if requested by the user or if the hardware is not capable of filtering by multicast address. |
IEEE80211_FIF_FCSFAIL = (1 shl 2);
|
Pass frames with failed FCS |
IEEE80211_FIF_PLCPFAIL = (1 shl 3);
|
Pass frames with failed PLCP CRC |
IEEE80211_FIF_BCN_PRBRESP_PROMISC = (1 shl 4);
|
Set during scanning to indicate to the hardware that it should not filter beacons or probe responses by BSSID |
IEEE80211_FIF_CONTROL = (1 shl 5);
|
Pass control frames (except for PS Poll), if PROMISC_IN_BSS is not set then only those addressed to this station. |
IEEE80211_FIF_OTHER_BSS = (1 shl 6);
|
Pass frames destined to other BSSes |
IEEE80211_FIF_PSPOLL = (1 shl 7);
|
Pass PS Poll frames, if PROMISC_IN_BSS is not set then only those addressed to this station. |
IEEE80211_FIF_PROBE_REQ = (1 shl 8);
|
Pass probe request frames |
IEEE80211_HW_*
Note: As per Linux mac80211.h IEEE80211_HW_* | |
IEEE80211_HW_HAS_RATE_CONTROL = (1 shl 0);
|
|
IEEE80211_HW_RX_INCLUDES_FCS = (1 shl 1);
|
Indicates that received frames passed to the stack include the FCS at the end |
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING = (1 shl 2);
|
|
IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE = (1 shl 3);
|
Hardware is not capable of short slot operation on the 2.4 GHz band |
IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE = (1 shl 4);
|
Hardware is not capable of receiving frames with short preamble on the 2.4 GHz band |
IEEE80211_HW_SIGNAL_UNSPEC = (1 shl 5);
|
Hardware can provide signal values but we don't know its units. We expect values between 0 and MaxSignal. |
IEEE80211_HW_SIGNAL_DBM = (1 shl 6);
|
|
IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC = (1 shl 7);
|
|
IEEE80211_HW_SPECTRUM_MGMT = (1 shl 8);
|
|
IEEE80211_HW_AMPDU_AGGREGATION = (1 shl 9);
|
|
IEEE80211_HW_SUPPORTS_PS = (1 shl 10);
|
|
IEEE80211_HW_PS_NULLFUNC_STACK = (1 shl 11);
|
|
IEEE80211_HW_SUPPORTS_DYNAMIC_PS = (1 shl 12);
|
|
IEEE80211_HW_MFP_CAPABLE = (1 shl 13);
|
|
IEEE80211_HW_WANT_MONITOR_VIF = (1 shl 14);
|
|
IEEE80211_HW_NO_AUTO_VIF = (1 shl 15);
|
|
IEEE80211_HW_SW_CRYPTO_CONTROL = (1 shl 16);
|
|
free slots | |
IEEE80211_HW_REPORTS_TX_ACK_STATUS = (1 shl 18);
|
|
IEEE80211_HW_CONNECTION_MONITOR = (1 shl 19);
|
|
IEEE80211_HW_QUEUE_CONTROL = (1 shl 20);
|
|
IEEE80211_HW_SUPPORTS_PER_STA_GTK = (1 shl 21);
|
|
IEEE80211_HW_AP_LINK_PS = (1 shl 22);
|
|
IEEE80211_HW_TX_AMPDU_SETUP_IN_HW = (1 shl 23);
|
|
IEEE80211_HW_SUPPORTS_RC_TABLE = (1 shl 24);
|
|
IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF = (1 shl 25);
|
|
IEEE80211_HW_TIMING_BEACON_ONLY = (1 shl 26);
|
|
IEEE80211_HW_SUPPORTS_HT_CCK_RATES = (1 shl 27);
|
|
IEEE80211_HW_CHANCTX_STA_CSA = (1 shl 28);
|
|
IEEE80211_HW_SUPPORTS_CLONED_SKBS = (1 shl 29);
|
|
IEEE80211_SINGLE_HW_SCAN_ON_ALL_BANDS = (1 shl 30);
|
IEEE80211_CONF_*
Note: As per Linux mac80211.h IEEE80211_CONF_* | |
IEEE80211_CONF_MONITOR = (1 shl 0);
|
|
IEEE80211_CONF_PS = (1 shl 1);
|
|
IEEE80211_CONF_IDLE = (1 shl 2);
|
|
IEEE80211_CONF_OFFCHANNEL = (1 shl 3);
|
IEEE80211_CONF_CHANGE_*
Note: As per Linux mac80211.h IEEE80211_CONF_CHANGE_* | |
IEEE80211_CONF_CHANGE_SMPS = (1 shl 1);
|
|
IEEE80211_CONF_CHANGE_LISTEN_INTERVAL = (1 shl 2);
|
|
IEEE80211_CONF_CHANGE_MONITOR = (1 shl 3);
|
|
IEEE80211_CONF_CHANGE_PS = (1 shl 4);
|
|
IEEE80211_CONF_CHANGE_POWER = (1 shl 5);
|
|
IEEE80211_CONF_CHANGE_CHANNEL = (1 shl 6);
|
|
IEEE80211_CONF_CHANGE_RETRY_LIMITS = (1 shl 7);
|
|
IEEE80211_CONF_CHANGE_IDLE = (1 shl 8);
|
IEEE80211_TX_STATUS_HEADROOM_*
IEEE80211_TX_STATUS_HEADROOM = 14;
|
IEEE80211_MAX_CSA_COUNTERS_*
IEEE80211_MAX_CSA_COUNTERS_NUM = 2;
|
WIFI_*
WIFI_DEVICE_TIMER_INTERVAL = 100;
|
Timer interval for new device additions |
EAPOL_TRANSPORT_NAME = 'EAPOL';
|
|
RSN_TRANSPORT_NAME = 'RSN';
|
WIFI_STATE_*
WIFI_STATE_NONE = 0;
|
WIFI_STATUS_*
WIFI_STATUS_NONE = 0;
|
WIFI_FLAG_*
Note: As per Linux cfg80211.h WIPHY_FLAG_* | |
(1 shl 0) | |
(1 shl 1) | |
(1 shl 2) | |
WIFI_FLAG_NETNS_OK = (1 shl 3);
|
If not set, do not allow changing the netns of this wiphy at all. |
WIFI_FLAG_PS_ON_BY_DEFAULT = (1 shl 4);
|
If set to true, powersave will be enabled by default. |
WIFI_FLAG_4ADDR_AP = (1 shl 5);
|
Supports 4addr mode even on AP (with a single station on a VLAN interface) |
WIFI_FLAG_4ADDR_STATION = (1 shl 6);
|
Supports 4addr mode even as a station |
WIFI_FLAG_CONTROL_PORT_PROTOCOL = (1 shl 7);
|
This device supports setting the control port protocol ethertype |
WIFI_FLAG_IBSS_RSN = (1 shl 8);
|
The device supports IBSS RSN |
WIFI_FLAG_MESH_AUTH = (1 shl 10);
|
The device supports mesh authentication |
WIFI_FLAG_SUPPORTS_SCHED_SCAN = (1 shl 11);
|
The device supports scheduled scans |
(1 shl 12) | |
WIFI_FLAG_SUPPORTS_FW_ROAM = (1 shl 13);
|
The device supports roaming feature in the firmware |
WIFI_FLAG_AP_UAPSD = (1 shl 14);
|
The device supports uapsd on AP |
WIFI_FLAG_SUPPORTS_TDLS = (1 shl 15);
|
The device supports TDLS (802.11z) operation |
WIFI_FLAG_TDLS_EXTERNAL_SETUP = (1 shl 16);
|
The device does not handle TDLS (802.11z) link setup/discovery operations internally |
WIFI_FLAG_HAVE_AP_SME = (1 shl 17);
|
Device integrates AP SME |
WIFI_FLAG_REPORTS_OBSS = (1 shl 18);
|
The device will report beacons from other BSSes |
WIFI_FLAG_AP_PROBE_RESP_OFFLOAD = (1 shl 19);
|
When operating as an AP, the device responds to probe-requests in hardware. |
WIFI_FLAG_OFFCHAN_TX = (1 shl 20);
|
Device supports direct off-channel TX |
WIFI_FLAG_HAS_REMAIN_ON_CHANNEL = (1 shl 21);
|
Device supports remain-on-channel call |
WIFI_FLAG_SUPPORTS_5_10_MHZ = (1 shl 22);
|
Device supports 5 MHz and 10 MHz channels |
WIFI_FLAG_HAS_CHANNEL_SWITCH = (1 shl 23);
|
Device supports channel switch in beaconing mode (AP, IBSS, Mesh, ...) |
WIFI_FEATURE_*
Note: As per Linux nl80211.h NL80211_FEATURE_* | |
WIFI_FEATURE_SK_TX_STATUS = (1 shl 0);
|
This driver supports reflecting back TX status to the socket error queue when requested with the socket option |
WIFI_FEATURE_HT_IBSS = (1 shl 1);
|
This driver supports IBSS with HT datarates |
WIFI_FEATURE_INACTIVITY_TIMER = (1 shl 2);
|
This driver takes care of freeing up the connected inactive stations in AP mode |
WIFI_FEATURE_CELL_BASE_REG_HINTS = (1 shl 3);
|
This driver has been tested to work properly to support receiving regulatory hints from cellular base stations |
WIFI_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = (1 shl 4);
|
No longer available, only here to reserve the value for API/ABI compatibility |
WIFI_FEATURE_SAE = (1 shl 5);
|
This driver supports simultaneous authentication of equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station mode |
WIFI_FEATURE_LOW_PRIORITY_SCAN = (1 shl 6);
|
This driver supports low priority scan |
WIFI_FEATURE_SCAN_FLUSH = (1 shl 7);
|
Scan flush is supported |
WIFI_FEATURE_AP_SCAN = (1 shl 8);
|
Support scanning using an AP vif |
WIFI_FEATURE_VIF_TXPOWER = (1 shl 9);
|
The driver supports per-vif TX power setting |
WIFI_FEATURE_NEED_OBSS_SCAN = (1 shl 10);
|
The driver expects userspace to perform OBSS scans and generate 20/40 BSS coex reports |
WIFI_FEATURE_P2P_GO_CTWIN = (1 shl 11);
|
P2P GO implementation supports CT Window setting |
WIFI_FEATURE_P2P_GO_OPPPS = (1 shl 12);
|
P2P GO implementation supports opportunistic powersave |
bit 13 is reserved | |
WIFI_FEATURE_ADVERTISE_CHAN_LIMITS = (1 shl 14);
|
cfg80211 advertises channel limits (HT40, VHT 80/160 MHz) if this flag is set |
WIFI_FEATURE_FULL_AP_CLIENT_STATE = (1 shl 15);
|
The driver supports full state transitions for AP clients |
WIFI_FEATURE_USERSPACE_MPM = (1 shl 16);
|
This driver supports a userspace Mesh Peering Management |
WIFI_FEATURE_ACTIVE_MONITOR = (1 shl 17);
|
This driver supports an active monitor interface |
WIFI_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = (1 shl 18);
|
This driver supports dynamic channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the lifetime of a BSS |
WIFI_FEATURE_DS_PARAM_SET_IE_IN_PROBES = (1 shl 19);
|
This device adds a DS Parameter Set IE to probe requests |
WIFI_FEATURE_WFA_TPC_IE_IN_PROBES = (1 shl 20);
|
This device adds a WFA TPC Report IE to probe requests |
WIFI_FEATURE_QUIET = (1 shl 21);
|
This device, in client mode, supports Quiet Period requests sent to it by an AP. |
WIFI_FEATURE_TX_POWER_INSERTION = (1 shl 22);
|
This device is capable of inserting the current tx power value into the TPC Report IE in the spectrum management TPC Report action frame, and in the Radio Measurement Link Measurement Report action frame. |
WIFI_FEATURE_ACKTO_ESTIMATION = (1 shl 23);
|
This driver supports dynamic ACK timeout estimation |
WIFI_FEATURE_STATIC_SMPS = (1 shl 24);
|
Device supports static spatial multiplexing powersave |
WIFI_FEATURE_DYNAMIC_SMPS = (1 shl 25);
|
Device supports dynamic spatial multiplexing powersave |
WIFI_FEATURE_SUPPORTS_WMM_ADMISSION = (1 shl 26);
|
The device supports setting up WMM TSPEC sessions |
WIFI_FEATURE_MAC_ON_CREATE = (1 shl 27);
|
Device supports configuring the vif's MAC address upon creation |
WIFI_FEATURE_TDLS_CHANNEL_SWITCH = (1 shl 28);
|
Driver supports channel switching when operating as a TDLS peer |
WIFI_FEATURE_SCAN_RANDOM_MAC_ADDR = (1 shl 29);
|
This device/driver supports using a random MAC address during scan (if the device is unassociated) |
WIFI_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = (1 shl 30);
|
This device/driver supports using a random MAC address for every scan iteration during scheduled scan (while not associated) |
WIFI_FEATURE_ND_RANDOM_MAC_ADDR = (1 shl 31);
|
This device/driver supports using a random MAC address for every scan iteration during "net detect" i.e. scan in unassociated WoWLAN |
WIFI_LED_*
WIFI_LED_OFF = 0;
|
|
WIFI_LED_HALF = 127;
|
|
WIFI_LED_FULL = 255;
|
WIFI_IFTYPE_*
Note: As per Linux nl80211.h NL80211_IFTYPE_* | |
WIFI_IFTYPE_UNSPECIFIED = 0;
|
Unspecified type, driver decides. |
WIFI_IFTYPE_ADHOC = 1;
|
Independent BSS member |
WIFI_IFTYPE_STATION = 2;
|
Managed BSS member |
WIFI_IFTYPE_AP = 3;
|
Access point |
WIFI_IFTYPE_AP_VLAN = 4;
|
VLAN interface for access points |
WIFI_IFTYPE_WDS = 5;
|
Wireless distribution interface |
WIFI_IFTYPE_MONITOR = 6;
|
Monitor interface receiving all frames |
WIFI_IFTYPE_MESH_POINT = 7;
|
Mesh point |
WIFI_IFTYPE_P2P_CLIENT = 8;
|
P2P client |
WIFI_IFTYPE_P2P_GO = 9;
|
P2P group owner |
WIFI_IFTYPE_P2P_DEVICE = 10;
|
P2P device interface type |
WIFI_IFTYPE_OCB = 11;
|
Outside Context of a BSS |
WIFI_NUM_IFTYPES = 12;
|
Number of defined interface types |
WIFI_CHAN_*
Note: As per Linux nl80211.h NL80211_CHAN_* | |
WIFI_CHAN_NO_HT = 0;
|
20 MHz, non-HT channel |
WIFI_CHAN_HT20 = 1;
|
20 MHz HT channel |
WIFI_CHAN_HT40MINUS = 2;
|
HT40 channel, secondary channel below the control channel. |
WIFI_CHAN_HT40PLUS = 3;
|
HT40 channel, secondary channel above the control channel. |
WIFI_CHAN_WIDTH_*
Note: As per Linux nl80211.h NL80211_CHAN_WIDTH_* | |
WIFI_CHAN_WIDTH_20_NOHT = 0;
|
20 MHz, non-HT channel |
WIFI_CHAN_WIDTH_20 = 1;
|
20 MHz HT channel |
WIFI_CHAN_WIDTH_40 = 2;
|
40 MHz channel, the NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well. |
WIFI_CHAN_WIDTH_80 = 3;
|
80 MHz channel, the NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well. |
WIFI_CHAN_WIDTH_80P80 = 4;
|
80+80 MHz channel, the NL80211_ATTR_CENTER_FREQ1 and NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well. |
WIFI_CHAN_WIDTH_160 = 5;
|
160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 attribute must be provided as well |
WIFI_CHAN_WIDTH_5 = 6;
|
5 MHz OFDM channel |
WIFI_CHAN_WIDTH_10 = 7;
|
10 MHz OFDM channel |
WIFI_SIGNAL_TYPE_*
Note: As per Linux cfg80211.h CFG80211_SIGNAL_TYPE_* | |
WIFI_SIGNAL_TYPE_NONE = 0;
|
No signal strength information available |
WIFI_SIGNAL_TYPE_MBM = 1;
|
Signal strength in mBm (100*dBm) |
WIFI_SIGNAL_TYPE_UNSPEC = 2;
|
Signal strength, increasing from 0 through 100 |
WIFI_TX_POWER_*
Note: As per Linux nl80211.h NL80211_TX_POWER_* | |
WIFI_TX_POWER_AUTOMATIC = 0;
|
Automatically determine transmit power |
WIFI_TX_POWER_LIMITED = 1;
|
Limit TX power by the mBm parameter |
WIFI_TX_POWER_FIXED = 2;
|
Fix TX power to the mBm parameter |
WIFI_RX_FLAG_*
Note: As per Linux mac80211.h RX_FLAG_* | |
WIFI_RX_FLAG_MMIC_ERROR = (1 shl 0);
|
Michael MIC error was reported on this frame |
WIFI_RX_FLAG_DECRYPTED = (1 shl 1);
|
This frame was decrypted in hardware |
WIFI_RX_FLAG_MMIC_STRIPPED = (1 shl 3);
|
The Michael MIC is stripped off this frame, verification has been done by the hardware. |
WIFI_RX_FLAG_IV_STRIPPED = (1 shl 4);
|
The IV/ICV are stripped from this frame |
WIFI_RX_FLAG_FAILED_FCS_CRC = (1 shl 5);
|
Set this flag if the FCS check failed on the frame |
WIFI_RX_FLAG_FAILED_PLCP_CRC = (1 shl 6);
|
Set this flag if the PCLP check failed on the frame |
WIFI_RX_FLAG_MACTIME_START = (1 shl 7);
|
The timestamp passed in the RX status MACTime field is valid and contains the time the first symbol of the MPDU was received |
WIFI_RX_FLAG_SHORTPRE = (1 shl 8);
|
Short preamble was used for this frame |
WIFI_RX_FLAG_HT = (1 shl 9);
|
HT MCS was used and RateIndex is MCS index |
WIFI_RX_FLAG_40MHZ = (1 shl 10);
|
HT40 (40 MHz) was used |
WIFI_RX_FLAG_SHORT_GI = (1 shl 11);
|
Short guard interval was used |
WIFI_RX_FLAG_NO_SIGNAL_VAL = (1 shl 12);
|
The signal strength value is not present. Valid only for data frames (mainly A-MPDU). |
WIFI_RX_FLAG_HT_GF = (1 shl 13);
|
This frame was received in a HT-greenfield transmission |
WIFI_RX_FLAG_AMPDU_DETAILS = (1 shl 14);
|
A-MPDU details are known |
WIFI_RX_FLAG_AMPDU_REPORT_ZEROLEN = (1 shl 15);
|
Driver reports 0-length subframes |
WIFI_RX_FLAG_AMPDU_IS_ZEROLEN = (1 shl 16);
|
This is a zero-length subframe |
WIFI_RX_FLAG_AMPDU_LAST_KNOWN = (1 shl 17);
|
Last subframe is known |
WIFI_RX_FLAG_AMPDU_IS_LAST = (1 shl 18);
|
This subframe is the last subframe of the A-MPDU |
WIFI_RX_FLAG_AMPDU_DELIM_CRC_ERROR = (1 shl 19);
|
A delimiter CRC error has been detected on this subframe |
WIFI_RX_FLAG_AMPDU_DELIM_CRC_KNOWN = (1 shl 20);
|
The delimiter CRC field is known |
WIFI_RX_FLAG_MACTIME_END = (1 shl 21);
|
The timestamp passed in the RX status MACTime field is valid and contains the time the last symbol of the MPDU (including FCS) was received |
WIFI_RX_FLAG_VHT = (1 shl 22);
|
HT MCS was used and RateIndex is MCS index |
WIFI_RX_FLAG_LDPC = (1 shl 23);
|
LDPC was used |
WIFI_RX_FLAG_STBC_MASK = (1 shl 26) or (1 shl 27);
|
STBC 2 bit bitmask. 1 - Nss=1, 2 - Nss=2, 3 - Nss=3 |
WIFI_RX_FLAG_10MHZ = (1 shl 28);
|
10 MHz (half channel) was used |
WIFI_RX_FLAG_5MHZ = (1 shl 29);
|
5 MHz (quarter channel) was used |
WIFI_RX_FLAG_AMSDU_MORE = (1 shl 30);
|
Some drivers may prefer to report separate A-MSDU subframes instead of a one huge frame for performance reasons |
WIFI_RX_FLAG_RADIOTAP_VENDOR_DATA = (1 shl 31);
|
This frame contains vendor-specific radiotap data in the data (before the frame) |
WIFI_RX_VHT_FLAG_*
Note: As per Linux mac80211.h RX_VHT_FLAG_* | |
WIFI_RX_VHT_FLAG_80MHZ = (1 shl 0);
|
80 MHz was used |
WIFI_RX_VHT_FLAG_160MHZ = (1 shl 1);
|
160 MHz was used |
WIFI_RX_VHT_FLAG_BF = (1 shl 2);
|
Packet was beamformed |
Type definitions
IEEE 802.11 header
PIEEE80211Header = ^TIEEE80211Header;
TIEEE80211Header = record
Note: From Linux ieee80211.h ieee80211_hdr
Not Packed | |
FrameControl:Word;
|
LE16 |
DurationId:Word;
|
LE16 |
Address1:THardwareAddress;
|
|
Address2:THardwareAddress;
|
|
Address3:THardwareAddress;
|
|
SequenceControl:Word;
|
LE16 |
Address4:THardwareAddress;
|
IEEE 802.11 header 3 address
PIEEE80211Header3Address = ^TIEEE80211Header3Address;
TIEEE80211Header3Address = record
Note: From Linux ieee80211.h ieee80211_hdr_3addr
Not Packed | |
FrameControl:Word;
|
LE16 |
DurationId:Word;
|
LE16 |
Address1:THardwareAddress;
|
|
Address2:THardwareAddress;
|
|
Address3:THardwareAddress;
|
|
SequenceControl:Word;
|
LE16 |
IEEE 802.11 QOS header
PIEEE80211QOSHeader = ^TIEEE80211QOSHeader;
TIEEE80211QOSHeader = record
Note: From Linux ieee80211.h ieee80211_qos_hdr
Not Packed | |
FrameControl:Word;
|
LE16 |
DurationId:Word;
|
LE16 |
Address1:THardwareAddress;
|
|
Address2:THardwareAddress;
|
|
Address3:THardwareAddress;
|
|
SequenceControl:Word;
|
LE16 |
QoSControl:Word;
|
LE16 |
IEEE 802.11 S header
PIEEE80211SHeader = ^TIEEE80211SHeader;
TIEEE80211SHeader = record
Note: From Linux ieee80211.h ieee80211s_hdr
Not Packed | |
Flags:Byte;
|
|
TTL:Byte;
|
|
SequenceNumber:LongWord;
|
LE32 |
Address1:THardwareAddress;
|
|
Address2:THardwareAddress;
|
IEEE 802.11 quiet information element
PIEEE80211QuietIE = ^TIEEE80211QuietIE;
TIEEE80211QuietIE = packed record
Note: From Linux ieee80211.h ieee80211_quiet_ie | |
Count:Byte;
|
|
Period:Byte;
|
|
Duration:Word;
|
LE16 |
Offset:Word;
|
LE16 |
IEEE 802.11 measurement request/report information element
PIEEE80211MeasurementIE = ^TIEEE80211MeasurementIE;
TIEEE80211MeasurementIE = packed record
Note: From Linux ieee80211.h ieee80211_msrment_ie | |
Token:Byte;
|
|
Mode:Byte;
|
|
TType:Byte;
|
Type |
Request:array[0..0] of Byte;
|
IEEE 802.11 channel switch announcement information element
PIEEE80211ChannelSwitchIE = ^TIEEE80211ChannelSwitchIE;
TIEEE80211ChannelSwitchIE = packed record
Note: From Linux ieee80211.h ieee80211_channel_sw_ie | |
Mode:Byte;
|
|
NewChannel:Byte;
|
|
Count:Byte;
|
IEEE 802.11 extended channel switch announcement information element
PIEEE80211ExtChannelSwitchIE = ^TIEEE80211ExtChannelSwitchIE;
TIEEE80211ExtChannelSwitchIE = packed record
Note: From Linux ieee80211.h ieee80211_ext_chansw_ie | |
Mode:Byte;
|
|
NewOperatingClass:Byte;
|
|
NewChannel:Byte;
|
|
Count:Byte;
|
IEEE 802.11 secondary channel offset information element
PIEEE80211SecondaryChannelOffsetIE = ^TIEEE80211SecondaryChannelOffsetIE;
TIEEE80211SecondaryChannelOffsetIE = packed record
Note: From Linux ieee80211.h ieee80211_sec_chan_offs_ie | |
SecondaryChannelOffset:Byte;
|
Secondary channel offset, uses IEEE80211_HT_PARAM_CHA_SEC_* values here |
IEEE 802.11 mesh channel switch parameters information element
PIEEE80211MeshChannelSwitchParamsIE = ^TIEEE80211MeshChannelSwitchParamsIE;
TIEEE80211MeshChannelSwitchParamsIE = packed record
Note: From Linux ieee80211.h ieee80211_mesh_chansw_params_ie | |
MeshTTL:Byte;
|
|
MeshFlags:Byte;
|
See IEEE80211_CHAN_SWITCH_PARAM_* |
MeshReason:Word;
|
LE16 |
MeshPreValue:Word;
|
LE16 |
IEEE 802.11 wide bandwidth channel switch information element
PIEEE80211WidebandChannelSwitchIE = ^TIEEE80211WidebandChannelSwitchIE;
TIEEE80211WidebandChannelSwitchIE = packed record
Note: From Linux ieee80211.h ieee80211_wide_bw_chansw_ie | |
NewChannelWidth:Byte;
|
|
NewCenterFreqSeg0:Byte;
|
|
NewCenterFreqSeg1:Byte;
|
IEEE 802.11 traffic indication map information element
PIEEE80211TrafficIndicationMapIE = ^TIEEE80211TrafficIndicationMapIE;
TIEEE80211TrafficIndicationMapIE = packed record
Note: From Linux ieee80211.h ieee80211_tim_ie | |
DTIMCount:Byte;
|
|
DTIMPeriod:Byte;
|
|
BitmapControl:Byte;
|
|
VirtualMap:array[0..0] of Byte;
|
Variable size: 1 - 251 bytes |
IEEE 802.11 mesh configuration information element
PIEEE80211MeshConfigurationIE = ^TIEEE80211MeshConfigurationIE;
TIEEE80211MeshConfigurationIE = packed record
Note: From Linux ieee80211.h ieee80211_meshconf_ie | |
MeshConfPSEL:Byte;
|
|
MeshConfPMetric:Byte;
|
|
MeshconfCongest:Byte;
|
|
MeshconfSynch:Byte;
|
|
MeshConfAuth:Byte;
|
|
MeshConfForm:Byte;
|
|
MeshConfCap:Byte;
|
IEEE 802.11 root announcement information element
PIEEE80211RootAnnouncementIE = ^TIEEE80211RootAnnouncementIE;
TIEEE80211RootAnnouncementIE = packed record
Note: From Linux ieee80211.h ieee80211_rann_ie | |
RannFlags:Byte;
|
|
RannHopcount:Byte;
|
|
RannTTL:Byte;
|
|
RannAddress:THardwareAddress;
|
|
RannSequence:LongWord;
|
LE32 |
RannInterval:LongWord;
|
LE32 |
RannMetric:LongWord;
|
LE32 |
IEEE 802.11 TPC report information element
PIEEE80211TPCReportIE = ^TIEEE80211TPCReportIE;
TIEEE80211TPCReportIE = packed record
Note: From Linux ieee80211.h ieee80211_tpc_report_ie | |
TXPower:Byte;
|
|
LinkMargin:Byte;
|
IEEE 802.11 management authority
TIEEE80211ManagementAuth = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
AuthAlgorithm:Word;
|
LE16 |
AuthTransaction:Word;
|
LE16 |
StatusCode:Word;
|
LE16 |
Possibly followed by Challenge text | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management deauthority
TIEEE80211ManagementDeauth = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ReasonCode:Word;
|
LE16 |
IEEE 802.11 management association request
TIEEE80211ManagementAssocRequest = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
CapabilitiesInfo:Word;
|
LE16 |
ListenInterval:Word;
|
LE16 |
Followed by SSID and Supported rates | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management association response
TIEEE80211ManagementAssocResponse = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
CapabilitiesInfo:Word;
|
LE16 |
StatusCode:Word;
|
LE16 |
AID:Word;
|
LE16 |
Followed by Supported rates | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management reassociation request
TIEEE80211ManagementReassocRequest = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
CapabilitiesInfo:Word;
|
LE16 |
ListenInterval:Word;
|
LE16 |
CurrentAP:THardwareAddress;
|
|
Followed by SSID and Supported rates | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management disassociation
TIEEE80211ManagementDisassoc = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ReasonCode:Word;
|
LE16 |
IEEE 802.11 management beacon
TIEEE80211ManagementBeacon = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
Timestamp:Int64;
|
LE64 |
BeaconInterval:Word;
|
LE16 |
CapabilitiesInfo:Word;
|
LE16 |
Followed by some of SSID, Supported rates, FH Params, DS Params, CF Params, IBSS Params, TIM | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management probe request
TIEEE80211ManagementProbeRequest = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
Only variable items: SSID, Supported rates | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management probe response
TIEEE80211ManagementProbeResponse = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
Timestamp:Int64;
|
LE64 |
BeaconInterval:Word;
|
LE16 |
CapabilitiesInfo:Word;
|
LE16 |
Followed by some of SSID, Supported rates, FH Params, DS Params, CF Params, IBSS Params | |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action WME action
TIEEE80211ManagementActionWMEAction = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
StatusCode:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action channel switch
TIEEE80211ManagementActionChannelSwitch = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action extended channel switch
TIEEE80211ManagementActionExtChannelSwitch = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
Data:TIEEE80211ExtChannelSwitchIE;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action measurement
TIEEE80211ManagementActionMeasurement = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
ElementID:Byte;
|
|
Length:Byte;
|
|
Element:TIEEE80211MeasurementIE;
|
IEEE 802.11 management action add BA request
TIEEE80211ManagementActionAddBARequest = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
Capability:Word;
|
LE16 |
Timeout:Word;
|
LE16 |
StartSequenceNumber:Word;
|
LE16 |
IEEE 802.11 management action add BA response
TIEEE80211ManagementActionAddBAResponse = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
Status:Word;
|
LE16 |
Capability:Word;
|
LE16 |
Timeout:Word;
|
LE16 |
IEEE 802.11 management action delete BA
TIEEE80211ManagementActionDelBA = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
Params:Word;
|
LE16 |
ReasonCode:Word;
|
LE16 |
IEEE 802.11 management action self protection
TIEEE80211ManagementActionSelfProt = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action mesh action
TIEEE80211ManagementActionMeshAction = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action SA query
TIEEE80211ManagementActionSAQuery = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
TransID:array[0..WLAN_SA_QUERY_TR_ID_LEN - 1] of Byte;
|
IEEE 802.11 management action HTSMPS
TIEEE80211ManagementActionHTSMPS = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
Action:Byte;
|
|
SMPSControl:Byte;
|
IEEE 802.11 management action HT notify channel width
TIEEE80211ManagementActionHTNotifyChannelWidth = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
ChannelWidth:Byte;
|
IEEE 802.11 management action TDLS discover response
TIEEE80211ManagementActionTDLSDiscoverResponse = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
Capability:Word;
|
LE16 |
Variable:array[0..0] of Byte;
|
IEEE 802.11 management action VHT opmode notify
TIEEE80211ManagementActionVHTOpmodeNotify = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
OperatingMode:Byte;
|
IEEE 802.11 management action TPC report
TIEEE80211ManagementActionTPCReport = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
ActionCode:Byte;
|
|
DialogToken:Byte;
|
|
TPCElementID:Byte;
|
|
TPCElementLength:Byte;
|
|
TPC:TIEEE80211TPCReportIE;
|
IEEE 802.11 management action
TIEEE80211ManagementAction = packed record
Note: From Linux ieee80211.h ieee80211_mgmt | |
case Integer of
|
|
0:(WMEAction:TIEEE80211ManagementAuth);
|
|
1:(ChannelSwitch:TIEEE80211ManagementActionChannelSwitch);
|
|
2:(ExtChannelSwitch:TIEEE80211ManagementActionExtChannelSwitch);
|
|
3:(Measurement:TIEEE80211ManagementActionMeasurement);
|
|
4:(AddBARequest:TIEEE80211ManagementActionAddBARequest);
|
|
5:(AddBAResponse:TIEEE80211ManagementActionAddBAResponse);
|
|
6:(DelBA:TIEEE80211ManagementActionDelBA);
|
|
7:(SelfProt:TIEEE80211ManagementActionSelfProt);
|
|
8:(MeshAction:TIEEE80211ManagementActionMeshAction);
|
|
9:(SAQuery:TIEEE80211ManagementActionSAQuery);
|
|
10:(HTSMPS:TIEEE80211ManagementActionHTSMPS);
|
|
11:(HTNotifyChannelWidth:TIEEE80211ManagementActionHTNotifyChannelWidth);
|
|
12:(TDLSDiscoverResponse:TIEEE80211ManagementActionTDLSDiscoverResponse);
|
|
13:(VHTOpmodeNotify:TIEEE80211ManagementActionVHTOpmodeNotify);
|
|
14:(TPCReport:TIEEE80211ManagementActionTPCReport);
|
IEEE 802.11 management
PIEEE80211Management = ^TIEEE80211Management;
TIEEE80211Management = record
Note: From Linux ieee80211.h ieee80211_mgmt
Not Packed | |
FrameControl:Word;
|
LE16 |
Duration:Word;
|
LE16 |
DestinationAddress:THardwareAddress;
|
|
SourceAddress:THardwareAddress;
|
|
BSSID:THardwareAddress;
|
|
SequenceControl:Word;
|
LE16 |
case Integer of
|
|
0:(Auth:TIEEE80211ManagementAuth);
|
|
1:(Deauth:TIEEE80211ManagementDeauth);
|
|
2:(AssocRequest:TIEEE80211ManagementAssocRequest);
|
|
3:(AssocResponse:TIEEE80211ManagementAssocResponse);
|
|
4:(ReassocResponse:TIEEE80211ManagementAssocResponse);
|
|
5:(ReassocRequest:TIEEE80211ManagementReassocRequest);
|
|
6:(Disassoc:TIEEE80211ManagementDisassoc);
|
|
7:(Beacon:TIEEE80211ManagementBeacon);
|
|
8:(ProbeRequest:TIEEE80211ManagementProbeRequest);
|
|
9:(ProbeResponse:TIEEE80211ManagementProbeResponse);
|
|
10:(Action:TIEEE80211ManagementAction);
|
IEEE 802.11 management MIC information element (IEEE 802.11w)
PIEEE80211ManagementMICIE = ^TIEEE80211ManagementMICIE;
TIEEE80211ManagementMICIE = packed record
Note: From Linux ieee80211.h ieee80211_mmie | |
ElementID:Byte;
|
|
Length:Byte;
|
|
KeyID:Word;
|
LE16 |
SequenceNumber:array[0..5] of Byte;
|
|
MIC:array[0..7] of Byte;
|
IEEE 802.11 management MIC information element (IEEE 802.11w) for GMAC and CMAC-256
PIEEE80211ManagementMIC16IE = ^TIEEE80211ManagementMIC16IE;
TIEEE80211ManagementMIC16IE = packed record
Note: From Linux ieee80211.h ieee80211_mmie_16 | |
ElementID:Byte;
|
|
Length:Byte;
|
|
KeyID:Word;
|
LE16 |
SequenceNumber:array[0..5] of Byte;
|
|
MIC:array[0..15] of Byte;
|
IEEE 802.11 vendor information element
PIEEE80211VendorIE = ^TIEEE80211VendorIE;
TIEEE80211VendorIE = packed record
Note: From Linux ieee80211.h ieee80211_vendor_ie | |
ElementID:Byte;
|
|
Length:Byte;
|
|
OUI:array[0..2] of Byte;
|
|
OUIType:Byte;
|
IEEE 802.11 WMM AC parameters
PIEEE80211WMMACParam = ^TIEEE80211WMMACParam;
TIEEE80211WMMACParam = packed record
Note: From Linux ieee80211.h ieee80211_wmm_ac_param | |
ACI_AIFSN:Byte;
|
AIFSN, ACM, ACI |
CW:Byte;
|
ECWmin, ECWmax (CW = 2^ECW - 1) |
TXOpLimit:Word;
|
LE16 |
IEEE 802.11 WMM parameters information element
PIEEE80211WMMParamIE = ^TIEEE80211WMMParamIE;
TIEEE80211WMMParamIE = packed record
Note: From Linux ieee80211.h ieee80211_wmm_param_ie | |
ElementID:Byte;
|
Element ID: 221 (= $dd); |
Length:Byte;
|
Length: 24 |
Required fields for WMM version 1 | |
OUI:array[0..2] of Byte;
|
00:50:f2 |
OUIType:Byte;
|
2 |
OUISubType:Byte;
|
1 |
Version:Byte;
|
1 for WMM version 1.0 |
QoSInfo:Byte;
|
AP/STA specific QoS info |
Reserved:Byte;
|
0 |
AC_BE, AC_BK, AC_VI, AC_VO | |
AC:array[0..3] of TIEEE80211WMMACParam;
|
IEEE 802.11 RTS
PIEEE80211RTS = ^TIEEE80211RTS;
TIEEE80211RTS = record
Note: Not Packed | |
FrameControl:Word;
|
LE16 |
Duration:Word;
|
LE16 |
ReceiverAddress:THardwareAddress;
|
|
TransmitterAddress:THardwareAddress;
|
IEEE 802.11 CTS
PIEEE80211CTS = ^TIEEE80211CTS;
TIEEE80211CTS = record
Note: Not Packed | |
FrameControl:Word;
|
LE16 |
Duration:Word;
|
LE16 |
ReceiverAddress:THardwareAddress;
|
IEEE 802.11 PS poll
PIEEE80211PSPoll = ^TIEEE80211PSPoll;
TIEEE80211PSPoll = record
Note: Not Packed | |
FrameControl:Word;
|
LE16 |
AID:Word;
|
LE16 |
BSSID:THardwareAddress;
|
|
TransmitterAddress:THardwareAddress;
|
IEEE 802.11 channel switch timing
PIEEE80211ChannelSwitchTiming = ^TIEEE80211ChannelSwitchTiming;
TIEEE80211ChannelSwitchTiming = packed record
Note: From Linux ieee80211.h ieee80211_ch_switch_timing | |
SwitchTime:Word;
|
LE16 |
SwitchTimeout:Word;
|
LE16 |
IEEE 802.11 TDLS link-id information element
PIEEE80211TDLSLinkIdentifierIE = ^TIEEE80211TDLSLinkIdentifierIE;
TIEEE80211TDLSLinkIdentifierIE = packed record
Note: From Linux ieee80211.h ieee80211_tdls_lnkie | |
ElementID:Byte;
|
Link Identifier IE |
Length:Byte;
|
|
BSSID:THardwareAddress;
|
|
InitiatingStation:THardwareAddress;
|
|
RespondingStation:THardwareAddress;
|
IEEE 802.11 TDLS data setup request
TIEEE80211TDLSDataSetupRequest = packed record
DialogToken:Byte;
|
|
Capability:Word;
|
LE16 |
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data setup response
TIEEE80211TDLSDataSetupResponse = packed record
StatusCode:Word;
|
LE16 |
DialogToken:Byte;
|
|
Capability:Word;
|
LE16 |
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data setup confirmation
TIEEE80211TDLSDataSetupConfirm = packed record
StatusCode:Word;
|
LE16 |
DialogToken:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data teardown
TIEEE80211TDLSDataTeardown = packed record
ReasonCode:Word;
|
LE16 |
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data discover request
TIEEE80211TDLSDataDiscoverRequest = packed record
DialogToken:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data channel switch request
TIEEE80211TDLSDataChannelSwitchRequest = packed record
TargetChannel:Byte;
|
|
OperatingClass:Byte;
|
|
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data channel switch response
TIEEE80211TDLSDataChannelSwitchResponse = packed record
StatusCode:Word;
|
LE16 |
Variable:array[0..0] of Byte;
|
IEEE 802.11 TDLS data
PIEEE80211TDLSData = ^TIEEE80211TDLSData;
TIEEE80211TDLSData = packed record
Note: From Linux ieee80211.h ieee80211_tdls_data | |
DestinationAddress:THardwareAddress;
|
|
SourceAddress:THardwareAddress;
|
|
EtherType:Word;
|
BE16 (As per Ethernet Header) |
PayloadType:Byte;
|
|
Category:Byte;
|
|
ActionCode:Byte;
|
|
case Integer of
|
|
0:(SetupRequest:TIEEE80211TDLSDataSetupRequest);
|
|
1:(SetupResponse:TIEEE80211TDLSDataSetupResponse);
|
|
2:(SetupConfirm:TIEEE80211TDLSDataSetupConfirm);
|
|
3:(Teardown:TIEEE80211TDLSDataTeardown);
|
|
4:(DiscoverRequest:TIEEE80211TDLSDataDiscoverRequest);
|
|
5:(ChannelSwitchRequest:TIEEE80211TDLSDataChannelSwitchRequest);
|
|
6:(ChannelSwitchResponse:TIEEE80211TDLSDataChannelSwitchResponse);
|
IEEE 802.11 P2P notice of absence description
PIEEE80211P2PNOADescription = ^TIEEE80211P2PNOADescription;
TIEEE80211P2PNOADescription = packed record
Note: From Linux ieee80211.h ieee80211_p2p_noa_desc | |
Count:Byte;
|
|
Duration:LongWord;
|
LE32 |
Interval:LongWord;
|
LE32 |
StartTime:LongWord;
|
LE32 |
IEEE 802.11 P2P notice of absence attribute
PIEEE80211P2PNOAAttribute = ^TIEEE80211P2PNOAAttribute;
TIEEE80211P2PNOAAttribute = packed record
Note: From Linux ieee80211.h ieee80211_p2p_noa_attr | |
Index:Byte;
|
|
OPPPS_CTWindow:Byte;
|
|
Description:array[0..IEEE80211_P2P_NOA_DESC_MAX - 1] of TIEEE80211P2PNOADescription;
|
IEEE 802.11 HT block acknowledgement request
PIEEE80211Bar = ^TIEEE80211Bar;
TIEEE80211Bar = packed record
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 | |
FrameControl:Word;
|
LE16 |
Duration:Word;
|
LE16 |
ReceiverAddress:THardwareAddress;
|
|
TransmitterAddress:THardwareAddress;
|
|
Control:Word;
|
LE16 |
StartSequenceNumber:Word;
|
LE16 |
IEEE 802.11 HT MCS information
PIEEE80211MCSInfo = ^TIEEE80211MCSInfo;
TIEEE80211MCSInfo = packed record
Note: From Linux ieee80211.h ieee80211_mcs_info | |
RXMask:array[0..IEEE80211_HT_MCS_MASK_LEN - 1] of Byte;
|
RX mask |
RXHighest:Word;
|
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. |
TXParams:Byte;
|
TX parameters |
Reserved:array[0..2] of Byte;
|
IEEE 802.11 HT capabilities
PIEEE80211HTCapabilities = ^TIEEE80211HTCapabilities;
TIEEE80211HTCapabilities = packed record
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 | |
CapabilityInfo:Word;
|
LE16 |
AMPDUParamsInfo:Byte;
|
|
MCS:TIEEE80211MCSInfo;
|
16 bytes MCS information |
ExtendedHTCapInfo:Word;
|
LE16 |
TXBFCapInfo:LongWord;
|
LE32 |
AntennaSelectionInfo:Byte;
|
IEEE 802.11 HT operation
PIEEE80211HTOperation = ^TIEEE80211HTOperation;
TIEEE80211HTOperation = packed record
Note: From Linux ieee80211.h ieee80211_ht_operation | |
PrimaryChannel:Byte;
|
|
HTParam:Byte;
|
|
OperationMode:Word;
|
LE16 |
STBCParam:Word;
|
LE16 |
BasicSet:array[0..15] of Byte;
|
IEEE 802.11 VHT MCS information
PIEEE80211VHTMCSInfo = ^TIEEE80211VHTMCSInfo;
TIEEE80211VHTMCSInfo = packed record
Note: From Linux ieee80211.h ieee80211_vht_mcs_info | |
RXMCSMap:Word;
|
LE16 RX MCS map 2 bits for each stream, total 8 streams |
RXHighest:Word;
|
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. |
TXMCSMap:Word;
|
LE16 TX MCS map 2 bits for each stream, total 8 streams |
TXHighest:Word;
|
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. |
IEEE 802.11 VHT capabilities
PIEEE80211VHTCapabilities = ^TIEEE80211VHTCapabilities;
TIEEE80211VHTCapabilities = packed record
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 | |
VHTCapabilityInfo:LongWord;
|
LE32 VHT capability info |
SupportedMCS:TIEEE80211VHTMCSInfo;
|
VHT MCS supported rates |
IEEE 802.11 VHT operation
PIEEE80211VHTOperation = ^TIEEE80211VHTOperation;
TIEEE80211VHTOperation = packed record
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 | |
ChannelWidth:Byte;
|
|
CenterFreqSeg1Idx:Byte;
|
|
CenterFreqSeg2Idx:Byte;
|
|
BasicMCSSet:Word;
|
LE16 |
IEEE 802.11 country triplet information element channels
TIEEE80211CountryTripletIEChannels = packed record
FirstChannel:Byte;
|
|
NumChannels:Byte;
|
|
MaxPower:ShortInt;
|
IEEE 802.11 country triplet information element extended
TIEEE80211CountryTripletIEExt = packed record
RegExtensionID:Byte;
|
|
RegClass:Byte;
|
|
CoverageClass:Byte;
|
IEEE 802.11 country triplet information element
PIEEE80211CountryTripletIE = ^TIEEE80211CountryTripletIE;
TIEEE80211CountryTripletIE = packed record
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 | |
case Integer of
|
|
0:(Channels:TIEEE80211CountryTripletIEChannels);
|
|
1:(Ext:TIEEE80211CountryTripletIEExt);
|
IEEE 802.11 timeout interval information element
PIEEE80211TimeoutIntervalIE = ^TIEEE80211TimeoutIntervalIE;
TIEEE80211TimeoutIntervalIE = packed record
Note: From Linux ieee80211.h ieee80211_timeout_interval_ie | |
IntervalType:Byte;
|
|
Value:LongWord;
|
LE32 |
IEEE 802.11 Tspec information element
PIEEE80211TSpecIE = ^TIEEE80211TSpecIE;
TIEEE80211TSpecIE = packed record
Note: From Linux ieee80211.h ieee80211_tspec_ie | |
ElementID:Byte;
|
|
Length:Byte;
|
|
OUI:array[0..2] of Byte;
|
|
OUIType:Byte;
|
|
OUISubType:Byte;
|
|
Version:Byte;
|
|
TSInfo:Word;
|
LE16 |
TSInfoReserved:Byte;
|
|
NominalMSDU:Word;
|
LE16 |
MaxMSDU:Word;
|
LE16 |
MinServiceInt:LongWord;
|
LE32 |
MaxServiceInt:LongWord;
|
LE32 |
InactivityInt:LongWord;
|
LE32 |
SuspensionInt:LongWord;
|
LE32 |
ServiceStartTime:LongWord;
|
LE32 |
MinDataRate:LongWord;
|
LE32 |
MeanDataRate:LongWord;
|
LE32 |
PeakDataRate:LongWord;
|
LE32 |
MaxBurstSize:LongWord;
|
LE32 |
DelayBound:LongWord;
|
LE32 |
MinPhyRate:LongWord;
|
LE32 |
SBA:Word;
|
LE16 |
MediumTime:Word;
|
LE16 |
IEEE 802.11 channel
PIEEE80211Channel = ^TIEEE80211Channel;
TIEEE80211Channel = record
Note: These structures are NOT defined by IEEE 802.11 but are internal to the implementation
From Linux cfg80211.h ieee80211_channel | |
Band:LongWord;
|
IEEE80211_BAND_2GHZ etc |
CenterFrequency:Word;
|
|
HardwareChannel:Word;
|
|
Flags:LongWord;
|
IEEE80211_CHAN_DISABLED etc |
MaxAntennaGain:LongInt;
|
|
MaxPower:LongInt;
|
|
MaxRegPower:LongInt;
|
|
BeaconFound:LongBool;
|
IEEE 802.11 channels
PIEEE80211Channels = ^TIEEE80211Channels;
TIEEE80211Channels = array[0..0] of TIEEE80211Channel;
IEEE 802.11 rate
PIEEE80211Rate = ^TIEEE80211Rate;
TIEEE80211Rate = record
Note: From Linux cfg80211.h ieee80211_rate | |
Flags:LongWord;
|
Rate-specific flags |
BitRate:Word;
|
Bitrate in units of 100 Kbps |
HardwareRate:Word;
|
Driver/hardware value for this rate |
HardwareRateShort:Word;
|
Driver/hardware value for this rate when short preamble is used |
IEEE 802.11 rates
PIEEE80211Rates = ^TIEEE80211Rates;
TIEEE80211Rates = array[0..0] of TIEEE80211Rate;
IEEE 802.11 channel definition
PIEEE80211ChannelDefinition = ^TIEEE80211ChannelDefinition;
TIEEE80211ChannelDefinition = record
Channel:PIEEE80211Channel;
|
Control channel |
Width:LongWord;
|
Channel width (See WIFI_CHAN_WIDTH_*) |
CenterFrequency1:LongWord;
|
Center frequency of first segment |
CenterFrequency2:LongWord;
|
Center frequency of second segment (only with 80+80 MHz) |
IEEE 802.11 station HT capabilities
PIEEE80211StationHTCap = ^TIEEE80211StationHTCap;
TIEEE80211StationHTCap = record
Note: From Linux cfg80211.h ieee80211_sta_ht_cap | |
Capabilities:LongWord;
|
HT capabilities map as described in 802.11n spec (eg IEEE80211_HT_CAP_*) |
HTSupported:LongBool;
|
True if HT supported by the STA |
AMPDUFactor:LongWord;
|
Maximum A-MPDU length factor |
AMPDUDensity:LongWord;
|
Minimum A-MPDU spacing |
MCS:TIEEE80211MCSInfo;
|
Supported MCS rates |
IEEE 802.11 station VHT capabilities
PIEEE80211StationVHTCap = ^TIEEE80211StationVHTCap;
TIEEE80211StationVHTCap = record
Note: From Linux cfg80211.h ieee80211_sta_vht_cap | |
Capabilities:LongWord;
|
VHT capabilities map as described in 802.11ac spec (eg IEEE80211_VHT_CAP_*) |
VHTSupported:LongBool;
|
True if VHT supported by the STA |
VHTMCS:TIEEE80211VHTMCSInfo;
|
Supported VHT MCS rates |
IEEE 802.11 supported band
PIEEE80211SupportedBand = ^TIEEE80211SupportedBand;
TIEEE80211SupportedBand = record
Note: From Linux cfg80211.h ieee80211_supported_band | |
Channels:PIEEE80211Channels;
|
|
Rates:PIEEE80211Rates;
|
|
ChannelCount:LongWord;
|
|
RateCount:LongWord;
|
|
HTCapabilities:TIEEE80211StationHTCap;
|
|
VHTCapabilities:TIEEE80211StationVHTCap;
|
IEEE 802.11 BSS configuration
PIEEE80211BSSConfiguration = ^TIEEE80211BSSConfiguration;
TIEEE80211BSSConfiguration = record
Note: From Linux mac80211.h ieee80211_bss_conf | |
BSSID:PByte;
|
The BSSID for this BSS |
Association related | |
Associated:LongBool;
|
Association status |
IBSSJoined:LongBool;
|
Indicates whether this station is part of an IBSS or not |
IBSSCreator:LongBool;
|
Indicates if a new IBSS network is being created |
AssociationID:Word;
|
Association Id number, valid only when Associated is true |
ERP related | |
UseCTSProtection:LongBool;
|
Use CTS protection |
UseShortPreamble:LongBool;
|
Use 802.11b short preamble (if the hardware cannot handle this it must set the IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE flag) |
UseShortSlot:LongBool;
|
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) |
EnableBeacon:LongBool;
|
Whether beaconing should be enabled or not |
DTIMPeriod:Byte;
|
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. |
BeaconInterval:Word;
|
Beacon interval |
AssociationCapability:Word;
|
Capabilities taken from association response |
SyncTSF:Int64;
|
Last beacon's/probe response's TSF timestamp (could be old as it may have been received during scanning long ago) |
SyncDeviceTS:LongWord;
|
The device timestamp corresponding to the SyncTSF |
SyncDTIMCount:Byte;
|
Only valid when IEEE80211_HW_TIMING_BEACON_ONLY is requested |
BasicRates:LongWord;
|
Bitmap of basic rates, each bit stands for an index into the rate table configured by the driver in the current band |
BeaconRate:PIEEE80211Rate;
|
Associated AP's beacon TX rate |
MulticastRate:array[0..IEEE80211_NUM_BANDS - 1] of Integer;
|
Per-band multicast rate index + 1 (0: disabled) |
HTOperationMode:Word;
|
HT operation mode like in TIEEE80211HTOperation |
CQMRSSIThreshold:LongInt;
|
Connection quality monitor RSSI threshold, a zero value implies disabled. |
CQMRSSIHysteresis:LongWord;
|
Connection quality monitor RSSI hysteresis |
ChannelDefinition:TIEEE80211ChannelDefinition;
|
Channel definition for this BSS (the hardware might be configured a higher bandwidth than this BSS uses) |
QoS:LongBool;
|
This is a QoS-enabled BSS |
Idle:LongBool;
|
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. |
Powersave:LongBool;
|
Power-save mode (STA only). This flag is NOT affected by offchannel/dynamic_ps operations. |
SSID:array[0..IEEE80211_MAX_SSID_LEN - 1] of Byte;
|
The SSID of the current interface. Valid in AP and IBSS mode. |
SSIDLength:LongWord;
|
Length of SSID given in SSID |
HiddenSSID:LongBool;
|
The SSID of the current interface is hidden. Only valid in AP-mode. |
TXPower:LongInt;
|
TX power in dBm |
TXPowerType:LongWord;
|
TX power adjustment used to control per packet Transmit Power Control (TPC) in driver for the current interface (WIFI_TX_POWER_*) |
P2PNOAAttribute:TIEEE80211P2PNOAAttribute;
|
P2P NoA attribute for P2P powersave |
IEEE 802.11 RX status
PIEEE80211RXStatus = ^TIEEE80211RXStatus;
TIEEE80211RXStatus = record
Note: From Linux mac80211.h ieee80211_rx_status | |
MACTime:Int64;
|
Value in microseconds of the 64-bit Time Synchronization Function (TSF) timer when the first data symbol (MPDU) arrived at the hardware |
DeviceTimestamp:LongWord;
|
Arbitrary timestamp for the device |
AMPDUReference:LongWord;
|
A-MPDU reference number, must be a different value for each A-MPDU but the same for each subframe within one A-MPDU. |
Flags:LongWord;
|
WIFI_RX_FLAG_* |
Frequency:Word;
|
Frequency the radio was tuned to when receiving this frame, in MHz. |
VHTFlags:Byte;
|
WIFI_RX_VHT_FLAG_* |
RateIndex:Byte;
|
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) |
VHTNSS:Byte;
|
Number of streams (VHT only) |
RXFlags:Byte;
|
Internal RX flags (IEEE80211_RX_*) |
Band:Byte;
|
The active band when this frame was received |
Antenna:Byte;
|
Antenna used |
Signal:Byte;
|
Signal strength when receiving this frame, either in dBm, in dB or unspecified depending on the hardware capabilities flags IEEE80211_HW_SIGNAL_* |
Chains:Byte;
|
Bitmask of receive chains for which separate signal strength values were filled |
ChainSignal:array[0..IEEE80211_MAX_CHAINS - 1] of Byte;
|
Per-chain signal strength, in dBm (unlike Signal, doesn't support dB or unspecified units). |
AMPDUDelimiterCRC:Byte;
|
A-MPDU delimiter CRC |
IEEE 802.11 TX information
PIEEE80211TXInfo = ^TIEEE80211TXInfo;
TIEEE80211TXInfo = record
Note: From Linux mac80211.h ieee80211_tx_info | |
IEEE 802.11 information elements
PIEEE80211InformationElements = ^TIEEE80211InformationElements;
TIEEE80211InformationElements = record
Note: From Linux ieee80211_i.h ieee802_11_elems | |
Address:Pointer;
|
|
Size:LongWord;
|
|
Information Elements | |
LinkIdentifier:PIEEE80211TDLSLinkIdentifierIE;
|
|
ChannelSwitchTiming:PIEEE80211ChannelSwitchTiming;
|
|
ExtendedCapabilities:Pointer;
|
|
SSID:Pointer;
|
|
SupportedRates:Pointer;
|
|
DSParameters:Pointer;
|
|
TrafficIndicationMap:PIEEE80211TrafficIndicationMapIE;
|
|
ChallengeText:Pointer;
|
|
RSN:Pointer;
|
|
ERPInfo:Pointer;
|
|
ExtendedSupportedRates:Pointer;
|
|
WMMInfo:Pointer;
|
|
WMMParam:Pointer;
|
|
HTCapabilities:PIEEE80211HTCapabilities;
|
|
HTOperation:PIEEE80211HTOperation;
|
|
VHTCapabilities:PIEEE80211VHTCapabilities;
|
|
VHTOperation:PIEEE80211VHTOperation;
|
|
MeshConfiguration:PIEEE80211MeshConfigurationIE;
|
|
MeshID:Pointer;
|
|
PeerManagement:Pointer;
|
|
MeshAwakeWindow:Word;
|
LE16 |
PREQ:Pointer;
|
|
PREP:Pointer;
|
|
PERR:Pointer;
|
|
RootAnnouncement:PIEEE80211RootAnnouncementIE;
|
|
ChannelSwitch:PIEEE80211ChannelSwitchIE;
|
|
ExtChannelSwitch:PIEEE80211ExtChannelSwitchIE;
|
|
WidebandChannelSwitch:PIEEE80211WidebandChannelSwitchIE;
|
|
Country:Pointer;
|
|
PowerConstraint:Pointer;
|
|
CiscoDTPC:Pointer;
|
|
TimeoutInterval:PIEEE80211TimeoutIntervalIE;
|
|
OpmodeNotification:Pointer;
|
|
SecondaryChannelOffset:PIEEE80211SecondaryChannelOffsetIE;
|
|
MeshChannelSwitchParams:PIEEE80211MeshChannelSwitchParamsIE;
|
|
Lengths of Elements | |
ExtendedCapabilitiesLength:Byte;
|
|
SSIDLength:Byte;
|
|
SupportedRatesLength:Byte;
|
|
TrafficIndicationMapLength:Byte;
|
|
ChallengeTextLength:Byte;
|
|
RSNLength:Byte;
|
|
ExtendedSupportedRatesLength:Byte;
|
|
WMMInfoLength:Byte;
|
|
WMMParamLength:Byte;
|
|
MeshIDLength:Byte;
|
|
PeerManagementLength:Byte;
|
|
PREQLength:Byte;
|
|
PREPLength:Byte;
|
|
PERRLength:Byte;
|
|
CountryLength:Byte;
|
WiFi device event
PWiFiDeviceEvent = ^TWiFiDeviceEvent;
TWiFiDeviceEvent = record
Timer:TTimerHandle;
|
|
Device:PNetworkDevice;
|
WiFi hardware
PWiFiHardware = ^TWiFiHardware;
TWiFiHardware = record
Flags:LongWord;
|
Hardware flags (See IEEE80211_HW_*) |
ExtraTXHeadroom:LongWord;
|
Headroom to reserve in each transmit buffer for use by the driver (e.g. for transmit headers) |
ExtraBeaconTailroom:LongWord;
|
Tailroom to reserve in each beacon tx buffer. Can be used by drivers to add extra IE. |
MaxListenInterval:LongWord;
|
Max listen interval in units of beacon interval that HW supports |
MaxSignal:LongInt;
|
Maximum value for signal (RSSI) in RX information |
MaxRates:LongWord;
|
Maximum number of alternate rate retry stages the hw can handle |
MaxReportRates:LongWord;
|
Maximum number of alternate rate retry stages the hw can report back |
MaxRateTries:LongWord;
|
Maximum number of tries for each stage |
MaxRXAggregationSubframes:LongWord;
|
Maximum buffer size (number of sub-frames) to be used for A-MPDU block ack receiver aggregation |
MaxTXAggregationSubframes:LongWord;
|
Maximum number of subframes in an aggregate an HT driver will transmit, used by the peer as a hint to size its reorder buffer. |
WiFi configuration
PWiFiConfiguration = ^TWiFiConfiguration;
TWiFiConfiguration = record
Flags:LongWord;
|
Configuration flags (See IEEE80211_CONF_*) |
PowerLevel:LongInt;
|
Requested transmit power (in dBm), backward compatibility value only that is set to the minimum of all interfaces. |
ListenInterval:LongWord;
|
Listen interval in units of beacon interval |
LongFrameMaxTXCount:LongWord;
|
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. |
ShortFrameMaxTXCount:LongWord;
|
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. |
RadarEnabled:LongBool;
|
Whether radar detection is enabled |
SMPSMode:LongWord;
|
Spatial multiplexing powersave mode. Note that IEEE80211_SMPS_STATIC is used when the device is not configured for an HT channel. |
ChannelDefinition:TIEEE80211ChannelDefinition;
|
The channel definition to tune to |
WiFi interface
PWiFiInterface = ^TWiFiInterface;
TWiFiInterface = record
InterfaceType:LongWord;
|
Type of this virtual interface (WIFI_IFTYPE_*) |
Address:THardwareAddress;
|
Address of this interface |
BSSConfiguration:TIEEE80211BSSConfiguration;
|
BSS configuration for this interface, either our own or the BSS we're associated to. |
DriverFlags:LongWord;
|
Interface specific flags (IEEE80211_VIF_*) |
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
PWiFiDevice = ^TWiFiDevice;
TWiFiDevice = record
Network Properties | |
Network:TNetworkDevice;
|
|
WiFi Properties | |
WiFiFlags:LongWord;
|
Flags for this WiFi device (eg WIFI_FLAG_*) |
WiFiState:LongWord;
|
State of this WiFi device (eg WIFI_STATE_*) |
WiFiStatus:LongWord;
|
Status of this WiFi device (eg WIFI_STATUS_*) |
WiFiFeatures:LongWord;
|
Features of this WiFi device (eg WIFI_FEATURE_*) |
DeviceConfigure:TWiFiDeviceConfigure;
|
|
DeviceConfigureFilter:TWiFiDeviceConfigureFilter;
|
|
DeviceConfigureInterface:TWiFiDeviceConfigureInterface;
|
|
PermanentAddress:THardwareAddress;
|
The permanent MAC address of this device |
AddressMask:THardwareAddress;
|
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 |
Addresses:PHardwareAddresses;
|
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. |
AddressCount:LongWord;
|
The number of addresses in Addresses array |
InterfaceModes:LongWord;
|
Bitmask of interfaces types valid for this wifi, must be set by driver (eg 1 shl WIFI_IFTYPE_*) |
SignalType:LongWord;
|
Signal type reported in bss |
RetryShort:LongWord;
|
Retry limit for short frames (dot11ShortRetryLimit) |
RetryLong:LongWord;
|
Retry limit for long frames (dot11LongRetryLimit) |
FragThreshold:LongWord;
|
Fragmentation threshold (dot11FragmentationThreshold); -1 = fragmentation disabled, only odd values >= 256 used |
RTSThreshold:LongWord;
|
RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled |
CoverageClass:LongWord;
|
Current coverage class |
MaxCSACounters:Byte;
|
Number of supported csa_counters in beacons and probe responses |
MaxScanSSIDs:Byte;
|
Maximum number of SSIDs the device can scan for in any given scan |
MaxScanIELength:Word;
|
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. |
MaxRemainOnChannelDuration:Word;
|
Maximum time a remain-on-channel operation may request, if implemented. |
CipherSuites:PLongWord;
|
|
CipherSuiteCount:LongWord;
|
|
Bands:array[0..IEEE80211_NUM_BANDS - 1] of PIEEE80211SupportedBand;
|
|
RXChains:LongWord;
|
Number of RX chains the hardware has |
TXHeadroom:LongWord;
|
Required headroom for hardware |
ScanIELength:LongWord;
|
|
Hardware:TWiFiHardware;
|
Hardware information and state |
Configuration:TWiFiConfiguration;
|
Configuration of the device |
Interrface:TWiFiInterface;
|
Interface of the device |
Driver Properties | |
Class definitions
WiFi specific classes
TWiFiAdapter = class(TNetworkAdapter)
|
TEAPOLTransportAdapter = class(TTransportAdapter)
|
TEAPOLTransport = class(TNetworkTransport)
|
TRSNTransportAdapter = class(TTransportAdapter)
|
TRSNTransport = class(TNetworkTransport)
|
Public variables
None defined
Function declarations
Initialization functions
procedure WiFiInit;
Note | None documented |
---|
function WiFiStart(Data:Pointer; Event:LongWord):LongWord;
Note | None documented |
---|
function WiFiStop(Data:Pointer; Event:LongWord):LongWord;
Note | None documented |
---|
function WiFiStartCompleted:Boolean;
Return | Returns True if the WiFi sub system has been started |
---|
WiFi functions
function WiFiDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
Note | None documented |
---|
function WiFiDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
Note | None documented |
---|
function WiFiDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
Note | None documented |
---|
function WiFiDeviceCreate:PWiFiDevice;
Return | Pointer to new WiFi entry or nil if entry could not be created |
---|
function WiFiDeviceCreateEx(Size:LongWord):PWiFiDevice;
Size | Size in bytes to allocate for new entry (Including the WiFi entry) |
---|---|
Return | Pointer to new WiFi entry or nil if entry could not be created |
function WiFiDeviceDestroy(WiFi:PWiFiDevice):LongWord;
Note | None documented |
---|
function WiFiDeviceRegister(WiFi:PWiFiDevice):LongWord;
Note | None documented |
---|
function WiFiDeviceDeregister(WiFi:PWiFiDevice):LongWord;
Note | None documented |
---|
WiFi helper functions
function WiFiConfigurationIsHT(Configuration:PWiFiConfiguration):Boolean;
Note | conf_is_ht |
---|
function WiFiConfigurationIsHT20(Configuration:PWiFiConfiguration):Boolean;
Note | conf_is_ht20 |
---|
function WiFiConfigurationIsHT40(Configuration:PWiFiConfiguration):Boolean;
Note | conf_is_ht40 |
---|
function WiFiConfigurationIsHT40Plus(Configuration:PWiFiConfiguration):Boolean;
Note | conf_is_ht40_plus |
---|
function WiFiConfigurationIsHT40Minus(Configuration:PWiFiConfiguration):Boolean;
Note | conf_is_ht40_minus |
---|
procedure WiFiNetworkDeviceAdd(Event:PWiFiDeviceEvent);
Note | None documented |
---|
function WiFiNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Note | None documented |
---|
function WiFiNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Note | None documented |
---|
function WiFiNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Note | None documented |
---|
IEEE 802.11 helper functions
function IEEE80211HasToDS(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_tods |
---|
function IEEE80211HasFromDS(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_fromds |
---|
function IEEE80211HasA4(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_a4 |
---|
function IEEE80211HasMoreFrags(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_morefrags |
---|
function IEEE80211HasRetry(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_retry |
---|
function IEEE80211HasPM(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_pm |
---|
function IEEE80211HasMoreData(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_moredata |
---|
function IEEE80211HasProtected(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_protected |
---|
function IEEE80211HasOrder(FrameControl:Word):Boolean; inline;
Note | ieee80211_has_order |
---|
function IEEE80211IsMgmt(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_mgmt |
---|
function IEEE80211IsCtl(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_ctl |
---|
function IEEE80211IsData(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_data |
---|
function IEEE80211IsDataQoS(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_data_qos |
---|
function IEEE80211IsDataPresent(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_data_present |
---|
function IEEE80211IsAssocReq(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_assoc_req |
---|
function IEEE80211IsAssocResp(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_assoc_resp |
---|
function IEEE80211IsReassocReq(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_reassoc_req |
---|
function IEEE80211IsReassocResp(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_reassoc_resp |
---|
function IEEE80211IsProbeReq(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_probe_req |
---|
function IEEE80211IsProbeResp(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_probe_resp |
---|
function IEEE80211IsBeacon(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_beacon |
---|
function IEEE80211IsATIM(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_atim |
---|
function IEEE80211IsDisassoc(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_disassoc |
---|
function IEEE80211IsAuth(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_auth |
---|
function IEEE80211IsDeauth(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_deauth |
---|
function IEEE80211IsAction(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_action |
---|
function IEEE80211IsBackReq(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_back_req |
---|
function IEEE80211IsBack(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_back |
---|
function IEEE80211IsPSPoll(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_pspoll |
---|
function IEEE80211IsRTS(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_rts |
---|
function IEEE80211IsCTS(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_cts |
---|
function IEEE80211IsACK(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_ack |
---|
function IEEE80211IsCFEnd(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_cfend |
---|
function IEEE80211IsCFEndAck(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_cfendack |
---|
function IEEE80211IsNullFunc(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_nullfunc |
---|
function IEEE80211IsQoSNullFunc(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_qos_nullfunc |
---|
function IEEE80211IsBufferableMMPDU(FrameControl:Word):Boolean; inline;
Note | ieee80211_is_bufferable_mmpdu |
---|
function IEEE80211IsFirstFrag(SequenceControl:Word):Boolean; inline;
Note | ieee80211_is_first_frag |
---|
function IEEE80211HeaderLength(FrameControl:Word):LongWord;
Note | ieee80211_hdrlen |
---|
function IEEE80211HeaderLengthFromBuffer(Data:Pointer; Size:LongWord):LongWord;
Note | ieee80211_get_hdrlen_from_skb |
---|
function IEEE80211MCSToChains(MCS:PIEEE80211MCSInfo):Byte;
Note | ieee80211_mcs_to_chains |
---|
function IEEE80211ChannelToFrequency(Channel:Integer; Band:LongWord):Integer;
Note | ieee80211_channel_to_frequency |
---|
function IEEE80211FrequencyToChannel(Frequency:Integer):Integer;
Note | ieee80211_frequency_to_channel |
---|
procedure IEEE80211InitializeChannelDefinition(Definition:PIEEE80211ChannelDefinition; Channel:PIEEE80211Channel; ChannelType:LongWord);
Note | cfg80211_chandef_create |
---|
function IEEE80211FindInformationElement(Identifier:Byte; InformationElement:PByte; ElementLength:LongWord):PByte;
Note | cfg80211_find_ie |
---|
function IEEE80211ParseInformationElements(Buffer:Pointer; Size:LongWord; Action:Boolean; Elements:PIEEE80211InformationElements):Boolean;
Note | ieee802_11_parse_elems_crc |
---|
Return to Unit Reference