1cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt/*
2cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * Qualcomm Atheros OUI and vendor specific assignments
37f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * Copyright (c) 2014-2015, Qualcomm Atheros, Inc.
4cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *
5cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * This software may be distributed under the terms of the BSD license.
6cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * See README for more details.
7cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt */
8cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
9cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt#ifndef QCA_VENDOR_H
10cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt#define QCA_VENDOR_H
11cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
12cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt/*
13cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * This file is a registry of identifier assignments from the Qualcomm Atheros
14cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
15cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * can be assigned through normal review process for changes to the upstream
16cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * hostap.git repository.
17cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt */
18cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
19cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt#define OUI_QCA 0x001374
20cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
21cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt/**
22f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt * enum qca_radiotap_vendor_ids - QCA radiotap vendor namespace IDs
23f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt */
24f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidtenum qca_radiotap_vendor_ids {
25f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt	QCA_RADIOTAP_VID_WLANTEST = 0,
26f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt};
27f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt
28f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt/**
29cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
30cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *
31cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
32cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *
33cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
34cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *
35661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_ROAMING: Set roaming policy for drivers that use
36661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *	internal BSS-selection. This command uses
37661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *	@QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY to specify the new roaming policy
38661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *	for the current connection (i.e., changes policy set by the nl80211
39661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *	Connect command). @QCA_WLAN_VENDOR_ATTR_MAC_ADDR may optionally be
40661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *	included to indicate which BSS to use in case roaming is disabled.
41661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt *
42cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency
43cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *	ranges to avoid to reduce issues due to interference or internal
44cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *	co-existence information in the driver. The event data structure is
45cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt *	defined in struct qca_avoid_freq_list.
46d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt *
47d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support
48d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt *	for DFS offloading.
4921de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt *
5021de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass
5121de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt *	NAN Request/Response and NAN Indication messages. These messages are
5221de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt *	interpreted between the framework and the firmware component.
536c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *
546c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY: Set key operation that can be
556c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	used to configure PMK to the driver even when not connected. This can
566c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	be used to request offloading of key management operations. Only used
576c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	if device supports QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD.
586c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *
596c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH: An extended version of
606c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	NL80211_CMD_ROAM event with optional attributes including information
616c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	from offloaded key management operation. Uses
626c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	enum qca_wlan_vendor_attr_roam_auth attributes. Only used
636c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	if device supports QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD.
646c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *
656c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DO_ACS: ACS command/event which is used to
666c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	invoke the ACS function in device and pass selected channels to
676c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	hostapd.
686c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *
696c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES: Command to get the features
706c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	supported by the driver. enum qca_wlan_vendor_features defines
716c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	the possible features.
727f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *
737f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED: Event used by driver,
747f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	which supports DFS offloading, to indicate a channel availability check
757f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	start.
767f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *
777f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED: Event used by driver,
787f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	which supports DFS offloading, to indicate a channel availability check
797f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	completion.
807f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *
817f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED: Event used by driver,
827f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	which supports DFS offloading, to indicate that the channel availability
837f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	check aborted, no change to the channel status.
847f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *
857f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED: Event used by
867f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	driver, which supports DFS offloading, to indicate that the
877f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	Non-Occupancy Period for this channel is over, channel becomes usable.
887f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *
897f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED: Event used by driver,
907f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	which supports DFS offloading, to indicate a radar pattern has been
917f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt *	detected. The channel is now unusable.
92cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt */
93cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidtenum qca_nl80211_vendor_subcmds {
94cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
95cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
96661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	/* subcmds 2..8 not yet allocated */
97661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9,
98cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
99d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
10021de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
1017832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	QCA_NL80211_VENDOR_SUBMCD_STATS_EXT = 13,
1026c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET = 14,
1036c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET = 15,
1046c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR = 16,
1056c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS = 17,
1066c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS = 18,
1076c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS = 19,
1086c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_START = 20,
1096c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP = 21,
1106c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS = 22,
1116c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES = 23,
1126c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS = 24,
1136c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE = 25,
1146c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT = 26,
1156c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT = 27,
1166c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND = 28,
1176c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST = 29,
1186c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST = 30,
1196c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE = 31,
1206c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE = 32,
1216c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE = 33,
1226c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE = 34,
1236c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE = 35,
1246c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS = 36,
1256c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE = 37,
1266c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES = 38,
1276c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI = 39,
1286c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG = 40,
1296c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST = 41,
1306c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX = 42,
1316c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	/* 43..49 - reserved for QCA */
1326c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY = 50,
1336c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH = 51,
1346c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_APFIND = 52,
1359d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	/* 53 - reserved - was used by QCA, but not in use anymore */
1366c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54,
1376c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55,
1387f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED = 56,
1397f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED = 57,
1407f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58,
1417f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59,
1427f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60,
1434dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	/* 61-90 - reserved for QCA */
1444dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DATA_OFFLOAD = 91,
1459d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG = 92,
1469d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME = 93,
1479d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT = 94,
1489d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT = 95,
1499d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER = 96,
1509d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS = 97,
1519d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS = 98,
1529d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL = 99,
1539d9e60286e05ae45025b672636490bd12586138dDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT = 100,
15405df46a3aef489a33f92efb91b091c1aa6d16f95Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES = 101,
155cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt};
156cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
157cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
158d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidtenum qca_wlan_vendor_attr {
159d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_INVALID = 0,
160d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
161d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DFS     = 1,
16221de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
16321de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_NAN     = 2,
1647832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
1657832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_STATS_EXT     = 3,
16609f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
16709f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_IFINDEX     = 4,
168661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_ROAMING, u32 with values defined
169661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	 * by enum qca_roaming_policy. */
170661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5,
171661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
1726c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES */
1736c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS = 7,
1747f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_TEST = 8,
175d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	/* keep last */
176d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
177d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_MAX	= QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
178d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt};
179d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt
180661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt
181661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtenum qca_roaming_policy {
182661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_ROAMING_NOT_ALLOWED,
183661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_ROAMING_ALLOWED_WITHIN_ESS,
184661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt};
185661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt
1866c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidtenum qca_wlan_vendor_attr_roam_auth {
1876c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID = 0,
1886c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID,
1896c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE,
1906c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE,
1916c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED,
1926c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR,
1936c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK,
1946c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK,
1956c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	/* keep last */
1966c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST,
1976c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX =
1986c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1
1996c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt};
2006c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt
2016c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidtenum qca_wlan_vendor_attr_acs_offload {
2026c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_INVALID = 0,
2036c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL,
2046c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL,
2056c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE,
2066c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED,
2076c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED,
208dda10c2afb8378747491ea5d329a1de635d6d58eDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_VHT_ENABLED,
209dda10c2afb8378747491ea5d329a1de635d6d58eDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_CHWIDTH,
210dda10c2afb8378747491ea5d329a1de635d6d58eDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST,
211dda10c2afb8378747491ea5d329a1de635d6d58eDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL,
212dda10c2afb8378747491ea5d329a1de635d6d58eDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL,
2136c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	/* keep last */
2146c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST,
2156c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_MAX =
2166c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST - 1
2176c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt};
2186c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt
2196c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidtenum qca_wlan_vendor_acs_hw_mode {
2206c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_ACS_MODE_IEEE80211B,
2216c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_ACS_MODE_IEEE80211G,
2226c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_ACS_MODE_IEEE80211A,
2236c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_ACS_MODE_IEEE80211AD,
224b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt	QCA_ACS_MODE_IEEE80211ANY,
2256c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt};
2266c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt
2276c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt/**
2286c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * enum qca_wlan_vendor_features - Vendor device/driver feature flags
2296c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *
2306c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD: Device supports key
2316c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	management offload, a mechanism where the station's firmware
2326c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	does the exchange with the AP to establish the temporal keys
2336c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt *	after roaming, rather than having the user space wpa_supplicant do it.
234b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt * @QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY: Device supports automatic
235b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt *	band selection based on channel selection results.
2366c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt * @NUM_QCA_WLAN_VENDOR_FEATURES: Number of assigned feature bits
2376c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt */
2386c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidtenum qca_wlan_vendor_features {
2396c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD	= 0,
240b1e52102c211357f585e9ff6d54501e90254326eDmitry Shmidt	QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY     = 1,
2416c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt	NUM_QCA_WLAN_VENDOR_FEATURES /* keep last */
2426c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt};
2436c0da2bb83f6915d8260912362692d1a742e057bDmitry Shmidt
2444dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt/**
2454dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt * enum qca_wlan_vendor_attr_data_offload_ind - Vendor Data Offload Indication
2464dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt *
2474dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION: Session corresponding to
2484dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt *	the offloaded data.
2494dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL: Protocol of the offloaded
2504dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt *	data.
2514dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT: Event type for the data offload
2524dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt *	indication.
2534dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt */
2544dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidtenum qca_wlan_vendor_attr_data_offload_ind {
2554dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_INVALID = 0,
2564dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION,
2574dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL,
2584dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT,
2594dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt
2604dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	/* keep last */
2614dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST,
2624dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_MAX =
2634dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST - 1
2644dd28dc25895165566a1c8a9cac7bcd755ff8fe3Dmitry Shmidt};
265cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt#endif /* QCA_VENDOR_H */
266