de0b222b557a2d1cc0f3d9f5597c20b33d8d2a4d
[mech_eap.git] / src / common / qca-vendor.h
1 /*
2  * Qualcomm Atheros OUI and vendor specific assignments
3  * Copyright (c) 2014, Qualcomm Atheros, Inc.
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8
9 #ifndef QCA_VENDOR_H
10 #define QCA_VENDOR_H
11
12 /*
13  * This file is a registry of identifier assignments from the Qualcomm Atheros
14  * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
15  * can be assigned through normal review process for changes to the upstream
16  * hostap.git repository.
17  */
18
19 #define OUI_QCA 0x001374
20
21 /**
22  * enum qca_radiotap_vendor_ids - QCA radiotap vendor namespace IDs
23  */
24 enum qca_radiotap_vendor_ids {
25         QCA_RADIOTAP_VID_WLANTEST = 0,
26 };
27
28 /**
29  * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
30  *
31  * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
32  *
33  * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
34  *
35  * @QCA_NL80211_VENDOR_SUBCMD_ROAMING: Set roaming policy for drivers that use
36  *      internal BSS-selection. This command uses
37  *      @QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY to specify the new roaming policy
38  *      for the current connection (i.e., changes policy set by the nl80211
39  *      Connect command). @QCA_WLAN_VENDOR_ATTR_MAC_ADDR may optionally be
40  *      included to indicate which BSS to use in case roaming is disabled.
41  *
42  * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency
43  *      ranges to avoid to reduce issues due to interference or internal
44  *      co-existence information in the driver. The event data structure is
45  *      defined in struct qca_avoid_freq_list.
46  *
47  * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support
48  *      for DFS offloading.
49  *
50  * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass
51  *      NAN Request/Response and NAN Indication messages. These messages are
52  *      interpreted between the framework and the firmware component.
53  */
54 enum qca_nl80211_vendor_subcmds {
55         QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
56         QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
57         /* subcmds 2..8 not yet allocated */
58         QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9,
59         QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
60         QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
61         QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
62         QCA_NL80211_VENDOR_SUBMCD_STATS_EXT = 13,
63         /* 14..33 - reserved for QCA */
64 };
65
66
67 enum qca_wlan_vendor_attr {
68         QCA_WLAN_VENDOR_ATTR_INVALID = 0,
69         /* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */
70         QCA_WLAN_VENDOR_ATTR_DFS     = 1,
71         /* used by QCA_NL80211_VENDOR_SUBCMD_NAN */
72         QCA_WLAN_VENDOR_ATTR_NAN     = 2,
73         /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
74         QCA_WLAN_VENDOR_ATTR_STATS_EXT     = 3,
75         /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */
76         QCA_WLAN_VENDOR_ATTR_IFINDEX     = 4,
77         /* used by QCA_NL80211_VENDOR_SUBCMD_ROAMING, u32 with values defined
78          * by enum qca_roaming_policy. */
79         QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5,
80         QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
81         /* keep last */
82         QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
83         QCA_WLAN_VENDOR_ATTR_MAX        = QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
84 };
85
86
87 enum qca_roaming_policy {
88         QCA_ROAMING_NOT_ALLOWED,
89         QCA_ROAMING_ALLOWED_WITHIN_ESS,
90 };
91
92 #endif /* QCA_VENDOR_H */