30#ifndef _NET80211_IEEE80211_H_
31#define _NET80211_IEEE80211_H_
37#define IEEE80211_ADDR_LEN 6
39#define IEEE80211_IS_MULTICAST(_a) (*(_a) & 0x01)
56#define IEEE80211_PLCP_SFD 0xF3A0
57#define IEEE80211_PLCP_SERVICE 0x00
58#define IEEE80211_PLCP_SERVICE_LOCKED 0x04
59#define IEEE80211_PLCL_SERVICE_PBCC 0x08
60#define IEEE80211_PLCP_SERVICE_LENEXT5 0x20
61#define IEEE80211_PLCP_SERVICE_LENEXT6 0x40
62#define IEEE80211_PLCP_SERVICE_LENEXT7 0x80
115#define IEEE80211_FC0_VERSION_MASK 0x03
116#define IEEE80211_FC0_VERSION_SHIFT 0
117#define IEEE80211_FC0_VERSION_0 0x00
118#define IEEE80211_FC0_TYPE_MASK 0x0c
119#define IEEE80211_FC0_TYPE_SHIFT 2
120#define IEEE80211_FC0_TYPE_MGT 0x00
121#define IEEE80211_FC0_TYPE_CTL 0x04
122#define IEEE80211_FC0_TYPE_DATA 0x08
124#define IEEE80211_FC0_SUBTYPE_MASK 0xf0
125#define IEEE80211_FC0_SUBTYPE_SHIFT 4
127#define IEEE80211_FC0_SUBTYPE_ASSOC_REQ 0x00
128#define IEEE80211_FC0_SUBTYPE_ASSOC_RESP 0x10
129#define IEEE80211_FC0_SUBTYPE_REASSOC_REQ 0x20
130#define IEEE80211_FC0_SUBTYPE_REASSOC_RESP 0x30
131#define IEEE80211_FC0_SUBTYPE_PROBE_REQ 0x40
132#define IEEE80211_FC0_SUBTYPE_PROBE_RESP 0x50
133#define IEEE80211_FC0_SUBTYPE_TIMING_ADV 0x60
134#define IEEE80211_FC0_SUBTYPE_BEACON 0x80
135#define IEEE80211_FC0_SUBTYPE_ATIM 0x90
136#define IEEE80211_FC0_SUBTYPE_DISASSOC 0xa0
137#define IEEE80211_FC0_SUBTYPE_AUTH 0xb0
138#define IEEE80211_FC0_SUBTYPE_DEAUTH 0xc0
139#define IEEE80211_FC0_SUBTYPE_ACTION 0xd0
140#define IEEE80211_FC0_SUBTYPE_ACTION_NOACK 0xe0
142#define IEEE80211_FC0_SUBTYPE_CONTROL_WRAP 0x70
143#define IEEE80211_FC0_SUBTYPE_BAR 0x80
144#define IEEE80211_FC0_SUBTYPE_BA 0x90
145#define IEEE80211_FC0_SUBTYPE_PS_POLL 0xa0
146#define IEEE80211_FC0_SUBTYPE_RTS 0xb0
147#define IEEE80211_FC0_SUBTYPE_CTS 0xc0
148#define IEEE80211_FC0_SUBTYPE_ACK 0xd0
149#define IEEE80211_FC0_SUBTYPE_CF_END 0xe0
150#define IEEE80211_FC0_SUBTYPE_CF_END_ACK 0xf0
152#define IEEE80211_FC0_SUBTYPE_DATA 0x00
153#define IEEE80211_FC0_SUBTYPE_CF_ACK 0x10
154#define IEEE80211_FC0_SUBTYPE_CF_POLL 0x20
155#define IEEE80211_FC0_SUBTYPE_CF_ACPL 0x30
156#define IEEE80211_FC0_SUBTYPE_NODATA 0x40
157#define IEEE80211_FC0_SUBTYPE_CFACK 0x50
158#define IEEE80211_FC0_SUBTYPE_CFPOLL 0x60
159#define IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK 0x70
160#define IEEE80211_FC0_SUBTYPE_QOS 0x80
161#define IEEE80211_FC0_SUBTYPE_QOS_CFACK 0x90
162#define IEEE80211_FC0_SUBTYPE_QOS_CFPOLL 0xa0
163#define IEEE80211_FC0_SUBTYPE_QOS_CFACKPOLL 0xb0
164#define IEEE80211_FC0_SUBTYPE_QOS_NULL 0xc0
166#define IEEE80211_IS_MGMT(wh) \
167 (!! (((wh)->i_fc[0] & IEEE80211_FC0_TYPE_MASK) \
168 == IEEE80211_FC0_TYPE_MGT))
169#define IEEE80211_IS_CTL(wh) \
170 (!! (((wh)->i_fc[0] & IEEE80211_FC0_TYPE_MASK) \
171 == IEEE80211_FC0_TYPE_CTL))
172#define IEEE80211_IS_DATA(wh) \
173 (!! (((wh)->i_fc[0] & IEEE80211_FC0_TYPE_MASK) \
174 == IEEE80211_FC0_TYPE_DATA))
176#define IEEE80211_FC0_QOSDATA \
177 (IEEE80211_FC0_TYPE_DATA|IEEE80211_FC0_SUBTYPE_QOS|IEEE80211_FC0_VERSION_0)
179#define IEEE80211_IS_QOSDATA(wh) \
180 ((wh)->i_fc[0] == IEEE80211_FC0_QOSDATA)
182#define IEEE80211_FC1_DIR_MASK 0x03
183#define IEEE80211_FC1_DIR_NODS 0x00
184#define IEEE80211_FC1_DIR_TODS 0x01
185#define IEEE80211_FC1_DIR_FROMDS 0x02
186#define IEEE80211_FC1_DIR_DSTODS 0x03
188#define IEEE80211_IS_DSTODS(wh) \
189 (((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS)
191#define IEEE80211_FC1_MORE_FRAG 0x04
192#define IEEE80211_FC1_RETRY 0x08
193#define IEEE80211_FC1_PWR_MGT 0x10
194#define IEEE80211_FC1_MORE_DATA 0x20
195#define IEEE80211_FC1_PROTECTED 0x40
196#define IEEE80211_FC1_ORDER 0x80
198#define IEEE80211_HAS_SEQ(type, subtype) \
199 ((type) != IEEE80211_FC0_TYPE_CTL && \
200 !((type) == IEEE80211_FC0_TYPE_DATA && \
201 ((subtype) & IEEE80211_FC0_SUBTYPE_QOS_NULL) == \
202 IEEE80211_FC0_SUBTYPE_QOS_NULL))
203#define IEEE80211_SEQ_FRAG_MASK 0x000f
204#define IEEE80211_SEQ_FRAG_SHIFT 0
205#define IEEE80211_SEQ_SEQ_MASK 0xfff0
206#define IEEE80211_SEQ_SEQ_SHIFT 4
207#define IEEE80211_SEQ_RANGE 4096
209#define IEEE80211_SEQ_ADD(seq, incr) \
210 (((seq) + (incr)) & (IEEE80211_SEQ_RANGE-1))
211#define IEEE80211_SEQ_INC(seq) IEEE80211_SEQ_ADD(seq,1)
212#define IEEE80211_SEQ_SUB(a, b) \
213 (((a) + IEEE80211_SEQ_RANGE - (b)) & (IEEE80211_SEQ_RANGE-1))
215#define IEEE80211_SEQ_BA_RANGE 2048
216#define IEEE80211_SEQ_BA_BEFORE(a, b) \
217 (IEEE80211_SEQ_SUB(b, a+1) < IEEE80211_SEQ_BA_RANGE-1)
219#define IEEE80211_NWID_LEN 32
220#define IEEE80211_MESHID_LEN 32
222#define IEEE80211_QOS_CTL_LEN 2
224#define IEEE80211_QOS_TXOP 0x00ff
226#define IEEE80211_QOS_AMSDU 0x80
227#define IEEE80211_QOS_AMSDU_S 7
228#define IEEE80211_QOS_ACKPOLICY 0x60
229#define IEEE80211_QOS_ACKPOLICY_S 5
230#define IEEE80211_QOS_ACKPOLICY_NOACK 0x20
231#define IEEE80211_QOS_ACKPOLICY_BA 0x60
232#define IEEE80211_QOS_EOSP 0x10
233#define IEEE80211_QOS_EOSP_S 4
234#define IEEE80211_QOS_TID 0x0f
236#define IEEE80211_QOS_MC 0x01
238#define IEEE80211_QOS_MESH_PSL 0x02
240#define IEEE80211_QOS_RSPI 0x04
244#define IEEE80211_QOS_HAS_SEQ(wh) \
246 (IEEE80211_FC0_TYPE_MASK | IEEE80211_FC0_SUBTYPE_QOS)) == \
247 (IEEE80211_FC0_TYPE_DATA | IEEE80211_FC0_SUBTYPE_QOS))
300#define WME_NUM_TID 16
302#define WME_PARAM_ACI 0x60
303#define WME_PARAM_ACI_S 5
304#define WME_PARAM_ACM 0x10
305#define WME_PARAM_ACM_S 4
306#define WME_PARAM_AIFSN 0x0f
307#define WME_PARAM_AIFSN_S 0
308#define WME_PARAM_LOGCWMIN 0x0f
309#define WME_PARAM_LOGCWMIN_S 0
310#define WME_PARAM_LOGCWMAX 0xf0
311#define WME_PARAM_LOGCWMAX_S 4
313#define WME_AC_TO_TID(_ac) ( \
314 ((_ac) == WME_AC_VO) ? 6 : \
315 ((_ac) == WME_AC_VI) ? 5 : \
316 ((_ac) == WME_AC_BK) ? 1 : \
319#define TID_TO_WME_AC(_tid) ( \
320 ((_tid) == 0 || (_tid) == 3) ? WME_AC_BE : \
321 ((_tid) < 3) ? WME_AC_BK : \
322 ((_tid) < 6) ? WME_AC_VI : \
336#define WME_QOSINFO_COUNT 0x0f
344#define WME_CAPINFO_UAPSD_EN 0x00000080
345#define WME_CAPINFO_UAPSD_VO 0x00000001
346#define WME_CAPINFO_UAPSD_VI 0x00000002
347#define WME_CAPINFO_UAPSD_BK 0x00000004
348#define WME_CAPINFO_UAPSD_BE 0x00000008
349#define WME_CAPINFO_UAPSD_ACFLAGS_SHIFT 0
350#define WME_CAPINFO_UAPSD_ACFLAGS_MASK 0xF
351#define WME_CAPINFO_UAPSD_MAXSP_SHIFT 5
352#define WME_CAPINFO_UAPSD_MAXSP_MASK 0x3
353#define WME_CAPINFO_IE_OFFSET 8
354#define WME_UAPSD_MAXSP(_qosinfo) \
355 (((_qosinfo) >> WME_CAPINFO_UAPSD_MAXSP_SHIFT) & \
356 WME_CAPINFO_UAPSD_MAXSP_MASK)
357#define WME_UAPSD_AC_ENABLED(_ac, _qosinfo) \
358 ((1 << (3 - (_ac))) & ( \
359 ((_qosinfo) >> WME_CAPINFO_UAPSD_ACFLAGS_SHIFT) & \
360 WME_CAPINFO_UAPSD_ACFLAGS_MASK))
371#define MNF_SETUP_REQ 0
372#define MNF_SETUP_RESP 1
373#define MNF_TEARDOWN 2
384#define IEEE80211_ACTION_CAT_SM 0
385#define IEEE80211_ACTION_CAT_QOS 1
386#define IEEE80211_ACTION_CAT_DLS 2
387#define IEEE80211_ACTION_CAT_BA 3
388#define IEEE80211_ACTION_CAT_HT 7
389#define IEEE80211_ACTION_CAT_MESH 13
390#define IEEE80211_ACTION_CAT_SELF_PROT 15
392#define IEEE80211_ACTION_CAT_VHT 21
393#define IEEE80211_ACTION_CAT_VENDOR 127
395#define IEEE80211_ACTION_HT_TXCHWIDTH 0
396#define IEEE80211_ACTION_HT_MIMOPWRSAVE 1
404#define IEEE80211_A_HT_TXCHWIDTH_20 0
405#define IEEE80211_A_HT_TXCHWIDTH_2040 1
413#define IEEE80211_A_HT_MIMOPWRSAVE_ENA 0x01
414#define IEEE80211_A_HT_MIMOPWRSAVE_MODE 0x02
415#define IEEE80211_A_HT_MIMOPWRSAVE_MODE_S 1
416#define IEEE80211_A_HT_MIMOPWRSAVE_DYNAMIC 0x02
417#define IEEE80211_A_HT_MIMOPWRSAVE_STATIC 0x00
421#define IEEE80211_ACTION_BA_ADDBA_REQUEST 0
422#define IEEE80211_ACTION_BA_ADDBA_RESPONSE 1
423#define IEEE80211_ACTION_BA_DELBA 2
426#define IEEE80211_BAPS_BUFSIZ 0xffc0
427#define IEEE80211_BAPS_BUFSIZ_S 6
428#define IEEE80211_BAPS_TID 0x003c
429#define IEEE80211_BAPS_TID_S 2
430#define IEEE80211_BAPS_POLICY 0x0002
431#define IEEE80211_BAPS_POLICY_S 1
432#define IEEE80211_BAPS_AMSDU 0x0001
433#define IEEE80211_BAPS_AMSDU_S 0
435#define IEEE80211_BAPS_POLICY_DELAYED (0<<IEEE80211_BAPS_POLICY_S)
436#define IEEE80211_BAPS_POLICY_IMMEDIATE (1<<IEEE80211_BAPS_POLICY_S)
439#define IEEE80211_BASEQ_START 0xfff0
440#define IEEE80211_BASEQ_START_S 4
441#define IEEE80211_BASEQ_FRAG 0x000f
442#define IEEE80211_BASEQ_FRAG_S 0
445#define IEEE80211_DELBAPS_TID 0xf000
446#define IEEE80211_DELBAPS_TID_S 12
447#define IEEE80211_DELBAPS_INIT 0x0800
448#define IEEE80211_DELBAPS_INIT_S 11
476#define IEEE80211_BAR_TID 0xf000
477#define IEEE80211_BAR_TID_S 12
478#define IEEE80211_BAR_COMP 0x0004
479#define IEEE80211_BAR_MTID 0x0002
480#define IEEE80211_BAR_NOACK 0x0001
483#define IEEE80211_BAR_SEQ_START 0xfff0
484#define IEEE80211_BAR_SEQ_START_S 4
562#define IEEE80211_BEACON_INTERVAL(beacon) \
563 ((beacon)[8] | ((beacon)[9] << 8))
564#define IEEE80211_BEACON_CAPABILITY(beacon) \
565 ((beacon)[10] | ((beacon)[11] << 8))
567#define IEEE80211_CAPINFO_ESS 0x0001
568#define IEEE80211_CAPINFO_IBSS 0x0002
569#define IEEE80211_CAPINFO_CF_POLLABLE 0x0004
570#define IEEE80211_CAPINFO_CF_POLLREQ 0x0008
571#define IEEE80211_CAPINFO_PRIVACY 0x0010
572#define IEEE80211_CAPINFO_SHORT_PREAMBLE 0x0020
573#define IEEE80211_CAPINFO_PBCC 0x0040
574#define IEEE80211_CAPINFO_CHNL_AGILITY 0x0080
575#define IEEE80211_CAPINFO_SPECTRUM_MGMT 0x0100
577#define IEEE80211_CAPINFO_SHORT_SLOTTIME 0x0400
578#define IEEE80211_CAPINFO_RSN 0x0800
580#define IEEE80211_CAPINFO_DSSSOFDM 0x2000
583#define IEEE80211_CAPINFO_BITS \
584 "\20\1ESS\2IBSS\3CF_POLLABLE\4CF_POLLREQ\5PRIVACY\6SHORT_PREAMBLE" \
585 "\7PBCC\10CHNL_AGILITY\11SPECTRUM_MGMT\13SHORT_SLOTTIME\14RSN" \
623#define IEEE80211_HTCAP_LDPC 0x0001
624#define IEEE80211_HTCAP_CHWIDTH40 0x0002
625#define IEEE80211_HTCAP_SMPS 0x000c
626#define IEEE80211_HTCAP_SMPS_OFF 0x000c
627#define IEEE80211_HTCAP_SMPS_DYNAMIC 0x0004
629#define IEEE80211_HTCAP_SMPS_ENA 0x0000
630#define IEEE80211_HTCAP_GREENFIELD 0x0010
631#define IEEE80211_HTCAP_SHORTGI20 0x0020
632#define IEEE80211_HTCAP_SHORTGI40 0x0040
633#define IEEE80211_HTCAP_TXSTBC 0x0080
634#define IEEE80211_HTCAP_RXSTBC 0x0300
635#define IEEE80211_HTCAP_RXSTBC_S 8
636#define IEEE80211_HTCAP_RXSTBC_1STREAM 0x0100
637#define IEEE80211_HTCAP_RXSTBC_2STREAM 0x0200
638#define IEEE80211_HTCAP_RXSTBC_3STREAM 0x0300
639#define IEEE80211_HTCAP_DELBA 0x0400
640#define IEEE80211_HTCAP_MAXAMSDU 0x0800
641#define IEEE80211_HTCAP_MAXAMSDU_7935 0x0800
642#define IEEE80211_HTCAP_MAXAMSDU_3839 0x0000
643#define IEEE80211_HTCAP_DSSSCCK40 0x1000
644#define IEEE80211_HTCAP_PSMP 0x2000
645#define IEEE80211_HTCAP_40INTOLERANT 0x4000
646#define IEEE80211_HTCAP_LSIGTXOPPROT 0x8000
648#define IEEE80211_HTCAP_BITS \
649 "\20\1LDPC\2CHWIDTH40\5GREENFIELD\6SHORTGI20\7SHORTGI40\10TXSTBC" \
650 "\13DELBA\14AMSDU(7935)\15DSSSCCK40\16PSMP\1740INTOLERANT" \
654#define IEEE80211_HTCAP_MAXRXAMPDU 0x03
655#define IEEE80211_HTCAP_MAXRXAMPDU_S 0
656#define IEEE80211_HTCAP_MAXRXAMPDU_8K 0
657#define IEEE80211_HTCAP_MAXRXAMPDU_16K 1
658#define IEEE80211_HTCAP_MAXRXAMPDU_32K 2
659#define IEEE80211_HTCAP_MAXRXAMPDU_64K 3
660#define IEEE80211_HTCAP_MPDUDENSITY 0x1c
661#define IEEE80211_HTCAP_MPDUDENSITY_S 2
662#define IEEE80211_HTCAP_MPDUDENSITY_NA 0
663#define IEEE80211_HTCAP_MPDUDENSITY_025 1
664#define IEEE80211_HTCAP_MPDUDENSITY_05 2
665#define IEEE80211_HTCAP_MPDUDENSITY_1 3
666#define IEEE80211_HTCAP_MPDUDENSITY_2 4
667#define IEEE80211_HTCAP_MPDUDENSITY_4 5
668#define IEEE80211_HTCAP_MPDUDENSITY_8 6
669#define IEEE80211_HTCAP_MPDUDENSITY_16 7
672#define IEEE80211_HTCAP_PCO 0x0001
673#define IEEE80211_HTCAP_PCOTRANS 0x0006
674#define IEEE80211_HTCAP_PCOTRANS_S 1
675#define IEEE80211_HTCAP_PCOTRANS_04 0x0002
676#define IEEE80211_HTCAP_PCOTRANS_15 0x0004
677#define IEEE80211_HTCAP_PCOTRANS_5 0x0006
679#define IEEE80211_HTCAP_MCSFBACK 0x0300
680#define IEEE80211_HTCAP_MCSFBACK_S 8
681#define IEEE80211_HTCAP_MCSFBACK_NONE 0x0000
682#define IEEE80211_HTCAP_MCSFBACK_UNSOL 0x0200
683#define IEEE80211_HTCAP_MCSFBACK_MRQ 0x0300
684#define IEEE80211_HTCAP_HTC 0x0400
685#define IEEE80211_HTCAP_RDR 0x0800
703#define IEEE80211_HTINFO_2NDCHAN 0x03
704#define IEEE80211_HTINFO_2NDCHAN_S 0
705#define IEEE80211_HTINFO_2NDCHAN_NONE 0x00
706#define IEEE80211_HTINFO_2NDCHAN_ABOVE 0x01
708#define IEEE80211_HTINFO_2NDCHAN_BELOW 0x03
709#define IEEE80211_HTINFO_TXWIDTH 0x04
710#define IEEE80211_HTINFO_TXWIDTH_20 0x00
711#define IEEE80211_HTINFO_TXWIDTH_2040 0x04
712#define IEEE80211_HTINFO_RIFSMODE 0x08
713#define IEEE80211_HTINFO_RIFSMODE_PROH 0x00
714#define IEEE80211_HTINFO_RIFSMODE_PERM 0x08
715#define IEEE80211_HTINFO_PMSPONLY 0x10
716#define IEEE80211_HTINFO_SIGRAN 0xe0
717#define IEEE80211_HTINFO_SIGRAN_S 5
718#define IEEE80211_HTINFO_SIGRAN_5 0x00
722#define IEEE80211_HTINFO_OPMODE 0x03
723#define IEEE80211_HTINFO_OPMODE_S 0
724#define IEEE80211_HTINFO_OPMODE_PURE 0x00
725#define IEEE80211_HTINFO_OPMODE_PROTOPT 0x01
726#define IEEE80211_HTINFO_OPMODE_HT20PR 0x02
727#define IEEE80211_HTINFO_OPMODE_MIXED 0x03
728#define IEEE80211_HTINFO_NONGF_PRESENT 0x04
729#define IEEE80211_HTINFO_TXBL 0x08
730#define IEEE80211_HTINFO_NONHT_PRESENT 0x10
734#define IEEE80211_HTINFO_2NDARYBEACON 0x01
735#define IEEE80211_HTINFO_LSIGTXOPPROT 0x02
736#define IEEE80211_HTINFO_PCO_ACTIVE 0x04
737#define IEEE80211_HTINFO_40MHZPHASE 0x08
740#define IEEE80211_HTINFO_BASIC_STBCMCS 0x7f
741#define IEEE80211_HTINFO_BASIC_STBCMCS_S 0
742#define IEEE80211_HTINFO_DUALPROTECTED 0x80
752#define IEEE80211_VHTCAP_MAX_AMPDU_8K 0
753#define IEEE80211_VHTCAP_MAX_AMPDU_16K 1
754#define IEEE80211_VHTCAP_MAX_AMPDU_32K 2
755#define IEEE80211_VHTCAP_MAX_AMPDU_64K 3
756#define IEEE80211_VHTCAP_MAX_AMPDU_128K 4
757#define IEEE80211_VHTCAP_MAX_AMPDU_256K 5
758#define IEEE80211_VHTCAP_MAX_AMPDU_512K 6
759#define IEEE80211_VHTCAP_MAX_AMPDU_1024K 7
768#define IEEE80211_VHT_MCS_SUPPORT_0_7 0
769#define IEEE80211_VHT_MCS_SUPPORT_0_8 1
770#define IEEE80211_VHT_MCS_SUPPORT_0_9 2
771#define IEEE80211_VHT_MCS_NOT_SUPPORTED 3
789#define IEEE80211_VHT_CHANWIDTH_USE_HT 0
790#define IEEE80211_VHT_CHANWIDTH_80MHZ 1
791#define IEEE80211_VHT_CHANWIDTH_160MHZ 2
792#define IEEE80211_VHT_CHANWIDTH_80P80MHZ 3
805#define IEEE80211_VHTCAP_MAX_MPDU_LENGTH_3895 0x00000000
806#define IEEE80211_VHTCAP_MAX_MPDU_LENGTH_7991 0x00000001
807#define IEEE80211_VHTCAP_MAX_MPDU_LENGTH_11454 0x00000002
808#define IEEE80211_VHTCAP_MAX_MPDU_MASK 0x00000003
809#define IEEE80211_VHTCAP_MAX_MPDU_MASK_S 0
811#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK 0x0000000C
812#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK_S 2
813#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE 0
814#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160MHZ 1
815#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160_80P80MHZ 2
816#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_RESERVED 3
818#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ(_vhtcaps) \
819 (_IEEE80211_MASKSHIFT(_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= \
820 IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160MHZ)
821#define IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160_80P80MHZ(_vhtcaps) \
822 (_IEEE80211_MASKSHIFT(_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == \
823 IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_160_80P80MHZ)
825#define IEEE80211_VHTCAP_RXLDPC 0x00000010
826#define IEEE80211_VHTCAP_RXLDPC_S 4
828#define IEEE80211_VHTCAP_SHORT_GI_80 0x00000020
829#define IEEE80211_VHTCAP_SHORT_GI_80_S 5
831#define IEEE80211_VHTCAP_SHORT_GI_160 0x00000040
832#define IEEE80211_VHTCAP_SHORT_GI_160_S 6
834#define IEEE80211_VHTCAP_TXSTBC 0x00000080
835#define IEEE80211_VHTCAP_TXSTBC_S 7
837#define IEEE80211_VHTCAP_RXSTBC_1 0x00000100
838#define IEEE80211_VHTCAP_RXSTBC_2 0x00000200
839#define IEEE80211_VHTCAP_RXSTBC_3 0x00000300
840#define IEEE80211_VHTCAP_RXSTBC_4 0x00000400
841#define IEEE80211_VHTCAP_RXSTBC_MASK 0x00000700
842#define IEEE80211_VHTCAP_RXSTBC_MASK_S 8
844#define IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE 0x00000800
845#define IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE_S 11
847#define IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE 0x00001000
848#define IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE_S 12
850#define IEEE80211_VHTCAP_BEAMFORMEE_STS_SHIFT 13
851#define IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK \
852 (7 << IEEE80211_VHTCAP_BEAMFORMEE_STS_SHIFT)
853#define IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK_S 13
855#define IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_SHIFT 16
856#define IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK \
857 (7 << IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_SHIFT)
858#define IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK_S 16
860#define IEEE80211_VHTCAP_MU_BEAMFORMER_CAPABLE 0x00080000
861#define IEEE80211_VHTCAP_MU_BEAMFORMER_CAPABLE_S 19
862#define IEEE80211_VHTCAP_MU_BEAMFORMEE_CAPABLE 0x00100000
863#define IEEE80211_VHTCAP_MU_BEAMFORMEE_CAPABLE_S 20
864#define IEEE80211_VHTCAP_VHT_TXOP_PS 0x00200000
865#define IEEE80211_VHTCAP_VHT_TXOP_PS_S 21
866#define IEEE80211_VHTCAP_HTC_VHT 0x00400000
867#define IEEE80211_VHTCAP_HTC_VHT_S 22
869#define IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT 23
870#define IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK \
871 (7 << IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT)
872#define IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK_S 23
874#define IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK 0x0c000000
875#define IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB 0x08000000
876#define IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB 0x0c000000
877#define IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK_S 26
879#define IEEE80211_VHTCAP_RX_ANTENNA_PATTERN 0x10000000
880#define IEEE80211_VHTCAP_RX_ANTENNA_PATTERN_S 28
881#define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN 0x20000000
882#define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN_S 29
887#define IEEE80211_VHTCAP_BITS \
888 "\20\1MPDU7991\2MPDU11454\3CHAN160\4CHAN8080\5RXLDPC\6SHORTGI80" \
889 "\7SHORTGI160\10RXSTBC1\11RXSTBC2\12RXSTBC3\13RXSTBC4\14BFERCAP" \
890 "\15BFEECAP\27VHT\37RXANTPTN\40TXANTPTN"
905#define IEEE80211_VHT_TXPWRENV_INFO_COUNT_SHIFT 0
906#define IEEE80211_VHT_TXPWRENV_INFO_COUNT_MASK 0x07
912#define IEEE80211_VHT_TXPWRENV_UNIT_MASK 0x38
913#define IEEE80211_VHT_TXPWRENV_UNIT_SHIFT 3
916#define IEEE80211_VHT_TXPWRENV_UNIT_EIRP 0
926#define WLAN_ACTION_VHT_COMPRESSED_BF 0
927#define WLAN_ACTION_VHT_GROUPID_MGMT 1
928#define WLAN_ACTION_VHT_OPMODE_NOTIF 2
1037#define IEEE80211_COUNTRY_MAX_BANDS 84
1038#define IEEE80211_COUNTRY_MAX_SIZE \
1039 (sizeof(struct ieee80211_country_ie) + 3*(IEEE80211_COUNTRY_MAX_BANDS-1))
1057#define IEEE80211_EXTCAP_CMS (1ULL << 0)
1058#define IEEE80211_EXTCAP_RSVD_1 (1ULL << 1)
1059#define IEEE80211_EXTCAP_ECS (1ULL << 2)
1060#define IEEE80211_EXTCAP_RSVD_3 (1ULL << 3)
1061#define IEEE80211_EXTCAP_PSMP_CAP (1ULL << 4)
1062#define IEEE80211_EXTCAP_RSVD_5 (1ULL << 5)
1063#define IEEE80211_EXTCAP_S_PSMP_SUPP (1ULL << 6)
1064#define IEEE80211_EXTCAP_EVENT (1ULL << 7)
1065#define IEEE80211_EXTCAP_DIAGNOSTICS (1ULL << 8)
1066#define IEEE80211_EXTCAP_MCAST_DIAG (1ULL << 9)
1067#define IEEE80211_EXTCAP_LOC_TRACKING (1ULL << 10)
1068#define IEEE80211_EXTCAP_FMS (1ULL << 11)
1069#define IEEE80211_EXTCAP_PROXY_ARP (1ULL << 12)
1070#define IEEE80211_EXTCAP_CIR (1ULL << 13)
1071#define IEEE80211_EXTCAP_CIVIC_LOC (1ULL << 14)
1072#define IEEE80211_EXTCAP_GEOSPATIAL_LOC (1ULL << 15)
1073#define IEEE80211_EXTCAP_TFS (1ULL << 16)
1074#define IEEE80211_EXTCAP_WNM_SLEEPMODE (1ULL << 17)
1075#define IEEE80211_EXTCAP_TIM_BROADCAST (1ULL << 18)
1076#define IEEE80211_EXTCAP_BSS_TRANSITION (1ULL << 19)
1077#define IEEE80211_EXTCAP_QOS_TRAF_CAP (1ULL << 20)
1078#define IEEE80211_EXTCAP_AC_STA_COUNT (1ULL << 21)
1079#define IEEE80211_EXTCAP_M_BSSID (1ULL << 22)
1080#define IEEE80211_EXTCAP_TIMING_MEAS (1ULL << 23)
1081#define IEEE80211_EXTCAP_CHAN_USAGE (1ULL << 24)
1082#define IEEE80211_EXTCAP_SSID_LIST (1ULL << 25)
1083#define IEEE80211_EXTCAP_DMS (1ULL << 26)
1084#define IEEE80211_EXTCAP_UTC_TSF_OFFSET (1ULL << 27)
1085#define IEEE80211_EXTCAP_TLDS_BUF_STA_SUPP (1ULL << 28)
1086#define IEEE80211_EXTCAP_TLDS_PPSM_SUPP (1ULL << 29)
1087#define IEEE80211_EXTCAP_TLDS_CH_SW (1ULL << 30)
1088#define IEEE80211_EXTCAP_INTERWORKING (1ULL << 31)
1089#define IEEE80211_EXTCAP_QOSMAP (1ULL << 32)
1090#define IEEE80211_EXTCAP_EBR (1ULL << 33)
1091#define IEEE80211_EXTCAP_SSPN_IF (1ULL << 34)
1092#define IEEE80211_EXTCAP_RSVD_35 (1ULL << 35)
1093#define IEEE80211_EXTCAP_MSGCF_CAP (1ULL << 36)
1094#define IEEE80211_EXTCAP_TLDS_SUPP (1ULL << 37)
1095#define IEEE80211_EXTCAP_TLDS_PROHIB (1ULL << 38)
1096#define IEEE80211_EXTCAP_TLDS_CH_SW_PROHIB (1ULL << 39)
1097#define IEEE80211_EXTCAP_RUF (1ULL << 40)
1099#define IEEE80211_EXTCAP_SIG \
1100 ((1ULL << 41) | (1ULL << 42) | (1ULL << 43))
1101#define IEEE80211_EXTCAP_ID_LOC (1ULL << 44)
1102#define IEEE80211_EXTCAP_U_APSD_COEX (1ULL << 45)
1103#define IEEE80211_EXTCAP_WNM_NOTIFICATION (1ULL << 46)
1104#define IEEE80211_EXTCAP_RSVD_47 (1ULL << 47)
1105#define IEEE80211_EXTCAP_SSID (1ULL << 48)
1141#define IEEE80211_CSA_COUNT_MIN 2
1142#define IEEE80211_CSA_COUNT_MAX 255
1145#define IEEE80211_RATE_BASIC 0x80
1146#define IEEE80211_RATE_VAL 0x7f
1147#define IEEE80211_RV(v) ((v) & IEEE80211_RATE_VAL)
1150#define IEEE80211_ERP_NON_ERP_PRESENT 0x01
1151#define IEEE80211_ERP_USE_PROTECTION 0x02
1152#define IEEE80211_ERP_LONG_PREAMBLE 0x04
1154#define IEEE80211_ERP_BITS \
1155 "\20\1NON_ERP_PRESENT\2USE_PROTECTION\3LONG_PREAMBLE"
1157#define ATH_OUI 0x7f0300
1158#define ATH_OUI_TYPE 0x01
1161#define TDMA_OUI ATH_OUI
1162#define TDMA_OUI_TYPE 0x02
1164#define BCM_OUI 0x4c9000
1165#define BCM_OUI_HTCAP 51
1166#define BCM_OUI_HTINFO 52
1168#define WPA_OUI 0xf25000
1169#define WPA_OUI_TYPE 0x01
1170#define WPA_VERSION 1
1172#define WPA_CSE_NULL 0x00
1173#define WPA_CSE_WEP40 0x01
1174#define WPA_CSE_TKIP 0x02
1175#define WPA_CSE_CCMP 0x04
1176#define WPA_CSE_WEP104 0x05
1178#define WPA_ASE_NONE 0x00
1179#define WPA_ASE_8021X_UNSPEC 0x01
1180#define WPA_ASE_8021X_PSK 0x02
1182#define WPS_OUI_TYPE 0x04
1184#define RSN_OUI 0xac0f00
1185#define RSN_VERSION 1
1187#define RSN_CSE_NULL 0x00
1188#define RSN_CSE_WEP40 0x01
1189#define RSN_CSE_TKIP 0x02
1190#define RSN_CSE_WRAP 0x03
1191#define RSN_CSE_CCMP 0x04
1192#define RSN_CSE_WEP104 0x05
1194#define RSN_ASE_NONE 0x00
1195#define RSN_ASE_8021X_UNSPEC 0x01
1196#define RSN_ASE_8021X_PSK 0x02
1198#define RSN_CAP_PREAUTH 0x01
1200#define WME_OUI 0xf25000
1201#define WME_OUI_TYPE 0x02
1202#define WME_INFO_OUI_SUBTYPE 0x00
1203#define WME_PARAM_OUI_SUBTYPE 0x01
1204#define WME_VERSION 1
1224#define IEEE80211_CHALLENGE_LEN 128
1226#define IEEE80211_AUTH_ALG_OPEN 0x0000
1227#define IEEE80211_AUTH_ALG_SHARED 0x0001
1228#define IEEE80211_AUTH_ALG_LEAP 0x0080
1330#define IEEE80211_WEP_KEYLEN 5
1331#define IEEE80211_WEP_IVLEN 3
1332#define IEEE80211_WEP_KIDLEN 1
1333#define IEEE80211_WEP_CRCLEN 4
1334#define IEEE80211_WEP_TOTLEN (IEEE80211_WEP_IVLEN + \
1335 IEEE80211_WEP_KIDLEN + \
1336 IEEE80211_WEP_CRCLEN)
1337#define IEEE80211_WEP_NKID 4
1346#define IEEE80211_WEP_EXTIV 0x20
1347#define IEEE80211_WEP_EXTIVLEN 4
1348#define IEEE80211_WEP_MICLEN 8
1350#define IEEE80211_CRC_LEN 4
1359#define IEEE80211_MTU_MAX 2290
1360#define IEEE80211_MTU_MIN 32
1362#define IEEE80211_MAX_LEN (2300 + IEEE80211_CRC_LEN + \
1363 (IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + IEEE80211_WEP_CRCLEN))
1364#define IEEE80211_ACK_LEN \
1365 (sizeof(struct ieee80211_frame_ack) + IEEE80211_CRC_LEN)
1366#define IEEE80211_MIN_LEN \
1367 (sizeof(struct ieee80211_frame_min) + IEEE80211_CRC_LEN)
1377#define IEEE80211_AID_MAX 2007
1379#define IEEE80211_AID(b) ((b) &~ 0xc000)
1387#define IEEE80211_RTS_MIN 1
1388#define IEEE80211_RTS_MAX 2346
1394#define IEEE80211_FRAG_MIN 256
1395#define IEEE80211_FRAG_MAX 2346
1402#define IEEE80211_BINTVAL_MAX 1000
1403#define IEEE80211_BINTVAL_MIN 25
1410#define IEEE80211_DTIM_MAX 15
1411#define IEEE80211_DTIM_MIN 1
1418#define IEEE80211_HWBMISS_MIN 1
1419#define IEEE80211_HWBMISS_MAX 255
1433#define IEEE80211_DUR_TU 1024
1436#define IEEE80211_DUR_DS_LONG_PREAMBLE 144
1437#define IEEE80211_DUR_DS_SHORT_PREAMBLE 72
1439#define IEEE80211_DUR_DS_SLOW_PLCPHDR 48
1440#define IEEE80211_DUR_DS_FAST_PLCPHDR 24
1441#define IEEE80211_DUR_DS_SLOW_ACK 112
1442#define IEEE80211_DUR_DS_FAST_ACK 56
1443#define IEEE80211_DUR_DS_SLOW_CTS 112
1444#define IEEE80211_DUR_DS_FAST_CTS 56
1446#define IEEE80211_DUR_DS_SLOT 20
1447#define IEEE80211_DUR_DS_SIFS 10
1448#define IEEE80211_DUR_DS_PIFS (IEEE80211_DUR_DS_SIFS + IEEE80211_DUR_DS_SLOT)
1449#define IEEE80211_DUR_DS_DIFS (IEEE80211_DUR_DS_SIFS + \
1450 2 * IEEE80211_DUR_DS_SLOT)
1451#define IEEE80211_DUR_DS_EIFS (IEEE80211_DUR_DS_SIFS + \
1452 IEEE80211_DUR_DS_SLOW_ACK + \
1453 IEEE80211_DUR_DS_LONG_PREAMBLE + \
1454 IEEE80211_DUR_DS_SLOW_PLCPHDR + \
struct ieee80211_plcp_hdr __packed
#define IEEE80211_ADDR_LEN
@ IEEE80211_AUTH_OPEN_REQUEST
@ IEEE80211_AUTH_OPEN_RESPONSE
@ IEEE80211_AUTH_SHARED_REQUEST
@ IEEE80211_AUTH_SHARED_CHALLENGE
@ IEEE80211_AUTH_SHARED_PASS
@ IEEE80211_AUTH_SHARED_RESPONSE
@ IEEE80211_REASON_MESH_MAX_PEERS
@ IEEE80211_REASON_MESH_INVALID_GTK
@ IEEE80211_STATUS_DSSSOFDM_REQUIRED
@ IEEE80211_STATUS_TIMEOUT
@ IEEE80211_REASON_AUTH_LEAVE
@ IEEE80211_REASON_TIMEOUT
@ IEEE80211_STATUS_SP_REQUIRED
@ IEEE80211_STATUS_PAIRWISE_CIPHER_INVALID
@ IEEE80211_REASON_AKMP_INVALID
@ IEEE80211_REASON_IE_INVALID
@ IEEE80211_REASON_DISASSOC_PWRCAP_BAD
@ IEEE80211_STATUS_INVALID_RSN_IE_CAP
@ IEEE80211_STATUS_INVALID_IE
@ IEEE80211_STATUS_AKMP_INVALID
@ IEEE80211_REASON_MESH_CHAN_SWITCH_UNSPEC
@ IEEE80211_REASON_MIC_FAILURE
@ IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT
@ IEEE80211_REASON_4WAY_HANDSHAKE_TIMEOUT
@ IEEE80211_REASON_MESH_PERR_NO_PROXY
@ IEEE80211_REASON_MESH_INCONS_PARAMS
@ IEEE80211_REASON_IE_IN_4WAY_DIFFERS
@ IEEE80211_STATUS_SPECMGMT_REQUIRED
@ IEEE80211_STATUS_CAPINFO
@ IEEE80211_REASON_UNSPECIFIED_QOS
@ IEEE80211_REASON_OUTSIDE_TXOP
@ IEEE80211_REASON_LEAVING_QBSS
@ IEEE80211_STATUS_TOOMANY
@ IEEE80211_REASON_INSUFFICIENT_BW
@ IEEE80211_REASON_UNSUPP_RSN_IE_VERSION
@ IEEE80211_REASON_MESH_CPVIOLATION
@ IEEE80211_STATUS_UNSPECIFIED
@ IEEE80211_REASON_MESH_CONFIRM_TIMEOUT
@ IEEE80211_REASON_MESH_PERR_NO_FI
@ IEEE80211_STATUS_SUCCESS
@ IEEE80211_REASON_SETUP_NEEDED
@ IEEE80211_REASON_BAD_MECHANISM
@ IEEE80211_STATUS_BASIC_RATE
@ IEEE80211_STATUS_CA_REQUIRED
@ IEEE80211_STATUS_CHALLENGE
@ IEEE80211_REASON_ASSOC_NOT_AUTHED
@ IEEE80211_STATUS_MISSING_HT_CAPS
@ IEEE80211_STATUS_NOT_ASSOCED
@ IEEE80211_STATUS_SEQUENCE
@ IEEE80211_REASON_NOT_AUTHED
@ IEEE80211_STATUS_UNSUPP_RSN_IE_VERSION
@ IEEE80211_REASON_802_1X_AUTH_FAILED
@ IEEE80211_REASON_MESH_INVALID_SECURITY
@ IEEE80211_REASON_MESH_MAX_RETRIES
@ IEEE80211_STATUS_GROUP_CIPHER_INVALID
@ IEEE80211_REASON_MESH_CLOSE_RCVD
@ IEEE80211_STATUS_SHORTSLOT_REQUIRED
@ IEEE80211_REASON_ASSOC_TOOMANY
@ IEEE80211_REASON_MESH_CHAN_SWITCH_REG
@ IEEE80211_REASON_NOT_ASSOCED
@ IEEE80211_REASON_GROUP_CIPHER_INVALID
@ IEEE80211_REASON_MESH_PERR_DEST_UNREACH
@ IEEE80211_STATUS_PBCC_REQUIRED
@ IEEE80211_REASON_MESH_MAC_ALRDY_EXISTS_MBSS
@ IEEE80211_REASON_TOOMANY_FRAMES
@ IEEE80211_REASON_UNSPECIFIED
@ IEEE80211_REASON_AUTH_EXPIRE
@ IEEE80211_STATUS_PWRCAP_REQUIRED
@ IEEE80211_REASON_PAIRWISE_CIPHER_INVALID
@ IEEE80211_STATUS_CIPHER_SUITE_REJECTED
@ IEEE80211_REASON_DISASSOC_SUPCHAN_BAD
@ IEEE80211_REASON_ASSOC_LEAVE
@ IEEE80211_REASON_PEER_LINK_CANCELED
@ IEEE80211_REASON_INVALID_RSN_IE_CAP
@ IEEE80211_STATUS_SUPCHAN_REQUIRED
@ IEEE80211_REASON_ASSOC_EXPIRE
@ IEEE80211_REASON_CIPHER_SUITE_REJECTED
@ IEEE80211_ELEMID_RESERVED_47
@ IEEE80211_ELEMID_VENDOR
@ IEEE80211_ELEMID_EXTCAP
@ IEEE80211_ELEMID_PWRCAP
@ IEEE80211_ELEMID_MESHBEACONT
@ IEEE80211_ELEMID_MESHCSA
@ IEEE80211_ELEMID_BSSLOAD
@ IEEE80211_ELEMID_MESHPERR
@ IEEE80211_ELEMID_MOBILITY_DOMAIN
@ IEEE80211_ELEMID_WNM_SLEEP_MODE
@ IEEE80211_ELEMID_DSPARMS
@ IEEE80211_ELEMID_MEASREQ
@ IEEE80211_ELEMID_MESHGANN
@ IEEE80211_ELEMID_FHPARMS
@ IEEE80211_ELEMID_COUNTRY
@ IEEE80211_ELEMID_MESHPREQ
@ IEEE80211_ELEMID_TPCREP
@ IEEE80211_ELEMID_TSF_RESP
@ IEEE80211_ELEMID_CHALLENGE
@ IEEE80211_ELEMID_TPCREQ
@ IEEE80211_ELEMID_IBSSDFS
@ IEEE80211_ELEMID_VHT_OPMODE
@ IEEE80211_ELEMID_MESHPXUC
@ IEEE80211_ELEMID_PWRCNSTR
@ IEEE80211_ELEMID_XRATES
@ IEEE80211_ELEMID_COEX_2040
@ IEEE80211_ELEMID_MULTIBSSID
@ IEEE80211_ELEMID_VHT_PWR_ENV
@ IEEE80211_ELEMID_MESHPEER
@ IEEE80211_ELEMID_CFPARMS
@ IEEE80211_ELEMID_MESHCNGST
@ IEEE80211_ELEMID_MESHCONF
@ IEEE80211_ELEMID_MESHLINK
@ IEEE80211_ELEMID_TIM_BCAST_RESP
@ IEEE80211_ELEMID_APCHANREP
@ IEEE80211_ELEMID_MESHPXU
@ IEEE80211_ELEMID_MESHRANN
@ IEEE80211_ELEMID_RRM_ENACAPS
@ IEEE80211_ELEMID_HTINFO
@ IEEE80211_ELEMID_INTOL_CHN_REPORT
@ IEEE80211_ELEMID_TSF_REQ
@ IEEE80211_ELEMID_OVERLAP_BSS_SCAN_PARAM
@ IEEE80211_ELEMID_VHT_CAP
@ IEEE80211_ELEMID_MESHID
@ IEEE80211_ELEMID_MESHPREP
@ IEEE80211_ELEMID_MESHTIM
@ IEEE80211_ELEMID_MEASREP
@ IEEE80211_ELEMID_MESHAWAKEW
@ IEEE80211_ELEMID_MESHAH
@ IEEE80211_ELEMID_SUPPCHAN
@ IEEE80211_ELEMID_IBSSPARMS
@ IEEE80211_ELEMID_TIM_BCAST_REQ
@ IEEE80211_ELEMID_SECCHAN_OFFSET
const uint8_t ieee80211broadcastaddr[]
struct ieee80211_action rq_header
struct ieee80211_action rs_header
struct ieee80211_action dl_header
struct ieee80211_action am_header
struct ieee80211_action at_header
struct ieee80211_country_ie::@5 band[1]
uint8_t i_ra[IEEE80211_ADDR_LEN]
uint8_t i_addr2[IEEE80211_ADDR_LEN]
uint8_t i_addr1[IEEE80211_ADDR_LEN]
uint8_t i_addr4[IEEE80211_ADDR_LEN]
uint8_t i_addr3[IEEE80211_ADDR_LEN]
uint8_t i_ta[IEEE80211_ADDR_LEN]
uint8_t i_ra[IEEE80211_ADDR_LEN]
uint8_t i_bssid[IEEE80211_ADDR_LEN]
uint8_t i_ra[IEEE80211_ADDR_LEN]
uint8_t i_ra[IEEE80211_ADDR_LEN]
uint8_t i_addr1[IEEE80211_ADDR_LEN]
uint8_t i_addr2[IEEE80211_ADDR_LEN]
uint8_t i_bssid[IEEE80211_ADDR_LEN]
uint8_t i_ta[IEEE80211_ADDR_LEN]
uint8_t i_ra[IEEE80211_ADDR_LEN]
uint8_t i_ta[IEEE80211_ADDR_LEN]
uint8_t i_addr1[IEEE80211_ADDR_LEN]
uint8_t i_addr2[IEEE80211_ADDR_LEN]
uint8_t i_addr3[IEEE80211_ADDR_LEN]
uint8_t hi_basicmcsset[16]
uint8_t center_freq_seg1_idx
uint8_t center_freq_seg2_idx
struct ieee80211_vht_mcs_info supp_mcs
uint8_t i_addr4[IEEE80211_ADDR_LEN]
uint8_t i_addr1[IEEE80211_ADDR_LEN]
uint8_t i_addr2[IEEE80211_ADDR_LEN]
uint8_t i_addr3[IEEE80211_ADDR_LEN]
uint8_t i_addr1[IEEE80211_ADDR_LEN]
uint8_t i_addr3[IEEE80211_ADDR_LEN]
uint8_t i_addr2[IEEE80211_ADDR_LEN]
struct ieee80211_wme_acparams params_acParams[WME_NUM_AC]
uint8_t param_oui_subtype
uint8_t ts_medium_time[2]
uint8_t ts_inactv_intv[4]