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 /* Radio Mode change */ 110 #define QCA_NL80211_VENDOR_SUBCMD_WLAN_MAC_MODE 165 111 #endif 112 113 enum qca_wlan_vendor_attr_tdls_enable 114 { 115 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID = 0, 116 /* An array of 6 x Unsigned 8-bit value */ 117 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR, 118 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL, 119 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS, 120 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS, 121 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS, 122 /* keep last */ 123 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST, 124 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX = 125 QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST - 1, 126 }; 127 128 enum qca_wlan_vendor_attr_tdls_disable 129 { 130 QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID = 0, 131 /* An array of 6 x Unsigned 8-bit value */ 132 QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR, 133 /* keep last */ 134 QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST, 135 QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX = 136 QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST - 1, 137 }; 138 139 enum qca_wlan_vendor_attr_tdls_get_status 140 { 141 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID = 0, 142 /* An array of 6 x Unsigned 8-bit value */ 143 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR, 144 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE, 145 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON, 146 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL, 147 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS, 148 /* keep last */ 149 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST, 150 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX = 151 QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST - 1, 152 }; 153 154 enum qca_wlan_vendor_attr_tdls_state 155 { 156 QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID = 0, 157 /* An array of 6 x Unsigned 8-bit value */ 158 QCA_WLAN_VENDOR_ATTR_TDLS_MAC_ADDR, 159 QCA_WLAN_VENDOR_ATTR_TDLS_STATE, 160 QCA_WLAN_VENDOR_ATTR_TDLS_REASON, 161 QCA_WLAN_VENDOR_ATTR_TDLS_CHANNEL, 162 QCA_WLAN_VENDOR_ATTR_TDLS_GLOBAL_OPERATING_CLASS, 163 /* keep last */ 164 QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST, 165 QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX = 166 QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST - 1, 167 }; 168 169 enum qca_wlan_vendor_attr_tdls_get_capabilities 170 { 171 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_INVALID = 0, 172 173 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX_CONC_SESSIONS, 174 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_FEATURES_SUPPORTED, 175 176 /* keep last */ 177 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST, 178 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX = 179 QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST - 1, 180 }; 181 182 enum qca_wlan_vendor_attr_get_supported_features 183 { 184 QCA_WLAN_VENDOR_ATTR_FEATURE_SET_INVALID = 0, 185 /* Unsigned 32-bit value */ 186 QCA_WLAN_VENDOR_ATTR_FEATURE_SET = 1, 187 /* keep last */ 188 QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST, 189 QCA_WLAN_VENDOR_ATTR_FEATURE_SET_MAX = 190 QCA_WLAN_VENDOR_ATTR_FEATURE_SET_AFTER_LAST - 1, 191 }; 192 193 enum qca_wlan_vendor_attr_set_scanning_mac_oui 194 { 195 QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_INVALID = 0, 196 /* An array of 3 x Unsigned 8-bit value */ 197 QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI = 1, 198 /* keep last */ 199 QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST, 200 QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX = 201 QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_AFTER_LAST - 1, 202 }; 203 204 enum qca_wlan_vendor_attr_set_no_dfs_flag 205 { 206 QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_INVALID = 0, 207 /* Unsigned 32-bit value */ 208 QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG = 1, 209 /* keep last */ 210 QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST, 211 QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX = 212 QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_AFTER_LAST - 1, 213 }; 214 215 /* NL attributes for data used by 216 * QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX sub command. 217 */ 218 enum qca_wlan_vendor_attr_get_concurrency_matrix 219 { 220 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_INVALID = 0, 221 /* Unsigned 32-bit value */ 222 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_CONFIG_PARAM_SET_SIZE_MAX = 1, 223 /* Unsigned 32-bit value */ 224 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET_SIZE = 2, 225 /* An array of SET_SIZE x Unsigned 32bit values representing 226 * concurrency combinations. 227 */ 228 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_RESULTS_SET = 3, 229 /* keep last */ 230 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST, 231 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_MAX = 232 QCA_WLAN_VENDOR_ATTR_GET_CONCURRENCY_MATRIX_AFTER_LAST - 1, 233 }; 234 235 /* NL attributes for data used by 236 * QCA_NL80211_VENDOR_SUBCMD_SET|GET_WIFI_CONFIGURATION sub commands. 237 */ 238 enum qca_wlan_vendor_attr_wifi_config { 239 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_INVALID = 0, 240 /* Unsigned 32-bit value */ 241 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_DYNAMIC_DTIM = 1, 242 /* Unsigned 32-bit value */ 243 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_STATS_AVG_FACTOR = 2, 244 /* Unsigned 32-bit value */ 245 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_GUARD_TIME = 3, 246 /* Unsigned 32-bit value */ 247 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_FINE_TIME_MEASUREMENT = 4, 248 /* Unsigned 32-bit value */ 249 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_TX_RATE = 5, 250 /* Unsigned 32-bit value */ 251 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS = 6, 252 /* keep last */ 253 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST, 254 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_MAX = 255 QCA_WLAN_VENDOR_ATTR_WIFI_CONFIG_AFTER_LAST - 1, 256 }; 257 258 enum qca_wlan_epno_type 259 { 260 QCA_WLAN_EPNO, 261 QCA_WLAN_PNO 262 }; 263 264 #define EPNO_NO_NETWORKS 0 265 266 enum qca_wlan_offloaded_packets_sending_control 267 { 268 QCA_WLAN_OFFLOADED_PACKETS_SENDING_CONTROL_INVALID = 0, 269 QCA_WLAN_OFFLOADED_PACKETS_SENDING_START, 270 QCA_WLAN_OFFLOADED_PACKETS_SENDING_STOP 271 }; 272 273 enum qca_wlan_vendor_attr_offloaded_packets 274 { 275 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID = 0, 276 277 /* Takes valid value from the enum 278 * qca_wlan_offloaded_packets_sending_control 279 */ 280 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL, 281 282 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID, 283 284 /* Packet in hex format */ 285 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET, 286 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR, 287 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR, 288 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD, 289 290 /* keep last */ 291 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST, 292 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX = 293 QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST - 1, 294 295 }; 296 297 enum qca_wlan_rssi_monitoring_control 298 { 299 QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID = 0, 300 QCA_WLAN_RSSI_MONITORING_START, 301 QCA_WLAN_RSSI_MONITORING_STOP, 302 }; 303 304 enum qca_wlan_vendor_attr_rssi_monitoring 305 { 306 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID = 0, 307 308 /* Takes valid value from the enum 309 * qca_wlan_rssi_monitoring_control 310 */ 311 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL, 312 313 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_REQUEST_ID, 314 315 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI, 316 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI, 317 318 /* attributes to be used/received in callback */ 319 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID, 320 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI, 321 322 /* keep last */ 323 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST, 324 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX = 325 QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST - 1, 326 327 }; 328 329 enum qca_wlan_vendor_attr_ndp_params 330 { 331 QCA_WLAN_VENDOR_ATTR_NDP_PARAM_INVALID = 0, 332 /* enum of sub commands */ 333 QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD, 334 /* Unsigned 16-bit value */ 335 QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID, 336 /* NL attributes for data used NDP SUB cmds */ 337 /* Unsigned 32-bit value indicating a service info */ 338 QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID, 339 /* Unsigned 32-bit value; channel frequency */ 340 QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL, 341 /* Interface Discovery MAC address. An array of 6 Unsigned int8 */ 342 QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR, 343 /* Interface name on which NDP is being created */ 344 QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR, 345 /* Unsigned 32-bit value for security */ 346 QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY, 347 /* Unsigned 32-bit value for Qos */ 348 QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS, 349 /* Array of u8: len = QCA_WLAN_VENDOR_ATTR_NAN_DP_APP_INFO_LEN */ 350 QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO, 351 /* Unsigned 32-bit value for NDP instance Id */ 352 QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID, 353 /* Array of instance Ids */ 354 QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY, 355 /* Unsigned 32-bit value for initiator/responder ndp response code accept/reject */ 356 QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE, 357 /* NDI MAC address. An array of 6 Unsigned int8 */ 358 QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR, 359 /* Unsigned 32-bit value errors types returned by driver */ 360 QCA_WLAN_VENDOR_ATTR_NDP_DRV_RESPONSE_STATUS_TYPE, 361 /* Unsigned 32-bit value error values returned by driver */ 362 QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE, 363 /* Unsigned 32-bit value for Channel setup configuration */ 364 QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_CONFIG, 365 /* Unsigned 32-bit value for Cipher Suite Shared Key Type */ 366 QCA_WLAN_VENDOR_ATTR_NDP_CSID, 367 /* Array of u8: len = NAN_PMK_INFO_LEN */ 368 QCA_WLAN_VENDOR_ATTR_NDP_PMK, 369 QCA_WLAN_VENDOR_ATTR_NDP_SCID, 370 /* Array of u8: len = NAN_SECURITY_MAX_PASSPHRASE_LEN*/ 371 QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE, 372 /* Array of u8: len = NAN_MAX_SERVICE_NAME_LEN */ 373 QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME, 374 /* Unsigned 32-bit value indicating schedule update */ 375 QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_REASON, 376 /* Unsigned 32-bit value for NSS */ 377 QCA_WLAN_VENDOR_ATTR_NDP_NSS, 378 /* Unsigned 32-bit value for NUMBER NDP CHANNEL */ 379 QCA_WLAN_VENDOR_ATTR_NDP_NUM_CHANNELS, 380 /* Unsigned 32-bit value for CHANNEL BANDWIDTH */ 381 QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_WIDTH, 382 383 /* Array of channel/band width */ 384 QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_INFO, 385 386 /* KEEP LAST */ 387 QCA_WLAN_VENDOR_ATTR_NDP_AFTER_LAST, 388 QCA_WLAN_VENDOR_ATTR_NDP_MAX = 389 QCA_WLAN_VENDOR_ATTR_NDP_AFTER_LAST - 1, 390 }; 391 392 enum qca_wlan_vendor_attr_ndp_cfg_security 393 { 394 /* Security info will be added when proposed in the specification */ 395 QCA_WLAN_VENDOR_ATTR_NDP_SECURITY_TYPE = 1, 396 397 }; 398 399 enum qca_wlan_vendor_attr_ndp_qos 400 { 401 /* Qos info will be added when proposed in the specification */ 402 QCA_WLAN_VENDOR_ATTR_NDP_QOS_CONFIG = 1, 403 404 }; 405 406 /* 407 * QCA_NL80211_VENDOR_SUBCMD_NDP sub commands. 408 */ 409 enum qca_wlan_vendor_attr_ndp_sub_cmd_value 410 { 411 QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_CREATE = 1, 412 QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_DELETE = 2, 413 QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_REQUEST = 3, 414 QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_RESPONSE = 4, 415 QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_REQUEST = 5, 416 QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_RESPONSE = 6, 417 QCA_WLAN_VENDOR_ATTR_NDP_END_REQUEST = 7, 418 QCA_WLAN_VENDOR_ATTR_NDP_END_RESPONSE = 8, 419 QCA_WLAN_VENDOR_ATTR_NDP_DATA_REQUEST_IND = 9, 420 QCA_WLAN_VENDOR_ATTR_NDP_CONFIRM_IND = 10, 421 QCA_WLAN_VENDOR_ATTR_NDP_END_IND = 11, 422 QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_IND = 12 423 }; 424 425 #define PACKET_FILTER_ID 0 426 427 enum packet_filter_sub_cmd 428 { 429 QCA_WLAN_SET_PACKET_FILTER = 1, 430 QCA_WLAN_GET_PACKET_FILTER_SIZE = 2, 431 /* For writing packet filter program + data */ 432 QCA_WLAN_WRITE_PACKET_FILTER = 3, 433 /* For reading packet filter data */ 434 QCA_WLAN_READ_PACKET_FILTER = 4, 435 /* Enable APF faeature */ 436 QCA_WLAN_ENABLE_PACKET_FILTER = 5, 437 /* Disable APF faeature */ 438 QCA_WLAN_DISABLE_PACKET_FILTER = 6, 439 }; 440 441 enum qca_wlan_vendor_attr_packet_filter 442 { 443 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID = 0, 444 445 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SUB_CMD, 446 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_VERSION, 447 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_ID, 448 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_TOTAL_LENGTH, 449 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET, 450 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM, 451 /* The length of the program in the write buffer, 452 * the write buffer may have program+data 453 */ 454 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROG_LENGTH, 455 456 /* keep last */ 457 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST, 458 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_MAX = 459 QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST - 1, 460 461 }; 462 463 enum qca_wlan_vendor_attr_nd_offload 464 { 465 QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_INVALID = 0, 466 467 QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG, 468 469 /* keep last */ 470 QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST, 471 QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX = 472 QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST - 1, 473 474 }; 475 476 enum qca_wlan_vendor_drv_info 477 { 478 QCA_WLAN_VENDOR_ATTR_DRV_INFO_INVALID = 0, 479 480 QCA_WLAN_VENDOR_ATTR_DRV_INFO_BUS_SIZE, 481 482 /* keep last */ 483 QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST, 484 QCA_WLAN_VENDOR_ATTR_DRV_INFO_MAX = 485 QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST - 1, 486 487 }; 488 489 /* NL attributes for data used by 490 * QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS sub command. 491 */ 492 enum qca_wlan_vendor_attr_wake_stats 493 { 494 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_INVALID = 0, 495 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_CMD_EVENT_WAKE, 496 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_PTR, 497 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_SZ, 498 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_DRIVER_FW_LOCAL_WAKE, 499 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_PTR, 500 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_SZ, 501 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_RX_DATA_WAKE, 502 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_UNICAST_CNT, 503 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_MULTICAST_CNT, 504 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_BROADCAST_CNT, 505 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP_PKT, 506 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_PKT, 507 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RA, 508 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NA, 509 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NS, 510 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP4_RX_MULTICAST_CNT, 511 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RX_MULTICAST_CNT, 512 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_OTHER_RX_MULTICAST_CNT, 513 /* keep last */ 514 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_AFTER_LAST, 515 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_MAX = 516 QCA_WLAN_VENDOR_ATTR_WAKE_STATS_AFTER_LAST - 1, 517 }; 518 519 /** 520 * enum qca_wlan_vendor_attr_mac - Used by the vendor command 521 * QCA_NL80211_VENDOR_SUBCMD_WLAN_MAC_INFO. 522 */ 523 enum qca_wlan_vendor_attr_mac { 524 QCA_WLAN_VENDOR_ATTR_MAC_INVALID = 0, 525 /* MAC mode info list which has an array of nested values as 526 * per attributes in enum qca_wlan_vendor_attr_mac_info. 527 */ 528 QCA_WLAN_VENDOR_ATTR_MAC_INFO = 1, 529 /* keep last */ 530 QCA_WLAN_VENDOR_ATTR_MAC_AFTER_LAST, 531 QCA_WLAN_VENDOR_ATTR_MAC_MAX = 532 QCA_WLAN_VENDOR_ATTR_MAC_AFTER_LAST - 1, 533 }; 534 535 /** 536 * enum qca_wlan_vendor_attr_mac_iface_info - Information of the connected 537 * WiFi netdev interface on a respective MAC. 538 * Used by the attribute QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO. 539 */ 540 enum qca_wlan_vendor_attr_mac_iface_info { 541 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_INVALID = 0, 542 /* Wi-Fi Netdev's interface id.u32. */ 543 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_ID = 1, 544 /* Associated frequency in MHz of the connected Wi-Fi interface. u32 */ 545 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_FREQ = 2, 546 /* keep last */ 547 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_AFTER_LAST, 548 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_MAX = 549 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_AFTER_LAST - 1, 550 }; 551 552 /** 553 * enum qca_wlan_vendor_attr_mac_info - Points to MAC the information. 554 * Used by the attribute QCA_WLAN_VENDOR_ATTR_MAC_INFO of the 555 * vendor command QCA_NL80211_VENDOR_SUBCMD_WLAN_MAC_INFO. 556 */ 557 enum qca_wlan_vendor_attr_mac_info { 558 QCA_WLAN_VENDOR_ATTR_MAC_INFO_INVALID = 0, 559 /* Hardware MAC ID associated for the MAC (u32) */ 560 QCA_WLAN_VENDOR_ATTR_MAC_INFO_MAC_ID = 1, 561 /* Band supported by the respective MAC at a given point. 562 * Represented by enum qca_wlan_vendor_mac_info_band. 563 */ 564 QCA_WLAN_VENDOR_ATTR_MAC_INFO_BAND = 2, 565 /* Refers to list of WLAN net dev interfaces associated with this MAC. 566 * Represented by enum qca_wlan_vendor_attr_mac_iface_info. 567 */ 568 QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO = 3, 569 /* keep last */ 570 QCA_WLAN_VENDOR_ATTR_MAC_INFO_AFTER_LAST, 571 QCA_WLAN_VENDOR_ATTR_MAC_INFO_MAX = 572 QCA_WLAN_VENDOR_ATTR_MAC_INFO_AFTER_LAST - 1, 573 }; 574 #endif 575