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..49 - 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 */ 93