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