Return to Unit Reference
Description
Ultibo WiFi (IEEE 802.11 / WPA) Interface unit
Constants
[Expand]
IEEE 802.11 specific 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;
|
|
[Expand]
IEEE 802.11 management 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;
|
|
[Expand]
IEEE 802.11 control 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;
|
|
[Expand]
IEEE 802.11 data 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;
|
|
[Expand]
IEEE 802.11 extension IEEE80211_STYPE_DMG_*
Note: Extension added by 802.11ad
|
IEEE80211_STYPE_DMG_BEACON = $0000;
|
|
[Expand]
IEEE 802.11 control extension 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;
|
|
[Expand]
IEEE 802.11 miscellaneous constants 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;
|
|
[Expand]
IEEE 802.11 QOS control lengths IEEE80211_QOS_CTL_LEN*
IEEE80211_QOS_CTL_LEN = 2;
|
|
[Expand]
IEEE 802.11 QOS control masks 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
|
[Expand]
IEEE 802.11 WMM IE U-APSD queue sent by AP IEEE80211_WMM_IE_AP_*
IEEE80211_WMM_IE_AP_QOSINFO_UAPSD = (1 shl 7);
|
|
IEEE80211_WMM_IE_AP_QOSINFO_PARAM_SET_CNT_MASK = $0f;
|
|
[Expand]
IEEE 802.11 WMM IE U-APSD queue sent by STA 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;
|
|
[Expand]
IEEE 802.11 WMM IE U-APSD max SP length sent by STA 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;
|
|
[Expand]
IEEE 802.11 HT control lengths IEEE80211_HT_CTL_LEN*
IEEE80211_HT_CTL_LEN = 4;
|
|
[Expand]
IEEE 802.11 mesh flags 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;
|
|
[Expand]
IEEE 802.11 mesh PREQ element flags IEEE80211_PREQ_PROACTIVE_*_FLAG*
IEEE80211_PREQ_PROACTIVE_PREP_FLAG = (1 shl 2);
|
Proactive PREP subfield
|
[Expand]
IEEE 802.11 mesh PREQ element per target flags 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
|
[Expand]
IEEE 802.11 mesh configuration IE capability field flags 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
|
[Expand]
WLAN mesh channel switch parameters flags 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);
|
|
[Expand]
IEEE 802.11 root announcement flags IEEE80211_RANN_FLAG_*
IEEE80211_RANN_FLAG_IS_GATE = (1 shl 0);
|
|
[Expand]
IEEE 802.11 HT channel width values IEEE80211_HT_CHANWIDTH_*
IEEE80211_HT_CHANWIDTH_20MHZ = 0;
|
|
IEEE80211_HT_CHANWIDTH_ANY = 1;
|
|
[Expand]
IEEE 802.11 VHT operating mode field bits 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;
|
|
[Expand]
WLAN SA query length WLAN_SA_QUERY_*_*_LEN*
WLAN_SA_QUERY_TR_ID_LEN = 2;
|
|
[Expand]
IEEE 802.11 supported rate values IEEE80211_BSS_*
Note: Supported Rates value encodings in 802.11n-2009 7.3.2.2
|
IEEE80211_BSS_MEMBERSHIP_SELECTOR_HT_PHY = 127;
|
|
[Expand]
IEEE 802.11 peer-to-peer attribute related definitions 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;
|
|
[Expand]
IEEE 802.11 BAR control masks 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;
|
|
[Expand]
IEEE 802.11 HT MCS lengths IEEE80211_HT_MCS_*_LEN*
IEEE80211_HT_MCS_MASK_LEN = 10;
|
|
[Expand]
IEEE 802.11 HT MCS capability settings 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 to 31 are multiple spatial streams using equal modulation
|
[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);
|
|
[Expand]
IEEE 802.11 HT capabilities masks 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;
|
|
[Expand]
IEEE 802.11 HT extended capabilities masks 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;
|
|
[Expand]
IEEE 802.11 HT AMPDU capability settings 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;
|
|
[Expand]
IEEE 802.11 HT maximum lengths 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;
|
|
[Expand]
IEEE 802.11 VHT maximum lengths 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;
|
|
[Expand]
IEEE 802.11 HT MPDU start spacing 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
|
[Expand]
IEEE 802.11 HT operation parameters 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;
|
|
[Expand]
IEEE 802.11 HT operation modes 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;
|
|
[Expand]
IEEE 802.11 HT STBC parameters 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;
|
|
[Expand]
IEEE 802.11 block-ack parameters 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;
|
|
[Expand]
IEEE 802.11 A-PMDU buffer sizes 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;
|
|
[Expand]
WLAN HT spatial multiplexing power save modes 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;
|
|
[Expand]
WLAN HT SM power control fields 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;
|
|
[Expand]
IEEE 802.11 VHT MCS support definitions 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
|
[Expand]
IEEE 802.11 VHT channel width 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
|
[Expand]
IEEE 802.11 VHT capabilities 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;
|
|
[Expand]
WLAN authentication algorithms 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;
|
|
[Expand]
WLAN capabilities 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);
|
|
[Expand]
IEEE 802.11 spectrum measurement 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;
|
|
[Expand]
WLAN ERP information element WLAN_ERP_*
WLAN_ERP_NON_ERP_PRESENT = (1 shl 0);
|
|
WLAN_ERP_USE_PROTECTION = (1 shl 1);
|
|
WLAN_ERP_BARKER_PREAMBLE = (1 shl 2);
|
|
[Expand]
WLAN ERP barker preamble values WLAN_ERP_PREAMBLE_*
WLAN_ERP_PREAMBLE_SHORT = 0;
|
|
WLAN_ERP_PREAMBLE_LONG = 1;
|
|
[Expand]
IEEE 802.11 band Id 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
|
[Expand]
WLAN status codes 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;
|
|
[Expand]
WLAN reason codes 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;
|
|
[Expand]
WLAN information element Ids 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;
|
|
[Expand]
WLAN action category codes 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;
|
|
[Expand]
WLAN spectrum action codes 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;
|
|
[Expand]
WLAN HT action codes 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;
|
|
[Expand]
WLAN VHT action codes WLAN_VHT_ACTION_*
WLAN_VHT_ACTION_COMPRESSED_BF = 0;
|
|
WLAN_VHT_ACTION_GROUPID_MGMT = 1;
|
|
WLAN_VHT_ACTION_OPMODE_NOTIF = 2;
|
|
[Expand]
WLAN self protected action codes 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;
|
|
[Expand]
WLAN mesh action codes 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;
|
|
[Expand]
WLAN security key lengths 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;
|
|
[Expand]
IEEE 802.11 security key lengths 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;
|
|
[Expand]
WLAN public action codes WLAN_PUB_ACTION_*
WLAN_PUB_ACTION_EXT_CHANSW_ANN = 4;
|
|
WLAN_PUB_ACTION_TDLS_DISCOVER_RES = 14;
|
|
[Expand]
WLAN TDLS action codes 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;
|
|
[Expand]
WLAN extended channel switching capabilities 1st byte 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);
|
|
[Expand]
WLAN extended TDLS capabilities 4th byte 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);
|
|
[Expand]
WLAN extended interworking capabilities 4th byte 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);
|
|
[Expand]
WLAN extended TDLS capabilities 5th byte 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);
|
|
[Expand]
WLAN extended TDLS capabilities 8th byte WLAN_EXT_CAPA8_TDLS_*
WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED = (1 shl 5);
|
|
WLAN_EXT_CAPA8_OPMODE_NOTIF = (1 shl 6);
|
|
[Expand]
WLAN TDLS specific payload type WLAN_TDLS_*_RFTYPE*
Note: TDLS specific payload type in the LLC/SNAP header
|
WLAN_TDLS_SNAP_RFTYPE = $2;
|
|
[Expand]
WLAN coex IE information field bits WLAN_*_COEX_INFORMATION_*
WLAN_BSS_COEX_INFORMATION_REQUEST = (1 shl 0);
|
|
[Expand]
IEEE 802.11 mesh synchronization method identifier 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
|
[Expand]
IEEE 802.11 mesh path selection protocol identifier 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
|
[Expand]
IEEE 802.11 mesh path selection metric identifier 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
|
[Expand]
IEEE 802.11 root mesh STA mode identifier 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
|
[Expand]
IEEE 802.11 country information element 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:
- Regulatory extension ID - when generating IE this just needs to be monotonically increasing for each triplet passed in the IE
- Regulatory class - index into set of rules
- 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.
|
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;
|
|
[Expand]
WLAN timeout interval WLAN_TIMEOUT_*
WLAN_TIMEOUT_REASSOC_DEADLINE = 1;
|
802.11r
|
WLAN_TIMEOUT_KEY_LIFETIME = 2;
|
802.11r
|
WLAN_TIMEOUT_ASSOC_COMEBACK = 3;
|
802.11w
|
[Expand]
WLAN block-ack action code WLAN_ACTION_*
WLAN_ACTION_ADDBA_REQ = 0;
|
|
WLAN_ACTION_ADDBA_RESP = 1;
|
|
WLAN_ACTION_DELBA = 2;
|
|
[Expand]
WLAN block-ack parties WLAN_BACK_*
WLAN_BACK_RECIPIENT = 0;
|
|
WLAN_BACK_INITIATOR = 1;
|
|
[Expand]
WLAN SA query action WLAN_ACTION_SA_QUERY_*
WLAN_ACTION_SA_QUERY_REQUEST = 0;
|
|
WLAN_ACTION_SA_QUERY_RESPONSE = 1;
|
|
[Expand]
WLAN cipher suite selectors 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;
|
|
[Expand]
WLAN AKM suite selectors 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;
|
|
[Expand]
WLAN key lengths WLAN_*_KEY_LEN*
WLAN_MAX_KEY_LEN = 32;
|
|
|
WLAN_PMKID_LEN = 16;
|
|
[Expand]
WLAN OUI types 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;
|
|
[Expand]
IEEE 802.11 Tspec element IEEE80211_WMM_IE_TSPEC_TID_*
IEEE80211_WMM_IE_TSPEC_TID_MASK = $0F;
|
|
IEEE80211_WMM_IE_TSPEC_TID_SHIFT = 1;
|
|
[Expand]
IEEE 802.11 Tspec status IEEE80211_TSPEC_STATUS_*
IEEE80211_TSPEC_STATUS_ADMISS_ACCEPTED = 0;
|
|
IEEE80211_TSPEC_STATUS_ADDTS_INVAL_PARAMS = $1;
|
|
[Expand]
IEEE 802.11 frequency bands 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;
|
|
[Expand]
IEEE 802.11 channel flags 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;
|
|
[Expand]
IEEE 802.11 DFS times IEEE80211_DFS_MIN_*_TIME_MS*
IEEE80211_DFS_MIN_CAC_TIME_MS = 60000;
|
|
IEEE80211_DFS_MIN_NOP_TIME_MS = (30 * 60 * 1000);
|
|
[Expand]
IEEE 802.11 rate flags 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);
|
|
[Expand]
IEEE 802.11 BSS type values 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
|
[Expand]
IEEE 802.11 privacy values 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
|
[Expand]
IEEE 802.11 filter flags 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
|
[Expand]
IEEE 802.11 hardware flags 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);
|
|
[Expand]
IEEE 802.11 configuration flags 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);
|
|
[Expand]
IEEE 802.11 configuration changed flags 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);
|
|
[Expand]
IEEE 802.11 TX status headroom IEEE80211_TX_STATUS_HEADROOM_*
IEEE80211_TX_STATUS_HEADROOM = 14;
|
|
[Expand]
IEEE 802.11 max CSA counters IEEE80211_MAX_CSA_COUNTERS_*
IEEE80211_MAX_CSA_COUNTERS_NUM = 2;
|
|
[Expand]
WiFi specific constants WIFI_*
WIFI_DEVICE_TIMER_INTERVAL = 100;
|
Timer interval for new device additions
|
|
EAPOL_TRANSPORT_NAME = 'EAPOL';
|
|
RSN_TRANSPORT_NAME = 'RSN';
|
|
[Expand]
WiFi device states WIFI_STATE_*
[Expand]
WiFi device status WIFI_STATUS_*
[Expand]
WiFi device flags 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, ...)
|
[Expand]
WiFi device features 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
|
[Expand]
WiFi device LED values WIFI_LED_*
WIFI_LED_OFF = 0;
|
|
WIFI_LED_HALF = 127;
|
|
WIFI_LED_FULL = 255;
|
|
[Expand]
WiFi interface types 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
|
[Expand]
WiFi channel 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.
|
[Expand]
WiFi channel widths 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
|
[Expand]
WiFi signal types 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
|
[Expand]
WiFi TX power adjustment 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
|
[Expand]
WiFi RX flags 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)
|
[Expand]
WiFi RX VHT flags 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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
PIEEE80211TPCReportIE = ^TIEEE80211TPCReportIE;
TIEEE80211TPCReportIE = packed record
Note: From Linux ieee80211.h ieee80211_tpc_report_ie
|
TXPower:Byte;
|
|
LinkMargin:Byte;
|
|
IEEE 802.11 management authority
[Expand]
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
[Expand]
TIEEE80211ManagementDeauth = packed record
Note: From Linux ieee80211.h ieee80211_mgmt
|
ReasonCode:Word;
|
LE16
|
IEEE 802.11 management association request
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
TIEEE80211ManagementDisassoc = packed record
Note: From Linux ieee80211.h ieee80211_mgmt
|
ReasonCode:Word;
|
LE16
|
IEEE 802.11 management beacon
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
TIEEE80211ManagementActionHTSMPS = packed record
Note: From Linux ieee80211.h ieee80211_mgmt
|
Action:Byte;
|
|
SMPSControl:Byte;
|
|
IEEE 802.11 management action HT notify channel width
[Expand]
TIEEE80211ManagementActionHTNotifyChannelWidth = packed record
Note: From Linux ieee80211.h ieee80211_mgmt
|
ActionCode:Byte;
|
|
ChannelWidth:Byte;
|
|
IEEE 802.11 management action TDLS discover response
[Expand]
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
[Expand]
TIEEE80211ManagementActionVHTOpmodeNotify = packed record
Note: From Linux ieee80211.h ieee80211_mgmt
|
ActionCode:Byte;
|
|
OperatingMode:Byte;
|
|
IEEE 802.11 management action TPC report
[Expand]
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
[Expand]
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
[Expand]
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)
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
PIEEE80211RTS = ^TIEEE80211RTS;
TIEEE80211RTS = record
Note: Not Packed
|
FrameControl:Word;
|
LE16
|
Duration:Word;
|
LE16
|
ReceiverAddress:THardwareAddress;
|
|
TransmitterAddress:THardwareAddress;
|
|
IEEE 802.11 CTS
[Expand]
PIEEE80211CTS = ^TIEEE80211CTS;
TIEEE80211CTS = record
Note: Not Packed
|
FrameControl:Word;
|
LE16
|
Duration:Word;
|
LE16
|
ReceiverAddress:THardwareAddress;
|
|
IEEE 802.11 PS poll
[Expand]
PIEEE80211PSPoll = ^TIEEE80211PSPoll;
TIEEE80211PSPoll = record
Note: Not Packed
|
FrameControl:Word;
|
LE16
|
AID:Word;
|
LE16
|
BSSID:THardwareAddress;
|
|
TransmitterAddress:THardwareAddress;
|
|
IEEE 802.11 channel switch timing
[Expand]
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
[Expand]
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
[Expand]
TIEEE80211TDLSDataSetupRequest = packed record
DialogToken:Byte;
|
|
Capability:Word;
|
LE16
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data setup response
[Expand]
TIEEE80211TDLSDataSetupResponse = packed record
StatusCode:Word;
|
LE16
|
DialogToken:Byte;
|
|
Capability:Word;
|
LE16
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data setup confirmation
[Expand]
TIEEE80211TDLSDataSetupConfirm = packed record
StatusCode:Word;
|
LE16
|
DialogToken:Byte;
|
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data teardown
[Expand]
TIEEE80211TDLSDataTeardown = packed record
ReasonCode:Word;
|
LE16
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data discover request
[Expand]
TIEEE80211TDLSDataDiscoverRequest = packed record
DialogToken:Byte;
|
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data channel switch request
[Expand]
TIEEE80211TDLSDataChannelSwitchRequest = packed record
TargetChannel:Byte;
|
|
OperatingClass:Byte;
|
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data channel switch response
[Expand]
TIEEE80211TDLSDataChannelSwitchResponse = packed record
StatusCode:Word;
|
LE16
|
Variable:array[0..0] of Byte;
|
|
IEEE 802.11 TDLS data
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
TIEEE80211CountryTripletIEChannels = packed record
FirstChannel:Byte;
|
|
NumChannels:Byte;
|
|
MaxPower:ShortInt;
|
|
IEEE 802.11 country triplet information element extended
[Expand]
TIEEE80211CountryTripletIEExt = packed record
RegExtensionID:Byte;
|
|
RegClass:Byte;
|
|
CoverageClass:Byte;
|
|
IEEE 802.11 country triplet information element
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
PIEEE80211Channels = ^TIEEE80211Channels;
TIEEE80211Channels = array[0..0] of TIEEE80211Channel;
IEEE 802.11 rate
[Expand]
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
[Expand]
PIEEE80211Rates = ^TIEEE80211Rates;
TIEEE80211Rates = array[0..0] of TIEEE80211Rate;
IEEE 802.11 channel definition
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
PIEEE80211TXInfo = ^TIEEE80211TXInfo;
TIEEE80211TXInfo = record
Note: From Linux mac80211.h ieee80211_tx_info
|
|
IEEE 802.11 information elements
[Expand]
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
[Expand]
PWiFiDeviceEvent = ^TWiFiDeviceEvent;
TWiFiDeviceEvent = record
Timer:TTimerHandle;
|
|
Device:PNetworkDevice;
|
|
WiFi hardware
[Expand]
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
[Expand]
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
[Expand]
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
[Expand]
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
Public variables
None defined
Function declarations
Initialization functions
[Expand]
procedure WiFiInit;
Description: To be documented
[Expand]
function WiFiStart(Data:Pointer; Event:LongWord):LongWord;
Description: To be documented
[Expand]
function WiFiStop(Data:Pointer; Event:LongWord):LongWord;
Description: To be documented
[Expand]
function WiFiStartCompleted:Boolean;
Description: To be documented
Return
|
Returns True if the WiFi sub system has been started
|
WiFi functions
[Expand]
function WiFiDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
Description: To be documented
[Expand]
function WiFiDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
Description: To be documented
[Expand]
function WiFiDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
Description: To be documented
[Expand]
function WiFiDeviceCreate:PWiFiDevice;
Description: Create a new WiFi entry
Return
|
Pointer to new WiFi entry or nil if entry could not be created
|
[Expand]
function WiFiDeviceCreateEx(Size:LongWord):PWiFiDevice;
Description: Create a new WiFi entry
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
|
[Expand]
function WiFiDeviceDestroy(WiFi:PWiFiDevice):LongWord;
Description: To be documented
[Expand]
function WiFiDeviceRegister(WiFi:PWiFiDevice):LongWord;
Description: To be documented
[Expand]
function WiFiDeviceDeregister(WiFi:PWiFiDevice):LongWord;
Description: To be documented
WiFi helper functions
[Expand]
function WiFiConfigurationIsHT(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented
[Expand]
function WiFiConfigurationIsHT20(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented
[Expand]
function WiFiConfigurationIsHT40(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented
[Expand]
function WiFiConfigurationIsHT40Plus(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented
[Expand]
function WiFiConfigurationIsHT40Minus(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented
[Expand]
procedure WiFiNetworkDeviceAdd(Event:PWiFiDeviceEvent);
Description: To be documented
[Expand]
function WiFiNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Description: To be documented
[Expand]
function WiFiNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function WiFiNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
IEEE 802.11 helper functions
[Expand]
function IEEE80211HasToDS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_TODS is set
[Expand]
function IEEE80211HasFromDS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_FROMDS is set
Note
|
ieee80211_has_fromds
|
[Expand]
function IEEE80211HasA4(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_TODS and IEEE80211_FCTL_FROMDS are set
[Expand]
function IEEE80211HasMoreFrags(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_MOREFRAGS is set
Note
|
ieee80211_has_morefrags
|
[Expand]
function IEEE80211HasRetry(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_RETRY is set
[Expand]
function IEEE80211HasPM(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_PM is set
[Expand]
function IEEE80211HasMoreData(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_MOREDATA is set
Note
|
ieee80211_has_moredata
|
[Expand]
function IEEE80211HasProtected(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_PROTECTED is set
Note
|
ieee80211_has_protected
|
[Expand]
function IEEE80211HasOrder(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_ORDER is set
[Expand]
function IEEE80211IsMgmt(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_MGMT
[Expand]
function IEEE80211IsCtl(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_CTL
[Expand]
function IEEE80211IsData(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA
[Expand]
function IEEE80211IsDataQoS(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA and IEEE80211_STYPE_QOS_DATA is set
Note
|
ieee80211_is_data_qos
|
[Expand]
function IEEE80211IsDataPresent(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA and has data
Note
|
ieee80211_is_data_present
|
[Expand]
function IEEE80211IsAssocReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_REQ
Note
|
ieee80211_is_assoc_req
|
[Expand]
function IEEE80211IsAssocResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_RESP
Note
|
ieee80211_is_assoc_resp
|
[Expand]
function IEEE80211IsReassocReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_REQ
Note
|
ieee80211_is_reassoc_req
|
[Expand]
function IEEE80211IsReassocResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_RESP
Note
|
ieee80211_is_reassoc_resp
|
[Expand]
function IEEE80211IsProbeReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_REQ
Note
|
ieee80211_is_probe_req
|
[Expand]
function IEEE80211IsProbeResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_RESP
Note
|
ieee80211_is_probe_resp
|
[Expand]
function IEEE80211IsBeacon(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_BEACON
[Expand]
function IEEE80211IsATIM(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ATIM
[Expand]
function IEEE80211IsDisassoc(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DISASSOC
Note
|
ieee80211_is_disassoc
|
[Expand]
function IEEE80211IsAuth(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_AUTH
[Expand]
function IEEE80211IsDeauth(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DEAUTH
[Expand]
function IEEE80211IsAction(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ACTION
[Expand]
function IEEE80211IsBackReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK_REQ
Note
|
ieee80211_is_back_req
|
[Expand]
function IEEE80211IsBack(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK
[Expand]
function IEEE80211IsPSPoll(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_PSPOLL
[Expand]
function IEEE80211IsRTS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_RTS
[Expand]
function IEEE80211IsCTS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CTS
[Expand]
function IEEE80211IsACK(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_ACK
[Expand]
function IEEE80211IsCFEnd(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFEND
[Expand]
function IEEE80211IsCFEndAck(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFENDACK
Note
|
ieee80211_is_cfendack
|
[Expand]
function IEEE80211IsNullFunc(FrameControl:Word):Boolean; inline;
Description: Check if frame is a regular (non-QoS) nullfunc frame
Note
|
ieee80211_is_nullfunc
|
[Expand]
function IEEE80211IsQoSNullFunc(FrameControl:Word):Boolean; inline;
Description: Check if frame is a QoS nullfunc frame
Note
|
ieee80211_is_qos_nullfunc
|
[Expand]
function IEEE80211IsBufferableMMPDU(FrameControl:Word):Boolean; inline;
Description: Check if frame is bufferable MMPDU
Note
|
ieee80211_is_bufferable_mmpdu
|
[Expand]
function IEEE80211IsFirstFrag(SequenceControl:Word):Boolean; inline;
Description: Check if IEEE80211_SCTL_FRAG is not set
Note
|
ieee80211_is_first_frag
|
[Expand]
function IEEE80211HeaderLength(FrameControl:Word):LongWord;
Description: To be documented
[Expand]
function IEEE80211HeaderLengthFromBuffer(Data:Pointer; Size:LongWord):LongWord;
Description: To be documented
Note
|
ieee80211_get_hdrlen_from_skb
|
[Expand]
function IEEE80211MCSToChains(MCS:PIEEE80211MCSInfo):Byte;
Description: To be documented
Note
|
ieee80211_mcs_to_chains
|
[Expand]
function IEEE80211ChannelToFrequency(Channel:Integer; Band:LongWord):Integer;
Description: To be documented
Note
|
ieee80211_channel_to_frequency
|
[Expand]
function IEEE80211FrequencyToChannel(Frequency:Integer):Integer;
Description: To be documented
Note
|
ieee80211_frequency_to_channel
|
[Expand]
procedure IEEE80211InitializeChannelDefinition(Definition:PIEEE80211ChannelDefinition; Channel:PIEEE80211Channel; ChannelType:LongWord);
Description: To be documented
Note
|
cfg80211_chandef_create
|
[Expand]
function IEEE80211FindInformationElement(Identifier:Byte; InformationElement:PByte; ElementLength:LongWord):PByte;
Description: To be documented
[Expand]
function IEEE80211ParseInformationElements(Buffer:Pointer; Size:LongWord; Action:Boolean; Elements:PIEEE80211InformationElements):Boolean;
Description: To be documented
Note
|
ieee802_11_parse_elems_crc
|
Return to Unit Reference