wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
qca-vendor.h
Go to the documentation of this file.
1 
5 #ifndef QCA_VENDOR_H
6 #define QCA_VENDOR_H
7 
8 /*
9  * This file is a registry of identifier assignments from the Qualcomm Atheros
10  * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
11  * can be assigned through normal review process for changes to the upstream
12  * hostap.git repository.
13  */
14 
15 #define OUI_QCA 0x001374
16 
22  QCA_RADIOTAP_VID_WLANTEST = 0,
23 };
24 
92  QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
93  QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
94  /* subcmds 2..8 not yet allocated */
95  QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9,
96  QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
97  QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY = 11,
98  QCA_NL80211_VENDOR_SUBCMD_NAN = 12,
99  QCA_NL80211_VENDOR_SUBMCD_STATS_EXT = 13,
100  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET = 14,
101  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET = 15,
102  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR = 16,
103  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS = 17,
104  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS = 18,
105  QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS = 19,
106  QCA_NL80211_VENDOR_SUBCMD_GSCAN_START = 20,
107  QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP = 21,
108  QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS = 22,
109  QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES = 23,
110  QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS = 24,
111  QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE = 25,
112  QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT = 26,
113  QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT = 27,
114  QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND = 28,
115  QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST = 29,
116  QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST = 30,
117  QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE = 31,
118  QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE = 32,
119  QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE = 33,
120  QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE = 34,
121  QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE = 35,
122  QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS = 36,
123  QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE = 37,
124  QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES = 38,
125  QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI = 39,
126  QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG = 40,
127  QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST = 41,
128  QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX = 42,
129  /* 43..49 - reserved for QCA */
130  QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY = 50,
131  QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH = 51,
132  QCA_NL80211_VENDOR_SUBCMD_APFIND = 52,
133  /* 53 - reserved - was used by QCA, but not in use anymore */
134  QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54,
135  QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55,
136  QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED = 56,
137  QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED = 57,
138  QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58,
139  QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59,
140  QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60,
141  /* 61-90 - reserved for QCA */
142  QCA_NL80211_VENDOR_SUBCMD_DATA_OFFLOAD = 91,
143  QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG = 92,
144  QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME = 93,
145  QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT = 94,
146  QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT = 95,
147  QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER = 96,
148  QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS = 97,
149  QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS = 98,
150  QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL = 99,
151  QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT = 100,
152  QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES = 101,
153  QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG = 102,
154  QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST = 103,
155  QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL = 104,
156  QCA_NL80211_VENDOR_SUBCMD_SETBAND = 105,
157 };
158 
159 
160 enum qca_wlan_vendor_attr {
161  QCA_WLAN_VENDOR_ATTR_INVALID = 0,
162  /* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
163  QCA_WLAN_VENDOR_ATTR_DFS = 1,
164  /* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
165  QCA_WLAN_VENDOR_ATTR_NAN = 2,
166  /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
167  QCA_WLAN_VENDOR_ATTR_STATS_EXT = 3,
168  /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
169  QCA_WLAN_VENDOR_ATTR_IFINDEX = 4,
170  /* used by QCA_NL80211_VENDOR_SUBCMD_ROAMING, u32 with values defined
171  * by enum qca_roaming_policy. */
172  QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5,
173  QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
174  /* used by QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES */
175  QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS = 7,
176  QCA_WLAN_VENDOR_ATTR_TEST = 8,
177  /* used by QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES */
178  /* Unsigned 32-bit value. */
179  QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA = 9,
180  /* Unsigned 32-bit value */
181  QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_2_4_BAND = 10,
182  /* Unsigned 32-bit value */
183  QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_5_0_BAND = 11,
184  /* Unsigned 32-bit value from enum qca_set_band. */
185  QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE = 12,
186  /* keep last */
187  QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
188  QCA_WLAN_VENDOR_ATTR_MAX = QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
189 };
190 
191 
192 enum qca_roaming_policy {
193  QCA_ROAMING_NOT_ALLOWED,
194  QCA_ROAMING_ALLOWED_WITHIN_ESS,
195 };
196 
197 enum qca_wlan_vendor_attr_roam_auth {
198  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID = 0,
199  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID,
200  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE,
201  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE,
202  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED,
203  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR,
204  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK,
205  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK,
206  /* keep last */
207  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST,
208  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX =
209  QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1
210 };
211 
212 enum qca_wlan_vendor_attr_acs_offload {
213  QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_INVALID = 0,
214  QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL,
215  QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL,
216  QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE,
217  QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED,
218  QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED,
219  QCA_WLAN_VENDOR_ATTR_ACS_VHT_ENABLED,
220  QCA_WLAN_VENDOR_ATTR_ACS_CHWIDTH,
221  QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST,
222  QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL,
223  QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL,
224  QCA_WLAN_VENDOR_ATTR_ACS_FREQ_LIST,
225  /* keep last */
226  QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST,
227  QCA_WLAN_VENDOR_ATTR_ACS_MAX =
228  QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST - 1
229 };
230 
231 enum qca_wlan_vendor_acs_hw_mode {
232  QCA_ACS_MODE_IEEE80211B,
233  QCA_ACS_MODE_IEEE80211G,
234  QCA_ACS_MODE_IEEE80211A,
235  QCA_ACS_MODE_IEEE80211AD,
236  QCA_ACS_MODE_IEEE80211ANY,
237 };
238 
252  QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD = 0,
253  QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY = 1,
254  NUM_QCA_WLAN_VENDOR_FEATURES /* keep last */
255 };
256 
269  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_INVALID = 0,
270  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION,
271  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL,
272  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT,
273 
274  /* keep last */
275  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST,
276  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_MAX =
277  QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST - 1
278 };
279 
280 enum qca_vendor_attr_get_preferred_freq_list {
281  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_INVALID,
282  /* A 32-unsigned value; the interface type/mode for which the preferred
283  * frequency list is requested (see enum qca_iface_type for possible
284  * values); used in GET_PREFERRED_FREQ_LIST command from user-space to
285  * kernel and in the kernel response back to user-space.
286  */
287  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_IFACE_TYPE,
288  /* An array of 32-unsigned values; values are frequency (MHz); sent
289  * from kernel space to user space.
290  */
291  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST,
292  /* keep last */
293  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST,
294  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX =
295  QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST - 1
296 };
297 
298 enum qca_vendor_attr_probable_oper_channel {
299  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_INVALID,
300  /* 32-bit unsigned value; indicates the connection/iface type likely to
301  * come on this channel (see enum qca_iface_type).
302  */
303  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_IFACE_TYPE,
304  /* 32-bit unsigned value; the frequency (MHz) of the probable channel */
305  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_FREQ,
306  /* keep last */
307  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST,
308  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_MAX =
309  QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST - 1
310 };
311 
312 enum qca_iface_type {
313  QCA_IFACE_TYPE_STA,
314  QCA_IFACE_TYPE_AP,
315  QCA_IFACE_TYPE_P2P_CLIENT,
316  QCA_IFACE_TYPE_P2P_GO,
317  QCA_IFACE_TYPE_IBSS,
318  QCA_IFACE_TYPE_TDLS,
319 };
320 
321 enum qca_set_band {
322  QCA_SETBAND_AUTO,
323  QCA_SETBAND_5G,
324  QCA_SETBAND_2G,
325 };
326 
327 /* IEEE 802.11 Vendor Specific elements */
328 
355  QCA_VENDOR_ELEM_P2P_PREF_CHAN_LIST = 0,
356 };
357 
358 #endif /* QCA_VENDOR_H */
qca_wlan_vendor_features
Vendor device/driver feature flags.
Definition: qca-vendor.h:251
qca_wlan_vendor_attr_data_offload_ind
Vendor Data Offload Indication.
Definition: qca-vendor.h:268
qca_radiotap_vendor_ids
QCA radiotap vendor namespace IDs.
Definition: qca-vendor.h:21
qca_vendor_element_id
QCA Vendor Specific element types.
Definition: qca-vendor.h:354
qca_nl80211_vendor_subcmds
QCA nl80211 vendor command identifiers.
Definition: qca-vendor.h:91