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