• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef __VENDOR_DEFINITIONS_H__
18 #define __VENDOR_DEFINITIONS_H__
19 
20 #define WIFI_SCANNING_MAC_OUI_LENGTH 3
21 #define WIFI_MAC_ADDR_LENGTH 6
22 
23 /*Internal to Android HAL component */
24 /* subcommands for link layer statistics start here */
25 #ifndef QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
26 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET 14
27 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET 15
28 #define QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR 16
29 /* subcommands for gscan start here */
30 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_START 20
31 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP 21
32 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS 22
33 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES 23
34 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS 24
35 /* Used when report_threshold is reached in scan cache. */
36 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE 25
37 /* Used to report scan results when each probe rsp. is received,
38  * if report_events enabled in wifi_scan_cmd_params.
39  */
40 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT 26
41 /* Indicates progress of scanning state-machine. */
42 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT 27
43 /* Indicates BSSID Hotlist. */
44 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND 28
45 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST 29
46 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST 30
47 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE 31
48 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE 32
49 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE 33
50 /* TDLS Commands. */
51 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE 34
52 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE 35
53 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS 36
54 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE 37
55 /* Supported features. */
56 #define QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES 38
57 /* set scanning_mac_oui */
58 #define QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI 39
59 /* Set nodfs_flag */
60 #define QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG 40
61 /* Indicates BSSID Hotlist AP lost. */
62 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST 41
63 /* Get Concurrency Matrix */
64 #define QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX 42
65 /* Get Wifi Specific Info */
66 #define QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO 61
67 /* Start Wifi Logger */
68 #define QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START 62
69 /* Start Wifi Memory Dump */
70 #define QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP 63
71 /* Roaming */
72 #define QCA_NL80211_VENDOR_SUBCMD_ROAM 64
73 /* GScan SSID Hotlist */
74 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SSID_HOTLIST 65
75 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SSID_HOTLIST 66
76 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_FOUND 67
77 #define QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_LOST 68
78 /* PNO */
79 #define QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST 69
80 #define QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST 70
81 #define QCA_NL80211_VENDOR_SUBCMD_PNO_RESET_PASSPOINT_LIST 71
82 #define QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND 72
83 #define QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND 73
84 /* Wi-Fi Configuration subcommands */
85 #define QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION 74
86 #define QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION 75
87 /* WiFiLogger Support feature set */
88 #define QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET 76
89 /* WiFiLogger Get Ring Data */
90 #define QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA 77
91 /* Get tdls capabilities */
92 #define QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES 78
93 /* offloaded packets*/
94 #define QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS 79
95 /* RSSI monitoring*/
96 #define QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI 80
97 
98 #endif
99 
100 enum qca_wlan_vendor_attr_ll_stats_set
101 {
102     QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID = 0,
103     /* Unsigned 32-bit value */
104     QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD = 1,
105     QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING,
106     /* keep last */
107     QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST,
108     QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX =
109         QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST - 1,
110 };
111 
112 enum qca_wlan_vendor_attr_ll_stats_clr
113 {
114     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID = 0,
115     /* Unsigned 32bit bitmap  for clearing statistics
116      * All radio statistics                     0x00000001
117      * cca_busy_time (within radio statistics)  0x00000002
118      * All channel stats (within radio statistics) 0x00000004
119      * All scan statistics (within radio statistics) 0x00000008
120      * All interface statistics                     0x00000010
121      * All tx rate statistics (within interface statistics) 0x00000020
122      * All ac statistics (with in interface statistics) 0x00000040
123      * All contention (min, max, avg) statistics (within ac statisctics)
124      * 0x00000080.
125      */
126     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK,
127     /* Unsigned 8bit value : Request to stop statistics collection */
128     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ,
129 
130     /* Unsigned 32bit bitmap : Response from the driver
131      * for the cleared statistics
132      */
133     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK,
134     /* Unsigned 8bit value: Response from driver/firmware
135      * for the stop request
136      */
137     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP,
138     /* keep last */
139     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST,
140     QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX =
141         QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST - 1,
142 };
143 
144 enum qca_wlan_vendor_attr_ll_stats_get
145 {
146     QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID = 0,
147     /* Unsigned 32bit value provided by the caller issuing the GET stats
148      * command. When reporting the stats results, the driver uses the same
149      * value to indicate which GET request the results correspond to.
150      */
151     QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID,
152     /* Unsigned 32bit value - bit mask to identify what statistics are
153      * requested for retrieval.
154      * Radio Statistics 0x00000001
155      * Interface Statistics 0x00000020
156      * All Peer Statistics 0x00000040
157      * Peer Statistics     0x00000080
158      */
159     QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK,
160     /* keep last */
161     QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST,
162     QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX =
163         QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST - 1,
164 };
165 
166 enum qca_wlan_vendor_attr_ll_stats_results
167 {
168     QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID = 0,
169     /* Unsigned 32bit value. Used by the driver; must match the request id
170      * provided with the QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET command.
171      */
172     QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID,
173 
174     /* Unsigned 32bit value */
175     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX,
176     /* Unsigned 32bit value */
177     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX,
178     /* Unsigned 32bit value */
179     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX,
180     /* Unsigned 32bit value */
181     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX,
182     /* Signed 32bit value */
183     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT,
184     /* Signed 32bit value */
185     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA,
186     /* Signed 32bit value */
187     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK,
188 
189     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_* are
190      * nested within the interface stats.
191      */
192 
193     /* Interface mode, e.g., STA, SOFTAP, IBSS, etc.
194      * Type = enum wifi_interface_mode.
195      */
196     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE,
197     /* Interface MAC address. An array of 6 Unsigned int8 */
198     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR,
199     /* Type = enum wifi_connection_state, e.g., DISCONNECTED,
200      * AUTHENTICATING, etc. valid for STA, CLI only.
201      */
202     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE,
203     /* Type = enum wifi_roam_state. Roaming state, e.g., IDLE or ACTIVE
204      */
205     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING,
206     /* Unsigned 32bit value. WIFI_CAPABILITY_XXX */
207     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES,
208     /* NULL terminated SSID. An array of 33 Unsigned 8bit values */
209     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID,
210     /* BSSID. An array of 6 Unsigned 8bit values */
211     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID,
212     /* Country string advertised by AP. An array of 3 Unsigned 8bit
213      * values.
214      */
215     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR,
216     /* Country string for this association. An array of 3 Unsigned 8bit
217      * values.
218      */
219     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR,
220 
221     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_* could
222      * be nested within the interface stats.
223      */
224 
225     /* Type = enum wifi_traffic_ac, e.g., V0, VI, BE and BK */
226     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC,
227     /* Unsigned int 32 value corresponding to respective AC */
228     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU,
229     /* Unsigned int 32 value corresponding to respective AC */
230     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU,
231     /* Unsigned int 32 value corresponding to respective AC */
232     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST,
233     /* Unsigned int 32 value corresponding to respective AC */
234     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST,
235     /* Unsigned int 32 value corresponding to respective AC */
236     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU,
237     /* Unsigned int 32 value corresponding to respective AC */
238     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU,
239     /* Unsigned int 32 value corresponding to respective AC */
240     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST,
241     /* Unsigned int 32 value corresponding to respective AC */
242     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES,
243     /* Unsigned int 32 value corresponding to respective AC  */
244     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT,
245     /* Unsigned int 32 values corresponding to respective AC */
246     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_LONG,
247     /* Unsigned int 32 values corresponding to respective AC */
248     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN,
249     /* Unsigned int 32 values corresponding to respective AC */
250     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX,
251     /* Unsigned int 32 values corresponding to respective AC */
252     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG,
253     /* Unsigned int 32 values corresponding to respective AC */
254     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES,
255     /* Unsigned 32bit value. Number of peers */
256     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS,
257 
258     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_* are
259      * nested within the interface stats.
260      */
261 
262     /* Type = enum wifi_peer_type. Peer type, e.g., STA, AP, P2P GO etc. */
263     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE,
264     /* MAC addr corresponding to respective peer. An array of 6 Unsigned
265      * 8bit values.
266      */
267     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS,
268     /* Unsigned int 32bit value representing capabilities corresponding
269      * to respective peer.
270      */
271     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES,
272     /* Unsigned 32bit value. Number of rates */
273     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES,
274 
275     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_*
276      * are nested within the rate stat.
277      */
278 
279     /* Wi-Fi Rate - separate attributes defined for individual fields */
280 
281     /* Unsigned int 8bit value; 0: OFDM, 1:CCK, 2:HT 3:VHT 4..7 reserved */
282     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE,
283     /* Unsigned int 8bit value; 0:1x1, 1:2x2, 3:3x3, 4:4x4 */
284     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS,
285     /* Unsigned int 8bit value; 0:20MHz, 1:40Mhz, 2:80Mhz, 3:160Mhz */
286     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW,
287     /* Unsigned int 8bit value; OFDM/CCK rate code would be as per IEEE Std
288      * in the units of 0.5mbps HT/VHT it would be mcs index */
289     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX,
290 
291     /* Unsigned 32bit value. Bit rate in units of 100Kbps */
292     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE,
293 
294 
295     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_STAT_* could be
296      * nested within the peer info stats.
297      */
298 
299     /* Unsigned int 32bit value. Number of successfully transmitted data pkts,
300      * i.e., with ACK received corresponding to the respective rate.
301      */
302     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU,
303     /* Unsigned int 32bit value. Number of received data pkts corresponding
304      *  to the respective rate.
305      */
306     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU,
307     /* Unsigned int 32bit value. Number of data pkts losses, i.e., no ACK
308      * received corresponding to *the respective rate.
309      */
310     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST,
311     /* Unsigned int 32bit value. Total number of data pkt retries for the
312      * respective rate.
313      */
314     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES,
315     /* Unsigned int 32bit value. Total number of short data pkt retries
316      * for the respective rate.
317      */
318     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT,
319     /* Unsigned int 32bit value. Total number of long data pkt retries
320      * for the respective rate.
321      */
322     QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG,
323 
324 
325     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID,
326     /* Unsigned 32bit value. Total number of msecs the radio is awake
327      * accruing over time.
328      */
329     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME,
330     /* Unsigned 32bit value. Total number of msecs the radio is transmitting
331      * accruing over time.
332      */
333     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME,
334     /* Unsigned 32bit value. Total number of msecs the radio is in active
335      * receive accruing over time.
336      */
337     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME,
338     /* Unsigned 32bit value. Total number of msecs the radio is awake due
339      * to all scan accruing over time.
340      */
341     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN,
342     /* Unsigned 32bit value. Total number of msecs the radio is awake due
343      * to NAN accruing over time.
344      */
345     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD,
346     /* Unsigned 32bit value. Total number of msecs the radio is awake due
347      * to GSCAN accruing over time.
348      */
349     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN,
350     /* Unsigned 32bit value. Total number of msecs the radio is awake due
351      * to roam scan accruing over time.
352      */
353     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN,
354     /* Unsigned 32bit value. Total number of msecs the radio is awake due
355      * to PNO scan accruing over time.
356      */
357     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN,
358     /* Unsigned 32bit value. Total number of msecs the radio is awake due
359      * to HS2.0 scans and GAS *exchange accruing over time.
360      */
361     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20,
362     /* Unsigned 32bit value. Number of channels. */
363     QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS,
364 
365     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_* could
366      * be nested within the channel stats.
367      */
368 
369     /* Type = enum wifi_channel_width. Channel width, e.g., 20, 40, 80 */
370     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH,
371     /* Unsigned 32bit value. Primary 20MHz channel. */
372     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ,
373     /* Unsigned 32bit value. Center frequency (MHz) first segment. */
374     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0,
375     /* Unsigned 32bit value. Center frequency (MHz) second segment. */
376     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1,
377 
378     /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_* could be
379      * nested within the radio stats.
380      */
381 
382     /* Unsigned int 32bit value representing total number of msecs the radio
383      * is awake on that *channel accruing over time, corresponding to the
384      * respective channel.
385      */
386     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME,
387     /* Unsigned int 32bit value representing total number of msecs the CCA
388      * register is busy accruing  *over time corresponding to the respective
389      * channel.
390      */
391     QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME,
392 
393     QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS,
394 
395     /* Signifies the nested list of channel attributes
396      * QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_*
397      */
398     QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO,
399 
400     /* Signifies the nested list of peer info attributes
401      * QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_*
402      */
403     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO,
404 
405     /* Signifies the nested list of rate info attributes
406      * QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_*
407      */
408     QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO,
409 
410     /* Signifies the nested list of wmm info attributes
411      * QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_*
412      */
413     QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO,
414 
415     /* Unsigned 8bit value. Used by the driver; if set to 1, it indicates that
416      * more stats, e.g., peers or radio, are to follow in the next
417      * QCA_NL80211_VENDOR_SUBCMD_LL_STATS_*_RESULTS event.
418      * Otherwise, it is set to 0.
419      */
420     QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA,
421 
422     /* Unsigned 64bit value */
423     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET,
424 
425     /* Unsigned 32bit value */
426     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED,
427 
428     /* Unsigned 32bit value */
429     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED,
430 
431     /* Unsigned 32bit value */
432     QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME,
433 
434     /* Unsigned 32bit value */
435     QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE,
436 
437     /* keep last */
438     QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST,
439     QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX = QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST - 1,
440 };
441 
442 enum qca_wlan_vendor_attr_ll_stats_type
443 {
444     QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_INVALID = 0,
445     QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_RADIO,
446     QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_IFACE,
447     QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_PEERS
448 };
449 
450 enum qca_wlan_vendor_attr_gscan_config_params
451 {
452     QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_INVALID = 0,
453 
454     /* Unsigned 32-bit value; Middleware provides it to the driver. Middle ware
455      * either gets it from caller, e.g., framework, or generates one if
456      * framework doesn't provide it.
457      */
458     QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID,
459 
460     /* NL attributes for data used by
461      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS sub command.
462      */
463     /* Unsigned 32-bit value */
464     QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_WIFI_BAND,
465     /* Unsigned 32-bit value */
466     QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_MAX_CHANNELS,
467 
468     /* NL attributes for input params used by
469      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_START sub command.
470      */
471 
472     /* Unsigned 32-bit value; channel frequency */
473     QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CHANNEL,
474     /* Unsigned 32-bit value; dwell time in ms. */
475     QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_DWELL_TIME,
476     /* Unsigned 8-bit value; 0: active; 1: passive; N/A for DFS */
477     QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_PASSIVE,
478     /* Unsigned 8-bit value; channel class */
479     QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CLASS,
480 
481     /* Unsigned 8-bit value; bucket index, 0 based */
482     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_INDEX,
483     /* Unsigned 8-bit value; band. */
484     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_BAND,
485     /* Unsigned 32-bit value; desired period, in ms. */
486     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_PERIOD,
487     /* Unsigned 8-bit value; report events semantics. */
488     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_REPORT_EVENTS,
489     /* Unsigned 32-bit value. Followed by a nested array of GSCAN_CHANNEL_SPEC_*
490      * attributes.
491      */
492     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS,
493 
494     /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_* attributes.
495      * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS
496      */
497     QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC,
498 
499     /* Unsigned 32-bit value; base timer period in ms. */
500     QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_BASE_PERIOD,
501     /* Unsigned 32-bit value; number of APs to store in each scan in the
502      * BSSID/RSSI history buffer (keep the highest RSSI APs).
503      */
504     QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_MAX_AP_PER_SCAN,
505     /* Unsigned 8-bit value; in %, when scan buffer is this much full, wake up
506      * AP.
507      */
508     QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_PERCENT,
509 
510     /* Unsigned 8-bit value; number of scan bucket specs; followed by a nested
511      * array of_GSCAN_BUCKET_SPEC_* attributes and values. The size of the
512      * array is determined by NUM_BUCKETS.
513      */
514     QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS,
515 
516     /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_* attributes.
517      * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS
518      */
519     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC,
520 
521     /* Unsigned 8-bit value */
522     QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_FLUSH,
523     /* Unsigned 32-bit value; maximum number of results to be returned. */
524     QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_MAX,
525 
526     /* An array of 6 x Unsigned 8-bit value */
527     QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_BSSID,
528     /* Signed 32-bit value */
529     QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_LOW,
530     /* Signed 32-bit value */
531     QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_HIGH,
532     /* Unsigned 32-bit value */
533     QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_CHANNEL,
534 
535 
536     /* Number of hotlist APs as unsigned 32-bit value, followed by a nested array of
537      * AP_THRESHOLD_PARAM attributes and values. The size of the array is
538      * determined by NUM_AP.
539      */
540     QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_NUM_AP,
541 
542     /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_* attributes.
543      * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS
544      */
545     QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM,
546 
547     /* Unsigned 32bit value; number of samples for averaging RSSI. */
548     QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_RSSI_SAMPLE_SIZE,
549     /* Unsigned 32bit value; number of samples to confirm AP loss. */
550     QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_LOST_AP_SAMPLE_SIZE,
551     /* Unsigned 32bit value; number of APs breaching threshold. */
552     QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_MIN_BREACHING,
553     /* Unsigned 32bit value; number of APs. Followed by an array of
554      * AP_THRESHOLD_PARAM attributes. Size of the array is NUM_AP.
555      */
556     QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_NUM_AP,
557     /* Unsigned 32bit value; number of samples to confirm AP loss. */
558     QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE,
559     /* Unsigned 32-bit value. If max_period is non zero or different than
560      * period, then this bucket is an exponential backoff bucket.
561      */
562     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_MAX_PERIOD,
563     /* Unsigned 32-bit value. */
564     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_EXPONENT,
565     /* Unsigned 32-bit value. For exponential back off bucket, number of scans
566      * performed at a given period and until the exponent is applied.
567      */
568     QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_STEP_COUNT,
569     /* Unsigned 8-bit value; in number of scans, wake up AP after these
570      * many scans.
571      */
572     QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_NUM_SCANS,
573 
574     /* NL attributes for data used by
575      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SSID_HOTLIST sub command.
576      */
577     /* Unsigned 32bit value; number of samples to confirm SSID loss. */
578     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_LOST_SSID_SAMPLE_SIZE,
579     /* Number of hotlist SSIDs as unsigned 32-bit value, followed by a nested
580      * array of SSID_THRESHOLD_PARAM_* attributes and values. The size of the
581      * array is determined by NUM_SSID.
582      */
583     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_NUM_SSID,
584     /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_* attributes.
585      * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_NUM_SSID
586      */
587     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM,
588 
589     /* An array of 33 x Unsigned 8-bit value; NULL terminated SSID */
590     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_SSID,
591     /* Unsigned 8-bit value */
592     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_BAND,
593     /* Signed 32-bit value */
594     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_LOW,
595     /* Signed 32-bit value */
596     QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_HIGH,
597     /* Unsigned 32-bit value; a bitmask w/additional gscan config flag. */
598     QCA_WLAN_VENDOR_ATTR_GSCAN_CONFIGURATION_FLAGS,
599 
600     /* keep last */
601     QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST,
602     QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_MAX =
603         QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST - 1,
604 };
605 
606 enum qca_wlan_vendor_attr_gscan_results
607 {
608     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_INVALID = 0,
609 
610     /* Unsigned 32-bit value; must match the request Id supplied by Wi-Fi HAL
611      * in the corresponding subcmd NL msg
612      */
613     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_REQUEST_ID,
614 
615     /* Unsigned 32-bit value; used to indicate the status response from
616      * firmware/driver for the vendor sub-command.
617      */
618     QCA_WLAN_VENDOR_ATTR_GSCAN_STATUS,
619 
620     /* GSCAN Valid Channels attributes */
621     /* Unsigned 32bit value; followed by a nested array of CHANNELS.
622      */
623     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_CHANNELS,
624     /* An array of NUM_CHANNELS x Unsigned 32bit value integers representing
625      * channel numbers
626      */
627     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CHANNELS,
628 
629     /* GSCAN Capabilities attributes */
630     /* Unsigned 32bit value */
631     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE,
632     /* Unsigned 32bit value */
633     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS,
634     /* Unsigned 32bit value */
635     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_AP_CACHE_PER_SCAN,
636     /* Unsigned 32bit value */
637     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_RSSI_SAMPLE_SIZE,
638     /* Signed 32bit value */
639     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_REPORTING_THRESHOLD,
640     /* Unsigned 32bit value */
641     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_BSSIDS,
642     /* Unsigned 32bit value */
643     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SIGNIFICANT_WIFI_CHANGE_APS,
644     /* Unsigned 32bit value */
645     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_BSSID_HISTORY_ENTRIES,
646 
647     /* GSCAN Attributes used with
648      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE sub-command.
649      */
650 
651     /* Unsigned 32-bit value */
652     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE,
653 
654     /* GSCAN attributes used with
655      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT sub-command.
656      */
657 
658     /* An array of NUM_RESULTS_AVAILABLE x
659      * QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_*
660      */
661     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST,
662 
663     /* Unsigned 64-bit value; age of sample at the time of retrieval */
664     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_TIME_STAMP,
665     /* 33 x unsiged 8-bit value; NULL terminated SSID */
666     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_SSID,
667     /* An array of 6 x Unsigned 8-bit value */
668     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BSSID,
669     /* Unsigned 32-bit value; channel frequency in MHz */
670     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CHANNEL,
671     /* Signed 32-bit value */
672     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RSSI,
673     /* Unsigned 32-bit value */
674     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT,
675     /* Unsigned 32-bit value */
676     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT_SD,
677     /* Unsigned 16-bit value */
678     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BEACON_PERIOD,
679     /* Unsigned 16-bit value */
680     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CAPABILITY,
681     /* Unsigned 32-bit value; size of the IE DATA blob */
682     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_LENGTH,
683     /* An array of IE_LENGTH x Unsigned 8-bit value; blob of all the
684      * information elements found in the beacon; this data should be a
685      * packed list of wifi_information_element objects, one after the
686      * other.
687      */
688     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_DATA,
689 
690     /* Unsigned 8-bit value; set by driver to indicate more scan results are
691      * available.
692      */
693     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_MORE_DATA,
694 
695     /* GSCAN attributes for
696      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT sub-command.
697      */
698     /* Unsigned 8-bit value */
699     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_TYPE,
700     /* Unsigned 32-bit value */
701     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_STATUS,
702 
703     /* GSCAN attributes for
704      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND sub-command.
705      */
706     /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE
707      * to indicate number of results.
708      * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the list
709      * of results.
710      */
711 
712     /* GSCAN attributes for
713      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE sub-command.
714      */
715     /* An array of 6 x Unsigned 8-bit value */
716     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_BSSID,
717     /* Unsigned 32-bit value */
718     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_CHANNEL,
719     /* Unsigned 32-bit value.
720      */
721     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_NUM_RSSI,
722     /* A nested array of signed 32-bit RSSI values. Size of the array is determined by
723      * (NUM_RSSI of SIGNIFICANT_CHANGE_RESULT_NUM_RSSI.
724      */
725     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_RSSI_LIST,
726 
727     /* GSCAN attributes used with
728      * QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS sub-command.
729      */
730     /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE
731      * to indicate number of gscan cached results returned.
732      * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_LIST to indicate
733      *  the list of gscan cached results.
734      */
735 
736     /* An array of NUM_RESULTS_AVAILABLE x
737      * QCA_NL80211_VENDOR_ATTR_GSCAN_CACHED_RESULTS_*
738      */
739     QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_LIST,
740     /* Unsigned 32-bit value; a unique identifier for the scan unit. */
741     QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_SCAN_ID,
742     /* Unsigned 32-bit value; a bitmask w/additional information about scan. */
743     QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_FLAGS,
744     /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE
745      * to indicate number of wifi scan results/bssids retrieved by the scan.
746      * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the list
747      * of wifi scan results returned for each cached result block.
748      */
749 
750     /* GSCAN attributes for
751      * QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND sub-command.
752      */
753     /* Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE for number
754      * of results.
755      * Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the nested
756      * list of wifi scan results returned for each wifi_passpoint_match_result block.
757      * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE.
758      */
759 
760     /* GSCAN attributes for
761      * QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND sub-command.
762      */
763     /* Unsigned 32-bit value */
764     QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES,
765     /* A nested array of
766      * QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_*
767      * attributes. Array size =
768      * *_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES.
769      */
770     QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_RESULT_LIST,
771 
772     /* Unsigned 32-bit value; network block id for the matched network */
773     QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ID,
774     /* Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the nested
775      * list of wifi scan results returned for each wifi_passpoint_match_result block.
776      */
777     /* Unsigned 32-bit value */
778     QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP_LEN,
779     /* An array size of PASSPOINT_MATCH_ANQP_LEN of unsigned 8-bit values;
780      * ANQP data in the information_element format.
781      */
782     QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP,
783 
784     /* Unsigned 32bit value; a GSCAN Capabilities attribute. */
785     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_SSIDS,
786     /* Unsigned 32bit value; a GSCAN Capabilities attribute. */
787     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS,
788     /* Unsigned 32bit value; a GSCAN Capabilities attribute. */
789     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS_BY_SSID,
790     /* Unsigned 32bit value; a GSCAN Capabilities attribute. */
791     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_WHITELISTED_SSID,
792 
793     /* keep last */
794     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST,
795     QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_MAX =
796         QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST - 1,
797 };
798 
799 enum qca_wlan_vendor_attr_tdls_enable
800 {
801     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID = 0,
802     /* An array of 6 x Unsigned 8-bit value */
803     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR,
804     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL,
805     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS,
806     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS,
807     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS,
808     /* keep last */
809     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST,
810     QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX =
811         QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST - 1,
812 };
813 
814 enum qca_wlan_vendor_attr_tdls_disable
815 {
816     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID = 0,
817     /* An array of 6 x Unsigned 8-bit value */
818     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR,
819     /* keep last */
820     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST,
821     QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX =
822         QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST - 1,
823 };
824 
825 enum qca_wlan_vendor_attr_tdls_get_status
826 {
827     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID = 0,
828     /* An array of 6 x Unsigned 8-bit value */
829     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR,
830     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE,
831     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON,
832     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL,
833     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS,
834     /* keep last */
835     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST,
836     QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX =
837         QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST - 1,
838 };
839 
840 enum qca_wlan_vendor_attr_tdls_state
841 {
842     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID = 0,
843     /* An array of 6 x Unsigned 8-bit value */
844     QCA_WLAN_VENDOR_ATTR_TDLS_MAC_ADDR,
845     QCA_WLAN_VENDOR_ATTR_TDLS_STATE,
846     QCA_WLAN_VENDOR_ATTR_TDLS_REASON,
847     QCA_WLAN_VENDOR_ATTR_TDLS_CHANNEL,
848     QCA_WLAN_VENDOR_ATTR_TDLS_GLOBAL_OPERATING_CLASS,
849     /* keep last */
850     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST,
851     QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX =
852         QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST - 1,
853 };
854 
855 enum qca_wlan_vendor_attr_tdls_get_capabilities
856 {
857     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_INVALID = 0,
858 
859     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX_CONC_SESSIONS,
860     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_FEATURES_SUPPORTED,
861 
862     /* keep last */
863     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST,
864     QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX =
865         QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST - 1,
866 };
867 
868 enum qca_wlan_vendor_attr_get_supported_features
869 {
870     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_INVALID = 0,
871     /* Unsigned 32-bit value */
872     QCA_WLAN_VENDOR_ATTR_FEATURE_SET = 1,
873     /* keep last */
874     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST,
875     QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX =
876         QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST - 1,
877 };
878 
879 enum qca_wlan_vendor_attr_set_scanning_mac_oui
880 {
881     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_INVALID = 0,
882     /* An array of 3 x Unsigned 8-bit value */
883     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI = 1,
884     /* keep last */
885     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST,
886     QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX =
887         QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST - 1,
888 };
889 
890 enum qca_wlan_vendor_attr_set_no_dfs_flag
891 {
892     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_INVALID = 0,
893     /* Unsigned 32-bit value */
894     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG = 1,
895     /* keep last */
896     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST,
897     QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX =
898         QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST - 1,
899 };
900 
901 /* NL attributes for data used by
902  * QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX sub command.
903  */
904 enum qca_wlan_vendor_attr_get_concurrency_matrix
905 {
906     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_INVALID = 0,
907     /* Unsigned 32-bit value */
908     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_CONFIG_PARAM_SET_SIZE_MAX = 1,
909     /* Unsigned 32-bit value */
910     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET_SIZE = 2,
911     /* An array of SET_SIZE x Unsigned 32bit values representing
912      * concurrency combinations.
913      */
914     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET = 3,
915     /* keep last */
916     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST,
917     QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_MAX =
918         QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST - 1,
919 };
920 
921 /* NL attributes for data used by
922  * QCA_NL80211_VENDOR_SUBCMD_SET|GET_WIFI_CONFIGURATION sub commands.
923  */
924 enum qca_wlan_vendor_attr_wifi_config {
925     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_INVALID = 0,
926     /* Unsigned 32-bit value */
927     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_DYNAMIC_DTIM = 1,
928     /* Unsigned 32-bit value */
929     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_STATS_AVG_FACTOR = 2,
930     /* Unsigned 32-bit value */
931     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_GUARD_TIME = 3,
932     /* keep last */
933     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST,
934     QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_MAX =
935         QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST - 1,
936 };
937 
938 enum qca_wlan_epno_type
939 {
940     QCA_WLAN_EPNO,
941     QCA_WLAN_PNO
942 };
943 
944 enum qca_wlan_vendor_attr_pno_config_params {
945     QCA_WLAN_VENDOR_ATTR_PNO_INVALID = 0,
946     /* NL attributes for data used by
947      * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST sub command.
948      */
949     /* Unsigned 32-bit value */
950     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM = 1,
951     /* Array of nested QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_*
952      * attributes. Array size =
953      * QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM.
954      */
955     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY = 2,
956 
957     /* Unsigned 32-bit value */
958     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ID = 3,
959     /* An array of 256 x Unsigned 8-bit value; NULL terminated UTF8 encoded
960      * realm, 0 if unspecified.
961      */
962     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_REALM = 4,
963     /* An array of 16 x Unsigned 32-bit value; roaming consortium ids to match,
964      * 0 if unspecified.
965      */
966     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_CNSRTM_ID = 5,
967     /* An array of 6 x Unsigned 8-bit value; mcc/mnc combination, 0s if
968     *  unspecified.
969     */
970     QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_PLMN = 6,
971 
972 
973     /* NL attributes for data used by
974      * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST sub command.
975      */
976     /* Unsigned 32-bit value */
977     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS = 7,
978     /* Array of nested
979      * QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_*
980      * attributes. Array size =
981      *            QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS.
982      */
983     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST = 8,
984     /* An array of 33 x Unsigned 8-bit value; NULL terminated SSID */
985     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_SSID = 9,
986     /* Signed 8-bit value; threshold for considering this SSID as found,
987      * required granularity for this threshold is 4dBm to 8dBm
988      */
989     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_RSSI_THRESHOLD = 10,
990     /* Unsigned 8-bit value; WIFI_PNO_FLAG_XXX */
991     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_FLAGS = 11,
992     /* Unsigned 8-bit value; auth bit field for matching WPA IE */
993     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_AUTH_BIT = 12,
994     /* Unsigned 8-bit to indicate ePNO type;
995      * It takes values from qca_wlan_epno_type
996      */
997     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_TYPE = 13,
998 
999     /* Nested attribute to send the channel list */
1000     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_CHANNEL_LIST = 14,
1001 
1002     /* Unsigned 32-bit value; indicates the Interval between PNO scan
1003      * cycles in msec
1004      */
1005     QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_SCAN_INTERVAL = 15,
1006 
1007     /* keep last */
1008     QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST,
1009     QCA_WLAN_VENDOR_ATTR_PNO_MAX =
1010         QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST - 1,
1011 };
1012 
1013 enum qca_wlan_vendor_attr_roaming_config_params {
1014     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID = 0,
1015 
1016     QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD = 1,
1017     QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID = 2,
1018 
1019     /* Attributes for wifi_set_ssid_white_list */
1020     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS = 3,
1021     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST = 4,
1022     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID = 5,
1023 
1024     /* Attributes for set_roam_params */
1025     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD = 6,
1026     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD = 7,
1027     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR = 8,
1028     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR = 9,
1029     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST = 10,
1030     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS = 11,
1031     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER = 12,
1032 
1033     /* Attribute for set_lazy_roam*/
1034     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE = 13,
1035 
1036     /* Attribute for set_lazy_roam with preferences*/
1037     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS = 14,
1038     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID = 15,
1039     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID = 16,
1040     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER = 17,
1041 
1042     /* Attribute for set_ blacklist bssid params */
1043     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS = 18,
1044     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID = 19,
1045     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID = 20,
1046 
1047     /* keep last */
1048     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST,
1049     QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX =
1050         QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST - 1,
1051 };
1052 
1053 /*
1054  * QCA_NL80211_VENDOR_SUBCMD_ROAM sub commands.
1055  */
1056 enum qca_wlan_vendor_attr_roam_subcmd
1057 {
1058    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID = 0,
1059    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST = 1,
1060    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_GSCAN_ROAM_PARAMS = 2,
1061    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM = 3,
1062    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS = 4,
1063    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PARAMS = 5,
1064    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID = 6,
1065 
1066    /* KEEP LAST */
1067    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST,
1068    QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX =
1069         QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST - 1,
1070 };
1071 
1072 /* NL attributes for data used by
1073  * QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO sub command.
1074  */
1075 enum qca_wlan_vendor_attr_get_wifi_info {
1076     QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_INVALID = 0,
1077     QCA_WLAN_VENDOR_ATTR_WIFI_INFO_DRIVER_VERSION     = 1,
1078     QCA_WLAN_VENDOR_ATTR_WIFI_INFO_FIRMWARE_VERSION   = 2,
1079     /* keep last */
1080     QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST,
1081     QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX  =
1082            QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST - 1,
1083 };
1084 /* NL attributes for data used by
1085  * QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START sub command.
1086  */
1087 enum qca_wlan_vendor_attr_wifi_logger_start {
1088     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_INVALID = 0,
1089     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_RING_ID = 1,
1090     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_VERBOSE_LEVEL = 2,
1091     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_FLAGS = 3,
1092     /* keep last */
1093     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST,
1094     QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_GET_MAX  =
1095         QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST - 1,
1096 };
1097 
1098 enum qca_wlan_vendor_attr_logger_results
1099 {
1100     QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_INVALID = 0,
1101 
1102     /* Unsigned 32-bit value; must match the request Id supplied by Wi-Fi HAL
1103      * in the corresponding subcmd NL msg
1104      */
1105     QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_REQUEST_ID,
1106 
1107     /* Unsigned 32-bit value; used to indicate the size of memory
1108        dump to be allocated.
1109      */
1110     QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MEMDUMP_SIZE,
1111 
1112     /* keep last */
1113     QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST,
1114     QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MAX =
1115         QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST - 1,
1116 
1117 };
1118 
1119 enum qca_wlan_offloaded_packets_sending_control
1120 {
1121     QCA_WLAN_OFFLOADED_PACKETS_SENDING_CONTROL_INVALID = 0,
1122     QCA_WLAN_OFFLOADED_PACKETS_SENDING_START,
1123     QCA_WLAN_OFFLOADED_PACKETS_SENDING_STOP
1124 };
1125 
1126 enum qca_wlan_vendor_attr_offloaded_packets
1127 {
1128     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID = 0,
1129 
1130     /* Takes valid value from the enum
1131      * qca_wlan_offloaded_packets_sending_control
1132      */
1133     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL,
1134 
1135     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID,
1136 
1137     /* Packet in hex format */
1138     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET,
1139     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR,
1140     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR,
1141     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD,
1142 
1143     /* keep last */
1144     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST,
1145     QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX =
1146         QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST - 1,
1147 
1148 };
1149 
1150 enum qca_wlan_rssi_monitoring_control
1151 {
1152     QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID = 0,
1153     QCA_WLAN_RSSI_MONITORING_START,
1154     QCA_WLAN_RSSI_MONITORING_STOP,
1155 };
1156 
1157 enum qca_wlan_vendor_attr_rssi_monitoring
1158 {
1159     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID = 0,
1160 
1161     /* Takes valid value from the enum
1162      * qca_wlan_rssi_monitoring_control
1163      */
1164     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL,
1165 
1166     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_REQUEST_ID,
1167 
1168     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI,
1169     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI,
1170 
1171     /* attributes to be used/received in callback */
1172     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID,
1173     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI,
1174 
1175     /* keep last */
1176     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST,
1177     QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX =
1178         QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST - 1,
1179 
1180 };
1181 #endif
1182