15 #ifndef LINUX_IEEE80211_H
16 #define LINUX_IEEE80211_H
18 #include <linux/types.h>
19 #include <asm/byteorder.h>
39 #define IEEE80211_FCTL_VERS 0x0003
40 #define IEEE80211_FCTL_FTYPE 0x000c
41 #define IEEE80211_FCTL_STYPE 0x00f0
42 #define IEEE80211_FCTL_TODS 0x0100
43 #define IEEE80211_FCTL_FROMDS 0x0200
44 #define IEEE80211_FCTL_MOREFRAGS 0x0400
45 #define IEEE80211_FCTL_RETRY 0x0800
46 #define IEEE80211_FCTL_PM 0x1000
47 #define IEEE80211_FCTL_MOREDATA 0x2000
48 #define IEEE80211_FCTL_PROTECTED 0x4000
49 #define IEEE80211_FCTL_ORDER 0x8000
50 #define IEEE80211_FCTL_CTL_EXT 0x0f00
52 #define IEEE80211_SCTL_FRAG 0x000F
53 #define IEEE80211_SCTL_SEQ 0xFFF0
55 #define IEEE80211_FTYPE_MGMT 0x0000
56 #define IEEE80211_FTYPE_CTL 0x0004
57 #define IEEE80211_FTYPE_DATA 0x0008
58 #define IEEE80211_FTYPE_EXT 0x000c
61 #define IEEE80211_STYPE_ASSOC_REQ 0x0000
62 #define IEEE80211_STYPE_ASSOC_RESP 0x0010
63 #define IEEE80211_STYPE_REASSOC_REQ 0x0020
64 #define IEEE80211_STYPE_REASSOC_RESP 0x0030
65 #define IEEE80211_STYPE_PROBE_REQ 0x0040
66 #define IEEE80211_STYPE_PROBE_RESP 0x0050
67 #define IEEE80211_STYPE_BEACON 0x0080
68 #define IEEE80211_STYPE_ATIM 0x0090
69 #define IEEE80211_STYPE_DISASSOC 0x00A0
70 #define IEEE80211_STYPE_AUTH 0x00B0
71 #define IEEE80211_STYPE_DEAUTH 0x00C0
72 #define IEEE80211_STYPE_ACTION 0x00D0
75 #define IEEE80211_STYPE_CTL_EXT 0x0060
76 #define IEEE80211_STYPE_BACK_REQ 0x0080
77 #define IEEE80211_STYPE_BACK 0x0090
78 #define IEEE80211_STYPE_PSPOLL 0x00A0
79 #define IEEE80211_STYPE_RTS 0x00B0
80 #define IEEE80211_STYPE_CTS 0x00C0
81 #define IEEE80211_STYPE_ACK 0x00D0
82 #define IEEE80211_STYPE_CFEND 0x00E0
83 #define IEEE80211_STYPE_CFENDACK 0x00F0
86 #define IEEE80211_STYPE_DATA 0x0000
87 #define IEEE80211_STYPE_DATA_CFACK 0x0010
88 #define IEEE80211_STYPE_DATA_CFPOLL 0x0020
89 #define IEEE80211_STYPE_DATA_CFACKPOLL 0x0030
90 #define IEEE80211_STYPE_NULLFUNC 0x0040
91 #define IEEE80211_STYPE_CFACK 0x0050
92 #define IEEE80211_STYPE_CFPOLL 0x0060
93 #define IEEE80211_STYPE_CFACKPOLL 0x0070
94 #define IEEE80211_STYPE_QOS_DATA 0x0080
95 #define IEEE80211_STYPE_QOS_DATA_CFACK 0x0090
96 #define IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0
97 #define IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0
98 #define IEEE80211_STYPE_QOS_NULLFUNC 0x00C0
99 #define IEEE80211_STYPE_QOS_CFACK 0x00D0
100 #define IEEE80211_STYPE_QOS_CFPOLL 0x00E0
101 #define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0
104 #define IEEE80211_STYPE_DMG_BEACON 0x0000
107 #define IEEE80211_CTL_EXT_POLL 0x2000
108 #define IEEE80211_CTL_EXT_SPR 0x3000
109 #define IEEE80211_CTL_EXT_GRANT 0x4000
110 #define IEEE80211_CTL_EXT_DMG_CTS 0x5000
111 #define IEEE80211_CTL_EXT_DMG_DTS 0x6000
112 #define IEEE80211_CTL_EXT_SSW 0x8000
113 #define IEEE80211_CTL_EXT_SSW_FBACK 0x9000
114 #define IEEE80211_CTL_EXT_SSW_ACK 0xa000
117 #define IEEE80211_MAX_FRAG_THRESHOLD 2352
118 #define IEEE80211_MAX_RTS_THRESHOLD 2353
119 #define IEEE80211_MAX_AID 2007
120 #define IEEE80211_MAX_TIM_LEN 251
126 #define IEEE80211_MAX_DATA_LEN 2304
128 #define IEEE80211_MAX_FRAME_LEN 2352
130 #define IEEE80211_MAX_SSID_LEN 32
132 #define IEEE80211_MAX_MESH_ID_LEN 32
134 #define IEEE80211_QOS_CTL_LEN 2
136 #define IEEE80211_QOS_CTL_TAG1D_MASK 0x0007
138 #define IEEE80211_QOS_CTL_TID_MASK 0x000f
140 #define IEEE80211_QOS_CTL_EOSP 0x0010
142 #define IEEE80211_QOS_CTL_ACK_POLICY_NORMAL 0x0000
143 #define IEEE80211_QOS_CTL_ACK_POLICY_NOACK 0x0020
144 #define IEEE80211_QOS_CTL_ACK_POLICY_NO_EXPL 0x0040
145 #define IEEE80211_QOS_CTL_ACK_POLICY_BLOCKACK 0x0060
146 #define IEEE80211_QOS_CTL_ACK_POLICY_MASK 0x0060
148 #define IEEE80211_QOS_CTL_A_MSDU_PRESENT 0x0080
150 #define IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT 0x0100
153 #define IEEE80211_WMM_IE_AP_QOSINFO_UAPSD (1<<7)
154 #define IEEE80211_WMM_IE_AP_QOSINFO_PARAM_SET_CNT_MASK 0x0f
157 #define IEEE80211_WMM_IE_STA_QOSINFO_AC_VO (1<<0)
158 #define IEEE80211_WMM_IE_STA_QOSINFO_AC_VI (1<<1)
159 #define IEEE80211_WMM_IE_STA_QOSINFO_AC_BK (1<<2)
160 #define IEEE80211_WMM_IE_STA_QOSINFO_AC_BE (1<<3)
161 #define IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK 0x0f
164 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL 0x00
165 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_2 0x01
166 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_4 0x02
167 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_6 0x03
168 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK 0x03
169 #define IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT 5
171 #define IEEE80211_HT_CTL_LEN 4
206 static inline int ieee80211_has_tods(
__le16 fc)
215 static inline int ieee80211_has_fromds(
__le16 fc)
224 static inline int ieee80211_has_a4(
__le16 fc)
227 return (fc & tmp) ==
tmp;
234 static inline int ieee80211_has_morefrags(
__le16 fc)
243 static inline int ieee80211_has_retry(
__le16 fc)
252 static inline int ieee80211_has_pm(
__le16 fc)
261 static inline int ieee80211_has_moredata(
__le16 fc)
270 static inline int ieee80211_has_protected(
__le16 fc)
279 static inline int ieee80211_has_order(
__le16 fc)
288 static inline int ieee80211_is_mgmt(
__le16 fc)
298 static inline int ieee80211_is_ctl(
__le16 fc)
308 static inline int ieee80211_is_data(
__le16 fc)
318 static inline int ieee80211_is_data_qos(
__le16 fc)
332 static inline int ieee80211_is_data_present(
__le16 fc)
346 static inline int ieee80211_is_assoc_req(
__le16 fc)
356 static inline int ieee80211_is_assoc_resp(
__le16 fc)
366 static inline int ieee80211_is_reassoc_req(
__le16 fc)
376 static inline int ieee80211_is_reassoc_resp(
__le16 fc)
386 static inline int ieee80211_is_probe_req(
__le16 fc)
396 static inline int ieee80211_is_probe_resp(
__le16 fc)
406 static inline int ieee80211_is_beacon(
__le16 fc)
416 static inline int ieee80211_is_atim(
__le16 fc)
426 static inline int ieee80211_is_disassoc(
__le16 fc)
436 static inline int ieee80211_is_auth(
__le16 fc)
446 static inline int ieee80211_is_deauth(
__le16 fc)
456 static inline int ieee80211_is_action(
__le16 fc)
466 static inline int ieee80211_is_back_req(
__le16 fc)
476 static inline int ieee80211_is_back(
__le16 fc)
486 static inline int ieee80211_is_pspoll(
__le16 fc)
496 static inline int ieee80211_is_rts(
__le16 fc)
506 static inline int ieee80211_is_cts(
__le16 fc)
516 static inline int ieee80211_is_ack(
__le16 fc)
526 static inline int ieee80211_is_cfend(
__le16 fc)
536 static inline int ieee80211_is_cfendack(
__le16 fc)
546 static inline int ieee80211_is_nullfunc(
__le16 fc)
556 static inline int ieee80211_is_qos_nullfunc(
__le16 fc)
580 #define MESH_FLAGS_AE_A4 0x1
581 #define MESH_FLAGS_AE_A5_A6 0x2
582 #define MESH_FLAGS_AE 0x3
583 #define MESH_FLAGS_PS_DEEP 0x4
687 #define WLAN_SA_QUERY_TR_ID_LEN 2
819 #define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
822 #define IEEE80211_MIN_ACTION_SIZE offsetof(struct ieee80211_mgmt, u.action.u)
924 #define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
925 #define IEEE80211_BAR_CTRL_MULTI_TID 0x0002
926 #define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004
927 #define IEEE80211_BAR_CTRL_TID_INFO_MASK 0xf000
928 #define IEEE80211_BAR_CTRL_TID_INFO_SHIFT 12
930 #define IEEE80211_HT_MCS_MASK_LEN 10
949 #define IEEE80211_HT_MCS_RX_HIGHEST_MASK 0x3ff
950 #define IEEE80211_HT_MCS_TX_DEFINED 0x01
951 #define IEEE80211_HT_MCS_TX_RX_DIFF 0x02
953 #define IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK 0x0C
954 #define IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT 2
955 #define IEEE80211_HT_MCS_TX_MAX_STREAMS 4
956 #define IEEE80211_HT_MCS_TX_UNEQUAL_MODULATION 0x10
965 #define IEEE80211_HT_MCS_UNEQUAL_MODULATION_START 33
966 #define IEEE80211_HT_MCS_UNEQUAL_MODULATION_START_BYTE \
967 (IEEE80211_HT_MCS_UNEQUAL_MODULATION_START / 8)
988 #define IEEE80211_HT_CAP_LDPC_CODING 0x0001
989 #define IEEE80211_HT_CAP_SUP_WIDTH_20_40 0x0002
990 #define IEEE80211_HT_CAP_SM_PS 0x000C
991 #define IEEE80211_HT_CAP_SM_PS_SHIFT 2
992 #define IEEE80211_HT_CAP_GRN_FLD 0x0010
993 #define IEEE80211_HT_CAP_SGI_20 0x0020
994 #define IEEE80211_HT_CAP_SGI_40 0x0040
995 #define IEEE80211_HT_CAP_TX_STBC 0x0080
996 #define IEEE80211_HT_CAP_RX_STBC 0x0300
997 #define IEEE80211_HT_CAP_RX_STBC_SHIFT 8
998 #define IEEE80211_HT_CAP_DELAY_BA 0x0400
999 #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800
1000 #define IEEE80211_HT_CAP_DSSSCCK40 0x1000
1001 #define IEEE80211_HT_CAP_RESERVED 0x2000
1002 #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000
1003 #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000
1006 #define IEEE80211_HT_EXT_CAP_PCO 0x0001
1007 #define IEEE80211_HT_EXT_CAP_PCO_TIME 0x0006
1008 #define IEEE80211_HT_EXT_CAP_PCO_TIME_SHIFT 1
1009 #define IEEE80211_HT_EXT_CAP_MCS_FB 0x0300
1010 #define IEEE80211_HT_EXT_CAP_MCS_FB_SHIFT 8
1011 #define IEEE80211_HT_EXT_CAP_HTC_SUP 0x0400
1012 #define IEEE80211_HT_EXT_CAP_RD_RESPONDER 0x0800
1015 #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03
1016 #define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C
1017 #define IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT 2
1030 #define IEEE80211_HT_MAX_AMPDU_FACTOR 13
1059 #define IEEE80211_HT_PARAM_CHA_SEC_OFFSET 0x03
1060 #define IEEE80211_HT_PARAM_CHA_SEC_NONE 0x00
1061 #define IEEE80211_HT_PARAM_CHA_SEC_ABOVE 0x01
1062 #define IEEE80211_HT_PARAM_CHA_SEC_BELOW 0x03
1063 #define IEEE80211_HT_PARAM_CHAN_WIDTH_ANY 0x04
1064 #define IEEE80211_HT_PARAM_RIFS_MODE 0x08
1067 #define IEEE80211_HT_OP_MODE_PROTECTION 0x0003
1068 #define IEEE80211_HT_OP_MODE_PROTECTION_NONE 0
1069 #define IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER 1
1070 #define IEEE80211_HT_OP_MODE_PROTECTION_20MHZ 2
1071 #define IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED 3
1072 #define IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT 0x0004
1073 #define IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT 0x0010
1076 #define IEEE80211_HT_STBC_PARAM_DUAL_BEACON 0x0040
1077 #define IEEE80211_HT_STBC_PARAM_DUAL_CTS_PROT 0x0080
1078 #define IEEE80211_HT_STBC_PARAM_STBC_BEACON 0x0100
1079 #define IEEE80211_HT_STBC_PARAM_LSIG_TXOP_FULLPROT 0x0200
1080 #define IEEE80211_HT_STBC_PARAM_PCO_ACTIVE 0x0400
1081 #define IEEE80211_HT_STBC_PARAM_PCO_PHASE 0x0800
1085 #define IEEE80211_ADDBA_PARAM_POLICY_MASK 0x0002
1086 #define IEEE80211_ADDBA_PARAM_TID_MASK 0x003C
1087 #define IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK 0xFFC0
1088 #define IEEE80211_DELBA_PARAM_TID_MASK 0xF000
1089 #define IEEE80211_DELBA_PARAM_INITIATOR_MASK 0x0800
1095 #define IEEE80211_MIN_AMPDU_BUF 0x8
1096 #define IEEE80211_MAX_AMPDU_BUF 0x40
1100 #define WLAN_HT_CAP_SM_PS_STATIC 0
1101 #define WLAN_HT_CAP_SM_PS_DYNAMIC 1
1102 #define WLAN_HT_CAP_SM_PS_INVALID 2
1103 #define WLAN_HT_CAP_SM_PS_DISABLED 3
1106 #define WLAN_HT_SMPS_CONTROL_DISABLED 0
1107 #define WLAN_HT_SMPS_CONTROL_STATIC 1
1108 #define WLAN_HT_SMPS_CONTROL_DYNAMIC 3
1110 #define VHT_MCS_SUPPORTED_SET_SIZE 8
1144 #define IEEE80211_VHT_MCS_ZERO_TO_SEVEN_SUPPORT 0
1145 #define IEEE80211_VHT_MCS_ZERO_TO_EIGHT_SUPPORT 1
1146 #define IEEE80211_VHT_MCS_ZERO_TO_NINE_SUPPORT 2
1147 #define IEEE80211_VHT_MCS_NOT_SUPPORTED 3
1150 #define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 0x00000000
1151 #define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 0x00000001
1152 #define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 0x00000002
1153 #define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ 0x00000004
1154 #define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ 0x00000008
1155 #define IEEE80211_VHT_CAP_RXLDPC 0x00000010
1156 #define IEEE80211_VHT_CAP_SHORT_GI_80 0x00000020
1157 #define IEEE80211_VHT_CAP_SHORT_GI_160 0x00000040
1158 #define IEEE80211_VHT_CAP_TXSTBC 0x00000080
1159 #define IEEE80211_VHT_CAP_RXSTBC_1 0x00000100
1160 #define IEEE80211_VHT_CAP_RXSTBC_2 0x00000200
1161 #define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
1162 #define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
1163 #define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800
1164 #define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000
1165 #define IEEE80211_VHT_CAP_BEAMFORMER_ANTENNAS_MAX 0x00006000
1166 #define IEEE80211_VHT_CAP_SOUNDING_DIMENTION_MAX 0x00030000
1167 #define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000
1168 #define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000
1169 #define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000
1170 #define IEEE80211_VHT_CAP_HTC_VHT 0x00400000
1171 #define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT 0x00800000
1172 #define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB 0x08000000
1173 #define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB 0x0c000000
1174 #define IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN 0x10000000
1175 #define IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN 0x20000000
1178 #define WLAN_AUTH_OPEN 0
1179 #define WLAN_AUTH_SHARED_KEY 1
1180 #define WLAN_AUTH_FT 2
1181 #define WLAN_AUTH_SAE 3
1182 #define WLAN_AUTH_LEAP 128
1184 #define WLAN_AUTH_CHALLENGE_LEN 128
1186 #define WLAN_CAPABILITY_ESS (1<<0)
1187 #define WLAN_CAPABILITY_IBSS (1<<1)
1194 #define WLAN_CAPABILITY_IS_STA_BSS(cap) \
1195 (!((cap) & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS)))
1197 #define WLAN_CAPABILITY_CF_POLLABLE (1<<2)
1198 #define WLAN_CAPABILITY_CF_POLL_REQUEST (1<<3)
1199 #define WLAN_CAPABILITY_PRIVACY (1<<4)
1200 #define WLAN_CAPABILITY_SHORT_PREAMBLE (1<<5)
1201 #define WLAN_CAPABILITY_PBCC (1<<6)
1202 #define WLAN_CAPABILITY_CHANNEL_AGILITY (1<<7)
1205 #define WLAN_CAPABILITY_SPECTRUM_MGMT (1<<8)
1206 #define WLAN_CAPABILITY_QOS (1<<9)
1207 #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10)
1208 #define WLAN_CAPABILITY_DSSS_OFDM (1<<13)
1212 #define WLAN_CAPABILITY_DMG_TYPE_IBSS (1<<0)
1213 #define WLAN_CAPABILITY_DMG_TYPE_PBSS (2<<0)
1214 #define WLAN_CAPABILITY_DMG_TYPE_AP (3<<0)
1216 #define WLAN_CAPABILITY_DMG_CBAP_ONLY (1<<2)
1217 #define WLAN_CAPABILITY_DMG_CBAP_SOURCE (1<<3)
1218 #define WLAN_CAPABILITY_DMG_PRIVACY (1<<4)
1219 #define WLAN_CAPABILITY_DMG_ECPAC (1<<5)
1221 #define WLAN_CAPABILITY_DMG_SPECTRUM_MGMT (1<<8)
1222 #define WLAN_CAPABILITY_DMG_RADIO_MEASURE (1<<12)
1225 #define IEEE80211_SPCT_MSR_RPRT_MODE_LATE (1<<0)
1226 #define IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE (1<<1)
1227 #define IEEE80211_SPCT_MSR_RPRT_MODE_REFUSED (1<<2)
1229 #define IEEE80211_SPCT_MSR_RPRT_TYPE_BASIC 0
1230 #define IEEE80211_SPCT_MSR_RPRT_TYPE_CCA 1
1231 #define IEEE80211_SPCT_MSR_RPRT_TYPE_RPI 2
1234 #define WLAN_ERP_NON_ERP_PRESENT (1<<0)
1235 #define WLAN_ERP_USE_PROTECTION (1<<1)
1236 #define WLAN_ERP_BARKER_PREAMBLE (1<<2)
1612 #define WLAN_EXT_CAPA5_TDLS_ENABLED BIT(5)
1613 #define WLAN_EXT_CAPA5_TDLS_PROHIBITED BIT(6)
1616 #define WLAN_TDLS_SNAP_RFTYPE 0x2
1685 #define IEEE80211_COUNTRY_IE_MIN_LEN 6
1688 #define IEEE80211_COUNTRY_STRING_LEN 3
1713 #define IEEE80211_COUNTRY_EXTENSION_ID 201
1769 #define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
1770 #define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
1771 #define WLAN_CIPHER_SUITE_TKIP 0x000FAC02
1773 #define WLAN_CIPHER_SUITE_CCMP 0x000FAC04
1774 #define WLAN_CIPHER_SUITE_WEP104 0x000FAC05
1775 #define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06
1776 #define WLAN_CIPHER_SUITE_GCMP 0x000FAC08
1778 #define WLAN_CIPHER_SUITE_SMS4 0x00147201
1781 #define WLAN_AKM_SUITE_8021X 0x000FAC01
1782 #define WLAN_AKM_SUITE_PSK 0x000FAC02
1783 #define WLAN_AKM_SUITE_SAE 0x000FAC08
1784 #define WLAN_AKM_SUITE_FT_OVER_SAE 0x000FAC09
1786 #define WLAN_MAX_KEY_LEN 32
1788 #define WLAN_PMKID_LEN 16
1790 #define WLAN_OUI_WFA 0x506f9a
1791 #define WLAN_OUI_TYPE_WFA_P2P 9
1792 #define WLAN_OUI_MICROSOFT 0x0050f2
1793 #define WLAN_OUI_TYPE_MICROSOFT_WPA 1
1794 #define WLAN_OUI_TYPE_MICROSOFT_WMM 2
1795 #define WLAN_OUI_TYPE_MICROSOFT_WPS 4
1800 #define IEEE80211_WMM_IE_TSPEC_TID_MASK 0x0F
1801 #define IEEE80211_WMM_IE_TSPEC_TID_SHIFT 1
1846 return (
u8 *)hdr + 30;
1848 return (
u8 *)hdr + 24;
1892 static inline bool ieee80211_is_robust_mgmt_frame(
struct ieee80211_hdr *hdr)
1910 category = ((
u8 *) hdr) + 24;
1925 static inline bool ieee80211_is_public_action(
struct ieee80211_hdr *hdr,
1944 static inline int ieee80211_dsss_chan_to_freq(
int channel)
1946 if ((channel > 0) && (channel < 14))
1947 return 2407 + (channel * 5);
1948 else if (channel == 14)
1963 static inline int ieee80211_freq_to_dsss_chan(
int freq)
1965 if ((freq >= 2410) && (freq < 2475))
1966 return (freq - 2405) / 5;
1967 else if ((freq >= 2482) && (freq < 2487))
1977 static inline unsigned long ieee80211_tu_to_usec(
unsigned long tu)
1994 if (
unlikely(!tim || tim_len <
sizeof(*tim)))
1999 mask = 1 << (aid & 7);
2002 indexn2 = tim_len + indexn1 - 4;
2004 if (index < indexn1 || index > indexn2)