1cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt/*
2cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * Qualcomm Atheros OUI and vendor specific assignments
3cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt * Copyright (c) 2014, 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.
53cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt */
54cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidtenum qca_nl80211_vendor_subcmds {
55cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
56cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
57661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	/* subcmds 2..8 not yet allocated */
58661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9,
59cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
60d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
6121de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
627832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	QCA_NL80211_VENDOR_SUBMCD_STATS_EXT = 13,
639ead16e203b81d44a2d84eadc2901ceeb7daf805Dmitry Shmidt	/* 14..49 - reserved for QCA */
64cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt};
65cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
66cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt
67d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidtenum qca_wlan_vendor_attr {
68d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_INVALID = 0,
69d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
70d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_DFS     = 1,
7121de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
7221de214b4ba4271ca20843f3b8fba9f1501b2a89Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_NAN     = 2,
737832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
747832adbbd72a1b784b7fb74a71a5d4085b0cb0d3Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_STATS_EXT     = 3,
7509f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
7609f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_IFINDEX     = 4,
77661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	/* used by QCA_NL80211_VENDOR_SUBCMD_ROAMING, u32 with values defined
78661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	 * by enum qca_roaming_policy. */
79661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5,
80661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
81d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	/* keep last */
82d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
83d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt	QCA_WLAN_VENDOR_ATTR_MAX	= QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
84d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt};
85d11f019d62a42a8fc4c4d1f2ec17cf35b0763153Dmitry Shmidt
86661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt
87661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtenum qca_roaming_policy {
88661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_ROAMING_NOT_ALLOWED,
89661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt	QCA_ROAMING_ALLOWED_WITHIN_ESS,
90661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt};
91661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt
92cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidt#endif /* QCA_VENDOR_H */
93