qca-vendor.h revision f9bdef99ce3b2858f2812c745a3d6bb093fb0e5d
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 */
24enum 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_AVOID_FREQUENCY: Recommendation of frequency
36 *	ranges to avoid to reduce issues due to interference or internal
37 *	co-existence information in the driver. The event data structure is
38 *	defined in struct qca_avoid_freq_list.
39 *
40 * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support
41 *	for DFS offloading.
42 *
43 * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass
44 *	NAN Request/Response and NAN Indication messages. These messages are
45 *	interpreted between the framework and the firmware component.
46 */
47enum qca_nl80211_vendor_subcmds {
48	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
49	QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
50	/* subcmds 2..9 not yet allocated */
51	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
52	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
53	QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
54};
55
56
57struct qca_avoid_freq_range {
58	u32 start_freq;
59	u32 end_freq;
60} STRUCT_PACKED;
61
62struct qca_avoid_freq_list {
63	u32 count;
64	struct qca_avoid_freq_range range[0];
65} STRUCT_PACKED;
66
67enum 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	/* keep last */
74	QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
75	QCA_WLAN_VENDOR_ATTR_MAX	= QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
76};
77
78#endif /* QCA_VENDOR_H */
79