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